Archive for January, 2009

Australia Day

Monday, January 26th, 2009

Happy Australia Day everyone! (Even though this is a bit late, being 9pm UK time….) It is also happy Chinese New Year - the Year of the Ox (again, late). I know the first because I’m Australian. I know the second because I use Google. Consequently, as I was pretty sure Australia Day and Chinese New Year don’t normally coincide (I think I would have noticed) - I learnt a new thing today - the date of Chinese New Year varies from year to year (traditionally beginning on the first day of the first lunar month). Oh, and that Lou and I are Rabbits

This last weekend (and today) have been a bit of a write-off. Lou wasn’t feeling well enough to go paragliding and I’ve been fighting off something I picked up end of last week - which resulted in my staying home today. Consequently it hasn’t been a productive time. On the upside, we received our Sanza order (no thanks to the delivery company who delivered it on Friday to completely the wrong address) and were able to enjoy a little taste from home.

Check Amazon First

Thursday, January 22nd, 2009

We have been having some trouble with our Toyota RAV4’s central locking and alarm recently - the remote control (fob) has been quite temperamental, only working when it feels like it, and not feeling like it much at all on some of our colder (subzero) mornings. It would start by doing nothing and slowly work its way through a faint light to a strong light and then eventually, if you were lucky, a strong light long enough to disable the alarm and unlock the car.

My first guess (now proven correct) was that the battery was on the way out. So yesterday I finally stopped by one of those keycutting/shoe repair/battery replacement shops and asked the guy there if he could replace the battery for me. He was confident that he would have the correct battery, but reluctant to take my fob apart to determine which battery that was - apparently some fobs are prone to breaking on opening…

So I took one of my fobs apart last night and extracted the battery - a 3V Panasonic CR 1616 - and took it in today. Sure enough he was able to sell me two - at £8 each! I was a bit surprised at the cost - apparently they are rare? - but forked over the cash and went on my way.

Only later did I think to do an Internet search. Amazon (well, one of their merchants) had 5 for £1.69 plus £1.40 shipping (ie 62p each). Even the Panasonic branded ones were £1.14 each plus £2.94 shipping. Even Maplin sell them for only £2.09 each - and I could collect them in store or pay £2.99 shipping.

So I am either supporting local small business or being ripped off - either way it is my own fault for not doing an Internet (or at least an Amazon) search beforehand. So this is a reminder for me and a lesson for you - no matter what you are looking for, chances are it is available online and cheaper. And if not - well at least you know you are getting a bargain!

(The funny thing is that now that we have our iPhones, when we are shopping in electronics, computer game, book or DVD stores we will check online there and then if we are unsure - its just in this case my mind didn’t make the leap between “battery” and “online”. Thankfully I didn’t need to reprogram the fobs!)

Frustration

Sunday, January 18th, 2009

Due to unfavourable weather this weekend, paragliding was out - so I thought I might get a chance to progress some of my other goals for this year. Instead I spent most of it installing Windows XP Home on a Dell Optiplex 755…

Louisa's desk

Louisas desk

It all started on Wednesday, when Lou finally had her new desk delivered (she had ordered it last year). Its a Mahogany Singapore writing table with bottle green leather and solid swan drop handles (I just copied that off of the delivery note) with integrated Dell Optiplex 755 and full sound system from Intelligent Furniture. It is an impressive desk - I am expecting some impressive writing!

The first hurdle - network access. For some reason, it (being a combination of pre-installed Windows Vista and a Philips SNU5600 USB wireless network adapter) wouldn’t accept an IP address via DHCP from our BT Home Hub. In hindsight I think it may have been a simple case of the Philips software remembering the first IP address it was allocated (which wasn’t on my network). Specifying a correct address sidestepped the issue. It is not really like I have enough PCs to warrant DHCP anyway…

But Lou didn’t want to learn Windows Vista - so my task for Saturday was to install a spare copy of Windows XP Home I had lying around. I mean - how hard could it be?

