First time here? Check out the site's "greatest hits" or read a post from the archives. Feel free to leave a comment or ask a question, and consider subscribing to the latest posts via RSS or e-mail. Thanks for visiting!
Do you Tweet? Follow me on Twitter @shanselman or learn how to use Twitter!
« Hanselminutes Podcast 77 - Moving your E... | Main | Sharpen the Saw for Developers »

The Weekly Source Code 2

Posted 2007-08-21 10:41 PM in Source Code.

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.



Wednesday, August 22, 2007 5:59:30 AM (Pacific Standard Time, UTC-08:00)
Hey Scott,

check out "Beautiful Code" from O'Reilly.
Wednesday, August 22, 2007 10:34:31 AM (Pacific Standard Time, UTC-08:00)
I'd recommend reading the source for Paint.NET. I was really impressed by how cleanly commands were implemented there.
Wednesday, August 22, 2007 2:47:00 PM (Pacific Standard Time, UTC-08:00)
I want to second what Dominick said - I've been reading a chapter every second night or so, and it's been really inspiring to see how top-notch developers think and approach problems.
nexusprime
Thursday, August 23, 2007 3:49:47 PM (Pacific Standard Time, UTC-08:00)
I'm really liking the code reading posts - a great way to get examples of how to do things and to reinforce positive habits/patterns. It's also nice to see people's ideas on what to read, so keep those coming. CodePlex, SourceForge, Google Code and the various other open source project sites have really made a lot of good code available

I'm working my way through EntLib right now. It's interesting to see how it's changed since it was "application blocks". The last time I looked through the code was right after the Data Access Application Block was introduced, and things have gotten much more sophisticated since then.
Chris Haddix
Comments are closed.

Contact

Sponsors

Hosting By

Hot Topics

Tags

Calendar

<July 2009>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Archives

July, 2009 (4)
June, 2009 (26)
May, 2009 (16)
April, 2009 (13)
March, 2009 (17)
February, 2009 (17)
January, 2009 (18)
December, 2008 (32)
November, 2008 (17)
October, 2008 (22)
September, 2008 (16)
August, 2008 (14)
July, 2008 (25)
June, 2008 (19)
May, 2008 (17)
April, 2008 (17)
March, 2008 (26)
February, 2008 (21)
January, 2008 (28)
December, 2007 (19)
November, 2007 (17)
October, 2007 (31)
September, 2007 (39)
August, 2007 (37)
July, 2007 (43)
June, 2007 (37)
May, 2007 (32)
April, 2007 (38)
March, 2007 (29)
February, 2007 (46)
January, 2007 (31)
December, 2006 (27)
November, 2006 (31)
October, 2006 (32)
September, 2006 (39)
August, 2006 (34)
July, 2006 (40)
June, 2006 (18)
May, 2006 (31)
April, 2006 (34)
March, 2006 (30)
February, 2006 (38)
January, 2006 (44)
December, 2005 (19)
November, 2005 (34)
October, 2005 (24)
September, 2005 (37)
August, 2005 (20)
July, 2005 (24)
June, 2005 (33)
May, 2005 (16)
April, 2005 (22)
March, 2005 (34)
February, 2005 (15)
January, 2005 (37)
December, 2004 (28)
November, 2004 (30)
October, 2004 (34)
September, 2004 (22)
August, 2004 (34)
July, 2004 (18)
June, 2004 (64)
May, 2004 (49)
April, 2004 (21)
March, 2004 (29)
February, 2004 (29)
January, 2004 (36)
December, 2003 (25)
November, 2003 (24)
October, 2003 (59)
September, 2003 (42)
August, 2003 (24)
July, 2003 (44)
June, 2003 (29)
May, 2003 (21)
April, 2003 (30)
March, 2003 (27)
February, 2003 (47)
January, 2003 (50)
December, 2002 (31)
November, 2002 (38)
October, 2002 (44)
September, 2002 (15)
May, 2002 (2)
April, 2002 (4)

Google Ads