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.

What would be ideal, I think, is if all information could be represented as “cards”, and all cards could be easily threaded. Every book, every blogpost, every video, even songs, etc – all could be represented as “threaded cards”. Some cards more valuable than others.

twitter threads solve the fragmentation problem – @visakanv’s blog

I like this idea. It’s a bit like what TiddlyWiki goes for I think. Or FedWiki. Little cards joined together. I’m not getting that so much with my current wiki setup – the finest grain is a page, which I’m thinking is a bit too big. I have quotes, but they’re kind of stuck in a page – not really reference-able outside of that. My thoughts themselves are just a mash.

To some extent however I would like to push back against everything becoming bite-sized. Is every paragraph a self-contained digestible thought? Let’s not lose sight of the long-form idea, the slow-burner. An album is not just 12 singles. But, if cards are a means to forming threads, then that’s OK I think.

(h/t to Kicks for sharing that link)

I’m reflecting on my information strategy and how to improve it at the moment. Here’s the intro post to that, giving a bit of context.

In this particular post I’m going to chat specifically about discovery, AKA using the Intertubes to find out about interesting things. I can’t help but call my strategy for this my discostrat, apologies for that. I’ll talk a bit about how I’ve had it set up for a while, and some recent tweaks I’ve made to it, and maybe some ways I want to improve it more.

Photo by Vale Zmeykov on Unsplash

Continue reading “My Discovery Strategy, v0.2”

I’ve gradually shifted away from Twitter and Facebook over the past few years, migrating to the open alternatives of the IndieWeb and the Fediverse as replacements. I really like them both, both going some way towards providing the things that I want from social media (and being online in general), while removing some of things that I don’t want.

It’s far from perfect yet though. In this post (and more to come probably) I’m reflecting a little bit about my ‘information strategy’ – how to get the stuff I want from the big ol’ world wide web. I am mostly inspired to start on this by reading Ton’s thoughts on information strategies, as well as a vague feeling I have that while I get a lot out of the web, it comes with plenty of pitfalls and its usage can in fact to be to my detriment if unchecked and unmanaged.

As I’m more into the IndieWeb, I guess I’m kind of looking at all this through an IndieWeb lens, but the Fediverse is a bit part of it too for me. Sometimes you hear it referred to as ‘the open web’ as a catch-all.

What I want from the web

I’m totally guilty of being technology-focused (including in this post already…), but I think for reviewing my information strategy it’s better to try to start from a question of ‘where do you get your info from and what do you do with it’ rather than ‘what technology do you use’. So in a really high-level sense, what I want to get from spending time online is:

  • discovery (finding out about interesting things)
  • writing & reflection (producing not just consuming, posting publicly about things I’ve read or seen, and having to think about it before I do)
  • discourse & learning (getting others’ perspective on things, having my horizons expanded and my views challenged)
  • relationships: I think the ‘social’ part of social media should mean forming long-lasting bonds with people, not just being ephemeral blips on each others’ radars

I also want to give back and contribute to a healthy ecosystem – so I want to share helpful information with others, and contribute to others’ discussion and reflection. Good info is good praxis.

What I don’t want

I want to spend my time well, basically. With intention.

So that means avoiding:

  • staring at a screen excessively, doing the zombie scroll of doom trying to get the next hit of information or interaction
  • FOMO
  • information overload
  • filter bubbles
  • feeding of corporate beasts

Discostrat

This post originally also included me delving into my discovery strategy, but with the preceding waffle it started to become a huge post, so I’ve farmed off the discovery bit into a separate post – coming soon (UPDATE: here it is).

I also hope in upcoming posts to think out loud about the other pieces – of ‘reflection’, ‘discourse’ and ‘relationships’. I’m assuming this will all evolve over time, too, so they might actually be different topics by then. Which is where personal knowledge management and a wiki comes in, but that’s also for another day…

Yesterday was the Festival of Maintenance in Liverpool. I went along and thoroughly enjoyed it. Lots of interesting talks and nice people. The theme was basically the maintenance of things, sometimes purely engineering-focused (e.g. bridges and potholes and data), and sometimes with a pretty lefty alternative economics, post-growth, social care focused thread running through it too.

It was at The Fashion Hub, a really awesome space in the old fashion district of Liverpool, with the excellent DoES makerspace just upstairs.

It was chock full of interesting things. I have loads of notes that I hope to digest and probably microblog about over the coming days, but a quick note of a few themes that formed for me:

education

Students need to learn more about maintenance and repair, not just how to make new things. Tom of Holland mentioned how textile repair used to be in most textbooks, but no more. Civil engineer Mujib Rahman mentioned how students come into university wanting to know how to build things, and with less interest on how to maintain things.

maintenance as care

I’ve thought before how social care can be kind of be seen as a form of maintenance in a fairly abstract sense. But I liked the point made by Juliet Davis about how maintaining something for someone can be seen as an act of care for the person, too.

