What just happened

2019 in review

3 January 2020

I think I was supposed to publish the customary 'end of year reflection' post on 31 December, but I got a bit distracted with all the leftover Christmas food. Anyway, here it is, in case you're interested in my 2019.

My year of reading

Last year I noticed quite a few people had kept track of what they read over the 2018, and since I'm someone who has been known to purchase a second copy of a book because I forgot I already had it, that didn't seem like a terrible idea. I was also curious about how many books I actually would read over the year, especially given I felt I was able to read long-form works again after a few years of ...not really doing that well. I was in the middle of about four coding projects at the time, so I ended up making a GitHub repo to use for keeping track of what I've read and what I want to read. It's slightly ironic given my stance on keeping library loan records private/non-existent, but it had a fast payoff, with an offer to lend me a book on my wishlist within the first month.

Over the year I somehow managed to read 27 books (nearly all non-fiction). It was more than I expected, but pretty much bang on my rough goal of one book a fortnight on average. Some are pretty short - like Natasha Lennard's Being numerous or Jeremy Keith's Going offline. Others were very, very long - Sven Beckert's masterful Empire of cotton: a new history of global capitalism, for example. It kind of evens out in the end. In my year of reading I connected to the 'new' wave of Australian history - Billy Griffiths' Deep time dreaming and Bruce Pascoe's Dark emu affected me deeply. I discovered that I really appreciate books of essays, particularly by masterful writers like Rebecca Solnit and Natasha Lennard, whose essays are deep and meandering at the same time they are precise and intense. I read a lot about history, about state power, about work, and about algorithms. If you're interested (especially if you're a librarian and professionally interested) in the last topic, I really recommend reading Safiya Noble's Algorithms of oppression and Matthew Reidsma's Masked by trust as a pair: whereas Noble explores the biases of search engines on the open web (specifically Google), Reidsma takes a deep dive into the biases of library search products, which are often touted as a potential solution to the problems identified by Noble.

My year of listening

In the last few years I've become one of those insufferable people who talk about the podcasts they've been listening to. I find they're great on the walk up the hill when I get off my train in the morning, and whilst I'm doing household chores. I've had a few favourites for a while, like Mike Duncan's Revolutions, but in 2019 I really came to appreciate Against the Grain - which is actually a KPFA radio program - and a fairly new podcast called The war on cars which is exactly what you're thinking, and has inspired me to now refer to car parking as 'car storage'.

My year of coding

I spent a fair amount of time coding in 2019 - some new things, and some that was really 'maintenance' (see below).

Technically, I started writing pocketsnack right at the end of 2018, but my first release was in early 2019. This is a command line program that works with the Pocket API to help chronic Pocket-stuffers like me and Alissa, whose despair at the state of her Pocket inspired the project. Essentially, the problem is the same as for email inboxes - once there's enough in there, the sheer amount of unread things overwhelms the brain and we end up paralysed by indecision about where to start. pocketsnack solves this problem by tagging everything 'tor' and then archiving the lot. Then you can 'unarchive' a snack sized number of these 'tbr' articles so that it becomes manageable again. The program is not particularly big, but it's the most complex thing I've written in Python so far, and I learned a lot while I was writing it.

In last year's wrap-up I wrote that I wanted to learn more Bash scripting1, and pretty early on I got a chance to do something almost as good when I threw an extended and overcomplicated tantrum about having to use Microsoft Word to write meeting agendas and minutes. I also learned how amazing pandoc is. Amazingly, this is the first thing I've ever written for a Microsoft operating system - everything else has been aimed at *nix systems or, if we go back to when I was in primary school, the BBC Micro.

By far my biggest project in 2019, however, has been a complete rewrite of the code that powers Aus GLAM Blogs, which I've called Rockpool. The new code will improve a number of things: the app should be faster, search will be better, bloggers will be able to update the details of their blogs, and pocket subscribers can cancel their subscription. I haven't finished yet, but it's most of the way there. This was also the project that helped me to finally make good on my 2018 goal of learning about software testing - specifically 'unit testing'. I didn't start this until I'd already written a lot of Rockpool code, but once I got the hang of it I quickly realised why Test Driven Development is so popular. Writing the test first forced me to think harder about what - exactly - was the outcome I wanted from each function or action. Even though it seems like writing tests and then writing the code would take longer than just writing the code, I'm convinced that developing like this is actually faster overall - once the code passes all the tests, I'm much more confident than I otherwise would be that it's actually working properly, and when tests fail it's easier to find where something is going wrong. I'm using mocha with plain old assert and I've also learned and reinforced a bit more basic JavaScript knowledge through thinking about how to construct a test suite for each piece of functionality. Also a shoutout here to the creators of supertest and nock without which most of my tests would be almost impossible to write.

My year of new things

There were a few new things for me in 2019. I ran my first conference workshop at VALA Tech Camp, which I was also organising. Note to self: never run a workshop at a conference you are also running ever again. This was a pretty terrifying experience, and I felt a bit underprepared, but I did learn a lot about Bash whilst writing up the workshop notes. I facilitated several Zoom video calls with more than 50 people connected, which seems like something I should get a badge for (it went really well!). I received my first pull request ever - a great contribution to ephemetoot from the lovely Mark Eaton. On the coding front I also wrote and published my first npm module which I'm using as part of Rockpool and will be able to use in other code I have planned as well.

Lastly, the week before Christmas I started a new job! I'm now Manager, Digital Innovation2 at La Trobe University library. I'm really excited about the job, I'm back to leading a team, and it will be pretty cool to be working in a university.

My year of maintenance

The temptation in these 'year in review' posts is to only talk about things that are new or that we finished. But we all spend most of our time doing maintenance. I spent a lot of time in 2019 maintaining newCardigan - whether patching or or writing posts for the website, organising cardiParties, encouraging people to blog for GLAM Blog Club, or doing the general admin work of organising meetings, filling in paperwork and paying bills. I also continued to maintain my Mastodon server Aus GLAM Space, keeping the software up to date, and trying to put into practice some of Darius Kazemi's suggestions for running a small social network site for your friends. On the VALA committee I took on the job of Treasurer and we now have a finance strategy and a reviewed Code of Conduct. And I also did some personal maintenance - I finally got my dodgy wisdom tooth taken out.

Did I meet my personal KPIs?

At the start of 2019 I set myself four modest goals and whilst I did note they're really lifelong projects, I've made some progress on at least three of them. I wrote a reasonable amount of Python code in 2019, and learned a lot more about how small programs should be structured. I actually did a fair bit of work on Bash scripting, though much of it was later ripped out of the pocketsnack code when I realised it was causing more problems than it solved. I also learned a bit about the thousands of years of human occupation of Australia prior to European invasion, particularly through Bruce Pascoe and Billy Griffiths' books, but also James Boyce's 1835 and other sources. I'm not sure that I actually learned to shut up and listen, but there's always this year to work on that.


This of course was before I realised that Apple was moving from Bash to zsh as the default shell


Yeah, I know - I have feelings about the word 'innovation' too.