Site redesign time... cleanup complete

Posted in: Programming, Site updates

2 months after actually pushing through the site redesign, I've finished going through all previous blog posts and updating them to work with the new layout, and to stop them from throwing errors when anybody stumbles across them. (That last one was really annoying me, and should make the search robots that come through here a bit happier).

Excluding this blog post, major post updates (which count towards the Archives/date list on the right), and of course all the other posts that I never kept from before 2005, I've written 239 blog posts, which isn't a massive number when you break it down for the almost-7-year time period that this covers: roughly 34 posts a year, or 2-3 posts a month. As far as long-term goals go, this is probably one of the least-demanding tasks I could ever set myself.

In cleaning-up all the older posts, I came across a couple of things I thought interesting. The first was that I've actually forgotten a lot of what I had written over the years. I remember the subjects I had covered, but re-reading those old posts dug-up memories of how I felt when I wrote those posts, or the circumstances surrounding my inclination to write about those things.

Don't forget

Another thing I got from the clean-up exercise was watching the evolution of certain views or tastes, like my attitude towards music storage. Here's a post from 2009 where I stubbornly stick with CDs. Ever since then I've been slowly migrating towards digital downloads such that I rarely buy CDs anymore, barring of course the purchase of Birdy's album earlier this year (but only because I couldn't get it in digital form at the time). Then of course last week I'm heaping praise upon Spotify which basically does away with the need for CDs, going even a step further by doing-away with the need to even keep the music on your own computer.

Lastly, this cleanup exercise has showed me that plenty of websites out there don't really last that long. I discovered this when I was having to find new images to link to for my blog posts because the sites that contained the images I used, just didn't exist anymore. My brother often says things along the lines of "the internet never forgets", but after finding so many sites that have disappeared in just the last 4 years (around the time I started putting images into my blog posts), I'm thinking the internet has been forgetting a lot, but it's all the parts that nobody is really interested in that nobody will really miss. Only the really big sites, commercial sites, sites with communities that have reached a critical mass, or sites with dedicated owner(s) are the ones that are sticking around - everything else just gathers dust until the domain name expires and, without anybody around to pay the bills, disappears.

Jeff Atwood recently blogged about something similar - in an effort to highlight the work done by organizations like The Internet Archive - looking at his own blog posts from around 2007 and finding that so many of the pages he linked to are simply gone.

To keep the images from getting stale too quickly, I'm starting work on copying them over to my site, then linking back to the original source. I'm also wondering if I should write a small program to sweep this site for dead links on a rare but regular basis, alerting me to the early signs of link rot.

Anyway, here's to another 239 blog posts, another 12 years on the internet, and hoping I maintain a steady stream of income over that period of time to make those 2 goals possible.

Out-of-memory error

Posted in: Programming, Site updates

LessCSS Filter

