New Computer, New Age

Gemini version of this post

In 2013, I had my first contact with GNU/Linux. I was 10 years old back then. Before that year, the only operating system I knew about was Windows. But then, my dad told me something about how “Linux” was a free operating system developed by people around the world. He never used it, but he probably heard about it at some point. As a highly curious and passionate kid, the idea of trying something new and different seemed intriguing, so I decided to learn more about it.

I already knew a lot about programming and computers. I had recently built my own computer with my dad! To date, Franky-PC is still being used and works excellent (it currently runs elementaryOS). I flashed Ubuntu 13.10 into a USB, and booted into the live environment. I played around with it, and quickly fell in love with it. It was so different, it looked way better than Windows, it was cool and free (as in free beer)! Everything got erased when the computer was restarted, but I later discovered I could add persistence to the USB so things would stay.

Me with Franky-PC after having finished building it

Inside view of Franky-PC that same day

Another inside view of Franky-PC from a different angle

I didn’t use Ubuntu beyond playing with the live ISO; until 2015, when I decided to give Ubuntu a try and ditch Windows entirely. I installed it into my laptop (a HP Pavilion dv6) and I was so happy with it, that I never returned to Windows. When my house was robbed in 2016—last time I used my laptop—it still had Ubuntu installed. A lot of my files and projects were gone with it, unfortunately.

In early 2017, I installed openSUSE into Franky-PC, into a separate HDD. The main HDD was still running Windows. I decided to try openSUSE because I thought Ubuntu was too mainstream, and I’ve always tried to avoid mainstream stuff as much as possible. I was very happy with openSUSE too.

Later that year, I got a new laptop: an Acer Aspire E15. The first thing I did with it was obviously installing openSUSE. I read somewhere that the WiFi chip would probably not work, but the thread was old. Everything worked perfectly fine when I installed it. I started slowly adopting some Free Software ideologies. I didn’t understand too much about it until the RMS conference I attended to in Jalisco Talent Land 2018, in Guadalajara. I was 14 at that time.

I used the same computer and distro until late 2018, when I got a new birthday gift: a MacBook Air 2017. I ditched GNU/Linux for macOS because I wanted to learn iOS development (I was already good at Android development). I did most of my total two months of high school with that computer, as well as the first two years and a half of university.

I used to enjoy macOS despite being proprietary, but some upgrades started removing stuff (i.e. LCD antialiasing, 32-bit support, etc.) and making the OS too pretty and distracting for me, to the point of being unusable. Dual-booting GNU/Linux or *BSD was not an option, since SSD space was only 120GB and I didn’t want to carry around an external drive. During that period, I kinda distanced myself from the actual Free Software culture and development. I did help testing some free software on iOS and macOS, though, but nothing more.

My growing desire to avoid proprietary software as much as possible, as well as to contribute to free software projects in a more direct way, convinced me to get a Pinebook Pro as my not-too-powerful, ARM-based, hobby computer, running Manjaro ARM. I got that computer as my 17th birthday gift in late 2020. It didn’t replace my MacBook because I decided not to install any proprietary software into it, and also a lot of essential software hasn’t been ported to ARM64 yet. Despite those small details, I love my Pinebook Pro: it’s such a nice laptop!

But recently, I decided I needed to cut as many non-free software from my life as possible, including macOS; but I was facing a dilemma: I have a small family business that consists on a neighborhood surveillance system, including mobile (Android and iOS) apps and Internet-connected sirens and panic buttons. I was the sole creator and developer of the whole thing, and I’m still the only maintainer. The business has done very well since early 2019, because things like this are highly required in dangerous cities like mine. It has been an important source of income for my family. That means I cannot abandon the iOS development because a lot of our customers have iPhones. I cannot ditch iOS development, I cannot ditch Xcode, I cannot ditch macOS, I cannot ditch Apple.

As I already said, my SSD space was very limited: Xcode occupies a lot of space, and along with a lot of development tools and apps, I was always left with ~10GB free. Carrying an external USB drive everywhere wasn’t an ideal solution. Replacing macOS with GNU/Linux was not possible, since Xcode only runs on macOS, and there’s no other Mac in my house. The only solution was to buy a new x86_64 computer I could install GNU/Linux into, give my current Mac to my dad and borrow it only whenever I need to do any iOS development. I was about to buy a new M1 MacBook Air! But I didn’t, because I didn’t want to get even more locked into the Apple ecosystem than I already was.

