Up until a couple of years ago, I was an active photographer. I have done everything from fashion, modelling and wedding photography to concerts, shows and events. I carried my camera pretty much everywhere and have taken tens of thousands of shots in my lifetime. But then I kind of lost interest. I don't really know why, maybe it was because I found a new hobby (model airplanes), maybe it was because I got busy with other stuff. But photography slowly drifted into the background and my beloved EOS 10D sat in the corner of my office, gathering dust.

IMG 6182

This wonderful hobby had a brief-ish revival when I got an EOS 450D with a kit lens (it was kind of a present, and who can say no when practically given a camera?). I played around with it and enjoyed things like the speed, the impressive high-iso noise performance (remember, I came from a 7-8 year old EOS 10D) and the huge display. But again, I didn't really find the inspiration or drive in photography that I used to have. 

Now fast forward to a couple of months ago. I was unfortunate enough to have my entire camera bag stolen from my flat. The thieves made off with my camera, a laptop, my video camera and a few other items. Now, I suddenly saw an opportunity. The idea of trying to take up photography had crossed my mind a few times in the past few months, but now I didn't have any equipment.

After my insurance company cashed out for my lost camera gear, I set off to a local annual photography fair. I already had an idea about what sort of kit I wanted, but came over with an open mind. I ended up overspending a bit, but I must say I'm really pleased with this new kit. 

I bought an EOS 7D housing with a couple of higher-end lenses to go with it. My primary walkaround lens is a 17-55mm f/2.8 IS USM and besides that I also got a "nifty fifty" f/1.4. My little brother is the awesome owner (awesome because he lets me borrow it!) of a 70-200mm f/2.8L IS USM lens which also borrows a corner of my new kit bag. 

After taking a few thousand shots with this camera during the past 2 months, I must say it has grown on me. The autofocus system (once you get the hang of it) is absolutely amazing. The build quality of this camera reminds me of my beloved 10D, and the fact that all controls, buttons and knobs are user-customizable means I can tweak this camera to work exactly the way I want it to. 

So all in all, if you follow me on Flickr or are friends with me on Facebook, you'll probably start seeing a lot more images coming from me. 




I've been invited to participate as a blogger at the GOTO Conference in Aarhus this October. Yay, that means more activity on this blog in the coming weeks/months!

Since I will be there "as a blogger", my main task will of course be to blog about the conference and about topics I find interesting or controversial. 

When attending conferences like this, one can chose to attend talks that are completely related to one's day-to-day work, or one can chose to attend talks that are a long way out of one's comfort zone. I haven't yet decided exactly which conference strategy I will be going for, but one thing is for sure: I'm definitely going for the chance to hang out (maybe have a beer?) with brilliant minds; to become inspired; to become wiser.

Stay tuned for more, I'll be writing another post or two before the conference, as soon the programme is finalized and I know more about which sessions I'm going to attend.

Feel free to check out the awesome speakers list on the website linked above and if you aren't going yourself but have a question you want answered, maybe I can be your proxy. Use the comments field below or send me an email (or Twitter) and I'll see what I can do.



All good things, as they say, come to an end. This unfortunately also includes my free SVN hosting service, svn.graffen.dk, that has been running almost non-stop since some time in 2006.

I started svn.graffen.dk as a free hosting service, mostly because no others really existed at the time, and I needed a place to host my own private repositories. It was one of the first services I put online and has by far been the most popular (with more than 1000 registered users, of which about 300 have used it within the past 3 months).

But running a server costs money, bandwidth and time and since I myself have moved on to use other version control systems and haven't used my own service for quite some time, I have decided that it is time to put it to rest. I simply don't have the time or resources to keep it alive any more. 

So that's it. I'll be shutting down the server in about a week's time (end of next week) so if you have anything important on there, please make sure you get it off and put it somewhere else. I can recommend switching to some of the other awesome free services out there, like BitBucket or GitHub. SubVersion is an inferior VCS nowadays anyway ;-)

I'd like to thank you all for using my service - it's been fun watching something I built for fun actually be used by quite a number of people.

So long and thanks for all the fish!



I experienced probably one of the worst things a geek can ever experience last week - my phone got stolen. Here’s the story about what happened.

Every year, I visit Danmarks Smukkeste Festival (Denmark’s most Beautiful Festival) in Skanderborg - the second largest music festival in Denmark. We spend the entire week playing bartenders in one of the many bars around the festival area. Anyway, Friday after work (my shift ended at 7PM) I ended up going out to have a few beers with some of my friends and colleagues from the bar. By the time I finally got to bed it was probably around 6AM.

I woke up again at about 10AM on Saturday because the tent was too hot to sleep in. I didn’t think to look for my phone then because I always just had it lying next to my pillow, so I went out to get some breakfast. Later on I decided it was time to take a nap, seeing as I had to work that evening so I didn’t want to be too tired. I thought I’d just set the alarm on my phone to wake me up after a couple of hours. But my phone wasn’t next to my pillow! In fact I couldn’t seem to find it anywhere in my tent. A few minutes of searching passed when I remembered that I had my iPad in my bag - and that I had installed the Find my Phone app. I would just check if I maybe left my phone in our bar the previous evening and just forgotten about it.

