Category: blog

Crisis averted

So it turned out to be a very small mid-life crisis… With the Great British Weather(tm) being what it is, it was never going to work out. So meet the latest addition to the household :)

Tags:

categories blog

Mid-life crisis

Since a mistress can lead to a very expensive divorce, I opted for a much cheaper alternative ;)

La mission du Le Mans 2015

Watching Le Mans on the TV all day long and all I can think of is that one day I want to be there and experience it… With Q jr turning 16 in 2015, what better way to celebrate that by spending a long weekend on a campsite next to a race track, having BBQ’s and drinking beer soda’s :)

Of course you can not just go, you have to sticker up the car… ;)

Love is in the Air

After 3 years my 13″ Mid-2009 Macbook Pro was getting on a bit, so what better way to upgrade it with a new shiny toy?

And in case you’re wondering if it is any good? Let me just show the before and after images of just the disk speed…

DiskSpeedTest Macbook Pro 2009 DiskSpeedTest Macbook Air 2012

Fuel light bingo

Fuelly

Tags: , ,

categories blog

Droidock

About two weeks ago, I finally bit the bullet and retired my trusty iPhone 3G, and went to the dark bright side, with an Orange San Francisco (also known as the ZTE Blade). At £99 (including a compulsory £10 Orange topup) it can be SIM unlocked for free and flashed to Froyo 2.2 with a variety of ROMs.

But despite a incredible take up by punters everywhere, the lack of handset accessories is frustrating. Until recently we couldn’t even get an OSF specific screen protector, let alone a protective cover. And still we can not buy a desktop charger that fits!

And so, when a colleague was unpacking a toner cartridge and I spotted the polystyrene padding material, I thought, why not bodge one myself?

15 minutes (and a sharp blade) later, and voila!

Ooh Arr-duino

Santa this year was very generous to my son and gifted him with a Maverick Atom XT RTR 1/18 Electric 4WD Truggy but failed to mention that the batteries that came with it could only be left in the charger for 6 hours, no longer. With grave warnings about explosions and fire, I tried to find an egg-timer on a socket kind of solution, but could not find anything that would go beyond 4 hours.

So what is a tinkerer to do? He makes one himself! ;)




A long time ago I bought an Arduino, but never really got any further with it than a blinking RGB led. Now I finally found a purpose for it :) I was going to build an Arduino controlled timer socket!

All I needed now were some kind of relay, some sockets, a few buttons and a way of letting the user my son know what the time was set to and if it was on or not. I ended up with a Ciseco Arduino Relay Shield, two Maplin push-to-make switches, a DFRobot I2C 16×2 LCD and a Maplin project box big enough to fit it all in

First a small word of warning. You are dealing with MAINS voltage, which can be lethal if you fool around. DO NOT EVER! connect the bits to mains power when parts of it are exposed. You’ve been warned

I started off with a small mockup of materials and then got my trusty Dremel clone out and started cutting away at the project case.

First off is the socket in which the battery charger can be plugged. A small template on paper is by far the easiest way to make sure you don’t cut out too much behind the socket

With the socket in place, I created the template for the LCD. I took my time with this, as I didn’t want to cut out too much. A lot of careful sanding ensured that only the black part would be visible, and nothing else. Then with the help of some small bolts and nuts, I created some spacers, enabling the LCD to sit nicely in the cutout. Lots of hotglue completes the mounting

The buttons only required some measuring to make sure they are neatly symetric and do not interfere with the LCD

All that remains is the IEC socket where the power will go into the project box

Now with everything in place, all we need to do is connect the components together with some wire using the below schematic

Warm up the soldering iron and just follow the diagram. As my soldering skills are not that great, I also used a bit of heatshrink here and there to make sure that wires could not short on each other :)

I’m using an old iPhone charger to power the Arduino as it provides a neat 5V/1A, with a small retractable USB lead with a Type A to B converter. A quick test of the wiring to make sure it all works as planned

Now with construction over, it was time to do the Arduino coding. The LCD uses the LiquidCrystal I2C library which takes care of all the hard work interfacing to it. Likewise, the Metro library takes care of the timer. So, it is just a simple case of increasing the clock by an hour every time the red button is pressed, and starting the timer when the green button is pressed. Once the timer is running, any button press will stop the timer and reset the state to the beginning.

// Arduino controlled timer socket
// (CC BY) 2011
// http://awooga.nl
 
// pull in libraries
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Metro.h>
 
 
// arduino pins constants
#define RELAY 2 // black wire connected to input on shield
#define RED   6 // green wire
#define GREEN 7 // white wire
 
// i2c pin A5 = white wire
// i2c pin A4 = green wire
 
// allow between 1 and 6 hours
#define MINIMUM_TIME 1
#define DEFAULT_TIME 6
#define MAXIMUM_TIME 6
 
 
const unsigned long MILLISECONDS=1;
const unsigned long SECONDS=(1000*MILLISECONDS);
const unsigned long MINUTES=(60*SECONDS);
const unsigned long HOURS=(60*MINUTES);
const unsigned long DAYS=(24*HOURS);
 
const unsigned long UNITS=HOURS;
 
 
// prgram states
#define IDLE         0
#define RED_BUTTON   1
#define GREEN_BUTTON 2
#define MENU         3
#define PAUSE        4
#define STOP_TIMER   5
#define CANCEL_TIMER 6
 
 
// global variables
byte events;
byte countdowntime;
boolean menu_running;
boolean timer_running;
 
boolean debug = false;
 
byte currentRed = LOW;
byte currentGreen = LOW;
byte previousRed = LOW;
byte previousGreen = LOW;
 
// set the LCD address to 0x27 for the 16x2 display
LiquidCrystal_I2C lcd(0x27, 16, 2);
 
// initiate Metro object
Metro relayMetro = Metro(0, true);
 
 
// arduino setup routine
void setup() {
 
  // set the arduino pins
  pinMode(RELAY, OUTPUT);
  pinMode(RED, INPUT);
  pinMode(GREEN, INPUT);  
 
  // initialise the lcd
  lcd.init();
  lcd.backlight();
 
  // activate debugging on the serial port
  if (debug) {
    Serial.begin(9600);
    Serial.println("Lets go!");
  }
 
  // initialise variables
  events = IDLE;
  countdowntime = DEFAULT_TIME;
  menu_running = false;
  timer_running = false;
  digitalWrite(RELAY, LOW);
}
 
 
// arduino loop routine
void loop() {
 
  switch (events) {
 
    case IDLE:
      events = Idling();
      break;
 
    case MENU:
      events = MainMenu();
      break;
 
    case RED_BUTTON:
      events = RedButton();
      break;
 
    case GREEN_BUTTON:
      events = GreenButton();
      break;
 
    case PAUSE:
      events = Pause();
      break;
 
    case STOP_TIMER:
      events = StopTimer();
      break;
 
    case CANCEL_TIMER:
      events = CancelTimer();
      break;
 
    default:
      events = IDLE;
      break;
  }
}
 
 
int MainMenu() {
 
  if (timer_running) {
    return IDLE;
  }
 
  if (menu_running) {
    return IDLE;
  }
 
  if (debug) { Serial.println("MainMenu()"); }
 
  lcd.clear();
  lcd.print("  Red: Set time");
  lcd.setCursor(0, 1);
  lcd.print("Green: Go (");
  lcd.print(countdowntime, DEC);
  if (countdowntime == 1) {
    lcd.print("hr)");
  }
  else {
    lcd.print("hrs)");
  }
 
  menu_running = true;
 
  return IDLE;
}
 
 
int Idling() {
 
  boolean do_red = false;
  boolean do_green = false;
 
  if (timer_running) {
    if (relayMetro.check()) {
      return STOP_TIMER;
    }
  }
 
  currentRed = digitalRead(RED);
  currentGreen = digitalRead(GREEN);
 
  if (currentRed != previousRed) {
    do_red = (currentRed == HIGH);
  }
  previousRed = currentRed;
 
  if (currentGreen != previousGreen) {
    do_green = (currentGreen == HIGH);
  }
  previousGreen = currentGreen;
 
  if ((do_red) && (!do_green)) {
    return RED_BUTTON;
  }
 
  if ((!do_red) && (do_green)) {
    return GREEN_BUTTON;
  }
 
  // all other button combinations are ignored
  return MENU;
}
 
 
int RedButton() {
  if (debug) { Serial.println("RedButton()"); }
 
  if (timer_running) {
    return CANCEL_TIMER;
  }
 
  if (++countdowntime > MAXIMUM_TIME) { countdowntime = MINIMUM_TIME; }
 
  lcd.clear();
  lcd.print("Time set to");
  lcd.setCursor(0, 1);
  lcd.print(countdowntime, DEC);
  if (countdowntime == 1) {
    lcd.print(" hour");
  }
  else {
    lcd.print(" hours");
  }
 
  menu_running = false;
 
  return PAUSE;
}
 
 
int GreenButton() {
  if (debug) { Serial.println("GreenButton()"); }
 
  if (timer_running) {
    return CANCEL_TIMER;
  }
 
  lcd.clear();
  lcd.print("Running timer");
  lcd.setCursor(0, 1);
  lcd.print("for ");
  lcd.print(countdowntime, DEC);
  if (countdowntime == 1) {
    lcd.print(" hour");
  }
  else {
    lcd.print(" hours");
  }
 
  unsigned long t = countdowntime * UNITS;
 
  timer_running = true;
  if (debug) {
    Serial.print("Setting metro for ");
    Serial.print(t);
    Serial.println(" seconds");
  }
  relayMetro.interval(t);
 
  digitalWrite(RELAY, HIGH);
 
  return IDLE;
}
 
 
int StopTimer() {
  if (debug) { Serial.println("StopTimer()"); }
 
  digitalWrite(RELAY, LOW);
 
  lcd.clear();
  lcd.print("Timer finished");
 
  timer_running = false;
  menu_running = false;
  relayMetro.reset();
 
  return PAUSE;
}
 
 
int CancelTimer() {
  if (debug) { Serial.println("CancelTimer()"); }
 
  digitalWrite(RELAY, LOW);
 
  lcd.clear();
  lcd.print("Timer stopped");
 
  timer_running = false;
  menu_running = false;
  relayMetro.reset();
 
  return PAUSE;
}
 
 
int Pause() {
  delay(1000);
  return IDLE;
}

