giggs' blog

Environment design

Since a bit before starting this blog, I’ve gradually but dramatically changed how I spend my time when I’m not at work.
This article is about how I changed my routines, sharing a bit of theoretical insights as well as practical tips and tools. Most of these tools are free. Reader and Readwise aren’t, but I’d never go without them now.

The trigger

I averaged more than 2 hours per day of phone use in a week and a lot of time was spent idling on the computer, watching Youtube or playing games.
I thought I needed this to relax, but slowly came to realize it didn’t help whatsoever. Rather, it felt like it was never enough, or that I had just spent a decent chunk of time doing something I wasn’t even enjoying in the end.
I was participating in the Reader closed beta and someone I onboarded mentioned the book Atomic Habits. I read it and it really resonated with me. Using Readwise, I carefully studied it.

I won’t do the book justice, but I’ll try to get the main points across. It all came down to bad habits for me. Most of these behaviours were completely automated and I seldom considered doing other things. Seeing the mechanisms broken down, changing my habits seemed achievable. To that end, it was mandatory to change my environment.

Environment design

Visual cues are an extremely powerful trigger for habits. You look at your phone and you’re more likely to check your messages, or Twitter, or whatever it is you do with it. Thus, it follows that surrounding yourself with positive visual cues should make a difference.

Environment design is powerful not only because it influences how we engage with the world but also because we rarely do it […]
Environment design allows you to take back control and become the architect of your life. Be the designer of your world and not merely the consumer of it.
James Clear - Atomic Habits

Given that I spend a lot of time on my computer and that it is mandatory for my goal of switching careers, most of the changes involve the way I use it. I removed all cues for anything doesn’t help my education After writing this and changing a few things, I think I removed everything!

Instead of summoning a new dose of willpower whenever you want to do the right thing, your energy would be better spent optimizing your environment. This is the secret to self-control. Make the cues of your good habits obvious and the cues of your bad habits invisible.
James Clear - Atomic Habits

The study

On my desk are the keyboard, mouse, a glass of water, a notebook and my “journal”. The notebook is for rough drafts/sketches, the journal is where I keep track of what I’ve done each day to improve as a programmer, and what I want to do the next.
This one always stays open. If present me is hampered by decision fatigue, he is saved by past me who carefully wrote what should be done to make progress. It’s also the last thing I see after turning off the computer for the day, making sure I don’t forget to write in it.

Whenever possible, I leave my phone in a different room until lunch. When it’s right next to me, I’ll check it all morning for no reason at all.
James Clear - Atomic Habits

My phone is either on the piece of furniture behind me, or most likely in another room altogether.

Developers refer to what happens when you change focus as “context switching.” Many of the best developers believe that the price of this operation is extremely high. If you want to make progress on learning or writing, be it text or code, I do not know of a better technique than long, uninterrupted sessions.
Radek Osmulski - Meta Learning

It’s a well-documented fact in my line of work that being interrupted leads to making mistakes. So, away goes the phone. In case I get distracted and turn around, the only non-decorative item on display is the technical book I’m currently going through.

The computer itself

There’s never been any icons on my Desktop, but my taskbar needed cleaning up. I considered having nothing in it, but the point of visual cues is that they can also be positive. So, I pinned my code editor (VSCode), Anki, and Firefox. Readily accessible in the start menu are my most used tools and Discord. I still have Steam installed on Windows, but the icon isn’t visible. Having all the tools in the task bar is not to my liking.

It’s actually open space, left empty, that gives us peace of mind.
Fumio Sasaki - Goodbye, Things

I have a Linux (Ubuntu) dual boot that is similarly setup, but without Steam. It has the added benefit that I’ve only ever used it to study/program. Simply deciding to boot on it puts me into a frame of mind that means business! Without going to such lengths as using a dual boot and different OS, it’s possible to have a separate Windows session.

The riskiest part of the computer is probably the browser. I set up the home page to Standard Notes, which has TODO lists and notes for current projects (there’s one for this article, for example). The favourites are hidden and only contain tools that I use once in a while and don’t want to spend time looking for when I need them.
The new tab screen only has programming/reading related addresses pinned, and my music playlists on Youtube. That link is to a playlist page on a Youtube account that only has my playlists on it (music or courses).


