Weekly Head Voices #160: Write stuff down.

In the foreground, the mortar and pestle I used to mash together garlic, ginger, a serenade chilli, green cardamom pods, a whole cinnamon quill, one bay leaf, some curry powder for even more oomf, turmeric, coriander, salt and a few cloves. This paste ended up in that blurry red cast iron pot on the coals to result, a few hours later, in a delectable chicken curry potjie.

Welcome to the first WHV of the year 2019 folks!

In what is hopefully just a minor incident and not a portent of calamitous events to come, we have already skipped the first two weeks of the year, which means this WHV looks back at the three weeks from Monday January 7 to Saturday January 26.

I guess this would not be the WHV if we did not start off with some sort of awkwardness or miscellaneous embarrassment, so: CHECK!

Because you are probably thirsty for your WHV now, I tried to write you a long and rambly edition, with pictures! (Because it’s so long and rambly, and because markdown, I have liberally sprinkled with headings and sub-headings, so that those of you with lives outside of blog reading can hop, skip and jump through like the professionals you are.)

The future is here: Long-form blog posts on the iPad.

This also would not be the WHV if we did not have some little digital trick to reveal: Today’s attempt is that this post is being written, for the largest part, on a 2018 iPad (the cheapest one) with an old (also very cheap) bluetooth keyboard.

Because I really don’t like the new block-based WordPress 5.0 editor, named in an entirely non-hubristic fashion “Gutenberg”, but it does fortunately support importing markdown formatted blog posts (just make sure you don’t hard-wrap anything), and because I like trying new things, I am typing this on the iPad using the iOS version of Textastic.

A few hours ago, it looked like this:

In contrast to the direct orgmode to wordpress Emacs workflow I normally use, this workflow enables me to copy and paste sections of markdown text into WordPress. Each pasted section is automatically imported as WordPress blocks, based on the markdown structure.

This means I can position and edit images using the WordPress interface, but author the text using Markdown. With org2blog the whole post, including images, has to go through life as an orgmode file, which is brilliant for my more technical posts, but not so much for prose-heavy blog posts such as this one.

BTW 1: Why I don’t (yet) like the new WordPress editor.

The old WordPress editor enabled me to focus on the content and just write.

The new Gutenberg editor now wants me to create a bunch of blocks, e.g. paragraph, image, paragraph, bullet list, etc., and then work with those blocks.

That’s really great if you’re building a site, but not so much when you would just like to get down and write that blog post.

Although this is now the standard editor in WordPress, there are still bugs, such as the fact that my cursor keeps on jumping to the start of the block while I’m typing, which is not irritating at all, and the not unimportant observation that none of the mobile apps support Gutenberg yet.

WordPress-using readers, what do you think?

(P.S. Another just-discovered issue: In Gutenberg, your biggest heading is H2. H1 is not available in the UI normally. When pasting in markdown, H1s do display, but do not show in the type-UI as anything. Here is a confusing Gutenberg bug report.)

BTW 2: Why Textastic? (AKA At least it will syntax highlight your Orgmode.)

The main reason I found and purchased Textastic, was that I ran into Jez Cope’s github repo with a TextMate Bundle (that’s an editor configuration) that was made for Textastic to support editing Emacs orgmode files.

As is the age-old open source way, there were a few small bugs which I fixed in my fork, which you should definitely get if you are in the same I-want-to-edit-Orgmode-on-my-iOS boat as I am. It’s not a very large boat, but it’s super fun!

(There is no Emacs on iOS. This is in my view the greatest downside of iOS. It turns out that Apple generally does not allow apps with embedded interpreters on the app store. However, I am still trying to find out why there are no iOS-capable Emacs source code forks available.)

BTW 3: The iPad with keyboard is a shockingly good laptop replacement.

I recently recommended to a privacy-conscious reader who was searching for an affordable Linux-running laptop in South Africa, that she instead consider buying an iPad with bluetooth keyboard.