Or just download the .pde file here

Obviously you can go all crazy with options and clocks, but I just wanted something quick and working. Changing the code to do all that is just a matter of opening it up, and uploading the new software.




And just to prove it is all working, here’s a small video demonstration. It doesn’t show the timer ending, you just have to take my word on that :D

Mmmmmmm 5!

Won’t someone think of the children?

Let’s do a quick show of hands of parents who think that the internet is a safe place for children to spend their time on? If you’ve got your hands up you haven’t been on the internet for very long.

kid-in-shockTo be completely honest, the internet scares me. Or better, the amount of scary stuff that is on it, scares me. So now that my son is old enough to have his own PC in his bedroom, I looked around to see what was available to make sure that he doesn’t get exposed to material that is well above his age. They grow up quick enough anyway.

Now as someone who runs Ubuntu on his server, and OS X on his MacBook, I am already one step ahead of most parents, who have to deal with a Microsoft Windows environment of some sort. Good luck to you. This blog post depends on a Linux server of some sort, and although the client can be any operating system, I strongly advice you to stick to a *nix based desktop.

After dismissing most options available (things like OpenDNS, and a variety of dedicated applications to block any harmful content), I decided that however I was going to implement it, it would have to be by using a whitelist, rather than the normal practice of a blacklist. The reasoning behind this is that the amount of harmful content changes every minute, and no amount of blacklisting will catch 100% of it. With a whitelist, everything has to be vetted by me, but it ensures total control over their web experience. I also wanted to be able to approve/deny new websites as my son requests them, with little effort required on my side.

Something that sits between the client and the internet would be the perfect solution, and I quickly stumbled upon TinyProxy. As the name implies, the application is small, efficient, easy to manage and it supports blacklisting and whitelisting. Perfect.




Requirements

  • A server running your favourite Linux distribution. I personally use Ubuntu, but for the purpose of this guide, it doesn’t matter.
  • TinyProxy as installed by your favourite package manager. For Ubuntu that’s as easy as apt-get install tinyproxy, but obviously that will be different if you run something else. Make a note of the version number of TinyProxy though, as we’ll need version 1.6.5 or later.
  • A webserver running on your server. Apache2 is what I use, but as long as it supports PHP, then it doesn’t matter. What does matter though, is that the webserver should be able to access your TinyProxy whitelist file, which if you have both TinyProxy and the webserver running on the same server will be the case.
  • A client configured to use TinyProxy. This can be Firefox, Internet Explorer, Chrome, Opera, or any other browser you like to use. Be aware though that as soon as your child learns what a proxy is and how to remove it from his PC/laptop, the whole plan falls apart.

Before you continue with the next section, make sure that your webserver is able to serve some pages, and that you have confirmed that TinyProxy is working correctly for you.

Installation

Grab the tinyproxy-admin.tar.gz package and unpack it somewhere on your server. There are a number of files in there, each of them I will describe below.

tinyproxy.32
tinyproxy.64 – These two binaries are the 1.6.5 binary patched with a small change to allow TinyProxy’s child processes to refresh their filter list when the parent receives a SIGHUP signal and when the whitelist file is changed. These changes have also been submitted to the development version of TinyProxy, but because apt-get on my Ubuntu system installs 1.6.5, I have used that code base. Eventually these patches will appear in the Ubuntu package manager, but until then, these will do. The extension indicates whether the binary is for 32-bit, or 64-bit *nix.

tinyproxy – This is the TinyProxy start file (usually found in /etc/init.d), which contains a couple of changed lines. The permission on the tinyproxy.log files is by default set to restrictive. It needs to be read by the webserver’s user, which means that setting it to 644 everytime we start TinyProxy is required.

The files below need to be put in your TinyProxy configuration directory, usually /etc/tinyproxy.

tinyproxy.conf – This contains only the required changes to your distribution’s version. The ErrorFile, PidFile and Filter locations need to match your installation, and to switch from blacklisting to whitelisting, the FilterDefaultDeny parameter needs to be set to Yes.

whitelist – This contains just a single line; localhost. You need to whitelist the domain that your webserver runs on, otherwise it won’t work. If your local webserver can be reached through a proper domain name, then change localhost to that instead.

403.html – This is the file referred to by the ErrorFile directive in the tinyproxy.conf file. It contains two variables which need to be changed to match your system.

The following files are part of the administration interface and will need to be put in a directory that can be served by your local webserver. For instance, if your webserver uses /var/www as the root directory, put these in a new directory called /var/www/tinyproxy. The pages should then be able to be accessible by navigating to the http://your.webserver.domain/tinyproxy url.

config.php – This is the configuration for the administration interface. Make sure that the variables match your configuration, and if you want it to notify you by Twitter each time a new domain approval request is made, enter your details in there too.

style.css
filter.html
admin.html
filter.php
img (dir) – These are the remaining files which do not require any modification.

How it all works

Whenever a client is requesting a webpage from a domain, the request is done through TinyProxy. If it finds a line in the whitelist file for the domain, it lets the request pass through, but if it doesn’t, an error 403 occurs (Forbidden) and the 403.html page is served to the client. The included 403.html file calls the filter.html file internally and passes it the website that the client is trying to access.

tinyproxy-filter

When the request is made, the domain gets added to the whitelist file, but with a prefix of M|, therefore still not matching a proper whitelisted domain name. And it is this mechanism which allows me to approve or deny domains whilst keeping the whitelists all in one place. The admin interface simply drops the M| prefix if the domain gets approved, or changes it to D| if it remains denied. Easy peasy :o)




I appreciate that the above is all a bit long and winded, so I’ll do a small summary/checklist below for those who are keen to get going.

  • Install TinyProxy using package manager
  • Install webserver
  • Confirm the above are working
  • Download tinyproxy-admin.tar.gz
  • Amend config.php
  • Move config.php, style.css, filter.html, admin.html, filter.php and the img directory to a subdirectory beneath your webserver
  • Amend TinyProxy startup script: tinyproxy
  • Amend TinyProxy configuration file: tinyproxy.conf
  • Amend whitelist and move it to the TinyProxy configuration directory
  • Amend 403.html and move it to the TinyProxy configuration directory
  • Replace tinyproxy binary with patched version
  • Restart TinyProxy
  • Breath out ;o)

Bye Bye Standby double wall switch

I’m a big fan of Bye Bye Standby and am slowly replacing all switches and lights with their products. One thing that is sorely missed though, is a double wall switch. The kind that sits at the bottom of your stairs and controls the lights upstairs and downstairs. Home Easy do one, but that protocol is not compatible. So I combined the best of both worlds and cobbled one together myself :)




Start by stripping all switches down to their bare PCBs. The idea is to use the push button switches inside the Home Easy HE308 switch and connect them to the push button switches from the Bye Bye Standby wall switches and then stuff it all in the wall.

Carefully solder wires to each BBSB switch and then solder them to the HE308. As the PCB of the HE308 connects some of the pins, it wouldn’t work when I tested it. No problem though, it just meant that I had to get my faithful Dremel out and dremel away all PCB lines surrounding the switches.

Make sure you test it once it’s all been connected up, not just when you’re finished putting it back into your wall ;) At this point in time, make sure you have set the address codes to the correct modules.

As the whole package is larger than my backbox, I removed the bottom from a plastic backbox and used a hammer and old screwdriver to chisel away at the wall behind it. Once I had everything inside and made sure that it was still working, I discovered that the edges from the backbox were larger than the switch itself. Doh!

I took everything out again and carefully reduced the edging until it all fitted neatly underneath the switch.






For those who are worried about the batteries, they are no more difficult to replace than a normal BBSB switch. I would replace both at the same time though if you have to :)

The Mul-tea Charger

Who doesn’t have a multitude of devices, phones and other gadgets on their desks? I certainly have, and I finally had enough of all the chargers and wallwarts that each item seems to bring with them. With two iPhones almost constantly being charged, and a Nokia phone thrown in for good measure, I needed to have something flexible enough for those plus any future gadgets. So, I googled a bit, and found the IDAPT I3, and the beautiful, but ridiculously priced The Sanctuary. And then I started to think, how easy would it be to put a mains powered USB hub inside a box and have several USB charger leads coming out of the box, each charging a different device?




And the answer is, very easy :)

