November 28, 2007
“We do our best to try to understand what customers are going to want down the road. I’m fond of the Wayne Gretzky quote — you skate to where the puck is going to be.”
“We try to understand as we develop our product road map, what’s going to be exciting in the future. And that’s one of the advantages we have over our competitors.”
“Our competitors tend to put the cross hairs on where we are now, and by the time they come up with a product that tries to match where we are now, we’re beyond them. We’re one or two generations beyond, moving faster than they are.”
Full interview here - http://tinyurl.com/yplj4v.
Posted by Marty in Apple, Web & Tech, Web design
November 26, 2007
The TinyURL service converts loooooooong URLs into, well, tiny ones.
e.g.
This fairly long URL -
http://www.bbc.co.uk/blogs/bbcinternet/2007/11/web_20_mainstream_media_not_de.html
was converted to this tiny one -
http://tinyurl.com/2xof7l
Great for collaborative spaces, emails etc. However, be aware that some users and readers will be cautious of clicking a URL that looks a bit spammy. If your user is a first-timer let them know that they can trust the tinyurl.com domain.
They’ve simplified the conversion process by creating a little toolbar link: to convert the URL of the page you’re on just click the toolbar link, then copy and paste the tinyurl.
Posted by Marty in Web & Tech
November 23, 2007
There’s been plenty of debate recently about whether the North Melbourne footy club should relocate to the Gold Coast. I’m not going to attempt to summarise all the arguments for and against the move, but from where I’m sitting it looks like a simple money vs passion issue. You can read about the issue here, but essentially the two opinions are:
- The club should relocate for financial reasons.
- The financial reasons are surmountable, and club should stay because the club is North Melbourne.
I was a North member in the early to mid 90s and used to love taking the train to the ‘G, driving out to Waverley, even risking life and limb at the Western Oval and Victoria Park. Certainly I was lucky to be watching when Carey, Schwass, Laidley, Rock, Allison, McKernan, Roberts, Stevens et al. were running around, but I enjoyed watching the buggers from the other teams too … Dunstall, Lockett, Jarman, Ablett etc. More accurately, I just enjoyed watching footy and respected the rivalry and tradition between clubs. Any pre-1994 North person knows that the Hawks had the wood over us for years. In ‘95 Carlton beat us in the prelim and I’ve hated them ever since. The North/Richmond games always had an amazing atmosphere. You get the idea.
All that goes out the window if North become the Gold Coast Kangaroos. Who remembers Fitzroy now? A few die-hards, that’s it.
I don’t often get caught up in emotional “causes”, but I see shareholder value vs customer service decisions going the financial route all the time in my corporate life and that pisses me off. This is the same thing, in my opinion.
So. I’m just one man and these days I prefer surfing to footy, but I’m coming out of the woodwork and committing here and now to five years of membership IF they stay in Melbourne, purely to stick it to the AFL and to chalk one up for passion over money. The club IS North Melbourne and should stay that way.
Posted by Marty in Random thoughts
November 22, 2007

Stumbled across Satisfaction today via Jeff Veen’s blog. His fictional (?) story about how the idea was conceived explains what Satisfaction is really nicely, so go read it, then go visit the Satisfaction site.
I 100% agree with Lane’s “I don’t even bother with (company contact pages) anymore. I do a search and look for someone else who had the problem and happened to write about how they resolved it”. The non-standard tweaks I made to a recent Wordpress site I built were 70% funded by googling “wordpress + whatever”, as opposed to using the support offered on the Wordpress site.
Will it catch on? One of the ‘meh’ commenters on Metafilter said “they’ve reinvented the internet, put it on a website behind a login and restricted the topics to corporations”. I say what’s wrong with that, if it helps me get free, useful support?
I don’t think I’ll head straight to Satisfaction for support, but when I key “wordpress static homepage” into Google I’d expect Satisfaction to be up there in the results.
And that’s a good thing.
Posted by Marty in Web & Tech, Web design
November 20, 2007
Don’t bother with this post unless you’ve got a bit of geek in you. Speedtest.net is yet another broadband speed test, but there’s a definite geek factor in the user interface.
It tells me my speeds are 706kb download / 209kb upload. I did the test at 8.15pm … presumably the reason it’s not closer to my supposed 1.5mb/256kb is that it’s probably peak hour.
However, when I click on the My Summary tab the picture painted for me is not pretty.