Issue #1: XP doesn’t understand AHCI. My first attempt at installing Windows XP Home resulted in a Blue Screen of Death. Because I am a software guy, not a systems or hardware guy, I often find the underlying hardware has advanced a notch each time I deal with it. Thankfully, a simple Google search turned up the answer - I needed to change the SATA performance from AHCI to ATA in the BIOS settings.

Issue #2: The Dell drivers and utilities DVD doesn’t contain the XP drivers. I almost couldn’t believe this - I mean, its not like a DVD wouldn’t be able to hold all of the drivers for all of the Windows operating systems surely?. Again - I blame my optimism and/or naivity on the fact I do not deal with this regularly. Really, I should know better…

Issue #3: Attempting to download the drivers from the Dell web site in an efficient manner. This one is a story in four parts. The Dell web site allows you to see all of the drivers for a particular system and operating system. This is good. It has an option to “Download All”. This is also good. What it actually means is, once you have selected all of the drivers you want, it will download them all. This is obvious when you click on “Download All” only to be presented with nothing - because you haven’t selected anything. This is annoying. Adding an item to your download list requires a page refresh. This is slow. If you do this on IE6 on a PC that doesn’t have the correct drivers installed this is painfully slow. Once you have selected all of your drivers and click “Download All” you will be presented with your list of drivers and have the option to remove them. You will find out why when you actually attempt to download them and are told the maximum download size is 250MB. You will then go back and remove items to meet this limit. It then won’t work.

My first attempt was from the Optiplex itself using IE6 without the correct drivers installed. As mentioned above, it was painfully slow. I left it “downloading” about 100MB of drivers to go to bed. In the morning the PC had rebooted due to an update - so it was all in vain.

My second attempt was using Google Chrome on my laptop. The page refresh was much faster (dare I say usable) - but again, I got to the download stage and it just sat there. I caught up on all my Zero Punctuation without anything visibly happening on the download front. For a lark I tried downloading a single file - but Google Chrome kept giving file not found errors - it was not looking promising. (On the upside, they seem to have fixed the Flash issues I was having previously!)

Third attempt - Firefox on my laptop. I checked the individual download first - it worked - and then built up my download list for the third time. This time I had more luck with the download - I got a server error from the Dell web server!

For my fourth attempt, still using Firefox, I decided to simply download the drivers individually. No page refreshes. No download limits. This ended up being the fastest and least frustrating way to proceed. Oh, and it was successful too!

So if you made it this far you will be happy to know Lou doesn’t have any excuses left for her writing. The weekend wasn’t a total write off for me either - two of Da Ork Angelz are now complete, keeping me on track with another one of my goals for this year. Photos will have to wait until I have recharged Lou’s camera as the iPhone appears to be incapable of focusing on such small subjects. Now I just need to get back to my CMS

On Target

Thursday, January 15th, 2009
93.6kg

93.6kg

Looks like one of my goals is on target. Weight can fluctuate a bit - so you don’t want to measure it too often - but you don’t want to leave it too long either! I’ve decided to check in every half month - that should remove some of the day to day fluctuations, but still give me early enough warning of any “issues”. So far I have managed to keep my intake down, and except for this week, (due to ankle issues) have been walking every morning.

Graph created on National Center for Education Statistics Kids’ Zone.

The Perfect CMS (Draft)

Sunday, January 11th, 2009

As I mentioned in my goals for this year, part of the difficulty in actually creating my ideal CMS - or any non-trivial software - is working out where to begin. So these are my first tentative steps - be gentle!

I’ve read a lot of CMS articles over the years, as well as having been involved in numerous web development and CMS development projects - so like anyone else I have my own opinions. A selection of articles that particularly resonate with me include:

The core principles I want to emphasise:

  • KISS - primarily on the user side - whether that be occasional authors (simplified user interfaces), power authors (simplified task management tools), designers (simplified templating), developers (simplified data modelling) or system administrators (simplified installation). It won’t hurt to respect this principle on the implementation side too - though I may deviate towards “elegant”…
  • WWW - The CMS’ (or perhaps more accurately the WCMS‘) primary purpose is to manage web sites. It should therefore make this easy - not difficult, challenging or frustrating! It should output the source code exactly as you want. It should not hijack or tamper with elements of web development forcing you to work around the CMS. In fact, from a web development point of view, it should feel as if the CMS isn’t even there.
  • Customisation - from a developer point of view, provide a well documented API which the web application interface is built upon - allowing customisation and/or replacement of the entire user interface. From an author point of view, the CMS is just another web site managed by the CMS - allowing customisation of the content of the interface.
  • Fun - track and recognise user achievements within the CMS. Turn learning the system into a game - or at least not a chore!
  • Feedback- provide constant feedback about the state of the system and individual projects. Suggest and schedule tasks and best practices for implementation, follow up and review.

In terms of implementation, the key areas I see needing to be developed are:

  • Versioning - a base versioning system, on top of which all content, metadata, administration settings, groups, templates and ideally even code can be stored, versioned, retrieved, branched, rolled back etc. As part of this I will be taking a closer look at the implementation of other versioning systems including Subversion and GIT.
  • API - separation of the the CMS functionality from the web application interface by a well documented API. The shipped UI will rely solely on this API - and will be able to be modified or completely replaced. Current work in CMISJSR-170 and JSR-283 should help in forming a basis for this.
  • User Interface - How the various user types interact with the system - so this is not limited to only authors.

Other items of importance include:

  • Scalability - built from the ground up to support clustering of multiple servers, including distributed storage of assets. Think along the lines of Hadoop or Google File System. It will simply be too painful to try and retrofit this elegantly later. (The ability to run clustered servers on “The Cloud” would remove infrastructure requirements and increase scalability)
  • Templating - a way (or multiple ways) to map data to output - primarily to (X)HTML, but we should not rule out other formats. Most importantly - if at all possibe we will not be creating yet another templating system.

This is obviously not everything, but it is a start - and the first time I have had them all written down together. And yes - it is very ambitious, not to mention scary. I can see why I haven’t got very far before. I have to be careful to avoid “architecture astronaut” syndrome - but as this is the year for implementing - I should know well enough by the end of the year.

What may not be clear from the above is that the API is the CMS. The user interface is simply a web application that utilises the API (hence why it may be completely replaced). The storage for the CMS - whether it be content, documents, permissions, settings etc - is the versioning system. Therefore, the CMS is dependent on the versioning system, and the UI is dependent on the CMS.

With that in mind, the first step is to start making some progress on the versioning system. Unfortunately, “Create versioning system” is not much of a plan - so the first step will be to outline my plan for the versioning system. I have copius hand written notes on this - so hopefully collating it all will not take much time. Once the versioning system plan is in place, I hope to start actual coding - whilst also completing plans for the API/CMS itself and then the UI. At this point, this will all be “experimental” or “prototyping” in nature - I expect my plans wil be quite fluid with respect to what surfaces during the implementation.

Wish me luck!

Flare

Sunday, January 11th, 2009

It’s Sunday afternoon and I have finally made it up to my “office” on the third floor. Not because I’m slack - but because I am recovering, again - and this time slowed down by a slightly swollen and delicate ankle… but let me back up a bit.

After last week’s paragliding taster, Lou and I have decided to make a go for it. We now have our equipment and hope to achieve our Club Pilot (Novice) rating in approximately ten sessions. Our taster last weekend counts as day one - and so on Saturday we made the trip back out to Glynde for day two. (As an aside, spending is now on lockdown pending a new budget…)

