Just Write the Parser
Tiark Rompf is an Associate Professor at Purdue University. Notes and blog posts on programming, research, CS, software systems.
Tiark Rompf is an Associate Professor at Purdue University. Notes and blog posts on programming, research, CS, software systems.
We find that, just as a large transformer model trained on language can generate coherent text, the same exact model trained on pixel sequences can generate coherent image completions and samples. By establishing a correlation between sample quality and image classification accuracy, we show that our best generative…
Writing a solver for “Miracle Sudoku” puzzles in Prolog.
Introspectable and extensible IDEs with logic programming
Once upon a time there was a game for the GBA by the name of Hello Kitty Collection: Miracle Fashion Maker. It was a cutesy game based on the famous Sanrio Hello Kitty franchise, developed by Access. But hidden beneath the surface of the seemingly innocuous title was an insidious problem. Somehow, this simple game…
I've been wanting to write a big project in Rust for a while as a learning exercise, and actually started one in late 2018 (a FUSE server implementation). But then life happened and I got busy and never went anywhere with it. Due to certain world circumstances I'm currently spending a lot of time indoors so rust-fuse…
Usually, x86 tutorials don’t spend much time explaining the historical perspective of design and naming decisions. When learning x86 assembly, you’re usually told something along the lines: Here’s EAX . It’s a register. Use it.
A complete list of SQLite releases in a single page and a chronology are both also available. A detailed history of every check-in is available at SQLite version control site .
Note: I copied this from http://misspiggy.gsfc.nasa.gov/tao.html and stripped out all of the IMHO extraneous formatting. ---Alex
Pipes are cool! We saw how handy they are in a previous blog post . Let's look at a typical way to use the pipe operator. We have some output, and we want to look at the first lines of the output. Let's download The Brothers Karamazov by Fyodor Dostoevsky, a fairly long novel.
An exploration into C++ memory throughput performance.
In response to popular demand, Microsoft announced a new feature of the Windows Subsystem for Linux 2 (WSL 2)—GPU acceleration—at the Build conference in May 2020. This feature opens the gate for many…
I write very short scripts, sometimes for single-line commands. Here's why you should do it too.
We are looking for feedback on the Temporal proposal to improve date & time handling in JavaScript.
Learn about the benefits of TiDB and the TiDB Cloud solutions from PingCAP. Read our latest post "Generics and Compile-Time in Rust" here.
Behind the scenes blog of pretix, your friendly ticketing system from next door.
Today we’re introducing Pebble, a RocksDB-inspired and RocksDB compatible key-value store written in Go that brings greater stability to CockroachDB.
Sponsoring this project will help achieve swift completion and ensure the maintenance of psycopg2, psycopg3 and other related projects.
Julia version 1.5 has been released, featuring many performance improvements and new capabilities.
In these videos, I talk about how VGA signals work and build a circuit that provides the correct timing of sync signals so that a monitor recognizes the signal and displays an image stored on an EEPROM.
2020 has been a very long year. What better way to end it than with a major release! Today, we released GTK 4.0. GTK 4.0 is the result of a lot of hard work by a small team of dedicated developers. We will have a separate post to go over the statistics, but the short...
One of the most common "data type" in programming is the text string. When programmers think of a string, they imagine that they are dealing with a list or an array of characters. It is often a "good enough" approximation, but reality is more complex. The characters must be encoded into bits in some way. Most ……
It’s been just over two years since I started learning Rust. Since then, I’ve used it heavily at my day job, including work in the Firecracker code base, and a number of other projects. Rust is a great fit for the systems-level work I’ve been doing over the last few years: often performance- and density-sensitive…
When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site down" 1 . One thing I find funny about this is, even though a decent…
Making music with low-level C code, from a simple saw wave to playing melodies