The system is down
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.
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.
Generating HTML like it's 1999
I'm pretty much consumed with work at the moment: stories that I can bring to a social situation have dropped significantly - as evidenced by my plummeting blogging rate from roughly 1-post-per-week to some number that's lower than the morale of a Foxconn factory worker - and, barring that one dream in my last blog post where a wonderful Scottish accent turned into harsh pirate yarn, my most recent dreams have actually all been about work.
You know what's terrible about work dreams? The same thing that's terrible about those homework dreams you sometimes get during the high school and university years: you wake-up and, some time during the day, realize that your dream about completing the most awesome assignment that any teacher in the history of teachers is ever going to see - such that they will give you medals, prize money, and (for the guys, when your teacher happens to be hot, young, and female) offers to have your babies - never happened.
It's a terrible feeling of disappointment, and I felt that just 2 weeks ago when I had a dream I completed all my tasks in the most mind-blowing manner, then when I got to work and sat-down at my desk for the first time that morning, realized that none of it ever happened.
I sighed audibly, and nobody even looked my way.
The work I'm doing at the moment is the first big new-development project I have ever been on since joining this company straight out of university almost 5 years ago. Being the rookie when I came into work, I was always given the not-so-glamorous job of bug-fixing existing systems and attempting to undo messes made by the developers who came before me a long time ago. The worst cases were when the code was developed by a contractor or by somebody who obviously didn't care which college-grad-n00bie would be looking at their code in the future and submitting the detritus that they encountered to websites like TheDailyWTF.
It wasn't terrible work: I learned a lot, and the years since then have given me enough experience and grounding in my own programming habits to realize that I wouldn't have trusted that younger version of me to work on anything so important as what I am working on now. But it was very cushy work: never stressful, I always had spare time for my own projects and thoughts, and work never pervaded the life I lead after hours.
Now that's all changed.
One of the things I'm struggling with right now is JSF. (Here's where this post starts to get a bit techy)
For the uninitiated, JSF is one of many many frameworks out there whose objectives are, amongst other things, to make life easier for developers (like myself), particularly in creating very large Java web-based systems. That's the objective of pretty much any framework: to make software development easier by giving you a foundation to start with.
Somewhere along the way though, the creators of JSF omitted the 'make things easier' part from their objectives and instead created something that's more difficult to work with than Facebook's privacy settings. Not only that, but JSF creates completely new and unique problems that weren't there before. It's like I was told to dig a trench... and they gave me chopsticks. I would've preferred a spoon but JSF is supposed to be a better spoon, so not only am I now digging a trench with the wrong tool, but it's also giving me hand cramps.
The thing it's worst at, and my main issue with JSF, is creating web pages. You'd think for a technology that's supposed to be used for web development, it'd make the serving of web pages to a person's browser one of the things it'd be best at, but no! Instead, they created some ridiculous abstraction over (X)HTML components and ask you to use their own components which will generate HTML for you.
As an aside: one of the things I had been getting into during my spare time was web design and development best practices: clean HTML pages, proper uses of HTML markup, all the tricks of CSS, SEO, and using the powers of JavaScript only for good. I do my best to apply all these things to my own website, and while I'm no expert at web design, I can spot questionable practices when I see them.
I remember the first time I saw the HTML that came out of one of the JSF pages at work: the web designer in me died a little, and a threw-up a bit in my mouth.
To use a line from another JSF-bashing blog post, it generated HTML like it was 1999: tables, more tables, nested tables, and 1px images to space content.
Just the feeling that I've been put into a time machine and sent back to when web development was, to be honest, pretty shit, does not give me confidence in JSF at all.
So in short, I'm getting a bit stressed about work, deadlines are looming while the amount I've been tasked with just keeps growing, and it's totally not helping when the technology we're using to create this system is giving me persistent headaches. (I actually went to the pharmacy last Thursday and bought a pack of 100 tablets of paracetamol. They normally only sell them in packs of 20. I went for the bulk deal. Thanks a lot JSF.)
I got a webcam the other day - the Logitech Webcam Pro 9000! Now I can more-proudly consider myself a citizen of the digital age and join things that everyday technology-enabled people are a part of, like Skype!
I've been having a bit of fun with the webcam actually - taking photos, testing the face-tracking capability (I can happily report that Logitech webcams are not racist) and making a video or 2 - and I guess like most people out there, I'm really enjoying having this new piece of technology in my life.
Much like when I got myself a new cellphone, particularly one with a camera that, unlike my last phone, takes pictures at sizes measured in megapixels, I think I might enjoy the video capabilities that are now at my disposal.
When I got my new cellphone, I picked it because of: a) the flip-top design, and b) having a camera that doesn't suck. I had the latter in my purchasing decision because I wanted to take photos that I could upload and use on my blog. Lo and behold, I've been using many of my own photos in my blog instead of trawling the internet for something that resembles the image I'm trying to portray. I've even used the cellphone camera to take pictures of inane things, like Windows XP error messages on supermarket monitors, or billboards I come across in my walks around the city.
So far I've only called my family on Skype with the webcam enabled. They don't have a webcam themselves, so while I couldn't see them, they were able to report that the video and sound feed of me weren't too bad, even when Skype was reporting to them that their internet connection was "slow".
I've started adding a few others who I know have Skype, but there's one overseas friend in particular with whom I can't wait to tell them that I'm not such a useless IT guy anymore :)
Maybe next I can start uploading to YouTube... lol, let's not get carried away here.
GRRR @ WebKit
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:
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.
Blue Beanie Day 2008
Unlike last year, this time I'm ready for the coming of Blue Beanie Day 2008. OK, so it's not as if I marked it on my calendar and looked forward to it all year like a child waiting for Christmas, but now that I've joined the Designing With Web Standards group on Facebook it's become somebody else's responsibility to inform me of said event. So when I got the message/call-to-arms a couple days ago, I almost mistook today for Blue Beanie Day; I even took my navy-blue NY baseball cap into work instead of my usual orange and black SF Giants one. Yes, you read that right; I actually don't have a blue beanie. Thankfully this extra week gives me time to prepare, properly.
Now, to find a blue beanie...
CSS attack
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.
Boring
So I was walking home with one of my neighbours last night, and quickly learned that work has turned me into one helluva boring person. Maybe my line of work (IT / computer programming) has something to do with that; I don't imagine my spiel about web services and the politics behind each company's interpretation of the spec would be classified as scintillating dinner conversation. And maybe all of my other high school / university / pre-full-time-work friends are getting that too.
With all the differences between our jobs, talking work lingo to one another would be like talking different languages. I can still talk computers and stuff to some of my pre-full-time-work friends, but we've all scattered to the four winds and found ourselves in different companies, different states of mind, different dimensions, or Germany.
So, outside of work, I look for the common ground in conversations. That neighbour I mentioned? I talked to him about the new pants I bought that day. That's right; pants.
Although there was that one time at a birthday party, where I didn't know anybody besides the birthday girl, I was talking with somebody else who works as a programmer. Once we both learned that fact about the other, it was pretty easy for us to let the geek subjects flow. But then we discovered we were on opposite sides in the ongoing civil war that is Java vs .NET, and we were practically at each other's throats after that.
So maybe it is just my line of work. Maybe why us programmers have so few people to talk with is because fanboy-ism causes us to murder one another.
Blue Beanie Day
Through the blog of another web developer, I learned that last Monday (Nov 26) was designated 'Blue Beanie Day', an arbitrary day of the year given to the idea of promoting Internet page design with web standards and accessibility in mind. You'd best read Veerle's blog in that link as most of her experiences co-incide with my own and several others out there.
So what does Blue Beanie Day mean to me? 2 parts making life easier, 1 part Microsoft-bashing.
A lack of standards is like when a co-worker shares their holiday pics from their X-dot-Y megapixel camera, but then find that your 500-in-1 flash memory reader doesn't read that 501st format that your workmate somehow uses. Web developers face similar annoyances, except for us it's usually "Why doesn't (feature X) work in IE!??!"
Ah yes, what rant about standards would be complete without mentioning Internet Explorer - the least standards-compliant browser in circulation. We could save ourselves some trouble and all just follow IE, but most people generally aren't that fond of a corporation that electronically ass-rapes us on a daily basis. That, and we like choice (yeah, it's actually all about choice, but I just wanted to squeeze 'ass-rape' in there).
The day I no longer have to provide an IE-specific stylesheet for this site is the day pigs start developing wings. It's still a day I'd like to see in my lifetime, so the next time Blue Beanie Day (or some similar event) takes place, tell all your website-making friends, bring along any cute and opinionless children, and rally behind the cause!
Something old, something new...
...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.
