Daft: A High-Performance Distributed Dataframe Library for Multimodal Data
Discover how Daft accelerates multimodal data processing with a high-performance distributed dataframe engine built for modern AI and analytics tasks.
Discover how Daft accelerates multimodal data processing with a high-performance distributed dataframe engine built for modern AI and analytics tasks.
Embeddings, why they’re useful, and how we can store and use them in Convex.
This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the server. This is a significant paradigm shift, and it's caused a whole lot of confusion in the React community. In this tutorial, we'll explore this new world, and build an…
In this post, we will discuss the challenges of programming with locks and how the C++ language offers some useful tools to make it easier. We will start with an example in C and then use C++ to improve upon it in steps. The example APIs are based on real-life APIs from the SerenityOS kernel.
PHP 8.3 is a major update of the PHP language. It contains many new features, such as explicit typing of class constants, deep-cloning of readonly properties and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.
Some notes on storing data in pointers and the impact of >48-bit virtual addresses
A sufficient understanding of computers is impossible without learning how compilers and their parts work. It is like stepping into the computer's mind and seeing how it feels from the inside. Compil...
Posts and writings by Nical
I recently started exploring link-time optimisation (LTO), which I used to think was just a single boolean choice in the compilation and linking workflow, and perhaps it was like that a while ago… I’ve learned that these days, there are many different dimensions of LTO across compilers and linkers today and more…
Today, PlanetScale launched support for foreign key constraints. This article covers some of the behind-the-scenes technical challenges we had to overcome to support them.
Common Lisp programming is often presented as “interactive”. In most languages, modifications to your program are applied by recompiling it and restarting it. In contrast, Common Lisp lets…
6.033, MIT’s class on computer systems, has as one of its catchphrases, “Complex systems fail for complex reasons”. As a class about designing and building complex systems, it’s a reminder that failure modes are subtle and often involve strange interactions between multiple parts of a system. In my own experience…
Lisp in Life is a Lisp interpreter implemented in Conway’s Game of Life.
This article is the final part of a series about Street Fighter II and the CPS-1. It is recommended to read the previous entries before reading this one.
Recently, LLM-based agents have been all the rage – with projects like AutoGPT showing how easy it is to wrap an LLM in a simple agentic loop and prompt it to achieve real-world tasks. More generally, we can think about the class of ‘scaffolded’ 1 LLM systems – which wrap...
Joel Gustafson
This tutorial is loosely based on a 46-page paper by Paul-Virak Khuong and Pat Morin “Array layouts for comparison-based searching” and describes one particular way of performing efficient binary search by rearranging elements of a sorted array in a cache-friendly way.
There are two types of programmers in the world: the practical, sensible, shell-resigned people who need to google the correct argument order for ln -s ; and those twisted, Stockholmed souls who will gleefully run their company’s entire infrastructure on 57 commands stitched together into a single-line bash script.
(New to this series? Consider starting from part 1) At the end of the last post, DbgRs could finally set breakpoints. That was the last really critical feature needed for controlling execution of a program. Now that it can stop on an arbitrary function or code location, the next step is to find more information about…
Welcome to my new site, brought to you by vanilla everything. No Javascript frameworks, CSS libraries or flashy animations. Just markdown, html templa...
Foreign keys are a bit like that well-intentioned friend who insists on double-checking everything you do. They’re often recommended as a must-have for enforcing referential integrity checks in your database.
Historical reference to Ian Denhardt’s A Critique of the Cap'n Proto Schema Language (2019-06-25), with archive and current documentation links.
YOLO-driven development - not for the faint of heart
In my opinion, the PostgreSQL documentation is simultaneously excellent and fairly poor, and both its excellence and its shortcomings are di...
The latest news from Google on open source releases, major projects, events, and outreach programs for early career developers.
Combobulate is a package that adds advanced structured editing and movement to many programming modes in Emacs. Here's how it works, and how it can enrich your editing experience in Emacs.
Getting a kickstart in the logic programming world with Prolog
Our strategy for making updates and maintaining stability while we migrate languages.
Without shooting yourself in the foot, learning lacks motivation. Complexity without reason is really confusing.