I’m sick of getting automated responses, I just don’t see the point. I don’t need an email telling me what I just did 2 minutes ago. Yes, I know, I was there too. So to that end I’ve invented the Automated Response Responder. That’ll teach the bastards.
First off, a few cautions: This is a bad idea, people don’t like it when you respond to their automated responses, if they even notice at all. However, this was — for me — more of an art project in the vein of Caleb Larson’s A Tool To Deceive And Slaughter (A sculpture that continually lists itself on eBay) than any real programming exercise. And now, on to the project itself.
You’re going to need Procmail for this. Procmail can be used to create mail-servers, mailing lists, sort your incoming mail into separate folders/files, preprocess your mail, start any programs upon mail arrival or selectively forward certain incoming mail automatically to someone. Today we’ll be focusing on some variation of that last one. Now, you’re going to need to install and set-up Procmail yourself (have I mentioned yet that it’s a command line tool?), I recommend Nancy McGough’s excellent Procmail Quick Start. Once you’ve gotten that done you can get to my Procmail ‘recipe’.
:0
check1 = "automated e-mail"
check2 = "automated email"
check3 = "automated notice"
check4 = "automated message"
*$ ! ^$MYXLOOP
* B ?? check1|check2|check3|check4
| (echo "From: you@domain.com" ;
$FORMAIL -r -A"Precedence: junk"
-A"X-Loop: you@domain.com" ;
echo "This is an automated response
in reply to your automated response.\n
Please do not respond to this
automated response.\n
Thank you.\n"
) | $SENDMAIL
Obviously, the first thing you’re going to want to do here is to replace you@domain.com with your actual email address (on both occasions).
The actual code is quite simple. As you can see above, I have set up checks for the most common wordings in the body of automated emails I have received, you can add, remove, or change as you wish. The next part — *$ ! ^$MYXLOOP — makes sure we’re not setting up an infinite loop here. The line after — * B ?? check1|check2|check3|check4 — simply cycles through the strings provided above and if any of them match sends the message:
This is an automated response in reply to your automated response.
Please do not respond to this automated response.
Thank you.
It’s about time I posted a followup to the first of this series about artists, photographers, and creative people that I have discovered while browsing various sites and forums. Today I’m concentrating on photographers that I have discovered / rediscovered over the past few months.
Bo Wang

Bo Wang is a Chinese photographer currently based in New York. With a BS and MS in Physics from Tsinghau University he is now studying photography, video and related media at School Of Visual Arts, New York.
He currently has a show — Heteroscapes — at Gallery 456 (ending 5th of February), I feel that his artist’s statement describes his photography best:
HETEROSCAPES is a portrait of China’s contemporary urban spaces and landscapes in a period of intensified transition. Throughout the past 20 years of an economic boom, this transition has shifted the social power structure and subverted once common values, dramatically altering the functions and even the concreteness of landscapes and urban structures.
Bo Wang is relatively new to the photography world, but I feel he will be one to watch in the coming years.
Continue reading: More Artists Of Today (And Yesterday)

I recently realised that I haven’t gone into any detail about my work environment. For today, I thought I’d start with my desktop. First things first, the wallpaper is from a picture posted up on Twitter recently by Bryan Lee O’Malley — the author of the wonderful Scott Pilgrim series, soon to be a movie by the talented Edgar Wright (director of Spaced / Shaun Of The Dead).
But recently I’ve been getting comments about the “crazy text in the top left corner” of any screen-shots I show people, so I thought I’d post up a bit of a tutorial for the application that makes this all possible — GeekTool. What it does is run scripts and commands that you would use in Terminal and display the output on your desktop.
GeekTool is quite simple to use. For now we will just be messing with ‘Image’ Geeklets, just drag one into position on your desktop and you will see the ‘Properties’ window. There are three important things here: Command, Refresh, and Style. Command is where you will enter the scripts below, Refresh is how often you want the output to refresh (I find 10s works well for most cases), and the button below Style — ‘Click here to set font & color.’ — opens up the default Font style window of OS X (which you should already be accustomed to).
The various scripts I’ve gathered together below have been collected from tutorials all over the web, I hope you find them as useful as I did.
Continue reading: My Desktop
Movies. I’ve watched a lot of them lately. Here are some words about some of them.
Ponyo On The Cliff By The Sea

