Jay Berkenbilt's Home Page


Introduction

Welcome to my little corner of the web. Here you can find out a little bit about what I've done and, if you are interested, something about who I am. Keeping this page up-to-date is low priority for me. I last updated it in December 2022. 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.

Basic Information

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, and I am a parent of twins.

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.

Videos

I have made handful of videos. Some of these can be found on my YouTube Channel. Some are posted in other places.

Arrangements and Performances

These are all performances of music I have transcribed or arranged. I have received permission from the copyright holder and/or purchased cover song licenses for all of them.

Synesthesia Videos

I wrote a blog post about my synesthesia experience while listening to the closing movement of Glassworks by Philip Glass. If you're interested in that kind of thing, you can read the blog post and watch the videos.

Other Videos

These are other videos I have made.

Physical 4D Magic Cube Videos

I created some tutorial videos on solving Melinda Green's 2x2x2x2. You can find the videos at this YouTube channel.

Employment

Since March 2020, I have been working for Advent Health Partners, where have the title of senior application architect. 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. I lead the backend development team and also oversee our data management and software engineering infrastructure 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.

Papers

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.

Blogging

You can read any blog posts I've made on my medium page. My primary blog focus is technical deep dives on topics that I have some expertise on. This would mainly include PDF, infrastructure as code, or software engineering topics. I write infrequently but hope to keep doing it. A few years ago, I also wrote a “summer-themed” blog post about casual dress at work for my previous company's AppianLIFE blog.

JXQZ

I created a crossword-style word game called JXQZ. I did this primarily as a learning project to update up my skills in web development. The frontend is Angular, the backend is Go, and it is deployed in AWS with Cloudfront backend to S3 for static pages and Lambda with a function URL for the backend.

JXQZ board image

JXQZ is similar to other crossword-style games but adds an additional feature: letter substitution. With letter substitution, you can use tiles from your rack to swap with tiles on the board as long as all words remain valid after each individual swap. Then, after you've done your swaps, you play a word normally except you have to use all the tiles you swapped. It's like the puzzle where you have to convert one word to another one letter at a time. For example to get from RUST to TONE: RUST, RUNT, RUNE, TUNE, TONE. JXQZ is free and has no ads, hooks into social media, rewards, coins, or other extraneous distractions. For more details, visit the game's main page. You can find help information, tutorial videos, and other information there.

Open Source Software

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.

Music

Another passion of mine is music. I play in the City of Fairfax Band, which I joined in 1993, and I 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 ironically refer to as “contemporary 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.

Other Interests

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.

My GPG Public Key

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. You can also see my gpg fingerprint.

Closing Remark

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 address ejb -at- ql.org.