Archive for the 'Life' Category

Jan 15 2011

The tricky art of supermarket price comparison

Published by Dougal under Local

Last year some time, when the weather was still hot and people still wore t-shirts and skimpy dresses during the day (obviously people still wear them in the evening, yo), I did some research to see if the Village Store was much more expensive (or cheaper) than the local supermarkets.

I don’t have the data to hand — it’s buried somewhere in my computer — but I think we were “about average”. Some things were very good value and others less so.

The important point was the level of work required to get the prices. Of the local shops (Tesco, Co-op, Lidl) none of them allow price checks online, without at least setting up an account and logging in (Tesco). This makes week-by-week comparisons much harder because you have to pound the streets each time to keep current.

The other factor was the level of obfuscation used by the supermarkets. The Co-op was particularly helpful: all their price labels have a standard unit price somewhere on them. Even a packet of tomatoes sold as a priced unit will give its weight and cost per weight. On the other end of the scale Tesco go out of their way to avoid comparison. To buy a packet of tomatoes, for example, you buy a packet of six. So you have to guess how much six tomatoes might weigh, assuming a spherical tomato of uniform density and blandness.

In short, even with a small number of shops comparing prices is extremely difficult without a great deal of legwork and calculation. Clearly they don’t want you or me or anyone else setting up supermarket-price-comparison.co.uk and informing people of the real cost of their weekly shop.

3 responses so far

Jan 06 2011

Reflections on tea drinking

Published by Dougal under Humour, Life

Over Christmas we stayed with Helen’s parents, though they left on Boxing Day for Forn Parts. Sadly we both got quite ill on the 27th of December. We made it as far as the medicine cabinet in the morning and the sofa in front of the TV in the afternoon. And through all that we couldn’t have a single cup of tea because there was no milk.

I consoled myself by reading Hugh Fearlessly Eats It All, a collection of Hugh Fearnley-Whittingstall’s columns, which includes a hilarious, in-depth and overblown guide to tea-making. Read it, I insist: skip down to the paragraph beginning “That’s all changed. Now, to make my tea…” and boggle.

Hugh’s convoluted method is of course just the latest in the long list of articles written in pursuit of the Perfect Cuppa™. The most famous I know of is George Orwell’s A Nice Cup of Tea though there are definitely others. (Edit — As if to prove the point, I’ve just spotted Christopher Hitchens writing about the same topic at citing Orwell too.)

When I couldn’t face any more reading we watched Wallace and Gromit in The Curse of the Were-Rabbit, which has DVD extras including interviews from people around the world explaining why they like Wallace and Gromit so much. The Japanese lady explaining the insight into English life and how much tea they drink was particularly amusing. This from the nation that invented the tea ceremony!

Discussion of tea without milk will not be entertained.

Comments Off

Nov 15 2010

Arkham Horror: insane in the boardgame

Published by Dougal under Friends, Games

Had a go at Nick’s brand new copy of Arkham Horror last night. It’s a co-operative board game based around HP Lovercraft’s Cthulhu mythos, set in the New England town of Massachusetts and connected alien worlds.

I arrived at about 3pm. They’d already started laying out the board, sorting the pieces (more than 700…) and identifying the main game elements. We didn’t get started properly until Mat arrived which might have been about half an hour later. The same game was still going at 10.30 when I had to leave to catch the bus home. I learned on Facebook when I got home that the Ancient Ones had been defeated while I rode the bus home. So on a first attempt it appears the game took 6–7 hours to play.

Now I think you understand the scale and scope of the undertaking, we should look in more detail at how it works.

Interdimensional gates between Arkham and horrific other worlds open up at various spots around town. It’s your job to investigate these worlds by diving into the gates, and coming back to close the gates behind you. Oh yes, and killing all the monsters that flood through onto the streets of Arkham every time a gate opens.

This game plays like a regimented role-playing game, particularly battling monsters. Most things you do involve examining your own stats, examining the stats of your enemy, rolling dice for the numerical difference and seeing if you won/lost that bout. It’s quite a fast process to do when you get the hang of it, but because everything is stats-based it can be hard to remember which number gets subtracted from which number at each point.

