Join me for Blaugust

In an effort to improve my posting frequency and get out of a rut, I’ve signed up for the community blogging challenge Blaugust, a blend I’m presuming works better with an American accent.

The premise is simple. Just post as much as you can in August. It doesn’t have to be every day, but just post a lot. There are optional themes and prompts for each week, as well as optional “blaugchievements” (the guy who came up with this challenge seems to have a real vendetta against the English language), and ways to connect with other participants.

Consider this post a gentle nudge to join me, whether you already have a blog, or you’ve been half-thinking of giving it a go (I’m looking at you, IRL family and friends who think it’s cool (?) that I have a blog but don’t have your own!)

If you’re interested in giving it a go but don’t have a blog yet, here’s my dead simple guide to getting started.

  1. Pick a simple platform and create a blog. Don’t sweat this choice too much - they all do more-or-less the same thing and you can always migrate later if you don’t like your current choice. My recommendations:

    • Bearblog (free for basic, $6/mo for the full package). For the absolute simplest and fastest way to start posting text for free, try Bearblog. I literally just signed up and made a post while I was writing this.
    • micro.blog ($5/mo). This is the one I use. As well as blog hosting with cool features like the bookshelf, it provides a social media-style timeline for following and replying to other blogs.
    • Scribbles ($5/mo). The newest platform on this list, Scribbles has a great non-markdown editor and makes it easy to discover other blogs on the platform via the explore page.
    • Pika ($6/mo) is another great option if you don’t want to use markdown.

    These small platforms are all ad- and tracker-free, and you own your own content, which is why there’s a fee - you’re not paying with yours and your readers' data. I read blogs hosted on all these platforms, they’re all great. If you don’t care about ads, trackers, and retaining full ownership of your content, there’s always wordpress.com or tumblr for free.

  2. Sign up for Blaugust so other participants can find your site easily.

  3. Start posting in August! And remember, no one actually gives a shit about your blog, so there’s no pressure to post something Good (advice I need to constantly remind myself of). Just get in the habit of posting. The Good posts can come later. If you’re stuck for ideas try some of these.

  4. Get an RSS feed reader. RSS is how you can stay updated with other people’s blogs. It’s exactly the same technology your podcast player uses to subscribe to podcasts, but you can use it to subscribe to blogs and other sources. There are many good free and paid options on all devices, and it’s easy to move your subscriptions from one app to another. You can subscribe to my site by pasting https://samjc.me/feed.xml into your RSS reader.

Please do let me know if you decide to join in with Blaugust so I can follow your posts.

Weekly Digest 5

Last week I had Covid and it was pretty rough. My wife also had it and is suffering some long-term (likely permanent) harms. Is this how we’re going to live now? All getting covid every couple of years until we’re all suffering from long-covid?

I’ve not posted much recently. It’s not that I’ve not been writing, but the fear and doubt are back. I should try to be more consistent with these weekly updates at least, so I am at least keeping the blogging flame alive.

Anyway, I just broke up for the summer. All efforts are now on preparing the house and our lives for another baby arriving next month.

  • The Secret to Japan’s Great Cities. I have never been to Japan but it’s the probably the place I’d most like to visit. This fascinating video goes into how Japanese city planning differs from typical Western cities, while also looking at challenges faced by Japanese cities.
  • AI as Self-Erasure. Matthew Crawford on AI and language.
  • Tech has no answers for you. Jason Becker’s angry but entirely on-point post about a tech sector that exists only to exploit and extract, rather than solve any real problems.

Reading

I finished reading Roadside Picnic by Arkady and Boris Strugatsky. Great book. Get the 2012 re-translation if you can — earlier versions were heavily censored due to the prudishness of the Soviet state (which is kind of funny — we imagine political speech being censored, but this really was just them being offended by a bunch of characters swearing and drinking heavily).

Now I’m reading Ted Chiang’s Exhalation collection for my fiction fix, while still plodding through This Life.

Listening

After watching Glastonbury on the BBC recently, I’ve been going back to a bunch of 00s bands, such as Bloc Party and Interpol.

Also, I’ve been enjoying the podcast If Books Could Kill, which dunks on non-fiction bestsellers.

Media lens describing the electoral and media conditions under which Starmer won, as compared with Corbyn

Corbyn lost by a landslide in 2019. Starmer won by a landslide in 2019.

Corbyn got more votes.

Yet the media narrative is Corbyn was uniquely unpopular, and his supporters fringe lunatics.

I ended up voting Lib Dem despite not being a supporter. Mainly a protest against Labour on Gaza, but Lib Dems were the right tactical vote as well. They were a strong 2nd, Labour 4th. Shows how wrong MRP can be – Labour didn’t campaign here at all, parachuted a candidate in. MRP doesn’t see this.

