This morning, from my Premier Inn window, the skies are clear. I could almost forget that, just 4 miles away, my house is full of water.
Today may well be a day of waders and damage assessment, conversations with insurance companies and of working out where we’ll be living for the near future.
But strangely, what’s thrown me first this morning was that I couldn’t make this post submit.
Turns out my crosspost-to-mastodon checkbox was checked. Because my Mastodon server… runs on my homelab. Which is currently unplugged and in one of the highest rooms of a house with no
electricity or Internet access. (Or, probably, running water… although that matters less to a homelab.)
I think I moved it before it got wet, but yesterday is such a blur that I just don’t know. I remember we spent some time fighting back the water with sandbags and barricades. I remember
the moments each room began to fail, one by one, and we started moving whatever we could carry to higher floors (max props to folks from Eynsham Fire Bridade for helping with the heavy
stuff). But if you ask me what order we rescued things in, I just don’t know.
I guess we’ll find out when the waters recede, and it’s safe to go check.
James van der Beek died this week of bowel cancer; he was only a couple of years older than I am. I guess I’m at that
point of my life where unexpectedly-early celebrity deaths might start being “around my age”.
“They’re super tight. But if you want your ass to rock, your plums’ gotta pay the price.”
My dear friend Boro raises this curious provocation, which I really enjoyed musing upon this evening. His choice of words are excellent.
Fragmentation is about context-switching. About disfocus. About the scattering of ideas. We think of defragmentation – the “re-ordering” of data – as a necessary good: bringing
management and logic to how our information is arranged. But it’s Boro’s third question that reminds us that that’s not necessarily true.1
2
Anyway: Boro’s post is a reminder that a human brain is not a magnetic drum, and fragmentation is not necessarily something to fear. What’s an extra millisecond or two of psychological
“seek time” as you aim to remember the date of your friend’s birthday… if the mental journey takes you past memories of parties long-ago? How bad, really, is a few moments of seeking
the right word if, on the way, you discover the perfect metaphor for that blog post?3
What Boro accidentally touches on, for me, is the concept of premature optimisation. We talk about this being bad in software engineering circles, but it’s also bad for
us psychologically. Taking shortcuts weakens our ability to think things through “the hard way”. Earlier today, I had a thought about… something inconsequential about
heart rates… and chose to use mental arithmetic, over the course of several minutes, to estimate an answer to my query. My phone – with its built-in calculator app – sat in my pocket
the whole time. I chose the less-efficient route, and I felt better for it. Efficiency is not always the goal.
Or, as folks in my circles are saying a lot lately: inconvenience is counterculture. I quite like that.
Anyway: thanks, Boro, for the thought.
Footnotes
1 Brief side-note #1: if you’re wondering why you haven’t had to “defrag your hard drive”
for the last decade or so: the biggest reason is that SSDs don’t suffer fragmentation in the same kind of way (and, indeed, trying to defragment them probably reduces their
lifespan!). Fragmentation on physical media is a problem only because the magnetic heads need to jump back and forth between “parts” of a file or stream of data, which introduces wear
and slows down seeking. But on solid state media, where data is referenced directly by memory address, fragmentation is no impediment.
2 Brief side-note #2, with the understanding that the side notes are now getting to be
longer than the actual content: one of my favourite features of late-stage HDD defragmentation utilities was that they were smart about what they defragmented where.
Not only could they group individual files “together”, they could also group frequently-used-together files close to one another (minimising head movement) and could even cluster
frequently-accessed files like operating system data very close to the edge of physical media, where the angular rotation of the heads would be smallest (because the track
length was greatest). Mind-boggling how these things, like e.g. screen savers as a mechanism to prevent CRT burn-in, become completely obsolete but still live on in popular
consciousness.
It’s the year 2101. Corporations have taken over the world. The only way to be free is to join a pirate crew and start plundering the galaxy. The only means of survival is to play
basketball.
Now it’s your turn to go out there and make a name for yourself. Create your crew and start wandering the galaxy in search of worthy basketball opponents.
The game is under heavy development and breaking changes are often introduced. If you can’t continue an old game because the save file is invalid, you probably need to start a new
one or open an issue to check if the save file can be migrated.
…
Just try it out!
Connect via SSH to try the game.
ssh rebels.frittura.org -p 3788
Save files are deleted after 2 days of inactivity.
…
I feel like I’m reading a lot about SSH lately and how it can be used for exotic and unusual tasks. Tarpitting‘s fun, of course, but really what inspires me is all these dinky projects like ssh tiny.christmas that subvert the usual authentication-then-terminal flow that you expect when you connect to an SSH server.
These kinds of projects feel more like connecting to a BBS. And that’s pretty retro (and cool!).
Anyway: Rebels in the Sky is a networked multiplayer terminal-based game about exploring the galaxy with a team of basketball-loving space pirates. I met the main
developer on a forum and they seem cool; I’m interested to see where this quirky little project ends up going!
Mostly as a note to myself, but here’s what to do if you’re running linuxserver/syncthing via Docker on Unraid and it keeps saying:
ERR Database error when getting previous version (error="getkv: database disk image is malformed (11)" log.pkg=syncthing)
The problem is that Syncthing’s index has been corrupted. I was able to fix it by getting a shell into the relevant Docker container and moving the index: Syncthing detected it as
absent and re-created it, re-indexing everything. Here’s what I did:
My partner and her husband (my metamour) have a tradition that every 5th wedding anniversary they get the “next size up” of champagne bottle.
This meant that on yesterday, when we celebrated their 15th, we needed to get through a Methuselah: a massive 6 litre bottle equivalent to nine standard bottles of champagne (rightmost
in the attached picture).
It’s times like these you’re glad of friends you can call on to help you drink such a monster!
One last cache on this afternoon’s walk before I had to take the geopup off for a doggy bath! We tried a couple of obvious hosts near the GZ before expanding our search and quickly
finding its hidey-hole. TFTC!
Walking backwards and forwards past the GZ eventually enabled the geopup and I to spot this very-visible but high-up cache. Soon it was retrieved, the log signed, and returned. Logbook
is very full; I had to just initial it.
The dog’s walk needed extending to make sure she’s well worn-out and not too-excited for some guests we’re having over this evening, so she and I came and parked on Dry Lane
(ironically-named, it seems, as the road was flooded) and walked down to try to find this cache. Unfortunately we weren’t able to find it, this time, but we’ll try again next time we’re
in the vicinity.
It’s February, which means that (here in the UK) it’s LGBT+ History Month.1
And it feels like this year, it’s more important than ever to remember our country’s queer history.
By the time Western European countries traditionally seen as ‘socially conservative’ like Ireland and Switzerland are outranking the UK in LGBT+ rights rankings… it’s a clue that
something’s gone wrong, right?
This stuff affects everybody. When you build a community that is a safe space for queer people, and trans
people,6 everybody benefits7. So even if you’re
somehow not compelled by the argument that we should treat everybody fairly and with compassion, you should at least accept that it helps you, too,
when we do.
In many ways, queer rights in the UK have been a success story in recent decades. Within my lifetime, we’ve seen the harmonisation of the age of consent (2001), civil partnerships
(2004), the Gender Recognition Act (2004), the Equality Act (2010), same-sex marriage (2013; I was genuinely surprised this bill passed!) and the mass-pardoning of people previously
convicted under discriminatory sex act laws (2017). These are enormous and important steps and it’s little wonder that the UK topped ILGA Europe’s scoreboard for a while there.
But as recent developments have shown: we can’t rest on our laurels. There’s more to do. History shows us what’s possible; it’s up to us to decide whether we keep moving forward or let
it unravel.
So this LGBT+ History Month, don’t just remember the past: pay attention to the present, and push back where it’s slipping.
3 Georgia’s backslide is superficially similar to Hungary’s except that one can’t help but
feel the influence of partial occupier Russia – a frequent bottom-scorer in ILGA’s list – in that.
4 By the way: I just looked back at my own blog posts tagged
‘sexuality’, and man, that shit is on fire! Some fun things there if you’re new to my blog and just catching-up, if I may toot my own horn a little! (Is “toots own horn” a
protected identity? ‘Cos I do it a lot.)
The Internet, the interconnection of most of the computers in the world, has existed since the late sixties. But no protocol existed to actually exploit that network, to explore and
search for information. At the time, you needed to know exactly what you wanted and where to find it. That’s why the USA tried to develop a protocol called “Gopher.”
At the same time, the “World Wide Web,” composed of the HTTP protocol and the HTML format, was invented by a British citizen and a Belgian citizen who were working in a European
research facility located in Switzerland. But the building was on the border with France, and there’s much historical evidence pointing to the Web and its first server having been
invented in France.
It’s hard to be more European than the Web! It looks like the Official European Joke! (And, yes, I consider Brits Europeans. They will join us back, we miss them, I promise.)
…
Google, Microsoft, Facebook may disappear tomorrow. It is even very probable that they will not exist in fourty or fifty years. It would even be a good thing. But could you imagine
the world without the Web? Without HTML? Without Linux?
Those European endeavours are now a fundamental infrastructure of all humanity. Those technologies are definitely part of our long-term history.
…
There are so many ways in which the UK has had to choose – and continues to have to choose – which side of the Atlantic it belongs on: the North American side, or the European side.
Legally, politically, financially, culturally… And every time we swing away from Europe, it saddens me.
This wonderful article by Lionel Dricot encapsulates one of many reasons why. European tech culture, compared to that in the USA, leans more open-source, more
open-standards, more collaborative. That’s the culture I want more of.
He observes that the design of feed readers – which still lean on the design of the earliest feed readers, which adopted the design of email software to minimise the learning
curve – makes us feel obligated to stay on top of all our incoming content with its “unread counts”.
Phantom obligation
Email’s unread count means something specific: these are messages from real people who wrote to you and are, in some cases, actively waiting for your response. The number isn’t
neutral information. It’s a measure of social debt.
But when we applied that same visual language to RSS (the unread counts, the bold text for new items, the sense of a backlog accumulating) we imported the anxiety without the cause.
…
RSS isn’t people writing to you. It’s people writing, period. You opted to be notified of their existence. The interface implied debt where none existed. The
obligation became phantom.
I use FreshRSS as my feed reader, and I love it. But here’s the thing: I use the same application
for two different kinds of feeds. I call them slow content and fast content.2
It’s an idealised interpretation of how I subscribe to different kinds of incoming messages, but it works for me. The lesson is that slowing down your consumption is not
an antifeature, it’s a deliberate choice about how you prioritise your life. For me: humans come first – what about you?
Slow content
Blogs, news, podcasts, webcomics, vlogs, etc. I want to know that there is unread content, but I don’t need to know howmuch.
In some cases, I configure my reader to throw away stuff that’s gotten old and stale; in other cases, I want it to retain it indefinitely so that I can dip in when I want to.
There are some categories in which I’ll achieve “inbox zero” most days3…
but many more categories where the purpose of my feed reader is to gather and retain a library of things I’m likely to be interested in, so that I can enjoy them at my leisure.
Some of the things I subscribe to, though, I do want to know about. Not necessarily immediately, but “same day” for sure! This includes things like when it’s a friend’s
birthday (via the Abnib Birthdays feed) or when there’s an important update to some software I selfhost.
This is… things I want to know about promptly, but that I don’t want to be interrupted for! I appreciate that this kind of subscription isn’t an ideal use for a feed reader… but I use
my feed reader with an appropriate frequency that it’s the best way for me to put these notifications in front of my eyeballs.
I agree with Terry that unread counts and notification badges are generally a UX antipattern in feed readers… but I’d like to keep them for some purposes.
So that’s exactly what I do.
How I use FreshRSS (to differentiate slow and fast content)
FreshRSS already provides categories. But what I do is simply… not show unread counts except for designated feeds and categories. To do that, I use the CustomCSS extension for FreshRSS (which nowadays comes as-standard!), giving it the following code
(note that I want to retain unread count badges only for feed #1 and categories #6 and #8 and their feeds):
.aside.aside_feed{
/* Hide all 'unread counts' */.category,.feed{
.title:not([data-unread="0"])::after,.item-title:not([data-unread="0"])::after{
display:none;}
}
/* Re-show unread counts only within: * - certain numbered feeds (#f_*) and * - categories (#c_*) */#f_1,#c_6,#c_8{
&,.feed{
.title:not([data-unread="0"])::after,.item-title:not([data-unread="0"])::after{
display:block;}
}
}
That’s how I, personally, make my feed reader feel less like an inbox and more like a… I don’t know… a little like a library, a little like a newsstand, a little like a calendar… and a
lot like a tool that serves me, instead of another oppressive “unread” count.
I just wish I could persuade my mobile reader Capyreader to follow suit.
Maybe it’ll help you too.
Footnotes
1 Or whenever you like. It’s ‘slow content’. I’m not the boss of you.
2 A third category, immediate content, is stuff where I might need to
take action as soon as I see it, usually because there’s another human involved – things like this come to me by email, Slack, WhatsApp, or similar. It doesn’t belong in a feed
reader.
3 It’s still slow content even if I inbox-zero it most days…
because I don’t inbox-zero it every day! I don’t feel bad ignoring or skipping it if I’m, for example, not feeling the politics news right now (and can you blame me?). This
is fundamentally different than ignoring an incoming phone call or a knock at the door (although you’re absolutely within your rights to do that too, if you don’t have the spoons for
it).
4 I’m yet to see a mailing list that wouldn’t be better as either a blog (for few-to-many
communication) or a forum (for many-to-many communication), frankly. But some people are very wedded to their email accounts as “the way” to communicate!