Last weekend I released the code for the LessCSS Filter (transforms LESS files into CSS files on the server instead of the user's browser) that I use on this site and that I talked about in this blog post. I created a public repository on GitHub, placed the source code into that repository for others to check out, and added a download link on the repository page for those who just want to use the filter without delving into the source code.

The GitHub repository can be found here: ultraq/lesscss-filter

YUI Compressor Filter

I did a similar thing for the YUI Compressor Filter (something also used on this site, performs server-side minification/compression of stylesheet (including LESS) and JavaScript resources).

That GitHub repository can be found here: ultraq/yuicompressor-filter

Out of memory

To split these 2 small pieces of functionality into their own self-contained packages, I took advantage of some features available in the latest version of Java Servlets, something called 'web fragments'. Then when I was folding the separated parts back into my website, I used 'Servlet 3.0 annotations' to swap configuration files for in-code annotations (which I'm a big fan of). Together these made things a lot more convenient for me and it left the whole website feeling a bit 'lighter', simply because there was less stuff in the code base for me to worry about.

So last weekend I stopped my server, uploaded all the new bits and pieces of this website that I had been working on, started the server up again, and... nothing happened. I did some digging and found that plenty actually did happen: hundreds of lines of logging about how the server was running out of memory!

Out of memory

How the hell can my website be consuming so much memory? I wondered. The VPS on which my website resides only has 512MB of memory, which isn't a lot by any modern-day PC standards, but is plenty when all the server has to do is host a small website like this. So I started breaking it all down, trying to find out how that 512MB got divvied up:

  • 1/10th for the OS and other OS services I enabled (a necessity)
  • 1/10th for the website database (reasonable)
  • 6/10ths for the application server before the updates (whoa... wait a minute)
  • over 8/10ths for the application server after the updates (...dammit)

I investigated further and found that the Servlet 3.0 annotations feature was the real memory killer - using it causes the startup memory usage to spike beyond the remaining memory before settling-down somewhere within it. Without any room for that spike to happen, the application server couldn't start up, and so I got out-of-memory errors.

For any Java web developers amongst you, the application server I was using was Tomcat - a very popular and lightweight application server that I've been using for the last 7 or so years. Apparently, 'lightweight' only applies when you don't use Servlet 3.0 annotations, so to keep my site running for the last week, that's exactly what I did: removed annotations and went back to using a configuration file to keep my memory budget in the black.

Doing this felt like I was taking a step back in time - having to use older programming methods to stick to my memory constraints - and I didn't like it. I already step back in time enough in my day job (which drives me insane when I have to think about or work with how held-back some of those systems are) that I didn't want to have to do it here as well. This website is supposed to be my way of keeping up with the latest and greatest stuff (or at least 2 steps ahead of whatever my work is using) that I had to find another way.

So I went to scope out the alternatives.

I heart alternative rock

The only alternative to Tomcat that I hear or read about is an application server called Jetty. It's written to the same specifications that Tomcat is, and when I read some of the goals of Jetty on their project pages, my optimism started to kick-in: words like 'efficient', 'embeddable', and 'smallest footprint' were used throughout the place that I started thinking, This is exactly what I'm after!

I downloaded the Jetty application server, threw my website at it, and there were only 2 problems in the migration: both related to code that I wrote which contradicted itself; both of which Tomcat never picked up on. Jetty also started up much faster than Tomcat, somewhere between 3 and 4 times faster! As for the memory footprint: there was no memory spike when using annotations, and the memory usage after startup was about 100MB less than Tomcat!

Suffice it to say, I deployed Jetty to my VPS as soon as I was able :D

Site redesign time... complete! (sort of)

Posted in: Site updates, Artwork, Writing

Oh man this took a long time. I wrote back when I started this endeavour that I thought it'd take just a month of my spare time to complete. As usual, my estimate was way too optimistic, and 2-and-a-half months later (a month-and-a-half over-time (and arguably over-budget)), here we are.

There wasn't any single piece of work that caused me to take so long. I simply wanted to do a lot of things, too many things, all at once. Given that it's been 3 years since my last major site update, I initially started with just wanting to stay up-to-date - updating a lot of my server software (most of it is a major release behind), getting off JSPs and use a real template framework for creating pages, and taking advantage of HTML5 and CSS3. However, in implementing each of those goals, they led to even more things to do.
eg: while updating software, I also went and updated many of the libraries and frameworks my site is built on. A few of them have had major changes done to them (requiring a bit of work on my part to integrate it with my site again), others had simply ceased to exist (leaving me to choose whether to stick with an old version, or find a replacement that was still active).

It was a similar story with moving to use HTML5 and CSS3. HTML5 was mostly an educational thing - learning about the new tags and how to properly use them - whereas my CSS troubles were mostly about trying to get a CSS framework, LessCSS, to run on the server (it's normally run as JavaScript on the user's browser, but the way I was using it, it felt 'right' that I get it to go on the server). I think I'll write another blog post about this in future, since much of what I learned with this latest redesign was from the experiences of other web designers/developers on their personal blogs. It's about time I started posting some of the programming stuff I learned anyway.

A responsive website

Apart from the change in layout, colour, and typography (thank you Google Web Fonts), the only other thing really worth mentioning is that my website is now a responsive website. What this means is that the layout will change/reformat/adjust itself to the size of your screen, which is especially useful for those of you reading this on a mobile device.

I think this was the main driving force behind my redesign. I've already written about how I thought the old layout didn't look ideal on the iPad, then about how I cringed when I viewed my site on my brother's iPhone, to the point that it really made me understand how terrible the mobile web browsing experience really is. So much so that it made me go and do something about it.

If you're viewing this site on a large screen, then one way you can see how this site adapts to different screen sizes is to change the width of your browser window. If you can't be bothered doing that, here are some screenshots of my site at varying widths:

Screenshot of the site at full width

The only thing I haven't really figured out to further enhance the mobile browsing experience, is how to serve smaller images for smaller screen devices (and lower bandwidth connections). The thing is, nobody has really figured this out, and it's still being actively worked-on and debated. The 'responsive images' community have even enlisted the aid of a few browser developers to help things along and, while the solutions they have on offer so far are really impressive, there still isn't any universally accepted or cross-browser solution. In the meantime, I'm still serving the 'normal-sized' images, having them scale down to smaller screen widths, and sucking-up your bandwidth in the process.

As someone who is also on a rather limited 3G data plan where every KB is precious, this really sucks.

Although I've allowed the site to 'respond' to various screen sizes, I haven't had the luxury of testing across as many devices as I'd like. I was able to test across the usual selection of desktop browsers (Firefox, Chrome, Internet Explorer 7/8/9) on a large desktop screen, but for mobile devices I didn't have that many to choose from. There was my iPad and my brother's iPhone (Safari @ 1024px, 768px, 480px and 360px (and the iPhone may have that Retina display thing going for it, but it uses 4 'real' pixels for every 'virtual' pixel)), and two Android 2.x phones my parents have (stock Android browser @ 480px, 320px, and 240px).

Even with 4 mobile devices, I didn't have the opportunity to test other mobile browsers on Android (although from what I've heard, mobile Opera and Firefox are pretty much on-par with their desktop counterparts), nor did I have a chance to try Mobile Internet Explorer on a Windows phone.

Regardless, it felt pretty cool going home to my family's place one weekend, gathering all our mobile devices, and then testing everything on real devices - it really made me appreciate the challenge of creating a site that still delivered a good mobile experience when you have to squeeze everything down into a display the size of your fist.

The various devices I tested on
My 'work area' that weekend

Updated wallpapers

Last year I updated a handful of my space wallpapers for widescreen resolutions (Now in 16:10 - Part 1, Part 2). Last month I updated those same ones for 1280x1024, then updated the rest of the wallpapers for both widescreen and 1280x1024:

Phaethon's Legacy thumbnail
Phaethon's Legacy (1280x1024, 1440x900, 1680x1050, 1920x1200)
Shelter from the Storm thumbnail
Shelter from the Storm (1280x1024, 1440x900, 1680x1050, 1920x1200)
Safety in Light thumbnail
Safety in Light (1280x1024, 1440x900, 1680x1050, 1920x1200)
The Path of Angels thumbnail
The Path of Angels (1280x1024, 1440x900, 1680x1050, 1920x1200)
Sacrifices thumbnail
Sacrifices (1280x1024, 1440x900, 1680x1050, 1920x1200)

New/Old stories

As well as the First Dance short story I shared with you over February/March, I've also added another 2 stories (1 old, 1 new-ish) to the Writing section. These are from some long comments I made on friends' Facebook photos, initially as a bit of fun, which became a tad popular with other people (though not always with the recipient):

More to come

I think that's pretty much it. The only other things that are left to do aren't visible, or only really affect me: some CSS quirks I'm still trying to figure out, and maybe another responsive layout change to better take advantage of widescreen monitors. That, and the usual bug fixes I expect to do after a big piece of work such as this.

Either way, it feels good to finally get this thing out of the way. The large fraction of my year's spare time spent towards this project has made me feel like a recluse, shutting myself up in my apartment, toiling away endlessly working on this website... it'll be good to move on to other hobbies, get out of the building, and see some sunlight for a change.

Site redesign time... continued

Posted in: Site updates, Thoughts

Whenever I do a site redesign, it forces me to revisit this sections of the site that I don't usually think about, or don't normally pay attention to.

When I first put this website together, my main focus was the Campaign section since what I was working on most was my Red Alert campaign. I remember having all the other sections of this site as links in the sidebar, but crossed-out and un-clickable (back when leaving 'under construction' GIFs in places was still considered the norm). Then, when that was completed and my time freed-up for other hobbies, my focus shifted to the Artwork/Writing sections where I posted all the pictures I was drawing and silly stories I was writing. In the last couple of years, the focus has shifted to this blog.

So with this latest redesign, I worked on the blog first (it's usually the template for how the rest of the site will look/act), then moved on to the simpler, mostly-static pages of the Campaign and my dead-in-the-water Red Horizon project section. After that, I moved to the Writing area since I had a few new stories to add to that section.

This left the About and Artwork sections of this site, both of which can instil a feeling of embarrassment in me since they reach back the furthest in time and are sprinkled with reminders of things that aren't up to my 2012 standards.

In the About section I have links to screenshots of what my site used to look like, going all the way back to 2000 when I first put this site together using Netscape Composer, HTML frames, and littered it with pictures of anime-style drawings and quotes that had nothing at all to do with the site - and all in Times New Roman font!

And in the Artwork section I have drawings dating back to high school days which, as I've been reviewing them this past week, have made me cringe. Now that I'm facing these images from my past, I find myself thinking, over and over: OMG, I used to think these were GOOD?!!? I'm half tempted to remove many of the pictures from there, but then another part of me kicks in and prevents it from happening - the part that believes that this site should act as an archive of everything I've shared on the internet.

Picture of folders stacked on a shelf

As much as I'd like to selectively filter parts of my past to make a better impression in the present, it wouldn't feel right for me to do that. In the case of the older versions of this site, it reminds me of what I've learned from all my previous years of web design and development. In the case of my old drawings, there's still a part of me that wants to pick up a pencil and start filling-up my sketchbooks once again.

I'm not really sure if there's a lesson to be learned in all of this, but it reminds me of all those those inspirational images/pages/quotes that rant about telling you to 'make a new you', to look to the future, etc, etc, but I can't seem to recall one that tells you to be proud of what you've done. Too often the theme of those things is to get people to start again, leaving the past behind, or 'shedding your skin'. Why? I wonder. Are people so often regretting their mistakes that they need to jettison their personal baggage on a regular basis? Somehow I doubt ignoring one's past and 'starting fresh' is the way to creating less mistakes, since the prevention of mistakes requires experience, hindsight, and the ability to reflect on the past.

If I choose to take down some of those older drawings, or screenshots of how my site used to look, how can I say I've really improved? If I take down those older drawings/screenshots, how will I know if what I do now, or what I'll do next, is really any better?

The past is there for a reason - it's not just for historians.

Site redesign time... again

Posted in: Site updates, Web design/development

It's that time again: time for a redesign of this website.

I'm not really sure what it is that makes me think that the look of a website is 'old' or 'dated', but every now and then I come across a website design that makes me really pay attention; makes me bother to take a look at the page source, scripts, styling information, and how everything just works together to create this visual marvel before me. Then after having dipped my mind into that wonder of a website, I look back at this website with a bit of an inward sigh.

I've been doing that quite a bit lately - looking at other websites showcased on web design galleries, all bright, shiny, and new. It wasn't really triggered by the coming of the New Year (the usual checkpoint in life that makes people take stock of what they've got what they've done, and what they hope to do for the next 12 months), but rather with seeing this website through my iPad.

I viewed it first in landscape mode and, since the screen has a width of 1024 pixels in that orientation, this site showed-up just fine. Maybe the font is a little small, I thought, but otherwise it looked as it should.

Then I rotated the iPad to view the thing in portrait mode, and it scaled this site down to fit the new width of 768 pixels across. If I thought the font looked small before, everything looked really small now. Then I borrowed my brother's iPhone for another peek at an even smaller resolution and found that my website was pretty unusable (well, usable if you don't mind putting up with some serious eye strain).

Huh, this isn't ideal, I thought, eyes still squinting at the tiny font on the tiny screen on this tiny device, and thus began my trek through the web design world once again.

If I look back at the history of this site, it's had this general layout since 2009. That's 3 years of this light grey gradient, headed by a picture of a planet from one of my space pics from 2007, covered by GDI and Nod logos from the original Command & Conquer games of the 90s.

The internet has changed a lot since 2009, and so the web design landscape has also moved to try and keep up: HTML5 and CSS3 support have taken off thanks in part to innovative browsers like Firefox and Chrome (allowing web designers to do a whole lot more with their websites with less effort), and browsing on mobile devices is very prevalent with the proliferation of larger-screen smartphones and tablet devices.

All of this has created new challenges for web designers, many of which they've already taken to address with things like responsive and adaptive design philosophies. Things I didn't really know about until a month ago.

Combining all of the above, suddenly that 3 years seems like 30 and I feel like I'm at least 2 steps behind the internet curve.

So: site redesign time! The goals: a new look that scales/adjusts to different device resolutions, making use of the advances the HTML and CSS languages.

If it's anything like before, this should take about a month of my spare time to accomplish. I've already tried using this last long weekend to do something with it, but I ended-up spending that time scribbling layouts in a notebook then staring at the computer screen in an attempt to translate my scribbles into code, turning it into something that I actually like.

I also took at Google Analytics just to find out what browsers visitors used to come here so I can figure out where to put my effort, and found that 12% are still on Internet Explorer 7, which supports almost none of the goals I mentioned above :'(

Oh well, since when was life supposed to be easy anyway?

C is for cute, coeliac, comments

4 comments Posted in: Internet stories, Site updates

I normally Like or Favourite at least 1 YouTube video a day, sometimes even promote some comments that stick out, and it all ends up on my Facebook wall for people to peruse at their leisure or totally ignore. The stuff I usually like are music videos, particularly versions/covers done by others, and the occasional red panda video.

One time I came across this video of a guy singing "Home" by Edward Sharpe and the Magnetic Zeros, with his 6-year-old daughter (it was Jorge and Alexa, who you may have seen or heard of since this particular video has over 10 million views and it got them on Ellen). That video promptly ended-up on my wall. Around the same time an overseas friend of mine, bored at work and with nothing in particular to do for that week, found a video of a little girl named Rowan singing "Own Side" by Caitlin Rose. That video promptly ended-up on her wall.

When I spotted my friend with her own 'little cute girl singing some song' video on her wall, I thought, Bitch stole my idea! I then directed an evil stare at my computer screen and imagined the photons of hatred emitting from my eyes, entering the screen and travelling along the series of tubes that make up the internet to where it would meet her electronically-condensed evil stare and our combined malice would meet and duke it out on some virtual plain (likely some stretch of fibre-optic cable in the territory of Indonesia). Our little battle also played-out over some e-mails during work hours, each of us trying to convince the other that our own little cute girl was waaay better than their little cute girl.

Then maybe a week later, when the dust from our first virtual scuffle had settled in the waters of the Pacific, Jorge and Alexa made another video of equal or greater cuteness, and I thought, Yes! Time to tip this battle in my favour! So I posted it on my friend's wall and gloated: "My chosen cute girl continues to beat your chosen cute girl:"

2:42: "I pray every single day, for levorution!"

In the time between me posting that to her wall and her inevitable reply, I felt smug for the remainder of the day, letting the timezone difference between us create this 4-hour barrier where I basked in victory because she was probably still at work and couldn't fight back. When the little notification e-mail came that she had replied, I was preparing myself to accept her words of defeat. Overconfidently, I opened the e-mail.

And she cheated.

She went and found some other girl, also singing the Caitlin Rose song, but unlike little Rowan or Alexa, this was some much older girl who can play guitar, play piano, plays Diablo, makes pizzas, and has an accent that managed to grab my attention from the other side of the world.

The e-mail conversation between us flared-up:

Me: The reason you’ve resorted to posting videos of guitar-playing pizza-making Scottish-sounding Norwegian girls is because I won the cute girl battle amirite? Admit it! Admit defeat and stop trying to distract me with the girl of my dreams!
Her: You're welcome :P

Sensing my resolve crumble, my friend then followed-up with this video from the same girl, entitled "Carpet, Cookie and Coeliac" (she was participating in some Alphabet Vlog challenge, and this video was for the letter C) in which she describes a condition she has: Coeliac disease.

---
I had known about gluten allergies for a long time, but never knew that it was called coeliac disease until very recently. I learned about that name when I was eating lunch with my parents at a local burger joint called Burger Fuel. At the tables, Burger Fuel was promoting their new gluten free buns using this little piece of advertising:

Burger Fuel gluten-free buns flyer

The ad made no sense to me. All I saw was a black-and-white picture of 2 guys with what looked like some weird song lyrics over the top. WTF? But you know who did get it? My mum. So she broke it down for my dad and I, using that teacher's voice normally reserve for preschoolers, or for those moments of smugness when you're feeling intellectually superior:

  • the 2 guys are Simon and Garfunkel
  • one of their songs is called "Cecelia", so the lyrics are to the tune of Cecilia, replacing 'Cecelia' with 'CeCoeliac'
  • and a coeliac is someone who is allergic to gluten; the extra 'ce' was just there to fit it with the song

O_o

"Ohhh!" my dad I and I said as the five-thousand-piece puzzle that was Burger Fuel's flyer suddenly came together in our minds. I complained that this had to be the least effective advertising campaign in the history of advertising campaigns because of the background knowledge and prerequisite age one needed to even begin to understand what the hell it was all about.

Way to go Burger Fuel; an ad targeted at smart 50+ year olds.

And that my friends, is how I learned the word coeliac.

---
Anyway, after watching Ena's video as she goes through the grocery to buy things for herself because there's not a whole lot of selection for those allergic to gluten, I kinda started to feel a bit bad for her and for coeliacs in general. She also makes some pizzas in the video using gluten-free flour, and later that week I made a pizza using standard flour. As I put the final toppings on my pizza and admired my creation, Ena came to mind and I thought, Oh man, this pizza would probably kill her... I then put the pizza in the oven with a lot less enthusiasm than I had just moments before.

And the last few times I went to the supermarket and passed by the bakery section or the cookies/chips isle, all I hear is Ena's voice from the video when she says, "...all the lovely cakes I cannot have... all the cookies I can't have..." I then I step off the rear axle of the trolley that I was riding and continue to push the trolley like a normal person instead.

My friend and I seem to have come to some unspoken cease fire in our little war, probably because she's now found something else to occupy her time at work (I hope it's actual work) and probably because with one of the guys at my work on leave as my current project at work nears the finish line, my own workload has amazingly tripled. For some reason when there's a task to be assigned that isn't really anybody's forte, they randomly pick someone to give it to, and that random person is always me.

