All posts by Mark

Fixing a Virtual Box Hard Drive Image (VDI)

I can’t believe that I’ve managed it! I recently managed to corrupt one of the virtual hard drive images on a Virtual Box image. Everytime I started the image up, it complained of problems with the Headers in the VDI file. It appears that the image file (not the guest HDD partition) had become corrupted.

This created a complete disaster for me. Unfortunately, I had been following my mantra of “Backups are for whimps” and I had potentially lost a load of work. I did have a back-up of the file going back over a month, but that was too far in the past for me. Seeing as I was convinced it was a problem with the headers in the VDI file, and that the guest partition in the file was intact, I was sure that I could correct it.

So, having spoken to a VMWare Guru at work (thanks Chris!) who convinced me he had performed a similar trick on a VMWare image, I set about correcting the image.

Firstly, I went digging. Google throws up a few instances of this problem, but most people saying it is not possible to repair the file. Fortunately, I came across this forum post which details the format of the VDI file.

Secondly, and importantly, I took a copy of the corrupted file for safe-keeping.

Thirdly, I restored my month old backup, and opened it and the corrupted file in a hex-editor. Comparing the reference material on the forum post, I noticed a few small differences, but mostly it seemed to line up after a few dozen bytes.

So, comparing the reference data, and the restored backup, I worked on the corrupted file to aline the data to what looked correct.

I saved the file, and opened up Virtual Box.

Huzzah! It worked. Restarting the VM worked well – there was a quite blip of the Linux guest complaining about an EXT4 block.

So, now it’s time for me to take another backup and then to run fsck on the guest partition!

BeThere Broadband

I cannot believe how gutted I am to have left Be Broadband.

I’m leaving simply for cost reasons, nothing else.

They have, by far, the best customer service I have *ever* experienced. They general service is impeccable, but I doubt anybody (and not just in the ISP world) will ever match their level and efficiency of customer service.

I’ve just got off the phone with them, after complaining that they had charged me too much for my final bill. In total, including dialling time, time in the menu system, I was off the phone in 2 minutes and 24 seconds. I was speaking to the guy for less than 30 seconds. He looked at my account and said “Yes, I can see that is wrong, I’ve cancelled it.”.

I had a similar experience two years ago when I switched from paying by credit card to paying by direct debit. The payment went through too soon before the DD was approved by the bank. Again, I was off the phone within 2 minutes having paid that one bill on my credit card, before reverting to the new direct debit.

I’m so properly upset to be leaving them.

Well Done BBC News

Come on, sort it out!

Attaching Microsoft Script Debugger to a Running Process

OK, I’ve just learnt how to do something that I’m going to find very useful in the future! I’ve wanted to do this for a while and didn’t know, but necessity is the mother of invention (or investigation in this case.)

Here’s the scenario. I have a running Internet Explorer session connected to a Live environment. I cannot change the Live code to add in a “Stop” statement. That Internet Explorer session is actually a hosted version of the IE ActiveX control inside of a custom executable. I have a VBScript bug and I need to see what’s happening.

So, what I need to do is to attached Microsoft Script Debugger (MSD) to the running IE session, and force a breakpoint in the code. Here’s how….

  1. Start MSD.
  2. Go to “Debug” -> “Processes”.
  3. Find the appropriate process, use the “Title” column to help.
  4. Click “Attach”.
  5. When the “Attach to Process” screen is displayed, click “OK”.
  6. Click “Close”

That will now attach you to the correct process. All you need to do now is to add a break point.

  1. Go to “Debug” -> “New Breakpoint”
  2. Type in the name of a function, sub-routine or event that you want to trap.
  3. Perform the actions in IE that would cause the function where you inserted the breakpoint to fire.
  4. You should then be directed to MSD with the source code of the lines where you inserted the break point.
  5. Step-Over, Out-of or Into as much as you’d like!

Simple really – just needed five minutes of Googling and playing around in MSD!

Guns N’ Roses bottled off stage in Dublin – No Surprise There Then

BBC – Newsbeat – Guns N’ Roses bottled off stage in Dublin.

What a surprise! Guns N’ Roses try to show how important and cool they are by being late to the stage. Again. Spectators respond by bottling them off stage. You can’t say that that was surprising.

After Reading and Leeds, the band should have learnt their lessons. No one is impressed that you arrive an hour late to the stage. And if you carry on longer than you’re supposed to, because you arrived late, no wonder they pull you off stage when you play past the curfew.

Seriously, G N’ R, it’s not 1990 any more, you’re not the biggest band in the world any longer. Grow up.

New Series from Matt Lucas and David Walliams!

OMG! I am insanely excited about this! A new series from Matt Lucas and David Walliams!

News: Meet COME FLY WITH ME’s Ian And Taaj..

Gizmodo.com – Kinect Will Read Sign Language

Bloody hell, this sounds like a fantastic idea!

Kinect Will Read Sign Language, Paving Way For New Input Methods.

Apple’s Antenna Design Centre

How awesome does this place look?

I *demand* a tour!

http://www.apple.com/antenna/testing-lab.html

WANT: Optimus Popularis

Dear Universe,

Please buy me one of these.

Art.Lebedev: Optimus Popularis First Look.

Thank you.

The Problem with Webmail

I’ve been thinking over the past few days (god above knows what caused this train of thought….) about one feature I have never seen implemented in a Webmail system. I’ve used a few different systems in my time, Yahoo! mail, Excite, Squirrel Mail, Horde, a couple of other dodgy implementations that I can’t remember, and most recently GMail (which I’m still pretty much in love with.) But still none of these have let you see multiple email accounts in the same page.

Now, I know that the big providers let you access another account, typically by POP3, but these just download the email from your other account and dump it into your webmail inbox.

Compare this to an email application on your Desktop – whether that be Outlook, Mail.app, Outlook Express, Thunderbird, etc – when you add multiple accounts with those systems, you view each account completely separately. Some offer a unified inbox (which is great) but I also want to be able to split my email accounts out.

Ideally, I’d like to be able to access them using IMAP as well (but because of bandwidth, etc, that’s a bit of a pipe dream)

Thinking about this more, here’s how I would like it to work in Gmail.

  1. Emails are downloaded from my other accounts via POP3
  2. The “inbox” label is used for all emails downloaded – this becomes my unified inbox
  3. A link below the “Inbox” link on the left should be shown for all of the different accounts. This would include the default GMail Inbox. Clicking on one of these would show the inbox of just that account.
  4. A separate “account:” search flag is created for each account. This makes searching easier.
  5. The “Multiple Inboxes” labs feature could be used split out each account at the main inbox screen as well.
  6. Labels and filters work as they currently do.

What do you think Google? How about it?