Digital Dustbusting

tl;dr: I’m tidying up and consolidating my personal hosting; I’ve made a little progress, but I’ve got a way to go – fortunately I’ve got a sabbatical coming up at work!

At the weekend, I kicked-off what will doubtless be a multi-week process of gradually tidying and consolidating some of the disparate digital things I run, around the Internet.

I’ve a long-standing habit of having an idea (e.g. gamebook-making tool Twinebook, lockpicking puzzle game Break Into Us, my Cheating Hangman game, and even FreeDeedPoll.org.uk!), deploying it to one of several servers I run, and then finding it a huge headache when I inevitably need to upgrade or move said server because there’s such an insane diversity of different things that need testing!

Screenshot from Cheating Hangman: I guessed an 'E', but when I guessed an 'O' I was told that there was one (the computer was thinking of 'CLOSE'), but now there isn't because it's switched to a different word that ends with 'E'.
My “cheating hangman” game spun out from my analysis of the hardest words for an optimal player to guess, which was in turn inspired by the late Nick Berry’s examination of optimal strategy.

I can simplify, I figured. So I did.

And in doing so, I rediscovered several old projects I’d neglected or forgotten about. I wonder if anybody’s still using any of them?

Hosting I’ve tidied so far…

  • Cheating Hangman is now hosted by GitHub Pages.
  • DNDle, my Wordle-clone where you have to guess the Dungeons & Dragons 5e monster’s stat block, is now hosted by GitHub Pages. Also, I fixed an issue reported a month ago that meant that I was reporting Giant Scorpions as having a WIS of 19 instead of 9.
  • Abnib, which mostly reminds people of upcoming birthdays and serves as a dumping ground for any Abnib-related shit I produce, is now hosted by GitHub Pages.
  • RockMonkey.org.uk, which doesn’t really do much any more, is now hosted by GitHub Pages.
  • EGXchange, my implementation of a digital wallet for environmentally-friendly cryptocurrency EmmaGoldCoin, which I’ve written about before, is now hosted by GitHub Pages.
  • Sour Grapes, the single-page promo for a (remote) murder mystery party I hosted during a COVID lockdown, is now hosted by GitHub Pages.
  • A convenience-page for giving lost people directions to my house is now hosted by GitHub Pages.
  • Dan Q’s Things is now automatically built on a schedule and hosted by GitHub Pages.
  • Robin’s Improbable Blog, which spun out from 52 Reflect, wasn’t getting enough traffic to justify “proper” hosting so now it sits in a Docker container on my NAS.
  • My μlogger server, which records my location based on pings from my phone, has also moved to my NAS. This has broken Find Dan Q, but I’m not sure if I’ll continue with that in its current form anyway.
  • All of my various domain/subdomain redirects have been consolidated on, or are in the process of moving to, to a tiny Linode/Akamai instance. It’s a super simple plain Nginx server that does virtually nothing except redirect people – this is where I’ll park the domains I register but haven’t found a use for yet, in future.
Screenshot showing EGXchange, saying "everybody has an EGX wallet, log in to yours now".
I was pretty proud of EGXchange.org, but I’ll be first to admit that it’s among the stupider of my throwaway domains.

It turns out GitHub pages is a fine place to host simple, static websites that were open-source already. I’ve been working on improving my understanding of GitHub Actions anyway as part of what I’ve been doing while wearing my work, volunteering, and personal hats, so switching some static build processes like DNDle’s to GitHub Actions was a useful exercise.

Stuff I’m still to tidy…

There’s still a few things I need to tidy up to bring my personal hosting situation under control:

DanQ.me

Screenshot showing this blog post.
You’re looking at it. But later this year, you might be looking at it… elsewhere?

This is the big one, because it’s not just a WordPress blog: it’s also a Gemini, Spartan, and Gopher server (thanks CapsulePress!), a Finger server, a general-purpose host to a stack of complex stuff only some of which is powered by Bloq (my WordPress/PHP integrations): e.g. code to generate the maps that appear on my geopositioned posts, code to integrate with the Fediverse, a whole stack of configuration to make my caching work the way I want, etc.

FreeDeedPoll.org.uk

