His Laptop Has Only 16GB of RAM
The moment I lost my cool
I have been in a hyperfocus these days about my usage of resources. I have spent the last months thinking about the software I use, how I use it, on what hardware and how I can improve everything. I am totally lost in the funny rabbit hole of frugal computing, permacomputing and all these funny words. While I have always been this kind of minimalist computer user, I think it all really reached a new level of obsession a few months ago, when I was speaking to my colleague, next to me, in the openspace.
We were discussing about him being the only one in the team to have a Linux computer, as a test for the infrastructure department, while we were all stuck on Windows even though we write Linux-only software, meant for an embedded Linux environment. While he knew he was kinda lucky, he enumerated the numerous problems he faced - the infrastructure clearly architectured around Windows softwares being one, updates being flaky, the drivers were unstable, etc. One of the problem he mentioned was that his crappy laptop had only 16GB of RAM. What could we do today with so little memory?
I didn’t understand. Ok, my own machine at work has like 32GB, but I have always thought it was absurdly high and unnecessary. I have a desktop computer at home that has been my gaming rig for 12 years (oh dear Goddesses, really?). While I grew out of gaming and mainly use my computer for programming, tinkering and shitposting on the Fediverse now, I have never ever felt like my battle station fell out of date. Granted, the GPU does not speak Vulkan, which is a major problem nowadays if I want to play games, but other than that, I can use about any software. The machine is reactive, my screen is refreshed at the most comfortable frequency. Well, it is a “today” machine. But my boy has 8GB of DDR3 RAM (and a i5 4590, if you wanted to know). What do you mean, 16GB of DDR5 is not enough? What do you mean we have DDR5? I heard about DDR4, was it that long ago? Damn.
What do people do with their computers?
I asked him why he would need so much memory. Isn’t it free most of the time? In fact, we clearly do the same things on our worktime, except we don’t do it the same way. My man said he needed his machine to bear the load of his IDE, the LSP, the web browser with its hundreds of open tabs, etc. Ok, so… what are you favorite applications? Here is the thing:
| Mine | His | |
|---|---|---|
| DE/WM | AwesomeWM | Gnome |
| IDE | Emacs | VS Code |
| Web browser | Qutebrowser | Firefox |
I would like to add: I never keep tabs open. I mean, I may have a couple ones at the moment, but when the browser is closed, it is closed, forgotten, dead. I never consider my web browser to be frozen in a stasis. I don’t see the point, if I want to keep a page or application somewhere, I will add it to my bookmarks or in some textual database somewhere. There is no point in keeping a dormant javascript virtual machine alive for you to completely forget about it anyway. Moreover, I have to admit that I am not the average computer user nor even the average developer. I am not pretending that I am better in any way1, just different. I love tiling WMs, I am not particularly fond of shiny GUIs nor to switch between keyboard, mouse and body parts. I crave efficiency and minimalism. I blame autism for that. :)
But anyway, here is my point: I tend to use programs that are not trying to eat up all the available resources, while he does2.
What machines do I actually have?
This made me think about my own hardware situation. While I had a stupidly juiced machine at work, like we always do, I wanted to reflect a second about where I come from and where I am now.
First, when I was younger, I had inherited from my grand-father’s computers. Old craps he had used before and then decided to give me after buying more powerful ones. Even though I am relatively young, I can announce proudly that I have played on an OG ATI Rage 128. Yes I did. In about 2006, which is quite late to own one. My friends were discovering games such as Halo (maybe Halo 2) and I played Medal of Honor Allied Assault. This post isn’t about my gaming habits, but let me tell you this: I had always had computers at least 10 years out-of-date. I knew what it meant to have a slow crap that couldn’t run what the others liked to use daily. I think it shaped my current use of the resources available to me. I have learnt to program on these machines. And surprisingly - to me, then - they were powerful enough to sustain my small C programs.
Then, I inherited my parents' laptop, in 2013 I think. They had bought it in 2004 or 2005, it was a reasonable Compaq laptop for office workers who enjoy typing numbers in spreadsheets. Let’s be honest for a second: it may have been the crappiest laptop that I have owned. Not only because it was the oldest, even if I try to compare the “relative feeling” of performance using it with well fitting applications, it was slow as hell. I kept it for 2 years before I could buy my own laptop: a brand new Lenovo Ideapad 100-15. It costed me 100€.
The Ideapad was quite bad, to be honest. It was so bad it had no fan, the passive cooling was enough to keep the CPU temperature in check. Let me tell you, I now think of it as a big feature of this laptop. 13 years later it is still doing well, it is clean, the battery still lasts two entire hours!!! But it has always had a hard time running anything. It was shipped with a barely usable Windows that I ditched for an Archlinux. And it was with this laptop that I learnt to really customize a Linux for it to suit my needs. This means that I set up a naked WM, chose lightweight applications, selected the features and daemons I needed and wanted, etc. I did a good job using it for years at the university.