Down here a brand new 2018 iPad costs R5999. A cheap keyboard cover (e.g. Body Glove) can be had for about R860.

If you compare this to any new laptop of R6900 (about EUR 444) which will probably be sold with Windows included, you get a computing device with a fantastic quality multi-touch screen, great battery life, best-in-class security, almost no maintenance, and a fantastic app ecosystem. To seal the deal, the iPad’s resale value is proportionally probably also much better than that entry-level laptop.

After I sent that email, I started with this iPad + cheap bluetooth keyboard experiment to try it for myself. I have to say that the experience has been way better than I expected.

For a large subset of laptop users, and for a large subset of workflows and tasks, this is a really great solution.

Please don’t worry (too much) yet, I am not planning one of those “I switched to an iPad as my main computing device” blog posts. I would not be able to survive without my development tools, and I would especially not be able to survive without my Emacs.

PV Solar installation progress

As I excitedly announced in WHV #159 (slightly more than a month ago), we had decided that it was time to get a photovoltaic solar power system installed at the house.

I found a local installer with the required PVGreenCard accreditation and started the consultation process.

Unfortunately, the installer did not seem to be prepared for a customer that would not stop asking questions. The customer even went so far as to pose questions that challenged the installer’s brand loyalty!

I really do understand that I’m probably not the easiest end-user, but I don’t think that an expert’s brand loyalty should get in the way of reason, and far more importantly in the way of basic physics.

To make a long story short, I ended up getting fired by the installer.

This was probably for the better: He can now continue doing well-practised installs for other clients who don’t ask (so many) questions, and I suddenly had the opportunity to find a new, more engineer-friendly installer, and to continue learning.

Following are two noteworthy learnings:

Learning 1: You should almost always try to oversize the photovoltaic array

If the equipment states for example 4600kVA, then you are usually quite safe installing from 25% up to 30% more kWp of solar panels.

Oversizing will mean that on very sunny days you’ll get peaks higher than the maximum rated PV, which can be handled for short periods by the solar equipment, but more importantly, you’ll be able to generate more electricity when there is less sun, which is most of the time.

In other words, you increase the area under the curve of kW generated per hour.

By the way, I emailed GoodWe (they make the hybrid inverters I have my eye on) who confirmed that their EM range supports 27.8% oversizing. The ES range advertise 30% PV oversizing on the box.

It is of course an interesting question what exactly is meant by oversizing. Do they support pumping 30% more power into the inverter for 5 minutes, or for 2 hours?

Learning 2: powerforum.co.za is a great source of information.

This forum has a surprisingly high signal to noise ratio.

There are a number of experts hanging around, including one of Victron’s super helpful and knowledgeable R&D engineers, and the archive posts are invaluable as you try to navigate the quagmire of often conflicting information.

Avocado baby progress: Very much touch and go.

The baby avocado tree, in spite of being being watered almost every day (thank you rainwater harvest!) does not seem to be doing too well.

Because the summer sun down here can be quite vicious, the tree has its own little pink umbrella.

The current plan is to feed it more compost, and, if that fails, to try to transplant it out of the big, wild garden and into a pot with softer, kinder earth.

How to explain complicated topics

The international and yearly Machine Learning Summer School took place in Stellenbosch this year, from Monday, January 7 to Friday, January 18.

As you can see from the programme, there were a bunch of heavy hitting speakers present both physically and virtually, including the super resourceful (failed super resolution pun, su(p)e(r) me) Dr Stefan van der Walt, who gave a talk on good scientific software.

Anyways, because I am currently in a more commercial configuration, I could not justify taking two weeks out, and instead opted for a day visit at the start of the congress.

It is a testament to the current prominence of the field that the list of international sponsors included Microsoft, Apple, SAP, Uber and Amazon.

It was gratifying to experience a sampling of such a well-organized international gathering here in my neck of the woods.

On the first day, we had a high throughput introduction to causality, probabilistic thinking, and variational inference. All the presenters were clearly good speakers, but they weren’t all equally experienced in teaching such complex material.

