I should add tags to better organise things on this blog, but for now, let's get to the topic at hand.
People have seen me advocate minimalism in design on this site, though that's not the only minimalist approach I follow.
Out of habit—or due to the constant nagging by my parents—I'm also someone who believes in spending only as much as is actually needed or in short, frugal living. This has led me to buy things that are just good enough to serve their purpose. A good example of this is that I've been using a MacBook M1 Air 2019 8GB since it was released. That was the entry-level MacBook, and the goal was to have a portable macOS system rather than a powerhouse, which would then have its internals consumed by Docker.
Now, with that boast out of the way, I recently switched to using a ThinkPad. I just happened to see a really good deal on a ThinkPad T14 1st Gen (approximately 6 years old), which made a lot more sense than spending on a new MacBook—especially since the one I own can no longer handle the basic tools since, every other developer building tools thinks that memory is very cheap!
Yeah... no. Apple charges almost $200–$300 for a higher-memory device, and I don't think that's cheap; I'd rather spend that money sponsoring OSS projects.
Memory is cheap for cloud systems, so running your apps on the cloud is definitely less expensive than it used to be. This is not really true for consumer-grade laptops, even for those that are not from Apple (looking at you, HP) and most new laptops aren't very upgradable either(Apple normalised this and I'm not very happy about that either).
Circling back to the ThinkPad—a great overall device to have—it cost me approximately $250 / INR 22,000 to get a used one, and the condition of the laptop itself was excellent; everything, including the touchscreen, worked great. The only issue was that the touchpad did not work in Linux, specifically in Linux Mint.
Now, the problem wasn't with the touchpad itself but rather with the generic drivers. The touchpad was very responsive on Windows but experienced a very abrupt lag on the Linux system. I tried different friction and sensitivity settings, and it somewhat worked, but it was still not smooth.
The final solution was to just use the thinkpad's touchscreen or use it in clam shell mode while it's docked on the table.
Even though I've been using GNU/Linux (before someone complains about not prefixing it with GNU) forever—on servers and my Raspberry Pi—most of that experience was gained with a keyboard-only workflow, using just the terminal to handle everything and using GNOME for a few years. The single TTY obviously doesn't work when you are a web developer, though.
My new workflow has been to run everything from a terminal emulator and keep a few browsers running on an i3 setup. I tried Sway (Wayland), but the display started glitching, so I switched back to i3 (X11) until I could debug the cause of the glitches.
Most development work migrated pretty quickly because it was already written with Linux in mind.
It did take me longer to readapt to the Ctrl-first keyboard shortcuts, which I had lost the habit of. Before someone suggests Kinto, note that it doesn't work well with my Bluetooth keyboard (Air Nuphy); the profiles need to be switched continuously, and it doesn't even recognise the keyboard at times, making it pretty unreliable for my particular device.
Nothing specific is missing, since I didn't really use Mac-specific apps to begin with. Apple Music might be a candidate, but then Spotify works, and my Spotify library syncs with my Apple library on a daily basis.
Vim (Neovim), Sublime, and Alacritty transitioned over fine. I had to configure Alacritty, but that's okay since I always used Mvllow's old dotfiles anyway.
It's noticeably slower than the M1, but the 16GB of RAM does allow me to run a few more Docker containers to work on more things in parallel (which isn't ideal when you get distracted as much as I do).
I was able to solve a few SQLite build issues I had with older apps that were written with an older version of better-sqlite3, since it was easier to debug with multiple terminals than by opening multiple tmux SSH sessions on the deployment machine.
Apps are slower to launch, which is something I'm not sure how to debug or fix yet.
Overall, I guess getting back into Linux and i3 has been due for a long time, since I stopped working on macOS-specific apps a while back and could save myself from the upgrade price of $1200.
I do have a MacBook Pro from my job, which is a lot more powerful than anything I could ever need, but it isn't mine and will be returned once I change my job, so I will have to start getting more comfortable with my Linux machine.
That's mostly it; I don't have much more to say.
Adios!