Dan Q found GC2W6AF Babel Fish

This checkin to GC2W6AF Babel Fish reflects a geocaching.com log entry. See more of Dan's cache logs.

The younger child and I had an initially fruitless search in, under and around the nearby bridge before we had the sense to insert our babel fishes, after which the hint item became clear to us. A short search later the cache was in hand. SL, TNLN, TFTC!

Dan sits on an iron bridge with a 7-year-old boy, above a raging weir.

Dan sits on an iron bridge with a 7-year-old boy, above a raging weir.×

Dan Q found GC51F07 Knapwell one and a half

This checkin to GC51F07 Knapwell one and a half reflects a geocaching.com log entry. See more of Dan's cache logs.

The second of two caches found on a morning walk from the nearby Cambridge Belfry Hotel, where some fellow volunteers and I met yesterday for a meeting. This cache looked so close, but being on the other side of the A428 meant that my route to get from one to the other side of the trunk road necessitated a long and circuitous route around half a dozen (ill-maintained) pegasus crossings around the perimeter of two large roundabouts! Thankfully traffic was quiet at this point if a Saturday morning.

Cache itself was worth the effort though. Feels like it’s increasingly rare to find a large, appropriately-camouflaged, well looked-after cache in a nice location, so FP awarded. TFTC!

Dan, his finger to his lips as-if in thought, looks at a finger post sign that indicates a public footpath to Knapwell (1½ miles).

Dan, his finger to his lips as-if in thought, looks at a finger post sign that indicates a public footpath to Knapwell (1½ miles).×

Dan Q found GC10ZT3 Off Yer Trolley! (Cambourne)

This checkin to GC10ZT3 Off Yer Trolley! (Cambourne) reflects a geocaching.com log entry. See more of Dan's cache logs.

Even early on a Saturday morning, after a volunteering event the previous day at the hotel across the road, this highly-exposed GZ made me feel vulnerable! It’s not as though anybody were actually watching me as I stood around nonchalantly at the GZ waiting for an opportunity to make a search: a couple of shop workers setting up, maybe, and a handful of drivers going past… but what got me was that every time I looked up from my rummaging I spotted, in the corner of my eye, a police officer standing to attention just on the other side of the car park, staring intently in my direction!

The copper in question, of course, was nothing more than a cardboard cut-out designed to spook shoplifters, but man that’s a chilling thing to spot in your peripheral vision when you’re rooting around in the bushes for a concealed container in a quiet car park!

Signed the log and took a selfie with my law enforcement friend (attached) before getting back to my day. TFTC!

Dan stands outside a floor-to-ceiling shop window within which is a cardboard cut-out of a smiling police officer.

Dan stands outside a floor-to-ceiling shop window within which is a cardboard cut-out of a smiling police officer.×

Dan Q found GC8TNPE Incy Wincy

This checkin to GC8TNPE Incy Wincy reflects a geocaching.com log entry. See more of Dan's cache logs.

The elder child and I are staying nearby and couldn’t resist coming to a nearby cache with so many FPs. The name gave us a bit of a clue what we would be looking for but nothing could have prepared us for for this imaginative and unusual container! FP awarded. Attached is very non-spoiler photo of us with our very own Incy Wincies. Greetings from Oxfordshire!

Dan, wearing a black t-shirt and a rainbow-striped bandana, stands alongside a 10-year old girl carrying stuffed toys, in a market square. Both are making "spider" figures with their fingers, towards the camera.

Dan, wearing a black t-shirt and a rainbow-striped bandana, stands alongside a 10-year old girl carrying stuffed toys, in a market square. Both are making "spider" figures with their fingers, towards the camera.×

My Geo*ing Limits

I thought it might be fun to try to map the limits of my geocaching/geohashing. That is, to draw the smallest possible convex polygon that surrounds all of the geocaches I’ve found and geohashpoints I’ve successfully visited.

World map showing the outer extent of the areas in which Dan has geocached/geohashed. A shaded polygon covers the UK (except the far North of Scotland), parts of California, Cape Town, and parts of Italy and Austria.

Mathematically, such a shape is a convex hull – the smallest polygon encircling a set of points without concavity. Here’s how I made it:

1. Extract all the longitude/latitude pairs for every successful geocaching find and geohashpoint expedition. I keep them in my blog database, so I was able to use some SQL to fetch them:

