Going off the reservation with new Garmin GPS

Garmin GPSMAP 60csxRecently I bought a Garmin GPSMAP 60csx, a kick-ass GPS handset with all the bells and whistles. It arrived from amazon the other day (cheaper than buying in UK even after shipping and customs) and I immediately set about prepping it for my upcoming trip back to Australia.

Supplementing the Australian portion of the Garmin USA base map

The Australian portion of the inbuilt US base-map appears to have been drawn on an etch-a-sketch by a blind monkey. This is a problem, especially as Garmin’s range of Australian map-packs are expensive and useless to anyone but soccer-mums ‘navigating’ to the local shopping centre.

Luckily the free Shonkymaps Australian map-set for Garmin contains full topographic 1:250,000 maps for the whole of Australia. Downloading these maps into your GPS is reasonably straightforward:

  1. Ensure you have Garmin MapSource for windows (mac version coming soon apparently).
  2. Download Shonkymaps direct or legally via bittorrent (you’ll save them 340mb of bandwidth).
  3. Install Shonkymaps (needs to write to registry to comply with Garmin’s cockamamy MapSource system).
  4. Shonkymaps can now be downloaded to your Garmin handset via MapSource just like any off-the-shelf Garmin map-set.

So how do Shonkymaps shape up? Well, see below for a comparison of their respective coverage of Moreton Island.

Comparison of google maps, garmin basemap and shonkymaps full topo
Google satellite image (left), Garmin base map (middle) & ‘Shonkymaps Full Topo’ (right)

Having a crack at geocaching

Wandering through the 60csx’s menu system (a habit with all new gizmos) I discovered a few features relating to geocaching (a never-ending decentralized global treasure-hunt game). As I’ll have some time on my hands over the break, I thought I’d give it a go. It turns out that setting up a Garmin GPS for geocaching is remarkably easy.

  1. Install the Garmin Communicator browser plug-in (supports firefox, woot!).
  2. Create a free account at geocaching.com, an online community which lists, manages and discusses everything related to geocaching.
  3. The geocaching.com site can be a little hairy at times, but if you head straight to their geocache map search page you’ll find a dead-simple UI for locating geocaches in your area.
  4. Once you’ve found a geocache you want to add, click it’s icon and a Google map balloon will appear containing the relevant details, including a ‘Send to Garmin link.

    Sending a geocache to garmin GPS on the geocaching.com site

  5. Click the ‘Send to Garmin’ link, ensure your GPS is connected to your PC and click ‘send’ on subsequent page.
  6. Done! Here’s what the geocache waypoint info screen looks like. All the hard work’s done for us (except finding the actual cache)

Example geocache information screen on Garmin GPS

In 60 seconds I had  half a dozen geocaches loaded on my GPS and due to the fact I wasn’t involved in typing the lat/long, there’s a fair chance they’ll be reliable. Now my only excuse for not finding them will be a lack of navigation ability ;)

I’ve joined the dpreview.com team

I’ve had a quiet blogging spell lately due to the general upheaval of changing jobs, countries and continents.

jaysen dpreview & amazon

I’ve said goodbye to the consulting world and taken a position working with the gang at dpreview.com as a full-time public-facing web-developer. It’s a huge, popular and well-established site (at 9 years old it can be considered the gray lady of digital photography) recently acquired by amazon. I now find myself working in central London (frequently cursing the tube) with a young and enthusiastic team covering an equally dynamic industry.

Note: I’m retiring my rule regarding blogging about my day-job, mainly because my role has changed (more public development) and I’m keen to get more involved in the development community.

With so much going on in digital photography and the web-savvy nature of our readership, there’s plenty of exciting stuff we can (and will) do. Some of the smaller stuff I’ve been working on has already started to appear on the site, more details to follow.

Pico redux

Recently, I created an IM icon for a friend. It’s a fairly straight-forward appropriation of the classic Che Guevara icon, which normally I’d avoid but the Simon’s surname is pronounced ‘Che’, so my hands were tied.

an IM icon created for a friend
an IM icon created for a friend (whose name is a homonym for che’s)

In the process I decided to adorn my IM profiles with the mighty ‘Pico’ icon, something that had slipped my mind for years.

Pico icon 
My new IM icon (based on my Pico character)

The original artwork dates is from the flash-based pico game I made for a uni assignment at Hong Kong University in 2002. As I spent all my free (and a fair chunk of my uni) time exploring Hong Kong with my friends, the assignment was developed in a marathon 48 hour cram session in the HKU multimedia labs. 

jaysen writing pico game in HKU CS labs
The game wasn’t always called Pico 

The game itself is a pretty basic affair, but still makes me laugh when I see the artwork and animations. As a bonus, it’s fiendishly difficult (being alone in a CS lab at 4am does tend to warp a coder’s mind). Give it a go, it’s a great cure for apathy.

 
Hong Kong Island (including HKU) is an festival of stairs and elevators

