
Joe the office mate - abecedarius
https://github.com/lukego/blog/issues/32
======
apo
> Joe wrote amazingly simple programs and he did so in a peculiar way. First
> he wrote down the program any old way just to get it out of his head. Then
> once it worked he would then immediately create a new directory program2 and
> write it again. He would repeat this process five or six times (program5,
> program6, ...) and each time he would understand the problem a little better
> and sense which parts of the program were essential enough to re-type. He
> thought this was the most natural thing in the world: of course you throw
> away the first few implementations, you didn't understand the problem when
> you wrote those!

I thought I was the only one who did that.

~~~
kabdib
Good code isn't written, it's re-written.

It is scary when something "works the first time", because it probably
doesn't.

~~~
erikpukinskis
There's different ways to re-write though. I tend to assume I couldn't come up
with the right design if I tried. So I will leave my naive implementation in
place until USE shows me a bug or a new feature and then that IMPLEMENTATION
shows me where my architecture is clunky, and how to fix the original thing.

Over time, everything important gets a full rewrite or four, but only piece by
piece.

Generally I assume in an implementation vacuum the long term spec isn't even
well defined so I would never just rewrite something immediately.

Sometimes if a module proves difficult to amend I will start over from
scratch. But usually by then I have tests and use cases I am confident in.

I love the idea of people doing these rewrite series though... not trying to
be evangelical. Just describing a different kind of rewrite.

~~~
kabdib
Back when rocks were young, one of my hobbies was writing assemblers because
the ones available were generally terrible. My first few attempts were pretty
bad. The fifth or sixth assembler that I wrote was commercial quality; it was
fast, had macros, supported most of the different microprocessors that our
platform had, and became widely used. It's been forked and is still in active
development today, 35 years later. I'm still proud of it.

But those first efforts were indeed awful, and those were preceded by even
more false starts; it took 2-3 years of iteration [not full time!] to get to
something that was good.

(Simple assemblers are, well, simple. But if you're in an industry where it's
common to write a _ton_ of assembly -- like the early gaming industry was --
you start gauging assemblers by the creature comforts they provide, such as a
decent macro capability, cross-reference and listing support, performance, and
support for chip manufacturer assembly syntax).

~~~
erikpukinskis
I've been trying to build a web-based IDE for more than 10 years. The first
one was a PHP script that had write access to change the files in its own
directory.

I've started over completely, at least 6 times, trying entire new languages,
entire new feature sets, entire new hosting paradigms.

Each time I try again, I get closer to something professional. Each time the
hacks get a little too messy and realize I'm out of my depth.

But lately less and less changes with each rewrite. I am able to pull entire
chunks of code in from a previous iteration and have them work well, with
little modification.

The process of writing software that's beyond one's ability is fascinating.

------
_hardwaregeek
A little selfish of me, but I'm very sad I never got to meet him. Programming
is in a rather unique state where most of the foundational people are kept
alive in living memory. There's people who can recount working with Dijkstra,
or Dennis Richie or Joe Armstrong. Heck, there's probably some people who can
remember Von Neumann (Peter Lax?). I really hope we can keep these memories
alive. There's nothing really comparable for other fields. Nobody alive today
can remember working with Gauss or Riemann.

This may be a gross exaggeration, but I believe we'll look back on programming
during the mid to late 20th century like we do for physics in the early to mid
20th century. We'll marvel at the amount of talent alive at the same time.

~~~
shocks
TIL Dijkstra died in 2002. I don't know why, but I always thought he was much
older than that!

~~~
hombre_fatal
Probably because he's cited with the frequency, authority, and timelessness of
any major philosopher.

~~~
Stratoscope
It's amusing to note that Dijkstra's most famous quote is something he never
wrote.

Dijkstra submitted a letter to the editor of the Communications of the
Association for Computing Machinery (CACM) that he titled "A Case Against the
Goto Statement".

Niklaus Wirth was editor of CACM at the time, and he changed the title to the
infamous "Go To Statement Considered Harmful".

[https://en.wikipedia.org/wiki/Considered_harmful](https://en.wikipedia.org/wiki/Considered_harmful)

Here's the story in Dijkstra's own hand (scroll to the last page of the PDF):

[http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1308.PDF](http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1308.PDF)

This is a good reminder that when you read an article with a clickbaity title,
don't blame the author, blame the editor.

------
filleokus
One thing I've thought about a lot when people like Joe pass away is that it's
somewhat sad that they never are able to receive all the appreciation people
give after they are gone.

In a parallel culture timeline it is easy to imagine the announcement of
someone soon to die (when possible of course), and all these kind words of
appreciation from strangers being passed on to the one dying. On the other
hand, I guess that the time is better spent with close family, but regardless,
I hope that he somewhat understood his importance to so many people all over
the world.

~~~
pbourke
This seemed to happen with Gord Downie of the Canadian band The Tragically
Hip. He was given a diagnosis of terminal brain cancer, but had the energy for
a cross-Canada tour a few months later. He was much loved across the country,
and though the band’s arena-sellout days were mostly behind them, they blew
the doors off with sold out shows at the country’s top venues, culminating in
a nationally-televised concert. I’ve always marveled that he got the chance to
have this touching denouement to his career, and I’m glad he did. And I’m very
thankful that I managed to see them in Vancouver.

~~~
revvx
Similar thing happened to Wilko Johnson, guitar player in Dr. Feelgood and
actor in Game of Thrones. But in the end he surprisingly ended up surviving
his terminal cancer, thanks to his doctors.

[https://en.wikipedia.org/wiki/Wilko_Johnson#Cancer](https://en.wikipedia.org/wiki/Wilko_Johnson#Cancer)

------
snazz
I can’t say I’ve ever seen someone use an issue tracker as a blog before, but
it does make sorting the posts dead easy.

~~~
giancarlostoro
I wish he would of called it an e-zine. Then "Issues" would match the use
case... Bring e-zines back dang it! _raises wrinkly millennial fist_

~~~
giancarlostoro
A fun side effect of his approach is you can see people who forked off the
idea, there's at least two people blogging using this format as well:

[https://github.com/lukego/blog/network/members](https://github.com/lukego/blog/network/members)

------
redleggedfrog
I hope when I die I'll be worthy enough to ascend to whatever is the
programmer Valhalla and I'll see Joe there, amongst the other greats.

I have never written a line of Enlang, but as I've seen the advantages of
loading binaries at run-time as swappable components I get an inkling of the
beauty of the idea. It's not near so easy in C# as it appears to be in Erlang.

Also, I nominate the name of programmer Valhalla to be called "Greenfield."

------
toomuchtodo
If anyone related to Joe has access to his home directory and knows someone
managing his estate who could grant a copyright release, I'd be interested in
adding it to the Internet Archive (out of respect). Email in profile.

~~~
saagarjha
I’d be very cautious as to what from my home directory I’d be ok with going
online, even after I died. Much of the material might still have relevance to
others, and they might not want it published…

~~~
sleepychu
> _Joe 's home directory was a treasure trove of new and old ideas…This was
> all openly shared over NFS and exciting to explore._

Agreed but I suspect that this home directory as exposed on the NFS might be
appropriate.

------
codr7
Sounds a lot like the stories I've heard about other software legends, or any
kind of legends really. Sadly there aren't many places left with enough margin
for creativity, it needs space and comes without guarantees.

------
djhworld
I've only seen glimpses of this great man from his conference talks on
YouTube, but he came across as a very intelligent, relatable and humble
person.

It's a great loss.

------
smnplk
I can't believe he died. What a loss.

