On rants about laptops for developers

Posted  

Today, I saw on Hacker News that HP announced a laptop targeted at developers called HP Dev One. I found that quite intriguing and decided to dive deeper and look into the discussion around that on HN. I kinda knew what to expect there, these threads have always the same shape:

  • Rants about the price vs specs.
  • A ton of people will actually talk about Apple.
  • Rants about it not being fit for some particular workflow.
  • Three people with age-old machines saying their age-old machine works just fine. Which IMO is great, I love older tech being still in use.

For the sake of contextualisation, these are the laptop specs:

HP Dev One Specifications
8-Core AMD Ryzen 7 Pro
16GB of DDR4 RAM
1TB of NVMe M.2 storage
14’’ FHD screen
Running Pop_OS.

The last couple decades we’ve gone from fighting to install Linux on a laptop to having multiple vendors focused on Linux laptops such as System76, Tuxedo Computers, Framework, and many others. Larger vendors have been offering Linux laptops for developers for a while as well. You can buy a Linux machine from Dell, Lenovo, and soon HP.

This new announcement by HP should signal that the industry is kinda listening. That they’re accepting that at least the development audience wants good Linux machines, and are responding positively by launching specific SKUs. Still, what you see every time one of such laptops reach the news is a gazillion complaints. I’m not saying that the complaints are not valid, heck, one is free to complain about whatever they want. What bugs me is that there appears to be no winning scenario. There is no endgame for such complaints, I’m starting to believe that there is no way to make this audience truly happy. Or maybe rants get more engagement and people are ranting mostly to feel good.

I’ll not enter into the discussion of price vs performance. There are a lot of variables that go into calculating the price of a laptop, it is not as simple as just summing the bill-of-materials. Some intangibles can’t be quantified well, things such as branding and so on. In the end it kinda becomes something more to the tune of what can we get away with than some equation you can put on a paper. Pricing is hard. What I’ll say about that price is that developers in major tech cities are not usually a struggling class in terms of having a good salary and being able to come up with enough funds to pay $1000 for a machine like this. Of course there are a thousands of other developers who are elsewhere and struggling, people who are in countries where the exchange rate makes $1000 laptop impossible to acquire. There needs to be a different product for every one, that is why there are many SKUs. This laptop is clearly not targetted at those situations.

For such price, you’re getting decent specs. If the build quality is great and all the drivers work out of the box, I can see the value in that laptop. People underestimate how useful it is to have a it just works Linux laptop. Of course you can dive into forums, mailing lists, patch a driver or two and get something more powerful and cheaper to work. That is the nature of Linux. But some people just want to buy something and have it work from the first hour. Paying $1000 for that is OK.

What bugs me in such threads is that there is a group of Linux aficionados who think that Linux is the pinnacle of computing and that everything under the sun will be better when running Linux. This is the main topic I want to address in this post. Don’t get me wrong, I definitely think that running Linux everywhere is a desirable goal, machines should be yours to tinker. What I want to highlight is that for some people (including this author) running Linux on some machines make them less useful than whatever they begun with. This is what I want to unpack going forward because a lot of criticism in these threads are focused on macOS, M1 machines, Windows, etc.

Disclaimer

If your workflow requires you to run Linux. Or better, if you *WANT* to run Linux, that is fine. You can do it in any machine you fancy, no one should tell you what you should do. This is not a post advocating you change your preference. This is a post trying to explain why preferences are not universal.

First is the idea that a machine that is not with the top-of-the-line AMD or Intel CPU and at least 64GB of RAM is not useful. Some people need to understand that their particular workflow that demands such specs is not universal. Some developers are just fine with much less powerful machines. The HP Dev One specs might not be useful to you, but that doesn’t mean that other developers are not going to have a great time with it.

I’ve seen comments from people running all sorts of containers from MongoDB and Redis to complex Machine Learning workflows denouncing the specs on this machine to be useless. That is a desktop-class machine, a simple workstation, it is enough to do desktop development tasks. It is not a server or spec’d for those workflows. Go grab a beefed up Xeon desktop + NVidia gizmo and you’ll be happier.

Just because one has a desktop-class machine and is doing these demanding workflows in it, doesn’t mean that all desktop-class machines should be expected to handle such workflows. That is a very specialised setup when you need to run the equivalent of a company’s production environment inside your small laptop. There are laptops geared towards such workflows, they’re a different SKU.