(At one point one of the statisticians I was chatting to in break admitted having difficulty keeping up with the math. I did not feel that stupid anymore.)

“What is the difference between being a good speaker and an experienced teacher?”, you might now ask.

Great question, I would then say, grateful for the opportunity to explain.

What I was missing in the one specific case I do not want to be too specific about, was that the presenter did a great job of talking about each of a long list of concepts relevant to his topic, but somehow forgot that one of the most important parts of teaching is communicating the conceptual framework into which all of those concepts fit.

Conceptual frameworks are also one of those multi-scalar things: Each group of factoids can be gratifyingly embedded into a slightly higher level component, groups of which can be slotted into the overarching “big idea”, or another level of compnonent. (It’s turtles all the way down.)

As great lecturers talk, they keep on bringing their narrative back up to the higher-level embedding construct.

It looks something like this:

Yes, I did make this especially for this post, especially for you. No, I am not sure exactly why.

By repeatedly diving deeper into the details, and then following the conceptual link back up to the higher-level constructs and especially your big idea, your listeners will start to see the beautiful fractal of understanding that you are guiding them through.

What will I be working on this year?

At this moment, 2019 is shaping up to be pretty exciting work-wise.

We just heard that we will be able to continue for some months more working on the X-Ray based surgical planning project we worked on last year.

Partly thanks to the great deep learning work of two summer interns (note: Southern Hemisphere means summer interns over December and January, which might be weird if you’re from the Northern Hemisphere) we are in great shape for all of the deep neural network-based image understanding plans we need to execute on.

This year I will also be spending more time on TeleSensi, our FDA-certified tele-auscultation product. This is less rocket-sciencey than the surgical planning project, but super interesting to work on, as it has many more users on the open market.

(That being said, we do have plans to increase the level of rocket science significantly. I am not called the science officer for nothing… (well, that and also the fact that I got to choose my own title, and so I chose the same as Spock on the USS Enterprise).)

Do you write stuff down?

You might remember from WHV #155 my trick of starting the day with a checklist.

A part of that checklist is a checklist of habits which I try to form and maintain, called The HabitFormer(tm). Every item that I sufficiently address gets a super satisfying little [X] mark, which feels a whole lot better than the sadly empty [ ] construct.

Here is the current list:

  • did you write stuff down?
  • are you satisfied with number of pomodori?
  • 7.5 hrs sleep last night
  • meditate <– (WHV hidden pro-tip: Get the Waking Up app by Sam Harris. Thanks LM for the fantastic recommendation.)
  • stand at desk
  • do valuable things
  • fruit & veg
  • reading
  • thinking
  • running or other exercise

Ironically enough, the first item is brand new on the list.

I somehow forgot my habit of writing, during the day, a little done list / random thoughts lists. After bringing this habit back I noticed what difference it made.

At regular intervals during the day, I will spend a minute or three writing down what I had completed, or what I was thinking. This moment of introspection would either result in a pleasant bit of satisfaction with some small task taken care of, or, more often, it would reel me back in from a spot of less than deliberate action and enable me to bring back my attention to the point of focus.

I’m filing this under “101 tricks to get your rider back on your elephant“.

Alright friends, thank you very much for joining me on this part of my journey. I am looking forward to our next interaction!

Weekly Head Voices #143: The rider and the elephant.

Pretty autumn sunset. A few metres below, the ritual weekend-starting braai was picking up speed.

Welcome back kids!

Besides this post, which somehow turned out to be longer than I expected, my more nerdy alter ego also wrote a post titled Interactive programming with Fennel Lua Lisp, Emacs and Lisp Game Jam winner EXO_encounter 667.

#DeleteFacebook, part deux

In an unsurprising (to me) turn of events, the Cambridge Analytica scandal has not even caused a dent in Facebook usage.

#deletefacebook, also discussed in a previous edition of the WHV, never really happened.

