
Jonathan Blow
On The Metal
00:00
C Programming and Rust
Rust forces that cognitive load right back on the programmer. i mean it's like you know the computer knew what it was doing when it did it solving a hundred percent of that is not is not necessarily easy but like look just have a debug buildYeah where for local variables you have an additional boolean or something and just add some instrumentation code that checks if you use that and set set it so maybe you don't know if it's a sign.
Transcript
Play full episode
Transcript
Episode notes
You can find Jonathan on Twitter at https://twitter.com/Jonathan_Blow.
Some of the highlights of the show include:
- The Witness: https://en.wikipedia.org/wiki/The_Witness_(2016_video_game)
- Prince of Persia: https://en.wikipedia.org/wiki/Prince_of_Persia_(1989_video_game)
- Prince of Persia source code: https://github.com/jmechner/Prince-of-Persia-Apple-II
- Sprite: https://en.wikipedia.org/wiki/Sprite_(computer_graphics)
- Atari 800: https://en.wikipedia.org/wiki/Atari_8-bit_family
- Atari CTIA (chip performing, among many other things, collision detection for the Atari 800): https://en.wikipedia.org/wiki/CTIA_and_GTIA
- Commodore 64: https://en.wikipedia.org/wiki/Commodore_64
- VIC-II (CTIA-equivalent chip found in the C64): https://en.wikipedia.org/wiki/MOS_Technology_VIC-II
- Skeletal animation: https://en.wikipedia.org/wiki/Skeletal_animation
- GPGPU: https://en.wikipedia.org/wiki/General-purpose_computing_on_graphics_processing_units
- GeForce 2080 Ti: https://en.wikipedia.org/wiki/GeForce_20_series
- Cell microprocessor: https://en.wikipedia.org/wiki/Cell_(microprocessor)
- Dennard scaling: https://en.wikipedia.org/wiki/Dennard_scaling
- Amdahl's Law: https://en.wikipedia.org/wiki/Amdahl%27s_law
- Embarrassingly parallel: https://en.wikipedia.org/wiki/Embarrassingly_parallel
- Client-side prediction: https://en.wikipedia.org/wiki/Client-side_prediction
- Particle system: https://en.wikipedia.org/wiki/Particle_system
- Minecraft: https://en.wikipedia.org/wiki/Minecraft
- Red Dead Redemption 2: https://en.wikipedia.org/wiki/Red_Dead_Redemption_2
- Rewinding time to address lag: https://en.wikipedia.org/wiki/Lag#Rewind_time
- Chronostasis (the illusion of time standing still after eye movement): https://en.wikipedia.org/wiki/Chronostasis
- Counter-strike: https://en.wikipedia.org/wiki/Counter-Strike
- SimCity: https://en.wikipedia.org/wiki/SimCity
- Trinity: https://en.wikipedia.org/wiki/Trinity_(video_game)
- Brian Moriarty: https://en.wikipedia.org/wiki/Brian_Moriarty
- Infocom: https://en.wikipedia.org/wiki/Infocom
- Lost Treasures of Infocom: https://en.wikipedia.org/wiki/The_Lost_Treasures_of_Infocom
- Netrek: https://en.wikipedia.org/wiki/Netrek
- Apollo Computer: https://en.wikipedia.org/wiki/Apollo_Computer
- Silicon Graphics (SGI): https://en.wikipedia.org/wiki/Silicon_Graphics
- Time Warner's "Full Service Network" (SGI Orlando project): https://www.nytimes.com/1994/12/12/business/time-warner-s-time-machine-for-future-video.html
- Netscape Communications: https://en.wikipedia.org/wiki/Netscape
- Doom: https://en.wikipedia.org/wiki/Doom_(1993_video_game)
- Wolfenstein 3D: https://en.wikipedia.org/wiki/Wolfenstein_3D
- Ultima series: https://en.wikipedia.org/wiki/Ultima_(series)
- SGI engineers transferred to Nvidia, ca. 1999: https://www.eetimes.com/sgi-graphics-team-moves-to-nvidia/
- Quake: https://en.wikipedia.org/wiki/Quake_(video_game)
- Quake source code: https://github.com/id-Software/Quake
- John Carmack: https://en.wikipedia.org/wiki/John_Carmack
- Michael Abrash: https://en.wikipedia.org/wiki/Michael_Abrash
- Total Entertainment Network: https://en.wikipedia.org/wiki/Total_Entertainment_Network
- boo.com: https://en.wikipedia.org/wiki/Boo.com
- Braid: https://en.wikipedia.org/wiki/Braid_(video_game)
- SIMD: https://en.wikipedia.org/wiki/SIMD
- Pentium U-pipe and V-pipe: https://en.wikichip.org/w/index.php?title=File:24281603.pdf&page=8
- Data-oriented design: https://en.wikipedia.org/wiki/Data-oriented_design
- Jonathan's rant on Rust: https://www.youtube.com/watch?v=4t1K66dMhWk
- Catherine West's closing keynote at RustConf 2018: https://www.youtube.com/watch?v=aKLntZcp27M
- JAI language: https://en.wikipedia.org/wiki/Jonathan_Blow#JAI_language
- "Worse is better" and the "MIT approach": https://en.wikipedia.org/wiki/Worse_is_better
- Smart pointer: https://en.wikipedia.org/wiki/Smart_pointer
- D language: https://en.wikipedia.org/wiki/D_(programming_language)
- Entity-component-system: https://en.wikipedia.org/wiki/Entity_component_system
- Jonathan's talk "Preventing the Collapse of Civilization": https://ww...
The AI-powered Podcast Player
Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!