I do sometimes wonder if other people browse the web in the same way that I do.
I was following a thread by gilest on mastodon about making publishing on the web easy, fast and non-technical, following his post about a mac-only tool for making web pages, Palm and came across Publii which is a great cross-platform desktop application for making websites – having looked at a load of other tools in this category (including web hosted) I wasn’t expecting to be impressed, but I was, it’s a brilliant tool.
In the process of doing that I found a collection of other personal content management (or manipulation) systems that I’d never heard of, or only in passing. Each of these has the novelty of being unique or interesting in some way – there is so much variety!
Although I understand a desire to organise and form communities, I’ve never liked the “Indieweb” framing of so much around self-publishing – it makes it seem like people need to understand something new; maybe it has initiation rites? Maybe it’s complex and technical in the way that Giles was raging against above? It feels like digging an artificial moat, or applying a purity check – are you in or are you out?
Just publish and be damned. Use whatever tool you like, just write.
]]>Every now and then I have to plough through them and close down stuff I’ve either dealt with, bookmarked, or just forgotten why I opened it in the first place. I’ve given up doing this on my phone where my Firefox tab count is permanently ∞ (literally).
So here are some interesting tabs I’ve had open this week:
Also lots and lots of things about OPML, which chimes nicely with some recent thinking I’ve been having about managing blogrolls. More on that in another post I think.
]]>He mentioned this week that his team’s blog doesn’t produce an RSS feed. Well, I’ve just been doing that for my own blog so I thought, how hard can it be?
An hour later and I opened my pull request.
The Digital Land blog is an interesting beast, being built by a custom-built Python static site generator using gov.uk components and rendering with Jinja.
It’s been a couple of years since I last looked at much Python (probably whilst I was at GDS working as Head of Technology on the Clinically Extremely Vulnerable People Service) and I don’t think I’ve ever used Jinja, so my code is probably terrible but it does work on my machine!
Hopefully what I’ve done will be at least the right shaped answer, but I imagine one of their actual Python experts will fix up my PR nicely.
(also, it’s an Atom feed that I generated, not an RSS feed, but the title didn’t scan as nicely)
UPDATE: It’s merged! Look on my works ye mighty.
]]>This is based on work that the excellent design and technology agency BERG did a decade ago with their Little Printer.
Little Printer was a wonderful little service which used a network-connected thermal printer with a personality to send little messages of wonder and joy into your house.
It was released in 2012 and as all these products inevitably do, the servers went offline a few years later and the service went away. BERG released their code and a little community sprang up to help liberate the devices and keep them running, which you can see at https://tinyprinter.club/ and additional work from design invention studio Nord Projects.
In the 12 years since Little Printer, desktop sized bluetooth-connected thermal printers have become a thing, and you can get one delivered to your house for less than £20 from Amazon or Aliexpress. I have this nice cat-themed one:
When tidying up my repos in GitHub I found I’d forked one of the Little Printer repos many years ago, so now that I’ve got a thermal printer wouldn’t it be nice to get that running? This one prints out a little picture telling you how many people are in space right now. I can’t find a photo of this working on a Little Printer, so let’s give a spoiler instead:
Let’s have a quick look to see if the decade-old Ruby code runs out of the box (although with low expectations it will). No surprises, it doesn’t:
So let’s see if we can rewrite this app!
The Fun Print app that supports my printer allows me to print directly from a URL, so I just give it the address of my web app, and it prints out nicely, as you can see above, and because my printer came with several rolls of sticker paper, I can simply peel it off and stick into my Techo!
Obviously the real benefit of Little Printer is that it’s push-based. If I want to be able to push this data to the printer in the future I guess I’ll need to convert the web page into an image, so I’ve added some (currently unused) rendering with Capybara to the application. I might give some of the resources linked from https://tinyprinter.club a go in the future to try and get push working, but I’m quite happy with pull at the moment.
]]>This means I have the space to do things like a) write this blog! b) write code! and most importantly c) read!
This means a resurrection of my feed-reading habits for a start (more on that another time) but also that when people I know and respect post linklogs I have time to actually plough through some of that material they’re sharing, and then read the links out from there as well!
I am always desperate to learn something new and interesting – it is my favourite dopamine hit. Whether it’s about strategy implementation, the differences in people’s visual imaginations, or services that “check for link rot in real-time, and fall back to the Internet Archive to restore broken links”, I love it all.
I’ll be off to my next contract soon, at which point work will be consuming all my spare mental cycles once again, so it’s a pleasure to try and make the most of my brain whilst I’ve got it to myself!
]]>An incredibly powerful platform with a misery-inducing YAML syntax. Little more to be said.
What was nice was the chance to use CatLight for the first time since reading about it a few years ago when Matthew Somerville first mentioned it. At the time he needed to write some code to make the output from GitHub Actions available, but happily this is now built-in and so whilst iterating on my YAML mistakes I was getting nice desktop notifications about it.
I don’t get the chance to write much code any more, but tooling that makes it easier to follow the process from local commit to being aware of whether your commit has worked is always a benefit.
]]>The Murderbot Diaries books 1-7 by Martha Wells, mostly good, mostly novellas and thus totally overpriced at around 10p per page (most other books I compared to came in at between 2 and 5 pence per page). They’re good but not that good. Get them from the library or borrow from a friend.
Lockwood and Co books 1 and 2 by Jonathan Stroud: The Screaming Staircase And The Whispering Skull. These are the two books which made up the first 8-episode season of the Netflix TV show directed by Joe Cornish (which was definitely cancelled before its time). The books were good fun, and the premise (ghosts are overrunning the UK, but only children can see or fight them) was novel and well-executed.
The Kaiju Preservation Society by John Scalzi – more boring than expected given that it won the Locus award and was nominated for the Hugo. Multiverse traversal and kaiju sounds like a good principle. It does not pay off.
Tell me an Ending by Jo Harkin – what happens if you can have memories selectively wiped? And what if you can have the memory of having your memory erased, erased? A good story that I enjoyed.
That’s 11 books in January supported by a whole bunch of novellas in the Murderbot series, and a pace I totally can’t sustain, but it felt good to be reading this number of books again!
]]>If I didn’t care about maintaining URLs then I would probably be done by now, but I do because, y’know, I desperately want to be cool.
So, important URLs to maintain in priority order:
/blog
)/blog/year/month/title
)/blog/feed
)/blog/year/
)/blog/year/month
)Nice to have URLs:
/blog/tag/tagname
)URLs I’m going to ignore:
/blog/category/catname/
) – I’ll merge this with tagsblog/page/x/
)Of the URLs I want to keep only the feed URL looks impossible – I don’t think Zola can create a feed at two levels deep, which means I’ll need a rewrite, which needs I’ll need a host which supports rewrites which I thought meant I’d have to actually get a proper host (like Hetzner’s CAX11) but actually it looks like my plan of hosting on Cloudflare Pages is still good to go because they support redirects!
I’m using a custom plugin to get my content out of WordPress in the first place. I’ll write about that another time.
]]>This is the first plugin I’ve written for Inkdrop, and was an interesting experience. Plugins are written in JavaScript, which I don’t write a lot of, and follow React-based patterns which I’m not very familiar with and I ended up having to revert my intended plugin structure (one file with the entrance point and the actual class doing the work in another) to just bundling everything in one file.
The markdown tidying is done by Ian McNaughton’s zero-dependency mdTablePrettyPrinter library, which worked great. It also powers his website https://www.mdtableprettyprinter.com/ which is what I’d been copy/pasting my tables into to tidy them previously.
I don’t recommend using my plugin, instead I recommend table-editor which is far more powerful and formats tables safely with fewer error edge cases than mine, and which I didn’t find until after I’d written my plugin!
]]>Simon Willison has written about streak-forming and not holding yourself too tightly to doing something every day – this is something I feel a great sympathy with; there is so much advice about doing something every day, and seeing the streak increase and using your unwillingness to break that streak to inspire you to continue.
This doesn’t work for me. Setting an extrinsic goal (increasing an external value) doesn’t work as well for me as competing with someone else – my intrinsic desire to keep up with or exceed someone else (in particular if I know them) doing something similar is a much stronger motivation.
This is because, as Simon says, life can just get in the way. If it’s an exercise streak and I’m ill for a few days, then I’ll miss my goals and away goes that streak. If it’s a blogging streak and my internet connection goes down on the day I need to make my post then away that goes too.
The unpredictable impact of externalities can affect your goals too easily. This is disheartening and can lead to abandoning the goal altogether. Far better to build in a certain amount of slack into either your initial expectation or how the streak is being tracked. A lot of goal-tracking processes (and apps), in particular in New Year’s resolution season, don’t seem to take this into account.
I am trying to do more cycling this year; I was doing well last year but injured myself in September and completely fell off the wagon. So this year I’ll be tracking my progress in two ways. Firstly I’m competing with my wife who has also started an exercise programme (and neither of us wants to “lose” to the other – a highly effective motivation!) and secondly I’ve got a physical year-long tracker on the wall in my office where I’m tracking when I do and don’t get on my bike. I’m expecting that there will be full weeks of no cycling (when I’m on holiday and when I’m inevitably ill), but so long as I can keep more green than red across the full year, I’ll be happy.
Hopefully this will prove to be a far healthier way of both staying on track, and being fair to myself, rather than focusing on simply incrementing a number.
]]>