I settled in for a relaxing, computer-free Memorial weekend. My wife and I were planning to meet some family in D.C., visit a museum or two and attend a little BBQ. But in a sign of my ever growing nerdery, I found a way to introduce software development.
Late Friday night, I checked out the sessions at the NoVa CodeCamp. Hmm, lots of good speakers. Hmm, we're not meeting people until the afternoon. Methinks this might work. After some cajoling, I get clearance from the wife to attend the camp in the morning, before we meet the relatives.
So I attended a few sessions, and they were totally worth the effort of leaving CVille at 6:30 AM.
Intro to Data Warehousing by the lovely and talented Jessica Moss
This was a very good session; if you're interested in this topic, I recommend seeking her out. Jessica obviously knows her stuff about BI and OLAP, and she can communicate it effectively. My only complaint about this session is that the audience was so into, asking so many questions, that Jessica didn't have time for some of the material that I really cared about, i.e., actually seeing SQL Server 2008 build a cube. I think this session could easily be turned into a full day workshop.
After I master website security, ASP.NET MVC, Ruby, F#, and come up to speed on popular ORMs-- BI is definitely an area where I need some focus, after I bone up on the new parallel paradigms of course. :) I used to be much more into OLAP and BI than I am now, but I still think a small dose of BI can be differentiator between a system that is good and a system that is mindblowing. Few things will make a business executive love you as much as giving him a solid matrix UI that lets them slice and dice his inventory/sales/calls/facts by the relevant dimensions of his business.
SharePoint and Silverlight by the quick-witted Sahil Malik
Another great session. Honestly, my interest in SharePoint or Silverlight is best described as obligatory, but when you have an engaging speaker like Sahil, you can't miss that opportunity. And Sahil lived up to his reputation; it was a great, somewhat impromptu, presentation. The presentation was mostly based on a demonstration of a development technique that I'll try to share. I got the gist of it, but some of the SharePoint specifics were lost on me.
Here are the highlights, as I remember them, but Sahil wrote an article with much of the same content.
- SharePoint development must be done in a virtual environment, pragmatically speaking, but SharePoint requires a lot of overhead.
- Silverlight development requires short feedback cycles, with working in VS, working in Blend, deploying and testing, and then repeating.
- The slow SharePoint VM combined with the needs of Silverlight development and the fact that assemblies must be built for Silverlight combined with SharePoint assemblies not being Silverlight compatible all point to the need for an abstraction between SharePoint and Silverlight that lets you develop somewhat independently.
- A light WCF service can be used to provide that proxy between Silverlight and SharePoint. You can use the WCF service to provide mock data during initial SL dev, and then with a few tricks, you can deploy your SL application and the WCF service being nearly invisible.
- Obviously you can dev SL applications in isolation. Sahil's solution is relevant is you're trying to read SP data from your SL app. Read his article for more details; I'm probably misrepresenting something.
Fast LINQ by the excellent K. Scott Allen
I also enjoyed this session quite a lot, though I was already familiar with the material. Scott is a great presenter, and I assume that his PluralSight course on LINQ is equally good if you're into this topic.
Main topics covered:
- IQueryable vs IEnumerable
IEnumerable consumes delegates and is better suited for local LINQ providers: LINQ to Objects, LINQ to XML, etc.
IQueryable uses expressions to translate queries and is better suited for remote LINQ provider: LINQ to SQL, LINQ to NHibernate, etc.
- Deferred execution
- Non-obvious optimizations