2018: In Pursuit of Productivity

2018 was a crunchy one. I feel like I started the year behind and finally caught up yesterday when I put the finishing touches on my rstudio::conf talk - yesterday being Janurary 3, 2019.

This was also the year I learned what burnout looks like - my episode happened shortly after UseR. In retrospect I was all in on a mindset of "I just have to make it to UseR" - and I did that, and it was amazing - but after that everything just kind of crashed. It took me some time to get out of a pretty negative space.

I spent a lot of this past year feeling frustrated with my progress as deadlines loomed. Just now I counted up the number of 'line in the sand' deadlines I met this year, and for me, it's pretty high:

I count:

  • Machine Learning workshop @ ABS
  • R Foundation summit
  • UseR
  • Poster @ UseR
  • Consutling project go-live
  • Software Carpentry workshop @ QUT
  • Git workshop @ ACEMS Retreat
  • r2vr ReefVR Demo
  • r2vr + quadmesh workshop @ FOSS4GSOTM

With the way I work, there's always a crunch with deadlines. Something something perfectionism. But with a young child at home now I couldn't fall back on my old tactics of working through into the early hours. [1] I had to get REALLY serious about optimising the time I did have. Some of the things I got up to are pretty nerdy and may repulse you. I make no apologies! The rest of this post is about those tools I picked up that helped.

Pomodoro

Pomodoro is a productivity system where you divide your work day into intervals and mini breaks. Lengths vary. I do: work 25 minutes, break for 5. Once you complete 4 'reps' you get a longer break for 20 minutes, or longer if it's lunchtime.

This is not a thing I do religiously. But I find myself going back to this every time I feel the pressure because it reliably boosts my productivity.

Here's my take on why:

My struggle for productivity is really a struggle against interruptions and micro distractions that pull me out of my flow and trigger a procrastination. And I've noticed I'm especially susceptible to this when doing taxing mental work. I liken it to trying to lift a heavy weight with someone trying to make you laugh. You'll crack and drop the weight - not because you felt additional pain, but because secretly you were glad of the excuse to.

Pomodoro works because at any given moment you have a break coming up in at most 25 minutes. So when one of these distractions pops up, be it some kind of notification, a colleague, a thought out of the blue, a compulsion to check social media, whatever, you can dismiss it easily with: 'I've only got X minutes until my break, I'll return to this then'. Funnily enough I often do not return to it.

I use the Brain Focus Android app as my pomodoro timer. I tried a few and like this one best. I find this works well because I play music using my phone during an interval, and the app will vibrate the phone and turn down the music to play an alarm signaling the end of the interval. There's no chance you can miss it.

The Lucy D'Agostino McGowan method

I don't even know where to start with Lucy's post One Year to Dissertate. It's a blueprint for taking control of your time to deliver a large project.

It's had an impact on me - to the point where I'd say the things I took from it are what got me through the last leg of 2018. You should just go read it. It's this interesting mix of simple tools arranged in a simple system - but the combination feels so sophisticated and clever.

I wasn't preparing a dissertation, but the things I found in the section on planning worked just as well for the various workshops I had to prepare. Immediately useful were:

  • The time-boxed sessions for eliciting project tasks which you prioritise and assign real deadlines.
  • Making weekly plans with tasks drawn onto your week.
  • Dedicating time to revisit both above.

When I feel a deadline looming I tend to develop tunnel vision. But in late 2018 I had several important unrelated deadlines landing in quick succession. Tunnel vision would have set me up for to failure. It was Lucy's planning templates that helped make clear to me exactly what time I really had, and how that would have to affect the scope of each project.

Assigning real deadlines was painful as I was used to a to-do list type approach, where you have a queue you're just pulling things from. But the task deadlines combined with some forward planning are very effective at exposing things you can't possibly get done so you can re-plan. And having the weekly plan on your desk is such a procrastination killer! You can see exactly what you're sacrificing at any moment.

Learning to type

Somewhat embarrassingly, up until mid 2018 I was a 4 - 6 finger typist. I wasn't exactly slow, but my style was inefficient, and error prone. I also had habit of looking down at the keys, although I could type without doing this if I forced myself. That's what comes from learning to type 'organically' while wasting a youth on computer games and internet forums.

