Archive for the 'Uncategorized' Category

After Copper

2009-07-08

We gather in the dim space afforded by the overgrowing ash (Fraxinus excelsior) and cow parsley (Anthriscus sylvestris). The trees provide some shelter from the rain, after all, it is July in the Peak District. The key is brought forth. The old iron gate swings open. We step down into a small stream, and through the gate, passing under a stone reading “DEEP ECTON: DRIVEN 1774″. A tunnel arch leads inward, towards the heart of the hillside.

My wellingtons are in muddy water. The pavement beneath, which I cannot see, is uneven. The daylight fades, but my eyes have not yet adapted to the dim torchlight. Stumbling forwards, reaching out for the walls. Tracing my hand along the wall to steady myself, missing my footing as my hand discovers crumbling gaps in the walls. The dwarves that once worked this place left over 100 years ago; they must have been dwarves, for sure they were smaller folk than me, for I keep banging my helmet on the odd out of place stone in the ceiling. We are in Deep Ecton Mine, once the source of the Peak District’s copper.

After a short while, plaster gives way to (limestone) brick. Little nooks appear, presumably once filled with candles. Then the brick gives way to a rough unlined tunnel through the bedrock. The horizontal tunnel we are walking, stumbling, along would have been called an adit by the dwarves. Its upward slope is imperceptible save for the fact that we are walking through a stream; running downwards and outward to rejoin its brethren waters of the Manifold. My eyes are adapted now, and my foot and inner ear give me mostly steady passage.

We pause at the first “chamber”, a swelling of the rough tunnel. A crawl above a pile of rock debris, “deads” as the dwarves called them, leads to a much older, smaller, adit. Its roof has fallen in, now blocked and unsafe. A narrow shaft leads upwards, presumably once connecting to the surface. The surface, and all evidence of the outside world, seems very distant now.

Passages leading off into the gloom. Stepping over discarded ironwork, occasional rocks (fallen from the roof?), and… tramway sleepers. The adit would once have been busy with minecarts. I see a little metal tag marked with “A6″ (a modern survey tag). One dwarf has mezzotinted his initials, IB, into the wall with his pick. The whole thing reminds me of, well, what else but Colossal Cave (and damnit, why didn’t I think to try saying “PLUGH”?).

The “IB” chamber has a big rectangular hole in the floor. Full of water. We are on the lowest dry level of the mine (the entrance that we used is only a few meters above the River Manifold). Just around the corner we come to the main attraction. A huge vertical cavern, or pipe. Big enough to contain a house and extending upwards in a complex series of natural shafts, platforms, and other connecting chambers. The house would have to float, for the “floor” of the cavern is a gigantic pool filled with crystal clear water. No plant infiltrates, and no animal stirs the mud. A tiny waterfall chirps and trickles its way down into the pool from some higher cavern. Downwards, through the water, we can see that the pipe continues. Occasionally we can see massive wooden props, essentially whole mature oaks trimmed to a rough rectangle, fitted across where they once would’ve supported platforms. The mine continue downward, as does the pipe, for at least another 300m. But the underwater areas remain unexplored since a diver’s death here in the 1960’s.

This pipe is where the copper was. Formed when the bedrock flexed and cracked, allowing copper carrying water to seep in and deposit its lode. Of course the dwarves took all the copper, but we can see occasional spots where copper has remineralised and formed a greenish colouration on the walls (copper carbonate?). All around we can see places where the bedrock has bent into huge curves, cracked, and the cracks filled with worthless calcite (by contrast, the limestone bedrock nearer the entrace has no calcite veining).

This pipe was formed by hacking out valuable copper ores. The next cavern is 10 metres across and big enough to stand in (and in parts up to about 8m high). It was dug out not for copper, for it never contained any, but to house an engine. It is the engine chamber. Housing engines for pumping water out of the depths. Engines powered not by steam, but by horse, and by water. The amount of effort involved is quite incredible: all that worthless rock removed to create this large room, rivers diverted, engines installed, a vertical 300m oak beam (bolted in sections, naturally). All just to remove water so that the lower sections of the mine could be worked for their copper.

Then the tour was over. We had to make our way to the endgame before our batteries ran out and the cave collapsed (just kidding, another text adventure reference). Whilst we had been underground for quite a while, it didn’t take us long to go back along the adit and reach daylight and the smell of fresh air, a smell you really appreciate when you’ve been underground.

