keep having cursed thoughts about JS obfuscation and nested layers of virtualization

like imagine trying to reverse something where all the important code was WASM, but when you analyze the WASM you figure out it's just a highly-obfuscated bytecode interpreter. then when you get far along enough to analyze the inner bytecode, you find out that's _also_ a bytecode interpreter. you'd lose your shit

wonder how many layers of bytecode you could have before it gets too slow or unmaintainable

@joe_no_body Modern programming for the metal is like this.

After you break the abstraction of compiler to LLVM and the compiler from LLVM to assembly, you're left with assembly... A language that on x86 architecture machines is reinterpreted as proprietary microcode to be parallelized on the CPU arch.

Truly understanding what a program does requires understanding to this layer.

@mtomczak 💯💯 learning about assembly and computer architecture in college was a big game changer for me. also the parallel programming class where I learned that big-O is semi-meaningless because it doesn't account for stuff like caching

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.