Thanks to Clifford, the videos from the Linuxwochenende are available now. Here’s the direct link to my german puppet talk.
Archive for the ‘Open Source’ Category
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.
Minor note on ‘dd’ write performance
11:12 PMToday 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
Virtual ethernet cable with OpenVPN
01:30 PMBecause 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
Windows 7 OpenVPN
05:21 PMSuccessstory: OpenVPN Build 2.1_rc19, released on 16.07.2009, successfully installed on Windows 7 x64!
Puppet Module Repository Beta
03:08 PMXCache
09:46 AMInstalled XCache a few days ago. Traded 64MB RAM for instant PHP speed goodness. Sometimes you can have your cake AND eat it.
subst and TortoiseSVN/TortoiseGIT status caches
12:12 PMTortoiseSVN 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:\”.
What is puppet?
03:15 PMPuppet is an application to automate the configuration of UNIX systems. The puppet master defines the intended system state (packages, files, services, etc) on a central server. On the managed installations an agent regularly fetches the manifest and applies it to the system. The agent sends information (like hostname or IP address) from the system to the server. This can be used to parametrise the configuration.