Thanks to the staff of the Peak District National Park who used their own time to give us the opportunity to see the mine and benefit from their experience.

Tony Hoare, man of Science

2009-07-04

At EuroPython, on 2009-07-01, Tony Hoare gave a very interesting speech on the opposition between science and engineering (video here). In many ways it reprised the themes of Laura Creighton’s keynote from PyCon UK 2007, but from a science perspective rather than a history of science perspective. In the middle of the talk, some wit twittered “Stand back! Sir Tony Hoare is about to do science!”; shame it wasn’t on the big twitter wall.

Tony Hoare is clearly old skool. His slides had the calm and aged patina of the OHP era, and I thought they were all the better for that. If you have a message, then that message can be conveyed without all the flash and shine that PowerPoint tempts you with (although, being a Microsoft man, of course his slides were in PowerPoint). As Andrew Kuchling says: “(good talk, plain slides) > (bad talk, fancy slides)”

I was particularly impressed with this slide from Tony’s talk outlining a few “special interests” of the scientist and engineer respectively:

Tony_Hoare_Science_and_Engineering-single-12

On the scales on the side of Science we have things like “long-term”, “perfection”, and “originality”. Balancing the scales for Engineering we have “short-term”, “adequacy”, and “best practice”.

What I liked about this slide is that many of the things on the Science side would be seen as defects in an engineer, and many things on the Engineering side would be seen as defects in a scientist. We have all seen scientists attacked for relying on intuition or merely amalgamating best practice. And what engineer has not been barracked (by their manager) for attempting solutions that were too perfectionist or wasting time on long-term goals?

Tony Hoare’s insights are clearly the product of long and hard work. He seems very optimistic about the possibilities of a virtuous feedback between the engineering and scientific sides of computing. Perhaps we have every right to look forward to the day when “Software will be the most reliable component of every product which contains it.” (the last slide from his talk). But right now… it seems a long way off.

My laptop bag

2009-05-08

Just got back from a weekend on the farm (actually that was a few weekends ago, but I only just got round to cleaning up the article). Thought it might be fun to clear out my laptop bag. My laptop bag is my man-bag, it’s a portable version of my life. The bag is a fairly ordinary looking black affair made out of the hide of baby seals. I blagged it from my mum after she retired from being a power manager. It’s clearly very well made as it suffers much abuse and has lasted very well indeed. Want to look inside?

Short IKEA pencil with big wedge-shaped rubber on the back. Ideal for sudoku (not that I ever do them).

A borrowed laser pointer. Doesn’t work.

10 Ultra Soft white tissues from FSC Mixed Sources.

Half a packet of Wrigley’s Extra Peppermint Sugarfree Gum. Odd, since I don’t chew gum. Also, I don’t particular like sugar-free products; it’s just another term for “contains aspartame”.

A badge (not a conference badge, for once).

A Keyboard Anthology, Edited by Howard Ferguson, Book 1 (Grades 1 & 2), ASBRM. You know, for the pianoforte.

The handmade slip case for my laptop.

Pilot V5. The only writing implement I can depend on.

Pair of cheap Aiwa earphones.

A cable with a headphone jack at both ends. This cable languished in my boxes of crud for years until I unexpectedly found a good use for it. More on that in a later article perhaps.

Darwin, “Voyage of the Beagle”. One of many half-read books, but this one is the one I currently carry around.

Dog eared fag end of a pack of almost uselessly small Post-It notes. Each one covers only 6 keys on my keyboard.

A blue USB memory stick that takes an SD card. A 2GB SD card, in fact.

Some keys.

A combination 3-way USB hub and N-way card reader. With a very short USB A to mini-B cable. The hub feature is not so useful, but the card reader often gets used for reading random people’s memory cards so I can copy their photos.

A MacBook VGA monitor cable dongle thingy.

Some more keys.

Another USB memory stick. Not modular, 128 MB of soldered memory.

Charger for Canon digital camera battery.

Charger for Nintendo DS. The last two items are slightly amusing, as the neither the camera nor the DS is in the bag.

What’s in your bag? Are you going to tidy it out / stock it up for the conference season?

2-bit dither

2009-04-30

An earlier article suggests we should pay attention to gamma, at least when the output is 1-bit deep. How should we dither when we want the output to be more than 1-bit deep. Say, dithering 8-bit input down to 2-bit output?

We need to decide:

- What output codes shall we use?
- How do we choose the each output code?

