a raspberry pi 5 is a quite practical computer

It boots and runs off of an inexpensive 128GB SDXC card. It won’t run the latest games. It won’t break any compute records. But for practical coding and development it’s the Mary Poppins of single board computers. And at $80 for the board, and, say $20 for a decent performant 128GB SDXC card, you get a really nice computer. You will need an official 27W USB C power supply for another $12 and you might as well get the official active cooler for $5 (look to Sparkfun for both). With the right Linux distribution installed the Raspberry Pi 5 truly shines. I’ve been recommending Ubuntu for the Raspberry Pi 5 since 23.10, and now 24.04. Yes, you’ll need a keyboard and mouse, and some sort of display, but if you shop for bargains or second hand, you can pick up decent examples of all three for around an extra $100. So a complete Ubuntu system for around $200. And you can let the board run bare without a case and save a little cash there.

This is an excellent budget system that’s wide open. It’s the perfect tinkerer’s platform. All the software you could possible think of (and quite a bit you don’t realize is out there) is free as in beer, as well as free as in speech.

For example, that screen at the top is composed of three terminals; one taking up the left half, and the other two taking the upper right corner and lower right corner. The Ubuntu desktop allows you to drag them to either the edges or the corners; edges take up a half of the screen, the corners a quarter. Once set up you can get to work. In my example I’m editing a Rust application using nvim (NeoVim) on the left, while the upper right is my work area and the lower right is where I’m keeping an eye on system resource usage. And I didn’t spend a penny on any of that software.

Right now there’s a vocal minority calling for the end to micro SDXC card usage, in favor of using the just-released Raspberry Pi M.2 Hat plus M.2 drive, but that adds an additional $100 to costs and complexity, while acting as a block to the fan trying to keep the system cool at all times. Frankly, you don’t need it. Quality brand micro SDXC cards (SanDisk for example) are more than adequate for getting started and keeping going for quite a long time.

I’ve lived a good long while, and I’ve been writing software on computers since I was a high school junior in 1971. The Raspberry Pi is a remarkable technical achievement and represents a remarkable bargain, easily accessible from multiple sellers.

the different between btop and htop

btop Ubuntu 24.04 Raspberry Pi 5

There are all sorts of system monitoring tools available for every operating system that has a reasonable presence. I’ve already written about the GUI default shipped with Ubuntu, System Monitor. I like that tool and tend to use it whenever possible, especially when I’m able to sit locally in front of the computer. But if I have to SSH into the system, there are just two text-based tools I turn to, btop and htop.

htop Ubuntu 24.04 Raspberry Pi 5

htop is a descendent of the process monitor top, where the author(s) of htop added colored text to help read what it’s presenting on the screen. I can remember having a hard time trying to keep track of the table of tasks in top, especially late at night (i.e. third shift) when I was tired and trying to stay away. When I first encounted htop I glomed to it like there was no tomorrow and never looked back at original top. I always made sure to install it on every system I was responsible for. With htop I put the task view in tree mode and then just leave it that way in a window to keep tabs on a system’s performance.

btop is more recent, and attempts to provide a more denser, detailed view of a system’s operation and performance. One key feature is that btop will show a time track of various performance metrics. For example, at the top, btop will show not just what the load on each core is, but it will show a unified view of system load from right over left in time. This can be quite useful when you want to know how long a system was under load, not just how much a load a system is in at a given point in time. The same holds true for memory, disk, and network load. In a way it’s a text version of the GUI System Monitor. The problem is that the amount of information can be overwhelming, even if it is colored text you’re reading. A lot of times I toggle off memory (which includes the disk activity) and networking, so that it looks a lot like htop, but with time data.

btop Ubuntu 24.04 Raspberry Pi 5 with memory and network toggled off

I wish in a way that I could combine btop’s CPU view with htop’s process view, because I’m just more used to how htop presents process information. For my personal use I prefer htop for monitoring and management over btop, but I know a lot of folk who prefer btop. Which is good, as choice is always good. As for a personal recommendation I make none at all. If I make any kind of recommendation it is to try them both (or all the others not mentioned) and then make a personal decision. None of them are bad at all.