patterns of maintenance

Common themes seemed to arise throughout the day – e.g. the importance of monitoring in maintenance. Chris Adams mentioned during the panel discussion that a pattern language of maintenance could be a useful resource – I agree. The ODI have just released their pattern catalogue of collaborative data maintenance, but there could be scope for a general pattern catalogue of maintenance techniques and considerations.

I’ve been reading through the first chapter of The Little Schemer, and following along in Emacs (specifically: spacemacs).

I jotted down a few notes on getting set up to do this.

First off you’ll need to install a Scheme implementation. There’s a few of them out there. This Reddit thread has some useful discussion on the pros and cons of each of them.

As I’m on Linux and using Emacs, I went with Guile.

To install on Linux Mint, you just need:

sudo apt install guile-2.2

At this point, you could simply fire up Guile and work within the REPL there, if you wanted.

I want to write my Scheme in Emacs, and then send it to the REPL from there. The preferred Emacs package for that seems to be geiser. In spacemacs, geiser comes included with the scheme layer, so all you need to do is add that layer into your config and you’ve got geiser (and some other handy scheme bits and pieces).

Once you’re in a scheme file, run M-x run-geiser, choose guile from the dropdown, and that’ll start up the Guile REPL and allow you to send parts of your file to it for evaluation. C-x C-e for example will send the sexp before the cursor.

I’ve just gotten ProtonMail email working in mu4e in emacs via IMAP, with ProtonMail’s Bridge application and mbsync.

Most of these moving parts are new to me, so I’m not sure if what follows is 100% accurate or correct. But in case it’ll be of help to others (and to me in 3 months) here are the steps I needed and the resources I used to get it up and running.

ProtonMail Bridge

To get an IMAP client working with ProtonMail, you also need to set up a separate app called Bridge. I haven’t looked that much into the nitty-gritty of it, but I think the main point of Bridge is to keep the end-to-end encryption when using ProtonMail with IMAP – i.e. so the encryption continues all the way until it reaches your mail client. I think Bridge functions as a local IMAP server (and SMTP server) that you point your client apps at, and Bridge does all the encryption/decryption locally before communicating with ProtonMail’s servers.

To be honest, given the caveats around the utility of ProtonMail’s encryption (e.g. that it only really works end-to-end if it’s two ProtonMail users communicating), setting up the Bridge is a bit of an extra annoyance that I imagine would put plenty of people off. But anyway kudos to ProtonMail for making it so at least you can use IMAP.

It’s probably not too hard to set up on Windows or MacOS. But the Bridge app on Linux is beta, so it’s a bit extra work. You have to email ProtonMail to get access to it first of all, then they send you a bunch of instructions to set it up. On Debian derivatives, it’s basically just installing a deb file, but first with a bunch of steps for verifying the provenance of that deb.

Then you run ProtonMail Bridge and set up your account in there, same as on the other platforms. That’s easy enough.

mbsync

So that’s all fine and dandy. Next step is to point your IMAP client at ProtonMail Bridge. There’s instructions on the ProtonMail site for using Thunderbird with Bridge on Linux, which is probably the easiest next step if you’re happy to use Thunderbird.

I wanna use mu4e in emacs though. Because emails are predominantly text, and anything involving a fair amount of text manipulation I would prefer to do in emacs.

So to use mu4e, you need your emails in Maildir format. I don’t know much about what this is. From what I’ve seen I’m guessing a file-based, Unix-y way of storing mail. Possibly better/more efficient, possibly just historical intransigence. I dunno.

mbsync is a utility to sync between IMAP and Maildir. I gotta say, any project still knocking around on sourceforge I immediately expect to be dead as a dodo. But mbsync kept on coming up when coming across recent-ish reddit posts about ProtonMail and IMAP, so it seems to be an OK choice for the syncing. Another option is offlineimap.

On Mint, I installed mbsync with:

sudo apt install isync

So then you need to configure mbsync to point at an IMAP server, and to map your IMAP folders to your Maildir folders. This goes in your .mbsync config file.

This reddit post has a handy minimal guide of how to set up your mbsync config… or at least it would, if it hadn’t been posted on ghostbin and ghostbin hadn’t gone kaput. Luckily though someone made a copy of it in a gist on github.

I’ll copy it here too for posterity:

IMAPAccount protonmail
Host 127.0.0.1
Port 1143
User USERNAME_HERE@protonmail.com
Pass PASSWORD_PROVIDED_BY_BRIDGE
#Alternatively you can enter a command to retrieve your password
#PassCmd "gpg2 -q -d ~/.authinfo.gpg | awk 'FNR == 1 {print $8}'"

SSLType NONE

IMAPStore remote
Account protonmail

#You can change .mail to something else
MaildirStore local
Path ~/.mail/
Inbox ~/.mail/INBOX/