First up, Mount Caburn, where we spent the morning and part of the afternoon until the wind direction changed on us. After doing so well last week, Lou and I had some “challenges” this week. I don’t think we managed to land on our feet once. After a hard landing on my first flight, I managed an even harder one on my second (not including the one in between where I face-planted shortly after take-off as the glider overtook me. Apparently I jumped - which is a big no no…) Anyway, I was dragged across the ground for several metres and was a bit shaken afterwards - and wasn’t feeling too confident about the whole thing. Thankfully we stopped for lunch.

After lunch we climbed to the top of the rise we had been launching from. Now fitted with an ear piece (I was having difficulty hearing the instructions on the radio) and partly convinced that it should actually be easier and safer from this height, I actually managed my best flight for the day - completing two turns before running out of height for my third. I still didn’t land on my feet, but I felt a lot better about the flight! I managed to get my gear all the way back up to the top of the rise and prepared for another launch before the wind conditions finally changed - which meant packing up my gear and trekking back down the hill. You would think down would be easier, but it isn’t.

We then headed over to Firle where I had my final flight for the day. This was to be a fairly long, straight flight - so I was most interested in getting the landing right. I don’t think I had been flaring (a parachute landing maneuver) properly (if at all) in the previous flights. I still didn’t land on my feet. I did flare - but I think too early and so I didn’t hold it - and then either forgot to flare again or simply had no time for it to be effective. If you were wondering why this entry is titled “flare” it is as a reminder to myself.

I discovered the ankle swelling when I got home. My best guess is that it probably occurred as a result of my second landing. Not to be completely outdone, Lou has some bruising - mostly on her knees, which she apparently decided were better for landing than her feet. We are booked in again for next weekend - lets hope we are a tad more successful.

Evacuation

Tuesday, January 6th, 2009

Today the evacuation drill went off at work and my colleagues and I had to evacuate the premises. I’m not entirely sure whether it was a drill or not, but it probably was. This makes the fourth evacuation drill I can easily recall during my working life. Now, the evacuation instructions have always been pretty much identical - you know the drill - leave by the nearest exit, use the stairs not the lifts, don’t stop to collect any belongings, proceed to the muster point. However, each site is different - and today I was amused by the differences.

For example, today I was glad to be already wearing my jacket and less impressed that I didn’t pick up my bag which had my beanie and gloves in. Those of you in London (or simply the UK for that matter) will understand why - we are currently going through an unusually cold patch. Phil was a little premature with his winter poem. The muster point also seemed quite some distance away.

Opposite to today, I have had to evacuate ConocoPhillipsLiquefied Natural Gas Plant’s air conditioned facilities outside of Darwin - where we were lucky enough to spend an hour in the parking lot in the tropical heat and humidity while a sweep of the facilities was conducted. Oh, and the nearest non-bush distraction is half an hour away by car…

Working for the Ministry of Justice in Perth I had the pleasure of experiencing evacuating from the 31st floor. (Lou can claim even better from working at Asguard)

My most pleasant experience was at the ConocoPhillips offices in Perth - four flights of stairs, beautiful sunny (but not hot) day, muster point was just down the street on lawn with trees - and if things were really bad, the West Perth cafe strip was within walking distance.

Paragliding!

Monday, January 5th, 2009
Louisa the paraglider

Louisa the paraglider

One of Lou’s goals for this year was to go paragliding, so yesterday (Saturday) at 5:30am we began our hour and three quarter journey from Spencers Wood to Glynde - “right in the heart of the premier flying sites of the South East of the UK on the beautiful Sussex South Downs.” There we joined Airworks for a one-day introduction at the Bo Peep fields, where we were introduced to our equipment (after lugging it from the car park and then down the hill) and learnt to launch, turn and land. Non flying skills which seemed to take up the most of our time (apparently day one is the hardest) included mushrooming and packing (for lugging the equipment) and hiking - from our landing spot back to the launching spot - each time further and further up the hill!

Today (Sunday) was mostly about recovering…

Louisa paragliding

Louisa paragliding

