What I do
My biggest mobile project is Sierra Trading Post’s iOS retail app, built using C# in Xamarin.iOS. Both the iOS app and Sierra’s Android app, built using Xamarin.Android, operate using the Sierra Trading Post API that I created using ASP.NET MVC (prior to ASP.NET Web API). I am currently managing development efforts on these projects and any future ones that are born in Sierra Trading Posts Emerging Markets Team (EMT).
I’ve been known to write sillier code in my free time, though. For example, Smudges is a silly game (now available on Android) I originally created to occupy my then-2-year-old child. I’ve written a bit about it on this blog, if you want to learn more about Smudges or learn more about some of the code that went into making Smudges.
rss-to-jsonp A silly proxy for requesting an RSS feed and returning JSON assembled from that feed, originally started as a tool needed for Kickstarterterest. Final product goes out to AppHarbor at
MonoForAndroidFlashlight A simple flashlight app that I put together in Mono for Android to use on my Galaxy Nexus.
StackGeography started as a proof-of-concept mapping demo and evolved hastily into a StackApps app. This mapping site polls for recent Stack Exchange site questions (StackOverflow, SuperUser, etc.) and maps the user locations to map from the Google Maps API. It is definitely a work-in-progress. Feel free to follow along with the development at its GitHub repository.
Kickstarterterest A proof-of-concept presentation of Kickstarter projects (via their RSS feed) in a masonry-style view (as made famous by Pinterest). Final product goes out to AppHarbor at http://kickstarterterest.apphb.com/.
Open source contributions
I have been trying to contribute to open source projects that make my life easier lately. It has been some great learning experiences: Mercurial/Git and different code styling, for starters. I am definitely still getting started here.
- CAKE – Allow for reading XML values in your build scripts.
- FAKE – Update to XamarinHelper.iOSArchive to accept an explicit solution path.
- Xamarin.iOS BTProgressHUD – Allow HUD to be constrained to a single tab (or any parent, I suppose).
- monotouch-bindings – Fixed a Google Analytics datatype mismatch that resulted in an integer overflow, and some seriously ugly data on the reporting side.
- ASP.NET MVC AttributeRouting – config option to append trailing slash to outbound generated URLs.
- MVC Route/URL Generation Unit Tester – switched to exception-based route testing for useful error messages.
- NuGet Docs update – updated docs to reflect confusing change in recent release.
- Json.NET Docs update (Copied into commit by JNK) – updated docs to reflect new DateTime format and how to override it to revert to the old default.
- jquery-html5-placeholder-shim – while researching a placeholder shim, fixed a reserved word usage that blew up in Closure Compiler. Ended up using jquery-placeholder, though, in production until jQuery started doing this automatically.
- ASP.NET MVC MvcContrib’s – Fix to route testing extensions.