Maybe Everything Is a Coroutine
I was inspired, after reading the excellent blog post Let Futures Be Futures, by the author’s thought experiment of a language in which all functions are coroutines and this is used to express asynchr…
I was inspired, after reading the excellent blog post Let Futures Be Futures, by the author’s thought experiment of a language in which all functions are coroutines and this is used to express asynchr…
This is a tutorial series to help you set up the Vim or Neovim text editors for efficiently writing math in LaTeX. Here is an example of what I have in mind:
Previous update: An explanation of 3d projection mathematics (under Road Basics) and analysis of Activision's Enduro (under Case Studies)! Thanks to everyone for all the e-mail! Keep it coming :) Sorry, I can't answer questions about when I'll post source code, but I'm always happy to answer anything else about these…
Can solving Super Mario Bros. help solve your distributed systems issues?
Disclaimer: I won’t expand on why/when you want to do this kind of hack, and you should not do this unless you know exactly what you are doing. Everything I talk about here is completely unsafe and might not be accurate for the future Go versions. This is not a recommendation, but more of a fun story.
For the past few days, I have been toying with an idea for a board game. To test it out, I wanted to write a simple implementation of it. Here’s an example of a type we might need in a critical phase of the game.
fsspec is secretly everywhere, and boss
Hacking on PostgreSQL is really hard. I think a lot of people would agree with this statement, not all for the same reasons. Some might poin...
A little rest area by the road to a better web.
Multiprocessor Synchronization was one of my favorite classes during my undergrad — it had a clear progression from theory to practice, starting at the theory of consensus numbers and moving onto atomic operations and then synchronization primitives and lock-free data structures, all from first principles. With…
The fact that we can’t remove essential complexity with a software redesign doesn’t mean that there’s nothing we can do about it. What if the problem definition wasn’t outside of our purview? What if we could get the world to conform to the software, and not just the other way around?
Ever wondered how the ^.?$|^(..+?)\1+$ regular expression can tell you if a number is not prime? In this blog post you'll learn how and why it works. Code examples in Java, JavaScript, Python and Perl are provided.
When we received feedback our Notebooks UI was taking too long too load, our engineers dove into ways to improve the developer experience — bringing some load times from 30 seconds down to less than one.
One of the quickest ways to determine whether particular application runs using Xwayland is to resize one of its windows and see how it behaves, for example
A deep dive into how I use types to the fullest
TL;DR: You can use Pydantic’s support for tagged unions to approximate sum types in Python; go right to Sum types in Python (and onwards) to see how it’s done.
SST now natively supports building containerized applications.
Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long tim…
Asynchronous IO (also known as "non-blocking IO") is a technique applications use to allow performing of many IO operations without blocking the calling OS thread, and without needing to spawn many threads (i.e. one thread per operation). In the late 1990s/early 2000s, an increasing amount of people using the internet…
This report performs the first public analysis of MMTLS, the main network protocol used by WeChat, an app with over one billion users. The report finds that MMTLS is a modified version of TLS, however some of the modifications have introduced cryptographic weaknesses.
This essay explores the connection between Erlang's process supervision, state management and durable execution.
I teased at this a bit in my previous posts and finally have a setup I’m happy with, so I thought I’d do a more in-depth writeup.
Enable JavaDoc documentation comments to be written in Markdown rather than solely in a mixture of HTML and JavaDoc @ -tags.
How we spent the last 3 years restructuring the AntennaPod code base.
Crunchy Data is excited to release a new extension so you can write Postgres data to Parquet and or pull data from Parquet to Postgres. Craig has the details and sample code.
Previously in How to present MS-DOS screenshots , I encouraged readers to take the original pixel aspect ratio into account when showing pictures of old games. There’s also a subtler issue to consider: the blur analog display systems had.