The Reddit Effect
About a month ago, as I’ve been wresting with an unbelievably annoying installation procedure for Ruby on Rails on my MacBook, I wrote the posting Erlang + Yaws vs. Ruby on Rails, in which I highlighted some of the advantages Yaws, an web server for dynamic web applications written in Erlang, has you over Ruby on Rails. I really like Rails, but at the same time I’m sometimes puzzled at the disproportionate amount of buzz it gets, especially as compared to Erlang, which by all indications is the software industry’s biggest undiscovered treasure.
I wanted to share my thoughts on Erlang and Rails with the community, and what is the best way to do that in this day and age? Blog about them, of course!
Well, there is actually one more thing to do after blogging: submitting the article to Digg, the biggest social news website. That’s what I did, and sadly enough my article only got dugg 15 times — not nearly enough to make the front page.
“Oh well,” I thought, “I did my share of Erlang evangalism. The crowds apparently aren’t interested. I guess Erlang will remain obscure to most web developers, at least for a while.”
Jokingly, a few days later I wrote an article comparing Erlang and the One Red Paper Clip Guy, half-seriously thinking that maybe that would get people’s attention. I just wrote it for fun and I didn’t bother submitting it to Digg, though.
In a strange twist of fate, a couple of days ago, somebody has submitted my Erlang + Yaws vs. Ruby on Rails article to reddit.com, another big social news site, and lo and behold — the article made the front page! From reddit.com, the posting then spilled over to del.icio.us and made the popular page. Not bad for an article on which I have already “given up.” :)
In the two days since posting got “redditted,” my blog has received almost 4000(!) visits. Here are the graphs from Google Analytics:

It looks as though against all odds, my ramblings have actually made some people interested in Erlang. I wonder if any of them will actually become real Erlanger hackers. I’m not expecting a mass conversion by any means, but one or if one or two good hackers adopted Erlang, I would feel like it was a job well done.
If you are one of these people, please let me know!
Trackbacks
Trackbacks are closed.

Hi Yariv,
Thanx for all your articles on Erlang/Yaws. I’ve been reading about Erlang for a couple of weeks now and it all looks very interesting.
Even managed to install the Yaws webserver running on my Mac Mini… Well, it wasn’t that hard. I used this one: http://yaws.darwinports.com/
Now, hopefully I have some time to play around with this wonderfull language.
Ciao, Bart
Hi Yariv,
I’ve really been enjoying your blog.
I’ve moved from c# to Ruby and RoR and have recently been looking at functional languages. Erlang looks very interesting and I hope to be able to devote some time to learning it. Keep up the good work.
Great job, apparently it is really interesting that the things I have seen on the mit lightweight languages thing especially the one with openlaslo, ruby and erlang talked about in one workshop , after years :) are making public prime time. Interesting isn’t it? your blog is great Yariv !! I’ll add you to my mentors, colleagues list :) check the videos at http://ll2.ai.mit.edu/ if you haven’t.
Thanks for the feedback, everyone! I’m looking forward to hear about your adventures with Erlang.
Thanks for the excellent articles, Yariv, and glad you discovered Reddit. A couple months ago I went from /. to Digg b/c Digg had better article moderation, found Digg’s user community a little young, then from Digg to Reddit b/c Reddit has both the article moderation and /.-quality community.
Erlang has had quite an audience at Reddit the past few months, I think b/c people are looking for real alternatives to the industry standards, especially with the rise of multicore cpu’s and the commoditization of high-performance interconnects. If you want to reach the more hardcore hackers who really appreciate Erlang, Reddit and /. are probably the best submission targets. Of course, it’s not that difficult to submit to all three…
Here’s another Erlang article that hit #1 on Reddit recently: http://www.defmacro.org/ramblings/concurrency.html (An intro to Erlang by hypothetically refactoring Java into Erlang). And my recent submission of Erlide, the Erlang Eclipse plugin, hit #13. Lots of people have fallen for Ruby and RoR b/c of 37Signals’s (and some say O’reilly’s) excellent marketing, and b/c of the pleasure of writing Ruby code. But as you point out Ruby has some deficiencies (performance, scalability, platform complexities and immaturity), and most folks at Reddit are aware of that are still looking elsewhere, mainly at Haskell, Ocaml, and Erlang. All Erlang needs is an evangelist willing to put up a nice site, some 20-minute movies on setting up a blog or recreating MapReduce in Erlang, some RAD platform how-to’s (BSD/OSX+Erlang+Yaws, etc.), and other such stuff. Which is unfortunate, since Erlang’s advantages should sell themselves, but alas, that’s not how humanity works… Interested? ;)
Also you bring up a really interesting point about Google not hiring any functional programmers, especially with Peter Norvig at the helm of R&D. Given Google’s origins and ethos, I find that both amazing and bizarre. I recognize the need sometimes to standardize large IT shops on a set of core technologies to make infrastructure management more feasible, but Amazon seems to be showing that may not be a necessity. Regardless, I would have thought Google would have at least standardized on the best of breed technologies, since they already hire talented people capable of quickly getting up to speed in them. Hope that’s not the writing on the wall…
Byron
Hi Byron. Thanks for the great response! Expect many more Erlang articles to come out of this blog in the coming months. IMO Erlang is by far the best (i.e. the most fun :) ) functional language, especially for almost any kind of server-side development. I am personally going to build some of the libraries that will bridge the API gap between Yaws and Rails, so I have no doubt that great times are ahead for Erlang adopters.
I was very surprised to see what looks like very archaic hiring practices by Google. If I were in charge of HR or whatever, I would try to recruit functional programmers even if none of my systems were going to be written in functional languages. Why? Because by my experience, functional programmers tend to also be the best programmers. I *know* many people at Google are aware of this, so there seems to be a mismatch between their passion for cutting edge programming and hiring practices as well as language selection.
I wonder who does the hiring at Google now, whether they’ve grown so fast they’ve hired typical HR folks to lead the hiring, who don’t know the difference. From anecdotes on blogs, I was under the impression that they do hardcore technical interviews with engineers, though. Perhaps they actually do follow your advice, and interview and hire functional programmers, but just for Java/c++/python jobs…
Also, fwiw one flaw in Rails (and most other web frameworks), is that they oversimplify the db layer with simple ORM schemas, losing out on the power of the rdbms’s relational algebra engine. An interesting Python project that aims to remedy that is SQLAlchemy. It would be nice to have an Erlang version/port. I might look into starting such a project after I’ve played around with Erlang enough.
Speaking of playing around with Erlang, I think I might attend the ACM ICFP Conference in Portland, or at least the weekend workshops on Erlang and concurrent Scheme (Termite). Looks interesting…
Hi Byron,
I don’t seriously believe that Google shuns functional programmers, but, as you said, it looks like their HR folks have overlooked many great languages that haven’t used to build production websites for whatever reason. I’m sure the hackers at Google have plenty of appreciation for functional programming.
I think one of Rails’s strenghts is actually that it doesn’t try to solve all problems for everybody, but that it just tries to solve common problems for mainstream web development. Yes, ActiveRecord is somewhat basic, but it does the job in 99% of the cases. Having said that, SQLAlchemy looks very interesting!
I’ve actually already starting building a database abstraction layer for Erlang. Look at Smerl, which I just blogged about yesterday, as it would be very useful for such a project.
I’d love to attend that conference. I’ll see if I have the time/money.
Best,
Yariv
Hi, Yariv! After reading your posts on Erlang, I decided to try converting the MUD server that I was writing in Common Lisp into Erlang + Mnesia. So, here’s me letting you know.