February 10, 2020

A Guide for the perplexed


Joe Armstrong, creator of Erlang


There is really a huge gap between "Things we can create" and "Things we can understand".


"Computer science is confusing because it’s not a science and there are far too many ideas floating around."BR joe armstrong

5 sins

  1. Crap documentation

  2. Crap website

  3. Crap dependencies

  4. Crap build instructions

  5. Group think

4 ideas that are obvious now but strange at first

  1. indentation

  2. versioning

  3. hypertext across machine boundaries

  4. pipes


  1. Identify some problems worth solving

  2. Identify some stuff worth learning

  3. Learn emacs, learn unix, learn a programming language

  4. The last new thing in programming language was Prolog - no major improvements since then

  5. 5+ Youtube videos to watch

    1. The computer revolution has not happened yet - Alan Kay

    2. Computers for Cynics - Ted Nelson

    3. Free is a lie - Aaron Balkan

    4. How a handful of tech companies control billions of minds every day - Tristan Harris

    5. Winning the War on Error: Solving Halting Problem, Curing Cancer - Matt Might

  6. If you get a bad boss move immediately do not try to change your boss

  7. The relationship comes first (Jane Walerud)

  8. Engage with management just because they do not understand what you are saying is no reason not to talk to them.

Papers and Books

  1. A Plea for Lean Software - by Niklaus Wirth

  2. The Emperor’s old clothes - by ACM Turing award lecture Tony Hoare

  3. Algorithms + Data Structures = Programs - by Niklaus Wirth

  4. The Mythical Man Month - by Frederick P. Brooks

  5. How to win friends and influence people - by Dale Carnegie

  6. Meta II - A syntax-oriented compiler writing language - by D. V. Schorre

Tags: software