ZFS: Use mirror vdevs, not RAIDZ
Continuing this week’s “making an article so I don’t have to keep typing it” ZFS series… here’s why you should stop using RAIDZ, and start using mirror vdevs instead.
The latest blog posts to take off on Hacker News. 533 posts.
Continuing this week’s “making an article so I don’t have to keep typing it” ZFS series… here’s why you should stop using RAIDZ, and start using mirror vdevs instead.
The Google Cloud Console UI is a large JavaScript application. This article investigates how it could be sped up.
Today we are expanding Fuchsia’s open source model to welcome contributions from the public.
Databases are fabulous resources. Of course, we’ll abuse them in ways that cause challenges.
Last year, I wrote a blog post titled The Raspberry Pi 4 needs a fan. And in a video to go along with that post, I detailed the process of drilling out a hole in the top of the official Pi 4 case and installing a 5v fan inside. But that solution wasn't great. The fan was a little loud and annoying, and would stay on…
From the very beginning of Slack, MySQL was used as the storage engine for all our data. Slack operated MySQL servers in an active-active configuration. This is the story of how we changed our data storage architecture from the active-active clusters over to Vitess — a horizontal scaling system for MySQL. Vitess is…
Background: Joystick Preventing Display Sleep A few months ago, I thought I ought to try Microsoft Flight Simulator 2020. The facsimile of o...
Project Loom is one of the major “projects” in which Java is moved forward, alongside the perhaps better known projects Amber and Valhalla. It will bring “virtual” threads with low resource footprint and low cost of blocking to the Java plaform. Here is my annual advent season update, this time with a focus on…
It's 2020. Quarantines are everywhere – and here I'm writing about one, too. But this quarantine is of a different kind. In this article I'll describe the Linux Kernel Heap Quarantine that I developed for mitigating kernel use-after-free exploitation.
When we launched S3 back in 2006, I discussed its virtually unlimited capacity (“…easily store any number of blocks…”), the fact that it was designed to provide 99.99% availability, and that it offered durable storage, with data transparently stored in multiple locations. Since that launch, our customers have used S3…
Databases shed important RDMS features as they get big. Examining why this tends to be the case, and some ideas for preventing it.
This is not a technical documentation for how I migrated from macOS to FreeBSD. This is a high-level for why I migrated from macOS to FreeBSD.
I was inspired by the release of Apple’s M1 ARM processor to tweet about the perils of lock-free programming which led to some robust discussion. The discussion went pretty well given the inanity o…
Ethical Hacking and Cybersecurity Blog
x86 is back in the general programmer discourse, in part thanks to Apple’s M1 and Rosetta 2 . As such, I figured I’d do yet another x86-64 post.
Notes on Interval Tree Clocks
If we were to start over from first principles, what would I do differently than k8s?
As you may already know, Apple deprecated the OpenGL rendering library in macOS Mojave and provided the Metal framework as a replacement. Metal better reflects the shift in CPU/GPU performance that ha
ScyllaDB’s Glauber Costa explains how two new APIs, io_uring and eBPF, are changing the fundamental nature of Linux programming.
My first computer was a BBC Micro. It could do basic graphics at a resolution of 640×256 - with 8 different colours. Not a typo. Eight! The mono speaker produced bleeps and bloops. It was basic, in all senses of the word. Eventually, talented hackers found a way for it to do simplistic 3D graphics and even speech…
Why does it take 2 years to realise that macOS has been checking signing certificate validity online?
This page describes a TCP performance problem resulting from a little-known interaction between Nagle’s Algorithm and Delayed ACK. At least, I believe it’s not well known: I haven’t seen it documented elsewhere, yet in the course of my career at Apple I have run into the performance problem it causes over and over…
Blog posts about GNU Guix.
Most PCs tend to boot from a primary media storage, be it a hard disk drive, or a solid-state drive, perhaps from a network, or – if all else fails – the USB stick or the boot DVD comes to the rescue… Fun, eh? Boring! Why don’t we try to boot from a record player for a change?
This is a briefing on SQLite intended for Linux kernel hackers, and especially those working on Linux filesystems.