If it wasn’t for ublock origin, I wouldn’t use Youtube for music. Thanks to its filter function, no distractions other than the video/music itself can make it to me. The home page is also completely filtered, in case I click on it out of habit. Another option is to use mpv. I have the links to my playlists saved in Standard Notes and I can just pass them to the player and have the music play there. I’m in the process of switching to mpv entirely.

When I still used Twitter, I also had several filters in place there. Thanks to Reader I can skip the website entirely. Reader has recently implemented a RSS feed-like option for Twitter lists. I get the tweets from the people in my lists twice a day inside Reader, and only visit Twitter to remove/add someone from the lists.
I also use Reader as a substitute to subscribing to the few Youtube channels I still want to follow. The channel page can function like a RSS feed too, and I get notified of new videos through Reader.

Make it hard

Earlier this year I had issues with playing short fast-paced chess games. I could easily go game after game for 2h+. Removing visual cues didn’t help, it was a deeply ingrained habit. When positive signals aren’t enough to replace a bad habit with a good one, you should make accessing the bad habit as difficult/painful as possible.
Fortunately, making it difficult was enough. I used Leechblock to completely block access at all times. I also used an app blocker on my phone for Chrome, because it’s impossible to uninstall that app and there are no ways to get Leechblock on it.
If that hadn’t been enough, I had other contingencies planned, such as blocking access at the router level or having my friends ask me daily if I’d played and paying them something if I had.
With Leechblock, I also blocked reddit (with a few exceptions such as /r/adventofcode), as well as a couple of news websites. Access to Youtube is restricted after 10.30 p.m. Having my music stop is a good reminder that I should go to bed soon.
Going to bed early is always an issue when I’m really focused on programming, so I cut off internet access at the router level after 11 p.m. on all my devices.

An accountability partner can create an immediate cost to inaction. […] It makes the costs of violating your promises public and painful. Knowing that someone else is watching you can be a powerful motivator.
James Clear - Atomic Habits

I mentioned phone use earlier. After an egregious case of playing browser games a few weeks ago, I committed to sharing my weekly phone stats to my friends. I went from 1h30 daily use to under 30 minutes in two weeks, most of which is Anki/Reader.

Context cues and maintenance

Another way to easily start a habit is to decide to do it after something you always do. In the beginning, I had a ritual to get into the habit of starting to program after dinner. After brushing my teeth, I would turn on the computer and start listening to a music I chose as a work trigger because it gave me motivation. I don’t need the music anymore, the dinner-brush-program routine is firmly set. It’s still a great boost whenever I’m feeling low energy though. The best part is, that dinner routine is effortlessly transfered to a breakfast or lunch routine when I’m not at work.

The point of all this is to make it as easy as possible to start programming/learning.
An important point for me was to use tools that require little to no maintenance. The goal is to set everything up, and then never worry about anything but what’s important to you.

I’ve worked with a lot of people who use much more sophisticated and complex processes and tools and stuff but none of them seem to be able to stay as well organized as I am. I think they kind of get a bit lost in their tools, sometimes.
Jeremy Howard - fastai course 22 lesson 6

The most complex tools I use are Reader and Readwise. Even then, I use them at a rather superficial level. The little time I spend properly tagging documents is easily regained when I want to check a previously read document. The little time I spend highlighting and creating a themed review in Readwise saves time and effort in absorbing the contents of a book/topic. After reading Atomic Habits, I had Readwise send me 5 to 10 of my highlights every day. It really helped hammering the points home to successfully redesign my environment and routines while being very low effort.

I’m very happy with the way I set things up. There are still things to improve here and there (heck, just writing this led me to finding improvements!) but overall, it’s a very positive and productive environment, with good backup plans in case something goes wrong. It wasn’t always easy at first, but now… Leechblock wasn’t even on my Linux machine and the only reason I realized was that I wrote this article! I installed it just in case, but it’s never been needed.
Looking back to where I was a few months ago, this simple fact really means a lot to me.

#Life Hacks