I hope everyone had a great Christmas. I just thought I should post a quick note indicating what I’ve been up to lately.
Among other things I am back in independent consulting and subcontracting for software and web development. I enjoyed my previous job and I feel I did my team good—I know the team did me good!—but it was an obvious no-brainer to move on when I did (this was back in September/October), everything fell into place perfectly and it was a satisfying transition on all sides when I resigned. So far I think it was the best decision of my life. I am more naturally a consultant than a yes-man grunt, and yet I am a night owl and see no practical reason to keep myself from doing what I do best at the hours I am most productive—which can sometimes be in the middle of the night on my sofa with my laptop! (That said, I got way less done this Christmas weekend than I planned. Oops.)
Current technical areas of interest and/or focus lately are:
- Lucene.net – Yeah I’m looking at it again, and from what I understand it’s currently undergoing a “come-to-Jesus” situation with Apache Foundation. One or more of the forks [1, 2] may end up taking its place as the better Lucene implementation for .NET. But it’s still bread-and-butter for high performance text-based indexing / textual entity matching / content searching.
- nopCommerce – This particular e-commerce project has been good at staying up-to-date with modern technical standards. Although it gets some heat for being heavily refactored frequently, the advantage is that you can pick this thing up and know that you’re using a modern codebase—currently Entity Framework and ASP.NET Web Forms 4.0, soon to be refactored into ASP.NET MVC 3.0. I’d definitely prefer that over some old codebase that only fixed bugs after v1.0 rather than constantly evolve to modern standards; this is where I begin to disagree with some whiners about .NET who migrate to open source, I see nothing wrong with rewriting an old codebase to something more modern, so long as the people who experienced the pains of lessons learned are still around to reimplement.
- Orchard Project – As WordPress has grown exponentially in popularity over the last year, I had been seriously considering creating a .NET equivalent of WordPress (core plus extensibility), but Orchard Project meets this goal of WordPress core-plus-extensibility equivalence and pretty much every requirement I wanted to pursue in my own implementation, including the new Razor view engine for ASP.NET MVC 3.0. I have every intention of delving deep into this project’s codebase.
- I also took the initiative and registered an IRC chat channel for Orchard—#orchard on Freenode, find me as stimpy77—a channel had been asked for but not created and after months went by I decided to just register the channel myself.
- Finally, I’m going to present a session on this project in March at a local .NET user group in Chandler.
- Facebook – In case you’ve been living under a rock, Facebook is the most popular web site on the planet at the moment. If Google’s data was social network data, they’d be Facebook. It’s that big. Facebook also has a lot of integration points. The SDK I’m using at the moment is the one at http://facebooksdk.codeplex.com/. This as opposed to the Facebook Developer Toolkit (http://facebooktoolkit.codeplex.com/). Facebook SDK rather takes advantage of C# 4.0’s dynamic keyword so that the maintainers of the SDK don’t have to have a one-to-one property mapping for every entity documented; Facebook’s API changes far too often to be able to keep up with these changes reliably, so the SDK relies on simple deserialized JSON as dynamic object graphs that can be accessed with minimal code. For me as a .NET developer, it kind of makes haughty dynamic languages’ implementations of Facebook APIs look rather irrelevant.
I’d love to add a lot more to the list but the fact is that I, like many others in the .NET community, have been really quite overwhelmed by all the goings on in 2010 what with Windows 7, Visual Studio 2010, ASP.NET MVC 2.0 and now 3.0, and so on, and have been glad I’ve been able to keep up as far as I have. I still have a ton of catching up to do, though.
Cheers to the New Year 2011!