A general purpose dithering routine can use an arbitrary set of output codes. The number of output codes is determined by the desired bit-depth of the output. If we have a 2-bit output file, then that’s 4 output codes.

The easiest output codes to use are linear ones, because we’re doing the dithering in linear space (we are, right? Well, part of the reason for this blog article is to explore when that is worth doing). For example, a 2-bit output code in linear space can be selected with «int(round(v*3.0))». There’s a problem: this sucks. It sucks for all the same reasons that we use perceptual codes in the first place: we’re pissing away (output) precision on areas of the colour space where humans can’t perceive differences anyway; not enough buck for each bit.

This 8-bit ramp is dithered down to 2-bits and the gamma (of the 2-bit output image) is 1.0:

A dithered ramp.  Output codes linear.

Black pixels extend from the left almost to the middle, so just 1 of the 3 adjacent pairs of output colours (0 n 1, 1 n 2, 2 n 3) are dithered over 50% of the image area. That doesn’t seem like a good thing. Also, the 2 lightest colours are very close to each other (perceptually), giving the effect that the right-hand end of the ramp looks “blown out” with not enough shading.

So, the output codes ought to be in some sort of perceptual space (mostly); it makes sense to allow the user to specify the output codes. Not just how many output codes (the bit depth), but also the distribution of the output codes, which amounts to selecting the output gamma. Yeah, I guess in general you want to specify some calibrated colour space; gamma is a simplification.

Two curves show the difference between picking output codes in linear space (gamma = 1.0) and in a perceptual space (gamma = 1.8). The (relative) intensity values appear on the right:


Error diffusion dithering (which is what pipdither does) is a general term for a number of algorithms all of which boil down to:
- pick an order to consider the pixels of an image;
- for each pixel:
– from the pixel’s value v, select an output code with value t;
– the error, v-t, is distributed to pixels not yet considered by adding some fraction of the error onto each of a number of pixels;

The differences between most error diffusion dithering algorithms amount to what pixels the error is distributed to and what fraction each pixel receives. I won’t be considering the error diffusion step in detail in this article.

So, how do we choose the output code? Since we are doing the dithering in linear space, we have presumably converted the input image into linear values (greyscale intensity). The easy thing then is to arrange the output codes in the same linear space (in other words, convert all the output codes into linear space), and pick the nearest output code corresponding to the value of each pixel. Actually pipdither allows you to favour higher codes or lower codes by placing the cutoff point between each pair of adjacent output codes some fraction of the way between them; the fraction can be specified (with the -c option in the unlikely event that anyone actually wants to use pipdither), and defaults to 0.75, favouring lower output codes. I may explain why in a later article.

The one problem with this algorithm: the images it produces look almost the same as the naïve algorithm that just ignores all considerations of gamma (pretending that the input and output are linear when in fact both are coded in perceptual space). So our new improved algorithm is just pissing away CPU performance for almost no gain in image quality. Still, at least we can be smug in the knowledge that it Does The Right Thing.

Can we actually tell any difference between my Right Thing gamma-aware algorithm and the naïve algorithm which knows nothing about gamma (and hence just pretends everything is linear)? The middle image (below) is a greyscale gradient with 256 grey values (8-bit). The other two images are dithers down to 2-bit. Can you tell which image is which algorithm?

ramp-dither-gamma

ramp1

ramp-dither-lin

Here’s a couple of spacemen. I think the difference between the two algorithms is more pronounced:
as12-49-7281-b2-gamma

as12-49-7281-b2-lin

And I’d just like to point out that because of Apple’s 2-bit PNG bug, all of these “2-bit” PNGs are in fact 8-bit PNGs that just happen to only use 4 codes (I use pipdither -b 8 to increase a PNG image’s bit depth; no dithering takes places in that case).

Watchmen on the ice shelf

2009-04-17

Note to self: When we have finally implemented our plans to rule the entire world with the iron fist of justice… Do not build evil lair on the calving face of an Antarctic ice shelf.

(Thought of this when I saw The Watchmen a few weeks ago, but saying goodbye to the Wordie Ice Shelf reminded me.)

My Water Bill

2009-01-15

Just got a water bill for our new home. We’ve been here 2 months. Yorkshire Water have estimated our water usage at 0 units. Twats.

I have just read the meter and we have used 6 units. That’s 6 m3 in 60 (ish) days. Or about 100 litres a day. Two of us live here, so that’s 50 litres each per day. Yay for us (the UK average is about 150 litres per person per day).