I started off with a 4 port powered USB hub, which I had lying in a drawer and plugged my iPhone charger leads into it, expecting them to instantly charge my two iPhones. But to my surpise, nothing happened… so another quick Google later, I came accross a blog entry of Carl Hutzler, which details why they won’t charge. All you have to do is sacrifice the hub and forego it’s PC functionality by cutting the D+/- lines and short them. A quick test shows they now finally charge themselves. Apparently it is better to stick 2x 100K Ohm resistors on the D+/- lines, which I will do at some point, but for now, this will do.

All I now had to do was find a suitable SWMBO friendly container, and as our furniture is all beech, the tea storage container I found for £1.99 at QD stores was perfect. I just needed to gut the compartiments out and put something on top of the plastic lid. At my local crafts store I found a small foam pad for 50p which was nice and soft. Unfortunately I got my measurements all wrong, so I messed up the black pad, but SWMBO came to the rescue by rummaging through my kids crafts drawers by digging up a piece of brown padding.

The final thing to do is then drill some holes at the locations convenient for your devices, and put it all together. Job done!





The secret of comedy is

… timing.

Happy 12:34:56 07/08/09 :D

Tags: ,

categories blog

An Apple a day

It’s been 4 long years since I last bought an Apple. But today I took delivery of a nice shiny Macbook Unibody \o/

Glad to be back again

Update 11.06.2009

Just typical… 11 days after I received mine, Apple announces the new 13″ Macbook Pro’s at the Worldwide Developers Conference… I phone the Apple Store the next day to see if I can exchange it for one only to be told that I would have to return and re-order. So I did. Only to receive a new Macbook Pro today on my old order, whilst my new order is now in ‘Prepared for Shipping’, which means I can’t cancel it!

Guess I’ll be keeping the courier in business this month ;)

The Eee PC Digital Picture Frame

I just can’t help myself. It all started way back in 2002 with The Swedish Chef, followed in 2005 by the (still) popular Project Bling: the desire to create the ultimate digital picture frame.

So here it is, the third (and hopefully last) instalment: The Eee PC Digital Picture Frame aka The Eee PF.

I’ve divided it up in four sections, for easy digesting ;) All pictures can be enlarged, and the complete set of pictures can be found in the gallery.

Part 1: Disassembling the Eee PC
Part 2: Mounting the LCD
Part 3: Building the frame
Part 4: Finishing touches




Part 1: Disassembling the Eee PC

It starts off with an Asus Eee PC 701 2G, which is perfectly small, yet cheap enough to destroy in the name of science.

Asus Eee PC 701 2G

Push the three tabs at the top of the keyboard in and lift the keyboard up to reveal the keyboard connector at the bottom of the keyboard. Using a small flat screwdriver, push the two locks open and remove the keyboard completely. Next to the keyboard connector is the touchpad connector which should be disconnected as well.

With the keyboard removed, the bottom half of the case is next. Remove the nine screws as indicated in the pictures. Turn the Eee PC over and remove the six remaining screws. For good measure, also remove the battery by sliding the two latches outwards, and slide the battery out. Flip the Mini over again and open the lid again. Using a plastic wedge (or your finger nails if you have them), pry the case open using some gentle force along the sides. Be patient at this point as the plastic latches inside the case, are fragile and will snap if you exercise too much force.

Now we just need to remove the motherboard. Disconnect the speaker and display connectors. There are two latches holding it in place, located at the bottom edge of the PCB. Lift the motherboard up at the right hand side and then pull it out up and sideways.

Time to separate the LCD from the bezel. Six screws are hidden underneath the plastic covers which are stickied in place. Use a plastic wedge along the side of the bezel but be very careful, it is very fragile. Take your time and be gentle. Just four screws and four sticky metal tape strips to remove before you can lift the LCD clean out.

Voilà, the Eee PC naked! Now we are ready for some serious modding ;)

The Eee PC dissected
 

Part 2: Mounting the LCD

Whatever you do, make sure you buy a frame and mount which have a high WAF since it needs to live in the living room. You don’t want to find yourself building something like this and then SWMBO tossing it in the bin because is clashes with the design ;) Take the mount and measure the dimensions of the LCD and frame and carefully cut it to size. As usual; measure twice, cut once :)

The LCD driver board sits neatly underneath the LCD, but when you mount the display into the frame, it doesn’t fit. Cutting away a bit of the frame allows it to be sunken into it and sit flush with the frame. Some double sided tape holds the mount in place.

On to the motherboard. This needs to be mounted with enough clearance above the LCD so that heat can escape and to do this I made my own spacers using normal motherboard spacers which I had plenty of from my PC building days. The screw holes on the Eee PC are tiny, so cut away at the top of the spacers to make them small enough to fit. Looks rather neat, eh?

The Eee PC mounted
 

Part 3: Building the frame

Before we create the frame, we need to think about an alternative heat sink. Normally, the bottom of the keyboard would dissipate the heat, so after doing some testing, I settled on an Akasa Southbridge cooler and some tiny Maplin heat sinks. Tests showed that the temps remained nicely around the 50ºC mark, which will rise to about 65ºC once the back cover will be on. Well within the limits :)

Using some 4mm Pine Stripwood cut to length, mark out all the ports and crevices that need to be carefully removed from the frame to allow access once everything is closed up again.

Here’s a quick mock up of how it all will fit together once we’ve painted the frame and glued it to the photo frame’s back.

The Eee PC framed

Because the power switch would be covered up when the back is glued on, we need to move the switch’s function to somewhere more convenient. Reading this blog post over at Infinity Squared on an external power switch, I decided to go for the smallest I could find at Maplin. My soldering is definitely not the best, so a bit of heat shrink camouflages most of it ;)

I also wanted to have some sort of visual indication that the frame is on or off (other than the tell-tale display ;)). But how to get the minuscule surface mounted LEDs displayed through the frame? I had seen something previously, where light was transported using a small transparent acrylic tube. And when I was killing some time wandering around my local Tesco, I found my 48p answer… translucent golf markers! Remove the heads, drill a few holes and Bob is a relative.

Almost there. Using some left over black paint, paint all the sides and make sure that once assembled, all the small blemishes are hidden. Well, most of them ;)

Ready for assembly! Some glue, some patience and some skilful balancing of weighty items on top of the corners and all that is left to do is add the back cover.

The Eee PF framed and painted
 

Part 4: Finishing touches

A sheet of hardboard has been cut to be the approximate size and then using patience and lots of sanding made to fit exactly. The space at the bottom of the frame is perfect for the speakers, so using a small drill, create lots of small holes where the sound can penetrate through. It won’t be high fidelity, but it’s good enough for announcements. At the top of the frame, the microphone has been mounted, so we may be able to support voice commands in the future! A quick lick of paint finishes it off.

We’re re-using the stand from the picture frame, but instead of hammering it in the backboard, we have to glue it. I’ve used Araldite, which should create a long lasting strong bond.

And that is it! I’m quite pleased with the result, and even SWMBO commented on how nicely it looks in the living room… result!

The Eee PF finished

As a final note, I haven’t mentioned at all what software the frame is running, so before you bombard me with questions, I better list them here ;)




The OS is a standard Ubuntu 8.10 Desktop, with /usr compressed with squashfs/unionfs so it can fit on the 2GB SSD. After booting, it starts Firefox on my homepage, a PHP/Ajax/MySQL slideshow script which displays the pictures, weather and clock. The mousepointer is hidden using a small utility called Unclutter and the display is automatically switched off at night using sudo vbetool dpms off and switched on again in the morning using sudo vbetool dpms on. It’s still all a bit rough round the edges, but for now it works :)

April foolish

Walked out of the door this morning and switched on the iPhone only to be greeted by the tune of April Fool by Soul Asylum. How appropriate!

Tags:

categories blog

Current Cost Classic vs CC128

Back in November I bought (well, actually I signed up to a new deal with E.ON which included one) a Current Cost electricity monitor, and hooked it up to my server so I could gather the stats for Cacti. I do this by running a small perl script which looks as follows:

#!/usr/bin/perl
# /usr/local/bin/cc-classic.pl
 
use Device::SerialPort qw( :PARAM :STAT 0.07 );
 
$port = "/dev/currentcost";
 
$ob = Device::SerialPort->new($port)
      or die "Can not open port $port\n";
$ob->baudrate(9600);
$ob->write_settings;
$ob->close;
 
open(SERIAL, "+>$port");
while ($line = <SERIAL>)
{
  if ($line =~ m!<ch1><watts>0*(\d+)</watts></ch1>.*<tmpr>\s*(-*[\d.]+)</tmpr>!)
  {
     $watts = $1;
     $temperature = $2;
     print "watts:$watts temp:$temperature";
     last;
  }
}
close(SERIAL);

This would give me the two values I am interested in; watts and temperature (since it sits in the garage node 0 ;)) in Cacti’s format:

$ /usr/local/bin/cc-classic.pl
watts:761 temp:11.3

But today, I received my new unit, a Current Cost CC128. It’s main benefit is that it supports individual appliance monitors, which makes the output even more useful. So, armed with a draft copy of the CC128 XML output document, I prepared my script to read as follows:

#!/usr/bin/perl
# /usr/local/bin/cc-cc128.pl
 
use Device::SerialPort qw( :PARAM :STAT 0.07 );
 
$port = "/dev/currentcost";
 
$ob = Device::SerialPort->new($port)
      or die "Can not open port $port\n";
$ob->baudrate(57600);
$ob->write_settings;
$ob->close;
 
