Meta

I showed the folks at Ergodox (or well, ZSA) my awesome Planck EZ configuration and they were pretty impressed so they graciously offered to interview me, this article is my submission and they are scheduled to review this and publish their own version of it on their site in a few months as their backlog permits. Enjoy!

Who are you, and what do you do? What do you like to do outside of work?

Wazzup people! I'm Hexstream, also known as Jean‑Philippe Paradis.

I've been doing Common Lisp related work intensively for 14 years, including more than a decade of Common Lisp Open Source. I've basically been running an unregistered Common Lisp startup for 14 years. I'm planning to register in 2022 at the latest, since I'm finally starting to make money through sponsorships after 14 years of hard work.

I am a top Common Lisp Open Source contributor. See my extensive contributions at HexstreamSoft, which is now the #1 Common Lisp site according to Alexa. HexstreamSoft ultimately trended upwards for 80 consecutive days (with 2 trivial exceptions), is now in the top 200k, and the absolutely insane site engagement metrics peaked at 14 daily pageviews per visitor, 25:17 daily time on site and 24.8% bounce rate on 28 september 2020, indicating intense interest in my work. (In fact, the site engagement metrics have been very similar to this for months, to my continued surprise and delight.)

I am spearheading the nascent movement to make Common Lisp a top 5 programming language by 2040. I believe this is eminently achievable given proper approaches.

Not bad, for a programmer...

I've been lifting weights for several years. Gaining muscle is surprisingly easy (for a guy), like, you can just go at it intensively for 1 or 2 days and then wait 1 or 2 days and already see a difference. Living life without proper muscles is much harder than lifting weights a bit, believe me. This is definitely one of the most bang-for-your-buck activities you can possibly do, and you can just do it at home with a very modest time and money investment. There's no need to go to a gym or use machines or whatever. It's a super easy, permanent way to enhance your well-being and status.

Why do I say "permanent"? Isn't it possible to lose muscle? Well, first of all, in normal circumstances, even if you stop lifting weights for months, muscle retention is surprisingly high. But even if you manage to lose a fair amount (which happened to me recently because I was working so much), you'll feel so "handicapped" that it's easy to motivate yourself to invest a few days in getting back in shape. I think muscles have a sort of "memory", so if you lose some of it, it's easy to get it back.

I recently bench pressed 10 sets of 8 reps with the 2x60lbs. 💪

For the past few years, my strategy for keeping a balance between working and going outside has been pretty straightforward, and fully takes my obsessive, bipolar nature into account. In the summer, I go outside regularly, almost obsessively, leaving raw productivity on the backburner, still working a non-trivial amount, but not having a lot of time or energy left for it. Then in the winter I almost never go outside, instead almost fully concentrating on raw productivity. I believe this strategy maximizes overall raw productivity in my case, since the biggest threat to that is an improper balance leading to burnout, which can just completely blackhole productivity for no reason.

For the past several years until 2019, my main summer activity has been going on countless 3 hours shirtless walks in the streets and woods. I was getting absolutely sick and tired of it, but I couldn't think of a better alternative given my modest financial means. I had been dreaming of buying an adult push scooter for years, but I didn't have the money for it, and I didn't want to yet again beg The Mom™ for money again, and I also wanted to buy it with my own money once I start making some, as a symbol of my success.

I've got some WHEELS!!!

Fortunately, Black Brane Systems' generous, unexpected, truly life-changing sponsorships came right on time beginning on 3 april 2020, right before the summer, so I was able to buy my awesome Crussis Active 4.4, which I always ride shirtless, of course! As a fun piece of trivia, I had to import this from Czech Republic (through a special order to Togo Traction) and the assembly instructions were only in Czech and German! Fortunately, there were pictures and it was not too hard to assemble, except for the V-brakes which were just hell to figure out. I am finally out of walking season hell!

My favorite feature is actually the bell, which I strategically spam all the time to announce my presence. Having to do that with my voice would be absolute hell.
I bought a few additional crucial items (not pictured): a bottle holder, a thermos, a bike pump, a set of hex keys and a kickass HD rear-view mirror.

Behold the infinite glory of My Little Pony: Friendship is Magic!

