Only care about food, or want to see just the geeky stuff? Click the cakes or the netbook above.
| No Comments | No TrackBacks

Teenage Blues cocktail

At the start of this month, dozens of bars prepared themselves for London Cocktail Week, each one serving their unique signature cocktail for the exceptionally reasonable price of £4. I found out about this from my girlfriend who thought it’d be a fun thing to do - as indeed it was.

We kicked it off at Shaker & Co. Shown here is their Teenage Blues cocktail with a portion going to support the Teenage Cancer Trust. My personal favourite was their Benedictine and grapefruit cocktail ‘Le Pamplemousse’. Amazingly, these guys opened their bar for the first time on the very first night of the week - if they call that a ‘soft launch’, I can only wonder what numbers the guys behind them are used to.

Le Pamplemousse cocktail

We spent a lot of our time there having too much fun with their Canadian bartender (your name escapes me now, sorry!) and the flamboyant drinks he made for us afterwards. Nevertheless we finally headed out to Centre Point, ascending to the 34th floor of one of the oldest skyscrapers in London to visit the Paramount bar.

Centre Point

The tour continued on Tuesday around Camden. Coco Bamboo offered spicy mint mojitos (i.e. your regular mojito but with Bacardi’s new Oakheart spirit). The Hawley Arms offered a rather non-descript Jack Daniels-based drink - I doubt Amy Winehouse loved the place for its alcohol.

One of the star bars was a gin and real ale bar, The Colonel Fawcett, who gave us this fine Tom Collins with added Chambourd. I’m not normally a gin fan but I do love raspberry, and this turned out to be a great cocktail that’s a little too easy to drink! If you go, check out the menu - the chocolate and chestnut cake with hazelnut ice cream is fantastic and everything you could possibly ask of a dessert.

Colonel Tom Collins

Our final bar was Cottons, who have supremely knowledgeable staff who love rum and making interesting cocktails. One favourite was a malty cocktail made with condensed milk, Jamaican Dragon Stout (it is a rhum shack after all) and a few other additions blended together into a deliciously creamy drink. It’s like a mudslide made with Bournvita.

At the end of the night I asked our bartender to make a cocktail that met a particular taste profile I wanted. The good news is it was one of the most delicious alcoholic beverages I have consumed. The bad news is, I was too drunk to remember it or think about writing it down. It’s too bad; I guess I’ll just have to go there again…

The London Cocktail Week lasted until the 16th of October. While we only managed two days, maybe next year I’ll be able to last the whole week. After all, if you don’t come out never wanting to touch a drop again, you probably haven’t gone far enough.

| No Comments | No TrackBacks

I was using Lua for my final year project, but found some bugs with the Pluto library on 64-bit systems.

Pluto lets you serialise almost any Lua object into a flat representation; tables, functions, even coroutines, which allowed me to recreate continuations in Lua, albeit with some limitations.

However, the library seemingly hadn’t been updated since early 2010, and there were a few problems. Digging on the lua-users mailing list I found that someone else had taken over maintenance and posted the code on github. If I’d found this earlier it would’ve saved me a lot of time!

Hopefully future users can find it more quickly: Pluto - Heavy Duty Persistence for Lua

| No Comments | No TrackBacks

It’s really not that hard If you have scales and a timer. However, this simple technique is easily destroyed by the insatiable curiosity some people have, so the recipe is a little longer than usual. Pay particular attention to the steps in bold.

STAGE ONE: Preparation

  • Measure your rice. 80g per person is good.
  • Wash your rice in a sieve until the water runs clear, to remove all the starches.
  • Put it in the pot.
  • Add 1.75x as much cold water by weight, or 1.5x by volume.

STAGE TWO: Cook

  • Put a lid on the pot.
  • DO NOT TAKE THE LID OFF AGAIN.
  • Bring it to the boil and then simmer for however long the packet says.
    Long grain = 10 minutes, basmati = 12 minutes, brown rice = 20+.
  • DO NOT TOUCH THE POT.
  • Once the time is up, LET IT STAND FOR 5 MINUTES
  • LEAVE THE LID ON.
  • LET IT STAND.
  • Then serve.
| No Comments | No TrackBacks

Stolen off reddit:

Look, most new products spend YEARS in development - god only spent 6 days rushing out the entire universe, and only a single day on humans (if that). When you rush things out they contain bugs and after that you need to patch them and maintain them.

