Geocaching.com Can’t Count? (my 1000+ geocache finds!)

This week I’m in Spain to see a spectacular eclipse, among other things. I’ve also done a reasonable amount of geocaching, including on Tuesday finding my 1000th geocache.

Dan - a white man wearing a rainbow-striped bandana - stands with his arms raised in celebration, alongside the superimposed words '1000th find'.

Which led me today to ask: how many caches does Geocaching.com think I’ve found? It’s the biggest, but not the only, site I use, and so I didn’t expect it to show the same total as me. A difference is expected.

Well… it turns out how you ask it. In the top-right corner of the page, when I log in, it says that I have… 1,035 finds:

User information area from the top of a website, showing Dan Q with no incoming messages and, crucially," 1,035 finds".

That turns out to be significantly higher than I’d anticipated, which initially made me wonder: did I fail to count some in my tally?

My tally comes from those which have been imported right here onto my blog. I use a computer-assisted but still-manual approach1 to PESOS my geocaching logs from various sites – Geocaching.com, OpenCache.uk2, TerraCaching, etc.3 – onto my blog, and then I count them here. Could my data be wrong?

So I went about checking it. Which turned out to be challenging, because the “foreign key” I use to associate the caching logs on my website is the log ID that appears in the links on Geocaching.com… and those changed format somewhere along the way.4 So first I had to fix all of my metadata spanning about 750 rows. Then I was able to check.

But while I did that, I noticed something strange. When I click on that link that says I have “1,035 finds”, the resulting page has a link to see what they are. And it claims there are… 1,005 finds:

List of geocaching logs, filtered to "Found it", showing 1,005 rows.

Stranger still, a different link from the same page on Geocaching.com told me that I had 1,006 finds!

Screenshot showing that Dan Q has 1,035 finds, of which all 1,006 are shown in a table. Wait, what?
This screenshot’s my favourite, because it shows two different totals at the same time!

Even before I’d corrected all of my metadata and rechecked my totals, I was becoming increasingly convinced that I couldn’t trust any of Geocaching.com’s totals. How many finds is it, exactly: is it 1,035? Or 1,006? Or 1,005?

It doesn’t really matter, of course. I keep my own count, and I’m now even-more confident than ever that it’s accurate. The correct answer to to the question “how many geocaches have I found?” is 1,019.

And for some reason, Geocaching.com can’t count even the ones that are logged on their site three times and get the same number twice. 🤣

Footnotes

1 This helps me sidestep Geocaching.com’s draconian rules on scraping and API access.

2 I got in trouble once with a Geocaching.com reviewer for hinting at the existence of other geocaching listing sites, once. I don’t understand why: they’re unlikely to be a commercial threat to Geocaching.com’s business, and those other sites typically allow you to talk about Geocaching.com! I guess that they’re mostly afraid that it weakens their trademark on the word “geocaching”, which I’ve never been convinced is legitimate anyway because it was being widely used online to describe the activity it represents before they tried to start centralising and hoovering-up all of the cache listings. It’s just sneaky monopolistic silo behaviour on the part of Geocaching.com, really. I’m not a fan. I can list plenty of examples of this kind of dipshittery on the part of Geocaching.com, but I’ll spare you for now.

3 I do a similar thing with my geohashing logs, although without the same anti-anti-scraping mitigations because geohashing.site’s site owner is a much more-chill dude.

4 Many of my old logs used a GUID, but newer ones use a GL-ID. It’s a whole thing.

× × × ×

You don’t have to blog like me

You don’t have to blog like me.

You don’t have to differentiate by post kind.
You don’t have to put full contents in your feed.
You don’t have to keep a library of “maybe-some-day”
drafts so long that you’ll never reach the bottom.

You don’t have to have a comments form.
Or reactions. Or webmentions.
Or a guestbook. Or drawings?
(But give me some way to say “hi, you’re cool!”)

You don’t have to have a feature image.
You don’t have to keep posts up forever.
You don’t have to have tags.
You don’t have to syndicate to the socials.

You don’t have to stick to one topic.
Or three. Or seventeen.
Or be able to answer “what’s your blog about?”
It’s yours, and that’s enough.

You don’t have to post on a schedule.
You don’t have to use your real name.
You don’t have to have a podcast.
You don’t have to tell everybody.

You don’t have to use any particular tool.
Bloggers who spend their time arguing
About vs vs ʕ•ᴥ•ʔ vs
Could be reading and writing instead.

