Writing an OS in Rust: Advanced Paging
This post explains techniques to make the physical page table frames accessible to our kernel. It then uses such a technique to implement a function t…
The latest blog posts to take off on Hacker News. 6,949 posts.
This post explains techniques to make the physical page table frames accessible to our kernel. It then uses such a technique to implement a function t…
CockroachDB's consistency model fits somewhere between serializability and linerarizability. We're proposing a new marketing phrase for CRDB's guarantees: no stale reads.
When considering the panel to discuss concurrency, you’d be pushed to find a higher calibre than Sir Tony Hoare, Joe Armstrong, and Carl Hewitt.
Tracing the x86 context switch in Linux throughout time
Ah, C. The best lingua franca we have… because we have no other lingua francas. Linguae franca. Surgeons general? C is fairly old — 44 years, now! — and comes from a time when there were possibly more architectures than programming languages. It works well for what it is, and what it is is a relatively simple layer of…
tl;dr I found a vulnerability in apt that allows a network man-in-the-middle (or a malicious package mirror) to execute arbitrary code as root on a machine i...
Practical development throughout the evolution of Windows.
Advanced Mac Substitute is an API-level reimplementation of 1980s-era Mac OS. It runs 68K Mac applications in an emulator without an Apple ROM or system software .
During me being at my parents over the holidays (Christmas 2017) I had the usual IT-support stuff to do, that always happens to tech sa...
After diving into the C language through K&R, and then studying portability (see C Portability Lessons from Weird Machines ), my next challenge was to take a systematic look at the standard library. To do this I worked through P. J. Plauger’s book The Standard C Library (ISBN 978-0131315099) where he examines an…
The Pixelbook and four other fairly new Chromebooks have the special flag to enable GPU acceleration, making these the first to get the new feature for Linux. This should bring the Android emulator and improved gaming capabilities to Project Crostini.
CockroachDB uses RocksDB for its storage engine because of RocksDB's rich feature set, which is necessary for a complex product like a distributed SQL database.
Otherwise known as “wait, you mean I can use the TLA toolbox from the command line?”
We open-sourced a fault injection tool, KRF, that uses kernel-space syscall interception. You can use it today to find faulty assumptions (and resultant bugs) in your programs. Check it out! This post covers intercepting system calls from within the Linux kernel, via a plain old kernel module. We’ll go through a quick…
Some of you may know I've been spending whatever time I can scrounge together grinding away at a new serialization library for .NET. Serializers can be complicated beasts. They have to be reliable, flexible, and fast beyond reproach. I won't convince you that serialization libraries have to be quick — in this post…
Today, we are excited to announce the open source release of the FoundationDB Record Layer!
This post introduces paging, a very common memory management scheme that we will also use for our operating system. It explains why memory isolation i…
Serverless computing: one step forward, two steps back Hellerstein et al., CIDR’19 The biennial Conference on Innovative Data Systems Research has come round again. Today’s paper choice is su…
The following is a real critical problem that we ran into here at TripAdvisor, but have yet figured out a clear way to mitigate.
In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don't make…
Task Manager can be lacking as a memory tracker. Let's cover alternatives to replace it. First, let’s discuss how memory allocations work in Windows.
A Primer on Database Replication
Removing spaces from a string is a common task in text processing. Instead of removing single character we often want to remove all the white space characters or the punctuation characters etc.
This document contains a summary of changes made to HelenOS since release 0.7.2 .
The Linux AIO is designed for, well, Asynchronous disk IO! They are not network sockets, but is it possible to use Linux AIO API with network sockets? The answer is a strong YES!