We chose Java for our high-frequency trading application
In the world of High-Frequency Trading, automated applications process hundreds of millions of market signals every day and send back…
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 1,232 posts.
In the world of High-Frequency Trading, automated applications process hundreds of millions of market signals every day and send back…
Over the past year I’ve refined my approach to arena allocation . With practice, it’s effective, simple, and fast; typically as easy to use as garbage collection but without the costs. Depending on need, an allocator can weigh just 7–25 lines of code — perfect when lacking a runtime . With the core details of my own…
V8 features a lightweight, in-process sandbox to limit the impact of memory corruption bugs
In case you missed it, Marius recently wrote a post on the Pyston blog about our baseline JIT tier. Our baseline JIT sits between our interpreter tier and our LLVM JIT tier, providing better speed…
Now, we don't want to truly change the observable behaviour of our software — but fortunately the C standard has a more liberal concept of "observable" than most people. In particular, the C standard states that the observable behaviour includes accesses to volatile objects . What is a volatile object, you ask? It is…
It is well known that Win9x variants prior to Windows 98 have a tendency to crash on fast CPUs. The definition of “fast” is of course fuzzy but the problems were known to occur on AMD K6-2 processors running at 350 MHz or faster as early as 1998. This led to some acrimony when Microsoft attempted to charge $35 for the…
As announced on the mailing list , on Friday, Dec 27 2019, our package compression scheme has changed from xz (.pkg.tar.xz) to zstd (.pkg.tar.zst) .
With the recent addition of SharedArrayBuffer, concurrency is finding its way into the JavaScript language.
bpftrace (DTrace 2.0) for Linux 2018: the bpftrace front-end
How-to articles about designing safe, reliable, and secure embedded systems.
Remember when I blogged about linear read scalability out to 32 cores ? Well, the awesome Nate Boley provided me with access to his brand n...
This is a catalog of things UNIX-like/POSIX-compliant operating systems can do atomically, making them useful as building blocks for thread-safe and multi-process-safe programs without mutexes or read/write locks. The list is by no means exhaustive and I expect it to be updated frequently for the foreseeable future.
Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.
Have you ever tried to compile a helloworld Rust program in --release mode? If yes, have you seen its binary size? Suffice to say, it’s not exactly small. Or at least it wasn’t small until recently. This post details how I found about the issue and my attempt to fix it in Cargo.
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…
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…
macOS Internals Deep Dive Building a Development Kernel Collection Configuring our Mac to boot the Development Kernel Collection Putting our machine to work! When did Apple grace us with this feature? Undoing our work for OS updates Closing Thoughts
MongoDB is a long-time user of Jepsen . Over the past three years, Jepsen has performed several analyses for MongoDB, and MongoDB has integrated an expansive Jepsen test suite into their CI system. In March, MongoDB requested Jepsen perform an analysis on a previously untested configuration: sharded clusters. We also…
Posted by Chris Evans, Exploit Writer Underling to Tavis OrmandyBack in this 1998 post to the Bug...
RabbitMQ is a distributed message queue, and is probably the most popular open-source implementation of the AMQP messaging protocol. It supports a wealth of durability, routing, and fanout strategies, and combines excellent documentation with well-designed protocol extensions. I’d like to set all these wonderful…
What users often call a “seamless” or “hitless” reload is a configuration update or a service upgrade performed with no impact on user experience.
Last month finally I had an opportunity to use Bloom filters. I became fascinated with the promise of this data structure, but I quickly realized it had some drawbacks. This blog post is the tale of my brief love affair with Bloom filters.
Servers in the Oxide Rack will form the backbone of both the compute and storage services available to customers. The rack will be composed of a variety of hardware and software components, some of which represent resource-constrained or inflexible environments; e.g., the Service Processor (SP) or Hardware Root Of…
This post investigates how we got from Wi-Fi Direct to AWDL to Wi-Fi Aware, what makes Wi-Fi Aware technically superior, and why this shift unlocks true cross-platform peer-to-peer connectivity for developers.
This is an archive of the original "fsyncgate" email thread. This is posted here because I wanted to have a link that would fit on a slide for a talk on file safety with a mobile-friendly non-bloated format .
The etcd key-value store is a distributed system intended for use as a coordination primitive. Like Zookeeper and Consul , etcd stores a small volume of infrequently-updated state ( by default, up to 8 GB ) in a key-value map, and offers strict-serializable reads, writes and micro-transactions across the entire…