Adam Ramsay on how First-Past-The-Post distorts our political discourse

[…] it means we don’t spend that time, effort and headspace thinking or talking about what we want for the world. […] That conversation is shut out by the one about who does or does not have a chance of winning here. Voters are forced away from something we are excellent at – determining what policies represent our material interests and values – towards something we are terrible at: trying to game a stupid system.

Weekly digest 4

Not posted a weekly digest in a while. It’s going to be a short one anyway

Reading

Still reading This Life by Marten Hägglund.

Listening

I’ve been listening to a lot of dance classics recently, a genre I’ve always kind of liked but never really embraced. The Prodigy, Groove Armada, Daft Punk, and so on.

Watching

  • Started the Fallout show (I’ve not played any of the games). Very stylish and well done, so far.
  • Watched the election debates and found them mostly boring. The BBC debate featuring all major parties showed just how indistinguishable Labour and Conversatives are at the moment, allowing Nigel Farage to easily attack both from the right. The only person who convincingly challenged the current Westminster consensus on immigration, foreign policy, and fiscal policy was Stephen Flynn of the SNP.

Other stuff

  • My son’s room now has a floor, just need to construct the furniture and move him in.
  • Picked up a Moonlander keyboard second hand

I hardly care about this election

I was too young to vote in the 2010 election by only a few months. Politically unaware and uncommitted, I’d probably have voted Lib Dem like most young people due to the policy of scrapping university fees; marching against the Tory/Lib Dem coalition’s subsequent decision to treble tuition fees was my first political protest just a few months later.

Since then, I’ve voted in every local and general election based on strongly held convictions (including once for myself — though only as a “paper candidate”). This has generally meant the Green party. For about 8 years I lived in Labour-stronghold Liverpool, and voting and knocking doors for the local Green party to Labour’s left was a way to keep Labour honest.

Now I’m back in a deep-blue rural constituency, with no commitments to any major party. There is no clear challenger to the Conservatives based on 2019 data. It’s a choice between two flavours of Tory-lite, or another vote for the Greens (whom I currently consider a bit of a basket-case party despite aligning with them on many things, something I may elaborate on in another post). Perhaps more polling data will point to a decent tactical vote closer to the date.

This is what it feels like to be an undecided voter. Not in the usual sense of being a floating voter between Red or Blue (a creature I don’t think I will ever understand), but just… so uninspired and uninterested. We are on the verge of ending the 14-year streak that has left the country in tatters. Every public service is failing and living standards have barely budged over the entire period. The pandemic killed over 200,000 people despite the strategic advantages of being an island-nation (New Zealand had around 5000 deaths and overall less disruption to business as usual by taking early decisive action against outbreaks). Why does this not feel… better?

Starmer has demonstrated he is a snake who courted the left only to utterly betray and purge them. He’s also deeply boring, and not much different from the Conservatives on many key issues, notably fiscal policy and Gaza. The end of Tory rule should be a time for hope and relief. But here we are, and the government will fall not with a “whoop” but with a “meh”.

The olive oil shortage may be just the beginning

Olive oil’s return to being a luxury item heralds a new era of bland cooking Everyone I know has been shocked by the price increase of olive oil, which has more than doubled in the last two years. It doesn’t feel like long since I was picking up a litre of extra virgin olive oil from Aldi for under £3. It’s now almost £7. “Proper” brands are now more expensive than wine. I’ve more or less stopped buying it. Maybe I’ll get it as a treat sometimes.

It’s a feeling we are not particular used to as a culture — a good going from abundant and commonplace to scarce and luxurious. There have been fluctuations in the price of fuel and energy over the years — but these are usually due to temporary political situations. We are used to goods generally getting more abundant, and for price rises to be relatively small, and often temporary.

This feels different. It feels frustrating. Olive oil has been so available that yes, I do feel slightly entitled to it. That olive oil is healthy rather than a vice adds to the indignation. The feelings are not particularly rational.

I’ve been reflecting on these feelings, and also the very real possibility that this change is permanent. There are several reasons for the shortage — extreme dryness in growing regions, and an outbreak of disease that has led to the destruction of entire plantations of ancient olive trees. With the world only continuing to get warmer and drier, we may not ever get affordable olive oil again. It’s a sobering thought.

With the multiple overlapping ecological crises we face, this is unlikely to be the last time this happens. Food insecurity is forecast to increase. We may have to get used to a world where another everyday foods falls off the menu every few years. If the extreme weather we’ve been seeing hasn’t yet led to mass action on climate, perhaps the threat to our dietary diversity will.

