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.

×

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!)

× ×

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”.

× ×

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 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 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.

×

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 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.

×

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 Q did not find GC2WTGN 9~NUDDSY MEGA RAMBLE

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

An extended search by three adults, two children, and a dog failed to find this cache. We found what we think might have once been its camouflage near the obvious hiding place at the GZ, but nothing else.

Dan Q found GC5TF25 Mystic Abbey

This checkin to GC5TF25 Mystic Abbey reflects a geocaching.com log entry. See more of Dan's cache logs.

Out for a walk on my 43rd birthday, left the kids playing with their other parents in the (beautiful) ruins of the abbey or I hacked my way around to the GZ. Started searching at my evaluation of the target point and spiralled outwards, eventually finding the cache about 10m away (downhill and further from the abbey) after interpreting the hint. Good sized container in a great location, TFTC and greetings from Oxfordshire!

Dan, with his thumb up, in front of the ruin of an abbey.

×

[Bloganuary] Playtime

This post is part of my attempt at Bloganuary 2024. Today’s prompt is:

Do you play in your daily life? What says “playtime” to you?

How do I play? Let me count the ways!

RPGs

I’m involved in no fewer than three different RPG campaigns (DMing the one for The Levellers) right now, plus periodic one-shots. I love a good roleplaying game, especially one that puts character-building and storytelling above rules-lawyering and munchkinery, specifically because that kind of collaborative, imaginative experience feels more like the kind of thing we call “play” when done it’s done by children!

Composite photo showing a young boy rolling a D20 onto a character sheet in front of a tabletop battlemap, and three monitors in a dark room showing a video chat between people and a digital gameboard.
Family D&D and Abnib D&D might have a distinctly different tone, but they’re still both playtime activities.

Videogames

I don’t feel like I get remotely as much videogaming time as I used to, and in theory I’ve become more-selective about exactly what I spend my time on1.

Dan with his thumbs-up in front of the high-score table (with the top-ranking spot about to be filled) of Wonder Boy, on a generic "80s Arcade Classics" arcade cabinet.
I managed to beat Wonder Boy last week, and it “only” took me three and a half decades!

Board Games

Similarly, I don’t feel like I get as much time to grind through my oversized board games collection as I used to2, but that’s improving as the kids get older and can be roped-into a wider diversity of games3.

A girl, sat in front of an Agricola farmyard board, holds up a "sheeple" (small wooden sheep game piece) for the camera.
Our youngest wakes early on weekend mornings and asks to kick off his day with board games. Our eldest, pictured, has grown to the point where she’s working her way through all of the animal-themed games at our local board games cafe.

Escape Rooms

I love a good escape room, and I can’t wait until the kids are old enough for (more of) them too so I’ve an excuse to do more of them. When we’re not playing conventional escape rooms, Ruth and I can sometimes be found playing board game-style boxed “kit” ones (which have very variable quality, in my experience) and we’ve recently tried a little Escape Academy.

Ruth and Dan hold up an Alice In Wonderland themed sign reading "it went like a dream" underneath the sign for escape room company Escape Hunt. Both are wearing silly hats, and Dan is also wearing white rabbit ears.
Ruth and I make a great duo when we remember to communicate early-and-often and to tag-team puzzles by swapping what we’re focussing on when we get stuck.

GNSS Activities

I’m sure everybody knows I do a modest amount of geocaching and geohashing.4

Dan, outdoors in a field on a grey day and with the wind whipping his hair across his face, wearing a high-vis jacket over a warm fleece, holds up a GPS receiver which shows he's zero metres from his destination.
I’m out standing in my field.

They’re not the only satnav-based activities I do at least partially “for fun” though! I contribute to OpenStreetMap, often through the “gamified” experience of the StreetComplete app, and I’m very slowly creeping up the leader board at OpenBenches. Are these “play”? Sure, maybe.

And all of the above is merely the structured kinds of play I engage in. Playing “let’s pretend”-style games with the kids (even when they make it really, really weird) adds a whole extra aspect. Also there’s the increasingly-rare murder mystery parties we sometimes hold: does that count as roleplaying, or some other kind of play?

Guests dressed as a chef, a priest, and a librarian sit around a dining table at a murder mystery party.
A chef, a priest, and a librarian walk into a party… stop me if you’ve heard this one.

Suffice to say, there’s plenty of play in my life, it’s quite varied and diverse, and there is, if anything, not enough of it!

Footnotes

1 I say that, and yet somehow Steam tells me that one of my most-played games this year was Starfield, which was… meh? Apparently compelling enough that I’ve “ascended” twice, but in hindsight I wish I hadn’t bothered.

2 Someday my group and I will finish Pandemic Legacy: Season 2 so we can get started on Season 0 which has sat unplayed on my shelves since I got it… oooh… two or three years ago‽

3 This Christmas, I got each of them their first “legacy” game: Zombie Kids for the younger one, My City for the elder. They both seem pretty good.

4 Geocaching is where you use military satellite networks to find lost tupperware. Geohashing uses the same technology but what you find is a whole lot of nothing. I don’t think I can explain why I find the latter more-compelling.

× × × × × ×