Simon Willison’s Weblog

Subscribe
Atom feed for erlang

26 items tagged “erlang”

2018

ActorDB. Distributed SQL database written in Erlang built on top of SQLite (on top of LMDB), adding replication using the raft consensus algorithm (so sharded with no single-points of failure) and a MySQL protocol interface. Interesting combination of technologies.

# 24th June 2018, 9:48 pm / erlang, big-data, scaling, sqlite

2010

Hot Code Loading in Node.js. Blaine Cook’s patch for Node.js that enables Erlang-style hot code loading, so you can switch out your application logic without restarting the server or affecting existing requests. This could make deploying new versions of Node applications trivial. I’d love to see a Node hosting service that allows you to simply upload a script file and have it execute on the Web.

# 31st January 2010, 1:57 pm / nodejs, node, blaine-cook, erlang, deployment, javascript

2009

Introducing BERT and BERT-RPC. Justification for inventing a brand new serialisation protocol: Thrift and Protocol Buffers both use IDLs and code generation, XML “is not convertible to a simple unambiguous data structure in any language I’ve ever used” and JSON lacks support for unencoded binary data. The result is BERT—Binary ERlang Term—which extracts a format from Erlang in much the same way that JSON extracted one from JavaScript.

# 21st October 2009, 10:11 pm / protocolbuffers, json, erlang, javascript, bert, serialisation, thrift, xml, github

How We Made GitHub Fast. Detailed overview of the new GitHub architecture. It’s a lot more complicated than I would have expected—lots of moving parts are involved in ensuring they can scale horizontally when they need to. Interesting components include nginx, Unicorn, Rails, DRBD, HAProxy, Redis, Erlang, memcached, SSH, git and a bunch of interesting new open source projects produced by the GitHub team such as BERT/Ernie and ProxyMachine.

# 21st October 2009, 9:14 pm / github, scaling, nginx, unicorn, rails, drbd, haproxy, replication, redis, erlang, memcached, ssh, git, proxymachine, ruby, bert, ernie

PubSub-over-Webhooks with RabbitHub. RabbitMQ, the Erlang-powered AMQP message queue, is growing an HTTP interface based on webhooks and PubSubHubBub.

# 1st July 2009, 8:22 pm / rabbitmq, erlang, amqp, message-queues, http, webhooks, pubsubhubbub

Parallel merge sort in Erlang. Thoughts on an Erlang-y way of implementing a combined activity stream (e.g. Facebook and Twitter). Activity streams are a Really Hard Problem—as far as I know there’s no best practise for implementing them yet.

# 15th March 2009, 1:36 pm / erlang, activitystreams, facebook, twitter

2008

GeoCouch: Geospatial queries with CouchDB. Interesting approach: uses “external2”, a branch that allows external services to be called from CouchDB. SQLite’s SpatiaLite extension is then used as an external spacial index.

# 27th October 2008, 11:48 pm / geocouch, couchdb, erlang, sqlite, spatialite, external2

A Million-user Comet Application with Mochiweb, Part 1. Richard Jones explores Mochiweb, Erlang and linux kernel tuning for building a high performance comet server. Does this mean real-time web features are coming to last.fm?

# 16th October 2008, 2:16 pm / comet, lastfm, richard-jones, mochiweb, erlang, realtimeweb

Reia. The most common complaint I see about Erlang is the syntax. Reia is a Python-style scripting language (with a dash of Ruby) that runs on the Erlang virtual machine. Looks promising.

# 25th September 2008, 6:12 pm / reia, erlang, python, ruby, programming

Engineering @ Facebook: Facebook Chat. The new Facebook Chat uses Comet (long polling with a hidden iframe) against a custom web / chat server written in Erlang, designed to handle a launch to all 70 million users at once. It was tested using a “dark launch” period where live pages simulated chat request traffic without showing any visible UI.

# 15th May 2008, 7:55 am / facebook, comet, javascript, erlang, darklaunch, scaling

