Legacy Code Isn’t Dead. It’s Just Trapped in the Wrong Language.

You probably have a folder of abandoned software somewhere. Tools that worked perfectly 15 years ago but refuse to run on your modern machine. For home theater enthusiasts and media archivists, BDInfo was exactly that: an 18-year-old Blu-ray analyzer written in Windows-only C#. It was essential. It was also dying.

Legacy code isn’t a graveyard; it’s a hostage situation.

Most developers look at an 18-year-old codebase and see a nightmare. They see technical debt, deprecated libraries, and platform lock-in. But when one developer looked at BDInfo, they didn’t see a lost cause. They saw a rescue mission.

They didn’t just port it to Python or wrap it in a clunky emulator. They ripped it down to the studs and rewrote it in Rust. And they didn’t stop at a cross-platform desktop app—they compiled it to WebAssembly (WASM). Now, BDInfo runs in your browser, in your terminal, and on any operating system you can think of.

Rewriting an 18-year-old tool isn’t about nostalgia. It’s about refusing to let good software die just because the platform moved on.

We’ve been sold a lie that software has an expiration date. That if a tool hasn’t been updated in five years, it’s obsolete. But the core function of BDInfo—analyzing the structure of a Blu-ray disc—hasn’t changed. The media format is the same. What changed was the environment. Windows isn’t the default anymore. Desktops aren’t the only place we compute.

By choosing Rust, the developer didn’t just make BDInfo work on Mac and Linux. They future-proofed it. Rust’s memory safety and performance make it the perfect candidate for heavy file parsing, while WASM means the tool can eventually run entirely in a lightweight browser tab. No installation required.

Rust and WASM aren’t just buzzwords. They are the escape hatch for software trapped in a dying ecosystem.

If you’re a developer, an archivist, or just someone who cares about digital preservation, this project is your blueprint. Stop mourning abandoned tools. Strip them down to their core need, rebuild them in a modern, portable ecosystem, and release them into the open-source wild. Good software shouldn’t die just because the operating system it was born on grew old.

FAQ

Q: Isn't rewriting an 18-year-old tool from scratch a massive waste of time compared to just running it in a Windows VM?

A: Running a full Windows VM just to analyze a media file is like buying a semi-truck to commute to the grocery store. Rust and WASM make the tool instant, lightweight, and universally accessible. It's an investment in the tool's next 18 years.

Q: What does this mean for regular media archivists?

A: It means you can analyze Blu-ray structures natively on macOS, Linux, or even via a browser without jumping through emulation hoops. The tool is finally free from Windows.

Q: Why Rust? Couldn't Go or Python have done the job?

A: Python requires a runtime environment, and Go's WASM support is still clunky for browser-based interactions. Rust offers C-level performance, perfect memory safety for parsing complex media containers, and compiles beautifully to WASM. It’s the only language that actually solves both the performance and portability problems at once.

📎 Source: View Source