Honing in on a core belief recently (1/2):

There's no such thing as code being "readable", not only because being readable implies assumptions about the context of the reader but also most programs cannot present a linear narrative! (see also: gigamonkeys.com/code-reading/ and akkartik.name/post/comprehensi, though lukego.github.io/blog/2012/10/24/readable-programs/ may be a counterpoint.)

This only makes pursuing comprehensible code all the more important though! Even if we can't reach the destination.

Honing in on a core belief recently (2/2):

I continue to want to find a way explain code without relying on fairly static tools like documentation, the code itself, or even tests. Legacy code and software preservation only makes this need more urgent.

My primary motivation working on the emulator is finding ways to generate an explanation of binaries without just recovering the disassembly. It's the intent and constraints that matter, not necessarily the solution the developers wound up with.

I should note that I don't even think all software needs to be preserved. I just think it's a travesty that we're 60 years into the project of programming and our tools for _asking computers_ about how programs behave are so poor and so specialized.

Putting it in the simplest terms possible:

When I was 8, I desperately wished I could ask my family computer, "Wow! How did you do that?"

I still can't today and I spend a lot of time thinking about what a solution to that should look like.


@kingcons technically, you can, for some things, anyway. it's called reverse engineering :)

· · Web · 0 · 0 · 0
Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!