You don’t have to have a plan to “monetize”.
You don’t have to write your own theme.
You don’t have to be run your own server.
You don’t have to make every post your best.

You just have to blog.

The Internet is ours.
It belongs to the humans.

Not to the companies and the robots.
To us.

And every human voice.
Every single human voice.
Makes the world a little richer.

You don’t have to blog like me.
(You don’t have to use “blog” as a verb.)

You just have to blog.

And if you mention your blog in the comments, below, I promise I’ll go read it.

Remembering the 90s Web

This morning I had a lovely meeting with Andreas Marakis, who’s researching the sociological impact of the Web of the 1990s on people who experienced it first-hand.

I’m seeing more and more interest in this period – even, surprisingly, among people too young to be nostalgic about it – as the countercultural “web renaissance” tiptoes out of the shadows and encourages newcomers to take their first steps in building their own Web identity with HTML, CSS, and (maybe) JavaScript.

Anyway: chatting to Andreas was great and it reminded me of quite how grateful I am to have gotten to experience a lot of these seminal technologies when they were at their newest and most-experimental.

A Selfhosted Static Site Editor

My 12-year-old was interested in learning some HTML and CSS and making her own website. If she were anybody else I’d point her at something like Nekoweb as a starter host because their web-based (VSCode-based) “Nekode” text editor makes writing your first static site simple.

But I’ve got a NAS sitting at home on a fibre connection, so I figured: I might as well just host something similar here.

Here’s how I did it:

1. DNS

I pointed her domain at my static IP, plus a subdomain for the “backend” interface. Suppose her site would be at example.net (and www.example.net) with the admin interface at admin.example.net: my DNS configuration might look like this:

@     10800 IN     A 172.66.147.243
www   10800 IN CNAME example.net.
admin 10800 IN CNAME example.net.

2. Caddy

I’ve got a Caddy webserver acting as a static server and a reverse proxy already, so I just added a new static site with a configuration like this:

example.net, www.example.net {
  root /volumes/example.net/public
  encode gzip
  templates
  file_server
}
The templates directive means that, if/when she wants to, she could use Caddy’s built-in SSI-like features. Or if she decides someday she’d prefer a static site generator then I can sort her out with shell access or something.

It probably wouldn’t be much harder to set up something like this from scratch on e.g. a Raspberry Pi: Caddy’s fast and easy to get set up.

3. Editor

I used the OpenVSCode Server Docker image to provide a browser-based VSCode interface in which she could edit HTML, CSS and JavaScript and drag-drop files from her local machine. I’m using Unraid on my NAS so I didn’t have to think much about running a new Docker container, but I guess that if I did then I’d have typed something like:

docker run -d \
  # 7890 is the port on my NAS that I'll proxy Caddy to:
  -p 7890:3000
  # /mnt/user/example.net is the path on my NAS;
  # /example.net is where it'll appear within VSCode:
  -v "/mnt/user/example.net:/example.net" \
  # this tells OpenVSCode-Server to mount the directory to begin with:
  -e OPENVSCODE_SERVER_ROOT=/example.net \
  gitpod/openvscode-server

Now all I needed to do was point Caddy at it. For the time being I simply restricted access to only “computers on my local LAN”, but it’d be easy enough to add authentication using basic auth and/or client certificates if she wanted to be able to work on her site from elsewhere:

admin.example.net {
  # Restrict access to 192.168.* LAN:
  @allowed {
    remote_ip 192.168.0.0/16
  }
  # Proxy permitted folks to the container:
  handle @allowed {
    reverse_proxy http://nas:7890
  }
  # Block everybody else:
  handle {
    abort
  }
}

That’s literally all it took to put together a web-based editing environment that publishes directly to a static website. And because it’s on my own infrastructure, it’d be trivially easy to modify it in the future if she decided to go in a different direction, e.g. a PHP site, or continuous deployment from a repo, or static site generation from a shell.

That’s all!

Here’s a test site I threw together using exactly this stack, demonstrating the entirely browser-based editing workflow (not shown is drag-and-drop to upload, but I promise that works too!):

rejecting convenience

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

why bother going to the brick-and-mortar store? amazon is more “convenient”. why bother cooking a nice meal for yourself? doordash and uber eats are more “convenient”. why go out and socialize with people? facebook is more “convenient”. why use a digital camera, camcorder, or polaroid? your smartphone is more “convenient”. why bother going to the theater or concerts? netflix and spotify are more “convenient”. why bother making art? asking an AI to generate it for you is more “convenient”.