The whole 2-day stint was surreal; the deadlines, the long walk along pok fu lam road, the long hours, the great music, the septuagenarian tai-chi club which trained (complete with weapons) right outside the labs at dawn (their existence was unknown to me previously and seems unreal still).

 
Pok Fu Lam road, connecting HKU campus to the halls

Hue City

A project that I’ve been working on forever has, among other features, a ‘search images by colour‘ feature. This is one that I’d been excited about for a long time and had tackled on several occasions but it had never quite come together. Until now.

My previous attempts had all involved reducing each image to a weighted list of ‘popular’ colours. The search UI let the user pick from the web (216) palette, with only images possessing a healthy portion of that colour being returned in the results. At one time I even allowed users to select a secondary colour along with RGB/HSV/CMYK (synchronised) sliders, but that was as complicated to use as it sounds, so I let it go. The problem was that this ‘popular colours’ approach ignored the fundamental truth that people just don’t search for drab browns, faded yellowy-greens or most of the other colours which make up these palettes. From a colour-space perspective, when people say ‘colour’, they mean ‘hue‘.

So earlier this week (on the train) I set about re-writing the whole colour search feature to actually be a hue-based search feature (the word colour remains because ‘hue search’ just doesn’t light up anyone’s eyes, not even mine). After a few train trips and most of Saturday I had the hue-parsing algorithm implemented and had written a console app which re-indexed all the existing images in the library. I also updated the relevant portions of the batch uploading tool and the admin web site to be hue-aware. Things were going well, but I had only a vague idea of how the actual search UI would work.

Initially I thought another slider would be the best approach, but decided it was overkill after looking around at existing html slider implementations (yahoo UI library as a nice slider, but I didn’t want the added dependency for what is essentially a minor feature). Eventually I set about rolling my own control for the job. I think the hue picker widget and the hue search feature as a whole turned out really well, and will continue to improve as the number of images in the library grows.

Now I’m thinking of packaging up the  Hue Picker for free distribution. You know, just for kicks.

QuintonMarais.com launched tonight

After several weeks’ work, quintonmarais.com launched this evening.

Hi-lights include

  1. .Net 1.1 to .Net 2.0 upgrade (long live the MasterPage)
  2. Amazon S3 for all image storage (dramatically reduced bandwidth and hosting costs)
  3. Google map-based location search.
  4. Creation of “Pusher”, a fire-and-forget image watermarking, batch uploading and data-entry smart client app (to create the 12+ thumbnail and preview versions of each image).
  5. Creation of “S3 Viewer”, a smart client app for viewing/maintaining the thousands of S3 items and buckets which support the site.
  6. ‘New Images’ atom feed (surprisingly easy to get going).
  7. SQL Server 2000 to SQL Server 2005 upgrade (Common Table Expressions are the goods).
  8. GeoRSS feed to (hopefully) ensure photographs appear in search results as geo-tagged objects.
  9. Tag-clouds for hierarchical image categories.
  10. Colour search (still beta, currently rewriting the search algorithm to favour colour coverage rather than colour fidelity).
  11. Cleaner UI design.
  12. Xhtml transitional doc type with vastly improved markup validity (flash still causing some issues here). Some tables remain, to be slowly phased out when I have time.
  13. Flash 9 homepage scroller (flash cs3 didn’t play nice with my old flash 6 swfs).
  14. Self installed and configured SSL.
  15. New hosting provider (discountasp.net, very impressed so far)

All told the upgrade took about 3 months’ worth of train trips, nights and weekends (around my day job). It’s meant an overall reduction in sleep, but ultimately worth it. Now I have just to force myself to stop tinkering with it.

Blogs work best when you actually post, right?

I know, I know. More posts on the way… seriously.

starting with that single step

Well, this is it, the first of hopefully many posts in my personal blog. Partly a belated fulfillment of a news years resolution (hint: not the most recent one), partly to facilitate some projects I’ve got in mind and partly as an attempt to improve my own writing (it’s taken 10 minutes to get this much down), this blog has been a long time in the oven.

As every decent blogger/rss-pundit will tell you, blogs work best when they have predictable posting frequencies, ‘good writing’ and well-defined topics. I can’t guarantee the first two (it’s going to be a battle, I know it), but for the latter I can at least give you (and me) an idea of topics you expect me not to post about:

  • international, domestic & local politics (an exemption from this rule for topics relating to projects I’m tinkering with)
  • my day job (I’m an IT consultant, that’s all you’re going to get)
  • music, movies, books etc (I’m happy to chat about these endlessly over a beer, but for the moment at least, not online)

What does that leave? Well, mostly my mysterious ‘projects’ I guess. Every IT person has their pet projects and I’m no different, but recently I’ve come to the realization that as long as I keep these secret, they will never see the light of day (i.e. I won’t even finish them). So, tempting as it is to keep these mini-masterpieces to myself until their grand unveiling (i.e. never), I’m going to try to force myself to articulate them here. Who knows, with your help I might even finish one or two.