🏷️ Projects Nostalgia Windows Virtual Machines
👀

I Made A Thing, Powered by Windows Me™

A few months ago, I stumbled upon my first website ever on an old floppy disk. Despite the instant cringing, I uploaded it to GitHub, collected other iterations, and made an #awesome-list of others who were brave and/or shameless enough to do the same. But why not take that one 1,000 steps further?

Introducing the Y2K Sandbox — with fully-featured, fully-isolated, on-demand Windows Millennium Edition® virtual machines, simply to experience my first website in its natural Internet Explorer 5 habitat. And maybe play some 3D Pinball: Space Cadet. Oh, and Microsoft Bob is there too if you want to say hello and catch up. 🤓

Play in the Y2K Sandbox, at your own risk.
Play in the Y2K Sandbox, at your own risk.

The backend is powered by QEMU (as a Pentium III emulator) inside isolated Docker containers, websocketd (an awesome lightweight WebSockets server written in Go), and Cloudflare Tunnels (for some protection), all tied together with some Ruby code and shell scripts. I'll push the backend scripts up to GitHub once I have a chance to untangle the spaghetti code. 🍝

The frontend is much simpler with a few lines of JavaScript and noVNC, a VNC-via-WebSockets library, hosted by Cloudflare Pages.

🎉 Update: Everything is now on GitHub!

I must give credit to both charlie.bz and benjojo.co.uk, similar websites I was enamored with when they were posted on Hacker News a few years ago. Think we'll see some websites like these with Windows 29 in a decade?

@microsoft Please don't sue me.
@microsoft Please don't sue me.

Feel free to open an issue on GitHub if you run into connection glitches or have any nostalgic inspiration for software you think would be cool to install persistently on the OS image. I certainly can't help with any actual Windows Me crashes, though — it was beyond help a long, long time ago. Like, the day it came out. But it will always have a soft spot in my heart.

Anyways... quarantine boredom is a crazy thing, am I right? 😷