Live data from Hacker News

Ask HN: What have you built with Erlang?

news.ycombinator.com

11–20 of 48 posts

Re: Ask HN: What have you built with Erlang?

#12
I worked on a spreadsheet compiler at hypernumbers.com and some backend stuff for vidiowiki.com (video transcoding, file uploading/streaming and some other smaller stuff).

Erlang excels at distribution. People tend to forget its raison d'être is fault-tolerance (not concurrency), so when you set off working on an Erlang application you presume that it will run on 2+ machines. That's why it's great for things like Facebook Chat and Riak. In addition to those, it's also good for writing control and supervision layers, where workers are written in Python, Java, C etc.

While I'm at it, I'd like to plug http://veldstra.org/whyerlang/ It's in a real need of an update, and I'd love to hear any feedback.

Re: Ask HN: What have you built with Erlang?

#15
http://hypernumbers.com - an online spreadsheet which is a native web app - lurching towards a proper launch after a lot of development.

Erlang is a great fit - works well, allows you to build a native stack without any cross-language impedance. Your application is cluster ready from the get-go and allows you to focus on the functionality rather than any of the utilities required to make the damn thing stay up.

Re: Ask HN: What have you built with Erlang?

#16
post #7
post #2

I built a very specialized mail server (MTA). It was a tedious, frustrating experience, even though you'd think it would be the perfect language. It ended up being too slow (probably because of all the string processing) In my entire programming career, I've never before had to join a mailing list and ask questions to get things done, that should tell you something.

I'd be interested in hearing more about the frustrations.

yes indeed I'm increasingly using couchdb, planning on picking up erlang and it would be useful to avoid the mailing list if you can pass info along...

Re: Ask HN: What have you built with Erlang?

#18
I built a fault-tolerant system for binding lots of disparate and network-unaware services via a monitored event-driven communication protocol to a network-fronted cloud architecture. It's called Katamari, and it's the version of Fuzed (this same concept just for Rails instances) that I modified to run as the majordomo of Powerset's realtime query analysis layer. It let us take un-threaded and network-unaware software that talks over local file descriptors and turn them into a cloud service.

Katamari also has some fairly good fault tolerance characteristics. It aggressively tries to maintain a cloud and it has no real single points of failure. It recognizes hung or crashed instances of individual workers and restarts them. It also supports arbitrary versioned resources existing in parallel, which is great when you want to do A/B testing.

It was also designed so that it was usable in both a development and production environment. While currently little slow for most production uses (~2ms overhead for most queries, with a special case of ~12ms), it's plenty fast and runs in less than 10mb of memory on most linux systems, and can transparently go from a 1-box to a N-box solution.

Microsoft open-sourced it for me (after 2 years of bureaucratic nonsense), so I am just pulling out the useless and crufty parts before I put it up on GitHub. I've given 2 talks about the technology, one for Fuzed at Railsconf and one on Katamari at the last Erlang Factory. I hope to have a modernized version maintained this year, and start moving the tech forward.

Katamari is about 10k lines of code; with about 2/3 of that being Erlang and the remaining 1/3 being Ruby code for the glue (Ruby was Powerset's primary glue and binding language, so it is the only supported binding). Katamari aggressively leverages the characteristics of Erlang to accomplish this feature set; its safe to say all the fault tolerance wouldn't have been doable without Erlang's implementation providing the basics for it.

Re: Ask HN: What have you built with Erlang?

#19
Started etap: http://github.com/ngerakines/etap which ngerakines took over.

Iterate: http://github.com/zaphar/iterate an agile user story tracking app. Which is mostly useable but still in development. Used nitrogen which I found to be a really good web framework for dynamic applications.

Re: Ask HN: What have you built with Erlang?

#20

Banking systems, both retail and commercial. Logistics. Embedded. Clusterware. Telecoms. Robotics, AI. When it comes to messaging, don't forget RabbitMQ and all the SMS systems. Francesco

For those of you who don't now, Francesco Cesarini is the founder and CTO of Erlang Training and Consulting, and has been a major proponent of Erlang for years, also having co-written the book "Erlang Programming" (http://oreilly.com/catalog/9780596518189 - it's a great book, I highly recommend it myself)
Post reply on HN