I fired up the Find my Phone app and after a few seconds I had a map showing the location of my phone. It took me a little while before I realised that what I was seeing on the map was nowhere near neither the camp site nor the festival grounds. My phone was about 30KM away, in an area of Aarhus called Brabrand. After gathering my thoughts for a few minutes, trying to replay my steps from the previous night, I decided I’d better notify the police about my missing phone, so that I could at least get the insurance money. I walked up to the festival grounds, iPad in hand, and found the police. I told them that my phone had been stolen and that I knew where it was, but that I would like to file the incident for insurance purposes. On seeing my iPad screen with a neat satellite image of the area where my phone was located, I must have triggered something in the police officer. We could see on the satellite image that the phone must have been lying in a car on the parking lot. She talked us in to driving to Aarhus, finding the parking lot and then calling the Aarhus Police Dept. to get them to come out and help us. So we did.

I gathered a few friends to come along for the ride and we found the right parking lot. After looking at all the parked cars we found one that looked like it had been through the same kind of mud that our own car had (it had been raining heavily at the festival so the fields we used for parking were quite muddy). The police agreed to send a patrol car and sure enough, after about 15 minutes two police officers showed up. I told them the story and showed them the map and satellite image on my iPad, quite obviously telling us that we were quite close to my phone. Every now and then I would make my phone ring using the application (the phone would then ring, regardless of whether or not it was muted or turned down) while we walked from car to car, trying to listen through the windows for any sounds. Unfortunately we didn’t hear anything out of the ordinary. One of the police officers gave me his business card and told me that if my phone started moving, I should give him a ring since it would be easier to track a moving vehicle than a stationary one. I agreed, and we drove back to the festival grounds.

I showed up for my shift in the bar at 7PM - luckily for me I was to be in charge that night, so I would be getting lots and lots of time in the office sorting paperwork and counting money - all the while being able to check up on my phone every now and then. When I did so later on I noticed that it had moved! My heart jumped a beat and I quickly grabbed the phone I had borrowed and called the officer from earlier. I told him exactly where the phone was located now and he told me to hold on. I could hear the radio chatter going on and after a few minutes he gave me a phone number to call.

The number was to one of his colleagues who was on patrol in the same area. So I hung up and dialled the new number. The phone was answered by a female officer to whom I explained the situation. She asked for a detailed description of where my phone was (I could see that it was next to a market place called Bazar Vest, and that the phone was in the parking lot, in the first row of cars, right next to the main building). She let me know that they were headed there and told me to keep an eye out for any movement. After a few minutes she told me that they were there and about to turn the corner. I told her again that I could see my phone’s location as being at the end of the first row of parking spaces, right next to the main building. She told me that they could see a small group of people standing in that spot and that they would go and talk to them. I heard their car door open and close and she told me that her colleague had asked the people there to empty their pockets. Next, she asked me to make my phone ring again. I nervously pushed the button on my iPad and after what seemed like ages (it was really only a few seconds) she said (with a surprised voice) “We have your phone!”

I couldn’t believe it. The officer let me know that she would call me back a little later, as they now had some “business” to attend to. Later that evening when she did call me back, we agreed that she should just take the phone with her to Aarhus and I would pick it up there the next day. So a little over 24 hours after I realised my phone was gone, I was reunited with it. That’ll teach those crooks to mess with geeks like me!


For us .NET/Visual Studio developers, NuGet is definitely the best thing since sliced bread (okay, maybe not, but it sure is great!). If you don’t yet know what NuGet is, it’s basically a package- and dependency manager for Visual Studio and .NET. And if you haven’t started using it yet, you’re doing something wrong Winking smile

One thing that kind of always bothered me about dependencies is that it’s always been best-practice to have all your libraries checked in to SCM along with your solution. Typically by dumping them in a \Libs folder and referencing them from there.

But source control systems are generally not very optimized for handling binary files, and the size of your repository (and thereby performance) is negatively impacted by dragging around all these DLL files.

With NuGet this is a thing of the past! Using the command line NuGet.exe tool, you can point it at a local config file that tells it which packages to download for you (those of you who already use NuGet are probably already familiar with the packages.config file that lives under each project in your solution).

The only executable file I now have as part of my solution is the latest-and-greatest NuGet.exe which I place in a Tools folder in the root of my solution.

So, to get all this set up in your project, your first step is to create a Tools folder at the solution level of your project. Next, go ahead and grab the latest NuGet.exe from here and put it in your newly created folder.

Now, to each of the projects in your solution, add the following pre-build command:

$(SolutionDir)Tools\Nuget.exe install $(ProjectDir)packages.config -o $(SolutionDir)Packages

Also make sure that the \Packages folder is ignored by yout SCM system of choice (mine is Mercurial) in the same way that you always ignore the Bin and Obj folders.

To test, just delete the \Packages folder from your solution directory and try to do a build. NuGet should now automatically download all the dependencies you have and place them back in \Packages. It takes a little while to run the first time, so don’t panic if nothing happens for a few seconds. If it works and the build succeeds, go ahead and commit everything to source control. You can now continue working without the burden of large unsightly DLLs littering your source repository.