Varun Ramesh's Blog
Evaluating Algebraic Expressions using Parser Combinators
An Introduction to Parser Combinators
ChatGPT is Good at Roleplaying Characters
Simple Tips to Level Up Your Python Programming Skills
Thermomorph Postmortem
Proctor Postmortem
Loop, Autoplay, Muted, Playsinline - Say Goodbye to Animated GIFs
The Boehm GC Feels Like Cheating
No More Primitives - What Python and Java Get Wrong
I Allowed All Web Push Notifications for a Week
Editing Gameplay Videos without Re-encoding using FFmpeg
How I Structure GameObjects - Components and Mixin-based Inheritance
Lua Gotchas
Composable, Programmatic Animations for Games
Unifying Dynamic Type Tests and Type Refinement
Stackless vs. Stackful Coroutines
Spaced Out - CS148 Ray tracing Project
Automatically Promoting Constructor Parameters to Fields
Runaway Robot - A Mobile Runner Game
Pulling a Page's Modified Date from Git
Blue Screen - Ludum Dare 30 Entry
ASCII Bell Character
Simple Reloading Server in Bash
The Damned
A Perk of Using WebGL
Recent Hackathon Projects
Designing a Cardboard Canoe