2011 retrospect

Inspired by my old colleague Mookid, I want to also share what I’ve been working on this year. It has been a crazy and busy year. Even though my wife and I had a son last year, I’ve coded more than ever. Having a baby forces you to focus your time and energy.

Now for the retrospect, ordered by date, describing what I’ve been working on throughout the year.

My new year’s resolution last year, was to start blogging. I wrote my very first blog post on the 2nd of January this year under the title, performancedude.com. I blogged a lot during the first few months about performance optimizing web applications, but my passion for blogging expanded to include other subjects like unit testing. Around June, I decided to switch from my performancedude alias, to start blogging on thomasardal.com. In total, I’ve written 27 blog posts this year. I probably won’t blog as much next year, but I will definitely try to write a post once in a while.

MSBuild Shell Extension
January started the year of great. I was lucky to be contacted by a very talented developer, Rami, who wanted to help shine up my 5-year-old power tool for MSBuild, named MSBuild Shell Extension. MSBuild SE is, as the name proposed, a shell extension for running MSBuild scripts from Explorer, Total Commander or similar. I hadn’t really touched the tool for years, which is why I was happy that someone wanted to take over. Before Rami joined the project, the context menu showed from MSBuild SE was 100 % static, but configurable through a config app installed alongside the build runner. When Rami finished, the context menu was generated dynamically with the MSBuild targets from the right-clicked build-file. Rami did 90 % of the worked and I did all I could to help him finish. Great work, Rami! Our work paid off in the end and the tool was downloaded more than 2,000 times. We also got mentioned in Scott Hanselman’s 2011 Ultimate Developer and Power Users Tool List for Windows!

While still employed by Trifork, I decided to look more into doing extensions for Google Chrome at one of the companies two annual Hackathons. My first real contribution to the community was HippoFocus, a tool to help you set correct focus points when visiting your favorite websites. This is not rocket science. Even though the extension didn’t really reach the masses, I still think that it is one of the most useful extensions I have implemented.

Why I chose the “Hippo”-prefix once more I can’t really tell you, but shortly after releasing HippoFocus, I did HippoTab. HippoTab automatically tabs when you reach the max length of any input field in a html form. Again not rocket science, but it was fun to implement and my JavaScript skills definitely improved.

Ok, maybe I didn’t invent this one. This story is about my switch from Trifork to eBay in March of 2011. I had worked at Trifork for 3½ years and wanted to try something new where I was able to focus on my .NET web developing skills. Luckily, I was contacted by eBay, who searched for a talented .NET developer (that’s me :)). I worked at one of eBay’s Danish sites, named bilbasen.dk, for the first couple of months. It was a great learning experience for me, so naturally I was a bit sad when the company decided to split our team in half. My new team was moved to a new project named DealerHub. DealerHub is the nextgeneration application for Danish car-sellers. The project turned out to be an even better learning experience for me because I was given the freedom to design and implement a kick-ass system using multiple buzz-word enabled techs like KnokcoutJS, ASP.NET MVC 3 and RavenDB. Love it!

In the never-ending line of Hippo* Extension for Google Chrome, HippoLink was released. The idea was to convert unclickable URL’s on WebPages to anchor tags. The extension worked pretty well, but I had a hard time fixing bugs because of scenarios that I hadn’t planned for, like messing up certain websites such as Google Image Search. HippoLink was kind of a test for me. The core part of the extension was bought from a developer at fiverr.com. The test I faced was, whether or not I could have someone code boring pieces of code for me, for a very limited amount of money. I was pretty amazed by the quality of the code written by the programmer, but unfortunately, the test suite I wrote for the developer to pass, was deficient.

By Summer-Weekation, I started feeling integrated on the eBay team. I met a couple of colleagues who enjoyed coding in their spare time, like me. Brainstorming from these new found friendships ultimately gave birth to the website, NuGetFeed.org. This website is a service on top of NuGet.org, which lets users monitor updates on NuGet packages in their RSS reader. I was amazed by the popularity of the website. We were lucky enough to even get mentions from both Phil Haack and The Morning Brew. The website is still running and serving a lot of .NET developers to this day.

It had been a few months since I had last done a Chrome extension when I came up with the idea for a new extension while at work one day. The question came to me; Why do you still accept clicking the “Next” button in Google search results? Shouldnt it be supported by infinite scrolls like Facebook, Twitter and numerous other sites? Even though Google is experimenting with infinite scroll themselves, I decided to do a quick fix for Chrome myself. The result was gInfinity which turned out to be my most popular Chrome extension so far with over 1,500 users.


A couple of years ago where myrating.dk where still high on my priority list, I made a small service making it possible to generate a smiley image from a CVR number. CVR numbers are the social security number of a company in Denmark and smileys are awarded by the government to all companies handling food. Happy smileys are given for good hygiene and other things, and unhappy smileys are given to companies which needs to fix something. This way the consumers can decide if they want to shop at the company or not. I didn’t really do much work on smileyapi.dk myself this year, but my talented colleague Steffen, helped me by doing a new layout for the site.

The idea for my latest project, in 2011, was born from a blog post written by the Danish blogger, Therese Hansen, which listed all Danish IT startups. My former colleague, Rasmus Christensen, invited me to join him on implementing a new website for listing startups. We ended up going live with Version 1 after having spent nearly 4 nights on straight coding. The feature set was limited to the listing functionality, with some fancy Google Maps integration. In the spirit of startups, we used MongoDB for the persistence and hosted the whole thing on AppHarbor. This was a very pleasant experience and even though I aren’t impressed by MongoDB, the gopspatial search is pretty darn awesome. During the next couple of weeks, we implemented a bunch of features like the possibility to find startup related events in your area. We are still adding new features to the site and firmly believe that StartupHQ will have the potential to be a great platform for IT startups and entrepreneurs.

Those are pretty much all of the new projects of 2011. Aside from these, I have also been working on some of my pre-existing sites and projects. The ones worth mentioning are listed below.

This is pretty much my first web-system implemented using ASP.NET MVC. myrating.dk is a Danish rating site, where users can rate anything from movies to restaurants. I haven’t worked on the site much this year, aside from a new front page and login using Facebook Connect. I could probably implement a lot of new features on myrating.dk, but I’ve been putting too many hours into other projects, aside from my family, to have much time for work lately. Overall, I’m satisfied with the page views on myrating.dk and even though I don’t make a lot of money on it, it’s more than enough to pay for the hosting.

I started implementing hippovalidator.com last year. hippovalidator.com is a website validation system, which can validate a website for different items like markup, performance, spelling and much more. I created the basic features last year, but paused the project to work on a Danish buy/sell site. I had to totally hold off on this idea when starting working at eBay because my project would have been a competitor to another large site that eBay owns called dba.dk. I decided that my design skills weren’t good enough to go live with hippovalidator.com, so I decided to hire a designer to do the graphics. I got in contact with a very talented designer through my work on the buy/sell site and she agreed to design ppovalidator.com as well. The design is pretty almost compete and I’m hoping to get a Version 1 of hippovalidator.com started next year.

When scrolling through this list, I am astonished. I’m impressed with the amount of work I’ve done this year. So what’s up for next year? First, I would like to be able to focus on fewer projects. I’ve been coding multiple projects this year and would like to build a new kick-ass project. hippovalidator.com is one of my key focuses and I would like to be able to release an initial free version in the beginning of 2012. Second, doing both NuGetFeed.org and startuphq.dk in cooperation with others, has taught me that coding with someone else is so much more fun and makes my work more productive. Collaboration makes the final outcomes even better and allows me to focus more easily.

Thanks for sticking around to hear about all of my experiences. Have a great and productive year, folks!