Weekly Head Voices #142: Theory of mind.

Autumn is really pretty down here.

We’re getting back on track with the WHVs friends!

In the hardly started tradition of writing blog posts in music-backed focus blocks, I have my “upbeat thinking” playlist teed up and ready to go. The outline of this post formed itself as a Real Bullet List(tm) in my Emacs about an hour ago.

Let’s go.

They grow up so fast

Theory of Mind, or ToM, is an important mental capability that we use to model and predict the thoughts and desires of fellow humans.

Just the other day, as we were going through our school morning ritual of the offspring units eating breakfast together and the adults self-administering the correct number of espressos required for normal functioning, GOU#3 calmly informed me from her mother’s lap:

Daddy, mommy would like another biscuit with her coffee.

Genetic Offspring Unit #3 only very recently turned 2.

With this request, she demonstrated surprising levels of ToM and planning ability. She inferred, entirely correctly,  what her parental unit required at that moment, and performed exactly the correct action (delegation, yikes!) to satisfy that requirement.

I am still suitably impressed.

Sketchnote your life

Sketchotes refer to a type of hand-written notes that employs both writing and drawing techniques. Here’s an example by Emacs guru and famous internet person Sacha Chua:

I’m trying to spend more time dedicated to thinking and so-called conceptualising. Sketchnotes seems like a good tool to use during these thinking sessions, so last week this formed the ideal excuse to go out and acquire a new large Moleskine with blank pages (I used to use Moleskines for all my note-taking before going digital), and a whole bunch of sketchnote-recommended pens (Pilot Hi-TecPoint 0.5 which I already had one of; Pilot G-TEC-C4 for super fine drawing, pen also turned out to have best handling of the lot despite its simplicity; Pentel Energel 0.7mm).

My first session was spent sketching out my current life landscape (thank you KvG for this tip years ago), including work, side-projects and a bunch of developing and potential opportunities, as well as the links between them.

I can report that drawing like this is a great trick to keep one’s attention glued to the page, and hence to the chosen focus, whilst at the same time maintaining sufficient mental distance to process the more substantial  thoughts and all of their interactions.

Telegram has the public group chat market cornered

For private messaging, I have a strong preference for Signal, especially over WhatsApp.