The HN thread is full of rants about Apple and running Linux on M1 machines. I don’t think some people realise that other people actually prefer macOS over Linux. There is a very tight integration between Apple hardware, the operating system, and the official toolkit for developing desktop apps. When you’re running a native macOS application on M1, a lot of gears connect just right for you to have amazing performance and battery life. Running Linux on such machines will not have the same benefits. It will have other benefits such as running a FOSS stack, but it won’t have the same performance/energy magic that makes it so impressive.

In my opinion people who really want to run Linux, should focus instead on getting laptops that are great with Linux. Heck, the Framework laptop is really well built. A friend of mine has one and I got to see it for the first time last week, it is beautiful. There is a lot more bang for your bucks when you pick a Linux-focused SKU than when you force Linux onto new hardware that was not built for compliance.

A good example is my beloved Microsoft Surface. When the Surface Pro 4 was current, there was a lot of activity about running Linux on it. People been running Linux on Surfaces for a long time, if you’re curious about it check out the /r/SurfaceLinux on Reddit. At the time, running Linux on that machine had the following consequences (which are probably no longer true):

  • You lost the keyboard hotplug. You couldn’t instantly go from tablet into laptop.
  • Touch and Pen input just became mouse clicks. The Surface was no longer a multi-paradigm machine with keyboard, touch, and pen working in harmony.
  • Battery life sucked. Your “all day” machine became “couple hours” machine.

At that time, all I could think was: Why did you get a Surface then?!. If you really want Linux just grab a ThinkPad. The Surface and M1-based Macs are what they are because they were built to provide a specific experience.

The Surface is a unique form-factor, it is more than a tablet summed with a laptop, it is versatile in a way that no other device is. It is your portrait ebook reader, your tablet to consume media or draw, a laptop for development, etc. The Surface Pro X running Windows 11 can run native ARM32 and ARM64 Windows and Linux applications, and emulated x32 and x64 Linux and Windows applications. It is a wonder.

The M1 Macs are a game changer for people like me who are always away from home/office and don’t want to sacrifice performance. I can edit my videos on battery and have DaVinci Resolve work the exact same way as if I was connected to the wall socket. I can do my programming from a park and compile things just fine. When I prioritise running native macOS apps over Web Apps, I get 10 or 12 hours of battery. I’ve never run out of juice on that machine. Heck, one day I was coding at a library and saw that the battery was at 48%, I got really angry annoyed that the battery was draining too fast just to realise that I’ve been coding there for six hours already. That is how good they are when you use them in the way they want to be used.

Some developers like me prefer these experiences over Linux. I’ve run Linux as my primary OS for years, I was never happy with it. I’m a developer and I ship FOSS stuff. I like open-source, I felt that I needed to run a FOSS system. I was mostly running Linux due to self-imposed expectations and peer pressure. I was not happy with it at all. That was not because there is something wrong with Linux, it was because what I wanted was something different. It is OK to want something different.

I hate this arrogant and prejudicial mindset that some FOSS advocates spew out in all threads about Linux laptops. Some people genuinely think that running Linux makes them better people, it is very strange. As if it is a crime to run anything else and gasp be happy with it.

“The Macbook is not really yours!!!” they cry out. Well, it is mine in all ways that it counts for me. I can run the OS I want, I can develop the apps I want, and I can write my books. There are firmwares and locked stuff in it, yes, so does your phone and probably the laptop you’re running. If your laptop is blob-free, then tell me again how does this makes your work better than mine, because I don’t see it.

These are just tools. What matters the most is what you use them for. Want to use a Surface running Windows to create amazing art that will inspire people everywhere, do it! Don’t let someone tell you that if you were running Linux your art would somehow get a shinier aura. Are you using macOS or anything else to write software, and you’re happy with it? Ignore the people saying that without Linux it is not a true development machine.

Heck, I don’t know how people can think that their subjective personal experience running Linux can simply be extrapolated to be applicable to 100% of the developers in the world. There is no pinnacle of computing, there is no perfect machine for developers. Each person will have a different idea of what they want and what is good for them, let them be.

Instead, why not cherish that yet another major vendor is looking at Linux in a positive way? Why not be happy that Pop_OS! is being taken seriously by other companies. That acquiring a laptop with Linux no longer requires checking compatibility lists against every chip inside the machine.

Why can’t people be happy that a new Linux laptop exists even if it doesn’t fit their workflow.

I guess people just enjoy complaining.

Did you enjoyed reading this content? Want to support me?

You can buy me a coffee at ko-fi.

Comments? Questions? Feedback?

You can reach out to me on Twitter, or Mastodon, Secure Scuttlebutt, or through WebMentions.

Mentions