well, i say nuts to that. from now on, i’m going to make my life as inconvenient as possible. i’m going to go to the store and buy stuff in person. i’m going to make my own food with my own hands. i’m going to socialize with people face-to-face. i’m going to use a true camera instead of my phone’s camera. i’m going to buy blu-rays, DVDs, and CDs instead of streaming. i’m going to take my time when creating, watching, playing, and reading a work of art.

I’m seeing an growing movement in indieweb, revivalist, and adjacent circles that express RNotté’s sentiment: that the endless (and highly-marketable) quest for increased convenience in our lives has gained us free time, but we’ve lost something along the way.

What we’ve lost varies from case to case, but includes freedom (from lock-in to subscription services), creative satisfaction (from convenient “artistic” expression), privacy (from becoming the product, packaged-up by big-data advertising-funded tools), and social interactions (from so much of “social” media).

But reading RNotté share their thoughts on the matter today was the first time that it’s reminded me of The Matrix.

Framegrab from The Matrix. In the foreground is the silhouette of Morpheus, who is about to be interrogated by Agent Smith, a man in a suit at the windowed far end of an office.
The connection was probably helped by the fact that I rewatched the film pretty recently.

There’s a bit where Agent Smith says, to his captive the rebel captain Morpheus:

Did you know that the first Matrix was designed to be a perfect human world? Where none suffered, where everyone would be happy. It was a disaster. No one would accept the program. Entire crops were lost. Some believed we lacked the programming language to describe your perfect world.

Smith goes on to elucidate that his personal explanation for this fault was that humans depend upon suffering and misery, while acknowledging that there are other explanations. And perhaps we’ve touched upon one.

Perhaps humans – all humans – have a limit for how much they’re willing to accept convenience as compensation. Connected humans in The Matrix grain a convenient life, superficially superior to the struggle for survival experienced by humans living in the real world, short on food and hunted by machines. But to get that, they trade away their individual ability to become aware of the truth and, collectively, the ability for humanity for shape its own destiny. But there’s something about the imbalance of power in the arrangement niggles in human minds, and some rebel against the established order… and are joined by others who are shown that an alternative is available.

Clearly – as RNotté and others show – faceless technological forces need not go quite so far as enslaving an entire species before “convenience” no longer becomes a tolerable mitigation!

I’m not convinced that seeking out inconvenience is in itself a good. But questioning what your conveniences are worth and what you’re paying for them… that’s definitely worthwhile.

×

You don’t have to disconnect

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

A lot of attention was gained by Derek Sivers‘ post Offline 23 hours a day, the other week. I was particularly impressed by the rebuttal by Rishi Dass:

Anyway, the reasoning behind this idea of disconnecting seems to be that they equate being productive with having no internet or phone service. This implies that the tool (internet or the phone) is the problem. But is that entirely true?

They further argue that disconnection helps them create a vacuum through media silence, allowing their thoughts to expand and fill the space. While it’s understandable that you can concentrate better when your attention is focused on one thing, there’s no reason you can’t stay online and do the work. If you’re able to work comfortably in a library, you can do this.

Obviously, Derek’s approach is valid. It sounds like he’s found what works for him in terms of managing his time, life, mental energy, and the like, and that’s great! I’d be lying if I said that I didn’t envy him at least a little: don’t we all enjoy “unplugging” sometimes?

I think Derek’s post is so appealing because it touches our nostalgia of a simpler, less-always-online time.

For a while I thought that this would be a sensation unique to folks who, like me, had their first experiences of the Internet in a very intermittent and deliberate way. In the 1990s, I used to go on the Internet: a premeditated act that required being somewhere with a landline and the appropriate hardware, requiring that nobody was using or intending to use the phone, booting up a computer, dialling-up to the local Internet Service Provider, and then going about what I wanted to do. At that time, it was uncommon to use the ‘net for trivial things like checking the weather or what’s on at the cinema, because picking up the local newspaper would probably be a faster way to achieve that! Similarly, it wasn’t so-useful as a procrastination activity, because picking up a book or going for a walk was more accessible and reliable.

But this isn’t a generational thing, or at least not entirely. Gen Zs are seeing the joy in retro tech from before they were born, which is something I’ve witnessed myself: I’m part of a couple of online communities that do quite a bit of retro-Web and other retro-tech stuff, and I’ve been amazed at how young the demographics can skew in some of these groups! Like: there are people who were born after Facebook was founded who yearn to recreate the kind of dial-up experience that I had, before their parents met.