Random number
It seems I Am Number Four

*sigh*

Oh yeah, I got the comments going over the Easter weekend and have been testing them ever since; finding little problems with there here and there and fixing them when they arise. I'll be relying on you guys to tell me what you like/dislike about how I've implemented the comments here, and you can leave a comment to do just that :) But, if comments are still broken, tell me on Facebook, Twitter, or hell send me an e-mail.

No comment

Posted in: Site updates, Thoughts

For a long time now - ever since this site went up in its original form over 11 years ago - I've gotten by without comments to my news updates / blog posts.

Well, for the first few years in this decade the most popular form of 'commenting' was writing into a site's guestbook (man that's old school, remember those things?). But then once blogging became more popular and the ability for a visitor to leave their mark on a person's rantings became the norm, I continued to stay away from having comments on this site because I've managed to convince myself that not enough people come here to read the rantings of someone who has way too many hobbies and simultaneously way too much spare time to write about those hobbies.

Blogging demotivational

The 'Email Me' link at the top of this site has been good enough for some people: my mail archives include plenty of e-mails from people over the years who have asked me for help regarding that Red Alert campaign I put together a long time ago, and even one time last year I got an e-mail from the author of one of the books mentioned in my tirade against the blossoming literary genre that is Zombie Fiction (rant against zombies here, author response here).