open(SERIAL, "+>$port");
while ($line = <SERIAL>)
{
  if ($line =~ m!<tmpr>\s*(-*[\d.]+)</tmpr>.*<ch1><watts>0*(\d+)</watts></ch1>!)
  {
     $watts = $2;
     $temperature = $1;
     print "watts:$watts temp:$temperature";
     last;
  }
}
close(SERIAL);

And guess what… that works just fine ;)

For those who read diff:

$ diff /usr/local/bin/cc-classic.pl /usr/local/bin/cc-cc128.pl 
2c2
< # /usr/local/bin/cc-classic.pl
---
> # /usr/local/bin/cc-cc128.pl
10c10
< $ob->baudrate(9600);
---
> $ob->baudrate(57600);
17c17
<   if ($line =~ m!<ch1><watts>0*(\d+)</watts></ch1>.*<tmpr>\s*(-*[\d.]+)</tmpr>!)
---
>   if ($line =~ m!<tmpr>\s*(-*[\d.]+)</tmpr>.*<ch1><watts>0*(\d+)</watts></ch1>!)
19,20c19,20
<      $watts = $1;
<      $temperature = $2;
---
>      $watts = $2;
>      $temperature = $1;

Please note, the above only works with 1 sensor (the main transmitter), so it is likely to change in the future. For now it suits my need.

Modding the Dell Mini 9 – Part 2

I wasn’t planning on revisiting my Mini mods yet, but when someone offered (and I happened to be looking) an upgrade to a 32GB RunCore SSD, I could not pass on the occasion. The only problem was that it rendered my SSD activity light useless as the RunCore does not carry the same signal on the pin that the STEC drive uses.

Thankfully all the hard work figuring out where the negative side of the SSD light had to connect to was done once more by UnaClocker on the MyDellMini forums, so all I had to do was find a quiet Saturday and warm up the soldering iron.

We begin by undoing the work we did on the STEC. Heat up the pin on the SSD and remove the black wire. We will need to connect that to the RunCore drive.

As said, UnaClocker found out that the signal we need is present on a small resistor, which although tiny, isn’t the worst place in the world to solder on. Just fold back the sticker to reveal it. If you enlarge the 2nd picture, you will see which one it is. Use the tiniest amount of solder and attach the black wire to the resistor.

Fold back the sticker, put the SSD back into it’s slot and boot it up. Blue LED goodness once again!





Serial killers?

Ever since I added the Current Cost to my Ubuntu server, I was running into the problem that upon booting up, the order of my two (one for the Current Cost unit, and one for an APC SmartUPS) Prolific PL2303 serial ports changed. Each boot, the actual device hanging of the /dev/ttyUSB* nodes would be a complete random choice. And that is not good :(

So I investigated writing some udev rules for them, but unfortunately, the PL2303’s are completely identical to the server, except that their position on the USB host would change. And although I tried to find out a consistent way of determining the correct udev rule, I miserably failed. The only way I was able to find out which device was which, was to issue a

$ cat /dev/ttyUSB0

and waiting if some output would appear on the terminal. The Current Cost unit spits out its data every 6 seconds, so if something showed up, that would be the right one to pick for the cacti data source. The UPS would not show anything at all using the above command.

Reading a bit further on udev rules I noticed that you can also use external programs to name devices. This got me thinking. I would need a small program that would listen on the /dev/ttyUSB* node and timeout if nothing was received within a reasonable time.

Let’s start off with the udev rule that invokes the script:

# /etc/udev/rules.d/60-local.rules
# Determine APC UPS and Current Cost USB ports
KERNEL=="ttyUSB*", \
    ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", \
    PROGRAM="/usr/local/bin/usb-dev-test.pl %k", \
    SYMLINK+="%c"

The %k parameter will be ttyUSB0, ttyUSB1, etc, and the script usb-dev-test.pl should output a single word, which will be substituted by udev in the %c parameter. With the help of Device::SerialPort it becomes trivial ;)

#!/usr/bin/perl
# /usr/local/bin/usb-dev-test.pl
 
use Device::SerialPort qw( :PARAM :STAT 0.07 );
 
my $argument = $ARGV[$0];
my $port=Device::SerialPort->new("/dev/$argument");
my $STALL_DEFAULT=8; # how many seconds to wait for new input
my $timeout=$STALL_DEFAULT;
 
$port->read_char_time(0);     # don't wait for each character
$port->read_const_time(1000); # 1 second per unfulfilled "read" call
 
my $chars=0;
my $buffer="";
while ($timeout>0) {
  my ($count,$saw)=$port->read(255); # will read _up to_ 255 chars
  if ($count > 0) {
    $chars+=$count;
    $buffer.=$saw;
 
    # Check here to see if what we want is in the $buffer
    # say "last" if we find it
    last;
  }
  else {
    $timeout--;
  }
}
 
if ($timeout==0) {
  print "apcups";
}
else {
  print "currentcost";
}

And look at the result… Magic!

$ ls -la /dev/ttyUSB* /dev/currentcost /dev/apcups
lrwxrwxrwx 1 root root         7 Jan 26 13:10 /dev/apcups -> ttyUSB0
lrwxrwxrwx 1 root root         7 Jan 26 13:10 /dev/currentcost -> ttyUSB1
crw-rw-rw- 1 root dialout 188, 0 Jan 26 14:09 /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 Jan 26 11:54 /dev/ttyUSB1

Lies, damned lies, and statistics

I’ve been using a 1 wire network for quite some time now, but when I deleted a directory to much on my server, I lost a lot of the stats that I had gathered. A couple of weeks ago I finally got my behind in gear again and rebuild my network, this time making sure it all gets backed up ;)

One day I’ll write something about how it’s all been done, but for now you’ll have to suffice with some pretty graphs.

Here’s the daily graph for the temperatures in our bedrooms for the past 24 hours:

Daily temperatures Bedrooms

And recently I added a Current Cost meter to my network, which gives me the shocking facts about my electricity usage for the past 24 hours:

Daily electricy usage

The above graphs are updated hourly, and I’ve got other graphs too, extending the period of graphing. You can find them here for the time being.

Update 25.1.2009

And now you’re able to follow the stats on twitter: http://twitter.com/awoogadotnl

Modding the Dell Mini 9

Dell Mini 9

For Christmas this year I received a Dell Mini 9, which is one of the most flexible netbooks around. Searching around on the internet quickly revealed an incredible source of information posted on the forums over at My Dell Mini. As I was looking for a new modding project, the Mini 9 seemed perfect.



First an important message

The information below has all been taken from the My Dell Mini forums, especially the SSD activity LED mod by UnaClocker. I have merely adapted it to suit my own needs. As with all things involving voiding your warranty, I will not (and can not) take any responsibility for any problems that you have trying to do the same. You break it, you pay for it (and if you read on, so do I :))

 

Right, that’s out of the way, let’s get to it! Here’s a quick overview of the things that I have done to my Mini.

Part 1: Disassembling the Mini 9
Part 2: Disassembling an USB hub
Part 3: Disassembling an USB flash drive
Part 4: Putting it all together
 

Part 1: Disassembling the Mini 9

Dell publishes a great online manual which details how to disassemble your precious Mini 9. I used their guide and documented it all on one page. All pictures can be enlarged by clicking on them for additional detail.

I used a selection of tools, but one that I would specifically like to recommend is the plastic wedge. This allows you to pry open the case without damaging it. I got mine when I bought a Brodit phone mount, but I’m sure Ebay will have a selection of these too.

Switch the Mini off if you haven’t already, and turn it over. I placed an old tea towel underneath it to prevent scratches to the mirror finish lid. First we need to remove the battery. On either side of the battery is a latch, which when pushed outwards, allows for the battery to be slide out.

The module cover is next. Two Phillips screws hold it in place and then using your nails, or the wedge tool, lift it up. It may require some force as it is held further into place by small plastic tabs.

With the module cover removed, you have access to the memory, SSD, WLAN card, and if you are lucky/ticked the WWAN option, a WWAN card. As you can see, I have already upgraded my memory to a 2GB SODIMM. To remove the memory, gently push away the latches on either side of the memory, until the module is tilted up. Then just pull it out.

The SSD is held down by two screws. Just unscrew them, and slide the SSD out of its socket.

Remove the two antenna wires from the WLAN card by gently (really gently) pulling them out from the sockets and undo the two screws. Just pull the card out and place it to one side.

My Mini doesn’t come with a WWAN card, so that leaves a nice empty space where we will stuff the USB hub and flash drive. More on that in the last part.

To make life as easy as possible, we need to have access to both sides of the mainboard, so the next item that need to be removed is the keyboard. Locate the two screws marked with a K and undo them. Turn the Mini over again (right side up), open the lid, and lift it up slightly to reveal the keyboard connector at the bottom of the keyboard. Using a small flat screwdriver, push the two locks open and remove the keyboard completely.

With the keyboard removed, the palmrest is next. Place the Mini again on it’s lid and remove the nine screws as indicated in the pictures. Two of them are below some rubber studs, which can be lifted out using a flat screwdriver. They have a sticky bit underneath, so they require a bit of an push to get over the initial resistance.

Flip the Mini over and open the lid again. Remove the seven screws. Disconnect the bluetooth, touchpad and power button connectors and then, using the plastic wedge, pry the case open using some gentle force along the sides. Be patient at this point as the plastic latches inside the case, are fragile and will snap if you exercise too much force.

