04:25 PM
After installing the Android 1.5r3 SDK and Eclipse 3.4 with the matching ADT plugin, I soon encountered this error message:
[2009-10-16 15:02:09 - ddms]Failed to reopen debug port for Selected Client to: 8700
[2009-10-16 15:02:09 - ddms]Address family not supported by protocol family: bind
java.net.SocketException: Address family not supported by protocol family: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at com.android.ddmlib.MonitorThread.reopenDebugSelectedPort(Unknown Source)
at com.android.ddmlib.MonitorThread.run(Unknown Source)
[2009-10-16 16:29:40 - ddms]Can't bind to local 8600 for debugger
[2009-10-16 16:30:14 - ddms]Can't bind to local 8601 for debugger
[2009-10-16 16:30:14 - ddms]Can't bind to local 8602 for debugger
[2009-10-16 16:30:15 - ddms]Can't bind to local 8603 for debugger
[2009-10-16 16:30:25 - ddms]Can't bind to local 8602 for debugger
[2009-10-16 16:30:25 - ddms]Can't bind to local 8606 for debugger
[2009-10-16 16:30:25 - ddms]Can't bind to local 8607 for debugger
[2009-10-16 16:30:25 - ddms]Can't bind to local 8610 for debugger
As it turns out, the debugger tries to connect to “localhost” which is resolved by Windows Vista via the Windows\System32\drivers\etc\hosts file, which contains the IPV6 address “::1″. Since Android’s IPv6 support is still under development, none of the development tools can cope with it, resulting in above error messages.
Substituting the IPv4 127.0.0.1 as localhost address made it work fine.
Posted in Android, CodeProject, Open Source, Tech | No Comments »
12:27 PM
Using == to compare floats and doubles is not only problematic when dealing with numerical precision, but also when dealing with NaNs: In C#, the equals-operator returns false when comparing NaNs. If NaNs shall compare equal (e.g. when suppressing PropertyChanged events, as I’m doing), use Double.CompareTo(double). The IComparable<> interface requires that A.CompareTo(A) always returns zero and therefore does correctly (for this case) work with NaNs and +/- infinity.
Posted in CodeProject, Tech | No Comments »
11:12 PM
Today I was cleaning out some old logical volumes. Since they resided on rented harddisks, I chose to overwrite them with zeroes to avoid leaving data tracks on someone else’s disks. The first thing that came to my mind was this:
dd if=/dev/zero of=/dev/vg/lv
Read the rest of this entry »
Posted in Benchmarking, CodeProject, Open Source, Tech | No Comments »
01:30 PM
Because it was so easy, here a little HOWTO describing the simplest OpenVPN setup: connect two servers with a virtual, encrypted ethernet cable:
/etc/openvpn/cable.conf:
local [IP1]
remote [IP2]
port 1194
proto udp
dev tap
secret cable.key
keepalive 10 120
comp-lzo
persist-key
persist-tun
status cable-status.log
verb 5
# openvpn –genkey –secret /etc/openvpn/cable.key
# /etc/init.d/openvpn start cable
Posted in Open Source, Tech | No Comments »
05:44 PM
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
If you need to create a ODBC Datasource for 32 Bit Applications under Windows 7 x64 you have to use C:\Windows\SysWOW64\odbcad32.exe. More info can be found in this tutorial.
Posted in Tech, Win32 | No Comments »
05:21 PM
Successstory: OpenVPN Build 2.1_rc19, released on 16.07.2009, successfully installed on Windows 7 x64!
Posted in Open Source, Tech, Win32 | No Comments »
04:36 PM
This error has cost me almost two days to debug:

Its only symptoms where spurious but widespread changes to a single property. While this is “obviously” human error, these “easy” points would have mitigated the damage done:
- strict type checking: the expression is of type
string and not of type bool, the C# compiler would have known the difference and issued an error
- in-band evaluation: The expression didn’t trigger breakpoints within the MethodName property. This would have pinpointed the cause of the data change immediately
- constant vigilance!
Posted in Microsoft, Tech | 2 Comments »
03:08 PM
Finally! Luke and I took out a minute and hashed up a scheme to get the ball rolling on a central one-stop-shop for puppet modules.
Let me quote the pertinent part from Luke’s mail:
Read the rest of this entry »
Posted in Open Source, Puppet, Tech | No Comments »
09:46 AM
Installed XCache a few days ago. Traded 64MB RAM for instant PHP speed goodness. Sometimes you can have your cake AND eat it.
Posted in Benchmarking, Open Source, Tech | 2 Comments »
12:12 PM
TortoiseSVN and TortoiseGit use the TSVNCache.exe to collect all update notifications and update the status overlay icons in one place. This provides real-time updates and improves latency when showing folders in the explorer.
On the downside, TSVNCache is easily confused by subst.exe since it’ll receive updates only for one of the locations. The TortoiseGIT documentation provides this work-around:
[...] exclude the original path from showing overlays, so that the overlays show up on the subst path instead.
We use subst to have a default “project drive” located at P:, therefore I disabled updates for all drive types and only set the “Included Paths” option to “P:\”.
Posted in Open Source, Tech | No Comments »