~/talk

Building the Unbreakable Code Whose Breaking Won WWII

Talkat RubyConf 2024 · 2024-11-13..11-15· [ruby, testing]
slides:none on file

Recreates an Enigma emulator in Ruby using Test Driven Development, implementing rotors, a reflector and a spindle so rotors advance after each keystroke; demonstrates the real claim (an emulator that enciphers and deciphers with identical daily settings) and shows tests passing with the true rotor mechanics including 17,576 starting positions per rotor order and the historical jump to ~150 million million million total settings. Optional plugboard is left as a clear extension and the codebase is organized into keyboard, rotor, spindle and reflector modules.

AI-written summary · about

  1. 0:00Enigma and Bletchley Park intro
  2. 10:38Enigma as OOP model
  3. 13:29OOP design principles
  4. 17:25Enigma project setup
  5. 24:08Substitution cipher with Enigma
  6. 32:49Advancing rotors mission
  7. 35:50Encapsulation in rotor design
  8. 47:14Rotor dependencies management
  9. 53:00Rotor spindle class
  10. 1:00:00Refactoring Enigma with dependency injection
  11. 1:04:20Reflector rotor implementation
  12. 1:13:35Deciphering with reflector
  13. 1:20:23Final demo and future
  14. 1:25:25Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.