(Hopefully this appears at https://www.indieforums.net)

I think I first heard of the IndieWeb movement in 2016 sometime. It’s a bit hazy now, but I’ve a memory that I stumbled on it through a trail of links starting on Wikity.

I’ve tinkered with web sites in some form or another for a long time, and I have happy memories of various weird Geocities experiments, sadly lost to the sands of time it seems.

As far as independently hosting goes, I appear to have had a self-hosted blog since 2006 at my old domain noodlemaps.net – thanks Wayback Machine for that! My first self-hosted post is seemingly on the topic of data sonification and playing non-audio files through /dev/dsp on Linux. Excellent.

I’ve had a self-hosted blog up at doubleloop.net since around 2013 (thanks again Internet Archive). I went through a through static site generators. I actually really like how my old Hexo-based site looked. Better than my current site…

My first documented attendance of HWC London looks to be December 2016, hosted by Calum and Barry who were really welcoming. Around then, I fiddled about with various platforms before switching over to WordPress.

I’ve really enjoyed being part of the IndieWeb community. My active involvement (at events, on IRC, etc) has peaked and waned over the years, but I’ve still always felt part of the bigger whole. That’s another post, though.

How did you find out about the IndieWeb community?

I spent a bit of time switching my spacemacs config in to a style.


I use a lot. For coding, for writing, for work, for organisation, for my personal knowledge management. It’s central to to most of my day-to-day activities on my computer. I’ve been using for maybe 4 years now, and have built up quite a mess of a configuration file with various tweaks over the years.

Given how much I use it, it seems sensible to give a bit of TLC to this configuration. I’ve tried to comment it as I’ve tweaked it, but it still has gotten messy. I’ve learned and copied a lot from other people’s configs, so endeavouring to make my own readable to others seems like a good thing to do.

I’m also just keen to try out org-babel for some literate coding, and this is an easy way in to doing that.

What I did

Here’s what I’ve done to get started on this.

File reorganisation

First off, I put my existing .spacemacs file into a folder structure where you can split it up into multiple files.

mkdir ~/.spacemacs.d
cp ~/.spacemacs .spacemacs.d/init.el

In classic refactoring fashion – just do this simple thing, and make sure that things still work.

Extract out user-config into own file

OK, after that, the next refactoring was to move move everything in the user-config function out in to it’s own file, .spacemacs.d/user-config.el.

When its in its own file, you can source that from init.el like so:

(defun dotspacemacs/user-config ()
  (let ((uc (concat dotspacemacs-directory "user-config.el")))
 (message (concat "ds-d" dotspacemacs-directory))
 (load-file uc)))

(above source came from here: Spacemacs configuration in a structured org-mode file : emacs)

Again, check that everything still works fine afterwards.

Move config into an org file and set up tangling on it

The section on Converting your existing config files in Literature Configuration was really helpful for this. It recommends a great path for moving things incrementally to the literate configuration. Essentially you start off with one huge source block, and gradually split that up in to smaller blocks with org-babel-demarcate-block.

I did that, putting each new source block in to a logical org heading, and adding a bit of description and narrative around them. Each time I split out a new bit, I ran org-babel-tangle to check things were still working.

I have the following config properties at the top of the file:

#+property: header-args:elisp :tangle ~/.spacemacs.d/user-config.el :comments org

which says for all the elisp source blocks in this file, combine them together in to user-config.el when I tangle the file. And also include my narrative as comments.

So my user-config is now literally all in here in my wiki. As in, that is the file that I use to generate my .spacemacs/user-config.el that spacemacs runs. (The source is here.)

I like it, and think it works pretty well for config files. I’m going to try it on my org-roam config next.


I keep my at https://commonplace.doubleloop.net. I use to maintain my wiki locally, and I use to render my wiki as a site of static html files. This article is specifically to describe how I use org-publish on my org-roam files to get them up on my public site.

(Note: this is a snapshot in time, and I update the publish process fairly regularly – you can always check on the wiki for the latest version of this)
Continue reading “How I publish my org-roam wiki with org-publish”
Since starting my wiki, in addition to a note-taking tool and a writing aid, I’ve wanted it to be a kind of – something that helps me memorise the knowledge that I’ve captured and the ideas that I’m working on.

One seemingly good way of doing that is by turning relevant parts of it into flashcards, and revising them with . Andy Matuschak has a lot of notes on the benefits of spaced repetition, and one in particular on using it for application, synthesis, and creation.

If notes are the seeds in your garden, then they need a bit of TLC to grow into fully-fledged, fruit-bearing ideas. I’m hoping flashcards will be a reminder to me to water them regularly.

Flashcards and org

Given I’m using and for my Wiki, I could use one of the native flashcards systems – e.g. org-fc, pamparam, or org-drill.

But I’m most likely to do the flashcards on my phone, not at my desktop, and none of them will work with orgzly.

So, Anki is a piece of software that will be good for this. I’ve used Anki on and off in the past – it’s a libre software tool for flashcards that uses spaced repetition. There’s a cross-platform desktop version, a web version, and mobile apps, so you can do it in a bunch of places.

I could see from a screenshot at https://orgroam.com that someone was using some kind of Anki system with org-roam – I asked in the forum, and the tool in question is anki-editor.

So I set that up – notes on how below. It’s worth noting that anki-editor is an org-mode thing, not org-roam specific, but as I’m trying to mix my flashcards and my org-roam zettelkasten-ish personal wiki, I’ll probably have more of an org-roam slant here.

Install Anki

First you’ll need Anki. You can get it from the site, but as I’m on Ubuntu I just went for it straight from the repos.

sudo apt install anki

Install AnkiConnect

AnkiConnect is an Anki extension that lets external apps interact with Anki – for example, creating cards in your decks.

I followed the installation instructions and all worked fine. I wasn’t prompted to restart Anki like it said I would be, but I checked http://localhost:8765/ and it looked fine.

Install anki-editor

anki-editor is the Emacs extension that let’s you push your cards from your org files into your Anki decks. It’s on Melpa, so you can just install it however you would usually do so in your flavour of Emacs. I’m using , so I added anki-editor in to dotspacemacs-additional-packages in my .spacemacs and gave everything a refresh with SPC f e R.

Creating flashcards

Now you can create flashcards in your org files, and push them to Anki via AnkiConnect.

anki-editor-insert-note will create a new flashcard. Here’s an example.

Then anki-editor-push-notes will push it to Anki.

Syncing Anki

From desktop

The easiest way to sync your Anki decks is via ankiweb. (I don’t think ankiweb is libre software, but you can set up your own self-hosted equivalent with anki-sync-server if you want).

To use ankiweb, just click Sync from your desktop Anki, create an account on ankiweb, and then log in.

To your (Android) mobile

Install AnkiDroid. It’s on FDroid. Log in, hit sync, and away you go!


Some things it might be nice to improve:

  • I feel like I’m maintaining the flashcards separately from the body of my notes – it’s a bit of a duplication of effort. It’d be good to get a flow where the flashcard is just part of the note as is, and I can pull it out without duplicating it.
  • I’ve only been pushing one flashcard at a time at the moment, when the buffer is open. I’ll probably add a Make step that iterates all my notes and publishes flashcards if found.
  • My flashcards are (probably?) noise that I don’t want added to my published digital garden – perhaps they should be filtered out of the publish site.


I’ve now got a fairly simple flow for making flashcards from my wiki notes. I’m hoping this will have a dual purpose of helping me to memorise the things that I’m learning and thinking about, and will also prompt me to regularly .

I’m sure I’ll follow up with notes soon on how this is all working out.

I read Hello World – How to Be Human in the Age of the Machine by Hannah Fry. It’s about the increasing pervasiveness of algorithmic decision-making in everyday life, and how much we should rely on them.

Front cover of the book Hello World.

It’s a really good book – very engagingly written and easy to read, on what could potentially be a pretty dense topic. It’s full of real-world stories to ground the more abstract questions, and it also weaves into that a nice basic overview of what algorithms are, and how the latest crop of machine-learning algorithms work.

So briefly – very broadly an algorithm is just a set of step-by-step logical instructions that show, from start to finish, how to do something. However generally the world algorithm is used a bit more specifically, still in some sense a set of step-by-step instructions, but a more mathetmatical and defined series of steps, and usually run by a computer.

And when people talk about whether algorithms are good or bad, they pretty much always mean decision-making algorithms – something that makes a decision that affects a human in some way. So for example long division is an algorithm, but it’s not really having any decision making effect on society. We’re talking more about things like putting things in a category, making an ordered list, finding links between things, and filtering stuff out. And they might be ‘rule-based’ expert systems, in that the creator programs in a set of rules that the system then executes, or more recently machine learning algorithms, where you train an algorithm on a dataset by reinforcing ‘good’ or ‘bad’ behaviour. Often with these we can’t always be sure how the algorithms has come to a conclusion.

So what the book is really focused on is the effect our increased use of decision-making algorithms like these is having on things like power, advertising, medicine, crime, justice, cars and transport, basically stuff that makes up the fabric of society, and where we’re starting to outsource these decisions to algorithms.

The book does a really good job of explaining some of the problems in outsourcing those decisions.

One big problem being that we have a tendency to trust the decision made by a computer. But we have to really aware of the biases in these systems. Part of this bias is part of the bigger problem endemic in the tech industry – that’s it’s overrepresented by white men who have a very limited world view and a particular set of biases. The system is often going to be made in the image of its creator, right.

But aside from that ML can also biased in that if the data that goes in to them is biased, so will the outcomes be. Garbage in, garbage out. And there’s a lot of biases and garbage statistics in the world. So say if policing disproportiately targets a particular group in arrests and justice treats them differently in sentencing, then they’re more likely to be targeted by an algorithm based on existing policing and crime stats. You have to really challenge existing biases, not build them in to the system.

The book is very even-handed, and isn’t a polemic against machine learning by any regards. There are plenty positives, like image classification of tumours where ML at great speed cases that a pathologist should look at in more detail.

I really liked the conclusion that we should not see machine learning decision making as an either or. Like either we hand it over to machine learning, or we keep everything. It gives the great example of ‘centaur chess‘, where a human plays with an artificial intelligence against another human with an artificial intelligence. Interesting this is something being championed by Gary Kasparov, who was famously beaten by IBM’s Deep Blue AI at chess a few decades back. It opens up new possibilities where AI is complementary and not a replacement.

I think my criticism with the book would be that it doesn’t really challenge the framing of the debate around ML. So its lettting the current arbiters of ML set the agenda to some degree, and then the critcism is in the details and not the higher level. So I mean there’s a whole chapter on whether we have driverless cars or not? But no mention of whether we should rather be endeavouring to take cars off the road completely. And with regards to things like predictive policing there is no questioning of the idea of policing as an institution in the first place, just a question of how we should use algorithms within it. And there isn’t a single mention of climate change which I found pretty amazing.

But still it does a great job of outlining the positives and pitfalls of decision-making algorithms. I’d recommend it, I’d just like the follow up book to be how we can use them for more liberatory purposes!

I want my wiki to be a sensemaking aid – after collecting the dots, to help me then connect them and see the constellations.

One sensemaking tool in Roam and org-roam is the wiki graph – a graph (in the nodes and edges sense) of all of the notes in your wiki and their links to each other. Not quite a mind map. More of a hypertext map. I’ve been playing around with publishing this map to my public site.


Does it make sense?

While fun, I’m not yet 100% convinced with these simple graphs as sensemaking aids. The full map is pretty messy (org-roam’s at least, I haven’t seen Roam’s). From browsing around it, I don’t feel that enlightened about what I’m thinking. It did make me realise I have a few orphaned pages, but you could do that pretty easily with just a list.

That said, it definitely is interesting browsing around it – I come across pages I forgot about, and do see the beginnings of clusters of thoughts. I think visualisation, when done right, could possibly bring unexpected insights, and if nothing else, provide an alternative way of navigating around. These graphs are not there yet, but worth experimenting with.


Publishing org-roam’s map to the web

So anyway, with all that, for my Garden and Stream post-session hack and demo, I had a bit of a play with org-roam, and got it so that I can publish my wiki graph to my site, and hacked it so that you can click each node in the graph to take you to the corresponding page.

You can find it here, and there’s also a link back to it at the bottom of every page.

A couple of ways I would improve it if I carry on with it:

  • make it more visually appealing and navigable
  • break it up into a map per page, so you get a local map, too. To be seen whether this is a useful sensemaking aid or not. Maybe it would just be another useful navigational aid.

I’ll make a separate post shortly with the technical details of how I got it to work (I’m experimenting a bit with separating the overview from the technical with these things).

I don’t really like likes. On the big silos of the social industry they have become weaponised; a kind of social Taylorism, where the craft of building social relationships has been reduced to unskilled labour – just another way of automating us.

Even on the open web, where they are not designed to distract, likes are still a bit of a weak form of interaction. I think they have their place, but I want something a bit more. Something more than comments below a post, too. They’re a bit constrained – in hock to the main body of text above.


I came across the idea of blogchains the other day, on Tom Critchlow’s blog I believe. The word is from Venkatesh Rao, and the very tl;dr is that it’s a string of short, ad-hoc blog posts that build on a theme. That’s cool, and tied in with a wiki is kind of how I see me builing up ideas over time.

But where the idea gets really interesting (for me) is when it extends to cross-site blogchains and open blogchains. These are more open-ended, involving two or more people conversing and building on a theme, simply by posting to their blog about it and linking the posts together.  Kind of like a webring, but for posts rather than sites.

There’s definitely something to be said for the long-form, turn-based conversation. One of the best conversations I have had recently was a long email chain. And some of the thoughts that have stuck with me the most are ones I’ve written as a long reply to someone else’s open question or musings on a topic.


The blogchain thing reminded me of something Kicks wrote about a few months back – hyperconversations. It’s a chat between friends, conducted across blogs and wikis. Less formal than a blogchain – no predetermined theme.

It’s very informal and fluid. It’s completely simple: just leaving messages for each other on our sites.

The Hyperchat Modality

Conversations that last

I think what they’re both getting at, is using social software to have distributed conversations that last more than just an hour or two.

Chris wrote about the temporality of social media.

Taking this a level deeper, social is thereby forcing us to not only think shallowly, but to make our shared histories completely valueless.

Shallow conversations disappear off the timeline and out of our minds pretty quickly. As mentioned, I don’t think this is true just for Twitter and Facebook though. It’s more a problem of the medium.

Relatedly, contemporary fediverse interfaces borrow from surveillance-capitalism based popular social networks by focusing on breadth of relationships rather than depth. […] What if instead of focusing on how many people we can connect to we instead focused on the depth of our relationships?

Spritely: towards secure social spaces as virtual worlds

Not to rag on likes and reposts too much. I do them plenty. There’s a time and place for everything. And I’m not saying that I want to have to sit down and write a 500 word blog post every time I want to say hi to a friend. But! I would definitely like some more conversations that last.

So who’s up for a blogchain, or a hyperconversation?

Getting events out of the silos seems like a hot topic this year, with plenty of IndieWeb and Fediverse activity around it. The COVID-19 pandemic might be changing the nature of events for the foreseeable, but there’s still plenty happening online.

A couple of weeks ago at IndieWebCamp London, Jamie led a session about owning your RSVPs: https://indieweb.org/2020/London/OwnYourRSVPs

Inspired by the session, my day 2 hacking revolved around events and RSVPs. The plan was to try indie-fy my event discovery a bit, and also try and decouple myself from Meetup a little for events there. I want to get a feed of upcoming events that I might be interested in in my social reader, and RSVP to them on my own site.

Continue reading “Indiewebifying events and RSVPs”

I’ve been off social media for a few weeks. I don’t think I really missed it; I don’t think it missed me that much, either. Logging back in to the Fediverse, everything seems much as it was.

I think I’d like to read one of those popsci histories in 20 years from now, of what happened with social software. Like I used to read about the early days of the Internet. Heck, this time I might even know some of the people in the book.

So December was busy. I moved properly into Lancaster. I moved out of London in September and was staying with family for a few months nearby. I am really liking being in Lancaster so far. I am renting a small terraced house for a fraction of the price of a cupboard in London. I feel solvent again. I can see the Lake District from the park. I work from home.

There’s a real alternative culture here in Lancaster I’m finding. I’m joining the makerspace around the corner from me, and I went to an electronic music open mic night that was absolutely banging. There’s like 3 vegan/vegetarian cafes.

There’s a workers co-op in town selling all the hippie produce I tend to buy. There’s a music co-op. There’s an eco co-housing place not too far away. The next town along is Preston, with all its Preston Model shenanigans going on.

The North-West is a wild place if you’re interested in the history of labour and capitalism. And now it’s a bit of a lightning rod of fucked-up late-stage class politics. At least Lancaster is one brick that has stayed red as the Red Wall is falling down.

I feel back to my roots, but I am far from being a Workington Man. Let’s see how things transpire. I want to be close to my family for a while. And while I’m here, let’s make the most of it. To paraphrase the saw – if you can’t change your town, then change your town.

With the monumental fuckup of the recent election, I feel like a local, community focus is the best place to focus and make a difference for the short-term.