Skip to Content

I write about software architecture, programming languages, performance, asynchronous JavaScript, web development, security, developer experience, open source, and the practical craft of building reliable systems — including how AI and coding agents are changing that work.

Follow
🔥 Simulating Course Schedules 600x Faster with Web Workers in CourseCast

🔥 Simulating Course Schedules 600x Faster with Web Workers in CourseCast

This is the story of how I made a Monte Carlo simulation of student schedule assignments 600x faster with web workers. In this article, we'll discuss how I upgraded CourseCast (a course schedule simulator for the Course Match system of the Wharton School of the University of Pennsylvania) from a prototype that struggled with a hundred concurrent users (with ~60 seconds per simulation request) to an infinitely scalable simulator with sub-second execution speeds (faster than a page load!).

Published

The Future of "View Page Source"

The Future of "View Page Source"

The modern Web boasts leaps and bounds of progress in recent years. The Web has truly become a capable, reliable, scalable, and viable platform for modern applications. However, with all of these fancy features comes the cost of complexity. Build systems rendering the Web as a compilation target have become a common trend among production-grade applications. For new aspiring developers (such as ourselves back then), is this really the best path forward?

Published

An Introduction to the Server and the Client

An Introduction to the Server and the Client

In a world that heavily depends on the Internet, we often don't think about the marvelous engineering that makes the modern lifestyle possible. In the first installment of "The Internet in a Nutshell" series, we will explore how the Internet works from a high-level point of view. Throughout this series, we will explore the incredible technologies, infrastructures, and concepts of the Internet that we may have taken for granted in today's time.

Published