Weekly Head Voices #138: Born to run.

I am currently in a place with no to extremely little internet. Just getting the photo above uploaded was an adventure.

I briefly debated breaking my current WHV posting streak due to exceptional circumstances, but decided against it, at least for now.

Anyways, I might have no internet, but the scenery here is phenomenal.

(It later turned out that just getting this blog post uploaded on Sunday evening was not going to happen.)

Sometimes focus falls and slips into Emacs

During the past week I had a fairly difficult technical puzzle to deal with. It’s one of those puzzles that can only be solved with multiple days of research and concerted focus.

It’s funny how my mind manages to sort of slip away when faced with these sorts of puzzles where the solution, if it even exists (this is probably the main reason for the continual slippage), seems to be weeks away, instead of a few hours or days.

It’s like a usually sharp(ish) knife which simply refuses to bite into the thing that I so desperately want to cut with it.

In my specific case, especially later in the afternoons when prefrontal cortex is long-gone, mindlessly drinking its beer while staring into space somewhere, or even later in the evenings when everyone else is also drinking beer while staring into space, I wake up to find myself working on some obscure Emacs hack.

This week, primary thought slippage resulted in:

  • Hooking up my emacs, via helm-for-files with mdfind (the command-line interface to spotlight) on macOS and the tracker file indexer on Linux. This means that with a simple press of the C-x c o keys, I can instantly open any file in Emacs which is already open somewhere, which I’ve recently worked on, whose filename faintly resembles what I’m typing, whose contents (or tags) faintly resembles what I’m typing, no matter where that file is hiding in the hundreds of gigabytes on my SSD.
  • My efforts getting the above working for Linux are now part of helm, via the wonderful system of github pull requests.
  • Setting up Emacs dired to do rsync-based network copying in the background, which culminated in a github contribution which will hopefully also find its way into the main repository soon. (I do most of my serious file management in Emacs dired. You should try it.)

The Running People

I finally bought Born to Run by Christopher McDougall.

In between travelling and other activities, I was not able put this book down.

As I was reading the final pages on Sunday morning, I had trouble keeping my eyes dry. I had connected with the story and all of its nested stories on so many levels.

One strand of the story makes the case that humans, or more specifically homo sapiens, had evolved to run its prey down on the savannah.

We are able to cool ourselves down during running thanks to being mostly hairless and sweaty, whereas an antelope is not able to pant while galloping, and has no choice but to stop.

So the trick is simple: We can run fast enough to keep a galloping antelope in sight. Eventually it will lose the battle, overheat and collapse.

This is what homo sapiens did for millions of years for food. Homo neanderthalensis, our intelligent and stronger competition who used to dominate during colder times, had no chance.

McDougall connects with a number of scientists and sports trainers to flesh out this part of the story. Below is an interesting (and related) video about Prof Daniel Liebermann and his work on the evolutionary biology and biomechanics of barefoot running:

(Being internet-deprived, I’m not currently able to find one of the cited Nature papers discussing other elements of our biology underlining our running heritage. Remind me in the comments so I can update this later.)

Another strand of the story is about the Tarahumara of Mexico, also
known as Rarámuri
, or The Running People, a legendary tribe of natural super athletes who are masters of avoiding other humans (due to past persecution and other shenanigans) and of running 30 miles in the mountains, in sandals.

Even more intriguing than their home-made sandals, is that they run throughout their healthy lives with joy and exuberance.

The final strand I want to mention here, is McDougall’s personal journey from injury-prone runner all the way to finally taking part in the very first edition of a gruelling 50 mile trail race (the centre-piece of the story I would argue), together with the world’s best ultra marathoners and the Taramuhara in the Copper Canyons of Mexico.

For a large part of this journey, he and a number of other key actors are propelled along by Caballo Blanco, the White Horse, a supernaturally gifted runner who lived off the land in the Copper Canyons, and one of the few foreigners who seemed to be completely accepted by the Taramuhara.

Caballo is the one who managed to bring together, for the first time, the Taramuhara and the best ultra-marathoners in the small town of Urque for this humanity-affirming 50 mile trail run. He did so from his stone hut in the middle of nowhere, from where he would have to run for 30 miles to the closest settlement that had a telephone line that he could use.

Often that line was down.

Caballo passed away in 2012, shortly after the first Copper Canyon race. Shortly after, the race was officially dubbed the Ultramaraton Caballo Blanco.