Once you reach a certain level of activity in the system where the garbage collector can no longer keep up (and it will happen), then every line of code in your system is now a potential failure point that can leave the whole program in a bad state. Lisp has this problem. Java has this problem. Erlang does not.

Damien Katz

# 14th April 2008, 3:17 pm / damien-katz, erlang, faliure, garbagecollection, java, lisp

In Response to “What Sucks About Erlang”. Yariv Sadan responds to Damien’s criticism.

# 11th March 2008, 5:46 am / erlang, damien-katz, yarivsadan

What Sucks About Erlang. Damien Katz shares his greatest frustrations from working with Erlang on CouchDB.

# 11th March 2008, 5:45 am / couchdb, erlang, damien-katz

2007

What You Need To Know About Amazon SimpleDB. Amazon have finally launched the database component of their web service suite. It fits a bunch of current trends: key/value pairs, schemaless, built on top of Erlang. “Eventual consistency” is an interesting characteristic.

# 14th December 2007, 11:21 am / amazon, simpledb, web-services, schemaless, erlang, hashtables, scaling, databases, charles-ying

ErlyWeb vs. Ruby on Rails EC2 Performance Showdown. ErlyWeb’s peak response rate beats Rails by 47x, albeit with a hugely simplified benchmark. More interesting than the results is the idea of using EC2 for benchmarking on identical simulated hardware.

# 10th December 2007, 3:27 pm / amazon, ec2, virtualisation, erlang, rails, erlyweb, benchmarks, performance, yarivsadan

CouchDB Roundup. The CouchDB project is interested in contributions from people who can write a large file driver for Erlang, help figure out the CouchDB security model and build scripts to help benchmark performance, scalability and reliability.

# 6th December 2007, 3:48 pm / couchdb, helpwanted, erlang

mochiweb—another faster web server. Bob Ippolito’s latest project: a high performance Erlang web server.

# 9th November 2007, 11:22 pm / bobippolito, erlang, webserver, mochiweb

CouchDB “Joins”. Different approaches to indexing a blog post and its associated comments in the non-relational CouchDB.

# 25th October 2007, 8:27 am / erlang, databases, christopher-lenz, couchdb, joins, relational, views

CouchDB first impressions. Jacob’s been poking at CouchDB. Inserting data is slow, but everything else looks pretty slick considering how recently the JSON / JavaScript views functionality was added.

# 19th October 2007, 11:43 am / json, javascript, couchdb, jacob-kaplan-moss, erlang

How should JSON strings be represented in Erlang? Erlang’s poor support for strings makes this a surprisingly tricky question.

# 14th September 2007, 8:17 am / erlang, json, strings, tonygarnockjones

An Introduction to Erlang. Erlang gets the ONLamp tutorial treatment from Gregory Brown.

# 13th September 2007, 5:47 pm / erlang, onlamp, gregorybrown, programming

CouchDB: Thinking beyond the RDBMS. CouchDB is a fascinating project—an Erlang powered non-relational database with a JSON API that lets you define “views” (really computed tables) based on JavaScript functions that execute using map/reduce. Damien Katz, the main developer currently works for MySQL and used to work on Lotus Notes.

# 3rd September 2007, 9:48 am / couchdb, erlang, databases, json, javascript, damien-katz, lotusnotes, mysql, mapreduce

Erlang fits all the characteristics of an OO system, even though sequential Erlang is a functional language, not an OO language

Ralph Johnson

# 8th August 2007, 7:47 pm / erlang, java, objectoriented, programming

JSON and JSON-RPC for Erlang. Nice example of using lists:reverse and an accumulator to efficiently build a string in reverse order.

# 25th March 2007, 4:29 pm / erlang, json, jsonrpc

Programming Erlang. A book on Erlang from the creator of the language himself, out in July but available to buy now as a beta PDF.

# 3rd March 2007, 8:49 am / erlang, books, joe-armstrong

2006

ErlyWeb Documentation. The Erlang web framework finally gets some formal documentation.

# 20th December 2006, 12:45 am / erlang, erlyweb