(A detailed example. You are travelling the streets of Arkham and come across a monster. You’re on an errand and don’t want to dally so you attempt to sneak past. Roll N dice, where N is the difference between your Sneak and the monster’s Awareness. You’re aiming to throw a 5 or 6 to win. N will be large if you have a high Sneak value and your monster has a low Awareness, and the higher N is the more likely you’ll throw at least one 5 or 6. If you win, you can continue on your way. If you lose, receive damage for being caught unprepared while sneaking past, then proceed to do battle with the monster. First, test your mental fortitude: is this monster so horrific you go mad at the sight of it? As above, roll N dice where N is the difference between your Will and the monster’s Horror. Receive damage to your sanity if you lose. If you still retain your sanity, roll N dice where N is the difference between your Fight and its Combat rating. Many monsters have a toughness rating greater than one, and that’s the number of successful rolls you need to throw in order to kill it. If the number of dice you can throw is less than its toughness rating there is no way you can win this fight. Run away!)

The basic mechanism is quite straight-forward but the number of modifiers, special-cases and special adapted rules quickly spirals out of control.

The complexity of the rules is made so much worse by the awful manual which describes them. It’s 24 pages long and is terrible. It introduces terms which it makes no reasonable attempt to define, has an incomplete index, introduces descriptions out of order and sometimes omits them altogether. Sometimes whole paragraphs are devoted to making simple scenarios more complex, less transparent and altogether harder to follow. We wasted so much time hunting backwards and forwards through the book looking for “what to do in event of…” and eventually gave up. We probably accidentally omitted about 20% of the rules just because they’re not introduced in any sensible order. It seems altogether unlikely that we would win the game on the first attempt, doesn’t it?

But for all my complaints — and there are many — the game itself seemed powerful and worth investing time in. Once the rules are internalised (or easy to research: there are manuals written by fans available online) it should be easier to gather some momentum. In the last hour or so of play we seemed to move through the steps faster and with more fluidity, although there’s a good chance that’s because we all wanted the damn thing to finish.

If anyone does sit down for a game of this I have a couple recommendations: start earlier than you’re thinking and get more table space than you think you’ll need.

One response so far

Nov 11 2010

Thud now visible on Bitbucket

Published by Dougal under Friends, Programming

I’ve set up an account on BitBucket and published the initial commits into a Thud repository. Mat’s also joined up so hopefully we can get this project ticking along nicely with some good changes. Also some testing, which it is currently lacking. I’ll have to look into whatever unit test frameworks are used in the C# world. (I’ve just started contributing to Banshee too, so I hope to take some of the practices from that larger project and try my hand at them on Thud.)

Most of what I’ve done to Thud so far is just importing the old code into Mercurial and uploading it to the BitBucket servers. Since the original code is all Mat’s my first problem was learning how to commit code in someone else’s name. Thankfully that wasn’t a difficult problem:

$ hg commit --user "A N Other <another@example.com"

Visual Studio and MonoDevelop both spew auto-generated files around your project directory and I’m not sure what most of them do. I tried not to include anything that wasn’t too much like source code, but it’s still possible I’ve included useless extras or omitted something that is needed for building the project. So that’ll be another learning curve where I must patch in necessary files.

The only new code I have added cleans up the logic used when moving pieces on the board. There are still plenty more changes to be made, especially to improve testability, and I’ve started storing these in the bug tracker. Having a bug tracker is quite cool. :-)

Comments Off

Nov 04 2010

Do you know C-pound? How about C-thud?

Published by Dougal under Friends, Programming, Work

During this period of tedious and unfruitful job applications I’ve come to the conclusion that I’m either a horrible person on paper (I refuse to believe I’m a horrible person in real life) or I need more experience in the object-oriented managed-runtime languages. To wit, Java and C#.

