On the Metal: Jeff Rothschild
Episode 1
Monday, December 2, 2019
Bryan Cantrill, Jessie Frazelle and Steve Tuck
On this episode of On the Metal, we interview Jeff Rothschild. Jeff has had a
fascinating journey solving all sorts of fun problems at various levels of the
stack. He is most widely known as being a co-founder of Veritas Software and the first VP
of Engineering at Facebook, but his story does not start there. Join us as we
hear Jeff’s stories from his impressive technical endeavors including
disassembling MS-DOS, editing machine code in an octal editor, trolling
coworkers in error messages, the origin story of ftruncate, and more.
Show Notes
Some of the highlights of the show include:
- Dis-assembling MS-DOS on an IBM PC: https://github.com/microsoft/ms-dos https://en.wikipedia.org/wiki/MS-DOS
- PC Interface: allowing a MS-DOS program to use a unix host as its remote filesystem
- AT&T 3B2 Machine: http://www.unixwiz.net/3b2.html http://bitsavers.trailing-edge.com/pdf/westernElectric/3b20s/234-301-910WE_3B20S_System_Index_and_Description_Jul81.pdf https://en.wikipedia.org/wiki/3B_series_computers
- 32-bit Sigma 7 Machine: http://www.bitsavers.org/pdf/sds/sigma/sigma7/900950J_Sigma7_RefMan_Oct73.pdf https://www.andrews.edu/~calkins/profess/SDSigma7.htm https://en.wikipedia.org/wiki/SDS_Sigma_series
- Teletype 110: https://en.wikipedia.org/wiki/Teletype_Corporation
- PDP-10: http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DEC-10-HMAA-D%20PDP-10%20KA10%20Central%20Processor%20Maintenance%20Manual%20Volume%20I.pdf http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/ https://en.wikipedia.org/wiki/PDP-10
- PDP-8: http://highgate.comm.sfu.ca/pdp8/ https://en.wikipedia.org/wiki/PDP-8
- PDP-8 replica with Raspberry Pi: https://obsolescence.wixsite.com/obsolescence/pidp-8-overview
- General Electric Computer Company: https://www.computerhistory.org/brochures/g-i/
- EBCIDIC (Extended Binary Coded Decimal Interchange Code): https://web.archive.org/web/20180911044845/https://www-01.ibm.com/software/globalization/cdra/appendix_g1.html https://en.wikipedia.org/wiki/EBCDIC
- GECOS (General Electric Comprehensive Operating Supervisor) Operating System: http://foldoc.org/GCOS https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System
- 7400LS Logic: https://en.wikipedia.org/wiki/7400-series_integrated_circuits
- Texas Instruments TTL Data Book https://www.smcelectronics.com/DOWNLOADS/1976-TTL%20DATABOOK.PDF
- BUNCH (Burroughs, UNIVAC, NCR, Control Data Corporation (CDC), and Honeywell): https://en.wikipedia.org/wiki/BUNCH
- H200 (Honeywell): http://www.feb-patrimoine.com/projet/honeywell200/h-200.htm https://en.wikipedia.org/wiki/Honeywell_200
- IBM 1401: http://bitsavers.trailing-edge.com/pdf/ibm/1401/A24-1401-1_1401_System_Summary_Sep64.pdf https://web.archive.org/web/20100809033646/http://www.bitsavers.org/pdf/ibm/140x/A24-1403-5_1401_Reference_Apr62.pdf https://en.wikipedia.org/wiki/IBM_1401
- Current Mode Logic (CML): https://en.wikipedia.org/wiki/Current-mode_logic
- Emitter Coupled Logic (ECL): http://www.physics.dcu.ie/~bl/digi/unitd04.pdf https://en.wikipedia.org/wiki/Emitter-coupled_logic
- Microcode: https://people.cs.clemson.edu/~mark/uprog.html https://www.computer.org/csdl/magazine/an/1986/02/man1986020116/13rRUxZRbqE http://gordonbell.azurewebsites.net/computer_structures_principles_and_examples/csp0174.htm https://archive.org/details/microprogramming00huss https://en.wikipedia.org/wiki/Microcode
- Intel 3805 DRAM
- Repeat Move String Byte Instruction
- AMD 2900 Series: https://en.wikipedia.org/wiki/AMD_Am2900 http://www.cpu-world.com/CPUs/2901/
- Bit slice processor: https://en.wikichip.org/wiki/bit-slice_microprocessor
- RT-11: https://cryptosmith.com/2013/10/19/digitals-rt-11-file-system/ http://www.skrenta.com/pdpbook.txt https://en.wikipedia.org/wiki/RT-11
- Forward slash: http://www.linfo.org/forward_slash.html
- dBase: http://www.dbase.com/ https://en.wikipedia.org/wiki/DBase
- ftruncate: https://pubs.opengroup.org/onlinepubs/7908799/xsh/ftruncate.html https://linux.die.net/man/2/ftruncate
- Unix System III: http://a.papnet.eu/UNIX/sysIII_pdp11/Installation http://a.papnet.eu/UNIX/sysIII_vax/Installation https://groups.google.com/forum/#!original/net.unix/-H9x36DMOBQ/P_G_s9SJBrgJ https://en.wikipedia.org/wiki/UNIX_System_III
- ICL (International Computers Limited) British computer company: http://sw.ccs.bcs.org/iclarch/ https://en.wikipedia.org/wiki/International_Computers_Limited
- Gourmet Mode Terminal I/O (Unix) TTY Line Discipline
- The LOCUS distributed operating system paper: https://dl.acm.org/citation.cfm?doid=800217.806615
- Ethernet over Coax: https://en.wikipedia.org/wiki/Ethernet_over_coax
- Logical Volume Manager: http://www.tldp.org/HOWTO/LVM-HOWTO/ https://en.wikipedia.org/wiki/Logical_volume_management https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)
- VxFS (Veritas File System): https://web.archive.org/web/20031025011156/http://ftp.support.veritas.com/pub/support/products/FileSystem_UNIX/253148.pdf https://web.archive.org/web/20080309193205/http://www.patentstorm.us/patents/6871271.html https://web.archive.org/web/20080309165600/http://mailman.eng.auburn.edu/pipermail/veritas-vx/2000-April/000163.html https://en.wikipedia.org/wiki/Veritas_File_System
- VxVM (Veritas Volume Manager): https://docs.oracle.com/cd/E19896-01/875-3115-10/875-3115-10.pdf https://en.wikipedia.org/wiki/Veritas_Volume_Manager
- RAID (Redundant Array of Independent/Inexpensive Disks/Drives): https://web.eecs.umich.edu/~michjc/eecs584/Papers/katz-2010.pdf https://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-391.pdf http://www.computerworld.com/article/2573180/data-center/the-story-so-far.html https://en.wikipedia.org/wiki/RAID
- Quake: https://en.wikipedia.org/wiki/Quake_(video_game)
- Memcached at Facebook: https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf https://github.com/facebook/mcrouter
- Intel Optane: https://www.intel.com/content/www/us/en/architecture-and-technology/intel-optane-technology.html
- Multics (Multiplexed Information and Computing Service): https://www.multicians.org/pl1-raf.html https://www.multicians.org/papers.html https://en.wikipedia.org/wiki/Multics