There’s a certain computer brand that always comes to the mind of lots of free software enthusiasts: ThinkPad. Business-class laptops known for their durability, repairability, upgradeability, build quality and availability. Even 10-year old ThinkPads still run perfectly fine in 2021. Old models can be gotten for cheap (as low as $40 USD), Librebooted and used exclusively with Free Software. RMS does that. A lot of Free Software devotees do that. And I wanted to do that as well! Although I wasn’t so sure an old model would be fast enough to satisfy my needs.

I looked on RetroFreedom, TechnoEthical and other Librebooted-PCs sellers. Prices were too high, the models were too old, and shipping costs would add a lot of cost to the machine. I sincerely wanted to support those sellers; but I thought it would probably not be a wise investment, unfortunately. My family would discourage me from getting it. I would probably complain about its performance in the long run and seek buying yet another computer.

Then, I found a used ThinkPad T480 online, for 700 USD, and with an 8th-gen Core i5, 16GB of RAM, 1TB of SSD and even some Intel Optane memory. It seemed like a great deal! I wouldn’t be able to flash Libreboot into it, nor completely disable the Intel Management Backdoor, but it would run significantly less proprietary software compared to macOS. I ordered it, and it arrived the next week.

ThinkPad when it arrived (Windows 10 Pro installed and activated by original owner)

I researched the FSF-endorsed GNU/Linux-libre distros a bit, and the one that seemed ideal for me was Parabola GNU/Linux-libre. I was already familiar with Arch-based systems, because I run Manjaro ARM on my Pinebook. I had never installed Arch or any Arch-based distro before (Manjaro came preinstalled on my Pinebook Pro), so, when my ThinkPad arrived, the Parabola installation was very confusing to me, especially since LUKS-encryption for the system/home partition would require additional manual steps. I struggled with GRUB: it didn’t boot or threw an error related with a missing encryption hook on mkinitramfs. I managed to solve the problem, and booted successfully into a clean Parabola installation.

ThinkPad today, showing Plasma desktop and Parabola wallpaper

I already expected the WiFi and Bluetooth not to work, since I did a quick search on h-node.org and found the wireless chip (Intel Dual Band Wireless-AC 8265) was not supported by Linux-libre; but an old kernel (4.4) was used to test it, so I thought there might be already a free firmware available, but it wasn’t the case. I had to plug a wireless USB dongle I had lying around, in order to use WiFi. I plan to replace my WiFi+Bluetooth chip with one compatible with free-software later on (T480 has no mini PCIe ports, only M.2), as well as replacing my 1360x768 TN screen with a higher resolution one (ideally 1920x1080 IPS).

So far, the experience with Parabola has been great, the devs/maintainers are really nice. I have reported some issues I’ve came across regarding broken packages or non-blacklisted non-free software; and some have been fixed quickly. I feel like reporting bugs is a more direct way of contributing to free-software, I enjoy doing it!

You might ask, what about non-free software I must absolutely run? Well, I decided to keep my system entirely free, avoiding packages not available on the Parabola repos when possible. I run non-free software inside a QEMU/KVM virtual machine using the excellent virt-manager (VirtualBox requires non-free BIOS, so it’s not available on the repos and I didn’t install it.) So far, VMs have been running great and smooth. That’s important because I don’t want to have to install non-free software into my main system only because the experience is too bad on VMs.

The only piece of non-fully-free-software I made an exception for was Android Studio, which is mostly free software, but the official binaries have non-free EULAs, endorse non-free software (Google Android) and extensions, and send telemetry to Google. I really need this program to have good performance!

I also made an exception on running non-free Javascript on my browser (Iceweasel), because most websites I need for school and stuff absolutely require proprietary JS to work: running VMs most of the time is absolutely annoying and will severely affect my already bad performance in school.

I fresh-installed macOS into the Mac and gave it to my dad. He plans to expand its storage to 512GB and install Windows alongside macOS, so I can still do iOS development when I need to. He prefers Windows because he doesn’t have a lot of patience or time to get used to a completely different OS. I respect that. He used to run elementaryOS on his previous old, low-performance CompaQ, and he quite liked it and got used to it… until he had to run a Windows-only program and Wine failed to detect serial ports.

I hope this ThinkPad will stay with me for a long time. I already made the decision to avoid buying new stuff when something used does the job, so I can generate less demand for new electronics and reduce e-waste. I also hope to abandon a lot more of non-free software, and become at least 70% free this year. I’d like to convince my teachers to use Jitsi Meet and Moodle instead of Google Meet and Google Classroom. I already sent an e-mail to my school department with links to GNU articles regarding the ethical implications of forcing non-free software onto students. I hope I can at least cause a minor impact or reaction!