This checkin to GC8W7QW Forgotten Bridge reflects a geocaching.com log entry. See more of Dan's cache logs.
Quick maintenance visit/check-in while out walking the dog. All is well!
This checkin to GC8W7QW Forgotten Bridge reflects a geocaching.com log entry. See more of Dan's cache logs.
Quick maintenance visit/check-in while out walking the dog. All is well!
This is a repost promoting content originally published elsewhere. See more things Dan's reposted.
JTA tweeted a brilliant thread about something he discovered while digging through old D&D texts, and it’s awesome so – as I imagine he wouldn’t mind – I’ve reproduced it in full here:
I don’t really Twitter so much these days because like most social media it makes me either gloomy or extremely grumpy with the state of the world, but since I also lack the time to bother blogging anywhere, here’s a ludicrously nerdy thread about a Dungeons & Dragons rumour.So, back in the days of AD&D 1st Edition your printed modules would often come with a table of Rumours. The idea was hearing rumours increased the depth of the world, so players didn’t feel like NPCs just winked into existence when they entered the Hydra’s Den tavern & said “hi”.
But sometimes the rumours would be false, or exaggerated. That also added depth and had the bonus of ensuring that players didn’t take it for granted. OK, this guy in the red robe *says* Kobolds are poisoning the iron ore, but is that at all plausible, or is it just a bad seam?
(Those of us without any friends, or at least without friends equally into D&D in the 80s & 90s, also got this experience because it was well-replicated in the TSR Gold Box series of games, either in-game, or more-commonly through supplementary material in the boxes.
The supplementary materials often came in a separate “Journal” supplied in the box, & were a sort of additional layer of copy-protection because if the Game says “read Entry 19”, your choice is either do so, or wait 25 years for the abandonware PDFs to hit archive.org.
e.g., here’s the Traveller’s Tales from ‘Curse of the Azure Bonds’: note the subtlety of entries 1 and 8, about the Princess, sounding corroborative – maybe encouraging the party to more deference around someone with purple in their clothes, though either or both might be false.)
![]()
Anyway, this only really existed in the TSR/SSI games because it was in the standard modules.
I was reminded of the rumour system when I was digging back into AD&D Module B2: The Keep on the Borderlands to borrow a bunch of content for a campaign I’ve just inherited (as you do)
‘Keep on the Borderlands’ was by Gary Gygax himself, and suffers a bunch from the typical issues 1e had, none of which I’ll address here because I would please nobody. But the rumours table is a really good example of the type – it gives players depth but not unfair advantages.
![]()
Now Keep on the Borderlands was a pretty big deal of a module back in the day. It was module B2, of the Basic Set, & it did some stuff really well, especially for new players – sort of a 1980 equivalent of ‘Lost Mine of Phandelver’ today. Lots of players cut their teeth on it.
Rumour 10 – ‘”Bree-Yark” is goblin-language for “we surrender”!’ – is a false rumour, though the party doesn’t know that: whatever ‘Bree-yark’ means, it’s not “We Surrender”.
In fact, the module tells the DM it means “Hey, rube!!” and is used by goblins to sound the alarm.
(Spoilers here for the Goblin Lair in Location D of the Caves of Chaos, but when goblins on watch call out “Bree-yark!”, more goblins at #18 will bribe an ogre to come help attack the party. (1e often imposed dynamic worlds by fiat, back when the world was young, the DMs green)
![]()
So lots of early DMs got to imagine the potential hilarity of the party arriving in the cave, hearing goblins apparently surrendering, & dropping their guard, never realising life just got harder!
(It isn’t much hilarity, but in the 80s, as now, there was limited scope for joy)
Still – it’s a decent joke. Everyone believes “Bree-yark” is Goblin for surrender, but it isn’t really, that’s just a false rumour, spread by boastful drunks who’ve never seen a goblin in real life anyway.
So much for 1st Edition AD&D, I guess.
…except:
It’s 2014. The wheel of time turns, ages come and pass, and Grapple rules don’t so much become legend as “remain completely incomprehensible”. Now every new adventurer carries a Field Marshall’s baton in their knapsack, ‘cos tracking encumbrance is for chumps, & D&D 5e launches.
(While I’m doing archaeology, take a moment in this fast-forward to enjoy the glorious madness of the Grimtooth’s Traps series, which popped up in ’81 & features brilliantly inventive nastiness to spring on players who aren’t too attached to their character sheets. Or friends.)
![]()
So, 5e launches, to a lot of stick in some circles (I never knew a version of D&D that didn’t: probably some wazzock in 1971 ranted that the codified Fantasy Supplement rules in ‘Chainmail’ “beTraYs rEaL FaNs!” and sold out the hobby, but at least they couldn’t whinge on Reddit)
…but someone involved in 5e is has conjured the most obscurely brilliant bit of ultra-specific nerd humour I have seen in years.
Y’see, 5e modules don’t really do Rumour Tables or “If the party X, then Y, else Z” – DMs create dynamic worlds on the fly. (Hopefully).
So you’d think there’s no more chance of hilarious moments where the Goblins start yelling “Bree-Yark!” and Magnus Rushes In only to be shocked to find a well-bribed and high-Challenge Rating ogre running obediently up from Location E.22.
But you would think (slightly) wrong.
Because although 5e modules don’t do rumours the like 1e did, the Monster Manual does do flavour text – it’s usually a snippet of lore, or a word from a famous scholar, or advice from an adventurer who encountered the monster but lived to tell the tale. It provides fluffy depth.
![]()
And, actually, I say “it’s usually” but I’ve just checked and every bit of flavourtext I can find in the Monster Manual is either By A Scholar, From a Book, An Adventurer’s Tale, or a Monster Describing Itself…
![]()
…with one single exception: the flavourtext on the entry for Goblins, which isn’t attributed to anybody or anything, but is just the claim that “Bree-Yark!” means “we surrender!”
![]()
This isn’t attributed to any source. Nobody in-lore has a citation for this. It’s just something “they say”. A genuine 1st Edition rumour just chilling out in the 5th edition Monster Manual three decades after B2 landed.
Glorious. Well played, @Wizards. Very well played.
![]()
This checkin to GC7RN72 #33 D.J.F. – Moana reflects a geocaching.com log entry. See more of Dan's cache logs.
Stared at its excellent camouflage for a while before realising what this was! Paddled down by inflatable canoe (picture attached) and landed right by here. Thought to check for local caches as we deflated the boats and was delighted that this one was right here in this picturesque spot! TFTC.
This checkin to GC1EGCZ Symonds Yat Rock reflects a geocaching.com log entry. See more of Dan's cache logs.
Came up during a break in the rain during our holiday weekend in the valley. Greetings from Oxfordshire! TFTC.
This checkin to GC9Q4JG Timms Estate reflects a geocaching.com log entry. See more of Dan's cache logs.
I’ve been working in Banbury this morning while my car was being serviced at the nearby garage. Once I got the call to say it had been done and I could come and collect it I walked back past this cache. Instant find. TFTC!
I’ve been playing with a Flic Hub LR and some Flic 2 buttons. They’re “smart home” buttons, but for me they’ve got a killer selling point: rather than locking you in to any particular cloud provider (although you can do this if you want), you can directly program the hub. This means you can produce smart integrations that run completely within the walls of your house.
Here’s some things I’ve been building:
I run a Huginn instance on our household NAS. If you’ve not come across it before, Huginn is a bit like an open-source IFTTT: it’s got a steep learning curve, but it’s incredibly powerful for automation tasks. The first step, then, was to set up my Flic Hub LR to talk to Huginn.
This was pretty simple: all I had to do was switch on “Hub SDK web access open” for the hub using the Flic app, then use the the web SDK to add this script to the hub. Now whenever a button was clicked, double-clicked, or held down, my Huginn installation would receive a webhook ping.
For convenience, I have all button-presses sent to the same Webhook, and use Trigger Agents to differentiate between buttons and press-types. This means I can re-use functionality within Huginn, e.g. having both a button press and some other input trigger a particular action.
By our front door, we have “in trays” for each of Ruth, JTA and I, as well as one for the bits of Three Rings‘ post that come to our house. Sometimes post sits in the in-trays for a long time because people don’t think to check them, or don’t know that something new’s been added.
I configured Huginn with a Trigger Agent to receive events from my webhook and filter down to just single clicks on specific buttons. The events emitted by these triggers are used to notify in-tray owners.
In my case, I’ve got pings being sent to mail recipients via Slack, but I could equally well be integrating to other (or additional) endpoints or even performing some conditional logic: e.g. if it’s during normal waking hours, send a Pushbullet notification to the recipient’s phone, otherwise send a message to an Arduino to turn on an LED strip along the top of the recipient’s in-tray.
I’m keeping it simple for now. I track three kinds of events (click = “post in your in-tray”, double-click = “I’ve cleared my in-tray”, hold = “parcel wouldn’t fit in your in-tray: look elsewhere for it”) and don’t do anything smarter than send notifications. But I think it’d be interesting to e.g. have a counter running so I could get a daily reminder (“There are 4 items in your in-tray.”) if I don’t touch them for a while, or something?
Following the same principle, and with the hope that the Flic buttons are weatherproof enough to work in a covered outdoor area, I’ve fitted one… to the top of the box our milkman delivers our milk into!
Most mornings, our milkman arrives by 7am, three times a week. But some mornings he’s later – sometimes as late as 10:30am, in extreme cases. If he comes during the school run the milk often gets forgotten until much later in the day, and with the current weather that puts it at risk of spoiling. Ironically, the box we use to help keep the milk cooler for longer on the doorstep works against us because it makes the freshly-delivered bottles less-visible.
I’m yet to see if the milkman will play along and press the button when he drops off the milk, but if he does: we’re set! A second possible bonus is that the kids love doing anything that allows them to press a button at the end of it, so I’m optimistic they’ll be more-willing to add “bring in the milk” to their chore lists if they get to double-click the button to say it’s been done!
I’m still playing with ideas for the next round of buttons. Could I set something up to streamline my work status, so my colleagues know when I’m not to be disturbed, away from my desk, or similar? Is there anything I can do to simplify online tabletop roleplaying games, e.g. by giving myself a desktop “next combat turn” button?
I’m quite excited by the fact that the Flic Hub can interact with an infrared transceiver, allowing it to control televisions and similar devices: I’d love to be able to use the volume controls on our media centre PC’s keyboard to control our TV’s soundbar: and because the Flic Hub can listen for UDP packets, I’m hopeful that something as simple as AutoHotkey can make this possible.
Or perhaps I could make a “universal remote” for our house, accessible as a mobile web app on our internal Intranet, for those occasions when you can’t even be bothered to stand up to pick up the remote from the other sofa. Or something that switched the TV back to the media centre’s AV input when consoles were powered-down, detected by their network activity? (Right now the TV automatically switches to the consoles when they’re powered-on, but not back again afterwards, and it bugs me!)
It feels like the only limit with these buttons is my imagination, and that’s awesome.
This checkin to GC8W7QW Forgotten Bridge reflects a geocaching.com log entry. See more of Dan's cache logs.
Routine maintenance visit. Came in via the path through the field to the North (pictured) which was pretty challenging because the “path” is almost as deep in vegetation as the cornfield that straddles it! Gloriously hot today, and the elder tree at the GZ smells lush!
Pleased to see a log entry from March by some picknickers who found the cache by accident. Delightful!
Cache remains in fine condition and ready to be found!
Today I wanted to write a script that I could execute from both *nix (using Bash or a similar shell) and on Windows (from a command prompt, i.e. a batch file). I found Max Norin’s solution which works, but has a few limitations, e.g. when run it outputs either the word “off” when run in *nix or the word “goto” when run on Windows. There’s got to be a sneaky solution, right?
Here’s my improved version:
1 2 3 4 5 6 7 8 9 10 11 12 |
@goto(){ # Linux code here uname -o } @goto $@ exit :(){ @echo off rem Windows script here echo %OS% |
Mine exploits the fact that batch files can prefix commands with @ to suppress outputting them as they execute. So @goto can be a valid function name in
bash/zsh etc. but is interpreted as a literal goto command in a Windows Command Prompt. This allows me to move the echo off command –
which only has meaning to Windows – into the Windows section of the script and suppress it with @.
The file above can be saved as e.g. myfile.cmd and will execute in a Windows Command Prompt (or in MS-DOS) or your favourite *nix OS. Works in MacOS/BSD too, although
obviously any more-sophisticated script is going to have to start working around the differences between GNU and non-GNU versions of core utilities, which is always a bit of a pain!
Won’t work in sh because you can’t define functions like that.
But the short of it is you can run this on a stock *nix OS and get:
$ ./myfile.cmd GNU/Linux
And you can run it on Windows and get:
> .\myfile.cmd Windows_NT
You can’t put a shebang at the top because Windows hates it, but there might be a solution using PowerShell scripts (which use
hashes for comments: that’s worth thinking about!). In any case: if the interpreter strictly matters you’ll probably want to shell to it on line 3 with e.g. bash -c.
Why would you want such a thing? I’m not sure. But there is is, if you do.
This checkin to GC9EXXC Shady Seat on The Green reflects a geocaching.com log entry. See more of Dan's cache logs.
On our way back from the village fete we stopped for a maintenance visit (and to eat our ice creams at the GZ!). Cache is in fine working order.
This post is also available as an article. So if you'd rather read a conventional blog post of this content, you can!
This video accompanies a blog post of the same title. The content is basically the same – if you prefer videos, watch this video. If you prefer blog posts, go read the blog post. If you’re a superfan, try both and spot the differences. You weirdo.
Also available on YouTube or on Facebook.
This post is also available as a video. If you'd prefer to watch/listen to me talk about this topic, give it a look.
This blog post is also available as a video. Would you prefer to watch/listen to me tell you about how I’ve learned to enjoy doing what I’m bad at?
There are a great number of things that I’m bad at. One thing I’m bad at (but that I’m trying to get better at) is being more-accepting of the fact that there are things that I am bad at.
I’m pretty bad in a pub quiz. I’m bad at operating my pizza oven without destroying cookware. I’m especially bad at learning languages. I’m appallingly bad at surfing. Every time my work periodically leans in that direction I remember how bad I am at React. And I’ve repeatedly shown that I’m bad at keeping on top of blogging, to the extent that I’ve periodically declared bankruptcy on my drafts folder.
So yeah, pretty bad at things.
But hang on: that assessment isn’t entirely true.
As a young kid, I was a smart cookie. I benefited from being an only child and getting lots of attention from a pair of clever parents, but I was also pretty bright and a quick learner with an interest in just about anything I tried. This made me appear naturally talented at a great many things, and – pushed-on by the praise of teachers, peers, and others – I discovered that I could “coast” pretty easily.
But a flair for things will only carry you so far, and a problem with not having to work hard at your education means that you don’t learn how to learn. I got bitten by this when I was in higher education, when I found that I actually had to work at getting new information to stick in my head (of course, being older makes learning harder too, as became especially obvious to me during my most-recent qualification)!
A side-effect of these formative experiences is that I grew into an adult who strongly differentiated between two distinct classes of activities:
The net result: I missed out on opportunities to learn new things, simply because I didn’t want to be seen as going through the “amateur” phase. In hindsight, that’s really disappointing! And this “I’m bad at (new) things” attitude definitely fed into the imposter syndrome I felt when I first started at Automattic.
Leaving the Bodleian after 8½ years might have helped stimulate a change in me. I’d carved out a role for myself defined by the fields I knew best; advancing my career would require that I could learn new things. But beyond that, I benefited from my new employer whose “creed culture” strongly promotes continuous learning (I’ve vlogged about this before), and from my coach who’s been great at encouraging me towards a growth mindset.
But perhaps the biggest stimulus to remind me to keep actively learning, even (especially?) when it’s hard, might have been the pandemic. Going slightly crazy with cabin fever during the second lockdown, I decided to try and teach myself how to play the piano. Turns out I wasn’t alone, as I’ve mentioned before: the pandemic did strange things to us all.
I have no real experience of music; I didn’t even get to play recorder in primary school. And I’ve certainly got no talent for it (I can hear well enough to tell how awful my singing is, but that’s more a curse than a blessing). Also, every single beginners’ book and video course I looked at starts from the assumption that you’re going to want to “feel” your way into it, and that just didn’t sit well with the way my brain works.
I wanted a theoretical background before I even sat down at a keyboard, so I took a free online course in music theory. Then I started working through a “beginners’ piano” book we got for the kids. Then I graduated to “first 50 Disney songs”, because I know how virtually all of them sound well enough that I’d be able to hear where I was going wrong. Since then, I’ve started gradually making my way through a transcription of Einaudi’s Islands. Feeling like I’d got a good handle on what I was supposed to be doing, I then took inspiration from a book JTA gave me and started trying to improvise.
Most days, I get no more than about 10 minutes on the piano. But little by little, day by day, that’s enough to learn. Nowadays even my inner critic perfectionist can
tolerate hearing myself play. And while I know that I’ll probably never be as good as, say, the average 8-year-old on YouTube, I’m content in my limited capacity.
If I’m trying to cultivate my wonder syndrome, I need to stay alert for “things I’m bad at” that I could conceivably be better at if I were just brave enough to try to learn. I’m now proudly an “embarrassingly amateur” pianist, which I’m at-long-last growing to see as better than a being non-pianist.
Off the back of that experience, I’m going to try to spend more time doing things that I’m bad at. And I’d encourage you to do the same.
Hey @VOXI_UK! There’s a security #vulnerability in your website. An attacker can (a) exfiltrate mobile numbers and (b) authenticate bypassing OTP.
Not sure who to talk to about ethical disclosure. Let me know?
This checkin to GC9GKJA A Fine Pair # 1625 ~ Eynsham reflects a geocaching.com log entry. See more of Dan's cache logs.
Quick maintenance check while in the vicinity. All is well!
This checkin to GC90RH3 Tiny Log Book reflects a geocaching.com log entry. See more of Dan's cache logs.
This morning two men from the council turned up at my door and asked if they could borrow my driveway to park their vehicle. We got chatting, and it turned out that they were going to be working on footpath maintenance nearby. Realising where they meant, I asked for more information about their work: their plan was to remove the footbridge which acts as the home to this geocache, and replace it with a new one a couple of metres over in order to bring the path in-line with its “correct” location!
So I wandered out with them and removed the geocache before they got started on removing the bridge. I might be able to replace it after the new bridge is built, but – based on their description of the new bridge – it might need to be a different design of cache, so for now I’m archiving this one. This is perhaps my happiest cache-archiving ever.
I confirmed that this team weren’t the bridge inspection team who wrote a lovely log in a cache of mine hidden under a different bridge in this area, but they said that they do occasionally find caches as part of their work and try to return them as-they-found-them. Delightful conversation.
This checkin to GC6GTY1 The Duck Pond reflects a geocaching.com log entry. See more of Dan's cache logs.
GPSr was spot on, but the nettles are tall and fierce age it was a bit of a battle to get to this cache, hidden beneath them. TFTC!