The Java language has failed to get its act together in the last few years and, at least on paper, I have some experience with it since all my university work used Java. (I’m also watching Nick’s updates to remind myself. An RSS feed attached to his bitbucket account makes him dead easy to stalk learn from.) So I thought I’d get myself some experience in C#. I’ve nabbed a project that Mat made a couple of years ago (a game of Thud! from the Terry Pratchett novel of the name, itself based on a Norse board game) and, with his permission, I’m going to whip it into shape.

I know for a fact that it runs fine in Mono, since I knew that two years ago when he first knocked it out, and Mono has come on a long way since then. At the moment it doesn’t do very much and Mat admits that it isn’t great code on the inside either. That’s all fine by me though. I can familiarise myself with the code base by cleaning it up before I decide where the new features need to go.

I hope to keep this and ComicBake going alongside each other, since there are a number of differences besides the subject matter:

  1. Thud! doesn’t have to think much for itself. The program pits two users against each other across the network, so there’s no AI involved. The set of valid moves is very small so the game logic is not tricky. ComicBake, on the other hand, is me trying to encode a set of heuristics to simulate what an artist would do in the same situation.
  2. One is old-fashioned imperative code, in the object-oriented style. It’s fairly staid C# too, not using many of the recent innovations of the language which make it differ nowadays from Java. The other is obviously purely-functional Haskell: higher-order, expressively-typed and immutable.
  3. I can update and release ComicBake when I like. I haven’t checked with Mat whether he’s happy for me to publish the code/changes or whether he wants it just “between friends”. It can just be a learning experience, though obviously it’s a better one if I can point potential employers to it and say look, I can code.

The title is a reference to this Daily WTF classic.

Comments Off

Nov 03 2010

Horror movies, horror songs

Published by Dougal under Films, Friends, Music

On Sunday night we were invited to a Hallowe’en party (and very nice it was too) with horror movies. When we arrived a film was on but the sound was down and there was music playing instead. We spent the rest of the evening watching a series of films without any sound, which was remarkable fun. To be clear, these were black-and-white horror B-movies such as The Killer Shrews (in the long tradition of horror movies it used dogs dressed in hairy coats to simulate the giant shrews, ineffectually). Guessing the plot and laughing at the effects was much more fun than following the story was ever going to be. I’ll have to remember that trick for future occasions.

The evening’s party playlist was also interesting because it seemed more-or-less random apart from the titles being each related in some way to horror. It’s great that we now have the technology to create random playlists by entering keywords into the computer, and get out the eclectic variety of Voodoo Chile (Slight Return), Born as Ghosts, the Rocky Horror Show soundtrack, Monster Mash and the Cranberries’ Zombie.

Comments Off

Oct 20 2010

A game of Global Microbiological War

Published by Dougal under Family, Reviews

It was Helen’s birthday two weeks ago and one of the surprise hits was a board game I bought on a whim, because the gaming style intrigued me. I haven’t been able to track down the original discussion again, but somewhere on Reddit there was a thread about Monopoly and a commenter suggested that (paraphrasing) “competitive board games are old, you need to get into co-operative gaming”. Into what?

The game recommended as a good example of this style was Pandemic, which I bought and I’m happy to say it’s brilliant. The rules seem very complex on initial read-through but they are very quick to internalise — everything makes sense and there were only a couple of occasions on our first game where we consulted the rules for clarification.

So what is it? The idea, contrary to most board games, is that the human players are working as one team, against “the game”. It’s still a turn-based game, but each person co-ordinates their behaviour with their fellow players. You play the game on a map of the world, showing a network of cities joined by air and road links. At the start of the game a selection of random cities are “infected” with four diseases (coloured cubes). The aim of the game is to discover a cure for these diseases before a critical proportion of the world is infected.

You discover cures by gathering resources together in one place, much like building houses and hotels in Monopoly. In order to stave off disaster you must travel the world treating disease victims until you have enough resources to find a cure — but every time you travel somewhere or treat a disease, you’re wasting time that might have been better spent on researching a cure.

