Gradium landing page

I created an animation that responds to speech in an AI voice chat for Gradium, a Kyutai spinoff.

Polylog in the Netherlands

We were invited to give a talk at AvailabilIT, a conference organized by the Dutch student organization SNiC.

Creative Coding Seminar

I ran a week-long seminar on creative coding at a retreat organized by the European Academic Foundation. The seminar ran for five days (8–12 September...

Video: The fastest sorting algorithm

Radix sort is older than the computer yet quicker than quick sort. Why aren’t we all using it?

Unmute.sh, the most modular voice AI around

Speak to an AI using Kyutai's real-time speech-to-text and text-to-speech.

Video: It can't be that hard to make a robot guitar...?

A story of how I decided to build a robot guitar without knowing anything about hardware.

Video: I can prove I’ve solved this Sudoku without revealing it

A Polylog video about zero-knowledge proofs, a mathematical magic trick.

sinewavespeech.com: now LIVE!

Turn any sound into music, in real time, in your browser.

Game: Ant Colony Tycoon Deluxe

Control an ant colony by placing pheromone trails on the ground that ants follow. Made for Ludum Dare 56.

Video: What P vs NP is actually about

What if we could run algorithms backwards? We discuss how we could do this by turning algorithms into circuits, and how it all connects to P vs NP.

Autoguitar

A robotic stringed instrument: one motor tunes the string, and another one plucks it. Fretless, since the pitch is controlled by tuning. Controllable ...

Video: And this year's Turing Award goes to...

We explain why Avi Wigderson got this year’s Turing award: We show how you can make any randomized algorithm deterministic.

Hotdogs

A game about drawing the weirdest thing that an AI (CLIP) still thinks is a dog.

Video: I made maps that show time instead of space

The first video on my new personal YouTube channel, explaining how spacetime maps work.

Video: Why arguing generals matter for the Internet

A Polylog video about the Byzantine Generals Problem, a solution, and how it relates to distributed databases and blockchains.

Spacetime Maps

A map where distances mean _time_ and not _space_. Points that are close but take a long time to travel between get pushed away from each other, and v...

sinewavespeech.com

An interactive website for exploring how human speech can be reduced *extremely* and still be intelligible.

Video: The flaw in every voting system

Our entry to the Summer of Math Exposition 3 video contest. And this time, it's _actual_ math, none of that computer science mumbo jumbo.

Gandalf – a prompt injection game

Get a ChatGPT-powered Gandalf to reveal the secret password for each level. Every time you guess the password, he levels up and tries harder not to gi...

Sine Wave Speech in Python

A Python package for sine wave speech. What's that? Let's listen to an example. Can you tell what the voice is saying? I bet not:

Video: The most powerful (and useless) algorithm

Another Polylog video! We teased this one on April Fools' Day with a video claiming that we had found the optimal algorithm for factoring numbers. Thi...

Video:  The hidden beauty of the A* algorithm

An algorithm explainer video from our Polylog channel, this time on how A\* is basically Dijkstra with some adjustments to the edge lengths.

Large game: Impromptu

Impromptu is a game I've been working on with a few friends since September 2022, shortly after Stable Diffusion was released.

Master Thesis: Accelerating Neural Audio Synthesis

My ETH Zürich Master Thesis. Making AI-generated instrument sounds fast enough to comfortably run in real-time.

Video: We designed special dice using math, but there’s a catch

A video we made with Vašek (Václav) Rozhoň on making dice that can select random permutations. This one was for Summer of Math Exposition 2 so we trie...

Video: The Simplest Sorting Algorithm (You’ve Never Heard Of)

A video we made with Václav Rozhoň on the simplest sorting algorithm. Turns out the algorithm's weirder than you'd expect. We tried to keep it short a...

Game: Significant Other(s)

Living a double life must be hard. How about a quadruple life? Quintuple? Find out! Navigate all your partners through the city using crossroad direct...

Math video: The Trick That Solves Rubik’s Cubes and Breaks Ciphers (Meet in the Middle)

A video we made with Václav Rozhoň on an algorithm to solve the Rubik's cube, with several digressions on more general topics.

Game: Jose's Hose

Oh no! There's a fire in the city and José and Grant have to save the day. A cooperative platformer we made in three days for Mini Jam 98.

Math video: How to Use Beads and Strings to Find the Diameter of a Tree

A video showcasing a surprising way to view a certain graph algorithm. Made together with Václav Rozhoň for 3blue1brown's Summer of Math Exposition c...

Game: Tower Tower Defence Defence

Towers do all the work in TD games. But who will defend the defenders themselves? A recursive tower defence game we made for Ludum Dare 48, whose th...

Game: Overly Fragile Relationships

A game about the transience of human relationships. We made it for Ludum Dare 46, whose theme was "Keep it alive".

Game: The Skewery

Begin your skewer journey and satisfy every customer’s specific request. A puzzle game about learning to create the best skewers. We made it for L...

Game: Paper, Cork and Bugs

You don’t like bugs. Get rid of the bugs to move on to the next level. We made it for Ludum Dare 44, whose theme was "Your life is currency".

Sieve of Erathostenes in Brainf*ck

I got really into esoteric languages at some point, which culminated in me writing the Sieve of Erathostenes in Brainf*ck, a programming language with...

Game: 4-Player Tron

I re-implemented the classic game Tron to support 4 players. We used to play a Flash version of the game at school but it was only for two players, s...