In Praise of Hacking
A brief anecdote – last week I had to fix a website. Doesn’t matter which one, but there was a link that needed removing. Easy, you might think; not so, unfortunately. The link was embedded in a piece of malicious code in a website theme, which uses a bit of web technology called PHP. Now, I know very little about PHP, but I managed to find the right bit of code on the server and opened the file, to be greeted with absolute gibberish – a totally unintelligible string of numbers and letters. A bit of googling revealed that the code had been intentionally obfuscated by encoding it in base-64 – sneaky. A bit more googling eventually turned up a base-64 encoder/decoder which made sense of it, I stripped out the offending link, and uploaded a new version of the file back to the web server (using this awesome online ftp client), which (miraculously) worked! Job done.
The point of this anecdote is that you can achieve a lot with computers with a tiny bit of knowledge and a lot of experimentation – or just hacking around. I don’t mean ‘hacking’ as in breaking into the pentagon, or listening to the voicemails of murder victims; I mean hacking in the benign sense of just playing around with your OS or other software, changing things, and seeing what happens. A week ago, I didn’t have a clue about PHP and base-64 encoding, but after mucking around trying to get the website to work, I learned something. Yes, it took several hours and quite a lot of online reading/googling for me to work it out, and yes, a professional could have done it in less than five minutes, but the experience was valuable, and I felt like a web ninja when I finally got it working. I’m pig-headed enough not to want to give up when faced with a difficulty like that I guess, but the only way we learn stuff is by trying to expand the sphere of our knowledge and experience. My suggestion for people who want to learn more about computers is simply to play – dig into the settings of your OS (control panel in Windows, and Settings in OSX), see what options are in each section, change a few, see how you like it. If you want to go further, start digging into MSConfig, or other advanced system settings. If you’re really feeling brave, then you can start hacking the Windows registry – this page has an amazing collection of tips and tricks for registry-hacking. For Mac users, there are a bunch of awesome things you can do using the command line – some suggestions to get you started are here and here. If you don’t feel like playing with your OS, download some free software and see how it works – doesn’t really matter what it is, graphics, video, productivity – whatever. Here’s a good list to get you started. The important point is to approach it with a spirit of experimentation and don’t be scared of just mucking around.
Is this wise, you may ask? Can’t I totally FUBAR my system? Don’t Microsoft/Apple make these things difficult to access for a good reason? Well… possibly. But if you back up all your important data (and your Windows registry, and, just for good measure, create a restore point) before you start mucking around, then there’s little permanent harm that you can do. Yes, potentially the worst case scenario is that your system gets totally screwed up and you have to reinstall it, but that would still be a good learning experience too, right? ;o)
PS. Any damage to your data/system/software/career/mental health which results as a consequence of following the advice in this article is very much your own problem.