Software Development in Brisbane

Archive for the ‘Miscellaneous’ Category

The Eleventh Essential for the Labour Ward

Wednesday, March 26th, 2008

My Mum and Dad were members of the Mountainers association in Washington State. They always telling me that there were 10 essentials to take with you. You had to make sure you had the 10 essentials. Of course there was also the eleventh essential for mountaineering—toilet paper :) .

As I sit here typing this blog (of all places I’m in the labour ward), I am reminded of Mum and Dad’s lists. For us coming to labour, there have been many lists as well. Suzanne did a google to help get some good ideas of what to bring, and had a nice suitcase that she packed. The lists didn’t include the eleventh essential, which for us has been my laptop ;) .

It has been really great, allowing us to watch a DVD to pass the time (the epidural made it possible for us to be enjoying the experience). It has also has been nice for me to be doing something while Suzanne rests. Overall a laptop with some decent media definately ranks as an important thing to bring in your overnight bag when giving birth.

ps—by the time I post this, the baby will have arrived, and we will once again be proud parents. If I’ve missed sending you a photo, and you are interested, send me an e-mail.

The internet is a great place

Friday, February 22nd, 2008

I'm sitting here doing some work on my thesis (obviously procrastinating by blogging), and enjoying listening and watching Suzanne and Isaac on the main desktop going through the results of a images.google.com search for Thomas the Tank Engine on safe mode :) .

Hours of fun for the young one, even better than the junk mail :) .

Account for Apple Mail.app

Monday, November 19th, 2007

A question for the Mac gurus out there.

Is there an option in mail to stop it from automatically choosing the account for you, instead forcing you to choose what account you want to send the message from.

I'm using mail actively at the moment, and would like to be forced to choose to stop me from sending mail using the wrong account (which I have a bad habit of doing).

Please give suggestions in the comments.

ps – yes I am too lazy to work out which list I should post this question to.

Oracle Goes Flex (a trip down memory lane)

Friday, November 16th, 2007

The Blogosphere has been pretty excited this week with Oracle showing off many of their applications running on Flex at OpenWorld this week (including these announcements blogged by James Ward: support system Meta Link, Enterprise Manager database tool, Siebel CRM and more). It has made for interesting viewing, and been a nice trip down memory lane for me, after having worked at Oracle (back in Web 1.0 days), and having sat in on the first flex 2.0 training offered in Australia when working for OmniEffect.

It has also been interesting because of the involvement of Mike Wise (Founding Director of OmniEffect and former Lead Architect at Oracle) with Flex and Oracle.

Mike is a real fan for cutting edge technologies. When he was at Oracle his job comprised of finding cool cutting edge technologies, and building awesome proof of concepts. He left Oracle to form OmniEffect and build rich internet applications back in 2004, before they became cool. Those were the days before Adobe had bought MacroMedia, and Mike was building RIAs using the MacroMedia suite.

One of his early projects was to build a front-end to the Oracle Self-Appraisal systems using Royale (the precursor to flex). He did a great job of putting together an application, and the video footage still doesn’t look out of date (almost 4 years later).

Take a look at the video presentation of this great job by a true RIA pioneer:
http://hosting.omnieffect.com/preview/video/presentation1.html.

Mike hasn’t been one to rest on his laurels, and has been continuing to innovate. More recently he’s put together some presentations on Flex(video, ppt), and he’s been delving into the world of Microsoft.

Take a look at his blog, and think about OmniEffect for RIAs. Mike’s been building solutions to real business problems using this technology stack for years and has a great team of people ready to help you solve your technical and business needs.  OmniEffect has the answers that come from experience, and it's well worth getting in touch with Mike

Self-Similarity and Reflection

Friday, October 26th, 2007

One of the principals listed in Extreme Programing Explained is the idea of Self-Similarity (taken from Mathematics and fractal geometry).  The idea in XP is to copy the structure of one solution into a new context, even at different scales, and is often used to help think about testing, and forms a good starting point for thinking about what structures or processes to apply.

In the Ephox development team we do this at a number of different levels.  We practice reflection regularly at a weekly basis with a weekly retrospective.  On a roughly quarterly basis we review our current state of play from a process/methodology standpoint.  We will often look back over things at a small level with coding. I've recently noticed myself doing the same thing at a micro level, helping myself to learn keyboard shortcuts for IntelliJ.  

In summary, some of the good spots for reflection for a development team are:

  • Weekly - helping to see what can be done to learn from the previous week and do better in the next week.
  • Quarterly  - helping to see what can be done to generally improve process, taking a bigger picture view.
  • any-time – when you notice something that is interesting (for example a pop-up in your editor) stop and reflect on what has happened – you might just learn something.

 Reflection is a great practice to follow at different times.  When do you find reflection useful?