Despite the physical exertion, the actual flying was a lot of fun. Watching the more experienced paragliders - who spent considerably more time in the air and less trekking up and down the hill - if they came down the hill at all - was all the motivation we needed (admittantly, we didn’t need much) to keep pulling ourselves back up the hill.

Louisa landing

Louisa landing

So now Lou is determining how she can get us onto the full course. Airworks also do trips to the Himalayas and France - so there is an opportunity to travel and paraglide as well.

I certainly didn’t expect paragliding to be my first major activity to report this year!

New Years Day

Friday, January 2nd, 2009

On our way back from walking Kobe, Lou and I couldn’t resist the appetising smell coming from Miah’s Indian Restaurant just down the road from us in Spencers Wood. We have had delivery from Miah’s before, but today we chose to eat in. We had the privelege of both a delightful meal and of being their first customers for 2009. Heavenly Indian cuisine indeed!

Adrian 2.0

Thursday, January 1st, 2009

No, I have not been infected with nanobots. It has been a while since I last did a major goal setting exercise. I think the last one was our move to the UK in 2006. Since then, everything has been primarily reactive rather than proactive - but no more! With the majority of life’s disruptions behind us in 2008, I have decided to take this lull, this opportunity, to be proactive in directing my life in 2009. The clean slate that is 2009 is exciting. With a bit of planning, it should be nothing short of extraordinary!

Of course, setting goals doesn’t guarantee their achievement. For those who know me better, a lot of the goals I am going to share may seem familiar - they have been on my “to do” list for a while. Which raises the question - what is going to be different this time? Well, let me tell you:

  • Rather than just listing goals like a to do list, I have also considered why each goal’s achievement is important to me, what limiting beliefs have been stopping me from achieving the goal previously and what not achieving the goal would mean to me.
  • I have also listed what steps I plan to take to achieve the goal.
  • By publicly stating my goals on this blog I can’t pretend they weren’t important to me. Also, there is nothing like some public humiliation to help keep my focus in the right spot.

So, without further ado, here they are. Its not all of them (there is such a thing as too much sharing), but even if I only achieve the goals below I think 2009 will be an awesome year!

Lose Weight
Goal: 75kg by end of 2009

I have been fat and thin and thin definately wins hands down. I feel better about myself, clothes fit better and travel and activities are easier, more fun and less prone to excuses. Family and friends tend to worry less about me too. The excuse? Time. But time is just a function of priority, and this one has been too low on my list for too long. If you don’t have your health, you don’t have anything - so starting now my health is my number one priority. If I can’t achieve this goal, it means I have no respect for my body.

At my current weight (96kg), that is going to work out as losing 2kg/month or 0.5kg/week. I have previously done this at twice this speed - so I know it is achievable. It requires two components - exercise - which I will start as a half hour walk every day - and diet - where I will eat slower and stop when full.

Already started as of Christmas - one week down, fifty two to go…

My CMS Project
Goal: Version 1.0 by end of 2009.

This project has been all research and very little action since I left Australia for the UK. Although time has been a factor, I think distraction and procrastination on my part are equally to blame. Distraction caused by life in general, procrastination due to not having a clear plan broken down into small, manageable chunks. Luckily there doesn’t seem to have been any major consolidation in the CMS space - so I haven’t missed the boat, yet. If I can’t get a version 1.0 out by the end of the year (or reasonable progress towards it) then I would be better served recognising this for what it means - I should focus my attentions elsewhere.

First step - create the plan! Doesn’t need to be perfect, or even detailed - but it does have to give me direction - the overall big picture as well as the week to week goals. In line with its importance, expect a post on this within the week.

Languages
Goal: Conversational French by end of 2009.

Among the many lessons living, working and travelling in Europe has taught me is this: being bilingual (or multilingual) is a definate plus. I downloaded “learn Italian” podcasts to my iPhone before our most recent holiday (which included three nights in Rome) and was suitably inspired by the results. Lou has plans to visit France late this year or Christmas, so now I have plans be able to speak French while I am there. I did five years of French in high school - something I thought I would never use - but now hope to have it give me a leg up on this goal. I will be exceptionally disappointed if I can not achieve this - I just can’t think of any good reason why I shouldn’t be able to.