And while all this is happening the diseases don’t stand still. Each time a player’s turn ends there is an infection stage where all the diseases that have taken hold will spread further. Every so often (more often if you’re playing by the difficult rules) an “epidemic” hits, which basically ramps up the danger level and reinfects all the cities you thought you’d treated.

The night after Helen’s birthday we invited Mat round for tea and then we made a valiant attempt at this game for the first time. We played three games that night with the “easy” rules and lost all three games. In the final game Helen had the resources ready for a cure, and it was my turn directly before her “winning” hand could be played. And I pulled an epidemic card which totally wiped us out. That was the closest we had come and the intensity of knowing how close we were to a cure was incredible. The feeling of co-operating against a stack of playing cards is a strange one but the rules are beautifully defined to simulate the ebb, flow and violent resurgence of infection counts so you quickly get immersed in the reality of the game.

I don’t know how much other co-operative games hit the mark but this one certainly does and I am really looking forward to getting another crack at it. It seems like there are a million games out there which don’t get the publicity of Monopoly, Risk and Cluedo but which are maybe more fun. I remember with great fondness the games of Settlers of Catan we used to have in the flat when I was in university. Then there is Mille Bornes, the 1000-mile imaginary race which is like a card-based version of Mario Kart. What crazy games have you come across that should be more widely known?

PS. I just came across this board game recommendation site which lets you enter games you like and one you dislike, and matches you up to user preferences on BoardGameGeek.com to select some likely interesting titles. I found out about it through this post by the developer, telling its history.

PPS. The line of the game for me was when Helen turned to Mat and said: “Are you Green? I’ll meet you in Cairo!”. It’s like being a jet-setting heroic scientist in your own living room.

3 responses so far

Oct 18 2010

Keeping moving and choosing a direction

Published by Dougal under Life

I saw The Social Network last night, a dramatised story based on the founding of Facebook. I probably wouldn’t have seen it without a push, though in the end I enjoyed it. I was worried it would concentrate a bit much on the lone-genius/American dream storyline, which gets a bit tedious after a while. The real story is always more interesting and nuanced than “man has idea, man implements idea, man makes millions”.

The actual story was told as a courtroom-flashback, through two different lawsuits that were brought against the main founder. There is a brief nerd-montage at the beginning of the film in which the protagonist pulls an all-nighter at the code face after breaking up with his girlfriend. This bit was… strangely enjoyable, and may even have made programming seem slightly fun to a lay audience, as the voiceover runs through the various means by which he swiped photos from the internal pages of Harvard’s house websites. Some of it was accurate, some of it was strangely divorced from reality. (I have never known an emacs user to actually shut the program down, never mind admit to something requiring a session in emacs. This is not how people talk! Next time you head outside will you think, “oh, we need more milk, I’ll need to spend another session in my shoes”?)

The film is not the point here, so if you want analysis wait for Nick’s 15 Word Review. The point is that I realised that (a) the excitement of programming has been missing for a while and (b) I’m not quite sure what I’m doing with myself these days.

Obviously, and foremost, I want to support Helen as she works her way through medical school. But that’s just a by-product and not something to do. Secondly I’d like to be happy doing whatever I’m doing. But what that whatever is I’m not really sure.

I read this post earlier today, about a programmer who has given up their job to travel around the US, blogging and coding and seeing the sights. Well that sounds really grand, doesn’t it?

Though to be honest a big part of the draw to me is the coding, and I’m not even sure why, because when I’m sitting on my own I find it difficult to work on some of my own projects. The idea of having such leisure time to just go off and travel without worrying about getting back to work or study is another good chunk of the attraction.

This paragraph in particular called to me:

I met a young man named Dustin, who shared his dreams with me. He comes from a family of cops but always wanted to be a schoolteacher — 7th grade science. For various reasons, Dustin never achieved his dream. It makes me sad to think about passions lost or ignored.

I’m not sure, though, what my passion really is, or what I’m hungering to do. I envy Helen her eventual discovery/admission of wanting to study medicine. Not because I want to be a doctor but because it seems she really has uncovered a passion which was obscured. By contrast, I am drifting, and mostly happy to drift.

