In my opinion, NewsGator is the best RSS aggregator. It's integration with Outlook makes reading feeds ultra-convenient. If you haven’t tried NewsGator now’s the time because version 2.5 has been released. I’ve been using the beta and the integration with the NewsGator Web Edition is fantastic. Works as advertised. You might also want to try their podcasting application FeedStation. It’s not better than Doppler, yet. But I have a feeling it’s going to get there.
ESPN.com is now trying to cash in on the sneaker fetish craze. They have a new show on ESPN2 titled “It’s the Shoes” where they visit the sneaker collections of celebrities. Sounds, um, weird. And that’s coming from a guy with a subscription to Sole Collector magazine. Get your TiVo’s ready because it airs on Tuesday nights (Wednesday mornings) at 1:30 A.M. ESPN.com also has an “Ultimate Sneaker” tournament where you can vote for you favorite pair of kicks. My vote? Air Jordan V’s. But since the V’s aren’t in the tournament I’d have to go with the Jordan XI’s with the Jordan XIV second. I would love to know why they posted a pic of the Jordan XI Lows instead on the Jordan XI. This is a travesty and must be corrected.
Like I keep saying it’s only a matter of time. The Miami Herald ran this story on the front page this morning, “Miami’s housing ‘bubble’ biggest in nation”. The housing market is downright crazy in Miami. The home we bought four years ago has increased 70% without us doing a dang thing. Everybody in this town is some sort of real estate expert. It feels a lot like the internet bubble of the late 90’s when “everyone” was a web programmer. I blame a lot of this craziness to the ease of obtaining a loan, especially no interest loans. Mortgage companies have been careless in their loan approvals and some will lose more than their shirts. The market will correct itself. My only question is how much will the correction be and when will it occur. I’ll be bracing for a tough housing market here in the MIA with tons of supply and minimal demand.
Update 6/23/05 9:01 AM - While in Barnes & Noble last night I noticed that the computer section was shrinking. Guess what section replaced the two rows that used to house computer books? Real Estate. Isn't it ironic, don't ya think?
Now Playing: The Prayer Chain - Sky High
As you probably can tell I’ve been working on integrating Reporting Services within our ASP.Net website. A part of this integration is creating an ASP.Net custom control that will easily render a report from a page. Calling the Reporting Server web service is a snap and encapsulating this in a control is not a problem since I’ve had some experience with server controls (and yes they can be a big pain in the rear). I added a couple of LinkButtons to the control allow the user to export the report. But low and behold the Click events on the buttons wouldn’t fire. Dazed, I checked up on event bubbling and the IPostBackEventHandler but no dice. Then, I ran across a post titled “No events are fired in child control” in the microsoft.public.dotnet.framework.aspnet.buildingcontrols (say that five times fast) newsgroup. In a reply to this post Jeffrey Tan of Microsoft posted this nugget:
“Acutally, in Composite Control, if you want to hook the child controls' event, you must implement the system.Web.UI.INamingContainer interface. It will provide you the unique names in the hierarchical tree of controls. If you do not implement this interface, asp.net model will not associate the event handler well.”
Nice. I added the one line of code and everything worked as advertised. Order is restored to the world
Now Playing: Pigeon John - Nothing Without You
I found a good article on the new version of Reporting Services.
According to Welcker, "Everything will be upgrade-in-place for Report Server. Reporting Services 2000 reports can be run on 2005 though there won't be support for any features that are new in 2005. Reports will be automatically upgraded if opened in the 2005 Report Designer."
Just what I wanted to know.
Speaker: Andres Sanabria
- This guy just opened the IDE and didn't resize his font size. I hate this! How am I supposed to follow along when all I see is red, blue and black blurs?
- Composite Controls combines the functionality of one or more existing controls
- The associated designer ensures child controls are created at design time as well.
- Script OM: New Features
-
- DefaultButton
- Maintain scroll position on Postback
- Focus, SetFocusOnError (for validation)
- Web Resources
- Out-of-band callbacks
- Script OM: Generate and render client-script
-
- Valid XHTML <script> tags
- Provides API to register inline script or reference a *.js file
- Controls con override to delegate focus to a child control if they want explicit control.
- Web Resources: Simple deployment model of client files.
-
- Package scripts, images, style sheets, etc. as assembly resources.
- Instead of installing into "aspnet_client" folder
- Script Callbacks
-
- Page is interactive while the server process request
- No browser flashing or loss of scroll position
- Does not add to the navigation history
- Modeled after post-back event handling
- Implements a script callback function
- Page framework handles partial page execution.
- Script Callbacks sound really cool. Is this their answer to AJAX?
- Asynchronous Task
-
- Allows a container to register an asynchronous task to the page.
- Container will be notified when task competed, time-out or ended.
- Time out is defined at the page directive
- Control developers can alter the rendering based on the async task result.
- Control State
-
- The essential bits of information to allow controls to ensure expected behavior
- Separated out of view state. Page developer can turn off view state without losing functionality. Control state cannot be turned off.
- Controls must opt-in to participate in this mechanism. Should store only the essentials, so control state doesn’t become another view state. Properties stored in control state should not be saved in view state as well.
- He talks about how to integrates Web Parts in your controls. Check on this…
- The demos are useless. Not because they don't do anything but because I can't see the code.
- I've got to go. No I really it mean I've got to go! Too much bottled water lying around.
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Jeff King
- What is good UI? Not just visually appealing. It's consistent, accessible, standards compliant. It has modular/interchangeable styles. It's also time efficient.
- Master Pages
-
- Factor redundancies into reusable templates
- Inheritance concept baked-in architecturally
- Has unlimited nesting
- The Content's page Content control ContentPlaceHolderID property and the Master's ContentPlaceHolderID ID property must match.
- You can dynamically switch the master page dynamically in the PreInit event.
- This guy is typing the server code in the markup page instead of in the code behind. I really don't like that. I think the code-behind model is great! It offers a logical division between the markup and the code.
- Working with a graphic designer
-
- No need to deliver aspx, just html is fine
- Avoid (slightly) incongruent page designs
- Don't cross the visual line between the master an contend
- Themes and master pages overlap:
-
- Change style sheet by changing Master Page.
- Change layout by using CSS (Themes)
- Make an exception for your front page
- New Navigation controls: Menu, TreeView, SiteMapPath, SiteMapDataSource.
- If you need a free tab control (there are plenty of tab controls out there) you can change the Menu control into one. Use images & CSS
- Recommendation: Specify a CSS class for the control (i.e. Menu) and let CSS handle some of the UI.
- Navigation: Recommended Usage:
-
- Not all designs are possible without templates or custom controls. Understand the intrinsic markup structure of each control. Understand Where you can specify CSSClass
- To enable themes you need to add a folder called app_themes/themename. You also need to add a skin file.
- Themes Recommended Usage:
- Do as much as you can inside the Style Sheet. When producing multiple themes, have your designer multiple CSS files but only one XHTML files. http://www.csszengarden.com. Modify layout without changing your Master Page
- When to use Skins:
-
- Foreground images can't be controlled by CSS
- Advanced controls and collections
- What does not belong in themes
- Global images
- Shared, Print or other Style sheets
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Kimberly Tripp
- SQL Server stared from a team of five (Sybase) to 400 (for 7.0) to over 1,000 (for 2005). Geez, do you think that they've put some money into this thing?
- Query Analyzer and SQL Enterprise Manager are now lumped in to SQL Management Studio
- Analysis Manager turns into BI Developer Studio
- Profiler can now be run outside of the admin role.
- You can manage SQL Sever 2000, SQL Server 2005 and SQL Express from the SQL Management Studio.
- Source Safe (anything that uses the Windows Source Control API) integration is included into SQL Management Studio. ABOUT FREAKIN TIME!
- SQL Management Studio looks a lot whole like Visual Studio.
- Using SQL CMD Lines in a SQL Script allows the ability connect to multiple servers.
- If you are writing function to be run on the database work with the DBA to expect the proper results.
- Good Scenarios for CLR Usage
-
- Data validation & network traffic reduction.
- Writing general purpose function: Data passes as arguments, little/no additional data access, Complex computation applied on a row by row basis to the data.
- Scalar types & custom aggregations
- Leveraging the power of the .Net frameworks
- Bad uses of the CLR
-
- Heavy data access - SQL set based access will be faster
- Complex types 8K limitation
- TSQL Enhancements
-
- ROW_NUMBER
- RANK
- PIVOT/UNPIVOT
- Common Table Expressions
- CROSS APPLY and OUTER APPLY
- TRY/CATCH
- DDL Triggers (synchronous)
- Event notifications (asynchronous)
- Parameterized TOP
- She demoed using .Net assemblies that are calling the Amazon Web services running in SQL Server. She called the assembly function from TSQL. Very powerful.
- You can create XML Indexes in SQL Server.
- XML Data is now shown as a hyperlink in SQL Management Studio. Click on the link and it shows the XML on a separate tab.
- SQL Server 2005 can listen to HTTP traffic using kernel mode HTTP.SYS. It does NOT depend on IIS. This is off by default.
-
- Clients can use SOAP to interact with SQL Server. This is great for platforms with no SQL middleware support.
- Trade-off of flexibility for performance. SQL clients will perform better.
- This can be created in TSQL.
- Troubleshooting Tools:
-
- Debugger support for TSLQ & CLR
- Dynamic Mgt Views
- Flight Recorder
- SQLClient/OLEDB tracing
- XML Showplan
- Complete cleanup of error messages
- SQL Profiler (with Perfmon integration) - You can open a perfmon trace and a profiler trace together. Both logs must be correlated by time. Also, the servers should have their clocks synchronized.
- SQL Server Express has most of the features of SQL Server 2005!
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.
Speaker: Rob Howard
- You can now change settings in Web.Config dynamically. This should allow devs to store configuration changes on-the-fly.
- Declarative Data Binding
-
- Controls bounds at appropriate time
- Wire-up done through properties
- Page lifecycle knowledge not required.
- Site Map allows the defining of how the ASP.Net website pages are laid out.
- The SQLDataSource is a server control that allows the defining of a SQL Sever Data Source without any code.
-
- The SQL DataSource control enables caching on the object.
- Parameters of a SQLDataSource control can be bound. These parameters can be from the Query String, web controls, etc...
- The DataGrid now has a DataSourceID property to allow the DataGrid to be wired-up without code.
- DataBinder.Eval(Container…)) syntax can now be written as Eval(…)
- It looks like they decided that ASP.Net 2.0 needed more declarative syntax to reduce the amount of code written.
- "Smart" Data-Bound contorls. New GridView and DetailsView control
- No code is needed to sort, update, insert and delete data. This is done through the DataSource control.
- Paging by default will grab all of the data and show only what was requested. You can override this.
- Amount of view state that is generate has been reduced by 40%.
- ObjectDataSource control uses an object to retrieve data.
-
- Bind to custom business objects
- Visual Studio data components
- Parallels SQLDataSource in object model.
- The select method can return any object, IEnumerable list, collection or array
- There are Update, Insert and Delete methods
- The GridView control renders sets of records as HTML tables.
-
- Built-in sorting, paging, selecting, updating, deleting support.
- DetailsView Control renders individual records. Pair with GridView for master-detail views.
- SQL Cache Invalidation - New cache dependency type. It links cached items to database entities. Check into this…
Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.