(My inbox has also had the occasional e-mail from online casinos wanting to put their ads on my site, or from people wanting to game the Google search results system by including me and my site in part of some link exchange program. I don't really know why anybody would want my site involved in that, but after the discoveries in my previous post, maybe it's because my site does so well in searches for chocolate chip cookies?)

There have been some pushes and shoves from people over the years to put comments on my site: sometimes a faraway relative just wants to say hello, other times my brother just wants to troll the crap out of this place and post links to irrelevant pictures or videos in an attempt to make you laugh or get you Rick Roll'd. But recently, after all these years of getting by without comments, I've finally decided to do something about it.

And in doing so, I've rediscovered one of the other reasons why I didn't add comments to this site in the first place: it's a lot of extra work.

As a stubborn programmer, I wrote the little 'engine' that runs this site several years ago. I never programmed comments into it; all it really is is a content-serving machine: you give it a URL, it puts together the page you asked for.

Then 2 years ago, part-way through Blog Every Day April, I added a chunk to it so I could write blog posts to it from anywhere I could get an internet connection to make my task of participating in BEDA a helluva lot easier. That was quite a time-consuming undertaking for me then, mainly because I kept designing and redesigning how it all worked because I never had a proper model or idea for how writing posts should be done.

Now I'm doing that again, this time for allowing people to add comments, and I discover that what works for me and writing new posts doesn't necessarily work well for general users and writing comments. That, and now that I'm going to open up an avenue for the internet in general to add content to this site, I have to think about security and things like preventing scripting attacks, spambots, and other malicious users...

I'm not a whizz programmer. Hopefully I at least fall above whatever mark constitutes an average level of programming skill. Sometimes I wonder why I don't just install something like WordPress so I can leave all the coding trouble to someone else. But as I was trudging my way through all the work needed to get comments going, I was reminded why I put myself through all this trouble: I'm learning, and it's this constant learning that keeps me above the 'average programmer' line.

So I'm persevering, and hope to have something working shortly after Easter. I was talking to a friend over Skype about this, telling her about all the troubles I was going through:

Me: But right now, trying to see if I can get comments working on my site.
Her: he he he
Me: What a mission. Just so my brother can make his words public, and so Laura can tell me she rulez teh intarwebs
Her: oh the things we do for the people we love eh ;P
Me: *sigh*

The things I do.

Google knows all

Posted in: Internet stories, Site updates

It's been well over a month since I complained that this site had the stability of a house on stilts, because it's been well over a month since this site has imploded of its own accord, ie: it's fixed! :D

Well, it's been fixed for well over a month, meaning that for a while now my logs are no longer artificially inflated by program exceptions caused by annoying errors, and my visitor counts are no longer artificially inflated by my own make-sure-it's-all-OK visits either.

It's that latter one that I was particularly interested in getting some clean numbers about, because when I ran this site using web hosting provided by other companies, they gave me a whole bunch of tools to track visitor numbers and stats. They were OK for what they did, but they didn't really paint a very good picture of the sorts of things I was interested in, like how they got to my site in the first place. So when I moved to DIY web hosting earlier this year, I went looking for a visitor tracking package that would do what I wanted.

Cue Google Analytics.

Google is watching you