Weekly Digest 3

Here’s what I’ve been giving my attention to this week

  • AI “art” and uncanniness. Doctorow forcefully argues that large language models do not infringe copyright, and there are better ways for artists to fight back.
  • The Stuff of (a Well-Lived) Life by L.M. Sacasas. I never miss a post from Sacasas, a tech critic with deep knowledge of the history of tech criticism. In this post, he uses Apple’s “Crush” ad to illustrate Borgmann’s “device paradigm”.
  • The Most Misunderstood Philosopher In The World by Abigail Thorn (Philosophy Tube). Gender and queer theorist Judith Butler is widely misrepresented and misunderstood by people who have not read their work but have an axe to grind. This video essay on their work was entertaining and educational, though I’m still not sure I fully understand.

Reading

Started reading This Life by Yale philosopher Marten Hägglund, and I’m excited by it. Its project is to ground spiritual meaning in life in secular terms, in which the timebound nature of our lives is an essential component meaningful existence — unlike the religious ideal of finding meaning in something eternal, the antithesis of this book — and works through the political implications of this “secular faith” via new readings of Marx. More to come on this later.

Watching

Watched Mad Max: Fury Road for the first time because I thought Furiosa looked like it might be fun to see during half-term. Enjoyed.

Other stuff

  • Published a new crossword last weekend
  • Flooring arrived, just need some days to get it down now.
  • Weather has been pretty great two weekends in a row, so outdoor grilling season has begun.
  • Initial release of my micro.blog plugin for Neovim. Still a WIP but it works. Turns out just two days before I published the plugin, this guide to best practices was published, and my attempt certainly doesn’t follow a lot of this advice. Still, it’s given me some directions for how I can improve it.

I made a micro.blog plugin for Neovim

What’s stopping you from publishing to your blog more? Is your boring life giving you nothing to write about? Demotivated by the chronic lack of engagement your posts have been getting? What about that crippling self-consciousness and perfectionism manifesting in dozens of “unfinished” drafts? Of course not — we all know it’s the friction of having to take 15 seconds to copy your post from your favourite text editor into the micro.blog window and clicking publish (probably even using the mouse, ugh).

Thankfully, I’ve made a Neovim plugin (really, a curl wrapper wrapper) to create and update micro.blog posts with just a couple of keybinds of your choosing.

Isn’t Neovim for coding? Why would you use it for blog posts?

Vim’s motions (keyboard shortcuts that are used to navigate and select text) are good for all editing tasks, not just source code. For example, to select a sentence, including the full-stop and following whitespace, place the cursor anywhere in the sentence and type vas ("Visually select Around Sentence"). Similar commands exist to select/delete/change words, paragraphs, text in brackets, up to a comma, in quotation marks, etc. It’s also easy to configure tools like spellchecking, dictionary, and thesaurus in Neovim.

Other popular text editors (including Obsidian) often implement a “vim mode” to emulate a subset of Vim’s shortcuts. If you’ve never tried learning these, I highly recommend giving it a go — the learning curve is steep but it’s fun, and you’ll never want to use the mouse or hold down modifiers to edit text again.

Neovim loads virtually instantly. Even with over 80 plugins installed, my startup time is around 200ms1. With just a couple of keyboard shortcuts I can go from having a shitty half-formed opinion to having published it on the open web in just a few seconds.

The plugin

The plugin is based around just four main commands. publish (used to both create and update posts), quickpost (which is like publish with some default settings for “micro” posts), and two commands for opening a post to edit and update. First, let’s look at getting set up.

Configuration and installation

You need to have curl installed, as well as the Neovim plugins telescope and plenary. You can pass the following table to the lazy plugin manager:

{
    's-cassidy/microblog.nvim',
    dependencies = {
        'nvim-telescope/telescope.nvim',
        'nvim-lua/plenary.nvim'
    }
}

Next you need a micro.blog App Token, which you can get from the Account Settings page. This needs to be set as an environment variable (default MB_APP_TOKEN). As shell processes only have access to variables defined when they start, you need to set this before starting Neovim (there’s a configuration option to warn you if the plugin starts without setting the App Token).

