2014
Learn You Some Erlang for great good!
by jpcaruanaHey there! This is Learn You Some Erlang for great good! This book is for you if you’ve got some programming experience and if you’re not too familiar with functional programming. It can still be useful if you’re too good for that, as we progressively go into more and more advanced topics.
The book started as a free online guide, and you can still read it that way. If you prefer the soft touch of paper, the delicious smell of a real book, the possibility to physically hug a document, or just want to boast by padding your bookcase, you can buy a few copies too (and e-books are also available).
2011
{{ mustache }}
by jpcaruana & 4 othersAvailable in Ruby, JavaScript, Python, Erlang, PHP, Perl, Objective-C, Java, .NET, Android, C++, Go, Lua, ooc, ActionScript, ColdFusion, Scala, Clojure, Fantom, CoffeeScript, D, and for node.js.
Works great with TextMate, Vim, Emacs, and Coda.
2010
Reia Programming Language
by jpcaruana (via)Reia is a Ruby-like scripting language for the Erlang virtual machine. Reia brings you the best of both worlds between Ruby's friendly syntax, reflection, metaprogramming, and the amazing power of blocks, and Erlang's immense abilities for concurrency, distribution, hot code swapping, and fault tolerance.
auser's alice at master - GitHub
by jpcaruana & 1 other (via)As a queue server, RabbitMQ is super cool, but my company is hesitant to use it without a nice front-end or access to statistics about the server. So we set out to develop the latest RabbitMQ REST interface, Alice.
Alice is a RESTful interface to the RabbitMQ server that talks directly through erlang's native interface, epmd. The purely RESTful server responds to the same interface as the RabbitMQ's command-line interface and presents a native HTTP interface to the data. Alice is written with Mochiweb.
2009
osmos - Google Code
by jpcaruana (via)Osmos provides on-disk ordered key-value tables for Erlang, based on a sort-merge machine with user-defined merging semantics. This allows a very high volume of updates to be handled efficiently while still supporting a variety of useful operations with transactional safety, e.g., adding to a counter, taking the union of sets, or simply replacing a record.
Osmos is ideal for situations where updates are much more frequent than queries, for example, collecting statistics for reporting, and periodically generating reports.
flatula - Google Code
by jpcaruanaflatula is a simple "write-once" database for Erlang that provides an easy way to remember a piece of data, then look it up later using a compact identifier. See FlatulaHowTo for a brief introduction and tutorial.
mochiweb - Google Code
by jpcaruana & 1 other (via)MochiWeb is an Erlang library for building lightweight HTTP servers.
scalaris - Google Code
by jpcaruana (via)Scalaris is a scalable, transactional, distributed key-value store. It can be used for building scalable Web 2.0 services.
mojombo's erlectricity at master - GitHub
by jpcaruana (via)Erlectricity allows a Ruby program to receive and respond to Erlang messages sent over the Erlang binary protocol.
plists - Google Code
by jpcaruanaplists is a drop-in replacement for the Erlang module lists, making most list operations parallel. It can operate on each element in parallel, for IO-bound operations, on sublists in parallel, for taking advantage of multi-core machines with CPU-bound operations, and across erlang nodes, for parallizing inside a cluster. It handles errors and node failures. It can be configured, tuned, and tweaked to get optimal performance while minimizing overhead.