St. Louis Day of .NET 2010

St. Louis .NET developers had a busy weekend last Friday and Saturday – over 650 of them attended the third annual St. Louis Day of .NET. The conference, which began in a crowded WashU meeting room three years ago, has pulled speakers, attendees, and sponsors from all over the United States, and has even gained the attention of Microsoft. For $200 (or $125, if registrants took advantage of the early bird special), attendees were treated to over 100 sessions on .NET-oriented technologies, open discussion sessions, a great party at Ameristar’s HOME nightclub, and a special keynote by Microsoft representative Brian Goldfarb. Secondary perks like great swag, prizes, networking, and a used bookstore (that donated all proceeds to charity) added to the legitimacy of the event. The Midwest is often eclipsed by the big conferences on each coast, but last weekend that didn’t matter – St. Louis developers had a solid, professional, mature conference to call their own. I attended a number of interesting sessions, a few of which I will briefly enumerate here (IEnumerable?), although my mental saturation point was nearly reached late Saturday as I struggled to retain retain retain. For a taste of what the event offered as a whole, check out the sessions and speakers pages on the official website. WTF# - Ken Sipe My exposure to F# has been pretty limited, mostly due to time constraints and no immediate reason to add it to my skillset, but Ken’s talk sparked my interest and convinced me that I need to invest some time in this new functional language from Microsoft. I enjoy Javascript and LINQ, which are not pure functional language implementations but definitely have functional flavor; and a friend who shall remain nameless but who KNOWS WHO HE IS always bugs me to try Scheme, so perhaps this is a good way to ease myself into that world of out-of-control parentheses and alpha-geeks who mock IDEs other than Emacs. F#, a derivative of oCaml, is a strongly typed language that can leverage .NET framework libraries. Ken demonstrated that it is more performant than C# in parallel operations, and in many cases results in a smaller IL footprint when it is compiled. Since parallelism is the Big New Thing, and since I want the most bank for my buck from the four cores idling in my beefy development box, the magnetism of F# is is multiplied. Off to write some lambdas bitches! Open Discussion: Entity Framework vs. NHibernate - Jesse Phelps The open discussions were some of my favorite sessions at #STLDODN. This particular session was very important to me because I have strong opinions about both EF and NHibernate, and it was good to let everyone know that NHibernate is the One True ORM… I mean, discuss the pros and cons of both ORMs in the context of specific business needs. There were knowledgeable people present who had used each and had much to contribute to the discussion. I was even further impressed that there were DBAs present who wanted to know what all the hullabaloo was about, and had very specific questions about the performance, the quality of ORM generated SQL, and the place for things like stored procedures in a system that uses an ORM. Jesse did a great job guiding the discussion; additionally, no fist fights broke out. NHibernate and Friends - Lee Brandt I have been learning the NHibernate ORM for the last couple of months, so this session was a good refresher on some of the associated libraries that work with NHibernate. Lee covered Fluent NHibernate, a library that allows a developer to specify mapping configurations via a fluent interface (method chaining) instead of those eeeevil XML files. Personally I think the fluent interface can become a little messy with more complicated mappings, but that downside is offset by two key benefits: a) using fluent allows the developer to refactor both entity objects and affect the mapping directly (since the fluent interface is strongly typed code), and b) there is a performance gain because XML files do not need to be parsed when the application starts. Lee also demonstrated LINQ to NHibernate, an open source LINQ provider that allows NHibernate sessions to be queried using LINQ syntax. My favorite quote of the conference came from this session: “We take what the Java guys do and stick an ‘N’ on the front. That’s our originality.” Open Discussion: Silverlight vs. WebForms vs. MVC - Kevin Grossnicklaus Like the NHibernate open discussion, this session compared and contrasted three approaches to writing applications in a web-centric environment. Kevin is an unabashed Silverlight enthusiast, and provided compelling reasons (ease of development, rich user experience, single programming language) for using Silverlight as a platform for internal web applications. Many there, including myself, have jumped onto the MVC wagon, and argued that web technologies should not fight the web stack, but embrace it (i.e., Javascript should be in everyone’s toolbox, ViewState is evil, and id attributes should not be hijacked). The WebForms developers were fewer in number than I expected, and were interested in understanding *why* the MVC developers had jumped ship. Everyone had at least some experience with Webforms, so it was much easier to compare technologies. Nik Kalyani, co-founder of DotNetNuke was present for the discussion, and provided some observations about the challenges he experienced using WebForms as a platform for the DotNetNuke CMS. Going Independent 101: Lessons Learned from a Decade of Independence - Michael Eaton By far my favorite session, Michael’s highly practical and highly personal talk about working for oneself was both entertaining and inspiring. Michael started by telling everyone about his personal path from corporate cube dweller to independent software developer, being very careful to point out his mistakes along the way so those who might follow could avoid the traps he fell into. He covered practical topics like time management, finding clients, self-discipline, hiring an attorney and an accountant, etc. He talked about the tools he uses to successfully run projects, including his trusty notebooks for brainstorming and tracking client time (It’s not software! Heresy!). He stressed the point that, above all, being independent gives him the flexibility to invest in his family and personal life, often a powerful motivation factor for those who want to be self-employed. Michael’s hard work and success definitely lit many fires in the room. There were many more great sessions that I was unfortunately unable to attend – nearly 11 sessions running in parallel every hour. I was forced to pick and choose, and the decisions were difficult but I was not disappointed with the quality and variety of the sessions I attended. A big thanks to all organizers and volunteers who made STLDODN 2010 a big success!