Benja Gooder
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...