The Weekly Source Code 2
In my new ongoing quest to read source code to be a better developer, I now present the second in an infinite number of a weekly series called "The Weekly Source Code." Here's some source I'm reading this week that I enjoyed.
- DasBlog 2, SubText, BlogEngine.NET, SingleUserBlog - All these blog engines are FULL of good (and bad) source. Each is a treasure trove of patterns, anti-patterns, techniques, libraries, ideas and good fun. I love firing up the source to a new blog engine as the specification is well-known and the solutions are endless.
- OpenTheme - A really strange but truly fascinating XML-based GUI toolkit (ala XAML). The article is tiny, but the source is pretty expansive.
- Charles Cook is the reigning king of XML-RPC on .NET with his very clean XML-RPC.NET library. However, Clemens has been causing trouble (the good kind) on the dasBlog team lately, and is currently moving our prototype dasBlog 3.5 forward with WCF for all non-HTML endpoints. He's using this opportunity to create XML-RPC using WCF (Indigo) (download source). If you're familiar with the crazy XML-RPC format and you're looking to learn about how WCF isn't just about SOAP, this is a good sample to start with. (Windows Live Writer uses XML-RPC to talk to most blogs, by the way.)
- While browsing Charles Cook's site, I noticed this post from January about Wesner's Hard Problems, Simple Solutions post. Wesner points to a regular expression engine in 14 lines of Python and suggests this could be ported to C# using iterators and anonymous functions. Charles responds with some really interesting C# code that I'm still getting my small head around. I believe what Charles is asking for is extension methods.
- And jagged segue...speaking of using XML-RPC on the server-side, Charles put up a sample earlier this year on how to use System.Net.HttpListener as a basis for an XML-RPC server. Both his and Clemens samples give you the building blocks to start using Windows Live Writer or BlogJet as a content management front end to your (whatever it may be) own content management system; you might also use these samples to add XML-RPC to your own blog engine...and that brings this Weekly Source Code full circle.
Feel free to send me links to cool source that you find hasn't been given a good read.