Weekly Head Voices #130: TTAGGG.

Lovely summer’s day. Not much rain.

Water

On the water front (I see what I did there): Day Zero, that is the day on which the whole of Cape Town’s municipal water will be cut off, has been brought further forward to to April 12. Citizens will be able to fetch drinking water every day from 200 collection points. Judging by how quickly shelves of bottled water are currently disappearing from the shops and by panicky facebook posts, people are stocking up in advance.

The immortality of lobsters

Continuing with our watery theme, this past week I learned the very surprising fact that lobsters are sort of biologically immortal. In short, lobsters produce more of the enzyme telomerase than humans and other animals, which rejuvenates their telomeres, which means that their cells can in theory keep on dividing forever.

The telomeres are the genetic bits (feeling quite punny today; nucleotides TTAGGG in vertebrates, apparently) protecting the ends of your chromosomes. Every time cells divide, the child cells have slightly shortened telomeres. At some point, the telomere becomes too short, and that line of cells can’t divide anymore.

This is a large part of how most animals finally die: Our cells can only divide so many times, and then the telomere ends, and then someone switches on the bright lights, and then the whole party is over.

However, the enzyme telomerase is able to repair telomeres, thus extending the lifetime of the organism.

Lobsters naturally produce so much telomerase, that their cells can keep on dividing forever. In practice, lobsters apparently only grow in size, strength and reproductive ability as they age.

Unfortunately, their party also eventually ends. As they grow, they have to molt their suddenly too small exoskeleton. As they get bigger, this process takes more and more energy, until the day comes that they have grown so large (12 kg in one instance) so that the attempted molting, due to disease, is a fatal process.

Intriguingly, a 2013 study showed that lifestyle changes such as diet, exercise, stress reduction (including meditation) and social support, boosted telomerase activity and significantly increased telomere length in human subjects.

Your brain (not) at work

On the recommendation of a colleague who is most versed in these things, I am currently reading the book “Your Brain at Work: Strategies for Overcoming Distraction, Regaining Focus, and Working Smarter All Day Long” by David Rock.

While the author clearly has not yet read any books on Coming Up With Shorter Book Titles, he has put together a compelling piece on the extreme limitations of the human prefrontal cortex. These are the bits that we use for important thoughts and for solving tricky technical puzzles.

I thought that I just naturally had the attention span of a budgie (which I continuously try my best to compensate for by the gnashing of teeth, will power, and various other tricks), but it turns out it’s a basic human limitation.

A pretty budgie which will probably distract you from the contents of this post. FOCUS!

If all of the neuroscientists he has interviewed can be believed, we are severely limited both in terms of the number of thoughts / ideas we can handle at any one time, and, to me far more frighteningly, in terms of the total time we have available for this sort of complex work.

The prefrontal cortex is relatively-speaking quite inefficient, and gets exhausted really quickly. Remember the last time you spent the evening trying to figure out how to get all of your children to their various activities during the week, and how unexpectedly difficult that was? (if no children, please replace this example with something more familiar to you :) Your prefrontal cortex was probably already exhausted by 15:00 in the afternoon (if not earlier), and you were in effect beating a dead neural horse.

Sometimes you wake up the next morning, and you solve that exact same puzzle in 3 minutes, at which point you might have already exhausted your cognition quota, and might as well stay at home for the rest of the day.

Because the capacity and bandwidth of the prefrontal cortex can’t (yet?) be significantly improved, the book recommends that one carefully monitors oneself, taking breaks when necessary, single-tasking, and practising any often-occurring tasks until they become automatic, at which point the much more efficient basal ganglia take over.

Apart from this, the prefrontal cortex works at its best when you are slightly stressed, but not too much, and when you are slightly happy (with novelty and dopamine), but not too much. Too stressed, and it freezes up like a deer in the headlights of a rapidly approaching car. Too happy, and it just hangs around enjoying the vibes, not really producing anything.

I still have to finish the book, but it has already motivated me to continue on my quest to automate and script as much of my life and work as possible. For example, for the daily goals list mentioned in pro-tip #1 of WHV #126 I have a keyboard shortcut in Emacs which creates the relevant section in the correct part of my journal, correctly timestamped, and pre-filled with one or two habits I am trying to form, ready to accept the rest of the goals for the day. I used to think examples like this were perhaps going a little too far, but I now keep my eyes open for any task or activity that can be partially or fully automated. (Some even refer to Emacs Orgmode as their exocortex.)

On the topic of lists, the book mentions prioritisation as one of the more cognitively taxing activities we can engage in, so it makes even more sense to take care of it first thing in the morning, and to do this as efficiently as possible.

More broadly speaking, I think having instant access to documented and executable conventions for most of one’s tasks and projects would help greatly to free up the precious little prefrontal quality time we are allotted.

Even more broadly speaking, it seems we need to practise how to listen more carefully to our brain so that we are able to guide it through the treacherous waters of exhaustion, stress and happiness.

The part where I wish you a good journey

Thank you very much for reading this post. I hope you have a week filled with learning, challenges surmounted and a solid dose of contentment.

See you next time!

Weekly Head Voices #126: Fleur-de-lis.

