Installing and Formatting a Hitachi Travelstar 5K80

So I wasted around 6 hours trying to get a Hitachi Travelstar 5K80 to work in my external USB-driven hard drive enclosure the other night… and I wasn’t a happy camper.

I did the normal things, put it in the case, plugged it in, restarted Windows a couple times to try and pick it up, stuff like that. I had no luck getting it to show up in My Computer to start with, so I checked in the Adminitrative Tools (in Control Panel) launched the Computer Management MMC. In there, I checked the Disk Manager and found that the drive was there, but marked as Online, Unallocated.

According to everything I could find on the ‘net (and believe me, I looked) all I had to do was right-click the drive, select ‘Write Signature’ and then I could format it and off I go. The problem with this was that when I did that, it would start doing something with the disk, then just sit there with its access light on, but not do anything – still couldn’t access it, still couldn’t format it.

To cut a long story short, I noticed that it was making a similar noise to what my old drive made when it woke up after being asleep for a while. All I had to do was unplug the drive (from the USB), then plug it in with Disk Manager open, constantly clicking ‘Re-Scan Disks’. As soon as the new drive appeared on the listing, I did the right-click signature trick and it worked straight away. Then I kicked it into an immediate, complete format and everyone’s happy!

Now all I need to do is clone my current drive onto this one, switch them over and I’ve got an upgraded drive and a spare external one 🙂

Secure Hard Drive Format

In case you didn’t know, when you ‘format’ a computer’s hard drive (or delete a file for that matter), it doesn’t necessarily remove the data properly, it just marks those sectors as being available to write over in the future. If you don’t actually write anything over them, then there is a distinct chance that someone can recover that data, using an excellent program such as R-STUDIO (which I bought a copy of, to recover data off my broken laptop, as described in this post).

