Welcome to my little corner of the web. I've put this page here primarily as a starting point for people who are interested in learning more about things I've done, and also to some extent for people who might want to know who I am. I have sometimes been curious about someone whose work I see, and since I'm involved in a number of open source software activities and am easy to find (thanks to my unusual name), I decided to create this page. Maybe you saw this URL somewhere, heard a presentation I gave, met me somewhere, or ran into something I've done out in the world of open source software. Maybe you just stumbled across this page by chance. Either way, here it is.
All that said, I find that updating my web page falls quite low on my priority list. Therefore, I have mainly written about things that are relatively persistent aspects of my identity rather than focusing on transient things as I may have done in the past. I try to update this page when some major event happens that causes some of this information to be out of date. Since there is no guarantee that you are reading this page shortly after I have written it, you can't necessarily assume that these changes are recent, but hopefully the information here is at least broadly accurate.
I am a person of the male variety who was born in 1969 in the USA, and have lived in the Washington, DC area most of my life. I am married with twins: a boy and a girl. If you're really interested, see the Berkenbabies website.
By profession, I am a software engineer. Although I no longer spend the majority of my time coding, I have, over the years, found myself focusing primarily on tools development, and I still write code in that area. I also write some code in my spare time, and I consider the creation of good software to be both a vocation and an avocation. It is something that is a core part of who I am, and I consider myself very fortunate to be able to spend my days getting paid to do what I like to do. I am also a musician and have other interests that fall completely outside the world of technology.
I presented a paper on a specific approach for incorporating a form of software test coverage into an automated test suite. You can read the paper if you are interested.
The world of software and technology occupies a slice of my non-work life as well. I am a light participant in various open source software projects, and I volunteer as a developer for the Debian GNU/Linux operating system distribution where I maintain a small handful of packages.
One of my open source projects, QPDF, is a collection of command-line PDF tools that can be used to linearize (web-optimize), encrypt, and decrypt PDF files. It can also be used to inspect the innards of a PDF file, to transform it between having compressed object streams or not, and various other more advanced uses. The casual user who occasionally wants to create a web-optimized PDF or add or change password protection on a PDF file may find these useful. Developers who are generating or trying to understand PDF files will also likely find it to be very helpful. You can download QPDF from http://qpdf.sourceforge.net/. If you are a Debian user, you can also install the debian qpdf package from your debian system.
I have always enjoyed development software tools, particularly in the areas of build, test, and configuration management. I have two such tools that I have made into open source projects. Both are hosted at SourceForge and also have their own websites.
One of these tools is my automated test framework, QTest. QTest first appeared as part of BCS, the Baseline Configuration System, which I posted to comp.sources.unix back in 1994 or so. Although BCS is no longer useful and I have long ago stopped supporting it, the test framework I developed for it continues to be used today, and I have made may improvements to it. The coverage system in the paper I sited above is fully integrated with QTest.
In addition, I have a build system called abuild into which I have put a substantial amount of work. This is an object-oriented build system of sorts, and it addresses somewhat of a niche in the build space, but I won't go into details here. If you want to know about it, check out www.abuild.org. At this point, I don't expect to do any further work on abuild, but I'm looking for opportunities to apply some of what abuild does well to other environments, particularly in the Java space where abuild is not as strong.
I have a few additional small open source projects, and I have also given some presentations at the Northern Virginia Linux Users Group.
Another passion of mine is music. I play in the City of Fairfax Band and also help out with a lot of the behind the scenes work, having served on the board of directors and helped out with various other administrative duties for several years. My strongest musical interests are in what we somewhat inaccurately refer to as “classical music.” My musical taste tends toward more modern works (from the late 19th century to the present), but I can appreciate the entire genre as well. I am a very active classical music listener and enthusiast and have a decent formal musical education as well. These days, I've become a fan of Q2, a station based on New York city that focuses primarily on music of living composers. I love listening to music because it is a “whole-brained experience.” I love to listen from an emotional perspective as well as from an intellectual angle. For me, these two aspects compliment each other, and each aspect allows me to appreciate the other more. I definitely do not subscribe to the philosophy that talking about music or analyzing it takes away the magic. For me, it enhances the magic. I heard someone say once that talking about music is like dancing about architecture. My response to that is, “What's wrong with dancing about architecture?” I also enjoy listening to jazz from time to time, but I know very little about it. Maybe I'll study it more sometime, but for now, that's one type of music I can just enjoy without really taking it apart.
I have a variety of other interests, some mainstream and some less so. I have always been a big fan of puzzles of various types but especially mathematical or logic puzzles. I enjoy recreational mathematics and the study of mathematics for its own sake. I also enjoy tactile manipulation puzzles like Rubik's cube, even in higher dimensions. I have played a minor role in the maintenance of a four-dimensional magic cube analog and was the second person known to solve this puzzle. I also enjoy playing first-person Myst-style adventure games on the computer, though I don't have much time to play them that often. I'm always up for a good game of Boggle or Scrabble as well.
Also, I guess it's worth pointing out that no one has ever accused me of being a man of few words.
If you would like to send me private email or verify something that I have signed, you can download my GnuPG public key block. I also have an older key block that I no longer use, but there are still things out there, like older releases of some of my open source tools, that are signed with it.
I hope you've enjoyed reading this page. If you should want to
contact me for some reason, you can reach me at the email
ejb -at- ql.org.
$Id: index.html,v 1.30 2011/09/10 17:18:48 ejb Exp $