Recently I was making sure my main laptop is ready for travel1, which mostly just entails syncing up the latest version of my music collection. This laptop is a Thinkpad X200, which turns 11 years old in July and is my main workstation away from home (though I bring a second monitor and an external keyboard for long trips). This laptop is a great piece of hardware. 100% of the hardware is supported by the upstream Linux kernel, including the usual offenders like WiFi and Bluetooth. Niche operating systems like 9front and Minix work great, too. Even coreboot works! It’s durable, user-serviceable, light, and still looks brand new after all of these years. I love all of these things, but there’s no denying that it’s 11 years behind on performance innovations.
Last year KDE generously invited me to and sponsored my travel to their development sprint in Berlin. One of my friends there teased me - in a friendly way - about my laptop, asking why I used such an old system. There was a pensive moment when I answered: “it forces me to empathise with users who can’t use high-end hardware”. I showed him how it could cold boot to a productive sway desktop in <30 seconds, then I installed KDE to compare. It doubled the amount of disk space in use, took almost 10x as long to reach a usable desktop, and had severe rendering issues with my old Intel GPU.
To be clear, KDE is a wonderful piece of software and my first recommendation to most non-technical computer users who ask me for advice on using Linux. But software often grows to use the hardware you give it. Software developers tend to be computer enthusiasts, and use enthusiast-grade hardware. In reality, this high-end hardware isn’t really necessary for most applications outside of video encoding, machine learning, and a few other domains.
I do have a more powerful workstation at home, but it’s not really anything special. I upgrade it very infrequently. I bought a new mid-range GPU which is able to drive my four displays2 last year, I’ve added the occasional hard drive as it gets full, and I replaced the case with something lighter weight 3 years ago. Outside of those minor upgrades, I’ve been using the same desktop workstation for 7 years, and intend to use it for much longer. My servers are similarly running on older hardware which is spec’d to their needs (actually, I left a lot of room to grow and still was able to buy old hardware).
My 11-year-old laptop can compile the Linux kernel from scratch in 20 minutes, and it can play 1080p video in real-time. That’s all I need! Many users cannot afford high-end computer hardware, and most have better things to spend their money on. And you know, I work hard for my money, too - if I can get a computer which can do nearly 5 billion operations per second for $60, that should be sufficient to solve nearly any problem. No doubt, there are faster laptops out there, many of them with similarly impressive levels of compatibility with my ideals. But why bother?
Are you a free software maintainer who is struggling with stress, demanding users, overwork, or any other social problems in the course of your work? Please email me — I know how you feel, and I can lend a sympathetic ear and share some veteran advice.
Articles from blogs I follow around the net
This post gives an overview of the recent updates to the Writing an OS in Rust blog and to the used tools. I was quite busy with my master thesis this month, so I didn't have the time to create new content or major new features. However, there were qu…via Writing an OS in Rust June 3, 2019
One year and a half ago, I implemented damage tracking for wlroots. It’s about time I write an article about it! I’ll explain damage tracking in the context of a Wayland compositor, but most of that should also apply to other things-that-render-stuff as we…via Blog on emersion May 30, 2019
Generated by openring