I have already started downloading “learn French” podcasts to my iPhone. Part of what I didn’t realise when I did this with Italian (which I will need to redo in the future) is that the podcasts need to be sorted. In addition to sorting the ones that work for me from the ones that don’t, I also need to create playlists that separate beginner, intermediate and advanced lessons - as well as ordering the lessons correctly. The great thing about using podcasts is that they can be used in otherwise dead time - during walks or driving. The one caveat with language learning is that you want to be somewhere where you are comfortable speaking out loud - ie not on the train. Initially I can do the sorting during any dead time - the train to and from work seems appropriate - and then I can dedicate the actual learning and repetition to my drive to and from the train station each day.

Web Sites
Goal: Revamp www.mateljan.com and www.webdjinn.com by end of 2009.

Another long time project with little to show due to too low a priority and no real plan. The idea is, that as these are my sites, I have the freedom to implement them in whatever way I wish - therefore allowing them to showcase my ability and ideals. In reality they have just taken a back seat and don’t show much of anything. To some extent it is also a chicken and egg problem - I would like to use them as a proof of concept of my CMS project (eat my own dog food) but the CMS doesn’t exist, and they aren’t “advanced” enough to help create the CMS design…

First step - create a plan! (again!) Break into achievable chunks. Schedule. ‘Nuff said really.

Unofficial RedDot CMS Blog
Goal: One major plus one minor article per month, as well as other regular contributions.

To improve my writing and communication skills, especially the speed at which I write, requires practice. That is how this blog started out (as well as to keep family and friends back in Australia informed on what Lou and I have been up to). It also inspires me to know that I will be helping others, either in their RedDot CMS implementations or in inspiring them to share their knowledge as well.

There shouldn’t be much drama in going about this. Again, scheduling time is the main factor - but I can also use dead time on the train (now that I have worked out the WordPress iPhone application).

Programming Languages
Goal: C#, Python, Ruby and Lisp by end of 2009.

As my RedDot CMS work takes me deeper and deeper into classic ASP (VBScript) and occasionally PHP, I can’t help but feel I am missing out on something. I enjoy programming - an what better way to appreciate and excel at it than to learn new languages? I have pretty much ignored C# (except for some small forays into XNA) and ASP.Net - which is a pity given its prevalence in the job market over here. Python and Ruby are more for personal interest (though Python would help with RedDot LiveServer - which uses JPython). I have previously learnt the basics of Lisp - but could use a refresher and taking it to a higher level. All of these will be useful for achieving my CMS project goal - if not for the CMS itself then for making sure that it interfaces appropriately with other languages.

Where to start? Well firstly, a plan for each language - incorporating operating system, IDE and any other appropriate tools, identifying learning resources, tasks and small projects and scheduling time to act upon it. This time would need to be evening and/or weekend based.

Hobbies
Goal: Complete one miniature per fortnight.

I used to love playing Warhammer 40K and modelling and painting the miniatures. I gave up all of my gear when we moved to the UK - it hadn’t been used for a couple of years anyway. My trip to Warhammer World for my birthday reignited my interest, but still my personal Waaagh seems to never quite gain the momentum it needs. My last Warhammer 40K post was in August - and sadly there hasn’t been anything to report since. When it comes time to leave the UK, I don’t want to be back in the same situation as when I left Australia.

One miniature per fortnight will mean 26 orks complete by the end of 2009 - which while not a hoard, is a start. My first ten orks are in varying states of completeness - which should make this less daunting. What it needs is simply some regular scheduled time (I already have my workspace set up in our new place). Due to light restrictions during winter in the northern hemisphere, this will be limited to an hour on Saturday and Sunday. I will re-evaluate in summer when I may be able to increase this to include some time in the mornings before work.