Austral: A systems language with linear types and capabilities
Introducing a new programming language.
Introducing a new programming language.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Consider a strided incrementing loop over an array of size $N=2^{21}$ with a fixed step size of 256:
PlanetScale offers the world’s fastest and most scalable cloud hosting for Vitess, Neki, and Postgres.
The transition to Apple Silicon brought about many exciting things, but one of the capabilities left behind was access to the world of Intel-based virtual machines. X86_64 just isn't a trivial architecture to emulate, and it may never be feasible to do so on Apple Silicon at a useful speed as the operating systems you…
OpenBSD's share/misc/airport file and a day trip to Lublin
PlanetScale offers the world’s fastest and most scalable cloud hosting for Vitess, Neki, and Postgres.
It does use it, although it doesn't look like it.
Building distributed databases is very difficult. There are lots of clever ideas you can put into a distributed database, but making the ideas work well together in a real system can be very challenging because different decompositions of the same problem can massively affect how difficult it is to solve, and bugs are…
<small>Pssst! Formatting messed up? Add ".md" to the url ✨ If you're stuck using Zoom, jump on [one](https://community.zoom.com/t5/Meet...
Rust prevents out-of-bounds memory accesses and buffer overruns via runtime bounds checks - what’s the cost of those bounds checks for a real-world, production application?
Some days ago I noticed that on a Mac, doing snprintf calls from multiple threads shows curious lack of scaling ( see tweet ). Replacing snprintf with {fmt} library can speed up the OBJ exporter in Blender 3.2 by 3-4 times . This could have been the end of the story, filed under a “eh, sprintf is bad!” drawer, but I…
Long, long ago, the amount of data our systems output to logs was small enough that we were able to retain all of the log files. This allowed our engineers to freely analyze the logs, say for troubleshooting our systems or improving applications. But as Uber's business grew rapidly, the amount of data being logged…
We decided early on to store all chat history forever so users can come back at any time and have their data available. This is a lot of data: how do we do it?
For the last couple of years, we have been working with our friends at Igalia to bring Vulkan to the Raspberry Pi 4 platform, and today we're happy to announce that we have achieved Vulkan 1.2 conformance from Khronos.
Monorepo performance can suffer due to the sheer number of files in your working directory. Git’s new builtin file system monitor makes it easy to speed up monorepo performance.
Porting Linux to Apple Silicon
Following an urgent request by Ukrenergo and Moldova for emergency synchronisation, the TSOs of Continental Europe agreed to start on 16 March 2022 the trial synchronisation of the Continental European Power System with the power systems of Ukraine and Moldova. This acceleration of the synchronisation project ongoing…
Floodgap has had a T1 line since I moved into this house in 2011. I'm one of those weirdos who runs my own hardware and prefers to avoid ...
I wanted to write a post and do a bit of a deepdive into ICMP, ping and traceroute. I’ve found that having a good networking foundation has been a tremendous…
This paper from Sigmod 2021 presents FoundationDB, a transactional key-value store that supports multi-key strictly serializable transacti...
Xe Iaso's personal website.
News and insights on the Android platform, developer tools, and events.
This post describes the implementation and use of pledge() and unveil() in SerenityOS.
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.
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