Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,944 posts.
How does Windows decide whether your computer has full Internet access?
Looking for special servers.
The Performance Impact of C++'s `final` Keyword
If you're writing C++, there's a good reason (maybe...) as to why you are. And probably, that reason is performance. So often when reading about the language you'll find all sorts of " performance tips and tricks " or " do this instead because it's more efficient ". Sometimes you get a good explanation as to why you…
Technical Vision for Qt 6
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
Firefox 41 will use less memory when running AdBlock Plus
Last year I wrote about AdBlock Plus’s effect on Firefox’s memory usage . The most important part was the following.
SQL Server on Linux public preview
This post was authored by Tiffany Wissner, Senior Director of Data Platform Marketing Today, we are excited to announce the public preview of the next release of SQL Server on Linux and Windows, which brings the power of SQL Server to both Windows – and for the first time ever – Linux.
Game servers: UDP vs TCP
When writing networked games, the question of UDP vs TCP will eventually come up. Typically you will hear people say things like: “Unless you’re doing action games, you can use TCP̶…
Arbitrary code execution in QubesOS via copy-to-VM error reporting backchannel
We have published Qubes Security Bulletin (QSB) 118: Dom0 arbitrary code execution in qvm-copy-to-vm error reporting. The text of this QSB and its accompanying cryptographic signatures are reproduced below, followed by a general explanation of this announcement and authentication instru...
Serverless Raspberry Pi Cluster with Docker
Learn how to deploy Docker Swarm to create a Raspberry Pi cluster then turn it into a serverless super-computer with the OpenFaaS framework for Docker.
Amazon’s distributed computing manifesto (1998)
Today, I am publishing the Distributed Computing Manifesto, a canonical document from the early days of Amazon that transformed the architecture of Amazon's ecommerce platform. It highlights the challenges we were facing at the end of the 20th century, and hints at where we were headed.
A Requiem for a Dying Operating System (1994)
These views generally result in my being labeled a Luddite by the Unix priesthood. But Ned Ludd was right --- the new machines did not make conditions better for ordinary working folk: the people whose conditions were immediately improved were those who owned the machinery, and whose profits thereby increased…
The Great CPU Stagnation
A blog by and for database architects.
Strings Just Got Faster
In JDK 25, Strings used as keys in immutable Maps can be much faster.
A dream of an ultimate OS (1995)
A vision of an OS that recognizes that any user activity and most of the system activities are nothing but queries, which ought to be treated uniformly and implemented efficiently once and for all; database as a file system; A paper submitted to MacHack'95
XARs: An efficient system for self-contained executables
Distributing large pieces of software to thousands of machines with a wide variety of configurations can pose a significant operational challenge, requiring a process to identify and copy precisely…
Against Essential and Accidental Complexity
In the classic 1986 essay, No Silver Bullet , Fred Brooks argued that there is, in some sense, not that much that can be done to improve programmer productivity. His line of reasoning is that programming tasks contain a core of essential/conceptual 1 complexity that's fundamentally not amenable to attack by any…
Compiler bug? Linker bug? Windows Kernel bug
See the end of the post for an October 2018 bug fix update, or read the whole story: Flaky failures are the worst. In this particular investigation, which spanned twenty months, we suspected hardwa…
What's the difference between the com and exe extensions? (2008)
Practical development throughout the evolution of Windows.
How to write a simple operating system
This document shows you how to write and build your first operating system in x86 assembly language. It explains what you need, the fundamentals of the PC boot process and assembly language, and how to take it further. The resulting OS will be very small (fitting into a bootloader) and have very few features, but it's…
Introduction to ARM Assembly Basics
Welcome to this tutorial series on ARM assembly basics. This is the preparation for the followup tutorial series on ARM exploit development . Before we can dive into creating ARM shellcode and build ROP chains, we need to cover some ARM Assembly basics first.
A friendly tour of process memory on Linux
A deep dive into how Linux manages process memory, page tables, and virtual address spaces
Reclaiming IPv4 Class E's 240.0.0.0/4
Ever since the supply of fresh IPv4 address blocks was depleted there has been a number of interesting market changes, mostly around the costs to either acquire or lease IPv4 address blocks. Since the demand for IPv4 addressing has not changed that much, prices have gone up, and more providers like AWS, Hetzner, OVH…
We need to document macOS
macOS is now largely undocumented. It’s time to do the job ourselves: what about an open collaborative project?
Git archive checksums may change
We are reverting this change for now. More details to follow. The default compression for Git archives has recently changed. As result, archives downloaded from GitHub may have different checksums…
Moving towards a faster web
Speed has been one of Chrome’s core principles since the beginning - we’re constantly working to give users an experience that is instant a...
Linux maintains bugs: The real reason ifconfig on Linux is deprecated (2018)
In my third installment of FreeBSD vs Linux, I will discuss underlying reasons for why Linux moved away from ifconfig(8) to ip(8).