News for hackers. Stuff that matters.
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @04:51PM (#19708792)
Years ago I emailed Joe Armstrong about concurrency stuff. I had no idea about anything like multithreaded programming or distributed systems or anything like that, but I had read Erlang was a language well-suited for that stuff.

I sent an email asking some seriously noobey questions about concurrency (about why mutation was bad, what made the Actor model work, etc), and instead of a response like "Go read a book and stop bothering me", he responded back with an incredibly long, well-written email explaining a lot of the minutia of how Erlang avoids a lot of pitfalls and generic concurrency theory. He was really good about explaining things in a way simple-enough for me to understand, without coming off as patronizing or rude.

About a year later I got a job doing Erlang, and I sent him another email telling him this, saying something to the effect of "sorry for bothering you a year ago, but your email was really helpful to me".

His response was basically "You have nothing to apologize for! I've always thought it was important to help people asking questions, especially early in their career".

I can honestly say that his kindness and patience changed my life for the better. If he hadn't held my hand a bit to make distributed systems make sense to me, there's a very high likelihood that I would still be writing Flash applications for a Tae Kwon Do studio.

RIP Joe, you will be missed.

Re:Joe Armstrong has died by sytelus on Saturday April 20, 2019 @11:32PM (#19710393)
It occurs to me that this is one fundamental commonality across great people that includes likes of Einstein to Feynman to Knuth to Erdos. They can sense the curiosity of a person regardless of their background or expertise and cannot prevent themselves from infecting you with the fundamental joy of discovering nature's secrets. Passion is something they feel obligated to spread even if you are just a gardner or a cook or a high school student while they happen to be towering figures with Nobel or Field medals. If you have that email, please do share!

And RIP indeed.

Re:Joe Armstrong has died by tombert on Sunday April 21, 2019 @12:29AM (#19710546)
I actually did share that email in a sister thread; I also wrote about it specifically in a blog post [1] if you don't want to traverse through the comments.

I completely agree with your thesis. I was a recent college dropout, and Joe's enthusiasm about Erlang, distributed programming, and pretty much everything else about computers was really a good springboard for self-education.

[1] https://medium.com/@tombert/rip-joe-armstrong-b6252ff93654

Re:Joe Armstrong has died by johnhpatton on Sunday April 21, 2019 @06:55AM (#19711510)
Thanks for sharing that experience. This matches my interactions with him at a couple conferences. Always willing to spend a moment explaining things to anyone. I had the pleasure of drinking beer with him at one of them and he was genuinely excited when I asked to have him sign my erlang book. His Twitter was one of the few I followed. His teachings and musings changed how I view software engineering. He will be missed.
Re:Joe Armstrong has died by why-el on Saturday April 20, 2019 @04:59PM (#19708836)
Same. Him and I discussed distributed storage. Well detailed response from him that sent me reading for days. I aspire to be like him.
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @07:53PM (#19709669)
I would love to read that if you can find the emails. He always had a unique perspective on this stuff.
Re:Joe Armstrong has died by dnautics on Saturday April 20, 2019 @10:39PM (#19710253)
I'm curious about what he had to say about distributed storage!
Re:Joe Armstrong has died by anthony_doan on Saturday April 20, 2019 @05:06PM (#19708880)
> he responded back with an incredibly long, well-written email explaining a lot of the minutia of how Erlang avoids a lot of pitfalls and generic concurrency theory.

I love that about Joe. He really really love Erlang and the thing he built and share it with everybody. It shows in his blogs and the talks he gave at conferences.

Re:Joe Armstrong has died by stephenamills on Monday April 29, 2019 @08:05PM (#19783838)
This only makes me want to cry.. I never got the opportunity to meet him but I will miss him so much. I've always known since high school that his work in certain ways just had no equal. The Open Telecom Platform is straightforwardly just a masterpiece of programming - it basically turns any server into this data processing god machine with almost no possibility of a (code) failure.
Re:Joe Armstrong has died by anirudhan on Saturday April 20, 2019 @04:58PM (#19708830)
I am interested in what he replied back on how Erlang avoids the common pitfalls? Would it be possible to post about it?
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @05:03PM (#19708865)
Basically, he explained that shared-memory systems simply don't make sense for distributed programs.

It was years ago, but I believe he said something to the effect of "imagine that there's a server in Europe, and a server in America. Where does that shared memory exist?? Shared memory violates the laws of physics!"

He then explained that since Erlang processes don't share any memory, and the only way for them to communicate is via message-passing, there's no need for locks or anything like that.

Re:Joe Armstrong has died by jamesblonde on Saturday April 20, 2019 @05:12PM (#19708915)
Like the way he described thread safety as an oxymoron...
Re:Joe Armstrong has died by dhruvt10 on Saturday April 20, 2019 @05:01PM (#19708849)
Can you please share that email if it's not too much to ask?
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @05:09PM (#19708901)
I posted it in a sister thread to this. There's a part 2 somewhere but I'll need to find it.
Re:Joe Armstrong has died by emzo on Saturday April 20, 2019 @04:59PM (#19708839)
Are you willing to share his reply?
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @05:00PM (#19708846)
I can't seem to find it; I am actually reaching out to a friend that I forwarded it to to see if he still has it.
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @05:09PM (#19708900)
I was able to find his reply. The stuff after the `>` is him quoting me. There's another part to this somewhere, but I'll have to keep looking.

> Hello!

> I am learning Erlang and really liking it.

Great

> I am finding myself really liking the immutability in regards to being able to reason about my code, but that leaves me with a probably easy question: why does immutability make concurrency easier?

Tricky I guess it makes parallel execution easier (no locks) - it certainly makes programming easier closures really are closures :-)

> Is it because it's difficult to have something in a thread reach-across and modify the state of another thread?

That's not really immutability - actually I hate threads - the difference between a thread and a process is crucial - threads can modify shared state (horrible) -

In distributed systems there is no real shared state (imagine one machine in the USA another in Sweden) where is the shared state? In the middle of the Atlantic? - shared state breaks laws of physics. State changes are propagated at the speed of light - we always know how things were at a remote site not how they are now. What we know is what they last told us. If you make a software abstraction that ignores this fact you'll be in trouble.

> Does that mean concurrency wouldn't be so bad if you kept state mutations contained within one thread?

Yes - if you use the word process, not thread. Processes were invented to provide protection from other computations and to share resources in a clean way - threads share resources in a messy way.

> If you don't have time to answer right now, a link or some guidance into the right resource would be appreciated! I think what you're interested in is the distinction between message-passing-concurrency and shared-memory-concurrency.

Java/C++/etc uses shared-memory concurrency (evil) - Erlang uses message passing concurrency.

AS Alan-Kay said - the big thing about OO is message passing not all the other stuff ...

> > I love Erlang, and I appreciate you reading my message!

Have fun

/Joe

Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @05:15PM (#19708937)
Ah, found the email he responded to a year later. As before, the stuff after the > is him quoting me.

----------------------------------------

> Hello!

>

> Just under a year ago I send you a message asking you about multi-process computing and the like. You gave me a long, detailed email that not only answered my questions, but also explained in pretty-decent detail. >

> I was so impressed by that email that I actually purchased your "Programming Erlang" book, and enjoyed that just as much, and today I started my first job doing Erlang full-time (well, mostly; there's some JS involved).

Great - thanks a lot for buying the book - these kind of stories make it feel all worth while

> I just wanted to thank you for the help. I know a compsci-celebrity probably gets bombarded with emails,

Actually not - I guess it's a 'being polite' thing - I rather like twitter it lowers the entry barrier for communication between people.

I have in the past mailed several of my CS "heros" - and was always rather reluctant to do so. Then to my great surprise I often got long and helpful replies (from Niklaus Wirth, Alan Kay, Jim Gray)

This kind of fits in with my view of life - 95% of people are basically helpful.

I've always thought that converts were gained "one at a time" - imagine a drip drip drip of water falling into a pan - one day it overflows.

We always think it's fantastic to hear the stories of what you guys do with Erlang. (I say we because the Erlang you're using is the product of many people fantastic work) - I'm just the fall guy who writes the books and happened to start it all :-)

I was sat listening to Brian Acton who founded WhatsApp and made 3.5B$ and thought "I invented this crap" - which is a great feeling - and they gave me a tee-shirt.

So the side effect of what I do is I get to meet loads of interesting people and do what I want.

Anyway thank again, and I hope things go well for you.

> and I think it's really cool that you took a good amount of time responding to some random guy on the internet asking for help.

Well every body is a random guy until you share stories.

My wife was a random woman before we met.

Anyway life would be very boring if it were not for random events.

I never run for busses or trains - it was after I read about a guy who missed a train and had a random conversation with a guy on the platform who had also missed the train - this gave them an idea that they turned in a multi-million dollar business.

I guess the other reason that you get long replies is that I'm an author and I don't do short mails.

> As usual, keep up the great work.

I'm trying - though I've recently retired - gives me more time for hobby programming - though I have to tend my garden and so on

Cheers

/Joe

Re:Joe Armstrong has died by tomcdonnell on Saturday April 20, 2019 @07:46PM (#19709645)
Please consider sharing this email exchange with lettersofnote.com. I am not affiliated in any way with that site, but I have found it to be a great source of inspiration and a reminder that very successful people are still people, and often very approachable and kind people. Reading this sort of thing can restore one's faith in humanity, and provide impetus to change one's own behavior towards kindness and generosity.
Re:Joe Armstrong has died by elsurudo on Saturday April 20, 2019 @06:28PM (#19709292)
Wow, what a sincere message. That right there is a true encounter. His philosophy – much like Erlang's – is unique and refreshing.
Re:Joe Armstrong has died by tombert on Saturday April 20, 2019 @06:38PM (#19709349)
Yeah, I'm glad I was able to dig it up. It has an almost-inspirational sentiment to it.

Also, rereading this line genuinely made me laugh:

> I was sat listening to Brian Acton who founded WhatsApp and made 3.5B$ and thought "I invented this crap" - which is a great feeling - and they gave me a tee-shirt.

Re:Joe Armstrong has died by yen223 on Saturday April 20, 2019 @11:44PM (#19710425)
> Well every body is a random guy until you share stories.

I absolutely love this quote

Re:Joe Armstrong has died by tombert on Sunday April 21, 2019 @12:14AM (#19710505)
Me too; it's an cleverly simple way to say something that seems obvious, but bizarrely isn't. I guess like Erlang itself, Joe was good at expressing the complex tersely.
Re:Joe Armstrong has died by davidrupp on Sunday April 21, 2019 @12:50PM (#19713019)
Humble and gracious. A model for other language creators and community leaders.