(Obviously, I think this is great; I think there are great lessons to be learned from the more open, decentralised, distributed, transparent, and exploratory Internet of times gone by. It just… initially surprised me to find so many younger folks showing such an interest in it, too.)

I still think this is nostalgia, though. Here’s why: none of us are born with unfettered and unfiltered access to the Internet. Unless they have the most hands-off parents possible, even a child born today won’t be “always online” for the first decade or more of their life. And being a child, for most folks, is a time of safety and wonderment: where there are other people to attend to our needs and filter our information intake and answer our questions in a protected environment. Growing up, we all have to learn to do those things for ourselves. And in the information-saturated attention economy of the modern world, that shit is exhausting.

You don’t need to be reminiscing about dial-up to fantasise about a slower time, when pub quizzes couldn’t be cheated by a shithead in the corner unless you catch them in the act and when your pocket computer wouldn’t beep for attention every 30 seconds because a half-remembered friend posted a holiday snap. Not having the extra cognitive load all the time is liberating!

No wonder “going offline” seems like a luxury to people, and why Derek’s extreme approach is so intriguing! But it’s just the same as that curated holiday snap that your friend-of-a-friend just posted to Instagram: it’s a snapshot into the best bits of somebody else’s life. It’s not reality. It’s your imagination, your fantasy, projected onto somebody else’s solution. “This works for them,” you say to yourself, “It must work for me, too!”

Maybe it would! And I hope that a few people feel empowered by Derek’s post to fulfil their dream and go live in the woods. Good for them!

But Rishi’s rebuttal brings us a sense of balance. For most people, it’s not necessary to go live in the woods to “go offline”. If you really want to, just… go offline. The power’s in your hands.

  • if you don’t want to be distracted by social media and games, close those accounts and take those apps off your device
  • if you don’t want to be interrupted by notifications, switch them off and check your inputs on your own schedule
  • if you don’t want to be online at all, set airplane mode or disconnect from the WiFi, and narrow your focus onto that book, board game, film, conversation, or daydream
  • if you don’t trust yourself not to be tempted to backslide… well, that’s a bigger problem of self-control that you need to work on, but in the meantime, try and experiment: leave your device behind and take a walk!

I get wanting to disconnect. I have my own controls in place, too, and they’re great for my mental health. But my approach, Derek’s approach, anybody’s approach… don’t have to be your approach.

Start the journey by working out what parts of the always-online world aren’t serving you. What things are more of a psychological drain than a boost? What’s bad for your mental wellbeing on the whole (not just in the moment)? What habits would you like to kick? What excuses are you using to keep them?

Then, work out what you can do about them. Seek assistance if you need it; you might not have all the solutions. But beware the seductive approach of taking what works for somebody else and trying to fit yourself to their mould.

Sure: maybe you need to go live in the woods with Derek. But make that choice because it solves your problems, not because it solves his!

Gamified… Pornography?

This article is probably “safe for work” (depending on your workplace).

It makes reference to a popular pornographic website and the features of that website. It contains screenshots, but the porny bits are blurred. The links are all safe.


Verify your age

After Pornhub introduced age check to comply with the Online Safety Act1, I figured that I’d make an account to see how arduous and privacy-destroying the process of verifying that I was old enough to see naked people2. I thought it would make an amusing blog post.

I felt confident that my stupid name, if nothing else, would guarantee me a hard time with this kind of automated system.

Screenshot from Pornhub, asking the user to 'verify your age'.
Of course, if you didn’t already do this then it’s too late.

Unfortunately3, it turned out to be super-easy for me to pass the age verification.

I just hit “verify by email” with the third-party age verification tool they use, entered an email address that’s associated with a few online accounts (not even the one I gave Pornhub!), and… everything just worked.

Screenshot from 'AllpassTrust', offering to verify my age either by 'credit card', 'email address', 'mobile phone', or 'online banking'.
Sure, I’ve told some random company in Cyprus that I’d like to see nudes, and – based on the Ts&Cs, allowed them to ask Google whether my email address looks like it belongs to an adult – but I didn’t have to share a photo or banking details or anything, and the whole thing took about 30 seconds, so it could’ve been worse.

