Notes for learning JAX

As a learning exercise, I recently implemented simple-jax-nn, a simple neural net for the MNIST dataset, written with JAX. This post is my notes on using JAX (as a PyTorch / NumPy user) from working through the JAX docs and a NN tutorial. Simple JAX neural net I managed to get it to use my MacBook’s GPU/Accelerator through the Metal support in jax-metal. It’s a little bit tricky, but will prove useful in future transformer projects that can make use of the hardware. ...

11 Sep 2025 · 5 min · Gianluca Truda

Music Melee: a high-speed parkour FPS for making beautiful sounds

Embracing the exponentials and vibecoding an entire 3D game in a few days with Aider, o3-mini, and Claude 3.7 sonnet.

3 Apr 2025 · 2 min · Gianluca Truda

DevLog: orbital mechanics game in your browser

The development stories and roadmap for Orbital, my physics-based 3D simulator for realistic orbital maneuvers that runs in your browser with WebGL and Three.js.

1 Mar 2025 · 10 min · Gianluca Truda

Salvador DALL-E: Falling for Svelte and serverless shennanigans

How I learned Svelte and outsmarted Vercel to make a delightful frontend to OpenAI’s DALL-E … just for my mom.

24 Jan 2025 · 8 min · Gianluca Truda

Streams of beautiful riches

Enter richify.py: a real-time Markdown rendering tool that supports streaming input. Built with Rich and shipped effortlessly with uv.

23 Jan 2025 · 1 min · Gianluca Truda

What I made at the Recurse Center

Links to the projects, games, blog posts, and tools I shipped in my 12 weeks at RC.

2 Jan 2025 · 7 min · Gianluca Truda

Never graduate, revisiting RL, and orbital mechanics | Weeknotes

Week 44 of 2024. Week 12 of RC.

4 Nov 2024 · 5 min · Gianluca Truda

The universe is a big and numerically-unstable video game | Weeknotes

Week 43 of 2024. Week 11 of RC.

28 Oct 2024 · 6 min · Gianluca Truda

DevLog: llmpossible

How I built a command-line LLM on Apple Silicon for RC’s ‘Impossible Stuff Day’

8 Oct 2024 · 21 min · Gianluca Truda