Elektrine lite

← Feed

Evan Martin

evmar@inuh.net

Posts

  • Post #2158463

    Pet peeve: Rust projects whose repo is organized as a bunch of directories like crates/$projectname_foo crates/$projectname_bar 1) This is not organization! This is ravioli code. Directories and their nesting convey relationships. 2) You don't need to repeat the project name in every crate. In other words, the crate name is not required to match the directory name. If a project has a myproject-async-interp crate, it is easy to figure out that the path named async-interp is its h...

  • Post #1825662

    Speaking of common names, we gave our son a pretty unique one: his mom's last name was already rare, and his is a common name from a different part of the world such that the two together are almost certainly globally unique. On one hand, this is kind of nice, to not have the name conflicts I encounter so often. On the other, sometimes I think it's kind of nice that you can never be quite sure whether some fact is about me or about some doppelnamer. It's almost a kind...

  • Post #1825661

    New blog post: Theseus, a static Windows emulator An new old approach to emulation. https://neugierig.org/software/blog/2026/04/theseus.html

  • Post #1825659

    One of the (private) responses I got to my post about Theseus was someone asking if it can handle packed executables. It can't, of course, because they unpack more code at runtime. But they totally nerd sniped me because for a one-time unpack I could just as well run two phases: first use Theseus to run the unpacker, modified to write out an executable, then run Theseus again on that. In fact, there's a cooler variation I thought of, which I implemented!

  • Post #1825658

    New blog post: Theseus unpacking Revisiting unpacking executables. https://neugierig.org/software/blog/2026/04/theseus-unpack.html (A more structured description of my earlier ramble...)

  • Post #1825657

    This morning I tracked down an emulator bug that manifested as rendering the first scene of a demo and then skipping directly to the third. This kind of thing is brutal (and kind of fun, sometimes) to track down because it is very hard to pinpoint the point where things have gone wrong.