Now we just need to remove the mainboard. There are two screws to undo, followed by a number of connectors. First route the WLAN antenna wires through the hole in the mainboard and disconnect the speaker connector just below it. Then disconnect the microphone, the two power connectors and the display connector.

Lift the mainboard up at the left side and then pull it out sideways.

That’s it! You’ve successfully made your first step on to the void your warranty ladder :D
 

Part 2: Disassembling an USB hub

Following a recommendation on the My Dell Mini forums for a small USB hub, I found the so called “Octopus” hub to be small enough to fit inside the WWAN space, leaving enough space for additional USB devices. I bought one on Ebay from a seller called 2008_topseller for £3.60 and had to wait about 2 weeks before it arrived. Plan your mods in advance ;)

Remove the plastic cover and it reveals the tiny PCB that will fit neatly in the WWAN slot later. Using a soldering iron remove all the existing wiring and (although not shown in these pictures), move the ceramic resonator from the bottom to the top (take note in which direction it needs to be on). Also make a note what wiring is which pin on the PCB. Fortunately the wiring follows the USB standard, which is Red/White/Green/Black.

Once done, put some electrical tape underneath the PCB to make sure that at no point that side is able to short on the mainboard. I also put a piece of double sided foam tape on it so it will remain in place once put inside the Mini.
 

Part 3: Disassembling an USB flashdrive

I bought a 16GB PNY Attache Premium USB Flash drive from Play.com, as it looked in the pictures small enough once all the plastics were removed and at £16.99 it was cheap enough.

But then things started to go wrong for me. Applying a bit too much force on the USB connector whilst trying to heat up the connector legs up, caused the copper pads to be removed completely from the PCB. Doh!

If anyone has an idea what I can do with it now (other than to bin it), use the contact form :)
 

Part 4: Putting it all together

Fire up the soldering iron, the time to kiss that warranty goodbye has come!

In order to add the SSD activity light, we need to tap into pin 52 on the standard STEC SSD. This is where having a spec sheet from the manufacturer comes in handy. Please note that this mod only works on the STEC SSD’s (as supplied standard by Dell), not any other brand. Pin 52 is marked as “-DSAP” with description “In the True IDE Mode, this input/output is the Disk Active/Slave Present signal in the Master/Slave handshake protocol”. To you and me that translates as disk activity :)

The SSD LED will then be located next to the battery surface mounted LED as shown in the picture.

The LED will also require a +3.3V source, which you can find on pad 52 of the WWAN connector.

In order to add the USB hub, we need to use the WWAN connector which carries the required Data+ (pad 38) and Data- (pad 36) signals. For completeness I also added +5V (found in the copper track that runs through the “L”) and ground (using a screw hole) from underneath the WLAN card.

Now comes the scary bit. Scrape, using a tip of a knife, a small area of the PCB coating (that Blue/Green layer you see) to reveal the copper track underneath. Then using a small dab of solder, attach the Red and Black wires. Protect the wires from stress by sticking some electrical insulated tape on top of it. Using an even smaller amount of solder, attach the White and Green wires to the WWAN pads, making sure the pads do not touch each other. If you can’t manage first time around, heat the pads up and remove the wiring again. Then retry it.

Just two more wires to go. As pin 52 on the SSD connector is miniscule, it is better to solder the Black wire onto the SSD directly. Make sure the wire is as flat and small as possible, and then use the tiniest amount of solder to attach it. Double check that you haven’t connected two pins together. The Red wire needs to be attached to the WWAN connector again on pad 52. By now, this should be easy ;)

Before we continue putting the hub and LED in place, fire up the mini (assembling just enough to get it to boot) to make sure it is still working. If it doesn’t, revisit your soldering and double check they are done properly.

Put the USB hub in it’s place and cut the USB wires to measure. Maintain a small amount of extra length, in case you need to move it around later. Solder the wires back to the USB hub in the correct order, and test the Mini again. It works!

Almost there now. Route the remaining Red and Black wires towards the battery LED and cut them to length. Solder a new LED and a resistor to the wires and test it is working. If it isn’t, then swap the legs of the LED around and try again as LEDs only work one way. You have to use a resistor suitable for the LED too. I used a 3000mcd “Tru-Colour” Blue LED with a forward voltage of 3-3.2V and a 100 ohm resistor. It doesn’t matter on which side of the LED the resistor goes, as long as it is there.

Unfortunately, when it came to assembling everything, I discovered that the way I have mounted the LED did not allow the case to be closed properly. I mounted it therefore slightly different, but I forgot to take pictures of it. I’m sure I will open up the case in the future and then I’ll update this page with the new pictures. In the pictures below it shows the LED in action when the SSD is being accessed, when the battery runs low, and when they both light up. Neat!






Finally, take a last look at the mods, before we close the module cover and call it a day ;)

Update 7.2.2009

I’ve upgraded to a 32GB RunCore SSD, so I have done the LED mod again. Have a look at this post for details

Server moved

Just a quick message to say that I’ve had to move servers (still with the same host), so if you discover some problems, drop me a message please :)

It’s back… somewhere

And only £2,795 more than I part-exchanged it for. It be interesting to see how long it takes for it to sell at this price, cos when I advertised it for £3,500 I got zilch response…

I also note that the mileage has decreased to 57,000 miles. I am pretty sure it was about 350 miles short of 60,000 when I handed over the keys. Oh, and the full service history is a lie too. It hasn’t seen a service since September 2007. Make of it what you will, but I think someone is a bit liberal with the truth ;)

Update 18.12.2008

I casually checked their website again and it is gone :O Whoever bought it, good luck!

Bargain barge

Vauxhall Signum

Make my Christmas, buy my car :)

Update 21.11.2008

We got a great deal at Palmers Citroen in Watford on a p/x against a new car, so you’ll have to find another Signum to indulge in… this one has gone!

Conky

It’s been a while since I’ve done some nerdy stuff, so when Ubuntu 8.10 (also known as Intrepid Ibex) was released last week I installed Conky, the light-weight system monitor as well and had a play with the various configurations spread around on the internet. The beauty (which is also its problem) is that Conky is so configurable that you can tweak for days and days :D

Anyway, here’s the compulsory screen shot and configuration files.

Ubuntu 8.10 and Conky

Take the zip file and unzip it in your home directory. It should create a directory ~/conky, which contains three files:

startconky.sh – script to start Conky after a 20 second delay to alllow the Compiz window manager to finish its stuff, before Conky puts its pseudo transparent window on top of it.
myip.sh – script to retrieve your public IP address.
main – the Conky configuration file.

Add the startconky.sh script to your Startup Programs (System->Preferences->Sessions) and the next time you boot… Conky goodness! ;)

Say Tweet! Say What?!?!

Reading downloadsquad last week, I came across a new Twitter based service, called SayTweet. It immediately caught my imagination and since the US elections are now going into full swing (it’s got nothing to do with me, I can’t even vote here in the UK, even though I pay my taxes and everything), I thought I do one myself :)


Spam, spam, bacon and ham

I’m doing a little experimenting at the moment and I need some help. I need spam. Why? Well, that will be revealed in time, but for now, all you need to do is send your spam (leaving the subject line in tact, this is essential!) to spammers@uijldert.org

Thanks!

Update 26.7.2008

I’ve updated a bit in my script on the receiving side, so that subjects are stripped from their Fwd: (as mail forwarded from Google Mail) tag. This should make it a bit easier to send me the spam… lot’s of it, please :)

Tags: ,

categories blog

iBlog by iPhone

Two weeks into my iPhone ownership, I am still adapting to a new way of online life. Today they released the WordPress plugin in the App Store, something I was very keen on trying out myself… So here it is, my first entry written on the tiny keyboard of my 3G :)

WordPress on the iPhone

Officially sad… or officially geek?!?

A bit of a last minute decider, but last night I (jokingly) told my wife that I quite fancy queuing up for the new iPhone 3G. To my surprise she turns around and says, why don’t you? So I did :D

At 6am I was first to arrive at my local Carphone Warehouse (the O2 store was closed for a refit, talk about well planned), but I was too embarrassed to stand next to the door, so I sat down on some benches nearby reading a book, keeping a close eye at the shop. At 6.15am person number 2 arrived, and he felt less uncomfortable, so I then sheepishly joined the queue as number 2, promoting him to be number 1. Ah well, as long as they have at least 2 boxes, I will get one ;)

Carphone Warehouse at 6am

As time passed, more people joined the queue, and by the time the store opened at 8.02am (not sure if it was on the dot or not, but it must have been close to it), a queue of at least 16 people had formed. A member of staff came round and asked us what model we wanted and I overheard him say that there had been only 2 16GB versions… exactly the ones number 1 and 2 (me ;)) were after! Thank god I didn’t have a lie in today \o/

The whole buying process was relatively straightforward and normal, and I was out the shop at 8.15am… carrying a nice bag containing one 16GB iPhone 3G. If only this working day didn’t last so damn long ;)

Fckd off?!?

Then get yourself the domain name to go with it ;)

Ebay auction for FCKD.net

Node Zero 33 1/3 – The Final Install

Node Zero… Every respectable technology enthusiast has one, and so do I. It started all the way back in 2001 when I came across The Automated Home website and it’s associated mailing list. I knew nothing about home automation, audio distribution, video sharing, etc but was keen to learn and introduce at home (often with great resistance from SWMBO ;)).

