by adam mathes
archive · subscribe

Why I Wrote Weird Bespoke Go Software For My Mailing List

Increasingly my feeling is that the social dynamics – the flow – of ideas, people, and money in the modern internet is off. Something went wrong.

My reaction over 2016 has been to – more or less – retreat.

I read books, I play with my HTC Vive, I use my time for activities that I find more pleasant. The web, social media, etc. doesn’t feel good anymore.

But the time for retreat is over. The time to engage with the internet on my own terms (and secede from the traditional internet tools) is now.

This is a lot easier to do when you have enough time and programming experience to experiment with things for yourself.

Making Your Own Lightsaber

Over the decades I’ve written a lot of web-based communications/publishing software and tools including:

  • a multi-user early web CMS for sites (organizine, Perl, ~1999)
  • static blog generator (mathecms, perl, ~2001)
  • minimalist discussion board ( webarrific discusion board, perl, ~2003)
  • weird image board gif game thing (4uhm, python, ~2010)
  • another static blogging system (ziney, python, 2013)
  • some other stuff I open sourced

…and lots of other stuff. I don’t even know anymore.

One of the only things I’ve never really worked on is email software. (Except that time I wrote mailmedaily, which I guess was email software, but, whatever, let’s ignore that failed project for the sake of semi-coherence.)

I got it into my head that I wanted to write newsletter (email) software – something kind of like tinyletter but with some different assumptions.

Creating Digital Scarcity

The dynamics of a system are in large part determined by what is hard and what is easy, what is abundant, what is scarce. As the creation and sharing of content becomes easier (when mediated by large systems) individual content producers and pieces content become valueless commodities – only the aggregators that mediate these pieces between producers and consumers as the new gatekeepers seem to have value.

And our social distribution systems all share a similar assumption: more audience, more engagement, more volume is better. They are a game. Numbers go up (hearts, stars, followers, retweets.)

That assumption makes sense if you are the aggregator and are trying to fuel an advertising based business.

I’m not an aggregator and I’m not trying to fuel an advertiser based business.

I’m trying to say a few things, and I want a few people who care to be able to hear it.

Opting Out Of The Attention Economy

It’s not just that I’ve lost that game (I have) or that I’m bad at it (I am) – it just doesn’t seem fun to play and I don’t really want to win or get better at it.

There’s anthropological and neurological evidence to suggest our brains simply can not handle more than 100-200 actual relationships – we can use social media to create a different sort of pseudo-relationship at a scale that’s larger but I don’t think that’s what I want.

Design is a series of constraints

Whenever I write my own software it’s usually a process of subtraction followed by addition.

What is the essence or what I’m trying to do? What is the minimally useful set of things I have to code to get at the core of this?

This is less to do with the cult of Lean Startup methodology that Eric Ries has resold Silicon Valley from Toyota, and more to do with the core of all great programming: laziness.

Minimalism is not just an aesthetic or design choice for me: it’s more of a lifestyle choice.

Then the question is: what weird shit makes this different? Why am I even bothering to do this?

Sometimes the answer is: nothing is different, I just want the joy of knowing how this works and doing it myself, which is ok.

In the case of mailing lists the key assumption I wanted to challenge:

  • infinitely expanding subscription list
  • the language and delivery real-time reactions

What if the audience was capped from the start, how would that change the dynamics?

Would scarcity of audience make people value the content in a different way? Would a static audience (of probably non-anonymous) email addresses help me to create content and have conversation in a way that the current structure of the web and twitter and facebook do not?

Well, the easiest way to find out is to just do it and see.

Design For My Own Constraints

The immediacy and intensity of the feedback loops in modern social media (likes, retweets, etc) in the context of always-on nature of smartphones is addictive.

But looking past the engine for addiction, there’s something suffocating about the limited vocabulary it forces upon feedback. Why does some other person somewhere else get to decide what the one click actions are on my writing?

Fuck emoji and fuck hearts and stars. A language dictated by others that can’t adapt isn’t a language at all. (Except Latin. And French, sort of.)

So the other bit I wanted to play with was reactions – so I added a system that enables me to create links that allow each reader to send messages crafted (attributed to them) directly to my phone. It’s a fun little hack.

This allows people to directly give me useful feedback with one click – like hair looks awesome, or that presentational markup is an affront to human dignity, or whether they think the letter is too long while halfway through.

That has been more effective and fun than I expected and I plan to continue experimenting with it.

Let’s Go

Normally I’d probably write something like this in Python but I used Go.

  1. Wanted to learn something new
  2. Go is the spirtual successor to C, which since I first used a Unix machine in 1997 has been my programming language spirit animal, so it feels good to me on a visceral level that nothing else since C ever has
  3. The python2/python3 weirdness I’ve mostly ignored but has made me realize my Python code will probably be as difficult to run in 5 years as the Perl code I wrote 10-15 years ago is now, and the Go code will probably just compile without complaint anywhere. As my facial hair increasing turns to an elderly Unix-neck-beard this seems more important.

Sign Up Now Before I close My Mind And Sign-ups Forever – signups were open for a couple minutes only and announced on twitter for the first 4 issues then closed.

I think that worked pretty well, but it doesn’t seem fair to only offer that to hyperactive twitter followers so I’ve opened up sign-ups for daily readers for today.