Thanks to Clifford, the videos from the Linuxwochenende are available now. Here’s the direct link to my german puppet talk.
Archive for 09:40 AM
Puppet Talk @ Linux Weekend 2009
02:56 PMOn Saturday the 24th, I’ll be holding a short talk about puppet at the Linuxwochenende (Linux-Weekend) in the Metalab, a hackerspace in Vienna, Austria. I’m looking forward to spreading “the message”
.
Android development FAIL
04:25 PMAfter 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.
Floating point adventures
12:27 PMUsing == 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.