Trailer
This is Hayao Miazaki so it’s obviously Studio Ghibli so you can’t escape how good it’s going to be. Beautiful, fully realised yet simple and easy to watch this re-weaving of Hans Anderson’s Little Mermaid is one of the best things I’ve ever looked at.
Luckily for the UK it’s hitting cinemas soon, although personally I’d ditch the Cate Blanchett headed dub and hold out for a subtitled screening if you don’t want to catch the Disneyfication effect of Noah Cyrus and trying to hard to talk to kids. Either however, is better than not seeing it though. Especially if you have some kids to take with you. They’ll love it just as much, if not more than you.
Continue reading: 3 Months Of Movies

It’s possible that you haven’t seen Adventure Time before. Possible, but with over 2 million views in 3 years, not very likely. It aired once — at midnight — on Nickelodeon, before going on to win awards and become the internet sensation that it is. Picked up by the Cartoon Network at the end of 2008, it’s finally drawing near to the date the first episode airs — March 10th 2010.
Adventure Time is the creation of Pendelton Ward. His personal website seems to be down currently, but he also happens to have a twitter on which he posts many delightful drawings. Other than that, I’m afraid I haven’t been able to find out that much about him.
However, the voice actors are much easier to track down. Starring Hynden Walch, Jeremy Shada, and John DiMaggio (best known as Bender from Futurama) — with guest appearances from talents such as Mark Hamill — it’s definitely off to a good start.
Fredator Studios are the producers of the series (as well as of the animated short) and they have a terrific blog on which they post up artwork, storyboards, backgrounds, character designs, and much more. Well worth keeping an eye on over the coming months as things start coming together.
But perhaps my favourite thing about the new Adventure Time is the gorgeous sets (261 in total) as seen above. Designed by Ghostshrimp and Santino Lascano, the high resolution versions are already in heavy rotation as my desktop wallpaper.
In short: keep an eye out for it, it’s going to be popular.
In 2009 I took a fair few photos, something like 3,000 of them according to my Lightroom library (and that doesn’t include the 4 or 5 roles of film I have sitting on my turntable yet to be developed). Most of those photos (around 2,500 I’d say) were shit, and they will never see the light of day. A few of them — despite various problems — were still rather interesting. It turns out that when the majority of your shots are taken with a manual focus lens from the late ’70’s you’re going to get a lot of out of focus, over/under-exposed, or just completely missed shots
So I present to you my dud photos of 2009, a little white-balance here and some levels there, but they’re pretty much as they came straight out of the camera:

