Programming's Greatest Mistakes • Mark Rendle • GOTO 2023

preview_player
Показать описание
This presentation was recorded at GOTO Amsterdam 2023. #GOTOcon #GOTOams

Mark Rendle - Creator of Visual ReCode with 7 Microsoft MVP Awards & 30+ Years of Experience Building Software @MarkRendle

RESOURCES

ABSTRACT
Most of the time when we make mistakes in our code, a message gets displayed wrong or an invoice doesn’t get sent. But sometimes when people make mistakes in code, things literally explode, or bankrupt companies, or make web development a living hell for millions of programmers for years to come.

Join Mark on a tour through some of the worst mistakes in the history of programming. Learn what went wrong, why it went wrong, how much it cost, and how things are really funny when they’re not happening to you. [...]

TIMECODES
00:00 Intro
01:35 The med file unf*cker
05:51 Y2K
14:39 The Kennel club "Dog 38" bug
17:00 EnTErpRIsE
20:43 The Pentium FPU
23:45 NULL
26:43 Hartford Center
29:20 Knight Capital
35:32 Mariner 1
38:11 Mars Climate Orbiter
40:25 Ariane 5
42:01 The big rewrite
43:57 JavaScript
49:39 The Soviet early warning system
51:07 Outro

Read the full abstract here:

RECOMMENDED BOOKS

#ProgrammingMistakes #Programming #SoftwareEngineering #WorstMistakes #MarkRendle #Linebreakers #ALGOL #MarsClimateOrbiter #NULL #PentiumFPU #Ariane5 #Y2K #Mariner1

Looking for a unique learning experience?

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Рекомендации по теме
Комментарии
Автор

I'm a grey beard. I started programming as a teenager in 1976. I stayed awake for nearly 48 hours as a Unix support engineer for Sequent Computer Systems during Y2K turnover. We didn't get any calls for help related to Y2K. I spent all of that time working on my `top2` performance monitoring program. I was particularly amused by the kennel club anecdote where they were storing a number as a hexadecimal string and "fixed" the limitation of the maximum being 37 by adding two roman numeral characters to the string rather than implementing a proper fix that would have reduced the storage requirements.

KurtisRader
Автор

As a young engineer, I learned an important lesson: We need to remember that no one ever does a stupid thing intentionally.... Everyone does what they believe is right at the time. (Note that the Pentium floating point problem, was originally in the DEC alpha chip -- DEC discovered it and corrected it. This proved that Intel's design was not their own, which resulted in a large out-of-court settlement. Naughty!)

DocTrinsOGrace
Автор

This might be my favorite talk ever. The attitude toward programmers and those otherly business folk, the anecdotes I know, the anecdotes I've suffered from, and the anecdotes I'd never heard, all presented with utmost charm.

Mothuzad
Автор

I was there in Amsterdam, and can myself hear laughing in the recoring 😅
The event is amzing to attend, loved meeting the people organising and attending!

koolknakker
Автор

Excellent talk - made me feel instantly better about some of the coding "decisions" I've made over the years!
I also got pulled up on the naming of stuff - my manager pulled me into a meeting to discuss why the team were seeing a "Big Whopper Error" on screen. I explained that I'd put a last resort error handler into the code to stop it outright crashing like it used to (this was VBA)... there were calls to change it but the team using the product quite liked it so we kept it! Ah - the "Big Whopper Error" - much more fun to fix than a standard error 😁

DanGibson-ibug
Автор

The speaker, Mark Rendle, is entertaining, and I admire the honesty of self-reflection. I was a CS student at the time of the Pentium bug and wasn't concerned about the implications. The only reason that I eventually took advantage of the replacement was because the newer revision was claimed to run cooler. WIkipedia has the following about Petrov "... he was also reprimanded for improper filing of paperwork with the pretext that he had not described the incident in the military diary. [...] He received no reward. According to Petrov, this was because the incident and other bugs found in the missile detection system embarrassed his superiors and the influential scientists who were responsible for it, so that if he had been officially rewarded, they would have had to be punished. "

allanwind
Автор

"y2k was nothing" no, we fixed it.
"We don't hear about the ozone hole anymore" no, we fixed it.
"We don't hear about acid rain and tree death anymore" no, we fixed it.
Lets hope my grandchildren get to say
"We don't hear about global warming anymore" ...

LeifNelandDk
Автор

Roman numerals used in a database, that's pretty much the biggest folktale foolery I've ever heard of. Thank you, Mr. Rendle! :D And thanks to Stanislaw Petrow go out as well. Good thing we're still alive here to laugh about these mistakes.

DerKaetzer
Автор

I am surprised he did not mention the transition between Python 2 and 3

ingframin
Автор

It bears repeating that type coercion was NOT in the first version of JS. It was added later at the insistence of the devs using JS and Eich of the 90s didn't say no like a more experienced Eich of today would have.

mrbigberd
Автор

Would Knight Capital have survived if they'd taken a short position on themselves?

mrwoodward
Автор

A good programmer doesn’t make mistakes, he corrects bugs.

Eagler
Автор

As a seasoned enterprise software developer, I can confirm this is 100% accurate.

water_melon_
Автор

I was a newbie and the author of a comment about naming conventions that was funny and self deprecatory, asked me to watch him writing something and say what I thought. He’d coded for early parallel processors at British Aerospace and had a suck it and see approach which I didn’t appreciate at the time. So I’m trying to evaluate his code and I don’t have an idea of what he wants me to see. And eventually he says neither do I, run it and we’ll both figure it out. I had a chip on my shoulder and that was very nice. He introduced me to the paradigms of keep it simple stupid and don’t fix if not broken.

paulembleton
Автор

thank you for the badly needed laughter....it has been a long time since I had laughed!!!!

tthtlc
Автор

Small correction, the mars climate orbiter failed because the results from Lockheed Martin returned values in pound-force seconds, while NASA expected newton-seconds

jetseverschuren
Автор

+a is definitely not the same as math.abs. Try `let a = -3; console.log(+a)`. but it does attempt to perform coercion, so + '1' is 1, so +'a' is NaN.

vitfirringur
Автор

First computer was a 486 DX.. that floating point was clutch. Still remember dropping 16 megs in chip by chip. Felt like a wizard.

polerin
Автор

Crazy that out of all these he doesn’t mention the Therac 25

Tyler-Kearney
Автор

This was standup comedy for programmers

djkim