I’m supposedly on a waiting list with Westnet for ADSL2 (no ports at my local exchange, or some crap), which will up things for me somewhat, but I haven’t heard from them since I rang them in August. GET WITH THE PROGRAM WESTNET YOU SLACKERS.
The Global Stats tag tells me that the ISP of choice down here in Geeeelong is Neighbourhood Cable. Might be time to check my Westnet contract, methinks.

Posted by Marty in Not important, but potentially interesting, Web & Tech
November 16, 2007
I’ve almost finished a relatively simple Wordpress 2.3.1-run site for a project at work and thought I’d share a few of the “extras” I included to take it beyond the standard install.
I’ve used Wordpress for a few sites now (including martinjy.com) but haven’t really explored it beyond a few plugins and some style tweaks. This project called for more effort than that. In addition to a straightforward blog section with latest posts and date-based and category archives, the site requirements that are relevant to list here were:
- Static homepage (1-col layout) including latest blog posts
- Around 15 other static pages (2-col layout), including sub-pages
- Good search
- Unique look and feel
Blog
Setting this up was relatively easy. After all, it’s what Wordpress does out of the box. The only additions to the standard functionality are the Fuzzy Recent Posts plugin, a bit of Sidebar tweaking to organise things in the right order, and an Include for some static contact information. I used an Include because that info also appears on the homepage and I didn’t want to have to update it in multiple places when it changes. As I’m reviewing it now I realise I probably should have written a Page for it and included that instead of a theme page - this will make it easier for the site owner to update it herself. (Note to self: do that before launch and remember to exclude the page from the menus).
I couldn’t have used the Widget Sidebar functionality to organise the sidebar as it wouldn’t have given me the flexibility I needed. I can see why the widget sidebar will become very popular with non-coders, standard blogs and/or lazy types though.
On the blog entries themselves I did a bit of styling and set up images so that they will always float on the right of the post. Comments are off by default for the entire site but I left the code to display them there anyway just in case the site owner changes her mind in the future.
Pages
So. Blog done. Here’s where things started to perk up a bit.
Writing pages (i.e. non-time-dependant content) is easy (read about them here). But the sidebar on my Pages needed to be different to the Blog sidebar - I didn’t want the Recent Posts or Archives to show up. A bit of Googling and Wordpress-codex researching told me that all I needed to do was create a Page template, as Wordpress looks for a Page template when it’s trying to display a Page. If it finds one it uses it. If it doesn’t find one it uses the standard template.
So I made a copy of the standard template, called it page.php and FTP’d it into the theme folder alongside the index.php file. I did the same thing with the sidebar file, naming it page-sidebar.php and changing the name of the Blog sidebar to blog-sidebar.php. With those all in place I made sure that index.php called blog-sidebar.php (
Warning: include(page-sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
Warning: include(page-sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
Warning: include() [function.include]: Failed opening ‘page-sidebar.php’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
) and page.php called page-sidebar.php (
Warning: include(page-sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
Warning: include(page-sidebar.php) [function.include]: failed to open stream: No such file or directory in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
Warning: include() [function.include]: Failed opening ‘page-sidebar.php’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/ularykhz/public_html/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 23
). I’m sure I could have done that with some sort of if-statement in php but couldn’t be bothered trying.
Then I amended page-sidebar.php to remove the Archive and Recent Posts code. Done.
Sub-Pages
Had to research these a bit before I dived into them, but they’re pretty easy to handle. 1. Create a Page that will be the parent of the set of Sub-Pages. 2. Create another Page that will be the Sub-Page, then select the “parent-page” from the pull-down on the right and save. Repeat for all your Sub-Pages.

Making it easy for users to navigate to the Sub-Pages is reasonably straightforward. First I modified my wp_list_pages calls in the top menus in page.php and index.php to a depth of 1 to stop all the sub-pages showing up there. See the wp_list_pages template tag in the Codex for more info. Then in my page-sidebar.php I inserted a piece of code from that same Codex page that displays the Sub-Pages of the Page we’re on whether we’re on the parent page or one of the Sub-Pages. Presumably if you had another section of the site with different Sub-Pages that same code would work to display those instead, but I can’t confirm that as I haven’t tried it.
Homepage
This is the one part of the site that had me stumped. For the life of me I couldn’t work out how to use Wordpress’ new “Front page displays a static page” functionality (Options > Reading). Eventually I found this write-up from another Wordpress user, Richard Sipe, that explains what was happening … the functionality is there but the Codex documentation regarding how to use it is old and out-of-date.
It’s pointless for me to repeat what Richard has already documented except to confirm that his method works (and to thank him for sharing it!).
I modified two more things regarding the homepage:
- It needed a one-column layout. I achieved this by splitting my Page template into two … or in other words adding a conditional tag in page.php that says “if this is the homepage, use the homepage layout. Otherwise use the standard page layout.”. Pretty straightforward.
- I wanted the feature part of the page to be a Page that could be updated by the site owner, so I Googled again and found the iinclude plugin. I’ll also use this to include the Contact info that I mentioned above.
Before I forget - divs
The special layout for the homepage (and one of my other pages) required me to use divs, but I found that whenever I added a div the Wordpress TinyMCE editor was removing it. That annoyed the hell out of me until Google saved me once again. Read this page to find out how to hack the editor to stop that from happening.
Search
Unfortunately Wordpress’ Search only searches posts, not pages. That was no good to me. Also, by default it returns the full post in search results. Also no good to me. At least it *has* a search, I suppose.
So it was back to Google, where I found the Search Everything plugin. I downloaded and installed that, then created a custom Search Results template. (Again, WP knows to display that template for search results if it exists). Part of that template included the_excerpt to chop off posts and pages after a few lines.
404 page
This is another one-hour task that can be of great benefit to your readers. It’s just another custom template that, again, WP knows to use if it exists. Worthwhile.
Phew. I think that’s just about it for now. About the only other thing I can think of is I tried to use the Sliding Doors of CSS II method for my top navigation, but it’s not implemented perfectly at the moment so I don’t think there’s much point in sharing what I’ve done. Maybe in another post when I’ve got it right.
Posted by Marty in Web & Tech, Web design
November 13, 2007
The 1.1.2 iPod Touch software update was released to iTunes today (in Australia, anyway), a few days after it became publicly available (and jailbroken).
One of the new features (read: omitted features) from 1.1.1 was the ability to add calendar events on the Touch - something that I was keen to try as I’m flirting with various GTD methodologies. However, when I tried to sync my iCal entries with the Touch for the first time, iTunes seemed to freeze. I stopped the sync and tried again … same thing.
Luckily Google rescued me: a user on one of the Apple support forums found that opening iSync preferences and resetting the sync history worked for her. I tried it and hey presto! iCal and my iPod Touch are now friends.
Re the adding events functionality … I’m not sure if I’ll end up using the full iCal sync mechanism for my GTD but it’s certainly an easy way to add notes for now in the absence of a Notes app on the Touch:
- Select Calendar.
- Hit the Add Event button (the +).
- Use the Title field to add your note.
- Hit Save.
- Hit Done.
The bonus is that the note is stored “when it occurred” (unless you set a different time for it, of course). Sure beats the previous workarounds using blank fields in Contacts.
Posted by Marty in Apple