Archive

I’ve been thinking lately about the problems that exist with usernames, passwords, email addresses, personal data, and the implicit trust we place in web services that they will keep this information secure.

With recent high profile flaws and hacks (Heartbleed, and eBay to name my main concern points) I’ve been thinking about the best way for me to protect myself from these kind of issues, and more generally around the privacy issues of sharing all of this information between many different services.

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!

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.

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….

Start MSD.

Go to “Debug” -> “Processes”.

Find the appropriate process, use the “Title” column to help.

Click “Attach”.

When the “Attach to Process” screen is displayed, click “OK”.

Click “Close”

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

Go to “Debug” -> “New Breakpoint”

Type in the name of a function, sub-routine or event that you want to trap.

Perform the actions in IE that would cause the function where you inserted the breakpoint to fire.

You should then be directed to MSD with the source code of the lines where you inserted the break point.

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!

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.

Emails are downloaded from my other accounts via POP3

The “inbox” label is used for all emails downloaded – this becomes my unified inbox

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.

A separate “account:” search flag is created for each account. This makes searching easier.

The “Multiple Inboxes” labs feature could be used split out each account at the main inbox screen as well.

Hmmm, I’m not sure that the conclusions that they have drawn are necessarily complete.

Yes, Apple could be using it as a great leverage tool with Intel. But if that were the case, why wouldn’t they just rely on their own (new) chip manufactoring capacities?

My thoughts turn to the future: AMD have the x86_64 architecture that Intel have no comparison to.There are several draws there for Apple for at least examining the chip.

Apple make their systems perform like no other. Seriously, look at the base specs of the Macbook Pro. Whilst other manufacturers are churning out middle of the road, low-end shite, Apple make their systems powerful by default. Seeing as a lot of video processing and graphics work get done on Macs; and that processing requires large numerical calculations; having 64-bit integers by default makes life easier, and a seriously selling point for their high-end workstations.

Even if the advantages of the 64-bit system are used immediately, it still supports x86_32 (or IA32 or whatever you want to call it!) – something that Intel’s chips don’t do.

They already have the Mach Universal binary format, and there is already compilation for 64-bit systems available in Xcode (although not necessarily x86_64) – adding a new one would be quite simple.

Apple always appear (to me at least) to be a company that are experimenting in the background, even if they don’t go the 64-bit route, at least they can say that they’ve tried!