Right now this is a Ruby/Sinatra application, but I’ve got a (long-running) development branch that will make it run completely in the browser, which will further improve privacy, allow it to run entirely-offline (with a service worker), and provide a basis for new features I’d like to provide down the line. I’m hoping to get to finishing this during my Automattic sabbatical this winter.

Screenshot showing freedeedpoll.org.uk
The website’s basically unchanged for most of a decade and a half, and… umm… it looks it!

A secondary benefit of it becoming browser-based, of course, is that it can be hosted as a static site, which will allow me to move it to GitHub Pages too.

Geohashing.site

When I took over running the world’s geohashing hub from xkcd‘s Randall Munroe (and davean), I flung the site together on whatever hosting I had sitting around at the time, but that’s given me some headaches. The outbound email transfer agent is a pain, for example, and it’s a hard host on which to apply upgrades. So I want to get that moved somewhere better this winter too. It’s actually the last site left running on its current host, so it’ll save me a little money to get it moved, too!

Screenshot from Geohashing.site's homepage.
Geohashing’s one of the strangest communities I’m honoured to be a part of. So it’d be nice to treat their primary website to a little more respect and attention.

My FreshRSS instance

Right now I run this on my NAS, but that turns out to be a pain sometimes because it means that if my home Internet goes down (e.g. thanks to a power cut, which we have from time to time), I lose access to the first and last place I go on the Internet! So I’d quite like to move that to somewhere on the open Internet. Haven’t worked out where yet.

Next steps

It’s felt good so far to consolidate and tidy-up my personal web hosting (and to rediscover some old projects I’d forgotten about). There’s work still to do, but I’m expecting to spend a few months not-doing-my-day-job very soon, so I’m hoping to find the opportunity to finish it then!

× × × × ×

On This Day In 2004

Looking Back

On this day in 2004… Troma Night XXI took place at The Flat. Six people were in attendance: Claire, Paul, Kit, Bryn, (Strokey) Adam and I and, unusually – remember that the digital cameras in phones were still appalling – I took pictures of everybody who showed up.

Troma Night XXI Attendees - clockwise from top left: Dan, Claire, Paul, Adam, Bryn, Kit
Cue exclamations of “didn’t we all look young”, etc.

Troma Night was, of course, our weekly film night back in Aberystwyth (the RockMonkey wiki once described it as “fun”). Originally launched as a one-off and then a maybe-a-few-off event with a theme of watching films produced (or later: distributed) by Troma Entertainment, it quickly became a regular event with a remit to watch “all of the best and the worst films ever made”. Expanding into MST3K, the IMDb “bottom 250”, and once in a while a good film, we eventually spent somewhere over 300 nights on this activity (you can relive our 300th, if you like!) and somehow managed to retain a modicum of sanity.

Kit, Alec, Siân, (Strokey) Adam, Bryn, Paul, Mark, Claire and I consuming far too much alcohol at Troma Night V and Troma Night VI.
Copious quantities of alcohol might have been part of our survival strategy, as evidenced by these pictures from Troma Night V and Troma Night VI.

Starting out in Claire and I’s then-home, The Flat, Troma Night followed us to The Sharp and eventually to The Cottage, where – ignoring a few ‘tours’ to other people’s homes – it remained from then on. Fuelled by pizza, crisps, and beer, we made it through such terrible films as Manos: The Hands of Fate, the truly awful nightmare fuel that is Maniac Nurses Find Ecstasy, and the so-bad-it’s funny action mess Carnosaur 3: Primal Species.

Troma Night XXI, captured on the Troma Night Webcam
Troma Night XXI was among those captured by the Troma Night Webcam, streamed out to the Internet in 1-megapixel, 4 frames per second glory (when it worked).

And what did we watch on this day 13 years ago? The Stendhal Syndrome, which turned out to be remarkably good, Beavis And Butthead Do America, which turned out to be remarkably unremarkable, and horror/sci-fi classic The Thing. But not until after a greater-than-usual amount of tidying up The Flat, I gather.

Looking Forward