After this page of fruitless introspection I think it’s time to counter with something positive. I’ve picked up where I left off with an old programming project, and I’m otherwise getting more stuff done during the day. Nothing outlandish, just little bits of housework, fixing things and generally interacting with my surroundings a bit more. It’s gotten much colder in the past couple of weeks, so keeping moving is becoming a priority. Here’s to keeping moving.

2 responses so far

Oct 13 2010

Mysterious cakes with cryptic messages

Published by Dougal under Baking, Family, Food

It was Helen’s birthday last week and, as per tradition, she took cakes to work her tutorial group at university.

She was too busy studying so I made the cakes (this was okay, as in recent years she has ended up making cakes for me to take to work on my birthday, so this was repaying the favour), and had a bit of fun with them.

I had been following one person’s escapades with baking cakes inside cakes, such as brownie inside muffins (really) and thought I would take a first foray in that direction. I made some fairly plain cupcakes but buried some chocolate balls (slightly larger than a malteser) inside each one. The chocolate balls were Hallowe’en treats that each came individually wrapped in “eyeball” tin foil. Then when I was trying to work out how to ice them Helen suggested using icing pens to write on them. Then she went to bed and I sat down to work some words out.

Eyeball Hallowe'en chocolates

My first thought was to take Word of the Day for Helen’s birthday for the last ten years (I had ten cakes to decorate) but I couldn’t easily find a list going back that far. The easily-searched sites (like wiktionary) weren’t established long enough to have ten years of archives!

My second thought was nonsense words, and this was even harder. I would have to look through the published works of Lewis Carroll and Edward Lear in order to find some really good ones. Good nonsense words, ones with a nice feel and pleasing sound, are harder to find than you might think.

In the end I settled on cake words. What I actually did was search the installed dictionary for some nice cake words, and then fill in a few more from memory. (I didn’t like griddlecake or coffeecake and thought the latter should probably be two words.)

$ grep cake$ /usr/share/dict/words
cake
cheesecake
coffeecake
cupcake
fruitcake
griddlecake
hotcake
pancake
shortcake

Once I had my words I removed the cake part and iced the remaining prefix/suffix onto each bun. So I had a bunch of cakes with the words “pan”, “beef”, “short” and so on.

Decorated "cake" cakes

Now Helen tells me that when she opened the tin on the following day no-one could understand what these words meant. They sat and thought and came to no good conclusions, until someone finally said:

Well, I’m going to have the “beef” cake — oh

I was glad to have provided a little bit of mystery. :-)

One response so far

Oct 01 2010

Potluck trials

Published by Dougal under Food, Life

We’ve been doing this book group thing for over a year now and one thing that’s become really obvious is the way that potluck events don’t scale. Or at least, the way we do them ends in tasty tasty disaster.

The problem is that each person brings a dish which is enough food for more than one person. Nobody wants to supply enough pasta salad for only two or three people if there’s eight people in the group. So each person caters for their own conception of the group. (Last time I made a dozen pretzels, because I didn’t want anyone to go without. But there’s a good amount of eating in a pretzel…)

If there’s three people and each brings enough for three people it works out fine. Each person eats a small portion of three different dishes. If there are six people each person will attempt to get six different portions onto their plate. Now a portion has a reasonable lower limit, and so people just end up piling their plates higher. They just have to eat more if they want to taste everything. Then there might be things which are just very tasty, and so people go back for seconds. I mean, it’s just sitting there in front of you, it would go to waste otherwise, starving children in Elbonia, etc.

And then you realise that some of the group brought chocolate cake, brownies, fruit pies and you haven’t even seen that stuff yet. Your stomach is folding around the edge of the table and you’re worried about being charged for two fares on the bus home.

So you have to exercise terrifying self-constraint with portion size or — gasp — not taste some of the dishes. Potluck events are a menace to waistlines and dignity everywhere.

5 responses so far

« Prev - Next »