31 Aug 2010

Stormtroopers Reminisce About Death Star

30 Aug 2010

Carbonite George

24 Aug 2010

My Time Committing Code is not in Work Hours

10 Aug 2010

Node.js Ash vs PHP Symfony vs PHP CodeIgniter

I've recently been writing a web framework (Ash) for Node.js so I can understand what all the hype is about. As with all these types comparisons one has to perform the obligatory Apachebench load test. So here it is;

The test was based on creating the same web page in each framework and accessing it using the same URI. It consisted of a single page template that contained 7 independent modules (Components in Symfony and Views in CodeIgniter). There was no database access or web calls made, just reading local files and stitching them together.

The test was run on OSX 10.6.4 with a 3.06 GHz Intel Core 2 Duo and 4 GB of 1067 MHz RAM. (Node.js was run with 2 processes using Spark).

Number of requests performed: 2000
Number of multiple requests made: 50

Number of requests performed: 2000
Number of multiple requests made: 100

Number of requests performed: 2000
Number of multiple requests made: 150

Result, Node.js seems to rock.

9 Aug 2010

It doesn't matter how you cut it, Java is a depressing language.

import static org.jboss.netty.handler.codec.http.HttpHeaders.*;
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.*;
import static org.jboss.netty.handler.codec.http.HttpResponseStatus.*;
import static org.jboss.netty.handler.codec.http.HttpVersion.*;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.ChannelFuture;
import org.jboss.netty.channel.ChannelFutureListener;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ExceptionEvent;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
import org.jboss.netty.handler.codec.http.Cookie;
import org.jboss.netty.handler.codec.http.CookieDecoder;
import org.jboss.netty.handler.codec.http.CookieEncoder;
import org.jboss.netty.handler.codec.http.DefaultHttpResponse;
import org.jboss.netty.handler.codec.http.HttpChunk;
import org.jboss.netty.handler.codec.http.HttpChunkTrailer;
import org.jboss.netty.handler.codec.http.HttpRequest;
import org.jboss.netty.handler.codec.http.HttpResponse;
import org.jboss.netty.handler.codec.http.QueryStringDecoder;
import org.jboss.netty.util.CharsetUtil;

import soul.destroying.language;

28 Jul 2010

Inflatable You ~ Tim Minchin

23 Jul 2010

Stephen Fry on the Catholic Church

21 Jul 2010

Teach your children

14 Jul 2010

Shakespeare.

16 Jun 2010

My Preg...

If you don't follow DJ Bass on Flickr you should.

Richard Allinson's Posterous

I'm a software architect for large, highly scalable, internationalized LAMP applications. I'm also a fan of things I shouldn't really be a fan of.