Node Zero 2002So I build my first node zero to accommodate some of my servers in the garage and distributed the network from there into the living room. Due to the fortunate location of the garage being adjacent to the living room it is the ideal place to put stuff without worrying about the illusive WAF :)
You can’t really call the cupboard a node zero though, but if you closed the doors, at least it hid the cat5 wiring from the switch and modem it housed.

Node Zero 2004Flash forward to 2004 and with an ever increasing gadget count it was time to upgrade node zero. My dad is blessed with the carpentry gene and so with my instructions he set off to partition the garage in two parts where I reserved myself a shelf for the 2nd incarnation of my node zero. On the shelf my two TiVo’s and their satellite receivers were placed, followed soon by a Xbox Media Center, a scart switch and a Kat5 transmitter. The result: spaghetti junction all over again :(

So with an increasing demand on convenience and accessibility, I had to make amends. Bring on 2008 where my dad performs yet another masterpiece and creates a purpose build rack for me. The rack houses all my stuff, and with some space left at the bottom I even have room left for more toys! :D

Node Zero 2008

Find some more pictures in the gallery

RecyBling

I am a firm believer in recycling and am of course signed up to my local Freecycle group. Anything to good to throw away ends up there, but for one item I’ll make an exception… Project Bling! I’m still getting loads of visitors on that page, so someone out there can save himself a bit of work by getting the real deal. Just contact me and for the price of shipping it can be yours!

Update 19.5.2008

I’m sorry, but you are too late. The frame has been recycled

Out with the old, in with the new!

Vauxhall Signum 3.2V6 EliteThanks to Lewis at Motoworld Ltd (who made us an p/x offer we couldn’t refuse), we are now the proud owners of another green family fun bus.

Vauxhall Signum 3.2V6 EliteIt’s a Vauxhall Signum 3.2V6 Elite in Bamboo Green with full black leather, cruise control, climate control and memory seats! Or in the words of Jeremy Clarkson, a dadsie car ;)

See some more pictures in the gallery

Carbon footprint

Woohoo! Today I have halved my carbon footprint… The Octavia has been sold!

Buy me too :)

Renault Espace

See the ad on Pistonheads or eBay

Limit R.I.P. 1989 – 2008

Limit

We will miss you lots!

Tags: ,

categories blog

Ear canal buds… You what?!?

Why would anyone in their right mind buy a set of these? I thought I treat myself to a bit of music on the way into work this morning using my Sony Ericsson W880i and so I used (for the first time) the accompanying in-ear canal buds that came with it. What a disaster! These things kept tickling inside my ear and made me want to cough all the time. I’ll have to find myself a pair of ‘normal’ ear phones…

No more www

Following a link in the WordPress Dashboard, I stumbled upon the No WWW website, which explains why we should all drop the prefix www. on domain names. As I had a mixture of both, I went through all my posts/pages and updated them to reflect that philosophy. If you come across something that stopped working, I would very much appreciate that you contact me and tell me about it.

An ode to the left lane

My new job is so local that I can almost see the office from my bedroom window. Commuting to work will consist of a 5 minute walk (and 10 minutes to recuperate ;)), instead of driving 65 miles each morning (and evening of course). One thing I will definitely not miss… the middle lane morons.

Middle lane f*cking morons

They really make my blood boil, and make me wish I’d drove a big old uninsured Ford F150 with whopping big bull bars, just so I can shove them out of the way with force. Why is it so damn hard to move back into the left lane when you’ve overtaken the car in front of you?

Left lane, I salute you!

The sun always shines on TV

After a month of agonising waiting I can finally reveal…

I’ve got a new job! Woohoo!

Dilbert

Tags: ,

categories blog

Revamp

A change for the better? I think so :)

Mr Popular

And then to think I never had any friends at school ;)

Seems that some MAKE users have finally found my website, and in the space of three weeks have discovered my old TiVo project (as reported on MAKE: Blog) and the digital picture frame laptop (as reported on MAKE: Blog). Won’t be long before they discover the Xbox IR mod too and break my bandwidth limit for this month :D

Buy me :)

Pride and joy

See the ad on PistonHeads or eBay

Aaargghhh, the tension!

There’s only so much a person can take, and I think I can take no more…

Tags: ,

categories blog

BRISKODA Czech Trek 2007

So we drove all the way to the Czech Republic just to go to a museum? You bet we did! :D

Wednesday, 12th of September

Meeting up at Dover01:00 Nick and I started our journey, which saw us meet up at the Dover terminal around midnight. A slight delay with the previous ferry meant that we couldn’t join the queue until later, but at least ours would be going on time.

On the ferry09:00 Here we go! The journey has finally begun, and we were looking forward to a day of driving… Once off the ferry, it was a fairly straightforward journey to the Dutch/German border where we met up with Glenn and Mark. We still don’t understand how some got lost on the route :D

Arrived at the Czech border16:00 Another couple of hours later, and with Nick and I sharing the driving (or should that say, tearing down) on the German Autobahns our progress was good… so good in fact, we thought we would be the first to arrive at the German/Czech border. You can imagine our surprise when we arrived to find Will and his little yellow Fabia parked up already!

18:00 We finally made it to the hotel, and after dumping the bags into the hotel we went to find our “secure parking”. It seems that secure has a different meaning in the Czech dictionary, so we ended up having to park the cars in front of the hotel…

Thursday, 13th of September

The Old Town Square11:00 An early start (Nick snores as much as I do :D) today as we head into Prague to do some sightseeing. There is no avoiding the tourist attractions, so we act like them. We visit Charles Bridge, the Astronomical Clock and many, many touristy shops.

14:30 Later that afternoon we visited the Staropramen Brewery, which, tasting experience aside, was rather underwhelming. Oh well, at least we got some free beer ;)

Friday, 14th of September

Skoda Museum10:30 A short drive to Mladá Boleslav today as we are visiting the homeland… the Škoda Auto Museum. A great selection of previous models and their history, but I think most of us will remember it for one thing… our tour-guide ;)

After the Museum, we briefly (read: rushed) through the factory next door, and whilst we were waiting on our Czech SkodaHome friends (to guide us to Mimon airfield), we were greeted by a big-shot of Skoda who was wondering why there were 20 UK Skoda’s parked up :)

Mimon15:00 Finally, the much discussed, legendary, Mimon airfield… and boy was it good! A stretch of tarmac as wide as three expanded M1’s stitched together and about 2 miles long meant we were able to push the cars almost to their V-max. I managed to do a couple of runs hitting 150mph before a white Felicia bearing the words Policie told us to go away :( Nick had just pulled out to do his run, so he was properly gutted. We’ll have another go after Doksy though :)

21:30 The whole group went out for dinner at a restaurant. Although it seemed a great idea at the time, it turned out to be a bit of a disaster. They totally couldn’t cope with 40+ rowdy customers and although the alcohol was served pretty quick, the food lagged behind :(

Saturday, 15th of September

Doksy10:00 Welcome to Doksy, home of the tuned Skoda. It was reassuring to see that they’ve got barry boys too ;) Although I do quite like the rally oriented older models, restored to their previous glory.

14:00 We’ve joined a convoy of about 100 Skoda’s to drive a small (!) route and scare the locals… Loz has quite a pretty voice ;)

Mimon group picture15:30 More Mimon action! This time without any interference of the local constabulary, and with plenty of runs for everyone.

Sunday, 16th of September

Jewish quarter11:00 Time does fly when you’re having fun… it’s the last day already! Steve, Hayley, Nick and I decided to team up and visit Prague again, although it wasn’t for long until Nick and I got bored of waiting for Hayley and her crystal addiction ;) so we split up and whilst they continued shopping, we went to look for the Jewish quarter.

In the evening we swapped the Italian for the Chinese and had a food-feast for peanuts. I could easily live here ;)

Monday, 17th of September

Traffic07:30 Back home again :( The journey went smooth, although traffic around Frankfurt and Brussels was appalling, so we didn’t make an earlier ferry (for which we initially would have arrived in time for).

20:01 On the ferry we heared that Chris had been stopped for speeding in Germany, receiving a €400 fine. Ouch! Those who took a small detour around the Nürburgring had to settle for the midnight ferry and by the time they arrived home, I was almost ready for work again :( Bring on next year!

Enjoy all the pictures in the gallery

Not long now

Only one day in fact :)

Czech Trek Route

The car is ready, the camera has been charged and the suitcase is (almost) packed… Bring it on!

Whoohoo!

Just received a call from APS… the car is ready! I’ll be picking it up tomorrow morning and with 5 working days left (about 600 miles of commuting miles) it gives me plenty of time to make sure it doesn’t fail on the way to the Czech Republic :)

I’d like to express my biggest gratitude ever to Nathan, Ed and Andy over at APS for sorting me out in such a short time with no notice at all.

Last straw

Having just received the quotes to get the gearbox replaced again, I’ve decided that once it has been repaired and has seen me through the Czech Trek, it will be up for sale. Owning a modified car is not without its pitfalls :(

Oh, and happy birthday to me ;)

Noooooooooo (repeat ad infinitum)

Can you flipping believe it? With less than 2 weeks until the trip to the Czech Republic the gearbox is broken again!

Czech it out

Only two weeks now, before we set off to the Czech Republic to visit the Škoda Museum and the Škoda Tuning show in Doksy. As there will be 20 cars going, I thought I’d make myself a bit more visible on the road ;)

Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek Stickered up for the Czech Trek

You can see the rest (and more) in the gallery

Edit R.I.P. 1989 – 2007