Like many other visitor tracking tools out there, Google Analytics can tell me about the browser you're using to read this, the resolution of your monitor, even what city you're in (provided you haven't done sneaky things to your connection to mask that information). That last one in particular helps me gauge what percentage of my visitors are my friends, family, and combined with other tell-tale signs can let me know if that last visitor was my mother. (Hi mom!)

One thing that I really like which previous visitor tracking tools I've used hadn't offered, was the ability to let me know what search terms are used to bring people to my site. It makes me visit my Google Analytics dashboard quite often as I watch with interest the search terms used to bring people here. And the results... well they had me scratching my head.

The #3 search term used to bring people to my site is campaignultraq20b which is related to the Red Alert campaign I put together and released years ago as a bit of fun in modifying a game.

That one makes sense I thought, and so did search term #2: emanuel rabina My name. A search for that in Google gives you this site as the second result (the first being my Facebook page). It made me wonder though, who the hell is putting my name into Google? It's not me, even though I've blogged about doing just that in the past.

The answer was revealed to me when I visited my dad at work one day and, standing at his desk, I told him about something I posted. I watched as he opened his browser to look for that something I wrote, but to my surprise he didn't open a bookmark or type my site URL into the address bar. Instead, he typed my name into Google and clicked the link in the search results.

Facepalm

It's not the first I've heard of such behaviour though - I've read many articles about your ordinary citizen using Google as the gateway to everything; putting site names, even site URLs, into Google search and clicking on the results. So while I had heard of it, I never expected it of my tech-savvy family: me a Java programmer and web developer, my dad a computer programmer of a language whose acronym I now associate with Rocket Propelled Grenade or Role-Playing Game (What? RPG is a programming language? Get outta here!), my brother who has an iPhone and is more connected to the internet than a cloud service, and my mum who is the proud owner of an Amazon Kindle e-Reader and often sends the rest of the family e-mails about what's hot in tech (or YouTube).

That was the day I introduced my dad to bookmarks. I'll get around to telling him about RSS feeds (like mine) as a method of keeping-up with news from his favourite sites instead of having to do the rounds of visiting them every day and hoping there's an update, but I'm afraid that too much tech all at once might just make his head asplode.

Now brace yourselves, because the #1 search term used to bring people to my site is: chocolate chip cookies

Chocolate chip cookies
What. The. Hell.

I kid you not - the most visited page on my website is my blog post, Giving-up on giving-up on baking, which I wrote about how I back-tracked on a previous post where I was so frustrated that I was surrounded by so many skilled bakers that I just gave-up on baking altogether!

I don't even know how that could have happened. I've tried putting "chocolate chip cookies" into Google, and I'm not even in the first 10 pages of results! How desperate for a cookie recipe must one be to end-up here!??!

So if you found my site by accident because you were looking for actual content about baking but instead landed here and had to put up with me whining about baking, could you please send me an e-mail (link in the 'Email Me' part of the top navigation bar). I'd really like to know how you got here.

Malfunctioning site is still malfunctioning

Posted in: Site updates, Thoughts, Writing

Ugh, got another e-mail about my site suddenly dying again, and at the beginning of my work day too! That meant I couldn't do anything about it for hours until I got home since access to non-HTTP ports (like those used to control my server) is restricted by a proxy with an iron grip choke-hold over the pieces of cable between my work and the general internet. I've been trying a bunch of things to fix these intermittent crashes, but none of them so far seem to stick.

I know what the general problem is now thanks to finally having access to all the logs and other process information I couldn’t get with my old hosting plan. (For the technical minded amongst you, the issue is the timeout between this site and the database: old connections need to die, but the connection pool isn’t killing-off those connection, it’s just trying again and again when it should be discarding the old connection from the pool and making a new one instead) I've done the research (read: Googled it) and I've come up with at least a dozen ways to solve it, but knowing my luck I've listed the potential fixes in the wrong order such that the solution I need is right at the end. Knowing that, I should jump right to the end of the list and work my way up from there, but if my luck stays constant, then the solution would've been the next one to try had I not gone and jumped to the end.

So yeah, just a rant that I am aware this place is still as flimsy as a straw house, and that I am trying to reinforce it.

Sad panda
Sad panda wants this place fixed

Other things going on with me include joining the 'write a novel' bandwagon. Based on the ideas that came out of a brainstorming session my guitar buddy and I had last year when trying to come up with a song, I found myself wanting to develop the ideas we had for that song a lot further since the 5-minute finished product I ended-up with then left me with more questions than answers. The character central to the song also started developing a mind of their own and wanted out of my head.

So, I started writing; letting said character leave the small empty spaces of my mind through the fingertips on my keyboard, and into the largely free disk drive of my computer. Now they have gigabytes of space to roam free and grow in.

(What bothers me is that what I've written so far condenses to roughly 68KB of Microsoft Word document, which leaves me wondering: if they were bursting to get out of my head, and now they’re happy at just 68KB, does that mean, if brain space could be measured, that I only had 68KB worth of brain cells left? (That actually might explain a few other things...))

I've been at the writing thing the past few weeks, helped by the fact that some recent real-life happenings have put me into a really melancholy mood. I remember reading an article about how angst and melancholy works as a motivator for creativity, so I tried to find it to link to it here. I didn't find the exact article, but I found a better one which pretty much every other article on the subject seemed to link to:

I'm on the side that believes this idea because my own past is littered with examples, the most prominent being that I picked-up guitar to get over a girl, and I created this space wallpaper (the first of many) because I was losing a friend. Pretty much any time someone has observed some sort of change in my direction, it's very likely I did that because I was trying to get passed something that put me in a rut.

Unfortunately for me and my mental health, I take to dwelling in these situations all too eagerly since I know I can use them to my advantage when I'm trying to get through the next song I'm learning, or the next paragraph I'm writing. I then feed the melancholy with a sad song or some extra misery, which in turn feeds the creative process, and then I'm stuck in this morbid loop until I play that last chord or type that last word.

Did you mean recursion?

But just like my stomach knows I can't keep eating McDonalds every day of the week, my mind seems to know that I can't stay in these grey rooms forever. All of a sudden I'll find myself at the end of these tethers of gloom, and I'll wake-up the following morning in one of the best moods I have ever been in, and with another product of the creative process up my sleeve.

It's like I can't manage to stay that way forever, because like anything in excess, it can't be good for you.

Malfunctioning site is functioning

Posted in: Music, Site updates

If you're reading this then you're now seeing the recently-migrated-to-OpenHost version of this site - with the old site scheduled to come down at the beginning of February. I'm pretty sure the worlds' DNS' would have updated by then and ensure that all traffic points to here instead of the old place. (I wonder what would happen though if you still try to go to the old site location when it's not there anymore... your browser shooting packets of data into the ether...)

So like I said in a previous post, if this site starts to mess-up on me, at least now I'll have the ability to properly diagnose and correct any problems.

Oh, and first post of 2011 :D

---
A few weeks ago, still thinking about the year that was, I watched a mashup of songs that made Billboard Magazine's Top 25 for 2010. Not as good as the 2009 one I reckoned, but it got me wondering: what were my favourite songs of 2010?

So I fired-up my music player and created a playlist with some very simple criteria*:

  • all songs released in 2010
  • sort by play count from most to least

(It's not a very fair test, I know: songs from earlier in the year would have an advantage over later ones, but I don't know how the hell I'm going to create that kind of criteria filter.)

Excluding the top result (which had a ridiculously high play count because it was a song I was learning to play on guitar - repeated stops and starts and all that), it was a 3-way tie:

1. Barenaked Ladies - You Run Away

I was very surprised to see this song amongst the results. Sure it's a nice song, but not one that would come to mind if you asked me to name my favourites from 2010. This is the only Barenaked Ladies song in my entire music collection - I don't even have their ever popular 'chickity China the Chinese chicken' song, One Week, which was released all the way back in 1998 and is the only other song I know of by these guys.

2. Ke$ha - Tik Tok

Oh now this is just shameful. I'll admit to enjoying the occasional pop tune, but how the hell this got into my collection AND make my 'top 3', I'll never know. I can't even blame magical faeries or something like that for having commandeered my computer and over-playing this song, although I did have lots of ants in my apartment once; caught them chowing-down on some banana choc chip muffins I made and left out on the kitchen counter. It's not totally impossible for them to find my computer and put Kesha on infinite loop... right?

Meh, I'm not even going to bother embedding the video. Just go an enjoy this collegehumor.com parody instead: http://www.collegehumor.com/video:1935457

3. Brooke Fraser - Who Are We Fooling?

Finally, a result I can approve of.

I only became a Brooke Fraser fan towards the end of 2010. Sure, she's a local artist and has been around for several years, so everybody in the country has heard of her and heard her songs - even my friend's walking-down-the-isle wedding song was a Brooke Fraser song - but I wasn't a fan. Then one boring day I was just following YouTube suggestions, letting the links take me where they may, and after hearing someone's rendition of one of her songs that I hadn't heard before, thought, "Wow, that sounded really nice." So I went to find the original, listened to that, liked it even more, then remembered that she had been on the news just a few days before for an interview about her recently-released album.

"Isn't she touring the country for the album release?" I wondered, so I hit her site, looked at the tour dates and immediately saw the one that effectively said: playing in Wellington TOMORROW NIGHT YOU IDIOT!

I made a gamble that moment: I quickly texted a few friends who might have liked going to her concert with me (1 didn't want to come, 1 said "Brooke who?"), then tried to buy tickets the following day.

My friend Claire got back to me, said she would like to come on the proviso that it was a sit-down concert (she was on crutches at the time), which it was, and that I could get tickets at ridiculously short notice, which I managed. Everything was falling into place so easily, like - taking a spiritual sort of tack here - the universe was making the path to the Brooke Fraser concert as smooth as possible as if to tell me, "Hey man, you'll enjoy this concert."

Which I did.

Spoke too soon

Posted in: Site updates, Work stories

So about a week-and-a-half ago I said that I had finally reduced my workload! I was telling any friends I met, I posted it on my last blog, I had time to go out at night, and I even had time to practice some more guitar! (something I haven't really done since I was dumped* by my guitar buddy) Just when I was starting to enjoy my new 'freedom', the forces at work must have noticed my higher-than-normal levels of happiness and excitement because today, my workload crept back up on me, knocked me out, and when I awoke I was bruised all over and missing my left shoe.

It seems I jinxed myself when I started telling others that I'm no longer as busy as I used to be. I don't know how it happened but since yesterday I've been given additional work and by the end of the day I was adding overtime to my timesheet...

Overtime! I hadn't done overtime for maybe more than 3 weeks now. I mean, I did when work started dangling the do-overtime-get-paid carrot in-front of me some months ago, but I quickly learned that I'm not made for doing too much because the OOS monster that lies dormant in my wrists most of the time started to make a fuss.

Work isn't the only thing to turn on me the moment I thought it was all working: this website also decided to go belly-up sometime during the day, just when I was starting to feel confident that my last fix had solved all my problems.

*sigh*

Such is life.

---
* OK so I wasn't really dumped, but I got an e-mail from her saying she wanted to take a break from our guitar practices.

Do you remember those old black-and-white movies with scenes like where the male lead is waiting at the station for his love before the train departs; he's waiting desperately for a sign of her so they can go away together, but instead he hears the train guard/conductor calling out his name; he tells the conductor that he's the person he's looking for, and the conductor hands him a letter; the guy opens the letter and as he reads it, the voice of his love reads aloudthe words written on the letter and the expression on his face turns to dismay as he reads/hears the reasons or excuses for why she can't come?

Her e-mail read like one of those letters, and when I reached the end of it my initial reaction was, "Dammit, I've been dumped!" OK, maybe I have too active an imagination. That, or I shouldn't have seen Casablanca so soon before.

Broke my blog

Posted in: Site updates

Time difference between this post and my last one? Some one-and-a-half, almost two, months, which is roughly the amount of time it took for me to get my site back into working order again.

Yeah, I broke a lot of my site with my recent program updates, coupled with a migration process within my current web host to shift me to a hosting package with newer stuff on it, so have spent the last 6+ weeks putting it all back together. It's still pretty fragile at times, and often when checking-up on things I find my site just giving people the error page and not much else, but I'm getting there... slowly.

But now it's in good enough of a state such that I can make blog posts again, so I plan on getting this place updated over the next few days with some of the ideas that have been left to stew inside my head.

The system is down

Posted in: Site updates

I was thinking that I'd continue the last blog post's theme by saying that not a lot has happened in the 'life' part of my currently-over-worked existence. The instant I thought that and started typing it out on my keyboard, I realized how false that was. A lot has actually happened. Is it all blog-worthy? Maybe, maybe not. Then why aren't you blogging about it? I hear some part of me asking myself.

For me, it's that time in this website's never-ending life cycle when I feel that the code/system running 'the MooCow' needs an update. It happens maybe every 18 months, the feeling that the site just needs some sort of modernization, and so I start dedicating my spare time towards the effort.

The last time this happened was the beginning of 2009 where I updated the look of the site from this, to what you see now. So that took about 2 months and was mainly a visual overhaul. This time it'll be a system/back-end overhaul, meaning you dear blog reader won't see any difference at all.

Spot the difference
Once this is over it'll be, 'spot all 0 differences'

The motivator for the 2009 visual overhaul was that the look of the site was starting to feel a bit dated since it was also then that I really started to wade my way into the web design world and expose myself to a lot of stunning and beautiful-looking websites created by all those web designer types. As somebody who wanted to be a part of that world, it pushed me to update the look of the site, and so I did.

And the motivator for my current system overhaul? I just feel I've learned a lot more and improved as a programmer since the last system overhaul. So, in my constant struggle to feel relevant in the ever-shifting IT software development landscape and to keep my own skills sharp with some established technologies and practices that I don't already use in my job, I kicked the 2010 system overhaul about a month ago.

It's also these times that I find myself asking why I don't just pick some sort of CMS or blogging platform (eg: Wordpress), install that, and never have to worry about it again. Then I remember: I'm a programmer. We re-invent the wheel and fix things that aren't broken every day because it's how we learn, it's what we enjoy doing, and it's the only way the world is going to end-up with better wheels - lord knows the software industry could do with some better wheels.

GRRR @ script.aculo.us

Posted in: Site updates

Well... that didn't take long. After discovering my website Chrome/Safari (WebKit) woes earlier this week (although only making that blog post last night), I fixed the menu bar rendering issues last night, and then fixed the Twitter script issues just now.

For those technical minded amongst you, the culprit was in the following lines of JavaScript which used script.aculo.us, a JavaScript library for cool effects/animations (like the sliding fade-in effect of the Twitter items on the right-hand side). I use script.aculo.us's Builder class which is handy for inserting HTML elements into a document, like the Twitter feed:

twitterdiv.appendChild(Builder.node('script', {
  src: 'http://twitter.com/statuses/user_timeline/u1traq.json?' +
       'callback=twitter.callback&count=5',
  type: 'text/javascript'
}));

Chrome just didn't like the Builder.node() function in this case (I use it in a bunch of other places without issues), maybe because it was trying to insert a <script/> node, I dunno. But by replacing it with standard DOM functions, it did the trick:

scriptnode = document.createElement('script');
scriptnode.setAttribute('type', 'text/javascript');
scriptnode.setAttribute('src', 'http://twitter.com/statuses/user_timeline/u1traq.json?' +
  'callback=twitter.callback&count=5');
twitterdiv.appendChild(scriptnode);

Now all those browsers are happy, and so am I.

GRRR @ WebKit

Posted in: Site updates, Web design/development

Earlier this week I finally got to see what my site looks like in Google Chrome. I was just showing someone (the same inquisitive someone who asked me what my mum is like), during our first guitar session/get-together, some of the older space pics I've done (well, they're all old ones since I haven't created anything new on that front since mid-2008) and noticed that something wasn't rendering correctly!

*gasp*

I had a mate of mine check it with Safari on his Mac (since Chrome and Safari both use something called WebKit to render web pages) and got the same result:

My site in Safari
This makes me cry

That wasn't the only problem: the Twitter feed on the right-hand sidebar seems to be stuck on 'Loading...' in Chrome/Safari, but otherwise fine in Firefox and IE7/8.

So I downloaded and installed Chrome, attempted to fix these little issues, and only got so far as to fix the layout of the menu. As for the Twitter feed, I've taken it down in the interim.

Continuing the computer-ish theme for the week, earlier tonight I was asked to install Skype by a friend from overseas (the one I called the neck-licker in this old BEDA '09 post, who has unfortunately been sent back to their home country because they couldn't stay in New Zealand). I thought it a bit funny that, before this week, I had never touched Skype - not even with the electronic equivalent of a barge pole - but for the first time this Monday I was involved in a Skype call from inquisitive guitar girl's end, had my friend the hug nazi mention it because her netbook has a built-in webcam, and am now being asked to install it.

As I was downloading the program, at around the 50% mark a realization hit me: I don't have a webcam... or a microphone. I told the overseas neck-licker as much, and they replied in kind:

what kind of ASIAN COMPUTERSPECIALIST are you?

Good question.

As one of the IT guys in my group of friends, I don't even have some of what is now basic hardware that is so run-of-the-mill that many computers and devices come with these things attached or built-in. I have a million cables lying spare, more computer screws than you can shake a stick at, and even more twist ties from all those wires that I could create some sort of contemporary art piece and break a Guinness World Record in the process! But, a webcam and microphone are nowhere to be found.

At least I'm still more feature-complete than the iPad.

Hitler (and much of the general public) is not amused

Leading by example

Posted in: Real life, Site updates

(The first real test for my can-update-this-blog-from-anywhere update. Fingers crossed...)

I've just come back from a ceroc weekend in a city not too far from my own. I was going to write a bit about it, but I noticed I had the stuff below on backlog. I thought I posted it before I left, but it seems I didn't. Silly me.

Well, I'll get that one out of the way first, then maybe write something about "making it big" in Palmerston North ;)

---
On my way to work on Friday morning, I was walking alongside a little girl and her mother. As we approached a crossing at an intersection, the little girl pressed the button to light-up the Walk / Don't Walk lights on the opposite side of the road. The girl was then reminded by her mother to wait by her side until the "green man" (Walk light) lit up.

The traffic in either direction was non-existent at that time. I could've walked lazily across the road without encountering so much as a gust of wind, but I stood my ground. When several others who were walking behind us reached the intersection, they continued forward, jaywalking onto the path of incoming nothings. Tempted to follow them, I continued to hold my ground.

I was rooted to the footpath by a resolution I made with myself several years ago...

Ducks crossing the road
The streets can be rough

During my high school years I often walked with some of my friends after school - they had to board a train at a station which was on the way home for me. After one such walk, I said goodbye as their train was approaching and continued on to a crossing some hundred metres away where the railway barriers were down and the bells were warning of an incoming train. Across the tracks from me were a bunch of kindergarten children being held-back from the tracks both by the loud bell noises and by the instructions given to them from their kindergarten teacher.

Now the train was visibly stopped at the train station, so I thought it safe to cross the tracks. So I did, in-front of all those little kids, in obvious defiance of what their teacher just told them.

After crossing, I looked back at the train and was surprised to see my friends walking my way. Curious as to why they weren't on the train, I half-ran back across the tracks to meet them, then we all ran across the tracks again before the train had a chance to accelerate.

"Geez Em," one of my friends said, "you just crossed the tracks 3 times, and in-front of all those children! What kind of example are you setting?" he joked.

Not a good one I reckon. There I was, blatantly defying what the kindergarten teacher had just told her charges. Their little minds must've been brimming with the unfairness of the situation. I could imagine their questions to their teacher:

Little kid: "You said we shouldn't cross the tracks. Why did that guy just cross the tracks over and over?"
Teacher: "Because he's a bad person and he's going to hell."

OK, so immediately jumping to calling some stranger hell-bound might be a bit of a stretch, but it's the simpler choice when the alternative is having to explain to sub-5-year-old minds the concepts of depth perception, velocity, and perceived risk.

Still, I felt guilty. One of the last thing I want on my mind is the knowledge that some of the numbers in the next generation's pedestrian injuries/fatalities statistics may have been caused by my terrible example.

As an episode of Joan of Arcadia once taught me, "it's not enough to feel guilty. The guilt has to be accompanied by change." And so my change was this:

At designated red/green man crossings, and when children are present, to not cross the road until the green man is lit.

It's not exactly New Year's Resolution material, but it's stuck with me for years; so long now that some friends and family think I'm coy when it comes to crossing the road and are actually getting quite impatient with me.

So there I was that Friday morning on my way to work, waiting for the light to turn green and being responsible for young lives, simply by being more responsible with my own. It made me feel very grown-up.

Blog on hiatus

Posted in: Site updates

It's only been 3 weeks since my last post, but already I feel as if I haven't written as much as I should have. What's been happening is that I've been working on some behind-the-scenes site updates (ie: programming) to make the blog much easier to update, and updatable from a computer that isn't my own.

All this time I've been updating the site using a rather manual process which can only be done from my own PC. It's worked for me so far, but throughout BEDA and the last month I found myself in situations where I wanted to write something but was very far away from my computer. Other computers were on hand which I could've used, but the way things were, it just wasn't possible.

I had hoped to implement these changes rather quickly, but as history has proved again and again, any updates I want to make are never completed quickly. Some of the updates are in effect, but there are still a lot of kinks that need to be worked out. So for this seemingly-apologetic post, I've continued to use the old way of posting.

And, for the remainder of the week, I'll write-up several posts about the many things I wanted to write about from the last couple of weeks, but kept holding-off on doing because I wanted to write them after I had updated the site.

BRB

Website redesign 2009 - part 4

Posted in: Site updates, Blog Every Day April

Gonna take a break from the business blogging tips for today to just mention some site updates that have finally kicked-in.

Firstly, the SEO-friendly URLs are now in place. That is, no more URLs that look like: Content?Page=Blah&Thingy=Blah. They now make a bit more sense to both people (more human-readable) and search engine spiders/bots that crawl the web.

Secondly, I removed that fancy overlay effect from the Artwork and Writing pages because it actually prevented someone from middle-clicking the links to open them in a new tab. Whoops. So a big fat usability blunder on my part.

So what's left on the 2009-redesign-to-do list? Automatic updates.

Updates to this blog are actually reflected in Facebook, but for me to get them to show up I have to go to Facebook and give it a kick in the guts to let it know that a new blog post is up. It's a small annoyance, but one that I've been meaning to remedy for a while now.

Website redesign 2009 - part 3

Posted in: Site updates

More site updates:

  • JavaScript effects are now in place
  • Twitter feed is now displayed to your right...

...or so it should be if you're using Firefox.

I've recently installed the Google Chrome browser to see how my site fares using it (and because of some 'OMG Google Chrome pwns' rants from my brother), and let's just say that the site experience isn't exactly great in it:

  • background images at times were missing
  • PNGs with CSS opacity don't display correctly (this is a known bug with Chrome)
  • and Scriptaculous - the JavaScript library I'm using for the effects - either runs slow or not at all

Although if one of my earlier posts is anything to go by, cross-browser compatibility isn't my greatest concern at the moment. I'm really just having fun messing-around with all this new stuff!

Website redesign 2009 - part 2

Posted in: Site updates, Red Horizon

Some minor site updates:

  • splash page removed for now, tracker moved to main layout
  • CSS fixed up on some buggy pages (but still not IE tested)

My hosting service does provide me web statistics, so I really should get rid of that old site counter, but I noticed that the hosting service stats don't include URL query strings - the stuff after the ? character in a URL. Since my site is kind of built around the query string, this kind of skews the stats and doesn't give me a very good picture. It's been on the To-Do list for a while to get rid of ?-based URLs on this site, 2 reasons:

  • having URLs like artwork/name_of_artwork seem to be more the norm around the internet
  • URLs like that are more SEO-friendly

And we all like being SEO-friendly so that Google and the like can put us at the top of everybody's search results ;)

In other news, the last couple of weeks have seen some Red Horizon related queries *gasp* Yes, that's right, stuff has happened on the old Red Horizon front, but not programming progress I'm afraid.

Firstly, Nyerguds (Google his name, it'll come up in a lot of C&C circles) asked for the latest Red Horizon: Utilities stuff so he could refer another C&C modder to it - YAY, people are using my stuff!

Secondly, rm5248 (another C&C fan who frequented the now-defunct CNCTechCenter site where I used to put the development thread of this project) asked to take a look at the code to see if he could do something with it. The idea that I'm losing a tiny bit of ownership on my code did make me hesitate in his request, but it's not like the code was doing anything better sitting on my computer and not going anywhere. I will continue the project, but with the way things are with me now, not anytime soon. So I gave him the code in its current state - which is to say error-ridden and doesn't compile - and I wish him luck in whatever he wants to do with it.

Website redesign 2009 - part 1

Posted in: Site updates

So I've finally finished the site redesign... almost. What you see now is a fully-functional version of what the final product is supposed to look like... provided your browser renders it a lot like what Firefox 3 does. Yeah, I haven't even tested it in IE yet.

Over the next couple of weeks I'll be adding the fancier features like showing display items (like artwork, stories, etc) as overlays instead of going to a whole new page which had the potential downside of losing navigation. I might also have to change the splash page to match the new look - or get rid of it altogether.

Welcoming 2009

Posted in: Real life, Site updates

I haven't written anything up here since before Christmas '08, so I felt compelled to put something up here just to fill the silence and pre-emptively dispell any rumours about my death. Now it's pretty much Valentines Day... cripes.

So what have I been up to in the month-and-a-half since my holidays? Working on a website redesign.

It's a new year, it's time for a new look I thought. And so, what was supposed to be a new look for 2009 which was supposed to come out in mid-Jan, is now looking at being more of an early-March thing. Or, if I wanted to be more sarcastic (or more realistic), an Easter thing.

I've been trying to add a bunch of new tricks I've learned since the last makeover (circa 2007). One of these things is something fairly new to me: Twitter. OK, so that thing has been around for a long time, but only recently, through listening/watching other podcasts of other members of the IT industry plugging their own Twitter URLs, have I felt compelled to join up. I'll be working on adding my tweets to my website (another sidebar?!?!), likely integrate it with my Facebook as well, and start getting into the micro-blogging habit.

So you can find me at http://twitter.com/u1traq (note the 1 instead of an L. 'Ultraq' was already taken, under the guise of ultraQ... bastards), and apart from updating the world with whatever inane activity I'm doing at certain points in time, I think it might actually be useful for site-related mini updates, particularly when I get back to working on Red Horizon.

Tweet tweet.

No time for myself

Posted in: New toys, Real life, Site updates, Video games, Writing

One thing I foolishly thought that I'd have more of when I moved into my own place, was time. Oh how wrong I was.

When I was younger, I had this habit of finding waaay too many hobbies and messing around with waaay too many different things. Maybe it's just the thing to do during those teenage years; experimenting to find out who the heck you are and who the heck you want to be. Only a handful of hobbies from that era have survived - drawing and playing the piano (whereas digital art, writing, playing the guitar, and computer programming could be considered post-high-school pursuits) - and yet I haven't yet found the time to improve on a single one.
OK, so it doesn't help that when I moved-in, I went and bought an Xbox 360 and Halo 3, and since then Devil May Cry 4 and I've borrowed Gears of War from a workmate. Now I'm contemplating Guitar Hero 3, although the smarter part of me is telling me to curb the spending.

Despite the new distraction/s, I've found that most of my time is getting lost to cooking. Yes, cooking.

Slightly motivated by a story I heard of a family friend who moved back home because they missed the real homemade stuff their mother made, I've been stocking my fridge and cabinets with raw ingredients and making genuine attempts to recreate the meals that I grew-up with and then some. The good thing is I've found I'm not a total failure when it comes to cooking, and have even had a friend who lives nearby over several times to eat the leftovers. The bad thing however is that there are always leftovers because I'm not yet used to cooking for just myself, and so always end-up with this elaborate meal for a family of 4.

Food aside, there is one hobby I've managed to progress, but only because I've hit a bit of a lull at work: the RSS feed for the Writing section is now done (unlike the other feeds, I couldn't fit entire stories into the feed because they all rely on special formatting which you can only get by visiting the page), hurrah.

Adding Media RSS

Posted in: New toys, Site updates, Artwork

And on the back of the last post, I have extended the RSS capabilities to the artwork page as well. Not only that, but I've incorporated Media RSS into so that it can be used with flashy apps like the Firefox plugin CoolIris.

With CoolIris, you can now browse my gallery in sweet 3D:

Artwork gallery in CoolIris 1
Artwork gallery in CoolIris 2
Artwork gallery in CoolIris 3

Pretty eh?

And now, for the writing section.

Adding RSS

Posted in: Site updates

After the last site entry, I was trying to see if there was a way to integrate these posts into my Facebook profile so that friends and passers-by could read about my rants and thoughts straight from Facebook. A quick look through available Facebook apps gave me the usual Wordpress and LiveJournal ones, but those require accounts and blogs at their respective sites. Further down the page of results was a standalone feed reader/aggregator that I could add to my profile, but it required some sort of feed from my site, whether it be RSS or Atom. So, looks like it was about time I added a feed to my site.

With the current design of the MooCow engine, it was really easy to program a new RSS component into it. Everything is already in XML which really helped, and there are tonnes of examples of RSS in use throughout the Internet. One example I kept coming back to was the one run by my friends' own site (although I suspect that the SilverStripe CMS is behind much of the magic of that site to begin with).

I know I'm not the fastest programmer in the world, but the code changes required to add RSS only took 2 days of my spare time! That's really fast by my standards.

This was only for getting the Home/blog section up and running with RSS. I'm really not yet sure if I want to RSS-ify the other sections of my site (and even if I do, it'll only be for the Artwork and Writing sections), but if I head down that path that should only take me an additional day.

Now, time to get this post showing-up on my Facebook profile...

Experimental theme

Posted in: Site updates

A few posts ago I said I was gonna try create a new theme for the site to test how flexible the new HTML code was. After almost a month, the new theme is finally done! Note, that the theme is still experimental, and currently only works for a small subset of people: those with the latest browsers and a screen resolution with roughly 800 pixels vertically within the browser's viewing area. Cookies are also required to have the theme 'stick' after the initial switch.

So if despite that disclaimer you wish to forge ahead, clicky clicky: Click! To switch back to the original theme, you can click here, or clear out the cookies from this site. I have the theme-switching mechanism available on the About page (until I find a place where I think it's better suited), where I'll be listing all (2) available themes and a small blurb about them.

If you've clicked the theme-switching link and don't know what's going on, what happened is that I've changed the stylesheet file that your browser requests when it views the site, but the rest of the HTML code stays exactly the same. This is similar to the sort of thing you'll find at the CSS Zen Garden. I've cheated a little here, in that each theme can also have an accompanying custom script. This is so that I can sneak in some Ajax stuff into the site, which if you didn't know is one of the technologies responsible for making many of your favourite Web 2.0 sites feel more responsive and dynamic. I want to add some Ajax to the display pages so that an entirely new layout doesn't have to be loaded when you click to view one of my pictures or writings, thus creating a more seamless transition.

Well, that's what I'm hoping for anyway.

Update: multiple themes no longer exist.

CSS attack

Posted in: Site updates, Web design/development

In the past week I've finally decided to go all CSS Zen Garden on my site and remove the last vestiges of layout information from the XHTML code, thus shifting it all presentation information to the stylesheet (the CSS file). For the most part, the site should look and act exactly the same as it did before. Minor non-CSS/XHTML changes include the movement of the About page to it's own section and the update of that page's content, and the re-tagging of news posts.

If you don't know what the CSS Zen Garden is, check out that link above. My take on it is that it's a site aimed to promote CSS-based page design and the separation of presentation info from the page code. This puts all of the design information of a page exclusively into CSS files, and with that you can let web designers go wild. Take a look at some of the 200+ user-submitted designs for the CSS Zen Garden. If you look closely (or just read what the page says), you'll see that the HTML code stays exactly the same from design to design; all that changes is the stylesheet file (and images) applied to the page. Pretty cool eh? What, no? Damn, I thought it was.

I'm not gonna go and start creating multiple stylesheets for my site, but I am aiming to make at least one, just to make sure that I did the whole thing properly. And if I like what I created, I'll make that stylesheet available as an option... somewhere.

Something old, something new...

Posted in: Site updates

...something borrowed, something blue.

So after a month of on-again off-again development, I've finally completed the new layout of site of which you see before you. I've taken a more blog-like approach to the presentation of elements, with proper datestamps on news, artwork, and writings. Accompanying the datestamps are categories or tags for these items, as well as a right-hand navigation menu allowing you to filter items by date or category. The option to sort by the original categories I had for these items has remained and is still the recommended way for viewing anything here.

Much of what you see here is still experimental, so expect things here and there to change over the coming weeks. The splash page will also need re-doing as it's look is very closely tied with previous layout.