SELECT DISTINCT coord_lon.meta_value lon, coord_lat.meta_value lat
FROM wp_posts
LEFT JOIN wp_postmeta expedition_result ON wp_posts.ID = expedition_result.post_id AND expedition_result.meta_key = 'checkin_type'
LEFT JOIN wp_postmeta coord_lat ON wp_posts.ID = coord_lat.post_id AND coord_lat.meta_key = 'checkin_latitude'
LEFT JOIN wp_postmeta coord_lon ON wp_posts.ID = coord_lon.post_id AND coord_lon.meta_key = 'checkin_longitude'
LEFT JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id
LEFT JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
LEFT JOIN wp_terms ON wp_term_taxonomy.term_id = wp_terms.term_id
WHERE wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish'
AND wp_term_taxonomy.taxonomy = 'kind'
AND wp_terms.slug = 'checkin'
AND expedition_result.meta_value IN ('Found it', 'found', 'coordinates reached', 'Attended');

2. Next, I determine the convex hull of these points. There are an interesting variety of algorithms for this so I adapted the Monotone Chain approach (there are convenient implementations in many languages). The algorithm seems pretty efficient, although that doesn’t matter much to me because I’m caching the results for a fortnight.

Animation showing an algorithm draw lines from point to point, selecting each point by avoiding counter-clockwise turns.
I watched way too many animations of different convex hull algorithms before selecting this one… pretty-much arbitrarily.

3. Finally, I push the hull coordinates into Geoapify, who provide mapping services to me. My full source code is available.

An up-to-date (well, no-more than two weeks outdated) version of the map appears on my geo* stats page. I don’t often get to go caching/hashing outside the bounds already-depicted, but I’m excited to try to find opportunities to push the boundaries outwards as I continue to explore the world!

(I could, I suppose, try to draw a second larger area of places I’ve visited: the difference between the smaller and larger areas would represent all of the opportunities I’d missed to find a hashpoint!)

Animation showing an algorithm draw lines from point to point, selecting each point by avoiding counter-clockwise turns.× World map showing the outer extent of the areas in which Dan has geocached/geohashed. A shaded polygon covers the UK (except the far North of Scotland), parts of California, Cape Town, and parts of Italy and Austria.×

Quickly Solving JigsawExplorer Puzzles

Background

I was contacted this week by a geocacher called Dominik who, like me, loves geocaching…. but hates it when the coordinates for a cache are hidden behind a virtual jigsaw puzzle.

A popular online jigsaw tool used by lazy geocache owners is Jigidi: I’ve come up with several techniques for bypassing their puzzles or at least making them easier.

Dominik had been looking at a geocache hidden last week in Eastern France and had discovered that it used JigsawExplorer, not Jigidi, to conceal the coordinates. Let’s take a look…

Unsolved approx. 1000 piece jigsaw puzzle.
Not just any puzzle; the geocache used an ~1000 piece puzzle! Ugh!

I experimented with a few ways to work-around the jigsaw, e.g. dramatically increasing the “snap range” so dragging a piece any distance would result in it jumping to a neighbour, and extracting original image URLs from localStorage. All were good, but none were perfect.

For a while, making pieces “snap” at any range seemed to be the best hacky workaround.

Then I realised that – unlike Jigidi, where there can be a congratulatory “completion message” (with e.g. geocache coordinates in) – in JigsawExplorer the prize is seeing the completed jigsaw.

Dialog box reading "This puzzle's box top preview is disabled for added challenge."
You can click a button to see the “box” of a jigsaw, but this can be disabled by the image uploader.

Let’s work on attacking that bit of functionality. After all: if we can bypass the “added challenge” we’ll be able to see the finished jigsaw and, therefore, the geocache coordinates. Like this:

Hackaround

Here’s how it’s done. Or keep reading if you just want to follow the instructions!
  1. Open a jigsaw and try the “box cover” button at the top. If you get the message “This puzzle’s box top preview is disabled for added challenge.”, carry on.
  2. Open your browser’s debug tools (F12) and navigate to the Sources tab.
  3. Find the jigex-prog.js file. Right-click and select Override Content (or Add Script Override).
  4. In the overridden version of the file, search for the string – e&&e.customMystery?tt.msgbox("This puzzle's box top preview is disabled for added challenge."): – this code checks if the puzzle has the “custom mystery” setting switched on and if so shows the message, otherwise (after the :) shows the box cover.
  5. Carefully delete that entire string. It’ll probably appear twice.
  6. Reload the page. Now the “box cover” button will work.

The moral, as always, might be: don’t put functionality into the client-side JavaScript if you don’t want the user to be able to bypass it.

Or maybe the moral is: if you’re going to make a puzzle geocache, put some work in and do something clever, original, and ideally with fieldwork rather than yet another low-effort “upload a picture and choose the highest number of jigsaw pieces to cut it into from the dropdown”.

Unsolved approx. 1000 piece jigsaw puzzle.× Dialog box reading "This puzzle's box top preview is disabled for added challenge."×

Dan Q found GC2BHX9 C-130J Hercules

This checkin to GC2BHX9 C-130J Hercules reflects a geocaching.com log entry. See more of Dan's cache logs.