Of course, there's also the pony stuff (NSFW), that's always fun! 😂
This show and everything around it really heals the soul.
I owe much of my emotional well-being to this stuff.
The brony fandom will live FOREVER!!!

What hardware do you use?

Of course, by far my most interesting piece of hardware is my Planck EZ! More on that below.

Best Keyboard and Best Pony

After sitting on the same damn chair for nearly 15 years, I finally got a full-equipped brand-new Aeron Chair! I had been dreaming of getting this critically acclaimed chair for more than a decade, and with the 12-year warranty, it's guaranteed to be a great investment.

I initially got a Size B, which was unfortunately too small, as my upper back was resting against the hard frame (in part due to my muscled shoulders), so Herman Miller graciously swapped this out for a Size C for free, and they even transferred my rebate from the Size B to the Size C!

This is of course a highly configurable chair. By far my favorite feature is the Tilt Lock, which I keep engaged literally 100% of the time. This tilts the chair forward and ensures that my back is always properly supported. If I'm typing at the keyboard, the back rest follows along, if I lean back a bit then my back is at a perfect 90° angle, and I can also lean back more, again with great support. The degree of resistance is highly configurable.

Did I mention how many billions of hours an obsessive programmer sits in a chair?

I have a Google Pixel 3 XL, my first smartphone ever which I got about a year ago. Life was just getting unbearable without this crucial piece of technology. This has completely revolutionized my life, and it was thanks to this that I was able to join GitHub Sponsors and make 3688$ CAD so far this year, a tremendous return on investment! Many apps are mobile-only, and it's really great to always be logged in to all my accounts and get notifications in real time, be able to take photos trivially, etc. The GoPro Hero 5 was pretty much a waste of money retrospectively, though I could eventually hook it up to the push scooter.

With a quickly growing online footprint, I could plausibly become a target, so I immediately enabled two-factor authentication on most of my accounts as soon as I got the phone. I also quickly enrolled in Google's Advanced Protection Program and now, thanks to the Titan Security Key, I can confirm my second factor for most of my accounts at the push of a button! This provides me with a high level of both security and convenience, an interesting combination. So now, I almost never have to go through the incredibly painful routine of reaching out for my phone, unlocking it with fingerprint authentication, tapping on Google Authenticator, finding the right 6 digit code in the list and then finally inputting that. (Unfortunately, a few services support two-factor authentication but not hardware keys.)

Push-button second factor authentication!

I have Bose QuietComfort 35 wireless headphones II, which is the first decent pair of headphones I have ever had in my life. They are very comfortable, and the sound reproduction is simply stunning! I use them wired only, which does not use the battery. When I need to listen to something, I use headphones 100% of the time. I'm a bit hard of hearing, so speakers is simply not an option, and I'm also a bit of a night owl, so it's great to listen to stuff any time I want without bothering anyone.

I have a Blue Yeti Pro, which I currently almost never use. It picks up like hell! It's a critically acclaimed high-quality microphone which supports both USB (user-friendly) and XLR (professional), so it's a great long-term investment. As a fun piece of trivia, I identify buying this as a turning point in my finances, I was always a bit tight on money after this, until 2020. One great thing this microphone helped me accomplish is the Triplebyte interview, which was a very interesting experience.

I'm using a cheap Dell desktop computer. It's slow and only has 4GB of RAM. The last fast computer I've had was when I upgraded from the 233Mhz iMac to the 2.6Ghz PC in 2003. I should be able to buy a decent workstation relatively soon.

And what software?

I'm on Debian Mate, an extremely productive Linux environment. I've been on Linux exclusively for more than a decade. For years I was on Ubuntu, but then they adopted some completely unusable UI and everything just kept getting worse and worse and worse, so I had to escape for my dear life.

I've been using StumpWM exclusively since 2008. This is an emacs-like window manager written entirely in Common Lisp. Consult my detailed usage notes.

For Common Lisp development, I use SBCL, Emacs, Slime and Quicklisp, which is basically the default recommended setup.
I completely switched to the Ultralisp Quicklisp dist, which is not yet the default, but already usable and extremely promising.