Our new house has an annoying on-demand boiler which means we often run cold water straight down the drain when doing the washing up; our old house stored hot water in a cylinder. The only time I bothered to do the calculation at our old house I came up with 90 litres (between us, so 45 each) per day. The waste of water annoys me, but from the numbers it’s clearly not a huge waste of water. So that’s good. And I’m sure we burn less gas with the on-demand boiler.

The number of units of water used is so small that to do it properly I should use a year’s worth of bills. That would also eliminate the seasonal variation. I’m pretty sure we use more water in summer: We don’t water the garden (we don’t have one, but we didn’t when we did have one anyway), but we do water the tomatoes, chilis, and courgettes, or whatever we’re growing (still, this probably only amounts to a few litres per day). We also wash the car, not often, but I’m sure we wash it more in summer than winter, just because it’s warmer and nicer to be outside washing the car. We have just replaced our car with something a lot newer (with emissions of 119 g/Km CO2, yay!), so perhaps we’ll be washing the car more often. Perhaps we drink more in the summer too.

When we moved in I had to find out where our water meter was. There are 4 water meters outside on the street in a cluster, but Yorkshire Water helpfully told us which one it was (they had a note on file, saving me from struggling to read the serial number). To check, I got my partner to turn on the tap whilst I watched the meter. The meter actually measures down to the litre (in red digits that don’t go on the bill), and has another spinny thing that probably does 10 revs per liter, so this is a totally feasible exercise. I recommend that everyone try this, watching that meter spin round furiously just from turning on the tap was quite frightening.

I note that my bill is in m3 but all the discussion about water consumption is in litres (average consumption is 150 litres, bath and kettle sizes are quoted in litres). This is okay, everyone knows that there are 1000 litres in a m3, right? Apparently not. I asked two people I know that I consider intelligent and fairly numerate, as well as occasionally taking an interest in these things; they both have degrees, and not in underwater needlework. Neither of them knew the answer straight away to how many litres were in a m3. Both, when prodded, remembered that a litre is equivalent to a cube 10cm x 10cm x 10cm; one immediately realised that this meant there must be 1000 litres per m3, the other had to be prodded again. I conclude that the quality of maths teaching in this country is appalling.

I also conclude that it would be more helpful to have water bills that say 1000 litres instead of m3. Because then it would be easier for consumers to relate their bill to their baths. Should we use kl? Dunno, always makes me laugh a bit, for some reason.

Ye Olde Thorn

2008-11-07

Whilst moving house I have found a business card on the back of which I find the 'phone numbers of several local hostelries. I am entering the phone number of Ye Olde Cheshire Cheese into Address Book on my Mac.

Should I use a capital Y or a capital Thorn (Þ)? Fucking vikings.

Code Monk’s Bonanza Give-Away!

2008-10-27

I am moving. This induces a phase of decluttering. I am getting rid of a load of my vintage computer gear. Mostly 3 Beebs (including 1 Hybrid Music 5000 system), a SPARC, and a Commodore 64.

It occurs to me that readers of my blog are amongst the most likely people to want any of it.

I have tried to divide the stuff into sensible bundles, splitting things up will be a right pain. I haven’t quite decided what set of Beeb stuff to keep yet, and I’m trying a couple of other channels to get rid of stuff. Some things have been tested, but far from everything.

BBC Model B. Containing…
ATPL Sideways ROM RAM board containing…
Wordwise; graphics extension (Computer Concepts); AMPLE; INTERWORD;
2 (I think) sideways RAMs.
Wordwise Manual.
User Guide (worn, bit still hanging together).
Graphics extension ROM User Manual.
Music 4000 keyboard (and manual, and at least 1 disk).
Music 5000 synthesizer (and manual, including originally supplied ROM ID and passcode).
Viglen twin 5.25 inch disk drive unit, 40/80 switchable.
Hmm. This machine must have some sort of DFS installed. I didn’t look underneath the ATPL board.
[update 2008-10-28: the Music 5000/AMPLE stuff is now promised. If someone really wants me to split off the Model B, any other ROMS, the disk drive, or the UG then I suppose I could]

Twin Voltmace joysticks (2 joysticks joined into 1 analogue connector).

Beeb to Centronics printer cable. 2 off.
A Canon BJ-10ex printer.

DFS User Guide (I might want to keep this).