Channel inbox
Master :remote:
Slave :local:
Patterns * !"Drafts" !"All Mail"
Create Slave
#Expunge Both
SyncState *

Group protonmail
Channel inbox

I actually got an error with that as is, something about unknown section keyword 'SSLType'. You need to delete the blank line before SSLType NONE.

I also found a different .mbsync that was helpful, posted on pastebin. Copying below:

IMAPAccount protonmail
Host 127.0.0.1
Port 1143
User YOURMAILHERE
#Here you enter a command to retrieve your password
PassCmd "gpg2 -q -d ~/.authinfo.gpg | awk 'FNR == 1 {print $8}'"
SSLType NONE
#SSLVersions SSLv3
#SSLVersions SSLv3
#CertificateFile /etc/ssl/certs/ca-bundle.crt
 
IMAPStore pm-remote
Account protonmail
 
MaildirStore pm-local
Path ~/.mail/
Inbox ~/.mail/INBOX/
 
Channel pm-inbox
Master :pm-remote:
Slave :pm-local:
Patterns "INBOX"
Create Both
Expunge Both
SyncState *
 
Channel pm-sent
Master :pm-remote:"Sent"
Slave :pm-local:"sent"
Create Both
Expunge Both
SyncState *
 
Channel pm-trash
Master :pm-remote:"Trash"
Slave :pm-local:"trash"
Create Both
Expunge Both
SyncState *
 
Channel pm-spam
Master :pm-remote:"Spam"
Slave :pm-local:"spam"
Create Both
Expunge Both
SyncState *
 
Group protonmail
Channel pm-inbox
Channel pm-sent
Channel pm-trash
Channel pm-spam

This one has a few other folders mapped, and with a pm prefix, which is probably useful if you’re also syncing other accounts (but maybe there’s a better way of doing that).

I don’t know what Create, Expunge, and SyncState do.

Once configured, you should be able to sync with

$ mbsync protonmail

At this point we should be able to read emails in mu4e.

mu4e

I’m using spacemacs, for which there’s a mu4e layer, so I just added that to my list of active layers in .spacemacs config. This promptly gave an error when refreshing the config, something to do with maildirs. Commenting out the line

mu4e-maildirs-extension

in .emacs.d/layers/+email/mu4e/packages.el sorted it out. Haven’t looked into exactly what it does, so will have to go back and figure out some other solution at some point.

OK, now I could start mu4e with M-x mu4e… and got another error:

error in process sentinel: Database empty; try indexing some messages

Don’t know why, but running:

mu index --maildir=~/.mail

sorted that out. And mu4e worked, woohoo!

smtpmail

To also send mail via ProtonMail from within mu4e, a bit of extra config is needed for the smtp side of things.

The previously mentioned ghostbin/gist had all the details for that, copying again:

Create a file ~/.authinfo with the following contents:

machine 127.0.0.1 login USERNAME_HERE@protonmail.com port 1143 password PASSWORD_PROVIDED_BY_BRIDGE
machine 127.0.0.1 login USERNAME_HERE@protonmail.com port 1025 password PASSWORD_PROVIDED_BY_BRIDGE

This should be secured so the password isn’t included in plaintext in the authinfo file, there’s more info on that in the gist.

Note that the email domain doesn’t need to be protonmail.com – I used my custom domain and it works fine.

mu4e config

The same mini-tutorial also has some handy (and I think required) mu4e config:

(setq mu4e-maildir "~/.mail"
    mu4e-attachment-dir "~/downloads"
    mu4e-sent-folder "/Sent"
    mu4e-drafts-folder "/Drafts"
    mu4e-trash-folder "/Trash"
    mu4e-refile-folder "/Archive")

(setq user-mail-address "USERNAME_HERE@protonmail.com"
    user-full-name  "YOUR_NAME")

;; Get mail
(setq mu4e-get-mail-command "mbsync protonmail"
    mu4e-change-filenames-when-moving t   ; needed for mbsync
    mu4e-update-interval 120)             ; update every 2 minutes

;; Send mail
(setq message-send-mail-function 'smtpmail-send-it
    smtpmail-auth-credentials "~/.authinfo.gpg" ;; Here I assume you encrypted the credentials
    smtpmail-smtp-server "127.0.0.1"
    smtpmail-smtp-service 1025)

Tweaking

With all that, everything seems to be just about working – now I just need to get used to using mu4e. But I’m liking it already – much quicker to navigate around emails and to write responses.

I also need to figure out if all of the mbsync mappings are correct, for things like Archives, Spam and Trash folders.

Just came across the poem All Watched Over by Machines of Loving Grace by Richard Brautigan (via the Adam Curtis documentary of the same name.)

