New
The latest blog posts to take off on Hacker News. 4,389 posts.
How to Read 100s of Millions of Records per Second from a Single Disk
This article gives an overview of the implementation and performance of two recent additions to LocustDB, an extremely fast open-source analytics database built in Rust. The first addition is suppo…
24-core CPU and I can’t type an email
I wasn’t looking for trouble. I wasn’t trying to compile a huge project in the background (24-core CPU and I can’t move my mouse), I was just engaging in that most mundane of 21st century tasks, wr…
TinyWM – A tiny window manager in around 50 lines of C
TinyWM is a tiny window manager that I created as an exercise in minimalism. It is also maybe helpful in learning some of the very basics of creating a window manager. It is only around 50 lines of C. There is also a Python version using python-xlib.
A Basic Just-In-Time Compiler (2015)
Monday’s /r/dailyprogrammer challenge was to write a program to read a recurrence relation definition and, through interpretation, iterate it to some number of terms. It’s given an initial term ( u(0) ) and a sequence of operations, f , to apply to the previous term ( u(n + 1) = f(u(n)) ) to compute the next term…
Vert.x native: how to run a JVM app in 10Mb of RAM
I’ve been working with GraalVM for a while now mostly on the Polyglot aspect, but some work has been done in the native image support. Today I’d like to shar...
Redshift – A better flux program for Linux (2014)
F.lux is a wonderful tool for helping eye strain. People who stare at computer screens all day (like myself) can experience quite a bit of eye strain due to the harsh lights screens emit. One solution is to wear yellow tinted gamer goggles. I chose the cheaper route, installing software to adjust the color temperature…
A little bump in the wire that makes the Internet faster
My parents live in a rural area, where the usual monopolist Internet service provider provides the usual monopolist Internet service: DSL, r...
Systemd's DynamicUser feature is currently dangerous
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 timesyncd failure and systemd's lack of debugability
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…
Unix Syscalls
On UNIX-like operating systems, userland processes invoke kernel procedures using the "syscall" feature. Each syscall is identified by a "syscall number" and has a short list of parameters, which both can vary between operating systems, hardware platforms, and configuration options.
IP addresses and routing
IP addresses & routing
Exploring .NET Core platform intrinsics: Part 4 – Alignment and pipelining
You’ve implemented some of your performance critical code using the new platform intrinsics API. The code is now running 10x or even 100x faster than before, and you might think that it can’t get any faster. This post will show you some less obvious (but almost universally applicable) techniques for improving the…
Into the Borg – SSRF inside Google production network
Intro - Testing Google Sites and Google Caja In March 2018, I reported an XSS in Google Caja, a tool to securely embed arbitrary html/javascript in a webpage. In May 2018, after the XSS was fixed, I r
Command-line apps with Clojure and GraalVM: 300x better startup times
I am a fond Clojure user, and love to use it for both server-side projects and small command-line tools. I love its expressivity and concision, and I like th...
Linux touchpad like a Macbook: goal worth pursuing?
best seo company australia
Almost booting an iOS kernel in QEMU
I tried to boot an iOS 12 kernelcache in QEMU: I managed to get as far as IOKit startup before receiving a kernel panic. I learned a lot about how iOS boots up with this project.
Differential Synchronization (2009)
Keeping two or more copies of the same document synchronized with each other in real-time is a complex challenge. This paper describes the differential synchronization algorithm. Differential synchronization offers scalability, fault-tolerance, and responsive collaborative editing across an unreliable network.
Basics of Futexes
The futex (short for "Fast userspace mutex") mechanism was proposed by Linux contributors from IBM in 2002 [1] ; it was integrated into the kernel in late 2003. The main idea is to enable a more efficient way for userspace code to synchronize multiple threads, with minimal kernel involvement.
Netdev Day 1: IPsec
netdev day 1: IPsec!
How to Analyze Billions of Records per Second on a Single Desktop PC
Introduction This article gives an overview of LocustDB [1], a new and extremely fast open-source analytics database built in Rust. Part 1 gives some background on analytical query systems and my g…
The Effects of CPU Turbo: 768X Stddev
I build and maintain smf - the fastest RPC in the west.The main language supported is C++. We use Seastar asthe actual asynchronous framework.
Making a low level Linux debugger, part 3: our first program
This continues a series where we make a debugger and live editor for (re)creating assembly and C programs.