Unix as a tool forge and how Emacs fits in Unix philosophy
Wikipedia cites a few different sources on what “Unix Philosophy” is. Peter Salus summarizes it as:
The latest blog posts to take off on Hacker News. 582 posts.
Wikipedia cites a few different sources on what “Unix Philosophy” is. Peter Salus summarizes it as:
A map can always grow in memory; it never shrinks. Hence, if it leads to some memory issues, you can try different options.
How to disable heap (dynamic memory allocation) in an embedded application? This article goes into the details of linker files and how to detect dynamic memory allocation.
Easily migrate from Linux to FreeBSD. Explore key differences, insights, and useful tricks to adapt seamlessly between the two systems.
CPUs like to operate on data types such as uint8_t , uint16_t , uint32_t , and uint64_t . These data types can be viewed as integers modulo 2 8 , 2 16 , 2 32 , and 2 64 respectively. Addition and multiplication can be defined on these integers modulo 2 N in a way which is familiar to most people; for example, in…
True or false? Apple supports macOS for three years. Apple’s security updates are sufficient. New versions of macOS are full of bugs. It’s safer to delay upgrading.
The Linux Scheduler: a Decade of Wasted Cores – Lozi et al. 2016 This is the first in a series of papers from EuroSys 2016. There are three strands here: first of all, there’s some grea…
Microsoft is increasingly standardizing on its in-house CBL-Mariner Linux distribution. Is this Microsoft Linux?
Posts and writings by Lennart Poettering
Last week Microsoft started selling their $599 Windows Dev Kit 2023, formerly known as 'Project Volterra'. I got my hands on one after a little bit of a shipping delay, and promptly started tearing it down to see what's inside. You can click here to browse the entire Twitter thread where I posted pictures of the box…
There is a common view out there that the QUIC transport protocol (RFC 9000) is just another refinement to the original TCP transport protocol [ 1 ] [ 2 ]. I find it hard to agree with this sentiment, and for me QUIC represents a significant shift in the set of transport capabilities available to applications in terms…
Consider a strided incrementing loop over an array of size $N=2^{21}$ with a fixed step size of 256:
Multiple installation media are provided for PC, Raspberry Pi, and MNT Reform. For PC, burn an .iso file to CD, or dd it directly to USB media. For Raspberry Pi or MNT Reform, dd an .img file directly to sdcard.
Who needs a jack-o-lantern when you've got a bright orange gas plasma display? This is a 1990 Solbourne Computer S3000 all-in-one workst...
Tailscale on iOS runs as a special kind of app, a Network Extension. This lets us run in the background, so we can secure traffic from all of your applications, without them having to change anything. But with this power comes a memory straightjacket. Normal iOS apps can use 5GB or so of memory before iOS kills them…
Overall discussion on compilers and IRs (LLVM IR, SPIR-V, and MLIR): why they are in their current manner and how they would evolve
Nowadays, there is increasing interest in adding tagged memory functionality to CPU architectures. Such architectures associate one or more tag bits with each quantum of a system's memory. There are many motivations for this ability to associate “metadata” with individual memory words, but one of the most clear is the…
Making performant dynamic manual memory management in C feel almost like garbage collection.
This little ARM64 single-board computer dragged me into the world of device trees, voltage regulators, and one of the worst Heisenbugs I encountered so far.
I'm writing a linker. It's an unusual linker. It's focus is not on producing executable files. Instead, its focus is to facilitate rapid iteration on a program without having to re-link or re-open it after making changes. It is hot-loading of code at an object-file granularity.
The blog post Streaming services lost the plot detailed how streaming services have become the thing they were made to destroy. Like cable networks and satellite companies before, they're raising rates (at a rate higher than inflation), stuffing their content libraries with filler that's not even worth the bandwidth…
Improving software memory safety is a key security objective for engineering teams across the industry. Here we begin a journey into the XNU kernel at the core of iOS and explore the intricate work our engineering teams have done to harden the memory allocator and make our software much more difficult to exploit.
systemd Shutdown Units
Unix counts time as seconds since the epoch. Seems straight forward. What could possibly go wrong?
Posts and writings by Lennart Poettering
Using truss, dtrace & ctfconvert to figure out a faulty illumos kernel module.
Support for using Rust in the Linux Kernel was recently merged by Linus Torvalds. This is important because Rust is memory safe, meaning that code written in Rust does not suffer from things like buffer overflows, use-after-free, and other memory management vulnerabilities that plague software written in unsafe…
Reading how copy-paste works from the Wayland specification is non-trivial unless you understand a lot of how desktop computing works and Wayland internal. It took me quite a while to figure it all out, though once you get there, it seems quite obvious.
You'll often see instructions for creating and using disk images on Unix systems making use of the dd command. This is a strange program of [obscure provenance](https://en.wikipedia.org/wiki/Dd_(Unix)) that somehow, still manages to survive in the 21st century.