?

Log in

Previous 10 | Next 10

May. 1st, 2007

2007-05-01 Actors, SOAP, WS-Death*

Paul Mackay's article on “Why has the actor model not succeeded?” is interesting reading for an Erlang programmer. Coming to Erlang from an object oriented(ish) background, I've come across the problems with not being able to inherit behaviours when writing actors/erlang processes.

S is for simple more or less sums up my experience of SOAP. I probably wouldn't be quite so polite.

Bill de hÓra sums up with this on the entire WS-* process.

2007-05-01 SQL Deficiencies

I just saw Hugh Darwen's “Having a blunderful time” article on reddit and thought I'd share.

2007-05-01 Process Dictionaries vs. ETS

In this email, Ulf Wiger illustrates the differences between using process dictionaries and ETS tables:

Comparing the process dictionary an ets, there are
pros and cons with each:

- process dictionary is a linear hash table, like
ets sets (but not exactly the same implementation)

- there's no copying when accessing the process
dictionary, but then again, there is GC. With ets,
it's the other way around. (We have code where the
process heap is sized so that all garbage of
short-lived processes fits on the heap. This means
no copying - no GC).

- ets tables can be made to survive a process crash
(by making some other process the owner). This can
be a good thing, but forces you to use public ets
tables (bad thing). I believe most ets tables in
use are public, which in a sense makes them worse
than the process dictionaries.

- On a few occasions, it is actually useful to let
several processes write to the same ets table,
but in most cases where it's contemplated, it's
a very bad idea.

- The contents of the process dictionary is included
in crash reports, while the contents of ets tables
are automatically wiped out when the owner dies -
bad for debugging, unless you make another process
the owner, and make the table public, so you can
write to it (which means everyone else can write
to it too - bad)

- Of course, storing huge amounts of data in the
proc dict is bad because (a) it's GC:d, and
(b) all the data is dumped into the SASL crash
reports, which are (by default) pretty-printed
to the tty - potential diaster.

- ets has much better search and fold facilities
(the process dictionary has practically none).

- Allowing many processes to write from an ets
table _can_ be very useful. This could be done
with the process dictionary as well, but at
the moment, the only option available is to
read the entire dictionary at once (through
process_info(P, dictionary). This involves
a copy, btw, just like with ets.

Apr. 20th, 2007

2007-04-20 Mnesia Internals

I found a link to Hakan Mattson's Mnesia internals slides on erlang-projects today. It's pretty interesting reading about the different distributed transation manager protocols in use in Mnesia, but I think the slides would benefit greatly from having Hakan's talk to go with them.

Apr. 19th, 2007

2007-04-19 Mr. Language Person

Mr. Language Person would probably endorse these products and/or services:
• The Guardian Unlimited Style Guide
• The Economist Style Guide

Apr. 17th, 2007

2007-04-17 Contranyms

Rinkworks has an interesting article on contranyms - words that are their own antonyms.

Apr. 13th, 2007

2007-04-13 Network Night Vision

Dylan is alive and well - Network Night Vision is a new Wireshark-like network protocol sniffer GUI written entirely in open dylan. Now if only there were a Cocoa backend for DUIM.

Apr. 11th, 2007

2007-04-11 Gigs

I endorse the following products and/or services:
Sam Flynn Scott
Age Pryor, Octopus, Jazz Firefly
Dylan Moran

Though I'd endorse them even more if they'd actually update their respective websites... Seriously, why do I have to keep an eye peeled for new posters around town to keep up with gigs? The dark pre-internet times want their non electronic information transfer methods back.

Apr. 9th, 2007

2007-04-09 Distel lives!

At last, a version of distel (erlang IDE/interaction for Emacs) that really works (for me :) !
http://code.google.com/p/distel/

It doesn't have wrangler (and thus fancy refactorings), but not having to exit emacs to interact with a running erlang system is just plain cool.

Mar. 30th, 2007

2007-03-30 Age Pryor: Shank's Pony

Age Pryor just played a gig at Mighty Mighty to celebrate the release of his new album Shanks' Pony.

Age and co. played all the songs from the new album, some old favourites from Fly My Pretties and coaxed Tessa Rain up on stage for their ever amazing King Of You All. Go buy Shank's Pony - King of you all is worth it alone :)

Previous 10 | Next 10