Right after I put the book down, I put on my shoes and went for a run
up the mountain-side and in the valley over here. On the balls of my feet as they landed right under me, really small steps, straight back, trying my best to float over the earth, just like the running people in the book.

I could not help but smile for most of the way.

 

Weekly Head Voices #137: Let me mine your metadata.

Winter is coming, somewhere on the R44 between Betty’s Bay and Gordon’s Bay.

Wisdom from the Twitters

Let me start this week’s edition with something that a friend forwarded, quite ironically, from the dark underbelly of the internet, also known as “twitter”:Daily activities to avoid: - Consuming endless (news) feeds - Discussion w/ anyone with a big ego - Thinking without pen & paper - Arguing on Twitter - Mindlessly saying yes to meetingsMost of these resonate with me, except for arguing on twitter.

This is not because I disagree, but rather because I sort of went cold-twitter-turkey about a year ago, a departure which has had only positive effects on my humanity, as well as on my trust in the goodness of humans.

I still sometimes slip and fall into arguments on other platforms,  where the same advice unfortunately holds.

#DeleteFacebook?

On the topic of online arguments, I would like to bring the next interesting conundrum to your astute attention.

There is at this moment quite some internet rage due to the details that have been revealed about the extent to which the company Cambridge Analytica managed to exfiltrate social network data from facebook, in order to perform extremely targeted advertising and hence psychological manipulation to get vulnerable users to vote for Trump, and to vote for Brexit leave.

Readers of this blog might remember that I already talked about this exact issue one year ago to the day. I even cited this early article in The Guardian mentioning Robert Mercer, Bannon, and Cambridge Analytica and their role in geo-political interference.

