New
The latest blog posts to take off on Hacker News. 4,389 posts.
Linux Capabilities in a nutshell (2019)
Linux capabilities can be difficult to understand so let's go through them quickly
Static Executables with SBCL v2
It's taken me much longer than I hoped, but I finally have a second version of my patches to build static executables tested and ready to go! This set of patches vastly improves upon the first by reducing the amount of compilation needed at the cost of sacrificing a little purity. Additionally I have created a system…
You need to be able to run your system
"Run the unit tests" doesn't count. The complexity of your system is in the interactions between the units.
Cranelift, Part 2: Compiler Efficiency, CFGs, and a Branch Peephole Optimizer
This post is the second in a three-part series about Cranelift . In the first post , I described the context around Cranelift and our project to replace its backend code-generation infrastructure, and detailed the instruction-selection problem and how we solve it. The remaining two posts will be deep-dives into some…
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.
Don’t format a drive of M1 Macs from recovery mode
Because it’s a real mess to reinstall Big Sur!
Arranging Invisible Icons in Quadratic Time
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don…
What security does a default OpenBSD installation offer?
In this text I will explain what makes OpenBSD secure by default when you install it. Do not take this for a security analysis, but more like a guide to help you understand what is done by OpenBSD to have a secure environment. The purpose of this text is not to compare OpenBSD to other OSes but to say what you can…
Running Nomad for a Home Server
Setting up a single node Nomad and Consul server to deploy self hosted workloads.
Is Your Linux Version Hiding Interrupt CPU Usage from You?
TL;DR: Some Linux distros and even different kernel versions within a distro have disabled IRQ time accounting. In such case, your monitoring tools will report zero time spent in hardware interrupt handlers (shown as %hi, %irq, hiq, etc). It’s easy to check how your kernel is behaving by looking at /proc/stat and you…
Performance Showdown: Rust vs Javascript (2020)
After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the [Advent Of Code](https://adventofcode.com/). My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While…
External boot disks still don’t work properly with M1 Macs
Making an external bootable SSD for an M1 Mac has proved tricky. Has this changed in macOS 11.2? If you’ve already got 11.1 running on one, how do you update it to 11.2?
Patterns of Distributed Systems (2020)
A catalog of patterns to better understand, communicate, and teach the design of distributed systems
Starting Over: A FOSS proposal for a new type of OS for a new type of computer
My talk should be on in about an hour and a half from when I post this. A possible next evolutionary step for computers is persistent memory: large capacity non-volatile main memory. With a few terabytes of nonvolatile RAM, who needs an SSD any more? I will sketch out a proposal for how to…
Migrate Everything from Linux to BSD
As an operating system GNU/Linux has become a mess because of the fragmented nature of the project, the bloatware in the kernel, but mainly because of the manipulation by corporate interests. There exist several technical reasons for when a migration from GNU/Linux to BSD make sense, but this article isn't about that…
Making Sense of the Audio Stack on Unix
Audio on Unix is a little zoo, there are so many acronyms for projects and APIs that it's easy to get lost. Let's tackle that issue! Most articles are confusing because they either use audio technical jargon, or because they barely scratch the surface and leave people clueless. A little knowledge can be dangerous.
Architecture.md
If you maintain an open-source project in the range of 10k-200k lines of code, I strongly encourage you to add an ARCHITECTURE document next to README and CONTRIBUTING. Before going into the details of why and how, I want to emphasize that this is not another docs are good, write more docs advice. I am pretty sloppy…
8 Bits Are Enough for a Version Number
As was pointed out to us stable kernel maintainers last week, the overflow of the .y release number was going to happen soon, and our proposed …
Where's the fastest place to put my server? How much does it matter?
Using my own web server accesslogs and public latency data to get a quantitative answer and why roundtrips are such a pain.
Writing high performance F# code
While this post is addressed to F# .NET developers, it introduces much wider concepts starting from hardware architecture to overall .NET runtime and JIT compiler optimizations. It shouldn't be a surprise - optimizing the application performance requires us to understand the relationships between our high level code…
RISC-V isn’t as interesting as you think
I had wrote this before the Unleashed was revealed, so some of the bits on economics have changed. As of writing this, I still stand by my other beliefs. One of the most hyped things in hardware design is RISC-V,… Continue reading →
An unexpected find that freed 20GB of unused index space in PostgreSQL
How to free space without dropping indexes or deleting data
Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRipper Workstation
TL;DR Modern disks are so fast that system performance bottleneck shifts to RAM access and CPU. With up to 64 cores, PCIe 4.0 and 8 memory channels, even a single-socket AMD ThreadRipper Pro workstation makes a hell of a powerful machine - if you do it right! Update 1: Since 2021, networks have gotten faster and now…
OpenBSD on the Lenovo ThinkPad X1 Nano
Lenovo has finally made a smaller version of its X1 Carbon , something I've been looking forward to for years.
Why Create a New Unix Shell?
This post explains the project's motivation from several perspectives. Unix shell is an old and successful technology, so there are many ways of looking at it.