Adam and Eve were corrupted by a snake (worm) and everything went south from there - you can see it time and time again; god backed up his important documents and placed them in an ark and then formatted the world, before declaring he should never have to do it again, yet he reguarly formats mini sections of the globe in a haphazard manner.

Jesus represents a sort of Service Pack, however it is clear that after that God just sort of gave up and hasn’t bothered to make any updates since.

| No Comments | No TrackBacks

Whenever there’s an offer on the premium chocolates I tend to stock up. Lately I’ve been eating my chocolate quite slowly and have built up a little cache as a result. So what do you do when there’s yet another offer at the supermarket?

You make chocolate desserts, of course.

As it’s summer, the first dessert you ought to make is ice cream. It’s simple to make if you’ve got an ice cream maker, otherwise it can be a bit of a faff to freeze slightly, blend, freeze, blend, freeze… the manual process makes it a special occasion piece, the ice cream maker enables it to be a regular occurrence.

ice cream maker Churn, baby, churn

This recipe from Olive magazine gives you a rich, bitter chocolate-lover’s ice cream. I prefer to substitute half the cocoa for an equivalent amount of 70% dark chocolate - not a large difference, but I prefer it.

| No Comments | No TrackBacks

To save money, I decided to migrate several of my family’s websites to a VPS. Now, setting up lighttpd is a piece of cake, but because these websites are dynamic, database-backed affairs, you have to do a little more work. I might be a programmer, but I’m not really a Linux expert.

That said, it was relatively painless, and in contrast to some previous experience. Besides, who needs tech support if you have Google and a decent brain in your head?

Why Lighty?

Apache is very well known and full-featured. It’s also rather memory-hungry. Lighttpd has a far smaller memory footprint, but still has a lot of capability; if YouTube and Wikipedia prefer it over Apache, it’ll be just fine for my piddly little sites.

The smaller memory means I can get away with a smaller VPS. I’m using an incredibly inexpensive 128MB instance from Prgmr. Even that is overkill, but then I’m not using the server solely for websites.

Also, configuring lighty is pretty simple. I never had much fun configuring Apache.

Step 0: download all you require

I chose to build lighttpd and PHP from source for more control. For MySQL, I decided to install a package provided by the IUS Community Project (more details on doing this yourself here).

Step 1: get lighttpd working

Follow the guide, obeying the instructions for your particular distribution.

It would be wise to create a unprivileged user for lighttpd to run as. After installing,

addgroup www
adduser -g www -M www

Now let’s create somewhere for the websites to reside:

mkdir /var/www
mkdir /var/www/default
echo hello world >/var/www/default/index.html
chown -R www:www /var/www/default

Finally, setup lighttpd.conf (should reside at /etc/lighttpd/lighttpd.conf) with the following:

server.username = "www"
server.groupname = "www"
server.document-root = "/var/www/default/"

mimetype.assign = (
  ".html" => "text/html", 
  ".txt" => "text/plain",
  ".jpg" => "image/jpeg",
  ".png" => "image/png" 
)

Run /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf and try connecting to your server. If you get the ‘hello world’ message, everything is rosy. Press Ctrl+C to stop lighttpd and install the other bits.

Don’t forget to /sbin/chkconfig lighttpd on so that lighty runs on server startup.

Step 2: install MySQL

I did this from a package, so nothing more to say here than yum install mysql51 mysql51-server mysql51-devel.

It’s important you install the development package as PHP requires the MySQL libraries/header files for MySQL support.

After installation, run /usr/bin/mysql_secure_installation to finish setting up the database. (Very important!) Follow the prompts and accept their suggestions.

Check you can connect to the database with mysql --user=root --password. If everything’s fine, go create a database and a user account for your PHP website to use later.

Again, /sbin/chkconfig mysqld on.

Step 3: build and install PHP

yum install flex bison
tar xvjf php-5.3.2.tar.bz2
cd php-5.3.2
./configure --with-mysql
make
su make install
cp php.ini-production /usr/local/lib/php.ini

You probably want to pass more options to ./configure depending on what libraries you need support for, or alternatively don’t want support for. A full list is here. Configure will complain if it can’t find PHP’s dependencies, but it’s not too hard to sort out (hooray for package managers!).

Edit your lighttpd.conf to add the following:

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
                   ( "localhost" =>
                     (
                       "socket" => "/tmp/php.socket",
                       "bin-path" => "/usr/local/bin/php-cgi",
                       "bin-environment" => (
                         "PHP_FCGI_CHILDREN" => "16",
                         "PHP_FCGI_MAX_REQUESTS" => "10000"
                       ),
                       "bin-copy-environment" => (
                         "PATH", "SHELL", "USER"
                       ),
                       "min-procs" => 1,
                       "max-procs" => 1,
                       "idle-timeout" => 20
                     )
                   )
                )