Edit

We will miss you lots!

Tags: ,

categories blog

Dell Ighted!

Just checked my card balance today, and I’ve just received a credit for £11.75 from Dell UK (in case you’re wondering why they would issue this, see this post for the reason). Will they add the 2nd refund later, or have they conveniently forgotten it? To be continued… ;)



Update 23.8.2007

Still no sign of that promised 2nd refund… A polite email is already heading their way :)

Update 4.9.2007

Finally! This morning (after chasing this for the past month) the 2nd £11.75 arrived on my credit card. About time too!

Red Bull Air Race

Red Bull Air Race visits London

I thought it was kind of odd to come across so many Seat Leon’s with Red Bull Air Race decals on them, but now I know why…

They’ve been practising for most of the afternoon, despite the appalling weather, and the sound of the plane engines going pfhooaaar, pfhnaaaar the whole time is really starting to get on my nerves. How am I supposed to concentrate on my work with such distractions?

Dell Icious!

Dell Dimension C521A few weeks back I bought a nice new Dell Dimension C521 baseunit (AMD X2 3600+, etc, etc) to replace my homebrew server with the intention of running several VM’s on it using Ubuntu as the operating system of choice. I’ve been using Ubuntu for quite a while now (deflecting from Gentoo as that proved a little more maintenance heavy than I was looking for) and so I had no intention what-so-ever to use the included Microsoft Windows Vista Home Basic installation that came with the PC. As there have been several successful reports in the media of people getting a refund for the forced Microsoft inclusion, I though it was worth a punt over here too.




I contacted Dell UK using the contact form on the website and wrote to them the following:

Hi,

I’ve just taken delivery of my Dimension C521 which came with a copy of the Microsoft Vista Basic operating system. As I will be using the Ubuntu linux operating system, I have not agreed to the Microsoft EULA and installed Ubuntu linux on the PC. Could you please forward me an address where I can send the Microsoft Vista Basic operating system CD to for a refund? Please note, I am not looking to return my PC, just the accompanying Microsoft operating system.

I hit the Submit button and the website told me to expect a reply within 24 hours…

So imagine my surprise that I received a reply within 4 hours from Dell:

Thank you for contacting Dell on-line customer care.

Please be informed that you need not return the CD and I will arrange for the refund of £10, which is the cost of the CD.

I will call you on 27th July with an update regarding the same. If you have any further queries do not hesitate in responding directly to this mail and I will be glad to assist you further.

Woohoo! Result!

Of course, by now I had realised that I had forgotten to mention the Microsoft Works 8.5 CD that came with the order, so I replied with:

Thank you very much for the quick reply. Is it also possible to receive a refund for the Microsoft Works 8.5 CD that came with my PC? Again, I am quite happy to return the CD unopened to you if you forward me an address to send it to.

Nothing ventured, nothing gained ;)

Sure enough, within 30 minutes another reply arrived:

Further to your email, Iam also arranging for the refund of £10 for the works CD. I will call you on 27th with an update regarding the refund.

Please be informed that you need not return the CD. If you have any further queries do not hesitate in responding directly to this mail and I will be glad to assist you further.





How easy was that? It is comforting to know that true customer care still exists, although it would have been a whole lot easier if Dell UK just provided a tick box on their website to decline the operating system when ordering.

The last of the Cannonballs?

Cannonball Run Europe 2007Could today’s start of the Cannonball Run Europe be the last one to be held in the UK? It has almost certainly been toned down after the Gumball 3000 was terminated earlier this year after 2 people died in Macedonia. No stickers, no burnouts and pretty much no exotic cars apart from a few. I’m not sure if we’re going to bother to find out when next years event is going to be.

See for yourself in the gallery

Packed up and left

Yup, it’s another one of those I have moved posts… Will I ever find myself a permanent home?

Tags: ,

categories blog

Driving god

Well not quite, but I’m getting there ;)

taking a break

See the pictures in the gallery

DS Automotives

Just wanted to say: THANKS! Despite the attempts of Royal Mail to sabotage my cars clutch fitting, they persevered and got it ready with plenty of time to spare for the trackday. Go visit them and buy something expensive

Geared up

After two weeks I have to admit defeat and give up my quest for a 6 speed gearbox to replace the broken 5 speed. Once again Dave comes to the rescue by offering his old 5 speed and Sachs clutch for a friendly price, so tomorrow the car will be towed/pushed/driven to DS Automotives where they are going to do the work. Also asked them to replace the front brake pads as one of them is bordering dangerous. At least I’m now going to be ready in time for the trackday

FIA GT series

Silverstone was home to the FIA GT series this weekend, and we were there to witness it all. Although the weather wasn’t particularly spectacular, it was dry and I still managed to walk away a lobster.

I tried for ages to get one of the fire spitting Lamborghini’s on my D50, but my photographing skills are none existing, so I settled for this Aston Martin instead ;)

Aston Martin

You can view the other 298 pictures in the gallery

Cooked

KaputOh deary me. Yesterday was just an ordinary day, but the ending was far from it. I set off for home, driving as normal (like a granny ;)) and once on the M11 I started to shift up through the gears until I had to change from 4th to 5th. Except that my gear stick was not to be persuaded to move out of number 4… at all :(

KaputI managed to get all the way up to J20 on the M25 in 4th gear, but getting onto the A41 turned to be impossible without stopping. Fortunately I was able to get going from standstill (in 4th!) but halfway up the A41, I got stuck uphill in a traffic jam which meant I had to admit defeat until the traffic cleared. I could not afford to stop too many times along the way.

After an hour or so I went on my way again and this time I made it home (eventually) with only 1 long stop at the bottom of the A41. By the time I had reached home, the clutch was completely burned out. Smells lovely though… NOT!

Moving again

Just a quick note to say that the website is going to be wrapped up and moved again sometime in the next couple of weeks. Colin has ordered a brand spanking new server and tomorrow we’ll make the first steps towards the installation of it. I’m very tempted to ditch the whole Mambo, uhm Joomla installation and go for WordPress. I’m using WordPress on another site already, and it is slightly less difficult to maintain… or I may just leave it as it is. Can you tell I haven’t decided yet?

Adding infrared to the Xbox

Xbox XIR Easy KitThe original Xbox makes, after a great games console, a fantastic versatile media player with the help of Xbox Media Center, or XBMC. You will need to chip or softmod your Xbox (there are a million guides/opinions on the internet so do some Googling) and a copy of the XBMC application. To fully appreciate XBMC, you also need to buy the DVD playback kit which allows you to control the Xbox using a remote control. The only problem is that Microsoft in its infinite wisdom decided that it doesn’t need the facility to switch the Xbox on remotely. As we are a generation of couch potatoes that is obviously not on!




Various solutions have been invented, but by far the easiest and most elegant one is the XIR Easy Kit, available from www.XIR.us. At $35.65 (£18.68 at today’s rate) it also makes it a bit of a bargain, so there really is no reason to fiddle with anything else.

You can read the pictorial here

Booked

Just booked the Hullavington day with Motorsport Events. Let the countdown begin ;)

Hullavington

Not sure how you pronounce it, hell-of-a-tone, but it’s the venue of the next BRISKODA trackday. Friday the 1st of June we’ll hopefully have 30 or so Skoda’s tearing up the track and burn some rubber. It will also be the first opportunity for me to put the car on the track and see what she can do. A shame it isn’t Bruntingthorpe, but as that has been closed down by the residents on grounds of noise levels, it will have to do :)

Merry Christmas!

Snow

Only 2 months late ;)

We suffered the biggest snowfall in ages (granted, that doesn’t take much) and after spending 3 hours on the road to travel 12 miles I had to admit defeat and return home

Tags: , ,

categories blog

She’s here!

Skoda Octavia vRS Skoda Octavia vRS Skoda Octavia vRS

The secret is out

Skoda Octavia vRSWhat is a man to do if he doesn’t fit in the car of his dreams? Well, he pursues other options of course. So after the BMW Z3 M Coupe, I tried a Nissan 350Z and when that was just as bad as the Beemer I tried a Honda S2000 which was the worst of them all.

So I had a plan, a cunning plan… I would buy another Skoda Octavia vRS (with a little bit less mileage and a little bit younger than the one that has just left my house the week before) and then take it to Jabba Sport to have a bigger turbo fitted. The result? A big increase in power and enough space inside to fit my fat arse :)

When I inquired at one of my friends who has had an IHI conversion done, he mentioned that he had plans to sell his car, and if I were interested… Is Holland flat as a pancake?!?! Of course I was!

Check out the new gallery here

340bhp… But what is it?

Woohoo! I am happy as Larry as I’ve found my new car today. It is mind-blowing fast and corners like it is glued to the road. Am not going to reveal just yet what it is… Take a guess :)

Sold!

Stop the press, the Octavia has been sold!

Dream shattered

BMW Z3 M Coupe

I had a dream… until I went out and tried one on for size. If only they’d make the steering wheel reach and rake adjustable, and the seats drop further back and down it would have been my next car.

Oh well, back to the drawing board…

For sale: one careful owner

My pride and joyYup, you heard it here first, the Octavia is for sale. I would love to keep it forever and ever, but after three and a half years and 100,000 happy miles the time has come to move to something new. If you fancy a piece of motoring history (well, my motoring history ;)), then read more about it over at PistonHeads

The TiVo LCD Project