To the contrary, it seems people even increased their usage, post-scandal. FB share price is back where it used to be, and as an interesting data point, Deutsche Bank reports that their FB-based advertising reach was unaffected by the removable of more than 500 million fake facebook accounts.

Should we deduce anything more from this than the usual 1. humans, even outraged ones, have really short memories and/or 2. most people don’t have the energy to resist, or the presence of mind to avoid, the deeply-seated social desires that are being exploited to varying degrees by the large social networks?

My personal strategy for a while now has been to make liberal use of the unfollow and the mute functions. It’s far from perfect, but with this it is possible to reduce drastically the stream of incoming information, and to make sure that what does come through has to do with friends that you have made the deliberate choice to connect with actively.

Shorter focus blocks work better

In my eternal and sometimes decidedly Sysiphean quest for more and better work focus, I recently started using Focus App (see Pro Tip #2 in WHV #126).

In short, when you activate the app’s focus mode, it kills off and then blocks anything that is remotely fun or even slightly distracting on your computer. This includes websites and applications.

In the beginning, I was enjoying longer (1 to 2 hour) focus blocks.

However, more recently I started noticing a certain recalcitrance in my focus-starting hand.

Especially late in the afternoons (prefrontal cortex GONE by then, remember?) the knowledge of that mega-block of mental exertion would result in highly undesirable procrastinatory behaviour. (Big words for “oh, I can probably fit in one more /r/emacs post!”)

Anyways, it turns out there’s another really good reason that pomodori are only 25 minutes long.

It’s much easier to start a 25 minute block of no-fun-focus, and then get stuck in the zone, than it is to start what your brain expects to be a multi-hour block of mental exertion.

Friend PK introduced me to the tiny rider trying to control the giant elephant as a metaphor for the conscious and unconscious mind (this is from the book The Happiness Hypothesis). The shorter focus block idea seems like it could be filed away under “tricks to control your stubborn elephant”.

The evolving soul of Emacs

I came across this really interesting piece by Richard Stallman about the origin of Emacs, one of my favourite and probably most-used technical artifacts. It’s the multi-tool of computer software.

But, along the way, I wrote a text editor, Emacs. The interesting idea about Emacs was that it had a programming language, and the user’s editing commands would be written in that interpreted programming language, so that you could load new commands into your editor while you were editing. You could edit the programs you were using and then go on editing with them. So, we had a system that was useful for things other than programming, and yet you could program it while you were using it. I don’t know if it was the first one of those, but it certainly was the first editor like that.

When an experienced user interacts with Emacs, they change it, and it changes them.

The opposite of instant gratification

On Friday I started on a slightly longer than usual run.

It usually takes a kilometre or two before all of my running subsystems come on line, and I find my rhythm.

Not this time.

The acclimatisation discomfort in my ankles and calves didn’t fade away as it usually does. My breathing and running cadence stubbornly refused to lock on to their usual correct settings.

My legs felt tired.

It really felt like I was not supposed to be running at all, but I pressed on because at that point there was not much else I could do.

At the turn-around point (the bridge at the entrance to Vergelegen, with beautiful trees all around) I decided to try out some youtube advice from the evening before and do a few deep squats to freshen up my legs.

I started running back on legs and calves and feet which suddenly felt like they had all been replaced with brand-new rested versions of their 2-minute-ago return-to-manufacturer selves.

The rest of the run was of the floating over the ground how-is-this-possible my-smile-might-break-my-head variety.

Super strange.

I don’t think the squats did it. That was just a sort of thought-process punctuation which somehow distracted the mind-elephant for long enough to get me running again.

Anyways, as I was floating home, I could not help but see the whole occurrence as a fairly physical but in this case fortunately quite compact reminder that some of the most worthwhile experiences simply require perseverance with initially no gratification in sight.

Life is a marathon

… so sleep well, eat as healthily as you can, exercise, and try not to stress too much.

We’re in this for the long haul.

Weekly Head Voices #130: TTAGGG.

Lovely summer’s day. Not much rain.


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!