I rely on DigitalOcean, Cloudflare and updown.io as critical pieces of infrastructure to reliably yet inexpensively host all my websites. For now, I simply write all my websites in raw standards-compliant semantic HTML5, CSS3 and progressively-enhanced unobstrusive JavaScript and I use Apache as the origin HTTP server, deploying with git. (I would greatly prefer to write it all in Common Lisp, but my infrastructure is not there yet.) I am looking to migrate to Cloudflare Workers.

I have dozens of accounts, so a password manager is simply required for high security and convenience. I use KeepassXC and KeepassXC-Browser on desktop and Keepass2Android on mobile. Thanks to this, most of my passwords are random strings of 32 characters. I have a single long master password that I enter at the start of the day to unlock the database, and after that I just hit Ctrl-Shift-F to fill in my username and password for a site. I keep the encrypted database in git and always immediately sync it with my private server (a Raspberry Pi 2 Model B), and I manually sync it with my smartphone and make offline backups from time to time. Secure, convenient, reliable.

You can find much more details about my infrastructure, tools and processes on my status quo.

What’s your keyboard setup like? Do you use a custom layout or custom keycaps?

I use a Planck EZ Glow with the default switches and keycaps. I really love the sound and feel of it!

As soon as I got the keyboard, I immediately started iterating on my own custom layout in Oryx (using Canadian French Dvorak as a base) at a breakneck pace, indeed I was already at 64 revisions after 8 days! I noticed that quite a lot key labels did not correspond semantically, so thank you for implementing my custom key labels feature request! Your support is truly amazing!

I'm very eager to share my passion for the Planck EZ and my custom layout, so check out my awesome Planck EZ keyboard configuration! I implemented this highly interactive presentation in 5 days in pure HTML5 and CSS3, with no JavaScript involved. This is by far the best way to learn about my advanced keyboard configuration and its amazing features such as pair macros, emacs navigation everywhere and mouse control/warping.

Raise layer: pair macros

What would be your dream setup?

The Planck EZ is already almost the perfect dream keyboard, but I do wish there was a Blank option with just a dot in the middle of each key for the glow. Due to the extreme configurability and multiple layers, the labels almost never correspond with the effect anyway, so the main way to identify the keys are their position and their glow color.

While QMK already provides some good flexibility, it's really hard for me to get excited about a big mess written in C, so I am planning to build much more powerful alternatives to QMK, Wally and Oryx, all written in Common Lisp, of course. My awesome Planck EZ layout presentation is already a good first step towards an Oryx alternative, although it is not yet written in Common Lisp. (I would probably only support the Planck EZ, since that's the only keyboard I find interesting...)

My best idea to leverage this improved firmware is to make it possible to open a terminal/REPL (using a keystroke) to the currently plugged in keyboard, using any plain text editor supporting basic ASCII and the arrow keys for navigation. The keyboard then effectively emulates a terminal by simulating typing to control the plain text editor, and you can input stuff by typing yourself, and that gets echoed if appropriate. You can end the terminal session with some keystroke. You can write powerful applications like this, and they are automatically compatible with any operating system that supports a basic text editor, the possibilities are nearly endless. For instance, you can invoke a command that prints a form showing the current keyboard settings and lets you edit the values and then commit your changes to the keyboard, possibly saving your changes to the flash memory. You can write powerful live debugging interfaces. This is the type of powerful interactivity that Common Lisp programmers expect, or even demand.

I do think I perceive a path to 100x productivity: Since the Planck EZ supports n-key rollover, and is thus suitable for stenography, it would certainly be interesting to edit Common Lisp at more than 200wpm using structural editing! And it would be really great to write documentation at lightspeed, too.

The holy grail would be to use an operating system written entirely in Common Lisp, and Mezzano seems very promising. With full control over the whole stack, it would be great to make an integrated environment for semantically recording all the commands being issued. You could thus make advanced live or recorded presentations of workflows. It would be great to have a feature that continuously records all actions you take, and then if you make some great combo then you can invoke a command to retain the last few minutes so that you can replay and explain the workflow in slow motion later. This would certainly make for some really compelling YouTube videos and Twitch streaming!

Of course, just buying a powerful workstation with tons of RAM and an SSD and 2 screens would already be a good start.