Traceroute Isn't Real
Almost nobody understands how traceroute works. Worse, it's not a real tool
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Almost nobody understands how traceroute works. Worse, it's not a real tool
A guide to help you setup your Linux work machine and configure it for a power users workflow
JDK 16 is out, and as usual, each new release comes with a bunch of new features, enhancements and bug fixes. ZGC received 46 enhancements and 25 bug fixes. Here I’ll cover a few of the more interesting enhancements.
Blog posts about GNU Guix.
This post describes the implementation and use of pledge() and unveil() in SerenityOS.
RavenDB is a distributed document database which repeatedly advertises its support for ACID transactions. 1 It’s intended for OLTP workloads, and offers a variety of ETL paths for exporting data to other systems. Its transactional API revolves around a session handle, which “represents a single business transaction on…
From the 8 cores of the original M1 chip to the M1 Ultra’s 20, this is how macOS manages threads from apps, services and other code.
I've been learning a lot about low level programming languages lately, and for a long time there has been one thing that has interested me: SIMD (or 'single ins…
Introduction to the Temporal Python SDK and how Temporal is a durable, distributed asyncio event loop
A short and self contained explanation that will guide you through an implementation of user threads.
I recently did a corporate TLA+ workshop and some people asked what TLA+ specs look like in practice. If you looked at the most common public examples, you’d probably come away thinking that people only used it for critical consensus algorithms. This is a problem for two reasons: first, it makes it harder to learn…
Often programmers have assumptions that turn out, to their surprise, to be invalid. From my experience this happens a lot. Every API, technology or system can be abused beyond its limits and break in a miserable way
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…
USENIX made the decision this week to discontinue its flagship Annual Technical Conference . When USENIX was started in 1975 — before the Internet, really — conferences were the fastest vector for practitioners to formally share their ideas, and USENIX ATC flourished. Speaking for myself, I came up lionizing ATC: I…
Every once in a while I run into an obscure computer technology that is a hidden gem, which over the years has become mostly forgotten. This is exactly how I feel about the tcpdump tool and its kernel counterpart the packet filter interface.
A little walkthrough on an image decoder algorithm's high-level optimization, in order to make more digestable for a 6502 processor.
A complete and comprehensive guide to learn about, set up, and deploy Chaos Monkey and other similar tools for creating chaos. Download the whole guide.
Explore common Linux virtual network interfaces, including Bridge, Bonded interface, VLAN, VXLAN, MACVLAN, IPVLAN, MACVTAP/IPVTAP, and more. Learn how to create and use them effectively for your
I've been involved in the Rust project in some form or another since 2016, and it's a language I'm very comfortable using. Many Rust programmers could say the same . But, if we take a step back and are honest with ourselves, we'd admit that the road to getting to that level of comfort was difficult.
For some of us, the backend vs frontend discussion just doesn’t cut it. What do do, then?
In this blog post, we will explain how strict memory overcommit protects your database from catastrophic OOM (out of memory) kills. We will also share how a one character kernel bug forced us to temporarily disable this setting. Finally, we will explain our heuristic for determining the right memory overcommit limit…
Almost all our computers are made of several processing cores. Thus it can be efficient to "parallelize" expensive processing in a multicore manner. That is, instead of using a single core to do all of the work, you divide the work among multiple cores. A standard way to approach this problem is to create threads. ……
Learn how CPUs work, and discover Apple’s underrated competitive advantage.