
airhacks.fm podcast with adam bien· Folge 395
From Manchester to Mountain View: Binary Translators, JVMs, and Android
Freitag, 8. Mai 2026 · 1 h 05
Kapitelklicken springt direkt hin
Shownotes
An airhacks.fm conversation with Ian Rogers (@Ian Rogers (twitter.com/Ian Rogers)) about:
ZX Spectrum (en.wikipedia.org/wiki/ZX_Spectrum) 128K with rubber keys and a burning side grill,
Basic (en.wikipedia.org/wiki/BASIC) programming competitions,
REM (docs.microsoft.com/en-us/dotnet/visual-basic/l…) commands as ASCII art,
PC versus en.wikipedia.org/wiki/Amiga and en.wikipedia.org/wiki/Acorn_Archimedes era in the UK,
fractal landscape generators for Wing Commander (en.wikipedia.org/wiki/Wing_Commander_(video_game)) 4 cut scenes,
Ocean Software (en.wikipedia.org/wiki/Ocean_Software) in Manchester and the Head Over Heels (en.wikipedia.org/wiki/Head_Over_Heels_(video_g…)) game,
Manchester Baby (en.wikipedia.org/wiki/Manchester_Baby) and Williams tube (en.wikipedia.org/wiki/Williams_tube) as the first stored-program computer,
Steve Furber (en.wikipedia.org/wiki/Steve_Furber) and en.wikipedia.org/wiki/ARM_architecture_family origins at the University of Manchester (en.wikipedia.org/wiki/University_of_Manchester),
en.wikipedia.org/wiki/Cosworth and Pi Research Formula One telemetry,
transputers and embedded PowerPC data loggers,
dynamic binary translation with the Dynamite simulator,
ICL 2900 (en.wikipedia.org/wiki/ICL_2900_Series) emulation for the Israeli tax system,
en.wikipedia.org/wiki/MIPS_architecture to en.wikipedia.org/wiki/Itanium binary translation for SGI (en.wikipedia.org/wiki/Silicon_Graphics) machines,
Transitive Corporation (en.wikipedia.org/wiki/Transitive_Corporation) and the PowerPC to x86 product that became Apple Rosetta (en.wikipedia.org/wiki/Rosetta_(software)),
the Steve Jobs era at Apple,
Spark to Power binary translation and the IBM acquisition of Transitive,
JDBC (docs.oracle.com/javase/8/docs/technotes/guides…) versus ODBC API design observations,
java.util.Vector and java.util.Hashtable synchronization decisions,
StringBuilder array copying overhead from removing synchronization,
DARPA HPCS (en.wikipedia.org/wiki/High_Productivity_Comput…) languages en.wikipedia.org/wiki/Fortress_(programming_la…),
Chapel (chapel-lang.org),
X10 (x10-lang.org),
just-in-time parallelization from Java bytecode,
LCC compiler (en.wikipedia.org/wiki/LCC_(compiler)) from Princeton and the iBerg backend,
JikesRVM (jikesrvm.org) as a metacircular Java VM written in Java,
GNU Classpath (gnu.org/software/classpath) and Sable VM (github.com/Sable) by Etienne Gagnon,
Apache Harmony (harmony.apache.org) port of JikesRVM to Windows,
Maxwell (adam-bien.com/roller/abien/entry/when_c_become…) and en.wikipedia.org/wiki/Maxine_Virtual_Machine en.wikipedia.org/wiki/OpenVMS as GraalVM (graalvm.org) precursors,
Bernd Mathiske and the en.wikipedia.org/wiki/Sun_Microsystems acquisition by Oracle,
GNU Classpath impact of the openJDK (openjdk.java.net) GPL release at FOSDEM (fosdem.org) 2006,
Mark Wielaard (gnu.wildebeest.org/blog/mjw) and Rémi Forax (github.com/forax) FOSDEM stories,
trace compilation and de-optimization parallels with JIT (en.wikipedia.org/wiki/Just-in-time_compilation),
Azul Systems (azul.com) Vega (azul.com/newsroom/azul-systems-extends-leaders…) hardware and concurrent garbage collection,
C4 collector (azul.com/products/components/pgc) design influencing ZGC (openjdk.org/projects/zgc) and Shenandoah (openjdk.org/projects/shenandoah),
Gil Tene's telephone exchange mentality for JVM responsiveness,
page unmapping and signal handler memory pressure problems in en.wikipedia.org/wiki/HotSpot,
Cliff Click (en.wikipedia.org/wiki/Cliff_Click) and Modular,
Google Android Runtime (ART) (en.wikipedia.org/wiki/Android_Runtime) replacing en.wikipedia.org/wiki/Dalvik_(software),
transactional memory for class initializers in ART,
ELF files and OAT format for ahead-of-time compilation,
WhatsApp bytecode obfuscation breaking the ART verifier,
lock balance verification for speculative lock optimizations,
D8 and R8 (developer.android.com/tools/r8) Android compilers,
Goit internal Google bytecode optimizer,
Jeremy Manson and Google's OpenJDK variant,
Linux kernel (en.wikipedia.org/wiki/Linux_kernel) performance work and perf tooling,
JikesRVM stack trace format making exception-heavy DaCapo (dacapobench.org) benchmarks faster than HotSpot,
Energy Efficiency across Programming Languages study comparing Java and Go,
Ian Rogers on twitter: @Ian Rogers (twitter.com/Ian Rogers)