Sooo… this isn’t a blog post about how insurmountable age verification is. This is a blog post about something else I discovered as a result of doing this research: Pornhub has “achievements”!

Achievement unlocked

I was slightly surprised to see how many “social networking”-like features Pornhub accounts have. You can upload a profile photo… you have a “wall” that you can post to, and you can post to other people’s. Your profile (unless you tell it not to) shares which channels you’ve subscribed to, which videos you’ve favourited, and so on.

Who on Earth wants those features? I mean: really? 😅 I consider myself pretty sex-positive, but I’m not sure I’d want there to be a web page with my name, photo, and a list of all my favourite dirty vids!4

Anyway… the other thing a Pornhub profile seems to provide is… achievements:

Screenshot showing a popover notification reading 'You just unlocked a new achievement: The Virgin'
Hurrah, I guess? The Virgin was easy, at least (snerk), unlike most of the things on my Steam profile.

I’ve only got the one achievement right now, of course, and it’s the one that you get “for free”. So it didn’t feel like I’d earned it.

I suppose I was an actual virgin, once. And I had to prove that I’m a real human to get an account. So… maybe I earned it?

Screenshot from Pornhub showing Dan Q's profile (0 subscribers, 69 [nice!] videos watched)'s achievements page, showing only one achievement: The Virgin.
Your profile page encourages you to ‘earn and show off more achievements’. Because, yes, your ‘achievements’ are on your public profile too!

But just stop and think about what this means for a moment. At some point, in some conference room at Pornhub HQ, there was a meeting in which somebody said something like:

“You know what we need? Public profile pages for all Pornhub accounts. And they should show, like, ‘achievements’ like you get for videogames. Except the achievements are for things like how much porn you’ve watched and how often. You can show it off to your friends!”

And then somebody else in the meeting said:

“Yes. That is a good idea.”5

Screenshot from Pornhub showing Dan Q's profile (0 subscribers, 1,000,000,000 videos watched)'s 'all achievements' page, listing all available achievements.
If it weren’t for the time-based achievements like ’10 year-old account’, I’ll bet there’d be people competing to speedrun Pornhub.

Complete list of Pornhub Achievements

I’ve reverse-engineered the complete6 collection of Pornhub Achievements for you. Y’know, in case you’re trying to finish your collection:

The Virgin Congrats! You have accessed your account for the first time! Enjoy the ride on Many Faps Road.
The Freshman
You have accessed your account for the 10th time! I take it you’ve enjoyed the 9 last times?
The Sophomore
You have accessed your account for the 100th time! Maximus Fappitus, you’re a true Pornhub warrior!
The Junior
You have accessed your account for the 500th time! If only you could get air miles for this.
The Senior
You have accessed your account for the 1000th time! If only you could get air miles for this.
The Porn Buff
You’ve watched 10 videos – This is just the beginning, trust me.
The Two Thumbs
You’ve watched 500 videos – Lotion or no lotion, that is the question.
The Cinephile
You’ve watched 5,000 videos – Be careful, carpal tunnel is a thing.
The Connoisseur
You’ve watched 50,000 videos – you are a veritable porn expert now.
1 Year Old Account
Our very first anniversary, I wish us many more!
2 Year Old Account
Two years of pleasure!
3 Year Old Account
Three years… Ah! The memories!
4 Year Old Account
Most relationships don’t even last this long #funfact
5 Year Old Account
That’s half a decade of watching porn.. woah… that’s impressive.
6 Year Old Account
I guess we were a match made in heaven. Who would’ve known that 6 years later, you would still be fapping on me.
7 Year Old Account
No 7 year itch here! Thanks for 7 fappy years
8 Year Old Account
The Outlook is good: you’ve had 8 magical years on Pornhub!
9 Year Old Account
In 9 more years, your account will be old enough to view itself.
10 Year Old Account
You were really ahead of the wave – here’s to a decade on Pornhub!

I have no idea who this feature is “for”. I’d feel the same way if YouTube had achievements, too7, but the fact that you can, and by default do, showcase your achievements on a porn site is what really blows my mind.

But maybe they ought to double-down and add more achievements. If they’re going to have them, they might as well make the most of them! How about achievements for watching a particular video a certain number of times? Or for watching videos in each of many different hour segments of the day? Or for logging in to your account and out again without consuming any pornography (hey, that’s one that I would have earned!)? If they’re going to have this bizarre feature, they might as well double-down on it!