In addition to running for over 300 weeks, Troma Night became, for many of us, a central facet of our social lives. The original attendees were all volunteers at Aberystwyth Nightline, but we were later joined by their friends, lovers, housemates… and by Liz‘s dates (who after meeting all of her friends, we usually never saw again). We quickly developed our own traditions and ideas, such as:

  • Our own “drinking game” with rules relating to particular tropes of the films we were watching (an early version can be found here),
  • Pizzas like the Alec Special – a Hollywood Special (ham, pepperoni, beef, mushrooms, green peppers, onions, sweetcorn) but without the onions and with pineapple substituted in instead – and the Pepperoni Feast particularly enjoyed by our resident vegetarian,
Bryn, Paul, Claire, Liz, and Kit enjoy Hollywood Pizza at Troma Night VI.5.
For those who – like me – insist that our regular Hollywood Pizza got greasier over this years, these photos from Troma Night VI.5 are pretty damning. Maybe it’s just that our tastes changed.
  • Paul spontaneously throwing a sponge out of the window to mark the beginning of the evening’s activities,
  • Alec bringing exactly one more can of Grolsch than he’s capable of drinking and leaving the remainder in the fridge to be consumed by Kit at the start of the subsequent event,
  • A fight over the best (or in some cases only) seats in Claire and I’s various small (and cluttered) homes: we once got 21 people into the living room at The Flat, but it wasn’t exactly pleasant,
  • Becoming such a regular customer to Hollywood Pizza that they once phoned us when we hadn’t placed an order in a timely fashion, on another ocassion turned up with somebody else’s order because it “looked like the kind of thing we usually ordered”, and at least one time were persuaded to deliver the pizza directly up to the living room and to each recipient’s lap (you can’t get much better delivery service than that).
Troma Night 4, back when The Flat was in its original furniture configuration.
Decisions about how Claire and I would lay out our furniture were eventually influenced directly by maximising the efficiency of our seating plan. This picture, from Troma Night IV, makes it seem quite spacious and relaxed compared to later nights.

Perhaps the apogee of Troma Night’s success, for me at least, was when some of us got to meet Lloyd Kaufman himself, over a beer and a bowl of nachos, in 2007: prior to the UK premiere of the fabulous return-to-form Troma masterpiece Poultrygeist: Night of the Chicken Dead. This resulted in much fangirling on the part of Claire and, let’s be honest, by pretty much all of us who got the be there.

And I still enjoy the occasional awful film. I finally got around to watching Sharknado the other month, and my RiffTrax account’s library grows year on year. One of my reward card accounts is still under the name of Mr. Troma Knight. So I suppose that Troma Night lives on in some the regulars, even if we don’t make ourselves suffer of a weekend in quite the same ways as we once did.

Update 26 July 2020: You might also be interested in Hollywood Pizza’s menu from the time.

× ×

Troma Night Adventure

Because I promised you some Aber-nostalgia.

Do you remember the RockMonkey Wiki? Many years ago, Ruth bought the domain name rockmonkey.org.uk as a gift for Andy K, who’d been nicknamed “Rock Monkey” for longer than anybody could remember. He decided that what he wanted to host there was a wiki engine, and I helped him get one set up. Soon, every Abnibber and Troma Night veteran was using it, filling the pages with all kinds of junk.

Soon, Jon launched the wiki’s first WikiGame: a maze exploration game using littered with Dungeon Master Java screenshots and monsters aplenty (monsters like Tubgirl and Lesbians and The Splurg). This kicked off a series of other WikiGames, mostly by Jon, Andy R, and myself (although Andy K started about a dozen of them and Ruth got some way through developing her first).

My biggest contribution was probably TromaNightAdventure, a text-based adventure in which the player attempts to explore Aberystwyth to collect (at least) three Troma Night stars, some pizza, some beer, and some films. It was an epic quest, far larger than I’d meant for it to grow, with multiple non-linear ways to win and a scoring system that told you exactly by how much you’d beaten it (some, but few, people managed to score the maximum number of points).

The screenshot above isn’t from the RockMonkey Wiki. It’s from my relaunched version of Troma Night Adventure. That’s right: I’ve dug up the final backup of the RockMonkey Wiki, extracted the relevant content, knocked together a mini version of the wiki engine and the WikiGameToolkit, and re-launched the game. It’s read-only, of course: this isn’t a real wiki; the real wiki is long-gone. But it does have a few extra features than the original, like a pictorial inventory and a nippy Ajax-powered interface. If you’re looking for some nostalgia about the old RockMonkey Wiki or about Troma Nights back in Aberystwyth, here’s your ticket:

IRC Doesn’t Kill People – People Do!

There’s just been an interesting debate on the RockMonkey ChatRoom (#RockMonkey on Freenode) about where the channel is going, where power should lie, and all that jazz. It’s pretty much inevitable that this kind of discussion takes place on a channel, but this is the first time I’ve seen it happen on such a small one (and at a pleasantly low temperature, too). Changing times, eh?

Among many users of the channel, I’m sure it’s no secret that there are a few… personality clashes. That’s healthy, and can leads to great debate (or blazing arguments). The concern I raised was that channel operators (effectively: moderators of the chat room) haven’t been using their wizard-like powers in a responsible manner.

Jon asked me to blog it, but I soon realised that any blog entry I wrote would inevitably sound bitchy. So instead, I’ll just provide a link to some fantastic channel guidelines which explain what Freenode think is good practice when participating on, and, particularly, running and IRC channel. It says, far more eloquently than I would, exactly how I think the channel would be better run, and why.

Rock Exchange

This weekend I hope to release Rock Exchange, my latest WikiGame on the RockMonkey wiki. I’m just finishing performing some tests and fine-tuning on it now. Here’s a screenshot:

Rock Exchange game on the RockMonkey Wiki

In Rock Exchange, players will be able to invest their hard-earned Rocks (a unit of currency) in shares in the various pages on the RockMonkey wiki. The value of these shares will fluctuate based on several characteristics, and players will have to play the odds in order to know when to buy and when to sell to gain a return on their investment. A page’s shares fluctuate based on:

  1. Popularity: so if a new page seems likely to attract the attention of a lot of passing Googlers, it’s worth investing in, whereas an “in joke” that’s died out is not. Similarly, players can manipulate wiki page links in order to attract interest. The most valuable indicator of popularity is how many people come to the site for the first time, entering on a given page.
  2. Investment: investment in pages will put positive pressure on their value, but selling shares damages this value by flooding the market – who’ll be first to pull out of a high-flying page, thereby forcing other shareholders to suffer?
  3. Interference: there will be several methods for people to drastically interfere with the value of their shares and the shares of the other traders, but these won’t necessarily be immediately apparent.
  4. Random factors: the rock market, like the stock market, is an unpredictable animal, and there’ll be a small amount of luck in any investment.

The game’s pretty much “ready-to-play” in it’s most basic form right now, but I want to run it alone awhile longer and see if I can improve the balancing factors in it.

×

Igneous bMotion

I’ve set up a chatbot called Igneous on the RockMonkey ChatRoom. I installed bMotion 0.09: emotions for bots, and some conversation topics (based on the RockMonkey site itself)… and it’s coming up with some classic lines. I lifted this exchange between Sian and Igneous from the log:

<chocorifi> Are you accusing me of sexual harassment Iggy?
<Igneous> only because my toaster ran off
<chocorifi> wtf?
<Igneous> what?
<chocorifi> why did your toaster run off Iggy?
<Igneous> entropy
<chocorifi> i don’t even know what that means, waa
<chocorifi> what does entropy mean iggy?
<Igneous> cycling

It’s good to see that it learns, though. Say anything enough times and it will take it as fact. For example:

<DanHuntle> iggy, what is Bryn_S?
<Igneous> a ginger welshman i guess

More quotes on the RockMonkey ChatRoomQuotes page.

A Weekend Of Lockpicking

Following up the arrival of my new lockpicks, I’ve spent the weekend picking pretty much every lock I’ve come across (and helping to teach JTA and Bryn how to do it for themselves). The result: six of nine attempted locks picked, feeling significantly more well-practiced, and very, very sore fingers. I need to get some rubber sleeves or something for these picks, ‘cos holding them for several hours in a day actually begins to bruise.

In other good news, I’m aware that there’s a planned RockMonkey social in which RockMonkey people will go out for drinks and take photos of the various locations featured in TromaNightAdventure. Sounds like a giggle to me, if ever I heard one.