Besides the dubious future of WhatsApp’s privacy (Founder #1 Jan Koum is planning to leave while Founder #2 Brian Acton recently donated 50 million dollars to Signal), the WhatsApp web-app is more irritation than it’s worth. The fact that I have to keep my phone awake and connected to the network is a silly constraint which even the far more secure Signal desktop app does not require.

Anyways, I digress.

This section is about Telegram, another messaging app with dubious security that at least does not belong to Facebook.

Besides all of its stickers, animated gifs, and (non-)useful bots everywhere, Telegram has two additional features which are quiet compelling:

Although it requires a telephone number to be setup, you can configure a username which you can give out to people instead of your telephone number to have them contact you. This adds an extra layer of privacy which is sometimes useful.

More interestingly, Telegram has the concept of “supergroups”. These are public groups which can be joined by anyone if they have the name, and support up to 10000 (yes ten thousand) users.

This is ideal for easily starting special interest groups, and can be seen as a modern and mobile-first form of IRC. The mobile apps are generally really fast and full featured.

Anyways, on a lark we created one such group, called ZA Tech Light, for tech people (aka nerds) in ZA. If you are such a person, or you just like chatting with nerds in ZA, feel free to drop in at @zatechlight. Although primarily lark-based, this could be seen as a sort of splinter group of the much larger (because older) Slack group called ZA Tech.

Running update

Yesterday, I did my second 10km+ run in the Lunas, bringing total sandal running distance to 107km.

I am now back up to my pre-sandal standard running route distance.

That being said, my calf muscles are still complaining quite loudly after every run. The recovery perioud seems to be shortening however, and the calf muscle complaints are less convincing every time.

All of THAT being said, running barefoot- aka primitive-style feels amazing, so much so that although one does keep an eye on things, one does not perceive the above-mentioned muscle discomfort as an issue at all.

Furthermore, the patella strap I previously had to wear during running, to prevent knee pain, has been lying in my cupboard, unused for the past 107km.

The side-project dilemma

Most nerds I know have side-projects.

It’s how we learn new things and keep ourselves constructively entertained.

Up to now, I’ve usually chosen my side-projects not only on the basis of learning, but also based on their business potential. Some of them have indirectly led to revenue, partially through the business-relevance check, but so far never directly. That is, I’ve never brought a side-project to market.

This weekend I had an idea for a pretty obscure side-project. In terms of creativity and learning, and of passion and brain-fit, it scores highly, but in terms of direct business potential quite the opposite.

I’m probably at least going to start, because it’s too much fun not to.

What is your approach in situations like this? Do side-projects have to satisfy any kind of utility requirement? Which criteria do you use to select your next side-project?

Bhayi bhayi

Thanks for reading this far peeps! I hope you have a beautiful week, and that we might meet again at the end.

Weekly Head Voices #135: It’s all rainbows and unicorns, no really!

This rainbow unicorn, floating serenely on a cloudy background, is winking right at you. Down below, we are celebrating GOU #3’s second birthday. Photo taken with the expert assistance of GOU#1, age 11 going on 32.

Hi there friends, welcome back to the weekly (!!!) head voices! I missed you.

Software Release Frazzle

Releasing desktop software, even for a small group of people, can get tricky quickly yo!

Yes, people still write desktop software, and we do love doing it. However, compared to web-apps, there are some additional challenges.

One can’t easily roll-out an incremental fix while no-one is watching, because every release is a significant event where users have to go to the effort of downloading and installing your baby.

It’s a fairly new product, so our release process is still being refined. Long story short, we caught a bug on the release platform (we develop cross-platform, but deploy for a single platform) shortly before release and so we really had to scramble to fix. This, together with the fact that the preparations for the release were already generally intense, left me quite frazzled by Wednesday evening after dinner.

Lesson learned: In a cross-platform development, don’t allow any dependency version discrepancies between platforms, no matter if it causes developer inconvenience.

Unicorns and rainbows

GOU #3 turned 2 on Thursday.

The littlest genetic offspring unit seems to be verbally well developed. She’s already using words like “eintlik” (“eigenlijk” in Dutch, “actually” in English) in fairly well-structured sentences. I have taught her to say phrases like “universiteit” and “lekker internet”, which she does with a smile.

She is able to express her wants and needs at a level which exceeds that of some 30 year olds.

Anyways, yesterday we held a birthday party for her.

It was a fabulously enjoyable affair with far too many delectable delicacies, and more than sufficient amounts of craft beer and good wine (expensive local Chardonnay is my current preference, if you must know).

It was beautiful to see so much of the family together in one place, all connecting like we humans should be doing as often as we can, but often don’t.

Thank you little GOU #3, for everything.

Your complimentary grab-bag of interesting cocktail party conversational tidbits

Trump / Brexit voters were scared.

In my 2016 to 2017 transition post, I lamented the observation that for both Brexit and the Trumpocalypse, a lower level of education was the strongest indicator for a vote for leave and for Trump respectively.

A new study by the Queensland University of Technology has now shown that in both cases the vote for Brexit / Trump was also driven by fear. It also makes the scary point that the respective campaigns deliberately targeted this fear, which is more than worrisome.

Use this tidbit with care, or right before you were planning to leave the party anyways.

How to defend your exercise addiction

A recent study published in Aging Cell, showed that older people who exercised regularly (in this case cycling), had the same levels of T-cells as 20 year olds. In other words, their immune systems are as effective as people a fraction of their age.

One of the co-authors of the study, 82-year old Prof Norman Lazarus (who himself cycles 100km at a time), summarised it neatly in the media as follows:

If exercise was a pill, everyone would be taking it. It has wide-ranging benefits for the body, the mind, for our muscles and our immune system.

(I like how he casually takes aim at our pill-obsession.)

The Carmack Productivity Method (CPM)

John Carmack is the modern-day genius who was the lead programmer of genre- and era-defining games like Wolfenstein 3DDOOM (“one of the most significant and influential titles in video game history”) and Quake. During working on these projects, he invented a number of important computer graphics techniques.

It turns out that Carmack is not only a genius, but a productivity and focus monster.

In this 2013 blog post, a colleague of Carmack at id Software describes how Carmack would apparently play CDs while he was working. If he was checking his email, or if he was interrupted by a colleague, or he needed to go to the bathroom, in other words, if he was not focusing on the core of his work, he would pause the CD player.

By the end of the day, he knew exactly how much focused work he had done by how far he had gotten through his playlist.

Compared to the interrupt-driven way programmers work today (thanks internet!) this sounds like an amazingly visceral way to recognise and signal interruptions in your flow: THE MUSIC SIMPLY STOPS.

Would you be able to implement something like this for your work?

À bientôt

Thank you very much for stopping by! Have a productive week, and don’t forget to exercise.

I look forward to our next meeting.

Weekly Head Voices #134: SCARF.

Untitled artwork by GOU#2 (age 7), who is also known as My Most Favourite Middle Child.

I somehow forgot to take photos this past week. At the very last moment, GOU#2 delivered, as if commissioned, the piece shown above.

The WHV visual element lives to fight another day!

The rest of this post is divided into three parts: One for the programming nerds, one for the running nerds and one for the arm-chair psychologists. Feel free to pick and choose!

C++ quo vadis?

This week, we spent more than a day chasing an elusive memory-related access violation (big words for “crash”) in the software we recently released.

In the end, the bug was only really reproducible on Windows 7 (not on Linux, not on macOS, and only with great difficulty and infinite patience on Windows 10). It turned out to be hidden deep in a well-tested, industry-backed open source C++ library.

This and the specific nature of this bug again demonstrated to me that C++, although I love it dearly, simply has too many well-disguised flaws (let’s call them foot-guns) which will eventually lead to even the most experienced and sharp programmer making mistakes.

In spite of the recent language renaissance (C++11, 14, 17 with 20 imminent) and a slew of improvements, it’s still too easy to write unsafe code.

With contenders like rust (rustlang AJ, rustlang!) which enable programmers to write programmes which have C++-level performance but are by default safe, could C++’s days be counted?

Run

It was time to retire my trusty pair of Asics Cumulus 18 shoes.

They had clocked just over 900km, which is perhaps a little too much. By the end, I could feel the bones in my big toe’s main joint (apparently also known as the big-toe’s MTP or metatarsophalangeal joint) crunching down with each strike.

Normally not prone to these types of visits, I had no choice but to pop out to the Run Specialist Store in Edward street on Thursday to get a new pair of activity-proof foot covers.

They let me run on a treadmill (whoohooo running!) with a high-speed video camera. In the footage, we could see that indeed my conversion to forefoot running had been successful (which was good to hear, because it had cost me about 100km of pain), but that I tended to land on the outsides of my forefeet.

The minimal shoes I had had in mind were not (yet) to be.

Instead the run doctor prescribed a pair of Saucony Kinvara 8s, which make my old Asics look like previous generation gardening shoes. I’ve since taken these out on two runs. They are super light, and super springy (everun FTW?), but I have to say that I have my doubts about the durability of the outsole. I’ll report back.

In February, I’m pretty happy that I managed to squeeze in just over 110km of running, which is not too shabby (by my standards, as always!) for the short month.

SCARF

Yes, winter is coming, but this, although also quite useful, is not that type of SCARF.

I am still reading David Rock’s book Your Brain at Work, and SCARF is his mnemonic for Status, Certainty, Autonomy, Relatedness and Fairness.

These are five social needs, the threat or confirmation of which can have profound effects on humans.

If you feel that you are being unfairly treated, for example, this triggers a low-level threat response which fundamentally complicates dealing rationally with a situation.

Conversely, if for example an interaction grants you more certainty or even better autonomy, you are magically able to contribute significantly more cognitive capacity and creativity to that interaction.

Both the fundamental threat and reward responses go for all five of these qualities. Once you know what to look for, it’s easy to go through some of your memories and to see where one or more of the SCARF needs played a role.

Although one (hopefully) mostly intuitively integrates this in one’s daily dealings, I think it’s super useful being able to enumerate the SCARF social needs like this. It helps when managing oneself in any situation (especially when your prefrontal cortex is exhausted, which is just about always), and it certainly helps when you might find yourself in position where you are able to contribute to another human’s well-being.

The end

Have a great week friends, I hope to see you again soon!

P.S. if there are any arduino uno -> hardware serial -> xbee experts in the audience, I would like to have a word. (sparkfun shield. with software serial can talk to xbee. with hardware serial, and sparkfun switch in the right position, xbee won’t respond. uno is a robotdyn clone.)

Weekly Head Voices #132: Potato deadline.

Fragment of potato skin, taken with phone camera through GOU#2’s microscope at 100x.

We have a serious deadline coming up on Tuesday, so I’m going to make these few WHV minutes count.

BULLET LIST TO THE RESCUE!

  • Day zero has again been postponed, this time to June 4. We continue with our water saving efforts.
  • That unexpected side-project I mentioned in last week’s post did end up going live that very night. Armed with the Django Rest Framework and plenty of battle scars, it took about 17 hours from idea to fully deployed REST API, a large part of which was debugging the paper’s math and spreadsheets.
    • Django might be a slow runner relative to some of the other kids on the block (go with any of its web frameworks, nginx with openresty (lua right in your web server!), even apistar with uvicorn), but the completeness and maturity of Django and its ginormous ecosystem are hard to beat when it comes to development velocity.
  • There’s a whole blog on the nature of note-taking. I arrived there via interleave and org-noter, both emacs packages for keeping text (orgmode) notes synchronised with PDFs, both found via irreal, a great Emacs blog.
  • In the extra lessons I have with GOU#1, we studied electrical current from basic (atomic) principles. As I was getting all excited about the outer electrons being passed on from copper atom to copper atom (Khan Academy and I tag team these lessons), GOU#1 had to laugh at the goose flesh on my arms.
    • The Khan Academy lecture seemed to imply that Benjamin Franklin started us down the not-quite-correct path of conventional current (from positive to negative), whereas the electrons being passed on imply current flow from negative to positive, aka electron current. However, this physics StackOverflow answer more completely explains that current is defined as the flow of electric charge, with electron flow being one example, and hence both directions are correct.
  • To be honest, I became ever so slightly irritated with an episode of one of my favourite podcasts, CPPCast, as the guest said “like” so often that I had trouble following what he was actually like trying to say. This like led me to using Google’s machine-learning-based speech to text API one night to like transcribe the audio of the podcast to speech so that I could like count the number of like utterances. There were not as many as I thought, but still a whole lot. If you’re curious as to the stats, I wrote everything up in this nerdy vxlabs blog post.
    • On the topic of note-taking: Because I make lab notes of everything in my Emacs, including late night speech recognition experiments, publishing a blog post is a question of some copy pasting, and then telling Emacs to publish to the blog.
  • On Thursday, some dudes came to my house and, after somehow switching seamlessly from pick-axe to optic fibre splicer and back several times, left me with this (and more):
Two fibre strands into my house. They tell me one is for backup.
  • These are strange Gibson-esque times when there’s now permanently a laser transmitting all of these packets to you via the network of glass strands encircling the Earth, whilst many of us are still struggling to grasp the difference between fact and fiction.
    • “The future is already here — it’s just not very evenly distributed”, William Gibson, probably ’93.
  • We have a new president: President Cyril Ramaphosa! He was Mandela’s choice to become president of this country, but it was Thabo’s turn, and then things went pear-shaped with Zuma. Years later, the situation is quite dire, but so far there are many indications that Ramaphosa has the makings of a great leader (I have become convinced that we humans, all of us, need great leaders to advance as humanity; I hope to write a post about that some day). After Friday’s state of the nation (SONA) address by present Ramaphosa, I, along with many fellow South Africans, are hopeful for our future.

Ok peeps, have a wonderful week! I’ll see you NEXT TIME!

Weekly Head Voices #120: May you live in interesting times.

(Warning: Due to the momentous events of the past week, this post is 80% South African politics. If this is not your thing, eject right before the large warning further down! Maybe next week we’ll be back to our usual programming, all depending on how above-mentioned momentous events play out.)

Between all of the retinal excitement of the (gorgeous) new Justice League trailer and the release of the new Ghost in the Shell movie (pretty but soulless the reviews seem to be saying), you might have missed the new Valerian trailer.

This would be a shame, because it looks mind-expandingly stunning:

On Tuesday, March 28, 2017, when I arrived home and Genetic Offspring Unit #3 (GOU#3 for short) saw me, she all-matter-of-factly stood up and walked towards me.

My heart burst.

WARNING: What’s happening in SA politics at the moment, in 60 seconds.

One would think that one heart bursting per week is sufficient, but on Friday morning this happened again for unfortunately far less than positive reasons.

We woke up to the news that our president Jacob Zuma had fired 9 ministers shortly before midnight.

Capable ministers, especially so Pravin Gordhan, the minister of finances (who was doing a great job trying to steer our fragile economy in the right direction, often opposing deals that were bad for the economy but great for the pockets of Zuma and his bosses, the Gupta brothers) were replaced with ministers who might indeed be capable, but have clearly been selected not for that but rather for their loyalty to the Zuma network.

Amongst many other ramifications, this also means that the 1 trillion Rand nuclear deal with Russia is officially back on the table!

This was one of the many unhealthy projects blocked by Pravin Gordhan.

Besides crippling our economy and enriching Zuma, his patronage network, and the Gupta brothers (they seem to be pulling many of the strings, including those of Zuma), we really don’t need these power plants.

Our country’s renewable energy programmes will be able to supply all of our energy needs in a cost-effective way for decades to come, without any new nuclear plants in sight, thank you very much.

Nuclear power certainly has its place, but under these circumstances definitely not.

This cabinet reshuffle is the most recent in a long line of increasingly destructive moves by president Zuma and his supporters. The country is still reeling from the billions of Rands that have been and are still being extorted from the poorest of citizens by a foreign company, all right under the nose of minister Bathabile Dlamini.

Guess who did NOT get fired on Friday?

Loyalty seems to be sufficient to cancel out any amount of malice, greed and/or incompetence.

However, people in the know expect serious fireworks the coming weeks.

I am hoping that they are right, and that these will be the right sort of fireworks. With a bit of luck and the willingness of many good-hearted and talented people who have started speaking out and coming into action, our country could soon find itself with the kind of leadership that it desperately needs.

Keep your fingers crossed. I look forward to seeing you on the other side!