Would we still create Nebula today?
Spoiler: Yes. (But the "why" matters. A lot.)
The latest blog posts to take off on Hacker News. 6,947 posts.
Spoiler: Yes. (But the "why" matters. A lot.)
I was lucky enough to attend to EuroBSDCon 2023 and offered the opportunity to talk about one of my favorite OpenBSD stock daemon: relayd(8). The talk was recorded and made available on the EuroBSDCon YouTube channel. . One may check the EuroBSDCon 2023 program for more material. This post attempts a reboot of the…
Discover how Expensify achieved remarkable scaling: 4M QPS on one server! Dive into optimizing SQLite for impressive performance gains.
This function doesn't know the value being multiplied until it is called. The compiler (gcc, O2) emits a generic integer multiply instruction in its loop body.
Hello everyone! It has been nearly three years since I last wrote to this blog. Fortunately, that does not mean Wayfire’s development has stopped! Quite the opposite, in fact I am happy to announce the release of Wayfire 0.8.0. There have been many changes and plugin API breakages since the Wayfire 0.7.x series, so I…
Getting ECC memory working on desktop CPUs.
A guide on building a tiny Linux (only 789 KB) that requires no MMU and deploying it on a RISC-V system, with custom userspace code.
A summary of highlights from the September 2023 release of Chapel 1.32.0
I have been working on a hobby project to reimagine the C core of Emacs in Rust. On this journey, I reached the point where I needed some way to represent the text of a buffer. The simplest approach is to just use a large string or array of lines. However these each suffer from poor performance as either the size or…
Render scaled its Knative infrastructure to handle 100k+ web apps, optimizing Kubernetes for free-tier services and reducing CPU usage to improve network performance.
In Sonoma, some healthy Macs are unable to retain complete logs for 24 hours because of the frequency of entries, and even when privacy is removed, some content is censored.
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS ). Thanks to Anton Fonarev for link aggregation.
Between the Material You design and move to break apart the Chrome browser from ChromeOS, now more than ever, ChromeOS is Linux with Google's desktop environment.
Scaling GAIA-1: a 9-billion parameter generative world model for autonomous driving
This week I was in Rotterdam for a RIPE meeting . On Friday morning I gave a lightning talk called where does my computer get the time from? The RIPE meeting website has a copy of my slides and a video of the talk; this is a blogified low-res version of the slides with a rough and inexact transcript.
As I was preparing the Windows NT RISC exhibit for VCF west , I realized that I’m missing a rather important piece of the history. While I was showing the potentially last DEC Alpha Windows build ever – AXP64 2210 , I don’t have anything earlier than NT 3.51. It would be nice to showcase the very first RTM version …
Memory is a relatively scarce resource on many consumer computers, so a feature to limit how much memory a process uses seems like a good idea, and Microsoft did indeed implement such a feature. Ho…
Transformers have grown deeper and wider, but training them on long sequences remains difficult. The attention layer at their heart is the compute and memory bottleneck: doubling the sequence length would quadruple the runtime and memory requirements.
22 May 2017 by Phillip Johnston • Last updated 27 October 2023I want to make a few points up front to short-circuit common misunderstandings with this article: I have a zero warning policy on my projects. I turn on a lot of warnings. -Wall, -Wextra, and a whole host of specific warning flags. I supplement … Continue…
This post describes the design and implementation of a runtime benchmark suite for measuring the performance of Rust programs, which was recently added into the Rust compiler suite. I have recently blogged about how the whole benchmark suite works, so feel free to read that post first if you want to gather a bit more…
Two phase locking (2PL) was the first of the general-purpose Concurrency Controls to be invented which provided Serializability. In fact, 2P...
I encountered yet another discussion about OpenBSD PF versus FreeBSD PF . For those who are new to the discussion: OpenBSD developers created PF in 2001, and it rapidly improved to become the most approachable open source packet filter. FreeBSD ported PF over to its kernel in 2004, with occasional updates since. Today…
Read about why we built a resource-efficient alternative for Zookeeper from scratch in C++, what our next big step with it is, and how you can join the Keeper community.
(New to this series? Consider starting from part 1) At the end of the last post, we started to get some interesting functionality with the ability to resolve addresses to names in a module. This was the last functionality missing before we could implement breakpoints! This part adds the ability for DbgRs to set…
Over the past year I’ve refined my approach to arena allocation . With practice, it’s effective, simple, and fast; typically as easy to use as garbage collection but without the costs. Depending on need, an allocator can weigh just 7–25 lines of code — perfect when lacking a runtime . With the core details of my own…
sysclean(8) is a system tool designed for help system administrator to keep their OpenBSD clean after upgrade.
I was curious to explore how long a program takes to run, how much memory is used over time, and what processes/threads are spawned. To provide answers I wrote a tool, which I named st . Here are a few things I looked into.
A little-discussed method enables inserting rows with bound data into SQLite faster than any existing technique. This novel method is then discovered to have a drawback that makes it generally unusable. The rest of this article explores how to get the best insert performance out of SQLite generally; what's in your…