Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 377 posts.
Encrypted DNS and NTP = Deadlock
I recently found out the hard way that encrypted DNS can deadlock with NTP on embedded devices without a battery-backed clock.
On building 30k Debian packages
As part of my ongoing attempts to create some nice datasets for training large code models for C/C++ , I've recently been attempting to buil...
Text consoles and framebuffer consoles in Linux
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
A decade of major cache incidents at Twitter
This is a collection of information on severe ( SEV-0 or SEV-1 , the most severe incident classifications) incidents at Twitter that were at least partially attributed to cache from the time Twitter started using its current incident tracking JIRA (2012) to date (2022), with one bonus incident from before 2012. Not…
Bringing a dynamic environment to C: My linker project
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.
NaN Boxing (2020)
Are you the owner of this domain? Visit Porkbun to start building your website. We may already have a design waiting for you.
Types of events in event-driven systems
Event-driven systems come in all sorts of shapes and sizes. The obvious commonality is; they all use events to communicate information. These events come in many shapes and sizes, and determining what goes into an event has an immense impact on the design of your system.
Linux commands for advanced hardware and system info
Sometimes you need info about hardware, and you probably lost your invoice, spec list or a password to a store website. Maybe you did an upgrade and this info isn't accurate anymore. It's an easy case for home users, but what to do is you have many machines
Saving a Third of Our Memory by Re-Ordering Go Struct Fields (2020)
Simply changing the order of some uint variables we managed to drop our memory usage significantly
Maps and Memory Leaks in Go
A map can always grow in memory; it never shrinks. Hence, if it leads to some memory issues, you can try different options.
How stdbuf works
Harry Marr — Member of Technical Staff at Anthropic. Co-founded Dependabot, previously at GitHub, Monzo, and GoCardless.
The Kobayashi Maru of comparing dates with times
Written pieces, talks, and other bits by Zach Holman.
Fast CI with MicroVMs
I saw an opportunity to fix self-hosted runners for GitHub Actions. Actuated is now in pilot and aims to solve most if not all of the friction.
Upgrading my old Chumby 8 Linux kernel
As I mentioned in my last post, I spent a good chunk of my spare time over the past 6 months working on a project I’ve been thinking about for over a decade. I bought a Chumby 8 in 2011. It’s an 8″ touchscreen device powered by the Marvell PXA166 processor. It is essentially a souped-up digital picture frame with…
RISC-V Linux on ESP32
I've been playing with the idea of running linux on ESP32 since the first days I've met its more robust module, the WROVER-B, on paper it se...
Lockfree Algorithms (2010)
Seru88 adalah situs iGaming resmi dengan sistem RNG transparan, pilihan permainan lengkap, akses mobile dan desktop, serta layanan pelanggan 24/7.
MySQL now shows its thread names at OS level for better troubleshooting
Starting from v8.0.27, the MySQL daemon shows its thread names at the OS level too, for better troubleshooting. The MySQL 8.0.27 release notes say this: To assist monitoring and troubleshooting, the Performance Schema instrumentation is now used to export names of instrumented threads to the operating system. This…
File transfers via the parallel port on DOS using LapLink
Fun with LapLink 5 and parallel port file transfers under FreeDOS
Use this kernel parameter in your kiosk
r/PBSOD is a fun subreddit all about posting pictures of broken kiosks and information/entertainment systems in public. It stands for Public Blue Screen of Death which is a Windowsism but Linux systems are posted there too. If you spend enough time scrolling, you might notice two things: There’s a scary number of…
RISC-V is getting MSIs
Message signaled interrupts or MSIs describe a way to signal an interrupt without a dedicated interrupt request pin (IRQ). One of the most prevalent uses for MSIs is the PCI bus, and the PCI specification defines the MSI and MSI-X standards. The potential benefits may include: (1) reduced number of direct wires from…
Fork() without exec() is dangerous in large programs (2016)
The UNIX fork() system call seems like an elegant way to process tasks in parallel. It creates a copy of the current process, allowing tasks to read the same memory, without needing fine-grained synchronization. Unfortunately, you need to use it extremely carefully in large programs because fork in a multi-threaded…
Why Not ZFS (2021)
ZFS is a hybrid filesystem and volume manager system that is quite popular recently but has some important and unexpected problems.
XMODEM in 2022
Let's start at the beginning: it all started with me trying to boot a system which receives its initial ramdisk over XMODEM.
Implementing a safe garbage collector in Rust
In my last post I introduced an Emacs Lisp VM I was writing in Rust. My stated goal at the time was to complete a garbage collector. I think Rust has some really interesting properties that will make building garbage collectors easier and safer. Many of the techniques used in my GC are not original and have been…
More than you ever wanted to know about font loading on the web (2021)
When I started thinking about writing a post about web font loading my intention was to propose relatively sophisticated ideas that I've...
Shared Libraries as Executables
Typically you either have an executable or a shared library, but can you have an executable shared library too?