But during my Master studies, I had to write a lot of Java code. I had to use Eclipse plugin, Eclipse DSLs, Eclipse foo, Eclipse bar. I could not stay in the VIM cave anymore and my laptop didn’t like that. It took a solid 15min for Eclipse to really start. I had tweaked the GC-related settings for it to fire as soon as possible to ensure my 2GB of RAM would stay healthy. I had even activated the option to press a “run the garbage collector” button to fire it manually. And boy did it work. It was nonetheless unbearable. I had to do most of my work on the gaming computer at home instead of the laptop anywhere I brought it to. I finally had a bit of money and bought another laptop, a quite good one at last. But this one lasted about 2 years before the (impossible to replace) battery started to really scare me.
At this moment, I had two options: the gaming computer and the laptops the lab gave me for my doctorate (and then for my research engineer contract). I used both options profusely but after 7 years in this research team I had to leave and gave back the machine they lent me. All I had was my gaming computer which I lost the habit to use… and the Ideapad I bought for 100€.
Guess what, I reinstalled an Archlinux on the old fella and tried to use it like I did back then. And it all went wrong. The world had changed in 10 years and browsing the internet was barely possible with this little amount of horse-power. So at some point I found a reconditionned laptop, that happens to be the same as the one I used during my doctorate - a DELL Latitude from 2017. I bought it and we can say it is my daily driver now.
Why do I always need these powerful machines?
I have been thinking about all of that. I don’t like to buy new computers while the current one still works fine. I have always taken good care of my stuff and I am lazy enough not to want to reinstall and reconfigure everything on the new hardware. For these reasons, I would totally prefer keeping the same partner in crime for about forever - especially since I don’t need more power.
Well, software engineering didn’t evolved the way i’d want it to. Instead of using our resources in a more mindful and optimized way, we have continued to follow the Philosophy of Infinite Computation. We don’t care much that the tools we use consume an insane amount of RAM, or need a high-end CPU. I will even dare to say that we are ok with wasting an insane amount of disk space, just because we supposedly have more than enough3. Nowadays, it is perfectly normal that an IDE needs about 8GB of RAM to do its job. Remember, that’s the total amount of RAM available on my gaming computer. It is normal for your operating system to be juggling with about 1GB of RAM while relatively idle. On my laptop, using AwesomeWM and with a couple of services running in the background4, there must be around 500MB of RAM in use.
But most importantly, we have totally surrendered to the JavaScript virtual machine and what Big TechⓇ forces our machines to compute for them. Many if not most websites we are used to visit everyday are entire applications which rendering is entirely done on our machines, pulling entire dependencies5. Big chunks of logic are done locally while they could totally be prepared by the server. But nope. For this reason alone, we are forced to keep in touch with the latest standards of power for our computers to browse the shitpost kingdom.
It needs to change
I have been thinking a lot about frugal computing. First, for my own selfish purposes, I consider that I don’t need to upgrade computers unnecessarily like I’m expected to. I want to keep using my machines until they feel shaky and go to the farm to retire and live a healthy life, far from the mad city’s pace. And also because I want my daily setup to be as quiet and invisible to me as possible. I want to consider my idle machine as idle. I want to be able to run heavier computations on my machine without thinking twice about the fact that my text editor is open. I actually shouldn’t think about that in 2026.
Second - and it is the most important reason - the current framework of computation is an ecological disaster. I was talking about people/developers daily use of computers, but I would like to highlight what happens server-side too. Not only are our needs for storage and good old computation already unsustainable (to the point of delegating parts of the work to your machines, remember), but on top of that we have reached the great AI era! For datacenters to run all these LLMs, absolutely unfathomable amounts of water6 and electricity are consumed daily. It is both an insane waste of computing resources but also a major source of stress on resources used by everyone to meet their basic needs: water to drink, electricity to power houses, hospitals, schools, everything, to heat people when it’s cold out there. But nope, all of this is wasted to ask the LLM to generate templates of React components. The same LLM-craze leads our leaders to create “intelligent” drones, to kill people. It serves companies to replace the workload with dumb machines which give everyone the impression of doing the work and provide effective results (except tech experts and end users obviously).
This has to stop.
We can’t as humans, as both computer enthusiasts and consumers, sustain it. This paradigm seeing computation resources as infinite and imagining services growing indefinitely is literally killing people, it is destroying our social habits and capacities, it makes us slaves of the technology we use and can neither comprehend nor modify and sometimes we can’t even use alternatives7. We are captive in a system that create monopolies with technical solutions that are supposedly one size fits all. But it is obviously not the case. Moreover, these same technological solutions end up being manipulative systems training our brains to crave it, to go back to it. These solutions strive to increase your engagement because this is how they make money, either by selling you (your data) or by flooding you with ads.
We can’t sustain it any longer for ecological reasons as well. Remember, the global warming has already reached multiple non-return points. Many species are dying, some are already condemned to a near extinction and many other may face the same fate if nothing changes. Countries around the equator are becoming so hot that fire start every year, at increasing intensity. People are dying, their access to water is hindered both by the heat and by our capitalist society that keeps it to cool down their machines for profit. No matter how, we need to change the way we see computation and use this tool.
- We need to stop the internet-first mentality and being always online. It consumes way too much energy, it is so bad for our mental health and the very way our brains function and it destroyed the work-life balance of many, destroyed our means of information and is helping fascism rising everywhere on Earth.
- We need to stop thinking about adding features and more about how to reduce the impact of our tools on our environment.
- We have to counter the rebound effect that inevitably comes with every technological progress we have witnessed these last 50 years. I cannot imagine working so hard to maintain the same level of comfort and functionality while reducing the cost and energy consumption only to see companies produce more for the same price.
- I know it’s a meme but we need to touch grass, really.
My latest projects
I’ve been obsessed about energy consumption and resource management for a moment now. As I’ve stated multiple times now, I have already made effort to optimize my daily workflow. I am able to use 10-15 years old machines as if they were new, just because I choose my tools carefully. However, I still think it is not enough. No matter how hard I tinker with my laptop, it is still a decently powerful Intel computer. The CPU is relatively power-hungry, the SSD is hungry, everything is hungry in this kind of machine. So I wanted to test something else.
I have this Raspberry PI 3B+ we bought 6 years ago to make it a mediacenter like everyone else, and ended up being disappointed because of its lack of power. Indeed, according to the documentation if the RPI3B+ temperature rises above 60°C, it starts to gently throttle the CPU to help it cool down. Nowadays I do appreciate that, but back then it made the entire setup unbearably slow and laggy. I have also to admit that the power supply provided with the board was of a shameful quality, I tried to use it the other day and the CPU throttled, the LED never showed up, everything went wrong for no real reason.
I have had this idea of tinkering with it, experiment with an ARM-based machine. I wanted to know if I could make it a decent desktop computer. It consume a lot less than my two Intel machines, so why not. And on top of that, I could try to lower even more my memory consumption by using even simpler programs, compile stuff myself, modify and optimize them for my use-case, my machine, my needs.