Flash of the past alert! It was way back in 2003 that I did a small modding project involving my favourite gadget of all time the TiVo and a small character LCD and created a mini How-To for it. I thought I lost the article forever when I accidentally deleted the web pages in one of my (many) server moves. Not so! A certain BobBlueUK knew his way around The Wayback Machine (unlike me) and digged up the original archived copy!

So in all its glory, here it is again :D




Ever wanted to find out what the TiVo is doing? Look no further :) On this page I will describe a way for you to display the program information on a small LCD display. It is only to be taken as a proof of concept, I’ll leave the actual mounting and cosmetics up to someone else.

Components

  1. A warranty voided TiVo
  2. A serial LCD. Mine is a 2×20 LCD pre-fitted with a BPK driver board from Milford Instruments, part number 6-121 @ £30.00
  3. A bit of cable with 3 wires (like cat5)
  4. A 3.5mm stereo jack plug with plastic barrel and strain relief sleeve from Maplin Electronics, part number HF98G @ £0.79
  5. A Futaba Servo Connector from Maplin Electronics, part number GZ94C @ £1.49
  6. 2x 4-Pin 5.08mm (0.2in.) Spacing Polarised Power Connectors (one male, one female) from Maplin Electronics, part numbers JW64U and JW65V @ £0.79 each. These things are better known as molex connectors
  7. A patient SWMBO

TiVo LCD Project

Instructions

The most tricky part of this project is opening up the TiVo, so best invite Stuart Booth over who can do it blindfolded using only his nose to guide him ;-) If he’s not available you will have no choice but to do it yourself, so get a Torx T10 screwdriver and remove the 3 screws at the back of the TiVo. THIS WILL VOID YOUR WARRANTY, but I guess you did that already when you installed the Turbonet card and added a nice big hard disk, right? ;-)

TiVo LCD ProjectWith the TiVo opened, you need to put the 2 molex connectors (item 6) to work by making up a splitter which is put in between the hard disk and the power supply. BE VERY CAREFUL AROUND THE POWER SUPPLY! That thing is lethal as it maintains the charge even after it has been switched off for several hours/days. Anyway, the thing you have to bear in mind is that you need to connect all wires on the molex connectors, and on to the +5V and GND (Ground) add two wires which you need to feed to the outside of the TiVo. I used the same space as where my cat5 cable is going out of the TiVo (the one connected to the Turbonet card), just underneath the fan.

Then it is soldering time… Take the 3.5mm stereo jack and connect a wire to the tip of the connector. That was soldering time :-)

TiVo LCD ProjectNow take all 3 wires (and make sure you have them appropriate coloured, like red for +5V, black for ground and any other colour for the TX (transmit), and connect them to the Servo connector, making sure that you do them in the same order as there are pins on the LCD. My LCD has 3 pins, labelled +5V, GND and Recv (receive), which makes it pretty obvious which wire goes where. Your mileage may vary of course.

Time to test it methinks :-) Close the TiVo and hook it up in your AV setup and power it up again. The LCD display should now be powered, and depending on what model/type you are using it might display something (like garbage or a version number) or in my case, a blank screen with just the backlight on.

Pat yourself on the back, the hard work has been done. Now it is back to the good old computer and open up a telnet and ftp session to the TiVo as you need to install a small .tcl script written by a TiVo community user called Demark. He posted it to this thread and all I had to do was modify it slightly to output the lines correctly. You can find my copy here.

TiVo LCD Project

Install the .tcl file in /var/hack and run it with the ‘&’ to detach it from your shell, otherwise you will reboot your TiVo when you try to interrupt it. To stop the script you simply do a ‘touch /tmp/vfd.stop’ and within a minute the script will stop. Make sure you remove the /tmp/vfd.stop file before you start it again though.




It is quite possible that I’ve skimmed over something which I think is trivial to do, but proves a real nightmare for you, so if you got any questions, please don’t hesitate to contact me. Good luck modding!

Lucky or unlucky?

Split brake lineI’ll let you decide… After reporting my snapped spring 5 months ago (to the exact day), I had the Octavia in for its annual MOT and when the brakes were tested, the brake line split! I dread to think what would have happened if I had to do an emergency stop this morning :o

Renault World Series

Renault Clio V6Whatever your experience of the Renault brand, you got to give them credit for their commitment to motor sports. This year (like the past 2 years) we went to see the Renault World Series at Donnington Park, but unlike last year, the weather was excellent :)

Took loads of pictures, but most of them are smudgy in the centre due to some fingerprints left on the lens :( A good excuse to splash out on a SLR? ;)

Trax 2006

Trax 2006

Go, go, go, go
Go, go, go shawty
It’s your birthday
We gon’ party like it’s yo birthday
We gon’ sip Bacardi like it’s your birthday
And you know we don’t give a fck
It’s not your birthday!

Yup, another year older, another year wiser… And what do you give someone who has everything? A day out on the track… Twice! :D

Blazing around SilverstoneUnlike last year I managed to stay on the track and even overtake a few cars. It had rained throughout the night and we had the 1st session of the day at 9am so I was very nervous, in fact, so nervous I forgot to switch the ASR off and the video camera on… Doh!

The 2nd session was at 11.20am by which time the track was completely dry and this time I was flying… Skylines may be fast on the straights, but they can’t corner if their life depended on it ;)

Check out the gallery for my pictures or watch the whole 19 minutes online!

New addition to the family

We got ourselves a new car this weekend. It is an X reg (10/2000) Renault Espace 2.0 16V RT-X with 107K miles on the clock. Am having to wait until Friday before I can collect it… I can’t wait!

See more pictures in the gallery

Renault Espace Renault Espace Renault Espace

Is the end nigh?

 Snapped springAfter 3 years and 80,000 trouble free miles it seems that my beloved car is slowly falling apart. The springs are the first… what will it be next?

Please hold

Not that anyone noticed, but we moved servers. Hosted in the UK by Captiv, run by my good friend Colin (him of BRISKODA fame), and as fast as it is gonna get over here in good old blighty

Trax 2005

Why is pole position a Bad Thing? Cos it leaves you with no car to focus on and it may make you judge your braking point incorrectly therefore going to hard into a corner (which to my defense was slightly hidden from view due to a small crest) and spinning it 180 degrees :D

Still, the car and I survived and I was able to continue my track session (or more importantly, not stopping anyone else’s) as if it never happened… except that I have it all on tape!

Watch me go

Pictures can be found in the gallery

And they are off

TVR SagarisThe Cannonballers that is. Again, it is one of those annual events (2003, 2004 and now 2005) that we go to as it is such a good spirited event and some of the cars you will only see or hear once in a lifetime (unless I get 6 numbers this Saturday).

On the first leg they had to get to Sweden, a mere 959 miles away!

Crash, bang, wallop!

Old Skool TrackdaysSo I lied about the stickers ;)

This years event was again a fantastic day out, and apart from some minor ‘injuries’ to the car I survived it again. During my (what appeared to be my) last lap I managed to overshoot the braking point into a fast right hand corner, lock it up completely and enter the grass verge sideways. The result? A bend alloy :(

See for yourself in DivX or Quicktime.

Fortunately my good friend Dave has kindly offered to pass his spare alloy onto me, so as soon as I’ve found out where I can have it refurbished in the same colour as the other alloys I’m back in business again!

More pictures in the gallery

Think Different

Mac Mini Mac Mini Mac Mini

Chiltern Hills Vintage Vehicle Rally 2005

Vintage Vehicle Rally 2005It’s becoming a bit of a tradition to visit the annual Chiltern Hills Vintage Vehicle Rally, and since the weather was absolutely fantastic we had no reason to stay at home this year.

See more pictures in the gallery

Bruntingthorpe 2005

BruntingthorpeYes! Time to dig out a lid and spare the tyres… we are heading to Bruntingthorpe again on Saturday the 18th of June.

Last years event was a great success and I am glad BRISKODA is organising it once more. It sure is addictive this brisk driving ;)

Oh, and in case you’re wondering… No, I’ll not be applying any stickers this time :)

Famous

In the future everyone will be world-famous for 15 minutesAndy Warhol

So here are a few of the sites linking to Awooga!!!:

Digg.com (where it all started)
Automated Home UK
eHomeUpgrade
Nordic Hardware (Swedish!)
LiveCD News
TousPourUn (French!)
Paul’s Blog

Project Bling

Ever had the desire to display your digital pictures in a frame without going through the hassle of printing them and re-framing? My inspiration came from the write up on Applefritter and I decided to take the plunge and destroy a hand-me-down IBM Thinkpad 560X in the name of science ;)

Project Bling

Over the space of a couple of days, I disassembled the laptop and carefully assembled only the bare minimum required parts on the back side of a wooden picture frame. I’m quite pleased with the result if I say so myself :)




We start off with an old laptop, and remove all the plastics to get it as thin as possible. Make sure you test the laptop after you finished.

Now it is time to slowly put everything together again inside the pictureframe.

Make sure that you can still access the vital ports on the laptop after it is closed.

Until I’ve sorted out a proper on/off solution this little stick will do just fine ;)

And finally, this is what the finished product looks like.






Have a look in the gallery for some more pictures

Awooga!!!

a·woo·ga
interj.

QuoteExpression used when one is in panic.

Abandon ship! Black Hole approaching. Abandon ship… (The siren stops) Oh, God, now the siren’s broken. Awooga, awooga. Abandon ship!

Tags: ,

categories blog