Betty’s Bay’s Crepuscular Rays. An apostrophe in time saves rhyme.
  • Happy new year everyone, and welcome to the first Weekly (truly?! will this be the year?) Head Voices of 2018!
  • I ended 2017 with a longish (by my standards) run in the morning, followed by a laid-back mini-party and finally by struggling really hard to stay awake until midnight.
  • In contrast, returning to the office on January 2 was a pretty good way to ease gradually into work in 2018. Many colleagues were still on vacation, so the week felt a bit like work with training wheels.
  • Pro-tip #1 for the new year: In the last few weeks of 2017 I started (again…) explicitly making quiet time at the start of the day to think about what I want to take care of. These take the form of a small number of Org mode- [ ] Do this thing” checklist items that are usually related to but separate from my main tasks. I find it amazing to which extent these few minutes are able to shape my day. (In my org mode monthly journal, I also usually start by listing out manually the tasks I want to complete during that month, as well as the ideas / thoughts / principles I want to keep in my sights.)
  • Pro-tip #2 for the new year: After years of resisting these types of software tools due to my belief that I should simply apply more grit and will power to squeeze out more focus hours, I finally broke down and purchased the macOS app called Focus. You click its pretty icon, and then your computer goes into focus mode: The Mail application and a bunch of other non-focus-related apps all get killed, and a bunch of websites (reddit, youtube, work chat, etc) are blocked for a user-configurable block of time. I rationalised this purchase with the following reasoning: It usually takes a single moment of weakness for a distraction to terminate a valuable block of focus. It takes a single moment of strength for this tool to start a valuable block of focus.
  • Although I’m having fun, I really don’t think I’m supposed to use bullets like this.
  • Thank you very much for spending time here with me. I wish you a week of value and focus, followed by a visit to the next WHV!
The Huguenot Monument in Franschhoek, where we found ourselves an hour or two ago. Immediacy FTW.

P.S. This post was finished during a 30 minute FocusApp block. Background music: Balance 014 by Joris Voorn, one of my favourite music creations ever.

Weekly Head Voices #123: A semblance of a cadence.

Yes, we ended up in the mountains again.

In the period from Monday June 12 to Sunday June 25 we were mostly trying to get through the winter, fighting off a virus or three (the kind that invades biological organisms you nerd) and generally nerding out.

One more of my org2blog pull requests was merged in: You can now configure the thumbnail sizes your blog will automatically show of your uploaded images. Getting my own itch scratches merged merged into open source projects never fails to makes me happy, even although in this case there can’t be more than 5 other people who will ever use this particular functionality.

Anyways.

ASP.NET Core SURPRISE!

For a work project I was encouraged to explore Microsoft’s brand new ASP.NET Core. While on the one hand I remain wary of Microsoft (IE6 anyone?), I am an absolute sucker for new technology on the other.

You may colour me impressed.

If I had to describe it in one sentence, I would have to describe ASP.NET Core as Django done in C#. You can develop and deploy this on Windows, Mac or Linux. You model and query your data using Entity Framework Core and LINQ for example, or Dapper if you prefer performance and don’t mind the SQL (I don’t), or both. You write controller classes and view templates using the Razor templating language.

C# 7.0 looks like it could be a high development velocity language. It has modern features such as lambdas with what looks like real closures (unlike C++ variable capturing), as well as the null coalescing operator (??) and the null conditional operator (?.), the latter of which looks superbly useful. Between Visual Studio on Windows and the Mac, or the new Intellij Rider IDE (all platforms) or Visual Studio Code (all platforms), the tooling is top notch.

Time will have to tell how it compares to Python with respect to development velocity, a competition that Python traditionally fares extremely well at.

Where ASP.NET Core wins hands down is in the memory usage department: By default you deploy using the Kestrel web server, which runs your C# code using multiple libuv (yeah, of lightning fast node.js event loop fame) event loops, all in threads.

With Django I usually deploy as many processes as I can behind uwsgi, itself behind nginx. The problem is that with Python’s garbage collector, these processes end up sharing very little memory, and so one has to take into account memory limits as well as CPU count on servers when considering concurrency.

The long and the short of this is that one will probably be able to process many more requests in parallel with ASP.NET Core than with Django. With uwsgi and Django I have experimented with gevent in uwsgi and monkey patching, but this does not work as well as it does in ASP.NET Core, which has been designed with this concurrency model in mind from the get go. My first memory usage and performance experiments have shown compelling results.

Hopefully more later!

A cadence of accountability

Lately my Deep Work habits have taken a bit of a hit. At first I could not understand how to address this, until I remembered mention of a cadence of accountability in The Book.

Taking a quick look at that post, I understood what I had forgotten to integrate with my habits. Besides just doing the deep work, it’s important to “keep a compelling scoreboard” and to “create a cadence of accountability”.

Although I was tracking my deep work time using the orgmode clocking commands (when I start “deep working” on anything, I make an orgmode heading for it in my journal and clock in; when I’m done I clock out; orgmode remembers all durations) I was not regularly reviewing my performance.

With orgmode’s org-clock-report command (C-c C-x C-r), I can easily create or update a little table, embedded in my monthly journal orgfile, with all of my deep work clocked time tallied by day. This “compelling scoreboard” gives me instant insight into my weekly and monthly performance, and gives me either a mental kick in the behind or pat on the shoulder, depending on how many deep work hours I’ve been able to squeeze in that day and the days before it.

The moment I started doing this at regular intervals, “creating a cadence of accountability” in other words, I was able to swat distractions out of the way and get my zone back.

This is an interesting similarity with GTD (which I don’t do so much anymore because focus is far more important to me than taking care of sometimes arbitrary and fragmentary tasks) in that GTD has the regular review as a core principle.

Us humans being so dependent on habits to make real progress in life leads me to the conclusion that this is a clever trick to acquire behaviour that is not habitual: Work on an auxiliary behaviour that is habitual, e.g. the regular review, that encourages / reinforces behaviour that is perhaps not habitual, e.g. taking care of randomly scheduled heterogeneous tasks (GTD) or fitting in randomly scheduled focus periods (Deep Work of the journalistic variant).

As an aside, cadence in this context is just a really elegant synonym for habit. I suggest we use it more, especially at cocktail parties.