Unconditional Code • Michael Feathers • GOTO 2018
GOTO Conferences2 HN recommenders · recommended in 2 months, 2018–2021
talk · intermediate · evergreen · 2018–2021 on HN
Michael Feathers' GOTO Chicago 2018 talk on reducing error checks and conditional logic in code. He offers a framework for handling errors and decisions at the level of code and architecture.
HN recommends it for the idea of giving data instead of asking for it, and ties it to zero values and exception-free design.
Up next
2 mo on HNThe Do's and Don'ts of Error Handling • Joe Armstrong • GOTO 2018
GOTO Conferences
2 HN recommender · 2018–2022
8 mo on HNBlockchains Are a Bad Idea (James Mickens)
HBS Digital Initiative
8 HN recommender · 2018–2023
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
2 mo on HNDo these scatter plots reveal fraudulent vote-switching in Michigan?
Stand-up Maths
4 HN recommender · 2020–2021
9 mo on HNOrigins of Precision
Machine Thinking
11 HN recommender · 2019–2025
5 mo on HNWhy do prime numbers make these spirals? | Dirichlet’s theorem and pi approximations
3Blue1Brown
7 HN recommender · 2019–2024
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
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
3 comments from Hacker News
I was watching this the other day: ▶ this video Unconditional Code by Michael Feathers One solution to this problem is discussed toward the middle: giving data instead of asking for data avoids error conditions. Doing so pushes use of the data farther down the call tree and pulls acquisition up near the top, where we are closer to the user and thus able to more clearly decide what if anything to do about these corner cases.
Blockchains Are a Bad Idea (James Mickens) link I find almost all from GOTO 2018 very insightful. link esp ones listed below. GOTO 2018 • The Do's and Don'ts of Error Handling • Joe Armstrong link GOTO 2018 • Pragmatic Event-Driven Microservices • Allard Buijze link GOTO 2018 • Why Business Cases are Toxic • Chris Matts link GOTO 2018 • Unconditional Code • Michael Feathers ▶ this video
Please no on the Universal nil. Meaningful zero values for types are essential. It may be confusing to some that nil is a valid zero value for some types and not others, in which case that needs to be refined, but having a type that can either be a value, a zero value, or a nil introduces complexity where there should be simplicity. Having a zero value enables, for example, Unconditional Programming: ▶ this video