List of Bird Species from Trip up to Rewa Head

Last year I traveled up to the Rewa River Head in Guyana. On the month long journey I was able to identify the following 104 bird species with the help of our guides:

Continue reading “List of Bird Species from Trip up to Rewa Head”

Power off your SONOS Bridge

If you want to be able to turn off the power of your SONOS components without any hiccups when turning them back on later (e.g. prevent multiple use of the same IP in your local network), it seems advisable to reserve their IP addresses on your router. This is important especially in the case of the Bridge.

For my ZyXEL router this setting can be found under Network -> LAN -> Client List and would look like the following:

DHCP Client Table

# Status Host Name IP Address MAC Address Reserve Modify
1 PC1 aa:bb:cc:dd:ee:ff
2 NOTEBOOK aa:bb:cc:dd:ee:ff
3 SonosZB aa:bb:cc:dd:ee:ff
4 SonosZP aa:bb:cc:dd:ee:ff
5 aa:bb:cc:dd:ee:ff
6 aa:bb:cc:dd:ee:ff
7 aa:bb:cc:dd:ee:ff


An easy way to get the MAC addresses of all the SONOS devices is to open Windows Explorer -> Network -> Media Devices and then rightclick or doubleclick on each device icon and choose properties. The MAC address is listed under Troubleshooting Information.

CSS trick: Setting background color of a selected HTML option element

Update 02.02.2018: As noted by Tom this now only works when the attribute multiple is set.

Have you ever wanted to set the background color of a selected OPTION element of a drop down ? Unfortunately, setting the CSS background-color property does not work for (most/all?) browsers, but there is a workaround using the background-image property instead:

option:checked, option:hover {
    color: white;
    background: #488f8f repeat url("data:image/gif;base64,R0lGO...");

If you are interested in highlighting when hovering with the mouse only, then setting the background-color property is enough, e.g:

option:hover {
  background-color: #488f8f; 

You can convert your image to a data url online on Data Url Maker.

Comparison of Nikon 300mm and 600mm with Teleconverter TC-14

I’ve always been skeptical when it came to teleconverters. The few times I used one I wasn’t really happy with the results, until now.

Buzzard in flight
Buzzard (Buteo buteo) flying away from a carcass (Nikon D800, 600mm/f4, 1/1600s at f5, ISO 2000). Downsampled from 4254×2836 pixels.

Continue reading “Comparison of Nikon 300mm and 600mm with Teleconverter TC-14”

Birds in Flight with the Nikon D800

Update 20.02.2014: The article is also available on Nikon Rumors now.

I just published an article on about Birds in Flight with the Nikon D800.

How to create exif statistics for your photos

If you have Adobe Bridge, you can display statistics such as how many times you used a certain focal length or which ISO speeds you use the most.

Adobe Bridge Screenshot
Screenshot of the Filter Panel in Adobe Bridge

But what if you wanted to use this information in another application or post it on your blog? Unfortunately, Bridge doesn’t let you export that information (or at least I couldn’t figure out how), and not everyone can afford Photoshop with Bridge anyway.

ExifTool to the rescue

Don’t worry there are free tools to achieve the same or even better:

ExifTool by Phil Harvey is the most powerful tool to read, edit and write any metadata of your photos. It can extract even more information from your exif data than Adobe Bridge itself, especially for proprietary RAW formats such as Nikon’s NEF.

Together with the Exif Stats Utility it allows you to extract any technical information stored in your photos you can think of, e.g. which lens or exposure time you used the most.

Continue reading “How to create exif statistics for your photos”

dGraph: a layered directed graph libray for the web

If you ever needed to visualize hierarchical data with JavaScript in the browser, the library dGraph will help you out. It will draw a layered directed graph as SVG based on the Sugiyama algorithm. Checkout dGraph from GitHub.

Quick tip: How to document a dojo AMD module for JSDoc 3

Unfortunately, JSDoc 3 does not fully support documenting AMD style modules that return a declare function, e.g.:

define(['dojo/_base/declare'], function(declare) {
    return declare([], {

But with a bit of verbosity each module and the class will be properly documented:

Continue reading “Quick tip: How to document a dojo AMD module for JSDoc 3”

How to Generate JavaScript Documentation with JSDoc 3 and PhpStorm

This guide is outdated. I wrote the new tutorial Use JSDoc 3 and PhpStorm to generate JavaScript documentation

This is an update to my previous article How to create JavaScript documentation in PhpStorm, since the JsDoc Toolkit is no longer under active development. It got replaced by JSDoc 3, with better support for current coding practices, particularly the CommonJS Modules standard and also its improved format, Asynchronous Module Definition (AMD).

This guide should not only work for Jetbrains’ PhpStorm, but any IDE, such as Eclipse or Aptana, that lets you call an external tool with parameters. It is written for Windows 7, but should also work for Mac/Unix users with minor modifications. It assumes you have installed Java Runtime JRE 1.7 and added it to the Window system path.

Continue reading “How to Generate JavaScript Documentation with JSDoc 3 and PhpStorm”

Weight comparison of super-telephoto lenses

I got invited by Nasim Mansurov from to write the guest post Canon vs Nikon Telephoto Lenses.

The guest post is based on charts that compare the weight of Canon and Nikon Telephoto Lenses.