I'm Milo, a software mage

working at Bubble, and studying at University of Toronto.

-----------------


about me

I'm a student at University of Toronto who loves to code. In my free time, I make graphical simulations, build frontend sites, and write the occasional Rust server. I carefully craft fast and clean code.

TypeScript, HTML & CSS

I'm a core team member on SolidJS, where I research Solid 2.0 and lead the development of the Solid Playground. I've worked on multiple large TypeScript & React projects, and I love to keep up with the latest frontend trends. I'm currently working on standardizing Signals into JavaScript.

Rust

In addition to loving cutting edge performance, I'm also a programming language polyglot. I've written several small WebGPU apps, networking servers, and even a compiler. I've even made a metasploit reverse shell payload.

Scala & Java

I developed a massively multiplayer realtime browser game in Scala & ScalaJS called Snowy, a synthesis of my interest in graphics, physics, and networking. This project taught me about build tools, profiling, and functional programming.

C#

I worked on a large microservices document management system used by thousands of lawyers. My work involved building an OAuth server for SSO and replacing a SQL Server ORM with native PostgreSQL.

Others

I've also programmed in Typescript, Scala, Java, Rust, C#, Lean 4, Zig, Python, Haskell, Swift, C, Go, Koka, and Racket. I enjoy programming language theory and design.


projects

solid playground

Solid Playground

The Solid Playground is a web app that lets you write Solid code and see the results in real time. It uses Monaco and ESLint to provide a developer experience that rivals a full local setup.

TimeViewer

TimeViewer is a web app that lets you view your daily activity in realtime with extreme precision. Its macOS window watcher was used to rebuild ActivityWatch and is used by thousands of users daily.

timeviewer
busy beaver challenge

Busy Beaver Challenge

The Busy Beaver Challenge is working on a formal proof of the upper bound of BB(5). I added the interactive viewer of Turing Machines that shows the simulations.


simulations

I have made over a hundred fun little simulation projects. I've put a few below and many more are available at CM-Tech, a name I use on projects that I build with my friend Cole.

brownian motion simulation

Traffic dots

A fun project where dots move randomly semi locked to a grid. They bump into each other and you can click to repel or attract them, depending on the setting.

Car Evolution

This project uses the planck.js physics engine to simulate and evolve cars to drive through a virtual course.

car simulation
boids simulation

Boids

Boids is a term coined by Craig Reynolds that is used to describe objects which flock in groups. This project simulates boids shaped like caterpillars.


fun facts

  • My first blog post on reactivity algorithms is here
  • Before the pandemic I was learning to rock climb. My best was a V6.
  • I have hidden a few Easter eggs in this site; see how many you can find.