BBC Master 512
And what I guess is a complete set of disks for the 512 side of things:
512 DISC 1, DOS PLUS BOOT
512 DISC 2, GEM APPLICATIONS
512 DISC 3, GEM DATA
512 DISC 4, MISCELLANEOUS
THE 512 MOUSE DRIVER
Those 512 disks are originals. Discs 2, 3, 4 I seem to have a second original set of, and also a set of copies, for backup.
And various 512 related books:
“Master 512 Technical Guide”, Robin Burton; DABS. I only just discovered that this contains the schematic for the 80186 board. Shows how often I opened it.
“Master 512 User Guide”, Chris Snee; DABS. This is an aftermarket book, in particular it is not…
“Master 512 User Guide”, Acorn. This is the manual for GEM and DOS+ (I assume it came with the machine).
“The 512 Mouse Driver”, Tull Computer Services. I suspect I have the mouse (below). Disk listed above.
Mouse. With analogue connector. Says “ACORN P/N 0143210″ on bottom. May or may not be the appropriate mouse for “The 512 Mouse Driver”, above.
GEM running on a Beeb has to be seen to be believed.
[2008-10-28: All the 512 stuff is now promised]

BBC Master 128. PAT certificate for 1992. Containing…
PCB 4.03 ROM. PCB Autoroute 1.04 ROM. And discs (copies) for these.
And various related Master books:
(Master) Reference Manual, Parts One and Two; Acorn.
(Master) Welcome Guide; Acorn.
“The New Advanced User Guide”, Dickens & Holmes. More appropriate than the AUG for the Master.
ViewSheet manual. The Masters come with ViewSheet in the builtin ROM.
View complete and boxed, except for the ROM (that is, the program itself). So no ROM, but what do you get? Vintage 80s box, “into view” introduction book, reference manual, 3 A4/3 reference cards, printer generator manual, disc, and printer generator software on cassette tape. The Masters come with View in the builtin ROM.
Master 128 Elite on disc (copy). It’s in colour, and quite cool.

BBC 6502 2nd Processor (the classic “Tube”). 2 off. [2008-10-31: now promised]
HIBASIC CERDIP EPROM. This is plugged into my Model B, but if you convince me to let go of both my 2nd pros (so I have no need of it) then you can have this too. You can’t have my DNFS.
6502 second processor user guide. 3 off. *sigh* yes, 1 more manual than I have 2nd processors.

BBC z80 2nd Processor (Acorn, not Watford).
An awesome set of manuals for the z80 stuff: “Z80 second processor user guide”, “z80 BBC BASIC user guide”, “CP/M 2.2 with GSX Graphics”, “Graph Plan”, “CIS COBOL language reference manual”, “CIS COBOL with ANIMATOR and FORMS-2 user guide”, “Accountant”, “Nucleus System Generator”, “File Plan”.
And what I assume is a complete set of z80 2nd pro disks. They are copies not originals and they are rather unhelpfully labelled “z80 2nd pro disc 1″ through to “disc 7″. Also “system” and “basic” discs (which I suspect might be copies of discs 1 and 2). I think this set of discs includes a working copy of CP/M kermit that I downloaded from the internet and somehow coaxed onto a floppy.
[2008-10-28: z80 stuff is now promised]

Complete BCPL development system for the Beeb: ROM (real, plastic), 2 books, disks. [2008-10-28: now promised]
BCPL User Guide (the manual for the BCPL kit, but alone, without ROM or disks).
PHX 1 ROM. PHX was the communications ROM used in the Cambridge Computing Service User Area Beebs (mostly, but not exclusively, for talking to UK.AC.CAM.PHX). PHX 1 is the early crappy version.

Needs repair: Microvitec CUB monitor. 2 off. Both of them smoked when I plugged them in. *sigh*

DIN to DIN monitor cable for a Beeb. 3 Beebs, but only 1 monitor cable. Sorry.

“Illustrating Basic”, Alcock. Sadly, not Illustrating BBC Basic.
Ahkter Disk Drive User’s Manual.

Commodore 64, tape deck, some games.

SPARC station I. The “pizza box” original. Associated peripherals:
A couple of big fat SCSI cables and big fat SCSI drives (big, except in storage capacity). A good variety of connectors with strange pin configurations here, but there’s enough to connect all the disks to the SPARC, but I think the daisy-chaining order is constrained.
ISOLAN UTP II Transceiver (2 off), and one cable to connect to the SPARC station I AUI.