It’s kind of fascinating. I like it.  I know it came from a period whose technological utopianism certainly didn’t come to pass, and might have been a bit off-key in the first place, but its sweetly optimistic (…or bitingly critical, depending on what way you squint at it).

All Watched Over by Machines of Loving Grace

I like to think (and
the sooner the better!)
of a cybernetic meadow
where mammals and computers
live together in mutually
programming harmony
like pure water
touching clear sky.

I like to think
(right now, please!)
of a cybernetic forest
filled with pines and electronics
where deer stroll peacefully
past computers
as if they were flowers
with spinning blossoms.

I like to think
(it has to be!)
of a cybernetic ecology
where we are free of our labors
and joined back to nature,
returned to our mammal
brothers and sisters,
and all watched over
by machines of loving grace.

If it were written today it must surely be ironic. But I wonder if it was heartfelt back in the 60s? I find what it paints to be kind of a mixture of pleasantly bucolic and desireable, and weird and creepy all at once. Not sure if I want it or not. I like the idea of a cybernetic ecology, where we are free of our labours, and joined back to nature. Not entirely so keen on being watched over by machines of loving grace. (Though the benevolent AIs in Iain M. Banks’ Culture novels could be good role models if we did want machines of loving grace…)

It’s interesting that the poem doesn’t really make a case for technology, other than the nod towards a kind of fully automated luxury communism at the end. It just sort of assumes that tech is the route to liberation – I guess that’s the flavour of the time. I’m not a primitivist, but I’m not sure that an IoT meadow will have all that much better benefit than the analogue equivalent.

 

We had a fun EvalApply session today, during which we decided to add to our homepage on evalapply.space a sentence about our interest in examining programming and technology in a wider societal context.  Early on we discussed that this was important to us all, and we often end up chatting about these topics when we meet – perhaps more so than SICP, so far!

We were pondering EvalApply as a name for the group for a short period – from an early email:

In addition, thinking about it further, it also has a double meaning to me that I really like.
Before we apply a function we must first evaluate its arguments.”
Taken metaphorically I feel that this captures [our] philosophical and political views towards technology in a broader sense.  We consider the social ramifications of technology before recommending its use.  We evaluate the arguments before applying its function.

Some things that I remember we chatted about today:

The important of constraints, or having a limited palette.  I can’t remember how it came up, but for me it recalled some of the ideas from old tracker music software and the demoscene, where using restricted hardware and software can be a useful creative constraint.

We talked about community moderation (further to a short note about it earlier this week), with Panda making a strong point that not everyone has the resources to extensively moderate a community.  It had come up for me recently in the context of the Fediverse, and the discussion over the defederation of the Gab instance, and the problems with freedom 0.  “The freedom to run the program as you wish, for any purpose” – this is not good if the purpose is, let’s say, neo-nazism.

Dan discussed the philosopher Simondon (an inspiration for Deleuze and Guattari, I understand), and the topic of alienation and technology.  Not just alienation as a result of losing autonomy in a capitalist system; but also alienation from technology – not knowing how things work or being able to tinker with them.  Emacs being a beautiful example of software you can see the innards of and tinker with, should you wish to.

Dan did a bit of SICP.

Dan and Panda chatted about another French philosopher, whose name I have unfortunately forgotten, and the philosophy of autism.

I read a couple of paragraphs of SICP.

Dan described the difference between technics and technology, which is really interesting – a distinction between the machines themselves, and the analysis of them.

 

Eval’ing and apply’ing in the MayDay Rooms
Been thinking lately that it could be a good municipal function to provide people with access to an ‘online home’, analogous to ensuring provision of physical homes.

In the same way it could be social, affordable, in a co-op, heck even (but hopefully not) private and rented. The municipality provides some infrastructure and codes/regulations to make sure there’s a home for everyone and that everyone can move freely if they want. But equally you can build your own home or move into an intentional community if you want and have the wherewithal to do so.

Not talking about a StateBook – if the state has any function in it, I think it should be regulating for open protocols and standards, or even just bare minimum access to data and data portability (newsocialist.org.uk/do-we-really-need-a-statebook/). I’m thinking more like Indienet – (indienet.info/) – the project in Ghent (coordinated by @aral@mastodon.ar.al) to provide each denizen with their own connected node in a wider p2p/federated network. I mean municipal more in the sense of libertarian municipalism, self-determination and federation of villages, towns, cities.

Obviously access to physical housing is a mess, at least where I’m currently living, so maybe not the best reference point. But I’m finding it an interesting framing. Every Facebook or Twitter profile is currently a home on the web, and it’s as if billions of people all have the same corrupt landlord.

This is kind of implicitly assuming that everyone *needs* a home on the web. That is certainly a debatable point. It is definitely becoming more of a part of the fabric of everyday life, and you could argue that it shouldn’t be.  I vacillate on this a bit but overall I tend to think that the benefits can outweigh the negatives, when it has a social motive and not a profit motive.