Erlang

Erlang for everyday use (3)

FeedbackNone.UpdatesSince my previous post I found a little bug in the CEAN installation. Or maybe it's just not very well documented thing: After the installation the path to the control socket is pointing by default to /usr/local/var: =E…

Erlang for everyday use (2)

Common CrapAfter the first article there was more then 1500 hits. And interesting, maybe about 80% of them coming from RubyCorner ! Feedback: near to zero – just several comments on the blog and on reddit . Nothing to improve? Nothing to a…

Erlang for everyday use (1)

After the last Osaka Erlang meeting, decided to start a column of articles for Erlang everyday use. Recently there is a big interest in Erlang, but the beginning is always difficult. Some push during the first steps usually helps. OK, on t…

New improved int2roma() and roma2int() functions

Second approximation of the conversion between old roman and integer digits. Added some error checks and released the roma2int() functionality %% convert between integer and old roman %% usage: %% convert:int2roma(555) -> "DLV" %% convert:…

Osaka Erlang Meeting #1

03-Jun-2007, Toyonaka, HotarugaikeOsaka Erlang Meeting #11. RTFMMost of the time was just reading the japanese translation of the “Programming Erlang” book. 53 pages full of japanese ;) Pretty difficult task. All people divided in 2 groups…

An Erlang Course Exercises

Like I mentioned in one of my Jaiku posts it will be good to have a page with answers for the Erlang Course Exercises . Still nobody around with such a page, so I started to put my answers in the Mercurial repository . Some of the exercise…

Erlang gen_tcp:listen options

{active, Boolean} ...If the active option is true, which is the default, everything received from the socket will be sent as messages to the receiving process. If the active option is set to false (passive mode), the process must explicitl…

Even Simpler Queue Service (ESQS)

Like a part of my Erlang study, I decided to code a pure-man queues management service, similar to Amazon SQS – Even Simpler Queue Service (or Erlang SQS you decide ;) ). For now it’s just one file qserver.erl , but i hope to make it bette…

obfuscation.erl

Luke Gorrie’s comment to ‘Erlang: parallel-map and parallel-foreach’ articleParallel map brainfsck implementation in Erlang: %% Map function F over list L in parallel. parmap(F, L) -> Parent = self(), [ receive {Pid, Result} -> Result end …

Concurrent program template

Something always to start with: -module(ctemplate). -compile(export_all). start() -> spawn(fun() -> loop([]) end). rpc(Pid, Query) -> Pid ! {self(), Query}, receive {Pid, Reply} -> Reply end. loop(X) -> receive Any -> io:format("Received:~…

Programming Erlang Book

Lean how to write truly concurrent programs―programs that run on dozens or even hundreds of local and remote processors. See how to write high reliability applications―even in the face of network and hardware failure―using the Erlang progr…

Backends failover tracking

Pretty useful piece of code: is_pid_alive(Pid) when is_pid(Pid) -> rpc:call(node(Pid), erlang, is_process_alive, [Pid]).Checking if some process is alive. But working only with Erlang processes. I cannot check the status of some general TC…

reverl - REVerse proxy in ERLang

Created the reverl project on Google Code. Reverl is reverse proxy, load balancer and HTTPS front-end for Web server(s), implemented in Erlang. Before to start the real coding, I needed a more general proxy(gateway) behaviour. What exactly…

Common Concurrency Patterns

Cast (send msg) A ! B Event (get msg) receive A -> A end Call (RPC) A ! {self(), B}, receive {A, Reply} -> Reply end Callback receive {From, A} -> From ! F(A) endSome trickery follows ;).Here something cool - Parallel RPC: par_rpc([A, B, C…

Erlang Mantra

Origin: Making Reliable Distributed Systems in the Presence of Software Errors Everything is a process. Processes are strongly isolated. Process creation and destruction is a lightweight operation. Message passing is the only way for proce…

Search Erlang-related information

Started Google Co-op powered Erlang-related Search Engine. Enjoy Update 09-Feb-2007: Also some tinyurl for the search machine

Interconnecting Erlang Nodes

I have an OpenVPN -based VPN. A put some notes on connecting Erlang nodes, running on the VPN machines on my wiki. Erlang is for geeks ;)

erlang.org is down

The Open Source Erlang/OTP (http://www.erlang.org/) and the Commercial Support (http://www.erlang.se/) websites are down for several days. Fortunately there are two mirrors where you will find the downloads: Uppsala University, Sweden Soft…

Yaws-1.66 and "exec: 1: setuid_drv: not found"

Yaws-1.66 have a problems, compiling ot Ubuntu edgy. The problem and the solution. --- yaws-1.66.orig/configure.in 2006-06-07 22:07:31.000000000 +0200 +++ yaws-1.66/configure.in 2007-01-19 15:48:19.000000000 +0100 @@ -171,7 +171,7 @@ case …

Erl -noshell

Just a small shell wrapper to execute Erlang programs without starting the interactive shell. Saving time when working with sample code from the tutorials ;) #!/bin/bash # # Purpose: execute erlang program from the command line # side effe…

Started studing Erlang

From some time i'm trying to study Erlang. Mostly because of the elegant way it handling a huge numbers of threads. Some day I'm hoping to replace Pound with a distributed system of Erlang-based loadbalancers/reverse proxies. Good, but not…