He Saved Us All
506 segments
There is a computer scientist that is
super wellknown, but a lot of the things
that he did during his career are well,
they're unknown. I have a good feeling
like you know him by his shortest path.
Yes, today we are talking about Edgar
Dystra, of course, creator of Dystra's
shortest path algorithm. By the way, you
don't love him at his shortest path, you
don't deserve him at his longest. And
today we're going to be celebrating
Edgar Dystra by giving him the highest
known achievement any programmer can
possibly receive in their lifetime. The
programmer of the month at the startup
touring award, Nobel Peace Prize,
programmer of the month. The thing about
Dystra is he didn't just do the shortest
path, which by the way, the way he comes
up with the shortest path is just out of
control, but he actually comes up with
many more things that we use to run
operating system and distributed
systems. He also did a lot of
foundational work that ends up appearing
in a lot of the modern languages that
you use today. And he prevented one of
the greatest disasters in all of
programming. And to top it all off, the
man has some oneliners that are just
So today we celebrate Edgar Dystra,
programmer of the month. Now, before we
begin, a quick word from the sponsor.
>> She's seen the latest database CEO
monthly.
>> Whoa, nice uptime. I'd love to get my
data in that.
>> You mean you haven't even connected yet?
We can use my Planet Scale account.
>> It's called Planet Scale and it's really
rad. Those database queries are super
fast. Branches, migrations, query
insights too. My SQL and Postgress are
easy to use. Yeah, go planet scale. Get
data.
>> It's Postgress.
>> Planet Scale. The easiest MySQL or
Postgress database to use. Your
developers or parents help you hook it
up. Data sold separately.
>> Welcome back. All right. Before we get
to know Dystra, the legendary computer
scientist, let's learn a little bit
about his early years. Dystra was born
in Roderdam in 1930. He described his
father at one time the president of the
Dutch Chemical Society as an excellent
chemist and his mother, a brilliant
mathematician who had no job. Huh,
sounds like any mathematician I know. In
1951, Dystra's father suggested he
attend a 3-week course on programming in
Cambridge. It turned out to be an idea
with farreaching consequences. Yes, that
little tiny suggestion by his father.
Those three weeks changed the course of
computing history by getting Dyster to
get off the track of physics and onto
the real and pure science of computing.
Now, the early part of Dyra's career
started off in the center of
mathematics. This is where he studied
computing and defended his PhD thesis.
He was there from 1952 to 1962. Now, he
received his PhD in 1959, but he
actually created the shortest path
algorithm in 1956,
and the story for it is just so dang
good. One morning, I was shopping in
Amsterdam with my young fiance and
tired, and we sat down on the cafe
terrace to drink a cup of coffee, and I
was just thinking about whether I could
do this. Of course, this being the
shortest path from Rotterdam to
Gronigen, Grroning, Gronigan, the n the
name is Gronagen. So he was already
thinking about the shortest path and
then I designed the algorithm for the
shortest path and as I said it was about
a 20inute invention. In fact it was
published in 1959 3 years later. The
publication is still readable. It is in
fact quite a nice one. Was really just
patting himself on the back by the way.
That entire paragraph mogged everybody
several times over. He was just off
having a nice cup of coffee. A little
tired from shopping. H man. I just not
you know it's kind of difficult here.
Let me just do a quick invention that's
going to blow the minds of the world,
make gaming super awesome, and also make
networks possible. Oh yeah, he's also
going to do it in 20 minutes without a
whiteboard, just his brain. You know,
sometimes I like to pretend myself a
smart man, but I this this is just
mogging, okay? There's nothing there's
nothing I can do in the light of his
intellect, okay? [laughter]
I am like a caveman. I feel like the guy
on idiocracy trying to put the square
block into the round hole. Now, right
around when he defended his PhD thesis,
he started to work on the Algo 60
compiler. Now, this was an impressive
feat. First off, Alol is a computing
language that's going to be a highlevel
language. This is one of the first ones
kind of really entering the scene. And
second, it's not just that you're
building a compiler which had relatively
low amounts of study comparison to what
we have today, but it's also the machine
that it ran on. The most obvious problem
the pair faced, by the way, the pair
would be Mr. uh Dykes run along with it,
Dr. Zonavald, was that the machine
designated to run the software, the
Dutch Electrologica X1 computer, had a
memory of only 4,096
words. Now, you may not be familiar with
the term word. That's just going to be a
chunk of memory. Specifically for this
machine, it was 27 bits per word. I know
this was I mean, during this time,
computing was so out of control, powers
of two weren't even the standard. 27
bits. What? What are we going to do with
27 bits? I bet he would kill a bite for
some more memory. By comparison, the
memory of a present-day laptop is larger
by a factor of a million. But towards
the end of his 8-month stint with Algo
60, he separated ways. Algo 60 was
designed by an international committee.
And although Dyster attended several
meetings during the design process, his
name does not appear among the 13
editors of the final report. Apparently,
he disagreed with a number of majority
opinions and withdrew from the
committee. This was perhaps the first
public sign of his fiercely held
independence. In 1962, he ends up
leaving the mathematical center and
heads on over to the Einhovven
University of Technology where a lot of
his work, the things that you use, the
things that you rely on happened and you
probably don't even know they happened.
What? You just a jerk maneuver right
there. Now when Dyster goes to the
university, he starts working on the
multi-programming operating system where
his love of parallel programming was
fostered and he ended up coming up with
a lot of really cool concepts. This work
was taken from EWD123.
Hey, you're probably wondering what the
heck is an EWD123.
Well, it's actually pretty simple. EWD
is just Edgar's initials, but the 123 is
the 123rd post in his little kind of
blogging series kind of handwritten
letters that he would send out to other
academics. He effectively was a YouTuber
in his day. He's just like me except for
he was smart and probably pretty
good-looking. An extensive 87page report
titled cooperating sequential processes.
Now, you're probably like thinking like,
"Hey, Prime Prime, is that is that the
Go thing? Is that Goof Funks?" No, no,
no, no, no, no, no. This is kind of the
first version of it. Later on, Tony
with some inspiration from Edgar
Dystra ended up writing communicating
sequential processes which became the
foundation of Go Funk. Now, in the same
report, he introduced the first known
synchronization primitive which he
termed semaphore. Yes, he created the
semaphore which was the basic and the
first kind of version of a mutex. A
semaphore of with one that's just a
mutex. Obviously not modern sweet
amazing mutexes with the threads in
recursion and all these kind of things
but the very first standard version just
a semaphore. Now you may not be familiar
with what a semaphore is. It's pretty
simple. Let's imagine you have this
thing right here which is a lock and you
can put a number on it. Let's just say
we have a number of one and you have a
bunch of threads that are all going into
this trying to say reach or touch some
sort of value or mutate some sort of
value. Well, you can't have all these
extremely and well-drawn straight lines
go in and mutate the same value at the
same time. That creates a data race. So,
what you do is you have a little lock
and whichever one arrives first takes
this number and down like decrements it
atomically. Oh no, it's at zero. Nobody
else can go in. So, this guy goes in,
does whatever, you know, maneuvers he
needs to and gets on out. Next person
can go in, decrement, do whatever they
need to, and go out. The next person
goes in, does whatever it needs to, and
leaves. Each time they leave, you can
imagine they increment the number, and
the next person decrement, increment,
decrements, increments. You get the
idea. This effectively allows only so
many things through at the same time.
Now, there's probably a bit more
complication that's going on, but this
is just like the simplest way to look at
it. He also identified the deadlock
problem, which he named the deadly
embrace. Now, you're thinking,
what is this, a Greek tragedy? Is this
is this this is Odysius going out
somewhere? Yes, the deadly embrace,
which by the way, amazing name. Also,
pretty sure it's a slay the spire card
if I'm not mistaken. If it was up to me,
I think we should continue to call it
the deadly embrace and not a deadlock.
To give you the simplest explanation,
let's pretend we had some sort of
database resource and it was like a
mutex. You can only have one person
owning that resource at a time. And
let's pretend that there's two different
threads running. We have A and we have
B. Now, these guys can run
independently. They don't rely on each
other. Everything's fantastic. And A
goes, "Hey, I want to use the database."
But unfortunately, B already has a lock
on the database. So A is just going to
sit there and wait. You know, it's just
going to be a happy little boy hanging
out, having a good time. Well, what
happened if B is like, "Hey, the result
from A." What's going to happen? Well,
A's waiting for B, but B's waiting for
A. Deadly embrace. They've embraced each
other. deadly like [laughter]
this is. See, this is why I'm not the
smart guy. This is why I don't have my
own crime 123. The mutual exclusion
problem along with deadlock detection
and prevention are now mandatory topics
in courses on operating systems and
parallel programming. Yes, Dystra is
effectively the father of parallel
computing. And you didn't even know
that, did you? Kids these days. In 1968,
Dystra ended up penning a nice little
article here called go-to statement is
considered harmful. Now, the thing is is
that originally it was not called that
in the book we programmers, which I
might have written a forward to. You
learn that he originally titled it a
case against the go-to statement in
which Nicholas Worth, the editor,
renamed it to Go-To Statements
Considered Harmful, which became such a
popular paper, you probably even knew
about that paper whether or not you read
it. Now, here's the thing. Back in those
days, in 1968, the largest possible
program was some IBM OS totaling right
around 1.7 million lines of code. I just
want you to think about that for a
second. There were 1.7 million line code
projects
with just go-to statements, hundreds if
not tens of thousands of them all over
the place. Like programming had to be
just insane during those days. And Dyrup
had to go and argue, which took a decade
to convince people, hey yo, go to that's
not good. That's not good at all. If you
don't know what a go-to is, you can
imagine you just have like a bunch of
lines of code anywhere in here. You can
just be like go to and then you can say
some sort of offset, some sort of label
into another location and it will just
go over there whatever there is. Now at
one point this made sense before we had
any sort of highle language. If
statements are just gotos, right? If
this condition is true, continue else go
to the end of the statement. That
actually makes a lot of sense. So you
can imagine why gotos were around. Now
if this war didn't happen and Dystra
didn't really lead the charge against
the go-to statements and people were
kind of just okay with second best, we
could have had JavaScript with goto
statements. I you think React is bad
now? Imagine server components with
gotos and you have to be like use client
go to jumping into like server code. It
would have just been nuts. But honestly,
there's just like this small part of me
that thinks JavaScript it deserves a
go-to. And this kind of war against the
go-to became a larger war in which
Dystra argued that we need to be using
if statements and for loops and higher
level constructs to easier understand
the program that we're writing. This
became structured programming. It became
the like mantra of his that we need to
have easily comprehendable programming
languages. Thank you, Dystra. I mean, I
still know it resulted in JavaScript,
but you get the idea. Thank you, Dystra.
And still at Einhovven in 1972, he did
receive the ACM touring award. Now,
remember touring award, Nobel Peace
Prize, programmer of the month. Don't
forget that. Widely considered the
second most important prize in computing
science, he was recognized for
fundamental contributions to programming
as a high intellectual challenge for
eloquent insistence and practical
demonstration that programs should be
composed correctly, not just debugged
into correctness. for illuminating
perceptions of problems at the
foundation of programming design. This
statement right here is actually just
like I mean in today's LLM world, this
is kind of like this almost hilarious
view. It's almost like we have inverted
what Dystro would consider good cuz I I
always often wondered would Dystra like
LLMs doggy. Hi, what do you want from
me? I'm trying TO DO A YOUTUBE VIDEO.
Silly dog. You know, I often wonder what
would Dystra think of today's LLM world.
Well, we do have a little bit of a hint
the not just debugged into correctness
part of his touring award because when
he left Einhovven University in 1984 and
went to Austin, Texas up until his
retirement in 1999, he spent the
majority of his work working through
proofs and formal proofs for
programming. He believed that all
programs should be provably correct, not
just, hey, I think this is correct. not,
hey, I believe we have something that
works. We have enough unit tests to
prove that all the bugs we've ever found
haven't happened again. But he wanted to
believe that all things could be always
correct. Would he look on to this time
and think, what the hell's happening? Or
would he be stoked? because it is such a
uniquely magical period of time in which
we can speak English and out comes
computer program like that is it is
whether you like them or not that is
just absolutely magical. That is
something I never thought I could ever
see. In fact, I I have largely operated
under the assumption that a program
can't tell if it's going to halt. And
now we have things that appear to know
when a program is going to halt. It's
honestly kind of a a magical experience
that we live in. So, would he look at
this with disdain and say that we're all
bunch of slop cannon coding bums? Or
would he actually look at this and go,
"This is amazing. What a new and
incredible time period." Well, this is
where we get to a lot of his quotes. And
I think when you read through his
quotes, you probably get a little bit
better of an idea of what he might or
might not think during this time. It is
practically impossible to teach good
programming to students that have had
prior exposure to basic. As potential
programmers, they are mentally mutilated
beyond hope of regeneration. Damn, dude.
I started on Q Basic.
Dude, I'm getting second hand destroyed
right now. The use of cobalt cripples
the mind. Its teaching should therefore
be regarded as a criminal offense. Hey,
Admiral Grace Hopper, still love you.
You you might get yourself a little
programmer of the month. Okay. APL is a
mistake carried through to perfection.
It is a language of the future for the
programming techniques of the past. It
creates a new generation of coding bums.
Program testing can be used to show the
presence of bugs, but never show their
absence. It's actually an incredible
insight for this, especially in just our
world of, hey, just put the guy put the
guidelines on the slop cannon and bro,
you got yourself something amazing on
the other side, which is really this,
like, can you know all the outcomes? Do
you can you actually control for all
these things or are you accidentally
letting sinister bugs run loose in your
system? This is one of my personal
favorites. If in physics there's
something you don't understand, you can
always hide behind uncharted depths of
nature. You can always blame God. You
didn't make it so complex yourself. But
if your program doesn't work, there is
no one to hide behind. You cannot hide
behind an obstinate nature. If it
doesn't work, you've messed up. Well, I
mean, now we have Claude. Okay, Claudius
Maximus. We can we can blame Claude,
stupid Claude, for not supporting
openweight models. My other big favorite
one. Object-oriented programming is an
exceptionally bad idea which could have
only originated in California.
I mean something so beautiful. I mean it
just makes me so stoked. Also this one
reminds me of Lacun Lunquin. Laquan Lun
the guy the used to be guy from
Facebook. The effort of using machines
to mimic the human mind has always
struck me as rather silly. I'd rather
use them to mimic something better.
Which is totally right. Right. Because
like Stockfish is better than all of
humanity at chess. Like [laughter]
we as a collective whole couldn't beat
Stockfish. So having like human
intelligence, I don't know, it's
probably not all that good. And
obviously before we go, I do have to
give you a couple little fun facts. He
also never purchased a computer. Yes,
the man who carried computer science on
his shoulders never purchased a
computer. I married a Dutch marriage
rights require you to state your
profession and I stated I was a
programmer. The municipal authorities of
the town of Amsterdam did not accept it
on the grounds that there was no such
profession. Bro, imagine, dude, we
already have a hard enough time with
Arch Linux users, but imagine getting
rejected because they're like, "Arch
Linux, that's not even a real operating
system, bro. You can't get married. You
No. No. No marriage for you. You and
your fake profession of programming.
Okay, buster." Yeah, that's a that's a
real one. Well, this is to you, Edgar
Dystra, and we appreciate and celebrate
your contributions to all of the field
of computing. And this is why you win
this month's programmer of the month
from the startup, multi-billion, of
course. And hopefully this title makes
more sense. The man who carried computer
science on his shoulders. We could
literally have go-to statements in
JavaScript right now. So, you better
thank him. I want to see some thank yous
in the comments. By the way, just
special shout out to Kristoff Apt. Uh,
amazing article. I left out so many
amazing details. I strongly recommend
you go and read the entire dang thing.
The name is the shortest pathogen.
Ask follow-up questions or revisit key timestamps.
Loading summary...
Videos recently processed by our community