Technology can be great#

Over the years I’ve collected quite a few pieces of technology. From consoles to computers, from retro to modern. Dealing with tech is probably the single thing I spend most of my day on, and the more of my day I can automate, the more time I have to spend on things that matter most to me. Before diving in, my criteria for this list were:

  • Usefulness
  • Friction
  • Enjoyment
  • Freedom

In short, tech to me has to be useful, it needs low friction, it needs to be enjoyable and give me freedom to use in the ways I want

I’m aware that the FSF has their definitions for freedom, but I like to be less technical and more practical. Even if a software is proprietary or paid, as long as it let’s me do what I need, I consider it free

Of course this list is based on my personal opinions. I am a tech savvy person, so things that are frictionless to me could have a lot of friction for others.

Let’s begin

Steam Deck#

The Steam Deck is one of the best devices I’ve ever seen. While Linux still hasn’t seen an enormous growth in popularity for PC gaming, the Deck has paved the way for many casual gamers to switch.

There’s just really not many points to get wrong when you launch a device that:

  • You can play your preexisting library
  • It doubles as a computer and a gaming device
  • It’s portable
  • It hides the underlying complexity
  • It allows you to do whatever you want with it

Want to play windows games? Install windows and you’re good to go. Want to play windows games on steam os? Check the verified badge and done. It’s really remarkable how you can go on protonDb, search for a game, find a community configuration, apply it and play the game. You could argue that windows has less friction, but steam os simplifies things to the point it becomes natural.

The Steam Deck isn’t just a standalone achievement, it also relies on proton and on the Linux community. But for me the Steam Deck has it’s importance in a different aspect: it’s bringing more people into the community and it’s positive impacts are reflected throughout the entire Linux ecosystem.

Valve is a company I really like and support. I really really hope they don’t turn evil

Robot Vacuum#

I dislike doing house chores. If I’m doing repetitive work, at some point my programmer brain will kick in and try to optimize it. I don’t want to have the hard work of cleaning my house, I want to have a clean house. For me the robot vacuum was excellent. I can offload vacuuming the apartment and every few days just clean the robot itself and done.

When searching though the brands and models available, I wanted a few things:

  • Area mapping
  • Integration with HomeBridge

And the Xiaomi S20 ticked these boxes. I can control it through their app and it let me set schedules, clean individual rooms and set forbidden areas. With it having a clean house became automatic

Even though the MioT protocol is supported on home bridge, my specific model doesn’t seem to be supported just yet and I couldn’t get it working with Siri just yet

This was an instance of “How did I live until now without it?”. The better tech gets at doing my chores, the happier I get.

I would prefer for something more open source-ish. But for my needs today, this one has enough freedom

Arch Linux#

Switching a bit from hardware, I’d like to talk about Arch. The thing I like the most about Arch is the freedom. My first contact with Arch was through SteamOS desktop mode, but later that same year I bought a new computer to make a homelab and I decided to go with Arch.

There’s nothing wrong with Ubuntu or the other distros, but I always felt an aura around Arch like it’s the Dark Souls of Linux. When I installed it I was pleasantly surprised with how simple everything felt. I won’t say installing Arch the first time was easy, I messed up the disk partition 3 times, but it’s really nice being in control. Arch won’t prevent me from making dumb mistakes, which I did a lot, but it also won’t prevent me from doing things exactly the way I want them to. I can configure my desktop environment, my shell, my packages exactly as I want and while this is a big front load, it reduces friction on the long run.

Being a rolling release distro wasn’t really a big deal for me. It’s useful to run a single command and update the entire system, and so far I haven’t had any package problems. The biggest advantage of rolling release for me is not having the system scream at me that it wants to be updated.

After writing this last paragraph, I had a days long battle with nvidia drivers, the Linux kernel and Clair Obscur

What was a big deal for me is AUR. Even if the package I need isn’t on the official repositories, there’s a big chance someone put it up on AUR. And if it isn’t on AUR I can create my own and upload it there. It becomes so easy when installing a new program is as simple as typing a terminal command and being done with it.

I’ll go ahead and throw KDE Plasma on the same bucket. I have configured the desktop environment to be exactly how I wanted to look. And it looks and feels modern along with all the community provided themes, services, widgets and many more. It’s amazing how some days I’ll spend hours customizing plasma.

Docker#

Keeping up with software, docker is essential for me on a daily basis. I’m still searching the line between installing directly on my machine and running in docker. Overall I like the concept of having a sandboxed system running a single application, this shifts the effort of maintaining the environment from myself to the software developer, meaning, instead of having to install a ton of dependencies, I can call a single command and run the software and once it’s no longer in use I can delete everything related.

I get the criticism some people have about the inefficiency of having multiple virtual environments for each application, but I’m a practical person and docker works wonders for me in practice

Maybe there’s a point to be made about how I use docker very similarly to systemd, monitoring, starting and stopping software. But I like the separation level of software that I run vs software that my system runs. I also really like having everything related to a service bundled together. And In a rolling release distro is nice to have fixed reproducible versions. Can you imagine the trouble of getting a NodeJS project running when you don’t have the specific node and packages version? Or when a project version conflicts with other projects you have? Of course that’s more of a NodeJS problem than docker, but I can’t just ask the developers to switch the entire codebase to something like Go.

I have a whole post that goes in depth about my infrastructure and what runs on docker

Honorable Mentions#

It would be unfair to leave some things behind, so here are some honorable mentions:

  • My iPad, which I’m using to write this post. Great portable device that’s quite like a phone but lets me access all my other devices remotely
  • Smart Plugs, that very effortlessly allow me to add dumb things to my Smart Home
  • Caddy and Hugo, which sound like people but are the stack behind this blog
  • Fediverse, which reignited my interest in social media

Special Thanks#

This post was an appreciation of great technology, but this tech doesn’t exist on it’s own. So I’d like to thank the community surrounding these projects, which is the beating heart creating free software and improving our digital lives.

Final thoughts#

What are your favorite gadgets, devices or software? Let me know in the comments.

And as always, here’s s song: