Why Cities: Skylines 2 performs poorly
The teeth are not the only problem
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 79 posts.
The teeth are not the only problem
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…
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…
Anubis could not load its JavaScript. The server may be overloaded. Please reload the page to try again.
This post assumes some basic C skills. Linux puts you in full control. This is not always seen from everyone’s perspective, but a power user loves to be in control. I’m going to show yo…
This is the story of a clever trick that's been around for at least 35 years, in which array values can be left uninitialized and then read during normal operations, yet the code behaves correctly no matter what garbage is sitting in the array. Like the best programming tricks, this one is the right tool for the job…
We’ve been working hard on making Firefox even faster and we’re extremely happy to report that this has resulted in an improvement in speed.
Most people think assembly is only to be used to write toy programs for learning purposes, or to write a highly optimized version of a specific function inside a codebase written in a high-level language.
Xe Iaso's personal website.
We have a CPU mystery! We found a way to cause some processors to enter a glitch state where the normal rules don’t apply, but what does that mean…?
MySQL needs little introduction. Over the last 28 years it has become one of the most widely deployed SQL databases. MySQL is primarily used for online transaction processing (OLTP) workloads, but is also deployed as a part of OLAP and queuing systems.
ESET researchers are the first to publish an analysis of BlackLotus, the first in-the-wild UEFI bootkit capable of bypassing UEFI Secure Boot.
This is an introduction to data structure flattening, a special case of arena allocation that is a good fit for programming language implementations. We build a simple interpreter twice, the normal way and the flat way, and show that some fairly mechanical code changes can give you a 2.4× speedup.
This paper reflects work done in late 2022 and 2023 to audit for vulnerabilities in terminal emulators, with a focus on open source software. The results of this work were 10 CVEs against terminal emulators that could result in Remote Code Execution (RCE), in addition various other bugs and hardening opportunities…
Window management is one of those areas I'm fascinated with because even after 50 years, nobody's fully cracked it yet. Ever since the dawn of time we've relied on the window metaphor as the primary way of multitasking on the desktop. In this metaphor, each app can spawn one or more rectangular windows, which are...
You can't safely use the C setenv() or unsetenv() functions in a program that uses threads. Those functions modify global state, and can cause other threads calling getenv() to crash. This also causes crashes in other languages that use those C standard library functions, such as Go's os.Setenv ( Go issue ) and Rust's…
Nano How-To explaining how to setup a root file system with only emacs.
Developers often believe that software performance follows a Pareto distribution: 80% of the running time is spent in 20% of the code. Using this model, you can write most of your code without any care for performance and focus on the narrow pieces of code that are performance sensitive. Engineers like Casey Muratori…
In this article I will take a look at the classic concurrent ring buffer and how it can be optimized to increase throughput.
A bottom-up, animated guide to HTTP load balancing algorithms.
Porting Linux to Apple Silicon
Note: If you're here because you just want to watch Netflix on Asahi, install this (Edit: for Arch users, grab this . Fedora users can install the widevine-installer package), and then scroll down to the "Netflix-Specific Annoyances" section.
How we upgraded from Postgres 11.9 to 15.3 with zero downtime
A large amount of fantastic open source software originates from “scratching an itch”. Such was the case with Firecracker . In 2014, Amazon launched AWS Lambda as a “serverless” compute platform: Users can provide a function — say, ten lines of Python code — and Lambda provides all of the infrastructure between an…
You can build, test, and run the Android support for RISC-V on your own machine.
Over the past years, the adoption of RocksDB increased dramatically. It became a standard for embeddable key-value stores.
I have been working on a hobby project to reimagine the C core of Emacs in Rust. On this journey, I reached the point where I needed some way to represent the text of a buffer. The simplest approach is to just use a large string or array of lines. However these each suffer from poor performance as either the size or…
In this blog post, I delve into the comparison of memory consumption between asynchronous and multi-threaded programming across popular languages like Rust, ...