I also have no idea who this blog post is “for”. If it turned out to be for you (maybe you wanted to know how to unlock all the achievements… or maybe you just found this as amusing as I did), leave me a comment!

Footnotes

1 Don’t get me started with everything that’s wrong with the so-called Online Safety Act. Just… don’t. The tl;dr would be that it’s about 60% good ideas, 20% good implementation.

2 Obviously if I were actually trying to use Pornhub I’d just use a VPN with an endpoint outside of the UK. Y’know, like a sensible person.

3 I mean: it’s probably pretty fortunate that – based on my experience at least – it seems to be easy for adults to verify that they’re adults in order to access services that are restricted to adults as a result of the OSA. But it’s unfortunate in that I’d hoped to make a spicy blog post about all the hoops I had to jump through and ultimately it turned out that there was only one hoop and it was pretty easy.

4 Of course, the Indieweb fan within me also says that if I did want such a page to exist, I’d want it to be on my own domain. Should there be an Indieweb post kind for “fap” for people who want to publicly track their masturbatory activities as an exercise in the quantified self?

Or should there be a “sex” kind that works a bit like “invitation” in that you can optionally tag other people who were involved? Or is sex a kind of “exercise”? Could it be considered “game play”? What about when it’s a “performance”? Of course, the irony is that anybody who puts a significant amount of effort into standardising the way that a person might publicly catalogue their sex life… is probably rendering themselves less-likely to have one.

I think I got off-topic in this footnote.

5 To be fair, I’ve worked places where committee groupthink has made worse decisions. Want a topical example? My former employer The Bodleian Libraries decided to call a podcast series “BodCast” without first performing a search… which would have revealed that Playboy were already using that name for a series of titillating vlogs. Curiously, it was Playboy who caved and renamed their service first. Presumably the strippers didn’t want to be associated with librarians?

6 It’s possible there are achievements I’ve missed – their spriteset file looks like it contains others! – that are only available to content creators on the platform. But if that’s the case, it further reinforces that these achievements are for the purpose of consumers who want to show off how many videos they’ve watched, or whatever! Weird, right?

7 “Congratulations: you watched your 500th YouTube ‘short’ – look how much of your life you’ve wasted!”

× × × × ×

Postcard from San Diego

I got another postcard. This one’s from Joe Crawford, all the way over in San Diego.

Both sides of a postcard. The text reads: I enjoy your blog. I enjoy books. I enjoy using the mails. I love the idea of using proper mail to internet aquaintances. I acquired this postcard last year in San Francisco. I hope you enjoy it. Best. - Joe (ARTLUNG.COM). The front shows a photograph from a San Francisco street, showing City Lights Booksellers & Publishers' shop front.
Cute card, too. I appreciate the “stop the deportations” banner on this San Fancisco bookshop!

I first started soliciting Internet strangers to send me postcards three months ago and I’m still loving it.

It adds a layer of humanity and personality to the Web. It introduces me to cool new people, and re-introduces me to cool people whom I’d crossed paths with at a distance: Joe’s one of the latter, but I’ve now taken the time to ensure he’s in my RSS reader… and, by proxy, in my blogroll.

I don’t have a return address for anybody who posted anything to me, yet (obviously I’d have masked it out from the postcard if I had!), but I feel like I ought to buy some postcards now too. It’s only a matter of time.

And hey, maybe there’s mileage in starting an Personal Web Postcards Club or something…

The internet’s hidden creative renaissance (and how to find it)

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

A screenshot of a retro-styled website interface showing "the indie web" in yellow text on a purple rounded banner. The background displays various vintage web elements including a calculator, browser windows, website layouts, and navigation elements typical of early internet design. The URL shown is cameronsworld.net and the overall aesthetic mimics 1990s web design with colorful, eclectic interface elements scattered across the page.

Have you ever wished there were more to the internet than the same handful of apps and sites you toggle between every day? Then you’re in for a treat.

Welcome to the indie web, a vibrant and underrated part of the internet, aesthetically evocative of the late 1990s and early 2000s. Here, the focus is on personal websites, authentic self-expression, and slow, intentional exploration driven by curiosity and interest.

These kinds of sites took a backseat to the mainstream web around the advent of big social media platforms, but recently the indie web has been experiencing a revival, as more netizens look for connection outside the walled gardens created by tech giants. And with renewed interest comes a new generation of website owner-operators, intent on reclaiming their online experience from mainstream social media imperatives of growth and profit.

