Welcome to daveb.netWriting free software has been a hobby of mine since 2001 or so, when I released my first tarball for general consumption. protobuf-perlxs - A Perl/XS interface to Google's Protocol BuffersIn July 2008, Google open sourced its internally developed data serialization framework, Protocol Buffers. I found it appealing enough to write a Perl/XS code generator, which makes it possible to share structured data efficiently between programs written in Perl, C++, Java, Python, and the many other languages for which a code generator has been written. The Perl/XS code generator is hosted at Google Code in the protobuf-perlxs project. There is also a Google discussion group. garmintools - A Linux interface for the Garmin Forerunner and Edge GPS unitsMy wife gave me a Garmin Forerunner 305 for Christmas in 2006, and I wrote this code shortly afterward so I could download and save data from that particular GPS unit to my Linux machine. I tried gpsbabel, but found that it did not have command line options specific to the Forerunner run and lap data - all I could do was get the tracklog. That's how all of this got started. I also wanted a few other things, like the ability to convert a track log into a Google maps encoded polyline, and (eventually) the ability to generate PNG images of heart rate and elevation data. Here is an example of a Forerunner 305 track log, extracted with garmintools and overlaid on Google Maps. s710 - A Linux interface for some Polar heart rate monitorsI originally wrote this software in 2002 to get my Polar S710 heart rate monitor to play nice with Linux. Eventually, Polar came out with the S720i, which I bought, and the more recent S625x and S725x, which I haven't bought, along with a slew of other models with which I have absolutely no experience. The s710 software has fairly complete support for the S710/S720i/S810 and S610 watches, and is being extended to support the newer S625x/S725x. bsdproxy - A kevent-driven TCP proxy for FreeBSDIn the fall of 2001, I learned of a new pair of system calls (kqueue and kevent) in FreeBSD, which were designed as more scalable ways to provide event notification. I wanted to write a program with a kevent-based event loop, just for fun. That is the reason I wrote bsdproxy. The program itself is nothing more than a transparent TCP proxy which sits between the two ends of a connection and forwards data back and forth without modifying it. However, it could conceivably be of use in some situations (see the README for details). This project has been released on Freshmeat [ project page ], and someone was kind enough to create a FreeBSD port for bsdproxy at FreshPorts [ port page ]. Race reportsAnother (non-software) thing I've gotten into for the sake of posterity is the occasional writing of race reports. I started this in 1996 at the US Olympic Trials for track cycling and I've been doing it off and on ever since. My race reports are here. |
| © 1999-2009 by Dave Bailey |