Hikij: Haskell and Javascript based Wiki

Taking Matthias’ [introduction to AJAX and Haskell][inspiration] as inspiration, I decided to try to write a complete wiki using Haskell on the server side. This also grew from discussions we’ve had in recent weeks about distributed wikis and similar ideas, though Hikij has as yet none of those features. Because of my use of Javascript…

DLAs, mashups and canapes

TV Chefs and blogs have had it — networking evenings and portals are back Last Thursday I went to and event titled Digital Lifestyle Aggregators at the ever so posh BT Centre and learnt three things about this latest web 2.0 trend Digital Content Aggregation is when you present a load of different content sources…

EC2 Latency

We want to use Amazon’s [Elastic Compute Cloud](http://aws.amazon.com/ec2) to run scalability tests, rather than buying/leasing lots of kit that we only need for a few hours every now and then. There are a few challenges though. The biggest is probably translating the results from the EC2 tests to the envisaged deployment scenarios. There are several…

Busy busy

There’s been nothin’ doin’ blog-wise at LShift for the past week or so; we all seem to be wrapped up in projects. Briefly though, collectively we’re – Tickling Erlang – Thinking about what direction to lead Icing in – Finding all the best documentation the Web has to offer on ASP.NET 2.0 – Getting intimate…

Managing CSS: part 1, Factoring

In these days of semantic markup, liquid three column layouts and image replacement it’s quite evident that using CSS is just not as simple as it promises to be. There’s not only the flow and box models to internalise, but the numerous quirks in how browsers implement them, and the constraints imposed by accessibility guidelines,…

Erlang processes vs. Java threads

Earlier today I ran a simple test of Erlang’s process creation and teardown code, resulting in a rough figure of 350,000 process creations and teardowns per second. Attempting a similar workload in Java gives a figure of around 11,000 thread creations and teardowns per second – to my mind, a clear demonstration of one of…

How fast can Erlang send messages?

My previous post examined Erlang’s speed of process setup and teardown. Here I’m looking at how quickly messages can be sent and received within a single Erlang node. Roughly speaking, I’m seeing 3.4 million deliveries per second one-way, and 1.4 million roundtrips per second (2.8 million deliveries per second) in a ping-pong setup in the…

How fast can Erlang create processes?

Very fast indeed. 1> spawntest:serial_spawn(1). 3.58599e+5 That’s telling me that Erlang can create and tear down processes at a rate of roughly 350,000 Hz. The numbers change slightly – things slow down – if I’m running the test in parallel: 2> spawntest:serial_spawn(10). 3.48489e+5 3> spawntest:serial_spawn(10). 3.40288e+5 4> spawntest:serial_spawn(100). 3.35983e+5 5> spawntest:serial_spawn(100). 3.36743e+5 [Update: I forgot…

London 2.0

I went to London 2.0 last night, a short bus ride and walk away in Fleet Street. It’s a gathering of the kind becoming more popular — there was XP enthusiasts on the other side of the pub — involving techy chat and a few pints. The main event was Jason Huggins demonstrating some work-in-progress…

gift-service

Pretty Habitat Gift Service paraphernalia

I registered for the [old link: http://www.habitat.net/hgs/] Habitat Gift Service the day we launched it — Sunday was actually my birthday, so I didn’t have to invent any details — but of course I was just testing it, and not expecting any of the various materials. However the kindly gift service administrators sent me one…