This was PDC week for Microsoft - this is their annual software development conference, and single best place to glimpse the future of software development according to Microsoft. This year's big splashes came from Azure (Microsot's cloud computing platform), C# 4.0, and Windows 7 (I still can't believe they're really calling it "7").
In all cases, we got to see a little more detail about these platforms, but there weren't too many real surprises. Azure seems to have been met with guarded enthusiasm, tempered by the fact that Microsoft didn't realease *any* pricing information *at all*, so we've got an offering that could be really, really powerful, but nobody knows how to make a business case for it. Sigh.
I've worked with both, and I'm really tired of the argument that one is inherently better than the other (hint: in my experience, that's a one-sided argument). In fact, there's a lot to like about both languages. I love, love, love the tool support that you see in C#, and I believe that at least some of this comes from C#'s type safety. Still, I miss the easy of dynamic coding in VB (prior to VB.Net). Event though dynamic typing was widely derided as just plan sloppy programming (and often, it was), you could do some really elegant work in VB without explicitly pulling out the big reflection guns.
Following the release of Visual Studio 2008, a handful of significant enhancements began to take shape, targeted for the SP1 timeframe. I'm sure most of you heard about the MVC Framework for ASP.Net, and you may have heard about the Dynamic Data Website, too. But I'm still surprised how many people haven't heard of Astoria (now called ADO.Net Data Services).
Built on top of the Entity Data Model, Astoria is intended to expose your entities as REST or JSON objects with very little extra work from you. Best of all, the Astoria controller understands the verbs needed to interact with this model in a standard way. Much like the Dynamic Data Website, once you set up the data model, you can have your web service front-end working remarkably quickly.
Shortly before I switched this blog to WordPress, I learned about a new tool called Zemanta. It was supposed to provide context-sensitive links and images, chosen dynamically to be relevant to the work in progress. It sounded pretty cool, and I tried to set it up under Drupal, but couldn't quite get it done. After switching to WordPress, I was happy to see that Zemanta setup was a breeze.
I've been using Zemanta for a few weeks now, and I'm really, really happy with it. My initial impressions were a bit iffy - images were inserted in a way that made it difficult to move the image without leaving the citation caption behind, for instance. Zemanta keeps improving the plugin and the service, though, and my early problems have lessened considerably.
Almost a year and a half ago, I read something somewhere about a Microsoft Research project called Pex. They were working on ways to supercharge unit testing within Visual Studio, but very little information was available at the time. They had a site with an RSS feed, though, so I added them to my reader, and went away.
Since then, they've dropped exactly 22 updates on their web site, and most of them were pretty dry reading. They announced a 0.6 release back in August, though it was pretty meager. In the last month or so, though, things are really picking up speed, racing towards a public debut at PDC next week. Today, they announced their 0.8 release, and it's finally starting to demonstrate some of the coolness they promised early on.
When you're debugging code in Visual Studio, you're going to end up setting breakpoints, watching variables, and maybe dumping information to a log file or the immediate window. Wouldn't it be nice if you could read some of it?
Too often, we wait until we're writing a log entry or trying to peer into the contents of a watched variable to worry about formatting objects. If you find yourself looking at a particular object or structure more than a couple times, though, consider overloading the ToString() method on that object. After all, nothing should be better suited to present a default format for an object than the object itself. Instantly, you'll find that logging and debugging become easier, because when you hover over an instance of that object, you're going to see a meaningful representation of the object.
One of the things I noticed shortly after switching this blog to WordPress was the terrific support for SEO optimization. WordPress does a very good job of this itself, with good support for keywords, Meta tags, and so on, but there are also some really fantastic plugins for WordPress that kick it up a notch - I'm using one called All in One SEO Packthat I like a lot.
I suspected that this was helping to boost my search rankings, but I just saw a pretty clear indication of the extent. The post directly under this is all about the 2.Ohio event that was held last night here in Columbus. As the event was drawing near, the organizers asked the community to tag any related posts with "2dotohio08", and I was happy to oblige. Today, I noticed that tag among the "searched-for" terms that led someone here, so I googled "2dotohio08" and was really happy to see that post down there sitting right up near the top of the results.
I wish I could take personal credit for that search ranking, but an awful lot of it is due to great standards support from WordPress and the All in One SEO Pack. If you run the search, you'll also see its entry on MyBlogLog, which seems to help a bit, too. If you've got a web presence, you really need to pay attention to this stuff, because it's not difficult, and it matters!
Thanks to Ben Blanquera and Angela Siefer for putting on a terrific event tonight. Reid Hoffman and Judy Estrin had some really insightful thoughts on innovation and networking, and Michael Nelson walked us through the effect of government policies on IT. Craig Newmark also dropped by to add to the celebrity guest list.
As a technology leader, I appreciate the value of Web 2.0 tools and social networking. All things being equal, we should all be able to log onto LinkedIn and Twitter and conduct our Web 2.0 business without regard for our location. Columbus, Ohio should be just as hoppin' as Silicon Valley, but it's not.
I'm always amazed how many people bungle this. Luckily, there's an entire site (admittedly, it's just one page) devoted to helping you know when to use "its" vs. "it's". Please send it to someone who needs help.
I'm really encouraged to see that Miguel and the Mono team are getting some exposure. I still believe there's a lot for both Mono and Microsoft to gain by strengthening this partnership. Microsoft needs to embrace Linux more than ever before, and frankly, Linux could really stand a little bit of leadership to help that platform coalesce.