Continue reading: Dud Photos of 2009
There has been a definite fall off in the updates at SPK lately. Not much has been going on on the front page and virtually nothing has happened on any of the others. Things have ground to a halt.
But in the real world things have been busy — or at least as busy as we’d ever like them to be. Over the last three months spanning the end of 2009 and the beginning of 2010 a lot of things have conspired to happen all at once, categorically ruining all fun, ever. Things like new jobs with erratic and often unexpected work hours, the dreaded festive season, appointments with the immigration department and the weeks of paper work connected with them, actual paying graphic design work, double flu which may or may not have been swine related but sucked either way, persistent coughing, self doubt, lack of confidence and the search for some kind of unifying theory which explains the reason for ‘stuff.
There have been deaths. Several of them.
It’s just been that kind of three months — the kind where motivation is at an all time low and which in an unprofessional like myself are the sort of time when you withdraw the gang plank and float adrift liked a crotchety pirate in a sea of ‘leave me alone’ and ‘is there any Jeremy Kyle on TV?’
But all things must pass — it’s one of those essential governing principles of life necessary to moving forward.
And that’s what the next few posts will be all about — passing on the things we didn’t have the time or motivation to tell you about. It’s all about vomiting up the past three months onto your lap, wiping our mouths and mumbling sorry before pushing ourselves up into a stumble across the room like an unknown drunk at a party.
Classy.
We’ve had a few requests for articles on the site lately, and more and more of them are asking about the design of the site itself. So for today I thought I would detail how I designed the header for Superposition Kitty. An initial warning: I have no idea how many browsers this works in (as my usual testing procedure of using Browser Shots is no help for hover states), however it should work for all the major browsers, even IE6. Secondly: This code — or more specifically, nesting a <div> between <ul> and <li> elements — is not XHMTL valid.
I spent a lot of time worrying about the second part until I realised the validity of my code had absolutely no effect on how the site is displayed to visitors. This doesn’t mean you should just throw validation out the window — at the very least it is a great way to discover hidden errors in your code, or why something isn’t displaying as you think it should — but I just don’t believe it is as important as I once did.
Headers in WordPress are a relatively simple affair. If you want to brush up on the basics then I would recommend checking out the excellent WordPress Codex article on designing headers. The header for Superposition Kitty is based on Son Of Suckerfish Dropdowns, which is in turn based on the groundbreaking A List Apart article: Suckerfish Dropdowns. Reading through both of those articles (which I heavily recommend) will give you a good grounding in how to style lists as a horizontal (or even vertical) menu.
Continue reading: WordPress, Headers, And Superposition Kitty
Lately I’ve noticed we’ve been getting a lot of hits on my article Goodbye Media Temple, Hello Linode, with search terms such as ‘mediatemple vs linode’. So I thought it would be best to transcribe my thoughts in a little more detail below. I would also like to preface this article with the statement that I was a customer of Media Temple’s for almost 3 years, and have been with Linode for 2 months now.
For the table below I have compared Media Temple’s ‘base’ dedicated virtual server to it’s nearest Linode competitor the ‘Linode 720′.
| Metric |
Media Temple |
Linode |
| RAM |
512MB |
720MB |
| Storage |
20GB |
32GB |
| Transfer |
1TB |
400GB |
| Price |
$50/mo |
$39.95/mo |
Linode comes out way in front in everything other than ‘Network Transfer’, however I have found that for the few small sites that we host we rarely use more than even 50GB a month. Obviously, depending on what you host you may need more than the 400GB per month that this level of Linode offers, but I would be wary of hosting anything pushing that much traffic on a server with only 512MB of RAM (in Media Temple’s case). It’s also worth noting that Linode offers additional transfer at the rate of $0.10 per 1GB if need be. Media Temple does not offer such a service, and will charge you $0.50 for each 1GB you are over your limit.
Continue reading: Linode vs. Media Temple
For some reason, some how, the virtual private server that this site is hosted on was compromised by Baltic hackers last weekend. I am not sure what it is they wanted, maybe Trent Reznor or Stephanie Mayer have some irate technological fans out in Eastern Europe.
WARNING: Semi-technical talk ahead.
Either somebody took offense at something we have written or they were just really, really bored, because at 16:00 on Friday of last week our server started sending out massive amounts of data over UDP. I received an automated notice from Linode a few hours later telling me that my server had averaged 6.16MB/s over the last two hours. That one spike there managed to use up 5% of our monthly bandwidth. The network usage continued at random intervals for only brief periods of time, making it quite difficult to catch with tcpdump, and neither ntop or iftop noticed anything amiss.
Keeping an eye on Linode’s conveniently provided network graphs I was finally able to capture the tail end of another massive output with tcpdump only to reveal absolutely nothing. None of the (very helpful) Linode staff were able to tell me just what was going on, but after a few hours came to the conclusion that it was likely somebody had compromised my server and was probably using it to perform DDoS attacks. Solution: delete and rebuild.
This could’ve been painful if I was still with Media Temple, but Linode offer pro-rata billing (meaning that I only have to pay for what I use). I immediately opened up a new server and got to work transferring my backups. Then it was time to secure it, and better than I had done last time. I am now using iptables to block all ports other than www, https and ssh. I have also set up SSH public/private keys, disabled root login, moved ssh ports, removed vsftpd and installed fail2ban.
I could now close up my old account. Total cost to me: $0.63 in server charges and half my weekend. Hopefully I won’t have to deal with this again, but it taught me to make sure I always have up-to-date backups and to keep on top of security. And not to piss off Eastern European hackers.
« Next
Previous »