want to like this article. It draws attention to the indieweb, smolweb, independent modern personal web, or whatever you want to call it. It does so in a way that inspires interest. And by way of example, it features several of my favourite retronauts. Awesome.

But it feels painfully ironic to read this article… on Substack!

Substack goes… let’s say half-way… to representing the opposite of what the indieweb movement is about! Sure, Substack isn’t Facebook or Twitter… but it’s still very much in the same place as, say, Medium, in that it’s a place where you go if you want other people to be in total control of your Web presence.

The very things that the author praises of the indieweb – its individuality and personality, its freedom control by opaque corporate policies, its separation from the “same handful of apps and sites you toggle between every day” – are exactly the kinds of things that Substack fails to provide.

It’s hardly the biggest thing to hate about Substack, mind – that’d probably be their continued platforming of Covid conspriacy theorists and white nationalist hate groups. But it’s still a pretty big irony to hear the indieweb praised there!

Soo… nice article, shame about the platform it’s published on, I guess?

88×31 Button Creator

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Welcome to my 88×31 button creator, this is a pretty rough and ready implementation so it could be buggy, please let me know if you find any issues.

This supports gif despite the basic canvas tag limitation courtesy of gif.js – none of this would be possible without that project.

Dan (whose website is freakin’ awesome, by the way) has done an amazing job with this new 88×31 generator. Look at this (trashy, but I don’t care) button I threw together in literally seconds, with it:

88×31 animated button with text 'MAKE A BTN' over a glitchy holographic starfield.

Have a play, and remind yourself that the Web is brilliant.

Part of the Internet, or connecting to the Internet?

Some time in the last 25 years, ISPs stopped saying they made you “part of” the Internet, just that they’d help you “connect to” the Internet.

Most people don’t need a static IP, sure. But when ISPs stopped offering FTP and WWW hosting as a standard feature (shit though it often was), they became part of the tragic process by which the Internet became centralised, and commoditised, and corporate, and just generally watered-down.

The amount of effort to “put something online” didn’t increase by a lot, but it increased by enough that millions probably missed-out on the opportunity to create their first homepage.

Frustrating At Scale

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Large companies find HTML & CSS frustrating “at scale” because the web is a fundamentally anti-capitalist mashup art experiment, designed to give consumers all the power.

This. This is what I needed to be reminded, today.

When somebody complains that the Web is hard to scale, they’re already working against the grain of the Web.

At its simplest – and the way we used to use it – a website is a collection of .html files, one of which might have a special name so the webserver knows to put it first.

Writing HTML is punk rock. A “platform” is the tool of the establishment.

Thanks, Mia.

Note #24342

If the most useful thing I achieve this Bank Holiday Monday will have been to make it easier to post short geotagged notes from my mobile to my blog (and Mastodon), it will have been a success.

Dan sits on the grass in a garden, with his French Bulldog.

This has been a test post. Feel free to ignore it.

×

Blogging Like It’s 1999

In anticipation of WWW Day on 1 August, some work colleagues and I were sharing pictures of the first (or early) websites we worked on. I was pleased to be able to pull out a screenshot of how my blog looked back in 1999!

Opera 3.62 on Windows 3.11 viewing the 1999 version of Dan's blog.
Tables for layout, hit counter, web-safe colour scheme, and the need to explain what a “navigation bar” is in case they’ve not come across one before. Yup, this is 90s web design at its peak and no mistake.

Because I’m such a digital preservationist, many of those ancient posts are still available on my blog, so I also shared a photo of me browsing the same content on my blog as it is today, side-by-side with that 25+-year-old screenshot.1

Dan poses in front of circa 1999 and present-day copies of his blog, both showing posts from January 1999.
The posts are in reverse-chronological order now, rather than chronological order, but the content’s all the same (even though the design is now very different and, of course, responsive!).

Update: This photo eventually appeared on a LinkedIn post on Automattic’s profile.

This inspired me to make a toggleable “alternate theme” for my blog: 1999 Mode.

Switch to it, and you’ll see a modern reinterpretation of my late-1990s blog theme, featuring:

  • A “table-like” layout.2
  • White text on a black marbled “seamless texture” background, just like you’d expect on any GeoCities page.
  • Pre-rendered fire text3, including – of course – animated GIFs.4
  • A (fake) hit counter.
  • A stack of 88×31 micro-banners, as was all the rage at the time. (And seem to be making a comeback in IndieWeb circles…)
  • Cursor trails (with thanks to Tim Holman)!
  • I’ve even applied img { image-rendering: crisp-edges; } to try to compensate for modern browsers’ capability for subpixel rendering when rescaling images: let them eat pixels!5
