Nice quick win – currently upgrading a client Intranet project from ASP.NET MVC1 to MVC2. Microsoft changed how get requests are handled in this release and disallowed GET JSON requests by default. Before going any further, note that there are security implications in allowing JSON get requests.
To get around this, either make your JSON requests happen by POST, or change:
return Json(object);
to
return Json(object, JsonRequestBehaviour.AllowGet);
Not too bad if you’ve only got a couple of instances, but if you’ve got Json coming out of your ears, it’s a pain to implement it everywhere. You can either derive yourself a controller object and override the default Json behaviour – or use a Visual Studio find and replace regex to change your Json responses for you:

Unlike our Ruby, PHPing and Perl counterparts, regular expressions aren’t something that .NET developers tend to come across on a regular basis, and as such we often forget they’re lurking in the toolbox. Visual Studio find/replace has a reasonable regex mechanism, but it’s not perl standard. Check the docs for details.
For reference – we know this isn’t best practice, but if you need a quick and dirty fix, this will do it.

Photo by Martin_88
Pretty simple – take 24 hours, a venue, some wifi, food and drink and build something cool with a few other people.
And so off we went. Tim Hastings (@timhastings), Jason Reast-Jones (@jreast) and Paul Mackenzie (@prmack) and I embarked on an idea for a geo-location platform which would trigger events when you came in proximity to previously marked locations. Out of this came Geotrigga.

Photo by Martin_88
I’m impressed with how much we produced in 24 hours. We produced a working API, a mobile web site and a mobile application (which runs as a background service) and a working trigger to SMS service. Mechanics are in place to enable a whole range of other triggers, including third party web hooks. Problems over the evening included getting OAuth to do as it was damn well told (shakes fist at Twitter), and finding an interesting IntelliJ bug that kept making my parcelable definitions disappear. There’ll be a follow-up post discussing some of the architecture shortly.
Tim took to the stage to present and we came away with the Best Mobile Hack award. Awesome.
It’s the first hack day I’ve done. We worked for around 20-23 of the 24 hour period, with the entire team taking something of a power nap at 4am (don’t underestimate the effect of the power nap).

Photo by Martin_88
The Hodge and the sponsors made sure we stayed caffeinated and fed, big shout-outs to all the sponsors. No sponsors, no event. Pizza on Saturday kept us going until well into Sunday morning. Sunday morning breakfast looked awesome, but due to the potential of food-inducing coma I had to miss breakfast and ate a small zillion of prawn sandwiches later in the day instead. Beer provided by CodeMyConcept was proper York Brewery ale, not your pansy southern lagers. Colour me suitably impressed.
My favourite hack of the day? Making a Livescribe pen go “Moo” when you write the word “cow”. HOW FREAKIN’ AWESOME IS THAT?
If you’re using IntelliJ IDEA to build your Android apps (as moi does), and you try to create AIDL files to sit beside your classes (specifically for the Parcelable interface), you may notice your own classes magically disappearing at compile time.
This stumped me for a while until I realised that normally an AIDL file would generate a .java file. It doesn’t for the Parcelable interface. But there’s a bug in IntelliJ which deletes your .java file on build. The way to get around this is to create a new source folder called aidl and add your AIDL file in with the same namespacing as where your main class lives. Then add the aidl folder to the module source folders (in module settings). Your aidl files will now be compiled into your project without nuking the existing .java files.

Update: Apparently, as of today, this bug has been fixed in IDEA X EAP. Still putting the post out there for people running on earlier versions.