"Une cause très petite, qui nous échappe, détermine un effet considérable que nous ne pouvons pas ne pas voir, et alors nous disons que cet effet est du au hasard." -- Henri 'Pixel' Poincaré, 1908.Last commit: 3 days ago.
Images at the top of the page and in the animation below are dynamically generated by an instance of Le Biniou running on this server. Of course, it's low-resolution (320x240, 3 frames per second), nothing to be compared with running Le Biniou at home on your HDTV, listening to your favorite music :)

King Arthur: How does it... um... how does it work ?
Sir Lancelot: My liege, two Erlang swallows nodes are involved in this example: The first one is the Yaws webserver (the client), the second one an Erlang application spawning a Biniou (the image server).
The Biniou application simply sends back the current image to anyone who asks for it. (Here, the web pages; refresh to see the background change).
The screenshot URL is http://biniou.net/biniou.yaws, which is a pretty simple .yaws script:
<erl>
out(_Request) ->
%% Ask the Biniou process for an image
{biniou, biniou@localhost} ! {self(), image},
%% Receive result and deliver back to client
receive
{ok, PNG} ->
{content, "image/png", PNG}
end.
</erl>
Et voila ! (Of course, this is reduced to the minimum, one will add error-checking and such).
Isn't that sexy ?