Home Posts X GitHub

My uncommon webdev setup – Part 1 (Hardware)

This is a three-part series covering hardware, OS, and software that I used in 2023 for web development. I’ll post a new part until next year. Stay updated by following me on X.

Reminder

As you already know, there’s no silver bullet. Tools and workflows should bring happiness and therefore are very personal, so this article is not a “you should use X and Y”.

In an area where Apple hardware and software are prevalent, my setup might be uncommon, but it’s by no means unique. A lot of people work with such setups.

As 2023 is ending, I just want to share some tools that made me happy this year.

Note: in some parts, I’ll focus more on Linux as it’s my main OS.

Intro

Having a good monitor, a comfortable chair, a powerful computer, and a warm cup of tea are key to a pleasant working environment.

This year, what gave me the most satisfaction at the hardware level were the keyboard and hard drive.

Keyboard re-mapping

There’s a wide variety of keyboards out there, in terms of size (like 40%, 60%, 65%) and design (split, ortholinear, and so on). You can even take on the challenge of building your own custom keyboard. I built a Corne, it was a lot of fun, but I eventually ended with a compact 60% keyboard.

That being said, two very simple adjustments have significantly enhanced my experience with a traditional keyboard:

  1. Mapping ⇪ Caps Lock to Escape
  2. Mapping Space (hold) + h j k l to

(1) is a common modification that is easy to setup. For example, on macOS, you can find it in System Preferences > Keyboard.

(2) can be achieved with a QMK keyboard or if you’re on Linux with keyd. The latter is the simplest way as it can be done with any keyboard.

Why do I love these changes?

They reposition very common actions in programming to what is known as the home row. I can exit or cancel with my left pinky and navigate around without needing to move my right forearm.

It’s possible of course to go further and remap more things:

However, it’s better to introduce changes gradually and find the ones that work best for you

To learn more, visit:

Portable hard drive

This is one of the choices I’m the most happy with and I’ll likely stick to for a long time. Here’s the problem it solved for me (it’ll probably sound familiar).

Before, setting up my work environment on each new computer took a lot of time. I had to install apps, enter personal details, and set everything up.

To some extent this can be simplified with package managers, sync tools, git and dotfiles but it’s not perfect.

During lockdown, I tried installing Linux on a tiny 16GB USB stick and see if I could boot from it. I loved the form factor and the idea of going from one computer to another with my full OS in my pocket. It worked and was usable, but a USB key has poor performances when it comes to reading/writing concurrently.

So I switched to an internal SSD (I’ve been using this one) with a simple USB cable to be able to use it as an external hard drive. Performance of internal SSDs are usually better for the same price compared to external ones. They’re also lightweight, can be taken in a pocket and default casing is good enough.

Now, I can use my hard drive with my full system on any PC or laptop.

No more syncing files or settings across computers! When I get a new PC, I just plug in the SSD and can pick up exactly where I left off.

I find this experience incredibly satisfying. It’s unique to using an OS like Linux, which isn’t tied to the specific hardware where it was installed.

Also for trying Linux, it’s a lot safer to install it on a separate drive. This way, you don’t risk losing data, and you can switch to Linux gradually while keeping your old system.

Next

In the next part, I’ll discuss the distribution I’m using (it’s not Ubuntu), you can try to guess it on X 😉.

You can also sponsor me if you liked this post or my projects. Additionally, I’ll be open for new work opportunities starting January 2024.