The Do's and Don'ts of Error Handling • Joe Armstrong • GOTO 2018
GOTO Conferences2 HN recommenders · recommended in 2 months, 2018-2022
74K views · 8 years ago · talk · evergreen
Joe Armstrong, inventor of Erlang, gives a GOTO Chicago 2018 talk on building fault-tolerant systems. He covers what to do and avoid when handling errors, arguing for letting processes fail and recover.
Recommended as a conceptual rather than code-heavy talk on failure recovery from Erlang's creator.
1:10:23"Systems that run forever self-heal and scale" by Joe Armstrong (2013)
Strange Loop Conference
85K views • 5 years ago
1:02:28Computer Science - A Guide for the Perplexed • Joe Armstrong • GOTO 2018
GOTO Conferences
66K views • 8 years ago
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
384K views • 7 years ago
44:38Joe Armstrong & Jeremy Ruston - Intertwingling the Tiddlywiki with Erlang | Code Mesh LDN 18
Code Sync
11K views • 7 years ago
1:16:55Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay
Erlang Solutions
76K views • 9 years ago
11:32Erlang: The Movie (Fixed Audio)
CH1LLW4VE
43K views • 9 years ago
49:36Joe Armstrong - Keynote: The Forgotten Ideas in Computer Science - Code BEAM SF 2018
Code Sync
40K views • 8 years ago
1:06:45Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt
Erlang Solutions
13K views • 7 years ago
44:19Unconditional Code • Michael Feathers • GOTO 2018
GOTO Conferences
61K views • 8 years ago
11:32Erlang: The Movie
uncertainyesterday
175K views • 14 years ago
45:50"The Mess We're In" by Joe Armstrong
Strange Loop Conference
398K views • 12 years ago
9:58Erlang: The Movie
dawsdesign
159K views • 19 years ago
35:15Solid Ground // Saša Jurić
EMPEX Conference
14K views • 9 years ago
1:01:46GigCityElixir23 - Bryan Hunter
Groxio
10K views • 3 years ago
51:27Google I/O 2012 - Go Concurrency Patterns
Google for Developers
894K views • 14 years ago
41:06"Unison: a new distributed programming language" by Paul Chiusano
Strange Loop Conference
45K views • 7 years ago
43:31Analyzing Programs with Z3
Compose Conference
24K views • 10 years ago
49:15Erlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
Erlang Solutions
50K views • 12 years ago
33:32Condition Systems in an Exceptional Language - Chris Houser
ClojureTV
16K views • 10 years ago
1:33:12De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable - Herb Sutter CppCon 2019
CppCon
90K views • 7 years ago
3 comments from Hacker News
Also, if I may, recommend two videos to watch which is what got me into Elixir in the first place. 1. "The Soul of Elixir and Erlang" - link ; this fast-paced talk by Sasa Juric will highlight exactly what is special about Elixir/Erlang in terms of fault-tolerance and scalability 2. "Using the Beam to Fight COVID-19" - link ; this highlights a real-world use of Elixir and the speciality of how the BEAM works using an actor model which I found fascinating. Should get your excited about the possibilities of this language. 3. "The Do's and Don'ts of Error Handling" - ▶ this video ; this talk by Joe Armstrong, inventor of Erlang, again highlights the shift in thinking about error handling and failure recovery. Not Elixir specific, but since Elixir has it's roots in Erlang it's well worth listening to this talk, which is conceptual and not code-centric. None of the videos above are Phoenix or LiveView but they should help build some concepts in your brain about why you want to go down this learning path of Elixir and Phoenix, why it's different. I listened to the first two, and I couldn't stop thinking about them, personally. A last thought I would give you as you're going through any training material or topics, I cannot recommend strongly enough. Consider this pattern: download LiveBook ( link ) and create a notebook for each lesson or major topic you're learning. Gives you a great way to learn, take notes, experiment and keep the history rather than just using iex at the comma
Type checking, compile-time errors won't check if the program you wrote is correct, only that it's internally consistent. That is an entirely different thing than checking for correctness. You do need a layer of tests that actually try to prove that given some input your program actually does what it's supposed to do. That is hard to automate. Joe Armstrong(of the Erlang fame), talks about this a bit here: ▶ this video I've pointed to a specific timestamp, but there might be more details somewhere else in that talk.
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 ▶ this video 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 link