Phew.

Taking Climate Change Seriously

2008-10-24

Climate change is serious stuff. The world is getting warmer; the environment is changing; we have less arctic ice. We are only just learning about deep ocean thermohaline circulations just as it looks like we might be upsetting them.

But that’s okay, we seem to be a pretty clever species and collectively we have the power to solve large and complex problems (you know, like moon landings and blue LEDs). Despite the fact that in the long term most species become extinct, I’m optimistic that we can solve our current global warming problem. And in any case, even if we become extinct then life itself will not. The archaea and the other microbes will live on. Good luck to sentient life wherever it next evolves.

Solving climate change will involve serious change. But it will be seriously cool too. New forms of power production will become commercially viable; some existing power plants will become obsolete; it’s probable that we will be driving electric cars (speaking of which, it’s 2008, where’s my nuclear powered hover car goddamnit!); windmills will stride across our moors (yes, in my backyard!).

There is opportunity. Not just in your silly political opportunity of being world leaders and torch bearers for a new world, but real opportunity. Money. Opportunity in acquiring the skills to build lots more nuclear power plants than we ever have (Edit 2008-10-25: used to say “ten times as fast”, but that’s just wrong); in learning how to make an offshore tidal power station last for 50 years with no maintenance; in programming fridge microcontrollers so that they do not draw power at lunchtime when everyone needs the grid power to cook on the halogen hob. We can do this, and then we can sell it to those that were too lazy.

Let us embrace this opportunity now. Friends, let’s join Francis Irving and sign up to Serious Change (.org.uk).

The music of substance abuse

2008-10-08

As you will know if you’re the person that said it to me, my music collection is full of “wailing bints”. I was listening to the archetype Cerys Matthews wail persuasively and passionately about her true love: Chardonnay. It’s in parts charming and in parts disturbing to hear of those intimate moments she shared with the bottle. It occurred to me that even amongst my meagre music collection there is a great deal said about various addictive substances.

Bob Dylan wails (most unlike a bint) about having just “One More Cup Of Coffee”. Is he engaging in shared family bonding before he goes out to battle? Hard to say. Coffee is a substance of importance to most hackers, and seemingly to musicians too. Kate Bush has her “Coffee Homeground”; The Cranberries think you should “Wake Up And Smell The Coffee”.

I’m not even sure I should mention “Brimful of Asha”, because I have no idea what it’s about. Is Asha a singer whose tunes they are in love with, filling theirs cups to the brim with “Asha on the 45″? In which case the substance isn’t tangible, it’s melody. Or perhaps Asha is a toxic liquor that they drink from small glasses that are for some reason left spinning on the deck. I just can’t tell.

For the younger readers: a “45″ refers to a plastic media disc that stored music in an analogue format; the disc has to be spun at a speed of 45 revolutions per minute whilst scraping past a needle made of sapphire in order to reproduce the sound correctly. No, really. Whatever.

The Feeling’s brilliant album “Twelve Stops & Home” manages to capture everything that is good about a British Friday night. Just the title of track 4, “Kettle’s On”, evokes fuggy northern kitchens, late at night, cold hands wrapped around warm mugs. I can’t mention tea without mentioning the insane, brilliant, comical “Cup of Brown Joy“.

The Doors’ “Alabama Song” tells us that Jim Morrison obviously spends his Friday nights crawling from bar to bar, pleading with his friends to show him “the way to the next whisky bar”.

For The Stranglers everything seems “Golden Brown”, and I know they’re not talking about sepia prints. I find it a pleasantly mellow celebration of relaxing on endless warm summer evenings. Perhaps relaxing in The Beatles “Strawberry Fields Forever”, where “nothing is real” (of course their “Lucy In The Sky With Diamonds” must remain one of the archetypal substance abuse songs).

When Crowded House ask for another piece of “Chocolate Cake”, they’re not talking about a delicious confection, but about the gross and conspicuous over-consumption in modern consumer society. A collective substance abuse that we all (in the developed world) suffer from; addicted to food, sugar, fat, stuff. Mmm, more cake.

It’s a bit of a leap to the stronger stuff, but surely I have to mention Slowhand’s “Cocaine”, and Neil Young’s “The Needle And The Damage Done”. Both of them chilling and haunting. Happily, I’m not haunted by my ghosts, but by the ones that they create for me.

Better go, lest I forget how to program or something.