Here are the important specifications of that cute board:
| Component | Value |
|---|---|
| CPU | Broadcom BCM2837B0 64bit 4x1.4GHz |
| RAM | 1GB LPDDR2 SDRAM |
| Storage | 16GB MicroSD card |
Mount Everest
So, I reinstalled a new OS on the new death star battle station. Instead of an
usual Archlinux or a Raspbian or whatever, I chose to go with a light
alternative. I chose to run Alpine Linux, yes the
distribution you usually find in Docker containers. It is very lightweight, both
in terms of RAM and disk usage8. This distribution does not use SystemD
and prefers OpenRC instead. I wasn’t particularly aware of init systems before
but not I’m quite convinced by OpenRC. Not that systemd is slow but tends to
start so many things during boot, I have no idea what they are and the RAM
consumption right after logging in into my WM feels like I’m already working
while I’m not. With OpenRC you have a relatively clear idea of what is going
on at startup and once logged in, the machine is idle, for real. I looked at the
memory usage of my system, right after logging in, before launching X11: only
50MB where used.
Unlike all my other machines, I didn’t install Emacs, which may be too big for
this setup and went back to Neovim where I’m from. I chose to ditch
AwesomeWM too and replaced it with dwm, it allows me to configure everything
by literally editing its source code, recompiling on the go and restart it. Not
only it is a stupidly lightweight software but the memory usage stays a bit
below 150MB while idle, which is nice. I won’t detail all my setup, but most
programs are terminal-based, some are TUIs. Typically I use the file browser
yazi like all the cool kids instead of a graphical alternative. The real
problems started with the web browser, like always.
The whole web browser thingy
Since I imagined myself replacing the gaming computer with the RPI, I really need to be able to browse the internet. I have tried a fair amount of lightweight browsers and here is my opinion:
| Web browser | Hot take |
|---|---|
| surf | Garbage. It’s barely usable, uses an outdated version of webkit, has no feature and is slow as hell. |
| w3m | Does the job, allows to browse documentation and very quickly read HTML stuff. But you are also very limited (it’s a terminal pager after all) |
| vimb | Imagine qutebrowser, but minimal and written for performance |
I ended up downloading Vimb sources, tweaked a few things here and there and most importantly, I added compiler flags to optimize the binary9 program. And boy is it fast! I mean, it’s still quite laggy and clearly the RPI 3B+ is not powerful enough for the whole web browsing stuff. But here my quality of life clearly improved compared to the other options. It became my default web browser on this machine.
The state of the whole web stuff
Let’s face it for a second. If you are not equiped with a powerful machine and an up-to-date browser, the web is hostile to you. Actually, even with the proper technology, it is hostile: think a second about all the ads, trackers, cookie banners, etc. The invisible part of these program is hostile to you, but even the rendered page is garbage, full of distraction, trying to grab your attention for the most futile reasons.
But here, i’m not even talking about comfort, but sheer functionality. I can
barely browse Reddit. The frontend of my local immich instance feels about to
explode at any moment, and sometimes just reading a news article can make the
program go out-of-memory. When I am looking for help with my daily issues,
stackoverflow takes minutes to load its cookie banner and accept my click on “no
thanks, bro”. Just loading a webpage with mostly HTML and CSS is kinda slow. Why
is that so slow? As far as I know, my blog articles are small10, they
should be quick to load on any machine. If I judge by the output of htop, it’s
not a problem of memory. Neither is it a problem of CPU. What is this browser
doing? All my other applications aren’t that sloggy.
While I am ready to accept that the RPI 3B+ is a bit old and uses LPDDR2 RAM, which may explain why it is slow, I don’t understand how a web page that would have been considered small back in the days seems to make the web browser suffer that much.
Activate the Gemini Protocol 😎
At some point, and I can’t tell if it was on purpose or not, but I discovered
Gemini. People talk a lot about it in circles
related to permacomputing, low-tech stuff etc. I looked at it from afar, thought
it might be cool. I ended up downloading
Lagrange and gave it a try. Damn, this is so
cool. It is what I missed from the internet from decades ago. People writing
about their interests, endless links to someone else’s capsule. People have even
written custom servers to host more complicated Gemini-based applications such
as a BBS, link aggregators, microblogging platforms etc. It all works using
gemtext files - the custom markup language of Gemini. It is so fast to
download a page and render it. Everything feels so light. I can focus on what
I’m reading and I love to get lost on it.
I ended up downloading a Gemini server, gmid and started my capsule. I hope to communicate a lot about my low-tech adventures on it. It feels like a safe place to write casually about stuff I do, unlike this (empty) blog where I feel the need to be the state-of-the-art of serious blogging.