This blog post, viewed using 1999 Mode.
Or if you can’t be bothered to switch to 1999 Mode, you can just look at this screenshot to get an idea of how it looks.

I’ve added 1999 Mode to my April Fools gags so, like this year, if you happen to visit my site on or around 1 April, there’s a change you’ll see it in 1999 mode anyway. What fun!

I think there’s a possible future blog post about Web design challenges of the 1990s. Things like: what it the user agent doesn’t support images? What if it supports GIFs, but not animated ones (some browsers would just show the first frame, so you’d want to choose your first frame appropriately)? How do I ensure that people see the right content if they skip my frameset? Which browser-specific features can I safely use, and where do I need a fallback6? Will this work well on all resolutions down to 640×480 (minus browser chrome)? And so on.

Any interest in that particular rabbit hole of digital history?

Footnotes

1 Some of the addresses have changed, but from Summer 2003 onwards I’ve had a solid chain of redirects in place to try to keep content available via whatever address it was at. Because Cool URIs Don’t Change. This occasionally turns out to be useful!

2 Actually, the entire theme is just a CSS change, so no tables are added. But I’ve tried to make it look like I’m using tables for layout, because that (and spacer GIFs) were all we had back in the day.

3 Obviously the title saying “Dan Q” is modern, because that wasn’t even my name back then, but this is more a reimagining of how my site would have looked if I were transported back to 1999 and made to do it all again.

4 I was slightly obsessed for a couple of years in the late 90s with flaming text on black marble backgrounds. The hit counter in my screenshot above – with numbers on fire – was one I made, not a third-party one; and because mine was the only one of my friends’ hosts that would let me run CGIs, my Perl script powered the hit counters for most of my friends’ sites too.

5 I considered, but couldn’t be bothered, implementing an SVG CSS filter: to posterize my images down to 8-bit colour, for that real “I’m on an old graphics card” feel! If anybody’s already implemented such a thing under a license that I can use, let me know and I’ll integrate it!

6 And what about those times where using a fallback might make things worse, like how Netscape 7 made the <blink><marquee> combination unbearable!

× × ×

Write Websites

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Enbies and gentlefolk of the class of ‘24:

Write websites.

If I could offer you only one tip for the future, coding would be it. The long term benefits of coding websites remains unproved by scientists, however the rest of my advice has a basis in the joy of the indie web community’s experiences. I will dispense this advice now:

Enjoy the power and beauty of PHP; or never mind. You will not understand the power and beauty of PHP until your stack is completely jammed. But trust me, in 20 years you’ll look back at your old sites and recall in a way you can’t grasp now, how much possibility lay before you and how simple and fast they were. JS is not as blazingly fast as you imagine.

Don’t worry about the scaling; or worry, but know that premature scalability is as useful as chewing bubble gum if your project starts cosy and small. The real troubles on the web are apt to be things that never crossed your worried mind; if your project grows, scale it up on some idle Tuesday.

Code one thing every day that amuses you.

Well that’s made my day.

I can’t say I loved Baz Luhrmann’s Everybody’s Free To Wear Sunscreen. I’m not sure it’s possible for anybody who lived through it being played to death in the late 1990s; a period of history when a popular song was basically inescapable. Also, it got parodied a lot. I must’ve seen a couple of dozen different parodies of varying quality in the early 2000s.

But it’s been long enough that I was, I guess, ready for one. And I couldn’t conceive of a better topic.

Y’see: the very message of the value of personal websites is, like Sunscreen, a nostalgic one. When I try to sell people on the benefits of a personal digital garden or blog, I tend to begin by pointing out that the best time to set up your own website is… like 20+ years ago.

But… the second-best time to start a personal website is right now. With cheap and free static hosting all over the place (and more-dynamic options not much-more expensive) and domain names still as variably-priced as they ever were, the biggest impediment is the learning curve… which is also the fun part! Siloed social media is either eating its own tail or else fighting to adapt to once again be part of a more-open Web, and there’s nothing that says “I’m part of the open Web” like owning your own online identity, carving out your own space, and expressing yourself there however you damn well like.

As always, this is a drum I’ll probably beat until I die, so feel free to get in touch if you want some help getting set up on the Web.