JSON Patch
JSON Patch is a simple, efficient, and standardized way to apply partial updates to JSON documents, especially over HTTP. Learn how it works in production.
JSON Patch is a simple, efficient, and standardized way to apply partial updates to JSON documents, especially over HTTP. Learn how it works in production.
Other languages are inflexible and broken. Let's fix that.
I saw a Mastodon post that made me laugh this morning. It seemed sort of crazy that the html element wouldn’t have 100% support on CanIUse.com. Heck, I’ve been using it since 1994 and it worked just fine back then! This led me down a bit of a rabbit hole.
(please note that there’s a correction at the bottom) In the Overview of cross-architecture portability problems, I have dedicated a section to the problems resulting from use of 32-bit time_…
Ryan Marcus, assistant professor at the University of Pennsylvania. Using machine learning to build the next generation of data systems.
This is not at all news, but it comes up often enough that I think there should be a concise explanation of the problem. People, myself included, like to say that POSIX time, also known as Unix time, is the number of seconds since the Unix epoch , which was 1970-01-01 at 00:00:00.
https://youtu.be/nVRzCstyspQ
Aerc is a TUI email client. It had its first release ~4 years ago. This makes it a “baby” compared to most of its “competitors” (Pine was released in 1992, Mutt in 1995). I heard about this program shortly after its first release but ignored it at the time, because I was still reasonably happy with Thunderbird and it…
There is a recent language comparison repo which has been getting shared a lot. In it, CRuby was the third slowest option, only beating out R and Python. The repo author, @BenjDicken, created a fun visualization of each language’s performance. Here’s one of the visualizations, which shows Ruby as the third slowest…
Reflecting on my most successful open source project.
From the Zed Blog: Thorsten interviews co-founders Nathan, Max, Antonio about the vision and the technological choices behind Zed, how they went from Atom and Electron to Rust and GPUs with Zed.
Discover why Phoenix LiveView + Svelte is so fast and productive. Learn our production implementation tips and performance insights.
Explores SQLite B-Tree index structure with visualizations, explaining on-disk and in-memory storage mechanisms
Recently, my team and I fixed an absolutely bizarre bug that only one person in the team could reproduce. And to make it even weirder, she was only able to reproduce the issue when using her work laptop at home; it worked fine with the same laptop in the office.
Hi there. I’m Bill “LtRandolph” Clark, and I’m the engineering manager for the Champions team on LoL . I’ve worked on several different teams on League over the past years, but one focus has been consistent: I’m obsessed with tech debt. I…
Author: Alexey Makhotkin squadette@gmail.com. Introduction In this database design tutorial (~9000 words) I’m going to show how to design the database tables for a real-world project of substantial complexity. We’ll design a clone of Google Calendar. We will model as much as possible of the functionality that is…
The Ivory Tower is a blog about software engineering and development philosophy by Anders Sundman.
I will often say that the so-called “C ABI” is a very bad one, and a relatively unimaginative one when it comes to passing complicated types effectively. A lot of people ask me “ok, what would you use instead”, and I just point them to the Go register ABI , but it seems most people have trouble filling in the gaps of…
Neovim 0.10 was the longest release cycle since the heady days of the 0.5 release. There are a ton of new features in this release (as well as some breaking changes), so be sure to check the full release notes. You can view the release notes directly in Nvim with :h news. The news file includes information on new…
A fullstack crossplatform app framework for Rust. Supports Web, Desktop, SSR, Liveview, and Mobile.
Sometimes, I don’t know why I do things. It’s one of these times. A few months ago, Python 3.13 got its JIT engine, built with a new JIT compiler construction methodology (copy-patch, cf. research paper ). After reading the paper, I was sold and I just had to try it with PostgreSQL. And what a fun ride it’s been so…
A great amount of my writing on this site revolves around complaining about modern user interface design . Some people agree with me, some don't. Most probably don't care at all. That's fine. What I find interesting is that many (but not all!) people who disagree either present extremely specific non-argument nitpicks…
Among a certain tech set, Kubernetes has earned a reputation as an unnecessarily complicated time-sink that startups should avoid. Using Kubernetes with a small team is seen as a sign of over-engineering.
A very silly concurrency exercise in using Go channels that send channels that send channels that send channels.
Let's create a Git commit using Git's low-level (plumbing) commands
We are adding a new generated code API to Go Protobuf.
I got some fancy new speakers last week. They’re powered speakers and they have streaming service integrations built in, unlike the 35-year-old passive speakers I’m upgrading from. Overall they’re great! But they’re so loud that it’s difficult to make small volume adjustments within the range of safe volume levels for…
Was the ssh backdoor the only goal that "Jia Tan" was pursuing with their multi-year operation against xz?