The only bit of configuration that is absolutely essential is a Lua table containing your blogs. Each entry is a table with your blog’s url and uid (probably https://something.micro.blog). You’ll also probably want to set some keybindings. Here is what my configuration looks like in the lazy table

      local mb = require('microblog')

      mb.setup({
          blogs = {
            {
              url = 'https://samjc.me',
              uid = 'https://samjc.micro.blog'
            },
            {
              url = 'https://samjc-test.micro.blog',
              uid = 'https://samjc-test.micro.blog'
            }
          },
          no_save_quickpost = true,
        })

      vim.keymap.set({ 'n', 'v' }, '<leader>me', mb.pick_post, { desc = 'Edit a post' })
      vim.keymap.set({ 'n', 'v' }, '<leader>mp', mb.publish, { desc = 'Send a post' })
      vim.keymap.set({ 'n', 'v' }, '<leader>mq', mb.quickpost, { desc = 'Quick post' })
      vim.keymap.set({ 'n', 'v' }, '<leader>mu', mb.get_post_from_url, { desc = 'Open micro.blog url' })
      vim.keymap.set({ 'n', 'v' }, '<leader>ms', mb.display_post_status,
        { desc = 'Display post status' })

Some other configuration options:

  • no_save_quickpost will let you quit without saving if you used the quickpost command. Since quickpost is designed for sending short “micro” posts, you can set this to true if you don’t care about keeping a local copy of your micro posts.
  • always_input_url when set to true will always give you the option to manually edit the url of the post you are updating. Most users will want this set to false, because you’ll use one buffer per post, so the target url for a publish either won’t exist (brand new post) or it will be the existing url of the post in that buffer. However, some workflows might benefit from this (multiple posts in a single file, for example).

Using the plugin

The simplest usage is to make a new post. We open a new Neovim buffer, type out our post, and then run either publish (which will prompt the user to pick which blog to post to and input some options like a post title and categories) or quickpost, which skips the prompting and just posts to the default blog with no title or categories. We can also visually select some text and run either command to only post that part.

To edit an existing post, we can use edit_post_from_url which will prompt for an url (or takes an url as an argument) and then open that post in a new buffer. You can then make your changes and run publish to publish your updated version.

Alternatively, pick_post will load a large (full?) list of posts in telescope that you can fuzzy search. The search includes the date, title, content, and even url of the post. I’ve not yet got around to a previewer for pick_post, so it’s slightly dependent on you being able to recognise a post by its title or first sentence, but I imagine I’ll add a previewer soon. You can then pick a post to open and edit as described above.

Screenshot of Neovim showing the Telescope picker with a list of recent blog posts

Thanks

Thanks to HeyLoura — it was very useful to be able to read Lillihub’s source code to see examples of the micropub protocol in action. And thanks to you for reading and showing an interest; I’m not a developer and this is my first attempt at a plugin. If you give this a go and find bugs, please do open an issue or PR, drop me an email, whatever.


  1. About a fifth of this start-up time is obsidian.nvim ↩︎

I’m a maths teacher to young girls from age 11 to 16, and this is the longest I’ve ever gone without teaching. Previously, my students’ burning passion for life could make me forget about the tragedies we are living through in Gaza, and they pushed me to be a better person. Nine of my dear students have been killed in Israel’s unfolding genocide, each one a talented and kind girl who will never be able to follow her dreams now. I mourn each child as if they were my family. ~ Eman Mohamed

As a maths teacher this hits very hard

Farming animals is a threat to us all

Rise of drug-resistant superbugs could make Covid pandemic look ‘minor’, expert warns

Antibiotic misuse and overuse threatens to leave us in a post-antibiotic world. Antibiotics are not only essential for curing illnesses, but also to protect against wound infection — including surgical wounds. Routine, safe surgeries could become life-threatening.

The burden for reducing antibiotic use currently falls overwhelmingly on medical and healthcare workers. Yet the majority of antibiotics used worldwide are used on farmed animals. They are used en masse to prevent (not cure) infection in unsanitary conditions, as well as to promote rapid growth.

Most antibiotics used by humans and animals are excreted, ending up in fertiliser, in our rivers, or in our sewage. In other words, our food and water systems become breeding grounds for antimicrobial resistance. Moreover, the primary mechanism for the spread of antimicrobial resistance is via horizontal gene transfer — the tranfer of genetic material between species, even distantly related ones. Even if antimicrobial resistance evolves first in pathogens affecting animals, those adaptations can be passed on to pathogens affecting humans.

Animal farming is bad for animals, the planet, and poses a risk to the future of medicine. Cutting down the use of antibiotics in farming is likely to decrease animal welfare due to disease, and organic farming dramtically increases the land (and hence ecological) footprint of rearing animals. In the majority of the industrialised world, there’s no “good” way to do animal farming.

Finally finished constructing another crossword. Annotated solutions available. Comments, quibbles, and feedback always welcome

How do the kids I teach know about Salad Fingers?

Weekly Digest 2

  • Reviving rural railways with Monocab. This transport technology looks really cool. I can’t see it coming the Britain any time soon (our network is still largely non-electrified), but with public ownership of the railways just around the corner according to Starmer, who knows.
  • A Lesson From the Gymnasium. I enjoyed this post from Greg Morris sharing some wisdom from Marcus Aurelius.
  • CNN disgraces itself over Gaza. Owen Jones continuing to expose the media over its coverage of the atrocity in Gaza.
  • Simple, non-commercial, open source notes. I saw this when it first came out but was reminded of it earlier and how great it is. For those who love plaintext note-taking solutions — a highly entertaining trip down a rabbit hole.

Cooking

  • Vegan Lachmajou. One of my favourite recipes. Super quick, high protein, with simple ingredients. Enjoy with flatbread, hummous, and a salad of finely diced tomatoes, cucumber, and perhaps vegan feta.

Up to much else?

  • I’ve been coding this week in my free time, so there’s not a lot of stuff here. I’ll be posting what I made soon.
  • Finished laying plywood upstairs. Next is to get down the underlay.
  • Did gardening for the first time. Dug out a space and put in a raised bed.
  • Crossword is nearly finished, hoping to publish soon.
  • Next week I’m running an Only Connect quiz at school.

That’s all for this week, thanks for reading.

Just done my first bit of gardening that’s not mowing or weeding

In Praise Of A Little Camera

I had a blast trying the micro.blog 30-day photo challenge (link is to all entries — mine are here. I decided to play with a self-constraint: despite owning a Canon DSLR, I decided to only use photos from my Lumix LX100.

The LX100 is a fixed-lens, compact camera from 2014. It has a micro four-thirds sensor (I guess that’s appopriate for a micro.blog challenge?) with an output resolution of approximately 12MP depending on the selected aspect ratio. Its Leica-made zoom lens has a focal range of 24-75mm (FF-equivalent) and attains f/1.7 at its widest.

Despite it being an old, small-sensored, and relatively low-resolution camera, I absolutely love it. It was my first “proper camera” (barring a Pentax K1000 I had as a child), acquired second-hand during the first lockdown for about £250. Although I have only been taking pictures as a hobbyist for only a few years, and am nowhere close to being an actually good photographer, I think many of the pictures this camera and I have produced together are very Okay, and a couple may even be Quite Good.

In design, it’s essentially a poor man’s Fujifilm X100-series camera, with a zoom rather than prime lens and no built-in flash. It uses similar “retro” physical dials and rings for controlling exposure, has an electronic viewfinder rather than the X100-series' fancy hybrid, and is quite a bit smaller.

This size advantage is key — in most cases, it’s still the camera I reach for over 90% of the time. It’s easier to carry, and less intrusive in social environments. I know how to use it inside-out, with everything set just the way I like it. The design, as well as the number of settings, makes it clear this is a compact camera for a “serious” enthusiast. The dials and rings are an invitation to shoot with intention, and not just “point-and-shoot” – the usual name for the market in which cameras of this size compete.

12 mega-pixels sounds very small by today’s standards. But 12MP is twelve million pixels. My laptop screen is around two million pixels. How many pixels does a non-professional photographer really need? I’ve never made a print bigger than my laptop screen either. The pain only comes if you need to crop an image. One of my biggest photographic regrets is that Day 17: transcendence was taken from too far away and I had to crop — the resolution does suffer a bit here.

The micro four-thirds sensor is basically fine for everyday shooting. I don’t need ultra-fine control of depth-of-field for most scenes, and in fact the increased DoF means I rarely miss focus (which can’t be said when I’m using the full-frame DSLR…). I also get a zoom from 24 to 75mm with a lens about 7cm long.

The only real drag of this camera is that the zoom lens’s mechanism sure loves to eat dust, and being a fixed-lens camera, there’s no way to clean the dust from the sensor without disassembling the camera. This happens a lot, though it’s usually not too visible unless you’re stopped down to f/11 or beyond — you can see it clearly in Day 11: sky.

Would I really like an X100VI? Of course I would. But I don’t have two thousand pounds to spend on an out-of-stock-everywhere camera. And that’s fine. A £250 everyday-carry is fine. I’ve not outgrown it in terms of skill. I’d even guess learning on an older, cheaper camera has been good for pushing me to develop my skills. You really don’t need an expensive camera to get into photography. Just get an affordable camera that’s small enough you’ll actually take it with you, used with intention. I hear some phones have cameras these days, so you could use one of those as well. It’s just about shooting with intention.

The games in my backlog these days are ones that are supposed to have profound themes that I just don’t have time to give the attention they deserve

Day 30: hometown

Though there are many downsides as well, I’m lucky enough to have been brought up in one of the prettiest towns in this country

Day 29: drift