Damn! - cannae believe it’s back to the day job again tomorrow, after my all-too-brief Christmas break.
However, I’ve not been idle over the holidays.
As I’ve alluded to before, I’ve been busy working on one of the websites I run; namely, the Appletalker Discussion Forum. I’ve switched the site from using the Unclassified Newsboard [UNB] forum software to using the Simple Machines Forum [SMF] forum software. For two reasons mainly;
- The developer of UNB has effectively abandoned the project in favour of working on UNB2, but has said there will be no upgrade path from UNB1 to UNB2 --which is complete madness-- as it locks current users into using ‘abandonware’.
- I want to make Appletalker accessible via mobile devices [primarily iPhones --it is an Apple-related website, after all!]. I’ve been hacking away at UNB for years, customising various aspects of the original Appletalker forum but I hit a complete brick wall when I looked into creating an iPhone-friendly theme for it; UNB uses a really horrible proprietory templating language, which was just too damned hard to wrestle with, when trying to do something as involved as create a version of the site which would play nicely on a tiny smartphone screen.
SMF, on the other hand, uses the old familiar standard PHP/HTML mix to create pages, which is a lot easier to hack around with. And it already sports an iPhone optimised theme. It looks like a bag of shite, but at least it gives me something to build upon and, more importantly, means Appletalker is now iPhone friendly [albeit very fugly!] ‘out-of-the-box’.
The old Appletalker forum, running on UNB [and sporting its Christmas logo]. I’ve invested a lot of time, over the years, hacking and tweaking UNB to get it running how I want it, but it was time to move on, now that UNB has been abandoned by its developer.
So most of the holidays, I’ve been merrily hacking away; first of all migrating the forum across from the existing UNB to the new SMF software, which was a complete bastard of a job in itself, as the two use completely different database structures.
Next, knocking the new forum into shape by creating a new SMF Appletalker theme for it, based on the default theme. Lots of tweaking and hand-coding with PHP and HTML [or “doing my brackets”, as the GF calls it]. There’s still a long way to go, but I’m quite chuffed with what I’ve managed to get done so far. I only wish I had another week’s holiday, as I’m just starting to get into it now.
That’s the interesting thing about hand-coding. When you first start tweaking a website --especially a dynamic one, which is a mixture of HTML, PHP and javascript-- you spend loads of time at the outset just trying to get your head round the way that the original developer of the software put it together [the "What does all this shit do?" stage].
Stage 01: getting the old forum up and running on the new forum software [and on a new server and server software too!]. This was a job in itself, with lots of database hacking involved, but here it is, running on SMF, using the built-in default theme.
Next comes adjusting the existing code --redefining CSS rules, etc.-- trying to make the software look vaguely how you want it to look [the “_tweaking stage_”].
Stage 02: creating a new theme and tweaking the appearance aspects of the SMF software to try and give it as much of the look and feel of the old site as possible. lots of CSS editing and graphics creation
Thirdly comes the stage I’m on at the minute [the _"Why the fuck did they do it like that?" _stage], whereby you start actually diving into the code that does stuff [as opposed to code that just controls how things look] and rewriting it in the way that you would have done it, if you’d written the software in the first place.
Stage 03: [work in progress] the OCD stage --hacking away at the underlying software to make it do things in a different way. The picture below is the result of a full day’s work yesterday. It may look almost the same visually as the one above but, behind the scenes, I dismantled several templates and rewrote them to build the page using Divs/CSS instead of tables [blech!] and I also stripped out a load of proprietory Javascript and replaced it with jQuery.
This third stage is the one that is most fraught with potential for ‘cocking things up big style’. It’s pretty easy to break stuff, when adopting what is basically an "I wonder what’ll happen if I do this…?" attitude but, in my opinion it’s the best way to learn.
Ever since I was a kid, I’ve always loved pulling things apart, working out what makes them tick and then trying to figure out how to put them back together again. So hacking software seems like a logical progression from there. Plus, it gives me a really smug feeling of self-satisfaction, when I manage to work out how to do something in my own way, using maybe a dozen or so lines of code, when it took maybe a hundred lines of code in the existing version.
Jeebus! --I sound like a right geek!
Maybe, on second thoughts, it is a good job I’m back at work tomorrow. I can start mixing with real people again and put this pizza- and coke-stained size XXL Star Trek t-shirt in the wash!