New
The latest blog posts to take off on Hacker News. 533 posts.
CoreBGP – Plugging in to BGP
In this post I'll provide some of my personal experience and history working with BGP, and introduce a new BGP library, CoreBGP, which can be used to build the next generation of BGP-enabled applications.
UASP makes Raspberry Pi 4 disk IO 50% faster
You can view a video related to this blog post here: Does UASP make the Raspberry Pi faster?. A couple weeks ago, I did some testing with my Raspberry Pi 4 and external USB SSD drives. I found a USB 3.0 SSD was ten times faster than the fastest microSD card I tested. In the comments on the video associated with that…
A crash course in just-in-time compilers (2017)
This is the second part in a series on WebAssembly and what makes it fast. If you haven’t read the others, we recommend starting from the beginning. JavaScript started out ...
Scaling Linux Services: Before accepting connections
Theo Julienne is a software & infrastructure engineer.
Raspberry Pi 4 PCIe bridge “chip”
After seeing the work done by Thomasz Mloduchowski and Colin Riley with managing to bridge the Raspberry Pi 4's PCI-Express bus to a USB 3.0 port, and then seeing these comments on hack-a-day, I thought I would give it a go too! So, here's a PCIe bridge chip that simply replaces the VL805 USB 3.
System Hardening in Android 11
Posted by Platform Hardening Team In Android 11 we continue to increase the security of the Android platform. We have moved to safer def...
Was Acorn's RISC OS an under-appreciated pearl of OS design?
I was a huge Archimedes fan and still have an A310, an A5000, a RiscPC and a RasPi running RISC OS. But no, I have to disagree. RISC OS was a hastily-done rescue effort after Acorn PARC failed to make ARX work well enough. I helped to arrange this talk by the project lead a few years ago. RISC OS…
Guide to Linux System Calls (2016)
This complete guide explains all about Linux system calls with sample codes and results.
Console, the vital tool that Apple abandoned
Console is the epitome of Apple’s problem with tools and support for its users, and is exactly what it needs to fix.
Using Zig to provide stack traces on kernel panic on bare metal (2018)
Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code directly on hardware , with no Operating System sitting between the bare metal and my code.
How Does Sqlite Work? (2014)
How does SQLite work? Part 1: pages!
Real VT102 Emulation with MAME
As a software developer, I spend a lot of time using the terminal, or more properly, a “terminal emulator”. Tools like iTerm2 , or PuTTY , or GNOME Terminal , or the classic xterm and rxvt are all “terminal emulators”; they take raw text and formatting instructions and interpret them to display pretty text on the…
Building a high performance JSON parser
JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .
NeXTSTEP on the HP 712 Part 2: Getting Software
In the last post of this series , I set up NeXTstep on an HP PA-RISC workstation . Today, I’m going to get down to business: configure networking, install system patches, outfit it with developer tools, and install some useful software!
Examining ARM vs. x86 Memory Models with Rust
With Apple’s recent announcement that they are moving away from Intel X86 CPU’s to their own ARM CPU’s for future laptops and desktops I thought it would be a good time to take a look at the some differences that can affect systems programmers working in Rust.
Big Sur on Unsupported Macs
My macOS Big Sur Patcher allowed countless users of older Macs to enjoy the new design and features of macOS Big Sur.
ARM Mac: Why I'm Worried About Virtualization
It's late 2020 and you just got a brand-new Mac with Apple's own ARM processors. Exciting! But what will development be like?
Faster Integer Parsing
Back with a post after 6 years of silence. If you had to parse a microsecond-resolution epoch timestamp as quickly as possible, how would you do it? We’ll take a look at using compiler intrinsics to do it in log(n) time.
Microsoft Defender ATP for Linux is now generally available
Today we are excited to announce general availability of Microsoft Defender Advanced Threat Protection (ATP) for Linux! - This initial release delivers...
Jepsen: Redis-Raft 1b3fbf6
Redis is a fast single-threaded data structure server, commonly used as a cache, scratchpad, queue, or coordination mechanism between distributed applications. It offers operations over a broad array of datatypes , including binary blobs, lists, sets, sorted sets, maps, geohashes, counters, channels, streams, and…
Rust concurrency: the archetype of a message-passing bug
Whenever I have a chance, I extol the virtues of message-passing and event-loops in structuring concurrent workflows in Rust. However, in…
A Technology Preview of Nginx Support for QUIC and HTTP/3
We announce the technology preview of NGINX support for QUIC+HTTP/3 as pre-release software, available for interoperability testing, feedback, and code contributions. HTTP/3 replaces TCP with QUIC, which is designed to support multiplexed connections more reliably.
FF Sandbox Escape
By James Forshaw, Project ZeroIn my previous blog post I discussed an issue with the Windows Kern...