Laziest Book section

Thursday, October 11th, 2007

While reading a Java Diagnostics guide for a unnamed JVM I saw this:

Who should read this book

This book is for anyone who is responsible for solving problems with Java(TM).

Somewhat less than useful :(

Advice to an XP Customer

Thursday, June 7th, 2007

I have been working hard at developing an understanding of what it means to be a product manager how to do this.  A part of the role has been to step in as an XP customer.  Recently I had a great IM conversation with Dan North about what the role is all about, and how to best do the job.  Dan was my XP coach when I was working on a project in London, is the father of BDD, one of the lead developers behind JBehave, and RBehave and an all round great guy.

Here are some of the highlights of what Dan had to say:

Focus on your outcomes.

Work out what it is you want to achieve, and how much you think that's worth.

Everything else is detail. If the project goes "over budget", it just means you didn't predict the future. As long as you're within your comfort zone for the benefit you're going to get then you're still ok.

Likewise the feature list is just detail as long as you and the development team are on the same page

The most useful thing you can do is inspire the developers with your vision.  Ideally find a way of sharing any success, so they feel vested in the outcome

Try to stay focused on the "what". As a techie, you will be really tempted to get involved in the "how",but you have to trust the team to do the right thing. Once you let go of the technical detail you can really get into "character" as a product manager!

Generation P

Monday, June 4th, 2007

A thought for World Environment Day.

One of the side effects of having a Dad who is a professor is that he comes up with some pretty profound thoughts from time to time. 

Recently he made the prediction that the next generation (my sons generation) will be called Generation P, as concern for the planet will be the biggest issue for the generation.

A Painful Trip Through Wordpress

Monday, April 30th, 2007

You may have noticed a bit of mess in the posts to my blog today.  I've just started a process where I'm going to either publish old draft posts, or delete them.  My first post was a post from a conversation I had with my wife, Memory Constipation (not memory leaks).  It was actually a bit exciting having this happen.

  1. I edited the article, and clicked publish, went to my blogs front page, and noticed no listing
  2. I looked at the posting, and noticed the date was "June 2006"… hmmm I guess I started writing the article then…
  3. I changed the date to now, went to the front page, and still no article…
  4. remembering an AJ rant at work about future posts, I thought that perhaps I was future posting.  I set the date to yesterday, and noticed the post. YAY!! I then did my refresh trick to try and see the post on JavaBlogs, but no joy….
  5. So I played with the date, and finally got it to about now on the post.
  6. I went back to JavaBlogs, and noticed that the post now had appeared twice d'oh… what was worse is that the first permalink (with yesterday's date) was broken NASTY.
  7. so I went and created a new post with the same title and yesterdays date.  Unfortunately WordPress forces the article names to be unique, so this didn't work.  People trying with the original posting to JavaBlogs would still get a 404 :(
  8. By now I was getting a bit annoyed with WordPress, but wasn't about to give up. I tried forcing the name of the post, but that didn't work, so had to head into hacking the permalink approach.  The rest of this post shows what I did (warning this was a hacky approach to PHP and updating wordpress).

So the problem was that when wordpress was looking for the post it was using the date of the post, and the unique name to look for the post.  Given that there was no post with the right name on the date, no post was found, so wordpress returned a 404.  My work around is to leave the query code as close to the original as possible, only adding a check at the end, that will remove date the date parameters if no posts were found.  The following code goes at the end of  the get_posts function in the WP_Query class.

1
2
3
4
5
6
7
8
9
// if there aren&#39;t any posts returned by the query, name and year parameters were specified, then<br />
       // we are probably dealing with a post that has moved.<br />
       // so lets go ahead and try a query without any date fields.<br />
       if (sizeof($this-&#62;posts)==0 &#38;&#38; isset($q[&quot;name&quot;]) &#38;&#38; isset($q[&quot;year&quot;])) {<br />
       &#160;&#160;&#160;unset($this-&#62;query_vars[&#39;year&#39;]);<br />
       &#160;&#160;&#160;unset($this-&#62;query_vars[&#39;monthnum&#39;]);<br />
       &#160;&#160;&#160;unset($this-&#62;query_vars[&#39;day&#39;]);<br />
       &#160;&#160;&#160;return $this-&#62;get_posts();<br />
       }

It's a nasty hack, but it does the job, now the following urls, all return my page.

Memory Constipation (not memory leaks)

Sunday, April 29th, 2007

This entry is here cause I messed up getting the dates right. You really want the post here: Memory Constipation (not memory leaks)