Stuart Halloway - Narcissistic Design
Reaktor4 HN recommenders · recommended in 4 months, 2018–2021
talk · intermediate · evergreen · 2018–2021 on HN
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice. It uses this inversion to catalog software design anti-patterns.
HN commenters love it as a witty and insightful tour of design anti-patterns, applicable to DSLs, OOP and API design.
Up next
5 mo on HNWhy I changed my mind about nuclear power | Michael Shellenberger | TEDxBerlin
TEDx Talks
6 HN recommender · 2018–2021
5 mo on HNObject-Oriented Programming is Embarrassing: 4 Short Examples
Brian Will
6 HN recommender · 2016–2025
10 mo on HNEffective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
10 HN recommender · 2017–2026
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNHow To Design A Good API and Why it Matters
Google TechTalks
12 HN recommender · 2011–2025
11 mo on HNThe Value of Values with Rich Hickey
InfoQ
10 HN recommender · 2014–2023
10 mo on HNOverwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
16 HN recommender · 2019–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
10 mo on HNLecture 1A: Overview and Introduction to Lisp
MIT OpenCourseWare
10 HN recommender · 2019–2026
11 mo on HNAlan Kay - Normal Considered Harmful
powerfuloutlet
10 HN recommender · 2012–2026
4 comments from Hacker News
Reading some of the comments here reminded me of a great talk by Stuart Halloway called Narcissistic Design.[1] [1] ▶ this video
Along a similar line, I love Stuart Halloway's talk on Narcissistic Design - ▶ this video Prefer APIs over data. Start with DSLs. Always connect (and never enqueue). Create abstractions for information. Use static typing across subsystem boundaries. Put language semantics on the wire. Write lots of unit tests. Leverage context. Update information in place.
▶ this video This talk goes into many anti-patterns, but he gets to the real problem with SQL, that it is ONLY a DSL and lacks either an API or a fundamental information model to program against. Composability when working with a DSL is a nightmare. I also have been moving away from ORM to directly writing SQL, but lets be honest about the reasons that programmers are wary of working directly with SQL as they are legitimate issues.
Nobody seems to have posted Stuart Halloway's Narcissistic Design yet, so I'll just leave this here. ▶ this video Has some great insights and quips. "Nothing says 'screw you' like a DSL"