At this point, I hope you will allow me a quick two-pronged educational intermezzo:

  1. Do read my posts carefully, and you too can be all like “I knew that a year ago you silly muggles”.
  2. Probably more importantly, read The Guardian. (I would like to thank the brilliant Dr Ed Chadwick for introducing me to The Guardian so many years ago in Delft and/or Amsterdam, over either a pint of Irish stout (which he also introduced me to) and/or a Trappist.

Anyways, back to my rant.

So the internet is angry (years too late), and everyone and their mom is telling each other to #DeleteFacebook.

I too disapprove in the strongest terms of what Cambridge Analytica and its backers did (besides the immorality of the approach, conservative thinking is really primitive), and Facebook facilitated.

However, I also think that we find ourselves in a tricky baby-with-bathwater situation.

Let me ironically summarise the two main points from a comment I posted on Facebook:

  1. What happens when the clever / privacy-conscious people leave facebook? It becomes an even bigger echo chamber for the uneducated. Is it not our duty to come and fight with a vaccine denialist, or a conservative or someone who is in some other way unenlightened now and then? (instead of arguing, you could also choose a more socratic approach, or just be that persistently cool perfectly rational actor in any discussion)
  2. What replaces facebook as the admittedly flawed but largest virtual human gathering ever? Related to this: Facebook is the most accessible publication platform we have ever had. More people have a voice and can be heard than ever before. Do we really want to take that away?

Let me know in the comments what you think. I promise I’ll only mine a little bit of your metadata.

New arduino blog posts at vxlabs

My arduino – artwork journey continues. Over on vxlabs I have published a short post on the itead shield 3.3V jumper, and a much more interesting post showing a barebones solution (i.e. no additional software) to using the JetBrains CLion IDE for Arduino sketch programming.

I hope that these help future travellers on their quest.

WHV Film Club: Blade Runner 2049

The original Blade Runner was an important part of my upbringing.

This weekend I, up to this point 100% unspoilered, finally got around to watching all but the last 30 minutes of Blade Runner 2049, and I was utterly blown away.

It’s true what they say: You can take just about any scene from the movie, and look at it like you look at a painting. The scenes are thought- and emotion-provoking.

Without giving anything away, the story is an amazing example of how great science fiction is the perfect mechanism for making us think deeply about strange but extremely relevant human situations.

Tot gauw

Over the past few weeks, these blog posts have played a small but necessary role in more than one high quality human connection.

Each time this happens, the time I spend here feels like it has been rewarded 100 times over.

I thank you, and I look forward to the next time that we may meet.

Weekly Head Voices #136: Slightly more than nothing much.

The majestic view from Bodega onto the Dornier cellar and the Hottentots-Holland mountain behind it.

Welcome back peeps! Make yourselves at home.

It seemed that nothing much happened during most of the week, but I started writing anyway. It turns out there was slightly more than nothing much. Writing stuff down does have its perks.

vimium

Pro-tip of the week: Install vimium. It’s a chrome extension which enables you to SURF THE INFORMATION HIGHWAY with just a bunch of keyboard shortcuts.

I avoided this for the longest time because it has the word “vim” in its name, but I was wrong.

I can now waste time on reddit, twitch and youtube 73% more efficiently, every day.

nerd works

As far as I can remember, my work week was pretty straight-forward.

I started implementing PDF reports again, but for a different application. wkhtmltopdf is now magically broken in different ways from the previous time. Compared to bundling and maintaining a stripped-down TeXLive, or paying the $995 license for pdftk with which PDF forms can be programmatically filled in, this is the best choice at the moment.

Remember, there are no answers, only choices, even when baking PDFs.

For Most Major Sideproject (MMS) I unfortunately had to do some front-end programming. I say unfortunately, because the back-end is all machine learning and cleverness, and then I smash my little programming clown car into the idiot brick wall that is web frontends. At least react makes the crash slightly less painful, and this time react-router helped me to get my URLs synchronised with app state fairly easily.

Ok maybe it’s not that bad.

My new Robotdyn Arduino SAMD21 M0 boards arrived! This is arduino, but with a 32bit ARM Cortex M0+ instead of the Atmel 328p on the UNO boards. After some more hours of struggling to get Arduinos talking to each other via XBEE radios, I now know much more about programming these gadgets than I ever wanted to.

Mostly due to the very-badly-documented-and-seemingly-unsupported itead arduino-xbee interface boards I’m using, I am closer but have not yet received any cigars. (pro-tip: That extra top 3.3V jumper does more than just control level shifting. It also connects A0, RTS and DIN together. If you think you’re going to use A0 for RTS, your xbee will mysteriously hardware reset every 5 seconds. However, if you disconnect the jumper, your board will hardware reset every 5 seconds no matter what you do. Pro-tip: Don’t buy itead.)

new beer warlord

On Wednesday I tasted a new craft beer (this does not happen very often anymore, as I’ve had almost all of them) during a Top Secret Business Meeting. It’s the War Lord IPA by Darling Brew:

This might even be more metal than their Bone Crusher <INSERT HEAVY METAL GUITAR RIFF HERE>, which is extremely high praise. As IPAs go, I will definitely make this choice again, perhaps  even in the very near future.

part of the weekend never dies

On Saturday and Sunday morning (overnight parties are the BEST parties) we had long-time friends over for a dinner party.

Something like 25 years ago we did the Magoebaskloof hiking trail together. There’s nothing like sharing meals of dried soya (just add water, INDISTINGUISHABLE from meat the packet said), dried mash (“smash” I believe) and dried vegetables during days of hiking through the forest for getting to know each other better.

Besides the hiking, and many student parties, there was also the little matter of me meeting my life partner through this connection. Not unimportant.

Anyways, craft beer (King’s Blockhouse IPA, nice and strong), great local wine (a Chardonnay-Pinot Noir blend which more or less satisfies my “expensive Chardonnay” criterion) and brilliant food (chicken, extremely slow over the fire) acted as the culinary backdrop for naturally flowing and energising conversation.

Thank you long-time friends!

Late morning Sunday we left for a family lunch at Bodega, restaurant at Dornier vineyard. This restaurant has made previous appearances in WHV #76 (July 1, 2014) and WHV #102 (January 20, 2016).

Again I can do nothing other than award it the WHV three thumbs up award! Wine-food-scenery-climate combinations really are amazing.

(I just noticed that the wine which was paired with my Mauritian (no, no Martian fish yet) seabass, and blew me away, also blew me away in 2014. It’s the Donatus White, Semillon-Chenin Blanc blend. External memories FTW.)

let us ponder: wa

Westerners are often very individualistic.

We are brought up with the mission to “be yourself”.

In Japan, there is “wa” (和) which wikipedia describes as: … harmony. It implies a peaceful unity and conformity within a social group, in which members prefer the continuation of a harmonious community over their personal interests. (emphasis mine)

I understand that this has a different set of downsides to our individualism, but group harmony sure sounds nice. Perhaps in the future society we are going to start building soon, we could somehow combine “wa” with a deep respect for the scientific method, and in this way finally transform into the Star Trek Federation that we were promised.

bises

Have a productive but especially harmonious week kids! I hope to see you again soon.

 

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.)