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.
Keeping this page up-to-date is low priority for me. I last updated it in May, 2020. Information here is intended to be relatively persistent and may not be completely accurate in all its details. I try to make updates when there are major changes in my circumstances.
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.
By profession, I am a software engineer. Although I have many years of experience, I am still very hands-on in my work. I spend time actually writing code, and I also spend time designing, reviewing, and mentoring. Over the years, I have gravitated toward tools and infrastructure, which I approach with the full discipline of a software engineer. I also enjoy working with systems and networks...what we used to call system administration and now-a-days call “IT.” The tools and infrastructure niche is a perfect place for someone like me who is equally comfortable in software and IT. I also enjoy things that are close to the computer, like image processing, PDF manipulation, databases, and algorithmic work.
I have other interests as well, some of which are discussed later, but being a parent takes up most of the time I spend outside of work.
I enjoy Advent's small team and deliberate approach. At Advent, I have a chance to work on a variety of activities around the product as well as the infrastructure. This includes lots of work in “the cloud”. Ultimately, I measure my success by the degree to which I can help others to be more effective and productive. If I have a personal slogan, it would probably be, “Measure twice, cut once.” Another candidate might be, “Always stay at least two mistakes away from disaster.” I try to realize both of these goals by designing systems and processes that help make the easy way be the right way.
If you want, you can check out my LinkedIn profile.
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. This is an old paper now, which predates many modern test frameworks, but the approach it discusses is still of value even now, and I still use the approach in my current work even with more modern tools.
When I can squeeze in the time, I enjoy doing open source software work. My primary project is QPDF, which is a command-line program and C++ library that helps to perform various transformations on PDF files. It started off small, but it has gained some popularity over the years. It is used by the Linux Printing project, and it is also used by a number of commercial users. It has been part of two Google Summer of Code projects, and I received two open source awards from Google for qpdf. QPDF is part of virtually every Linux distribution and can be installed on Windows and Mac using their preferred package systems as well. You can find the source on github. QPDF is released with the commercial-friendly Apache License. I have spent most of my career building on top of open source software, and qpdf is one of the ways I can give something back.
In addition to qpdf, I have made small contributions to a small handful of open source projects, and I have a few additional ones myself, though none have achieved anywhere close to the level of popularity of qpdf. Of some potential interest may be my automated test framework, QTest. QTest first appeared in 1994 as part of my first open source project called BCS, the Baseline Configuration System, which I posted to comp.sources.unix back in the day. Although BCS is long gone, QTest lives on as the framework used for qpdf's test suite. QTest is an old framework that I originally designed for integration testing of command-line tools. There are better choices for new software, though it's still a fully capable system with plenty of functionality. The coverage system in the paper I sited above is fully integrated with QTest. I am also a Debian developer. When I had more time for open source, I used to maintain a handful of packages, but now I just maintain the debian packages for qpdf.
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, including handling the band's IT needs. 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. I like listening to music with my whole brain, appreciating it both emotionally and intellectually, and I enjoy finding new music as well as listening to my old favorites.
I enjoy connecting with people of all ages, particularly in a setting in which I can get to know people as individuals, and so I volunteer some time both with kids and with seniors. This is very fulfilling for me and keeps me emotionally “charged” so that I can be a better spouse, parent, and friend.
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 enjoyed analyzing and solving a new physical version of this puzzle. You can see my analysis in this series of videos. 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.