At some point during this year I had the insight that typos were this persistent niggling source of distraction. It's as if each one created a tiny frustration that got added to a buffer. At some point my typo frustration buffer would overflow and my brain would have to dump the thread of whatever I was working on. When that happened I would be wide open for the forces of procrastination.

So I decided to purchase a mechanical keyboard[2] and spend 30 minutes an evening as often as possible on improving my typing. Intially I was using gtypist - a free command line tutor, and eventually I moved to typingclub, also free. I made the most dramatic progress with typingclub. It has some sweet analytics that can help you decide what to practice, so I would recommend going straight to that.

After about 3 months of semi-regular practice I was doing around 60wpm with accuracy in high 90s, and the looking down habbit completely broken. Now I feel like my typing is better able to keep up with my train of thought, which has increased the speed at which I can draft and interate on text. It's also changed the way I anticipate writing - the dread has dialed way down.

Dedicated Learning Time

I've found it really hard when I'm under the pump to make time to learn new things. Even if I can see those things have the capacity to make me more productive on a project. It's like I find learning too enjoyable to be work.

My response to this realisation was to dedicate the first 30 minutes of my work day to reading, working through examples, or watching videos I have been meaning to get to but have been getting knocked down in my queue by higher priority work.

I started doing this in my lull after useR and I found the thought of getting to work to spend some time learning helped provide the motivation in the morning I was otherwise struggling for.

Since doing this I have heard other people talking about this kind of idea. This week Jessie Roberts described to me a similar plan to dedicate 30min each day to things that are 'important but not urgent'. I like that way of framing it. The forward planning from Lucy's method seems like exactly this.

The Viminning

Now this is where things get qutie nerdy. My new confidence with typing kicked off an interest in keyboard shortcuts which blossomed into a fully fledged obsession with trying to control as much of my computer as possible with the keyboard.

The frustrating thing you'll quickly find if you head down this path is that a lot of the applications you use will have their own unique keyboard shortcut conventions. There's just too much to memorise. So over the past year I've been gradually replacing or configuring my applications so they all use a single control scheme - and that control scheme is inspired by vim.

I think I'd better do a separate post on the rationale and the details, but here's a tour:

  • I control my desktop and its windows using a tiling window manager called i3. Window arrangement uses vim inspired keys (h,j,k,l).
  • I write code using Spacemacs, which among other things, places a vim control scheme over Emacs (and ESS for R).
  • I control my Chromium browser using an extension called 'Vimium C' that implements an amazingly faithful vim control scheme for a browser.[3]
  • I launch applications with a launcher called rofi that uses a vim navigation scheme.
  • I use a terminal file browser called ranger that has vim navigation and command scheme.

So what's it like to have one unified(ish) keyboard control scheme for all your work tools? It feels fast and instinctive. I feel frustrated by a regular desktop setup now - like I can't wait to get back to my vimland. Everything is sluggish and clunky by comparison [4].

I don't think this path is for everyone, but I do think everyone can benefit from reexamining the painful UIs in their life that they've normalised. Frustration and tension make us tired, susceptible to distraction, and give up prematurely. Giving up murders good ideas.

My tools: Spacemacs, Chromium, Ranger, and rofi in i3 window manager

Hello 2019 - Sorry I'm late

This year my resolution for my work is for less crunchy, more smooth. I'm changing jobs at the beginning of February and I hope to bring some of the planning tools I learned from Lucy in from the start, so that I never reach the peak workloads of 2018. Consequently I am looking forward to more worry free weekends with the family!

Also, I don't think I am quite done with this 'make everything vim' idea. :P


Your mileage with productivity techniques mentioned here may vary, I am far, far from a guru.
Header image is CC0 from https://pixabay.com/en/corn-flakes-corn-breakfast-food-1915632/


  1. Prospective breeders beware. Here's the harshest realisation I've had since becomming a parent: No matter what kind of night you've had, the kid is waking up EARLY and FULL OF BEANS ↩︎

  2. The Magicfore 68 with blue switches to be precise. E.g. this. Mine came with some dodgey soldering that made 2 keys unreliable. I had the gear to fix that so it was not much hassle, and the Ebay seller even knocked 10USD for my labour - I really like it, so great value! ↩︎

  3. I made a fallback mode in i3 where I can operate my mouse pointer using vim keys for websites that force the issue - yes I am aware how crazy this sounds. ↩︎

  4. This might partly be due to dropping down the key repeat time for key presses - this is worth trying, trust me. ↩︎

Show Comments