New
The latest blog posts to take off on Hacker News. 4,389 posts.
Paxos vs. Raft: Have we reached consensus on distributed consensus?
In our 54th reading group meeting, we were looking for an answer to an important question in the distributed systems community: “What about Raft?” We looked at the “ Paxos vs Raft: Have we reached consensus on distributed consensus? ” paper to try to find the answer. As always, we had an excellent presentation, this…
Thinking in Events: From Databases to Distributed Collaboration Software [video]
Keynote at 15th ACM International Conference on Distributed and Event-based Systems (DEBS) , Online (originally planned to be in Milan, Italy), July 2021.
Using IceWM and a Raspberry Pi as my main PC, sharing my theme, config and some
Published: 10-07-2021 | Author: Remy van Elst | Text only version of this article
PostgreSQL, Memory and the Cloud
This post explains how Linux memory overcommit and OOM-killer behavior can turn a single runaway query into a full PostgreSQL crash, and why many managed cloud database services fail to disable overcommit the way self-hosted PostgreSQL recommends.
What I learned from Erlang about resiliency in systems design (2019)
Failure in computer systems is inevitable. Adopting Erlang's philosophy of "Let it crash" at the many layers of abstractions in software can have a huge positive impact on resiliency.
The historical significance of DEC and the PDP-7, -8, -11 and VAX
Earlier today, I saw a link on the ClassicCmp.org mailing list to a project to re-implement the DEC VAX CPU on an FPGA. Its entitled First new vax in ...30 years? Someone posted it on Hackernews . One of the comments said, roughly, that they didnt see the significance and…
BGP in a Nutshell
PhD student at University of Texas at Austin 🤘. Doing systems for ML.
macOS extensions are moving away from the kernel
Management of kernel extensions has changed significantly in Big Sur and later. This overview for users contrasts kexts with user-level extensions which are replacing them.
Measuring memory usage in Python: it’s tricky
Measuring your Python program’s memory usage is not as straightforward as you might think. Learn two techniques, and the tradeoffs between them.
Computing Performance on the Horizon
USENIX LISA2021 Computing Performance: On the Horizon
Speeding Up the Webcola Graph Viz Library with Rust and WebAssembly
For a recent project I've been working on, I wanted to include a graph showing the relationships between different artists on Spotify. Spotify provides the data directly from their API, and I had everything set up to pull it for a user's top artists and into the browser.
Ray: A Distributed Framework for Emerging AI Applications
Ray: A Distributed Framework for Emerging AI Applications Moritz, Nishihara, Wang et. al.
Dynamic Linking Best Practices
In this article we’ll learn how to build shared libraries and install them properly on several platforms. For guidance, we’ll examine the goals and history of dynamic linking on UNIX-based operating systems.
When static makes your C code 10 times faster
Addendum : Many Hacker News commenters correctly point out that the right way to indicate to the compiler that a value does not change is const . This post is not about C best practices, but just about how one can easily get to the bottom of this kind of surprising behavior by looking at the compiler output. This…
Where are we going from here? Software engineering needs formal methods
The job of a software engineer is not to produce code, but to solve problems; we just happen to solve most of those problems by producing code. Ultimately, producing code is hard, and we need help. That's why GitHub's Copilot is exciting, but it's far from ideal, and it's the tip of the iceberg of what's been done and…
The free lunch is over: a fundamental turn toward concurrency in software (2005)
The biggest sea change in software development since the OO revolution is knocking at the door, and its name is Concurrency.
Avoiding Complexity with Systemd
Using systemd to avoid having to write some risky code
Correctly implementing a spinlock in Modern C++
I’ve seen a lot of poorly implemented spinlocks floating around the internet.
PipeWire Under the Hood
The PipeWire project is slowly getting popular as it matures. Its documentation is still relatively sparse but is gradually growing. However, it's always a good idea to have people from outside the project try to grasp and explain it to others in their own words, reiterating ideas, seeing them from their own…
Your CPU may have slowed down on Wednesday
The death of hardware store optimization.
Did Windows 10 slow down with each feature update?
One of the main reasons some people tend to avoid updating their PCs is that “it makes it slower”. Especially with Windows 10’s Software as a Service approach, where it gets the s…
The wrong way to switch operating systems on your server
world wide web benji-style
Spectre mitigations murder userspace performance
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Io_uring is not an event system
I’ve been hearing about io_uring on and off for the last couple of years. Its a relatively new technology in Linux to allow high-performance IO with very few overheads. Whenever its been mentioned, its usually been presented as a new alternative to select, poll and epoll. This led me to believe that it was just the…
Designing a better strcpy
Saagar Jha's website.