4 ms·
It’s a real problem. I threw it at an old MUD game just to see how hard it is [0] then used differential testing and LLMs to rewrite it [1]. Just seems to be ti
by seddonm1 7mo ago
It’s a real problem. I threw it at an old MUD game just to see how hard it is [0] then used differential testing and LLMs to rewrite it [1]. Just seems to be time and money.
[0] https://reorchestrate.com/posts/your-binary-is-no-longer-safe-decompilation/ https://reorchestrate.com/posts/your-binary-is-no-longer-saf...
[1] https://reorchestrate.com/posts/your-binary-is-no-longer-safe-conversion/ https://reorchestrate.com/posts/your-binary-is-no-longer-saf...
- evanelias 7mo agoWow, as a former MajorMUD addict (~30 years ago) that's extremely interesting to see. Especially since MajorMUD is rarely discussed on HN, even in MUD or BBS-related threads. Did you find it worked reasonably well on any portion of the codebase you could throw at it? For example, if I recall correctly, all of MajorMUD's data file interactions used the embedded Btrieve library which was popular at the time. For that type of specialized low-level library, I'm curious how much effort it would take to get readable code.
- seddonm1 7mo agoI am getting closer and closer to a full verified rewrite in Rust. I have also moved to a much easier sqlite relational structure for the backend. I actually sidestepped the annoying btrieve problem by exporting the data using a go binary [0] and I write it to a sqlite instance with raw byte arrays (blobs). btreive is weird because it has a dll but also a a service to interact with the files. P.s. I have spent a lot of hours on this mainly to learn actual LLM capabilities that have improved a huge amount in the last year. [0] https://github.com/barchart/go-btrieve https://github.com/barchart/go-btrieve