Thoughts are free, who can guess them?
They flee by like nocturnal shadows.
No man can know them, no hunter can shoot them,
with powder and lead: Thoughts are free!
About www.weisserth.net
Tobias Weisserth
Hamburg, Germany
photographer & independent gearhead

Tracking down your stolen camera? Not impossible!

Posted by polarapfel on Fri, 13 May 2011 16:51

Not discussing the recently uncovered privacy issues with Apple’s mobile phones, one impressive feature of an iPhone is that if you’re a MobileMe user, you can use the MobileMe service to track down your stolen iPhone using the GPS and connectivity integrated in the iPhone. If only something like this existed for cameras. I have never lost a camera to theft or otherwise – yet. Nevertheless, I stumbled across a new service online that may help you retrieve your lost camera – given someone else is bold enough to use it and post pictures taken with it on the Internet.

Java Pattern: try things repeatedly until reaching a timeout

Posted by polarapfel on Thu, 26 Aug 2010 06:59

Nondeterministic tests are a common problem in test setups, especially with integration tests. For example, imagine you are doing an integration test of two components that exchange messages where receiving a message in one of the systems changes its internal state which you want to verify. However, the message exchange can be delayed due to external factors (network latency, load etc.). When running tests (for example using the excellent Cucumber framework), testing steps are usually run sequentially. It may happen that the tested system is lagging behind the testing steps, failing your test in some (but not all) cases. You need to make your tests more tolerant for these situations. Often, that means retrying for a couple of times.

Java, arrays, autoboxing and Arrays.asList

Posted by polarapfel on Thu, 06 May 2010 16:54

Yesterday, I had some fun with Java again. Since Java 1.5 it has become so natural to mix primitive datatypes with their object based counter parts as Java boxes and unboxes expressions as necessary without the need to make any explicit casts – or so I thought.

Using the MySQL encrypt function in Ruby

Posted by polarapfel on Sun, 14 Feb 2010 17:48

If you’re dealing with a legacy MySQL database schema where your users’ passwords are encrypted using MySQL’s encrypt function within your schema and you want to create new records like that using Ruby rather than calling the MySQL function, you can easily do that with Ruby. Ruby supplies a crypt function that does just what the MySQL encrypt function provides. Both implementations use the UNIX C function crypt(3) so you can replace the use of one with another.