M1 Macs have another hidden boot mode
Apple has revealed the hidden Fallback Recovery OS mode available on M1 Macs. How to enter and use it, and why it’s another big plus.
Apple has revealed the hidden Fallback Recovery OS mode available on M1 Macs. How to enter and use it, and why it’s another big plus.
When the Compute Module 4 was released (see my CM4 review here), I asked the Pi Foundation engineers when we might be able to boot off NVMe storage, since it was trivially easy to use with the exposed PCIe x1 lane on the CM4 IO Board. The initial response in October 2020 was "we'll see". Luckily, after more people…
Posts and writings by Lennart Poettering
I got the chance to investigate an interesting bug in SerenityOS this week. It was related to the decoding of JPG images in the operating system. For some reason, when a JPG image is viewed, it comes out like this: Lenna, showing up with incorrect colors. Weird, huh? Also seems like a simple confusion of RGB vs. BGR…
A year ago I wrote a post comparing .NET 5 performance with its predecessor on Fusion performance tests, and honestly, I was quite…
In C, 'main' returns an int. What happens when you don't explicitly return a value, though? C99 provides a return value of 0, but C89... well, that's undefined, my favorite kind of behavior.
Erik Bernhardsson
JDK 17 has been out for a few months and it’s not just packed with new language features. The performance boost compared to older JDK versions is also really significant. It becomes especially clear when compared to the previous LTS releases, JDK 8 and JDK 11. Much of the improved performance comes from new features…
Main software architecture patterns in a nutshell.
(With a caveat: I'm compiling the ARMv8 64-bit Pi OS kernel.) It seems every week or so on Hacker News, a story hits the front page showing some new benchmark and how one of the new M1-based Macs matches or beats the higher-priced competition in some specific benchmark—be it GeekBench, X86-specific code, or building…
A catalog of patterns to better understand, communicate, and teach the design of distributed systems
macOS 11.2, 11.2.1 and 11.2.2 have come in quick succession. What do they tell us about how difficult it is to update Big Sur’s sealed System volume? Is this the way to go?
How does a terminal emulator work? What are ANSI escape codes? Understanding terminal internals for development, fun and mischief.
The Maersk Triple-E Class container ship is 1,300 feet long, carries over 18,000 containers across 11,000 miles between Europe and Asia, and… Its entire crew can fit inside a passenger van. As a former naval architect and a current marketing consultant to startups, I found that
Thanks to some clever people I was able to get a CAD model of the current 2021 Williams F1 car — that’s not something that happens every day, so of course I had to run CFD on it. CAD Ge…
C is a simple language. You’re only allowed to have one function with each name. C++, on the other hand, gives you much more flexibility: You can have multiple functions …
Ever since the Pi 2 model B went to a 4-core processor, disk IO has often been the primary bottleneck for my Pi projects. You can use microSD cards, which aren't horrible, but... well, nevermind, they're pretty bad as a primary disk. Or you can plug in a USB 3.0 SSD and get decent speed, but you end up with a cabling…
Using systemd to avoid having to write some risky code
"Run the unit tests" doesn't count. The complexity of your system is in the interactions between the units.
This tutorial is intended for intermediate C developers who want to get some coding practice and, in the process, gain valuable insights into low-level programming and how (some) Virtual Machines operate under the hood. The reader should already be comfortable with bitwise operations, hexadecimal notation, pointers…
I’ve been hearing about io_uring on and off for the last couple of years. Its a relatively new technology in Linux to allow high-performance IO with very few overheads. Whenever its been mentioned, its usually been presented as a new alternative to select, poll and epoll. This led me to believe that it was just the…
This post is about minimizing amount of disk IO and CPU overhead when reading Zip files. I recently saw an article about a new format that was faster than zip. This is quite surprising as to my mind, zip is one of the most flexible and low-overhead formats I’ve encountered. Some googling showed me that over past 11…