What did I learn?
Actually, I don’t think that this downgrade is a bad thing. This machine is more than enough for my daily usage (programming simple stuff, browsing the Geminispace, etc). Its only weakness as far as I’m concerned is the HTTP web browsing. But let’s consider the situation differently. I can’t scroll on social media, I can’t really get distracted, the board can’t run any game or whatever. I’m stuck with it to get things done. There is no way I can slack in front of this computer, doing nothing but wasting power. If I use it, it’s with purpose and it seems to work pretty well.
My blog used to run using Hugo, the static-site generator. But given the recent news about the integration of AI in its code, plus the fact that I’ve always found it quite opinionated for something which translates Markdown files into HTML while adding a nice theme. I decided to remove Hugo from my computers and use something else. I got me Bonobo which is another minimal static-site generator written in C by none other than Andrew the guy who is rock hard (come on, dude). And like all the small C programs I get from sources, I adapted it to my needs:
- I added the much needed optimization flags
- I changed the markdown parser, from MD4C to Discount to get all the features I needed.
- I added a feature to generate an index.html with a sorted list of the articles in the directory.
- I ditched th JSON parser to use a homemade data-representation language.
- I wrote a basic syntax-highlighter for my code snippets.
And this is only the beginning! Not only I keep my stuff minimal and efficient but I also have fun. This is why I wanted to use computers for! Note also that this entire article was written on the RPI which I am quite proud of.
- lol as if.↩
- I am not trying to blame or shame him, he is a good friend, a clever and competent guy. He has been one of my favorite colleague there and I respect his choices in software… to some extent. I am just making a point.↩
- My due respects to S.T.A.L.K.E.R. 2 and its +150GB of disk storage.↩
- Nextcloud, compton, probably one or two other shenanigans.↩
- Cheers to bootstrap, fontawesome, etc.↩
- For reasons discussed later, it is important to tell you that my web browser OOM’d visiting this website and crashed altogether.↩
- I’m thinking of the banking system, the bank applications for our phones. All the Google, Microsoft, whatever services that about everyone uses and takes for granted, to the point that if you boycott them, you make yourself an outcast even from society.↩
- My now relatively full-featured desktop eats up about 3.7GB of disk space.↩
-
-march=native -O3for the win.↩ - In terms of bytes, I know I can’t be concise.↩