MISC. LISTS


Design philosophies that I think are interesting, different, and might have a lot of potential
  • Design by Subtraction
    • Make a "kitchen sink" product, but then find the essence of your product and ruthlessly cut off everything that doesn't support it. Anything extra dilutes it. Only keep what is necessary.
  • Emotional Design
    • Notice what causes users to have small emtional spikes, and then lean into that. Let that guide your creation.
  • Selfish Design
    • Design for the end user is much easier when you are the ideal target user. What's exciting to you? What's boring, and not worth it to you? This minimizes disconnected, out-of-touch products, and can bring a lot of soul into a product.
Poems, homes

    11/21/20

    Very wise, big man
    Just doin' your best, huh? Well..
    Maybe it's me then?

    09/01/20

    You're too serious.
    You MUST start lightening up!
    Hear me?! YOU'RE A JOKE!!!

    11/20/19

    I say! Where's the shore?!
    Swim! Take it easy. Now swim.
    Movement (<, >, =) Direction

    06/24/19

    Why try to be great?
    Isn't being good better
    Not sure that's enough

    05/30/19

    I'm tired and too hyped
    Consistency is good, right?
    Recalibrating
Software Engineering Rules, Principles, and Random Other Mental Anchors to Grok
  • KISS (Keep It Simple, Stupid)
  • DRY (Don't Restate Yourself)
  • YAGNI (You Aren't Gonna Need It)
  • Understand world ➞ Write requirements ➞ Design specifications ➞ Implement machine
  • Conceptual integrity within software is essential
  • High Coherence
  • Low Coupling
  • SOLID principles of Object Oriented Design
    • Single Responsibility Principle
    • Open/Closed Principle
    • Liskov substitution principle
    • Interface segregation principle
    • Dependency inversion principle
  • Law of Demeter (LoD)
  • Don't leave any broken windows
  • Always design for your audience
  • Object Oriented Programming Rules (APIE):
    • Abstraction
    • Polymorphism
    • Inheritance
    • Encapsulation
  • There are no silver bullets
  • Metaphor
    • Facilitate development with a simple metaphor for how the system and its parts work
  • Program to an interface, not an implementation
  • Modularity
  • Principle of Least Astonishment
    • In general, modules of code should have as few surprises to other developers as possible
  • Conway's Law
    • You're doomed to develop software that reflects the communication structures of your team
  • Rule of 7
    • Humans have limitless ability to make abstractions, but can only remember a limit of roughly 7 "units of data".
  • Even if you do something imperfectly, be consistent in its implementation
  • Test first and continually...
  • Prototype first, and then be ready to throw it away
  • Beware the second system effect
  • Human factor is a huge wrench in software engineering. Don't underestimate it.
  • "Good enough" today is better than "perfect" tomorrow
    • Everyone has ideas. Execution is to be lauded.
    • And somehow "good enough" isn't good enough... at the same time
Books
  • The Mythical Man-Month: Essays on Software Engineering - Fred Brooks 1995
  • The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt and David Thomas 1999
  • Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin 2008
  • Design Patterns: Elements of Reuable Object-Oriented Software - Gamma, Helm, Johnson, Vlissides 1994
  • The Golden Ticket: P, NP, and the Search for the Impossible - Lance Fortnow 2013
  • Gödel, Escher, Bach: An Eternal Golden Braid - Douglas R Hofstadter 1999
Movies I'd Like To Watch
  • Apocalypse Now (1979)
  • The Road Warrior (1981)
  • Eighth Grade (2018)
  • Taxi Driver (1976)
  • Dog Day Afternoon (1975)
  • Do The Right Thing (1989)
  • Raging Bull (1980)
  • Blade Runner 2049 (2017)
  • Alien (1979)
  • Prometheus (2012)
  • Alien: Covenant (2017)
  • Spirited Away (2001)
  • Hackers (1995)
  • Edge of Tomorrow (2014)
  • Howl's Moving Castle (2004)
  • In Bruges (2008)
  • Fear and Loathing in Las Vegas (1998)
  • Stand By Me (1986)
  • Terminator 2: Judgment Day (1991)
  • Pan's Labyrinth (2006)
  • This is Spinal Tap (1984)
  • Gattaca (1997)
  • Dr. Strangelove Or: How I learned To Stop Worrying and Love the Bomb (1964)
  • Dune (1984)
  • Dune (2020)
  • Platoon (1986)
  • My Dinner with Andre (1981)
  • Life is Beautiful (1998)
  • Over the Top (1987)
Movies I Probably Should Watch
  • Citizen Kane (1941)
  • The Master (2012)
  • Blue Velvet (1986)
  • 2010: The Year We Make Contact (1984)
  • The Fifth Element (1997)
  • Airplane! (1980)
  • Resevoir Dogs (1992)
  • Young Frankenstein (1974)
  • The Big Lebowski (1998)
  • The Goonies (1985)
  • Being John Malkovich (1999)
  • Heat (1995)
  • Adaptation (2002)
  • Terminator (1984)
  • Seven Samurai (1954)
  • Dumb and Dumber (1994)
  • Dazed and Confused (1993)
  • Big Fish (2003)
  • Hot Fuzz (2007)
  • Shaun of the Dead (2004)
  • The Blues Brothers (1980)
  • Leon the Professional (1994)
  • Scent of a Woman (1992)
Movies That Had Some Impact On Me (in no particular order)
  • Cloud Atlas (2012)
  • The Big Short (2015)
  • Interstellar (2014)
  • 2001: A Space Oddyssey (1968)
  • Blue Valentine (2010)
  • The Princess Bride (1987)
  • WALL-E (2008)
  • Cowboys & Aliens (2011)
  • Tombstone (1993)
  • Tron: Legacy (2010)
  • Strictly Ballroom (1992)
  • Groundhog Day (1993)
  • American History X (1998)
  • Rocky (1976)
  • What's Up, Doc (1972)
  • Whiplash (2014)
  • Braveheart (1995)
Lists To Make
  • Books Read (rating and biggest takeaway from each)
  • Physical Feats Accomplished
  • Books That Have Had Some Impact On Me
  • Music Recommendations For Myself If I Hand't Heard These Songs Before...