This sets up FastCGI for use with PHP. You should restart lighttpd to make the changes take effect (/etc/init.d/lighttpd restart) and test if PHP is working in the classic manner (echo <?php phpinfo() ?> >/var/www/default/phpinfo.php). Go to http:///phpinfo.php and see what happens!

Now go and configure to your heart’s content. Have fun!

Things I do

I use mod_rewrite, mod_redirect and mod_accesslog, among others. As you can see, lighty is quite powerful.

# Redirect subdomainless addresses to their www equivalents
$HTTP["host"] =~ "^([^.]+)\.(com|co\.uk|net)$"{
  url.redirect            = ( "^/(.*)" => "http://www.%0/$1" )
}

# Rewrite subdomains.domain.com to doc-root/subdomain
$HTTP["host"] =~ "^(.*)\.starfishgames\.co\.uk$" {
  server.document-root = "/var/www/starfishgames.co.uk/pages/"
  url.rewrite-once = ( "^/(.*)" => "/%1/$1" )
  accesslog.filename   = "/var/www/starfishgames.co.uk/access.log"
}
| No Comments | No TrackBacks

This article appeals to the coffee snob in me, and might go some way to explaining why you might love coffee but hate espresso.

I had no idea that anyone could contemplate using as much as 20 grams of it for a double, let alone a single - ugh! At least now I know how some places manage to make such syrupy drinks. And these are the same places that will give you weak tea, when they’re doing the coffee equivalent of stuffing four teabags into a mug.

Crazy world.

| No Comments | No TrackBacks

The election results are in and the UK has a hung parliament. Nobody wins.

Especially not the people.

The Conservatives have 36% of the popular vote and 47% of parliament.
29% of people voted Labour, awarding them 40% of seats.
Finally, the Liberal Democrats get 23% of votes, but just 9% of seats.
(source)

In what world is this disparity between the electorate’s wishes and the actual result fair?

It’s not even the first time our voting system has given skewed results. In 2005, Labour got 3% more votes than the Conservatives across the entire country, yet this translated to 24% more seats in parliament.

As a result of our political system’s inherent need to form a majority government, we are going to see a possible Con-Lib or Lab-Lib coalition. This is unlikely to please voters of any of the three major parties due to conflicting policy interests. Britain simply isn’t used to compromise, and as a result we have a real problem dealing with it in times, like now, when it is required.

Storm clouds of discontent have been brewing ever since it became possible for less than two-fifths of the population to set the government for the entire country. Now we have no majority party we are forced to deal with it. Perhaps, at long last, we will.

We don’t need superficial change, as presented by the Tories. We need genuine reform.

We need to take back parliament.

More info on the hard facts, with charts visualising where your votes go - or don’t.

| No Comments | No TrackBacks

Ooh, you know you want some. My first encounter with asparagus was at an Italian restaurant in a risotto - it was pretty damned delicious. Besides which, there are few vegetables with that unique, inviting look, much less any that retain that look post-cooking.

Asparagus spears
(photo by itsjustanalias)

Tonight I am going to try it with tomato salsa and mild, crumbly cheese. I’m personally substituting the suggested cheese for Caerphilly; one day I’ll have the budget to let me mimic the foodies’ experiences, but knowing cheaper and more readily available substitutes to the niche ingredients is very useful for a budding cook.

Also on the menu: diced tuna lightly rubbed with Cajun spices (Bart’s make a nice mix). Clearly I’m making up for our grill pan’s months of disuse.

| No Comments | No TrackBacks

Jarvis Cocker 6music picture

Has anyone played those games where you have to drag a ragdoll body with the mouse?

That’s what immediately sprang to mind when I saw the picture of Jarvis Cocker on iPlayer. Someone’s clicked on his head and is dragging him across the side of the screen, hoping they might rub some static electricity into his hair.

It’s not just me, is it? Probably is. Oh well. Jarvis’s show is really good, though. Support him, and with it, 6music, by listening in. 6music needs all your help - nay, INDEPENDENT MUSIC NEEDS YOUR HELP. There are few outlets for new artists or anyone who strays from the mainstream; if the BBC follows through with its plan to axe 6music it will be a serious blow to musicians and music lovers. Do all you can to convince them otherwise.