October 2008

I love this song, but I hate that damn pause after the first “I’m a seeker\I’m a really desperate man”. Every time I hear it (and I’ve heard the song dozens of times), I expect to hear… well, something! But no, there’s this awkward, pregnant pause and then nothing. Argh.

Here’s a version of “The Seeker” performed on someold  German TV show:


Two weeks ago I ordered some Nikon-compatible, third-party lens extension tubes. Damn, these things took forever to get here. I just got the beat-up package in the mail yesterday. Of course, they were being shipped from Hong Kong (bought through eBay, 10$ for the tubes and shipping), but I still reserve the right to complain.

I tried to use these yesterday and was woefully disappointed to find that although they fit perfectly well between the camera and my Nikkor 50mm 1.4f lens, my D80 just wouldn’t take a picture. I’d push the shutter-release button and… nothing would happen. I went to bed soon after, tired and mildly irritated.

Today, I actually figured out that to get the D80 to take a photo with these tubes, you need to set the camera to full-manual mode (designated by M). Silly me. So, today I actually got to take some of those macro photos. Considering that I didn’t really have a good subject, they still turned out not-sucky. I’ve uploaded a few images here.

Here’s some photos of the tubes and what they do. Keep in mind that there are actually three tubes of increasing sizes, but in the photos below I have them all hooked up together, to maximize the effect.

This is the lens I am currently using.

This is the lens with the tubes attached.

These are the tubes themselves. Notice that they’re empty – they have no optical elements – their whole purpose is to move the lens away from the focal plane.

A note on using cheap extension tubes

If you go the eBay route and buy extension tubes for 4$, understand what you are getting. These tubes will not allow you to control your lens from the camera, it will become a fully-manual lens. This means that the focus and aperture will have to be set manually. Also, metering will probably be disabled. I understand that the higher-range Nikon’s can meter even when using these tubes, but my D80 cannot.

In my case, I’ve had some difficulty with a completely manual lens and camera, but it’s not a big deal. The main reason for that is that the lens I am using was originally (1986?) designed to be completely manual, so it has the focus and aperture controls on it.

The lens I used to take these photos (18-200mm VR), however, is a more recent lens that only offers CPU-controlled aperture control. The downside of this is that when the lens is not connected to a camera, it “defaults” to its smallest aperture. What this means is that if I want to use the VR lens, I have to look at a scene through a tiny hole, making it harder to focus (the dimmer the image, the harder it is to tell when parts are in focus or not). With my 50mm lens, I set the aperture to a whopping 1.4f, focus on the subject, downshift to 16f and take the photo (for greater depth of field).

The upside of the whole thing is that I can spend 10$ on these tubes and have the option of macro photography. I could have gone all the way with the “official” solution from Nikon, but theirs isn’t perfect either: the rings Nikon sells do not support auto-focus (and that’s at their extortionist prices). Kenko sells rings that do support auto-focus, but they’re still expensive, costing 170$ for the same increase in focal distance. I’m not moving to 100% macro photography (and if I was, I’d just get a dedicated macro lens), so the 10$ solution is fine with me.

Well, it’s almost fine with me. I’m thinking of trying out this reversing ring. It basically allows me to flip the lens and attach it “backwards”. We’ll see how that goes. It’s also around 10$ on eBay.

Of course, at some point (read: when I can afford to), I’ll probably just get a dedicated macro lens and call it a day. But, until then, here’s to cheap experimenting.

What have I been up to lately? Not much, actually. I bummed around Seattle for a few days over the past couple of weeks, taking in the sights, playing tourist and of course taking photos. Then I spent some time driving to and from Rainier. And taking photos. Then, every Friday, I got together with some coworkers and we had cheese, beer, wine, played some Rockband. And I took some more photos (to the annoyance of a few and indifference of some).

You get the drift, right? Photography interests me.

So, I’ve been trying to combine a few of my passions lately. I tried combining beer and photography already (those Friday cheese-athons). That works great. Then, I tried combining photography and programming. That didn’t work out so well.

See, I use a Nikon D80. It’s a great camera, but for all its greatness, it is plagued by the fact that its manufacturer can be a real dick at times. Nikon, aside from overcharging for simple things like AC adapters and viewfinder accessories, goes out of their way to make a software-developer’s life complicated. They don’t provide an SDK* with their cameras and charge extortionist rates (does that surprise anyone?) for their tethering software. (For the uninitiated, tethering software allows the camera to be controlled from the computer using a USB cable.)

*There is an SDK, but Nikon is, from anecdotal evidence on the InterWeb, very picky about who they give the SDK to. I decided to skip that whole process, just to avoid the hassle of filling out pages of forms and waiting eagerly for a rejection letter.

I tried Nikon’s tethering software (they offer a 30-day trial) and couldn’t see a single reason for spending 160$ on the damn thing. Some people might be willing to do that, sure, if they have a burning desire to never again touch their camera, but it’s not for me. So, I started trying to figure out if there was a way to control the camera in some other way.

That was about 3 weeks ago.

Last week I finished putting the final touches on a sample application that can be used to automate time-lapse photography with virtually any camera. I say virtually because the code uses Windows Image Acquisition, so if Windows (XP or Vista, I don’t know about others) can recognize your camera, you can use this code to take photos with your camera.

And today I finally got around to uploading the files to MSN Spaces (supporting the company, of course).

The rest of the more technical mumbo-jumbo after the jump.


When it comes to my computer setup, I can be a bit anal. I like things in a particular order, so I prefer to have the first program on my taskbar to be Outlook, then Calendar, then whatever. That’s on my e-mail box. On my development box, I prefer to have a build command prompt first, then a deployment command prompt, then Visual Studio…

You see where I’m going with this. For a while, I was frustrated by Windows because it doesn’t natively offer any options of program placement on the taskbar. Then I discovered Taskbar Shuffle, a wonderful application that allows me to drag those applications around as much as I want.

Life was good.

Until our team required that all development be done on 64-bit machines. So, had to move to x64 for my dev work (though my e-mail was still x86). And here I hit a snag. Taskbar Shuffle doesn’t work on x64. Nevermind the reasons, as (IMO) it’s just software, not drivers or anything (and even that is idiotic…) The app just wouldn’t work. So I was once again frustrated.

And then, just ten minutes ago, I stumbled onto yet another gold-mine: Taskix. Perhaps not as pretty as Taskbar Shuffle, it still has the upper hand: it works with 64-bit OS’s. Joy to the world. It doesn’t need to be installed, just unpack the zip and run the exe file.


PS: It is indeed sad that the only thing I could come up with to blog about in these past few weeks is a tiny nerd application, seeing how there are a number of more interesting things in my life, like my sister living in Japan.