“Dark mode” for this site has been one of those things on my todo list for a while. The in-development theme I’m working on has been built from the ground up to support it through the use of media queries and CSS custom properties — but I hadn’t actually implemented it. After a nudge from reading this post by Jeremy I’ve finally implemented something to try out:

In progress theme in ’dark mode’

For now I’m borrowing Jeremy’s colours, but I’m planning to tweak these as the design evolves.

I’m starting to pull together a theme based on the changes I was thinking about a few days ago. It’s nothing “earth-shattering” or revolutionary, but it fits where my mindset is right now.

I need to think carefully about how I handle Post Kinds, like Bookmarks and Likes… these have had such divergent ways of formatting over the years that there’s probably no one-size-fits-all approach I can take. So far I’ve managed to keep everything IndieWeb-compatible too, with h-feed, h-entry, h-card, and other building-block microformats working more-or-less as they do now (as far as I’ve tested with X-Ray, Parse This, Indiewebify, etc).

Layout is being handled by Flexbox for the moment. This article has continued to be invaluable. I could/should switch to CSS Grid for the final version, but I haven’t yet. So far only the content has been worked on. I still need to figure out the header/footer/secondary information.

If I can get a good run at things, I should have the theme finished some time in November. October is unlikely, as my evenings are fully-booked until at least the 19th.

Apologies if you got/get a webmention from my dev site – I just refreshed it with some more recent content, so I could see how things were looking with a wider variety of posts.

Today is off to a great start already. The main corporate network seems to be down. I’d connect to another network and remote in… but I’ve forgotten my work phone, which has the security token app required for the VPN. Classic Monday.

Disappointed and a bit angry to find someone had drawn swastikas and celtic cross in the morning condesation on my bus stop this morning. Even though it wasn’t a permenant defacement and would’ve vanished in a couple of hours, I scrubbed that shit out as soon as I spotted it.

I wouldn’t have had time to see it if I hadn’t missed my normal bus and had to wait for the next one, so now I’m going to be looking warily at the people getting on the same time as me.

I generated 1.1TB of string data for a project, overnight. It’s just one big text file on a disk. Now I just have to grep through it to find the particular patterns I need… that 1.1TB will probably come down to 500-600GB by the end of it, but I can see the pattern-matching process taking the rest of the weekend…

Python and command-line utilities have been super useful at generating this data, and definitely helped the process along. As a reminder to myself, these are the commands I’m using to “post-process” the data:

Look for lines in input.csv which don’t match this pattern, and echo them to output.csv:

$ grep -vE "([A-K]{3}),\1" input.csv > output.csv

Split output.csv into files 800MB in size, called data_n, where n is an 8-digit incremental number (e.g. data_00000001):

$ split -a 8 -d -b 800M output.csv data_

For each data file in the directory, give it the .csv extension:

$ for f in data*; mv "$f" "$f.csv"; done

Cool. Sometime recently, Flickr migrated their signup process to their own native system. I’ve been curious about Flickr under its new owners, but as recently as a couple of months ago, signing up still required creating a Yahoo account — something there was zero chance of me doing.

I’m not sure what I’d use Flickr for nowadays, but I do have fond memories of the service in its heyday of the mid-2000s. I can syndicate from this site to my Flickr photostream, although that means I’ll probably have to start using the full-sized original images in posts instead of the resized versions I use currently.

For whatever reason, I’m finding I’m just not “feeling it” with any of the miniatures I’ve been painting recently… not so much with the models themselves, more with the results of my efforts. I know I can often be overly critical of my own work, but this feels different to usual

I’ve been experimenting with using Python to generate text-based data for an experimental spin-off app from our team at work, and for my first “real world” use of Python, I’m pretty impressed with how efficient it is for doing this.

I’ve got a simple script iterating over a collection of strings to produce all possible combinations of those strings. The output of that script is being fed into a text file via Bash. So far it’s generating ~52GB of data in roughly 15 minutes, and it’s only part-way through the possible combinations. I’ve had to kill my test run because otherwise I’m going to run out of disk space on my laptop SSD! CPU usage was a moderate 26%, and RAM usage was tiny, at only ~2.8MB. Previous attempts at this using other languages tended to saturate one or both of these resources in fairly short order.

It’s fun to try out a new (to me) tool every now and then!

I’ve seen a lot about What3Words this week, but I haven’t seen much in the way of a look into their privacy practices and data collection. I’ve no doubt the concept is cool and useful, but I’m too wary of all location-based apps these days to buy in to the hype.

I had hoped to use my lunch break to prep and spray primer a few more test pieces for practicing painting white, but it’s a typical very cold, wet, Scottish summer’s day, so that’s not going to happen 😐🌧

While I was on the server to update the certbot configuration, I finally finished implementing the redirect to webp images I started adding last month. These should start coming through once browser caches of the original images expire. From a random sample the webp images are around 40% smaller than the source (compressed) jpeg files.

So I think that’s everything moved off of Cloudflare now. I’m going to leave the domains in the CF dashboard for a couple of days, so I can be sure DNS is working right, then I’ll start deleting them.