Found by the geohound and I after a brief battle with the first stinging nettles of the season. Owie! She and I came over from Stanton Harcourt this morning – from which we see plenty of Brize Nortons’ Hercules! – because many of our favourite local walks are waterlogged. Things are somewhat drier underfoot here, but after our walk through the fields the pup and I are still rather muddy! TFTC.

Dan Q found GCADXC6 Tour de France

This checkin to GCADXC6 Tour de France reflects a geocaching.com log entry. See more of Dan's cache logs.

My very first “ski-o-cache” was 9 years ago, down in La Tania: this was my second! Found the host easily at the coordinates and found the cache in the third hiding place I tried. It’s quite stiff and hard to extract right now! Needed to wait to return it while some other skiers took pictures of one another at the GZ, but got there in the end. Salutations d’Oxford, en Angleterre. MPLC!

Dan, in a wintery mountainous landscape, poses for a selfie by a sculpture of a bicycle marking part of the route of the Tour de France.

Dan, in a wintery mountainous landscape, poses for a selfie by a sculpture of a bicycle marking part of the route of the Tour de France. ×

Dan Q found GC82XT0 Cumnor Minions – Dr Nefario

This checkin to GC82XT0 Cumnor Minions - Dr Nefario reflects a geocaching.com log entry. See more of Dan's cache logs.

Found after trying a few different hosts while out on an expedition to try and reach the 2024-02-10 51 -1 geohashpoint with the 7-year-old and the dog. The path to the hashpoint is really waterlogged and the little man said his wellies were leaking so we doubled back and retrieved this cache. Extracting the log was a bit of a challenge owing to tune container shape but we managed in the end. TFTC.

Dan, in a grey jumper, stand beside a 7-year-old boy wearing a camo jacket, in a lightly wooded area.

Dan, in a grey jumper, stand beside a 7-year-old boy wearing a camo jacket, in a lightly wooded area.×

Dan Q found GC8X86T Crawley to Minster Loop – #5 Mirach

This checkin to GC8X86T Crawley to Minster Loop - #5 Mirach reflects a geocaching.com log entry. See more of Dan's cache logs.

A second find this morning for the boy, the geopup and I this morning. The hound was no use; she had her nose right up against the cache at one point and gave no indication whatsoever. I’m beginning to think she doesn’t understand geocaching at all! Signed “DQ” to save space. TFTC.

A French Bulldog stands on an ivy-covered muddy wooden footbridge, panting at the camera.

A French Bulldog stands on an ivy-covered muddy wooden footbridge, panting at the camera.×

Dan Q found GC8X86E Crawley to Minster Loop – #4 Gacrux

This checkin to GC8X86E Crawley to Minster Loop - #4 Gacrux reflects a geocaching.com log entry. See more of Dan's cache logs.

Out for a dog walk with the younger child (and the dog, of course!). We’ve come to the nearby ruins many times before but never taken the time to do some caching here, until today. Needed the hint to guide us to the right host, after which it was an easy find, although the 7 y/o‘s little fingers had to work hard to extract the cache container from its (temporary?) hiding place! Log damp, but was able to sign “DQ”. TFTC.

Dan, wearing a grey hoodie, stands in a meadow alongside a boy who's throwing "devil horns" hand signs.

Dan, wearing a grey hoodie, stands in a meadow alongside a boy who's throwing "devil horns" hand signs.×

Dan Q temporarily disabled GC9EXXX Church Micro 14129…Sutton

This checkin to GC9EXXX Church Micro 14129...Sutton reflects a geocaching.com log entry. See more of Dan's cache logs.

Cache removed and temporarily disabled. The council have just started installing new signage to advise of a new 20mph speed limit around here. 🎉

When they recently did the same in a nearby village, they removed a cache of this type as a (presumably accidental) side effect. I don’t know if this cache’s host is among those that’ll be affected but I suspect it will so I’ve temporarily removed this one as a precaution and I’ll reinstate it after the works are complete.

A 20mph "repeater" speed limit sign around the corner from the cache location.

A 20mph "repeater" speed limit sign around the corner from the cache location.×

Dan Q found GC2WTGE 8~ NUDDSY MEGA RAMBLE

This checkin to GC2WTGE 8~ NUDDSY MEGA RAMBLE reflects a geocaching.com log entry. See more of Dan's cache logs.

A challenging and courageous scramble by the eldest (who turned 10 yesterday!) and I (who turned 43 today!) up the slippery wet leaves to reach the GZ. I stopped to double check the proximity and meanwhile the little one found it! Thanks for the enjoyable birthday scramble, and TFTC!

Dan smiles alongside a 10-year-old girl who's holding a geocache container.

Dan smiles alongside a 10-year-old girl who's holding a geocache container.×