The Code Reviewer Who Never Goes Home: Why C++ Engineers Can Learn Rust
Rust feels awkward to C++ engineers, but most of what seems strange is a rule they already enforce by hand. What changes is who does the enforcing.
Sanghyun ParkSoftware/AI Engineer · CTO · Author · Translator
As a CTO I lead the engineering organization while still working hands-on as a software and AI engineer. I've been writing and translating books since 2003.

A three-track groovebox you play right in the browser. Put on one of 26 example mixes, from house and jazz to Korean ppongjjak, samba, tango, and Pachelbel's Canon, swap each track between synths and recorded instruments, program the beat, and record your own playing on top. Upload a hummed melody and it turns it into notes.

A TCP/IP network you can watch packet by packet. Follow DNS lookups, routing decisions, the TCP handshake, loss and retransmission, congestion control, and HTTP and HTTPS requests as they cross a small network one hop at a time, and open any packet to see its headers layer by layer, down to the bytes.

An interactive notebook that builds a Wonder Boy-style 8-bit platformer from an empty canvas. Ten chapters go from the game loop through sprites, tile maps, authoring tools, chip music, physics, and state machines to a finished game, and you can change every part as you read.
Rust feels awkward to C++ engineers, but most of what seems strange is a rule they already enforce by hand. What changes is who does the enforcing.

Why I built a JVM in Rust that runs in the browser as WebAssembly, the design decisions behind it, what building it taught me, and what's left to do.

A C pointer style argument that looks like bikeshedding, until const and a typedef quietly reverse the meaning of a declaration three release candidates deep.
