Don't tug on that, you never know what it might be attached to
From the highly eclectic blog of Mark Dominus
The latest blog posts to take off on Hacker News. 4,390 posts.
From the highly eclectic blog of Mark Dominus
In case you missed it – we got PulseAudio 9.0 out the door , with the echo cancellation improvements that I wrote about . Now is probably a good time for me to make good on my promise to expand upon the subject of beamforming.
In the last Jepsen analysis, we saw that RethinkDB 2.2.3 could encounter spectacular failure modes due to cluster reconfiguration during a partition. In this analysis, we’ll talk about Crate, and find out just how many versions a row’s version identifies.
Lately I have had the need to do real time video capture from HDMI devices as of late for a project, and while looking around the internet found that all of the capture cards that are aimed at gamers (windows / OSX support only) or full blown production capture (Very expensive, more inputs than I need). The other…
As part of an ongoing attempt to learn more about how a real-life Garbage Collector (GC) works (see part 1) and after being inspired by Julia Evans’ excellent post gzip + poetry = awesome I spent a some time writing a tool to enable a live visualisation of the .NET GC in action.
Apple announced a new file system that will make its way into all of its OS variants (macOS, tvOS, iOS, watchOS) in the coming years. Media coverage to this…
Prologue (2006) I attended my first WWDC in 2006 to participate in Apple’s launch of their DTrace port to the next version of Mac OS X (Leopard). Apple…
Efficient concurrent programming libraries are essential for taking advantage of fine-grained parallelism on multicore hardware. In this post, I will introduce reagents , a composable, lock-free concurrency library for expressing fine-grained parallel programs on Multicore OCaml . Reagents offer a high-level DSL for…
I recently completed UT Austin's Distributed Computing class, taught by Lorenzo Alvisi. My project partner Pato and I decided to give it a go in Haskell, and ended up using Haskell for all project assignments (Chandy-Lamport, Paxos, and Bayou).
ramblings by Adam Perry
I think Rust is extremely well-suited for low level Linux systems userspace programming — daemons, services, command-line tools, that sort of thing. Low-level userspace code on Linux is almos…
Michael Isard, Derek Murray, and I recently sent in a HotOS submission (it’s not blind, so no harm talking about it, we think). The subject is hinted at from...
After failing to find good papers about distributed systems testing for many months, yesterday I asked a question in Twitter:
Wherein the author discusses (another) accident of history.
Update (2016-10-07): The official FAQ has an entry for this exact problem now. I'll leave this post as more curiously minded people.
Occasionally I’ve needed to key a hash table with C pointers. I don’t care about the contents of the object itself — especially if it might change — just its pointer identity. For example, suppose I’m using null-terminated strings as keys and I know these strings will always be interned in a common table. These…
Some time ago, I’ve moved this jekyll-based blog from GitHub Pages to a self-hosted NixOS server. A few weeks ago, I’ve also moved some parts of my local OS X environment from homebrew over to nix.
Do they know what the hell they're doing?
Wherein the author discusses the Plan 9 operating system. First of several.
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…
I wanted to know how a modern C compiler like clang would process the following C code: #include <stdint.h> int count(uint64_t x) { int v = 0; while(x != 0) { x &= x - 1; v++; } return v; } Can you guess? popcntq %rdi, %rax That is right. A fairly sophisticated C function, … Continue reading The surprising cleverness…