Five Things Meme

The five things meme continues to consume the blogosphere, devouring all in its path. JD has tagged me so in the interests of playing a long I will now post 5 exclusive, never heard before things about me. Please make sure your tray is upright and locked, and assume the edge of your seat position.

  1. Apart from playing around with HTML and a little JavaScript at college, I didn't really start programming until my second year of university. The paper than introduced me was on VB 6.0, and I enjoyed it so much I got an A+ and then came back to tutor it the year after.
  2. I can't scull. I just can't. Alas, my Fear Factor/Survivor career is over before it ever began. I know I'll never pass the "The person who drinks the glass of {disgusting substance} fastest wins" challenge.
  3. My favourite 80s TV program is DuckTales. That one is for you TY [:)]
  4. I have a fairly large burn scar on my left bicep, caused by a hot drink and an overly inquisitive baby (me). I was only 3 at the time and I don't remember it happening. The scar has also faded over the years to the point where no one notices unless I point it out. I actually quite like it because I usually win when guys start comparing.
  5. My blood type is O-negative, universal donor. If you're stranded on a strange island by a plane crash and you need a blood transfusion, I'm your guy.

My victims are: Porges, Cynos, Jerms, Brendan and Tyler Cowen and Alex Tabarrok of Marginal Revolution fame. Go meme go!

Json.NET 1.2 released

An update! A blog post! Hope everyone had a good Christmas [:)]

This long overdue release of Json.NET is mostly the result of feedback from users. Thanks for all the suggestions.

  • New feature - Added JsonIgnoreAttribute. This is the equivalent to XmlIgnoreAttribute for XML serialization.
  • New feature - Added generic DeserializeObject<T> methods to JavaScriptConvert.
  • New feature - Added AspNetAjaxDateTimeConverter. Converts DateTimes to and from the ASP.NET AJAX format, e.g. "@1229083932012@".
  • Change - Improved many of the library's exception messages to provide more detail.
  • Bug fix - Fixed issues around read-only and write-only properties when serializing.
  • Bug fix - Fixed typo in XmlNodeConverter.

What's New

A number of people have emailed that properties having a getter but not a setter, and vise-versa, could potentially cause an error when serializing or deserializing. This was something I had overlooked and is fixed in this release. Special thanks to those who took the time to email source of the fix they made to their own copy.

Also requested was an attribute to make the serializer ignore a member, similar to the XmlIgnoreAttribute for .NET XML serialization. These requests could be related to the previous bug but it is a quick and simple addition, and is a good feature to have. JsonIgnoreAttribute is included in this release.

Finally the new converter, AspNetAjaxDateTimeConverter, provides a means to output dates that conform to the JSON 'standard' as well as interoperability with Microsoft's ASP.NET AJAX serializer. You can read more about the ASP.NET AJAX date format here.

Download Json.NET - Json.NET dll and C# source code.

Developers harness the power of Google Code Search... and look up dirty words

Google has unleashed its latest free search product onto the unsuspecting public: Google Code Search. What new wonders will come from combining this powerful new tool with the software development community? Will we use our knowledge to spot hidden bugs in one another’s software, eliminating software crashes and possibly saving the lives of those that depend on our programs? Or will coders around the world enter a new era of greater collaboration, creating amazing new software that transforms the the way people live?

Or we could, you know, look up dirty words in each others code: Fucks per programming language and license. [:)]

According to Google Code Search PHP developers are the most profane while Python, Java and C# (my language of choice) come out the cleanest. C# ends up winning (or losing depending on your perspective) by a nose. Take that fuckers.

More seriously, I don't see Google Code Search changing the world when it comes to the reuse of existing code. Expressing what you are looking for in a class or library in a regex that searches over code is something that strikes me as being very hard to do. I believe the majority of the time you would be better off using plain old English in Google's regular search to find what you’re looking for.

Google Code Search isn't without merit however. A place where I can see it being quite useful is when working with an API for the first time. If you're unsure of the way a specific property or method works, and the code example in the MSDN reference isn't any help, Google Code Search provides a means to get a list of real world examples to learn from.

Finally, and I guess since it is Google I shouldn't be surprised, but Google Code Search has managed to find and include the code I've written and made public on this site, despite being zipped! If anyone deserves a P/E of 60, it's Google.

Starting at Intergen


As alluded to earlier I have have shifted jobs, and have started at a place called Intergen. It is a bit of a culture shock going from 5 people working on one project to over 100 people working on more things than I can count.

So far the highlight at Intergen for me has definitely been the people. Besides all being very nice and a lot of fun to work with, Intergen has many of the best .NET developers in the country, including two MVPs and one of New Zealand's Microsoft Regional Directors.

Intergenite cast:

  • John-Daniel Trask - New Zealand .NET Blog of the Year winner. Also known for crazy antics.
  • Jeremy Norman - EPiServer expert and a very good Halo 2 player. I'm (currently) very bad so we often end up on the same team [:)]
  • Trey Guinn - When we first met, for a second there, he had me believing that we were long lost friends. Americans!
  • Nick Urry - Intergen developer and content management expert extraordinaire.
  • Jeremy Boyd - New Zealand Microsoft Regional Director and MVP for SQL Server 2005.
  • John Lewis - Part of the Intergen creative studio.

And many more who have not yet hopped on the blogging bandwagon. Thanks for making me feel welcome [:)]