So anyway, there are a number of ways that you can go about deleting something permanently, but I figured that the best approach was a physical one. I had an old drive that I was retiring (well, it retired itself on account of a hardware failure), so I decided that now was the chance to test my procedure, here’s how it all went down;

  1. Remove drive from host machine
  2. Remove PCB board from the bottom of the drive (you can just lever it off with a screwdriver if you don’t have the right type of screwdriver for the screws… you won’t be needing it again 🙂
  3. Place the drive so that the side where the PCB board was is *down*, and one end is supported on a small ledge (a doorstep works nicely)
  4. Place pressure (i.e. stand) in the middle of the drive, angling your foot to ensure that the blade of your foot is applying the pressure to the drive
  5. Continue standing/jumping on the drive until you hear a snapping sound, and then hopefully a pleasant little ‘tinkle’
  6. Review the situation: you should have broken the aluminium framing of the drive, which in turn allowed you to shatter the disk platters, which will now be on the ground and inside the drive.

You can now clean up the pieces of drive platter, and if you’re really paranoid, dispose of them separately. Otherwise, throw them all in the bin and you can be pretty confident that your drive is very permanently erased.

NOTE: I take no responsibility whatsoever for the damage of your drives, their proceeding uselessness, or any potential recovery of the data that may or may not have been on the drive!

Blosxconfig: PHP Tool To Configure blosxom Plugins

The most common complaints/questions on the blosxom developer’s mailing list all relate to difficulties with plugins, so I have been trying to think of a way to make them a little easier to work with for people. What I came up with is blosxconfig, a single PHP script which works with very basic configuration files to determine what variables a user should have access to and what format they should be in. It will also confirm the existence and readability of the plugin files, and write the modified variables directly into the plugin files.

Download blosxconfig BETA version now!

Here’s the details that I posted to the blosxom list;

WARNING: Back up all you plugins before saving changes via blosxconfig!!!

configure.php is a PHP script (duh!) so you’ll need PHP on your server to run it. You can pass a path to it to look for a specific config file via either a GET or POST request (GET use ?conf=path-to-conf.conf on the querystring, POST use variable name ‘conf’ with a value of a path to a config file). if you don’t pass a value, then blosxconfig will look for a file called blosxom.conf in the same directory as it, or die trying 😉

The config files are very basic, and look a little bit like a Windows ini file, but it’s a custom style; The first line is similar to a unix ‘shebang’ line, and should look like this;

#@/path/to/plugins

where obviously the /path/to/plugins is the full path to where your plugins live – this should be the same as the $blosxom::plugin_dir variable configured in your blosxom cgi executable.

After that line, you have plugin sections which are defined using [plugin_name] – be careful that you use the *exact* name of the plugin, because the value is used for confirming the plugin’s existence 🙂

Under each plugin section, you define definable variables on a line each, in this format;

variable_name|type|default

variable_name is the actual name of the variable (as written in the script), without the ‘$’ or ‘@’ (in the case of arrays)

type can be one of ‘string’, ‘boolean’ or ‘code’. Arrays should be defined as ‘code’. Strings are enclosed automatically in quotes (“) and all types are followed by a semi colon when written to file. Booleans are presented to the user as a Yes/No select box (0/1 passed as values) and other types are presented as simple text input fields.

default is a value to use by default. make sure this makes sense (so for a boolean make sure it’s 0/1, for a string it’s a string etc). You don’t need to wrap it in quotes or anything, this is handled automatically.


Now, assuming you have a valid config file and blosxconfig can find it, it will load the file, and present you with an interface where you should be able to modify all the values that you spcified as being editable in the config file. *hopefully* blosxconfig will also tell you at this point if plugin files are available (file exists in plugin dir) and if they are not readable or writeable. when you have made you changes – click ‘save’ and the following will happen;

WARNING: Back up all you plugins before saving changes via blosxconfig!!!

  1. All plugin files which are referenced in your config file will be MODIFIED – they will technically be overwritten entirely, since the contents of the file are processed, then the lines that look like they define the variables in question are replaced with new lines, with the new values.
  2. The config file will be updated with the new details that you specified and written back to file.
  3. blosxconfig will load again, with all your new values in place, and messages telling you what happened.

Assuming all goes well, you’ve just used an external interface to reach into your plugin files and modify certain details. The hope is that authors of plugins (or community-minded participants) can supply the simple, 1 – 10 lines worth of config required to add to this configuration file, which can then be distributed with this little application to help people configure their plugins.

Please be aware that I have *NOT* tested this extensively at all, it was hacked together and seemed to work for a couple of plugins that I was running (the ones in the config file included) on a Windows test box, other than that I can’t make any promises. I’d LOVE if some people could try it out on some other plugins, on other systems, and let me know (directly if
you like) how it goes. I’ll fix any problems and then release it as public so that other people can use it.

Hope it’s useful for someone out there, and can perhaps eventually make life easier for some newbies (and pro’s alike 🙂

Oh yeah – did I mention; BACK UP YOUR PLUGINS BEFORE YOU TRY THIS!

On the suggestion of Andreas Banze, I’ve removed one small section which checked to make sure that the plugin files were executable, since as he pointed out, this is not necessary, they are just included in the main operation of the blosxom script, not executed individually.

Download blosxconfig BETA version now!

Why MP3s Are A Good Thing

I have (had) a relatively small collection of CDs, to be honest, I’m more likely to obtain copies of CDs from friends than I am to buy them. This is not because I’m a cheapskate or because I’m a pirate (mateys), it’s mostly because I don’t like most music enough to warrant buying it, but I like a lot of music enough to listen to it.

There are times (like when I get gift certificates) that I do purchase CDs though, and through these times, and just along the way, I’d collected about 30-40 CDs that I would call “worth listening to regularly” — so I did, in a CD stacker and a CD wallet which were in my car.

My car got broken into.

My CD stacker got stolen.

My CD wallet got stolen.

Therefore, all of my CDs got stolen in one foul swoop, and I was tuneless… without tunes. MP3s saved the day. Since I always left those CDs in my stacker and wallet in my car, I never got a chance to listen to them anywhere else. Since I almost exclusively listen to MP3s on my laptop and Nomad, somewhere along the line I had luckily gotten around to ripping most of those CDs to MP3 and saving them to my hard drive, which now lives in an external, portable USB drive enclosure. Thanks to the ability to back up my music to MP3, I now can retain copies (and even burn a new CD if I want) of the music that I legitimately purchased, where otherwise I’d have to go and buy it again (which would be difficult because some of the disks were quite obscure). Yey MP3s!

Ideas For Earners

Interesting list of potential ways to make money on the ‘net using micropayments, from Scott McCloud, one of the advisors to BitPass.

There are some quite good models in there, and if nothing else it’s a good summary of what a lot of people would come up with if they sat down and defined all the ways that they could think of to model this sort of thing. It will definitely be interesting to see where (if anywhere) micropayments go.

Modification to Permalinks

I’ve modified the format of my permalinks so that they use the dynamic, blosxom-controlled, date-based URLs again, because in the near future I will be completely re-arranging my structure, since unfortunately it is proving to be inadequate for the range of topics I’d like to post about.

More information to follow regarding the changes, but I don’t imagine it will cause too many problems with too many people 🙂

I Got a PGP Encryption Key

Following is my new public key for PGP encryption. You can use this to encrypt messages you wish to send me. I will also link it from the ‘About‘ section of this site.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>

mQGiBD9tD4ARBADM7uwtfDMuF+EJeL9DEmVUltKFivX2igbPhSWdoQAqvOoEUKhg
xNypjoU9Mg53o/OAaxdz4d4ceBFB1RKpMKSxKvW7BOv+jSuSfVgOmUgEcsGASSJd
iIVW55cF5IZpmYDuWV2KfHO0dLaGkoqtGoB6XviCAUUqWu3kI58a4EKgcwCg/8W6
mF1BJYxOdd5P2lh8Hh/tN4sD+gLQzsRI0mnMrYK4l9kU4jTCQWS0Vsn7I6dRvmR9
ho8yo6lW3ncL58kmE1EWNvaBAejwLm05eILlxWnRMQN/alEHn+tc7hy5mxI+I0KW
RGeU7m0mPV+RiIh2V4qEayk4iJt/hs7z20pJj7KR1/aNRR+Vqn60SPtpOzM8hCjL
/tgqA/9vOdT9FNlyyBO1vQyBO4jzE2bRTHUjqOnXbcGVI7q102Vq7aCGsRgoZrIM
6ErmXJDgFThxl0HpGB5URCNv2mrE2VRJbmwBw2rC5I38zHNSg+Ti8qKubi3gtTKV
3MXNnRXnoe9aJJT49kkhZSPd3y+MaxlCZyWlqisqGWEv9UezqrQnQmVhdSBMZWJl
bnMgPGJlYXVAZGVudGVkcmVhbGl0eS5jb20uYXU+iQBOBBARAgAOBQI/bQ+ABAsD
AgECGQEACgkQaKrL508kt3X3eACg7C6Ky9nh+5thwVxzpekl/tCd+OsAoLyOe6RJ
EYM0X0rvpNGpJCMWAotOuQINBD9tD4AQCAD2Qle3CH8IF3KiutapQvMF6PlTETlP
tvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2
Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVy
OtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPw
pVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnI
Byl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICCACq
bo+NCj2hkLZoZKTHGud1MkGi8LFy3om2l52wVae38+8xdXYpBSZ9xYOl1P2sFnay
tEa7TkSMDuJtJEp/1FOScc7daTESqBxtTQt03As1aVc1HNLGYcyUgwR0k9rEKYiq
AIrREr4KYnPZKQ8TSaZ6c/seD6AcsNcIyTyQHb9z7mj13EUcL4wtZLIXbLvVF4oa
OSg/ep6rfs898I7ZcWkKyX93tCFl4lHXLE1syE40m44UIHIgEwfVyrLAVlUEuL+c
sPBNLrG3TLN1mkWiIAg4Q3L3UutQNr8/WDKPxanUPKpwXMhW4XofHt7nopaowKvz
iAr6FC22dklkLjazwHmdiQBGBBgRAgAGBQI/bQ+AAAoJEGiqy+dPJLd1knkAoNCL
uGP7UWPbkh0VjosY4hd3+F8TAJ9nlgBNkybz+AqG/Aj7elyj1D9LzA==
=bM4j
-----END PGP PUBLIC KEY BLOCK-----

Jakob Neilsen Has Run Out Of Things To Say

Not that I wanted to use a ridiculously-exagerated title like “PDF: Unfit for Human Consumption“, or “Flash: 99% Bad“, but I think it’s getting to the point that someone’s got to say something about the fact: Jakob Nielsen is running out of things to write about in his bi-weekly column, Alertbox.

Jakob used to be a fountain of information on usability techniques, concepts, tools and processes, but now he seems to have degenerated into selling his own products and moaning about (usually) related technologies and industries.

I hope that he reigns things in and starts writing some decent content again, he really did have some useful gems back in the early days. Maybe it’s time to scale it back to once a month?

blosxom Plugins Online Again

In case you didn’t notice, all my blosxom plugins are working again!

Now that that is taken care of (ended up being a naming conflict within a plugin), I can eventually get around to doing what I had actually intended on doing, which is upgrade to the official release verion 2.0 of blosxom, and then implementing some more plugins to create better RSS feeds and probably sub-topic menus within the templates to aid in navigation of the sections.

Thanks to phpwebhosting.com (my web host) for giving me access to an error_log, even if it’s only a shared one across the whole server 🙂