Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 498 posts.
ELF files on Linux
An step-by-step introduction into ELF files. Learn the structure and format, to understand how binaries and libraries on Linux systems work.
Seven Commandments for Event-Driven Architectures
The critical rules to keep in mind when designing an event-driven architecture
Trigger a Kernel Panic to Diagnose Unresponsive EC2 Instances
When I was working on systems deployed in on-premises data centers, it sometimes happened I had to debug an unresponsive server. It usually involved asking someone to physically press a non-maskable interrupt (NMI) button on the frozen server or to send a signal to a command controller over a serial interface (yes…
JVM Anatomy Quarks: Compressed References
"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.
Modern text rendering with Linux: Part 1
Introduction
Intel 80386, part 1: Introduction
Practical development throughout the evolution of Windows.
VxWorks now with C++17 and Rust support, alongside Ada and SPARK
Wind River announces Wind River Professional Services has been appraised at Level 3 of the CMMI® Institute’s Capability Maturity Model Integration.
A new cycle-stepped 6502 CPU emulator
TL;DR: The how and why of the new 6502 emulator in the chips project.
Bad Binder: Android In-the-Wild Exploit
Posted by Maddie Stone, Project ZeroIntroductionOn October 3, 2019, we disclosed issue 1942 (CVE-...
Notes on the Amazon Aurora Paper
This is my notes on the paper: Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases.
WebOS OSE 2.1
We’re delighted to announce the release of webOS Open Source Edition (OSE) 2.1.0. The highlights of this release are as follows: Change of the default logging system to journald Japanese Virtual Keyboard support and iLib upgrade Bug fix and improvements For more details on this release, see the release notes. Change…
Full-system dynamic tracing on Linux using eBPF and bpftrace
How do you debug an application, library or an entire system with multiple processes? One answer: tracing. An introduction into bpftrace, and an overview of the Linux tracing ecosystem (DTrace, eBPF, uprobes, etc).
The Day “/Proc” Died
Solaris'd... This morning I got an email from our group manager asking about a UNIX server...
Linux Fsync Issue for Buffered IO and Its Preliminary Fix for PostgreSQL
With the latest upgrades to PostgreSQL the fsync failure had been fixed. Avinash Vallarapu takes a look at why this issue might cause problems.
The art of writing eBPF programs
A blog about the process of writing Extended Berkeley Packet Filter (eBPF) programs and what’s going on under the hood at the kernel-level.
Fibers: An Elegant Windows API
The Windows API — a.k.a. Win32 — is notorious for being clunky, ugly, and lacking good taste. Microsoft has done a pretty commendable job with backwards compatibility, but the trade-off is that the API is filled to the brim with historical cruft. Every hasty, poor design over the decades is carried forward forever…
How Web Content Can Affect Power Usage
Users spend a large proportion of their online time on mobile devices, and a significant fraction of the rest is users on untethered laptop computers.
OpenSSH taking minutes to become available, booting takes half an hour (2018)
So, your machine now needs minutes to boot before you can ssh in where it used to be seconds before the Debian Buster update?
ReactOS 0.4.12
ReactOS is a free, opensource reimplementation of windows
Formatting Is Unreasonably Expensive for Embedded Rust
As a (late) part of the #rust2020 request, I wanted to talk about one of the paper-cuts that has become decently problematic for new and experienced users of Embedded Rust: The size costs of formatting in Rust today are unreasonably expensive for users of Rust on bare metal embedded systems. In particular there are…
An Introduction to Vectorization
Your CPU has a 32-bit addition instruction that computes the sum of two 32-bit integers x and y, producing a 32-bit result. (The 33rd bit of the sum, the "carry bit", is usually thrown away.)
Raspberry Pi microSD follow-up, SD Association fools me twice?
/ Fool me once, shame on you. Fool me twice, \ \ prepare to die. (Klingon Proverb) / -------------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || (Excerpt from Ansible for DevOps, chapter 12.) The fallout from this year's microSD card performance comparison has turned into quite a…
Machine learning systems are stuck in a rut
Machine learning systems are stuck in a rut Barham & Isard, HotOS’19 In this paper we argue that systems for numerical computing are stuck in a local basin of performance and programmabil…