I spent Monday and Tuesday at the Heartland Developers Conference in Minneapolis. I got a lot out of last year's event in Omaha, so it was a pleasure to attend it this year in Minnesota and skip the travel time. Here are some of the take-aways from the sessions I attended day 1:
Microsoft Software Development: Present and Future
This session has some interesting tidbits. For example, I learned that many consultants at Magenic are running Windows Server 2008 as their desktop operating system. Also, .NET 3.0 is really an "add-on" to .NET 2.0 because Microsoft wanted to avoid the interdependency issues they experienced with the 1.1 to 2.0 upgrades. Rocky also defended the new Entity Framework. He noted that this version may not be appropriate for some scenarios, future versions will be better. Rocky indicated that parallel computing is an important trend that developers need to keep an eye on. (While his slides noted that virtualization was another important trend, he didn't really discuss this, which was too bad, because there are also some interesting things happening in this area.)
Overall, it was a great keynote. Lots of high level stuff to think about for the future.
SQL 2008 for the developer who knows SQL 2000
This is one of those sessions that I attended not because I think I'll get to do much with SQL 2008 soon, but so that I have a better sense of what the technology brings to the table. Here are the factoids I got out of this session:
- Common Table Expressions provide a solution for recursive queries that performs much faster than temp tables.
- SQL 2008 provides some superior merging capabilities.
- By default, SyncDirection is not bi-directional, which is not immediately obvious. To fix this, change the SyncDirection property in the OnInitialized event.
What Every ASP.NET Developer Should Know
Yes, I have attended this session previously. But every time I go, I get something new out of it. This session is a vary practical session for ASP.NET developers. This time around, I learned:
- 97% of browsers can handle compression, and the server can handle sending not-compressed pages for those that don't, so there is really no downside to using compression in IIS, except if your server is already running into high CPU usage. Compression can cut bandwidth usage by 50%. Also, compression will work on web services for ASP.NET 2.0.
- Don't forget to use machine.config <deployment retail=true> on your production server. This will prevent accidentally using config files on your production server that allow debugging.
- If your config settings are stored in a separate file from your mail web.config, your session won't automatically be dropped when you change the file.
Estimation in the Abstract for Development in Reality
This session was quite interesting. I'm not sure how I can use it yet, but the notion of rating features based on levels of complexity instead of just trying to total up hours to complete was a different way of looking at the problem. One thing I took away from the session was that getting a business analyst or customer representative involved in the process could be quite valuable. Without looking at hours, by saying that feature X is at complexity level 2 and feature Y is at level 13, it helps customers to better understand where the most significant costs and effort reside. That can be useful for planning purposes and making decisions about priorization.