Weekly Head Voices #146: You too can learn Kung Fu.

This post covers the period Monday June 11 to Sunday June 17. Read it to become rich, yawn at Lisp and Emacs, yearn to run free on the wide open plains and to learn Kung Fu. Not ambitious at all.

Front door nearby De Waal Park, in Cape Town. Photo taken on Sunday by GOU#1, age 12.

Social Democracy FTW

It turns out that your chances of becoming rich are the greatest if you had the good fortune to have been born in one of the Nordic social democracies, such as Norway, Sweden or Denmark.

The US trails these countries, at position 13, in terms of per capita individuals with net worth over $30 million.

Being a proponent of social democracy as the most humane form of currently practical human government, and often infuriating conservatives   by pointing out that many crucial aspects of social democracies can be described as socialistic, I really enjoyed the linked TEDx talk by Norwegian Harald Eia.

This material will serve me well as the source of future mischief.

Paradigms of AI Programming in Common Lisp

I am currently working my way through “Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp”, Peter Norvig’s famous 1992 book an artificial intelligence. Although modern AI has been transformed almost unrecognisably since then (THANKS DEEP LEARNING! Norvig’s PAIP retrospective) the way in which Norvig uses Lisp to model and solve real-world problems is inspiring and quite foundational.

It’s not only that though.

My inconvenient but uncontrollable infatuation with Common Lisp also seems to be pulling the strings. I should study a real language which is not 60 years old, like Rust or something.

What attracts me about Common Lisp is the liberated and pragmatic way in which it enables one to mix functional, object-oriented and procedural programming, and, perhaps most importantly, how it was designed from the ground up for iterative and interactive programming.

Tweak the defun, eval the defun, watch the system adapt. This is what I always imagined programming would be like. Except for the Lisps, it really turned out perhaps a bit more boring than it really needs to be.

interleave-mode for working through PDF books

For the fellow Emacs users, I also wanted to mention the utility of interleave-mode for working through such a programming book, if you can find it in PDF format.

In my Emacs I have the PDF on the left, and my interleave-mode-linked orgfile on the right. On any page of the PDF I hit the i-button to add a note in the orgfile, where I can of course insert and execute live code snippets.

The sections in the orgfile remain linked to the correct pages of the PDF.

For programming books this is an amazing combination. For studying other books, having your orgfile notes linked will probably also be quite useful.

On the topic of note-taking: This past week, on Friday June 15 (I made a note of that), I was able to help a colleague solve a technical problem by searching for and retrieving an org-file note, including detailed configuration settings, that I made on May 13, 2014.

Ether as currency

Although I acquired a small amount of the Ether cryptocurrency for the first time in July of 2016, I’ve never had the opportunity to actually transact with it.

Up to now, it has functioned solely as a pretty volatile store of value.

On Saturday, I used some ether for the first time to straight-up buy something on the internet, which was a pretty exciting but in practice an uneventful procedure, fortunately.

The vendor used a payment processor which presented me with an address and corresponding QR code. I scanned the QR code with the relevant mobile app (Luno in this case), paid the requested amount, and waited for a few minutes for it to be multiply confirmed by the blockchain. The sending fee was about 0.04% of the transaction.

Barefoot-style running update

On Sunday I went for a long(ish) run, bringing my total on the Luna sandals to just over 200km.

My feet, ankles and calves are much stronger than they used to be, but the barefoot conversion is clearly still has some ways to go. I have to take at the very least two rest days (instead of one) between runs to give my feet some extra time to recover.

What I have recently started doing, is that instead of trying to micro-manage my form (put your foot down like this, bend your ankle like that, let your achilles tendon shoot back like this, and so on), I am following the advice of some new random person on reddit/r/BarefootRunning who gave the advice, often echoed elsewhere by barefoot-runners, to try and maintain a cadence (steps-per-minute) of at least 180.

That sounds pretty high for a normal person like me, but it turns out that when I do that, and I try at the same time to run as silently as possible (I often just APPEAR right beside someone, hehe), my legs and feet figure out their elastic bio-kinematics all by themselves.

As yet another random reddit expert (I wish I could find the post) quipped:

You can’t overthink proprioception.

(that’s a running nerd joke)

I know Kung Fu

Do you remember this scene from The Matrix (1999)?

The other day at the Old People Reunion, friend T. Monster, a highly capable pragmatist but also backyard theoretician, talked about how often it happened these days that you had to deal with some DIY issue, tapped or spoke the question into youtube, watched a video or two, and then fixed the issue like a pro.

This, along with my recent pseudo-expert repair of a number of stripped cabinet hinge screw holes with tooth picks and cold glue (this works, I kid you not), made me think that, although The Matrix version was perhaps far more spectacular, we in fact now find ourselves in a real, shared reality where a large subset of skills can be acquired a la carte.

Some may take longer than a few minutes, but it still is pretty amazing how far YouTube has managed to democratise so many different forms of modern Kung Fu.



Weekly Head Voices #85: Gone south.

From now on I’m going to try a more fluid weekly blogging schedule. My approach up to now was to try and write up the weekly right after the weekend, at which time,however, I’m usually caught up in the usual start-of-the-week storm of, uhm, possibilities, and hence let the blog writing slip, and once you start slipping it’s a challenge to stop. So now, instead of focusing on the when (the failed after the weekend) I’m going to focus on the how often. Maybe this works better.

This past weekend, we visited Cape Point, the almost-southernmost tip of Africa, and the spot where the Atlantic Ocean and the Indian Ocean crash together for a part of the year. It’s quite beautiful, and always great to have visitors that we can take there. I took this photo of the Cape of Good Hope from the Cape Point side:

Emacs nerdery.

My first significant Emacs Lisp hacking was first blogged by Sacha Chua (Emacs goddess!) and then accepted into the org2blog upstream repository. Nerd-adrenaline-rush!

On this topic, I also published deft-turbo, my fork of the original Deft to support recursive directory searching and now also multiple file types. If you’re into Notational Velocity style note-taking and into Emacs you’ll love this.

I now use Emacs Org mode for my daily note-taking, for blogging (this post is being written in Org mode in Emacs) and since yesterday also for generating beautiful presentation slides using the fantastic org-reveal. (As you might recall, I also use Emacs with mu4e as my email client.)

It’s crazy to think that GNU Emacs was first released in March of 1985, which makes it almost 30 years old, which is practically immortal in software terms, and yet it’s still the most powerful text editor in the world today.

Finally: The cracked phone screen.

After a great number of years using smartphones without covers of any kind (they’re so beautifully designed, why cover that up?) I finally dropped my Nexus 4 from about a metre height because a WhatsApp message arrived and I thought that I could easily fumble my digital friend out of my pocket whilst typing with my other hand.

Apparently I couldn’t.

The screen acquired an impressive new crack, and the digitizer is completely dead. I’m having it repaired, because it’s still a great phone, and Android 5.0 (Lollipop) is being pushed to Nexi 4 worldwide as we speak! (Fortunately I could factory reset the phone using only the hardware buttons.)

In the meantime, I’m using a backup Motorola Atrix 4G. Thanks to Android and much open source hackage, I was able to install Android 4.4.4 (KitKat) on it, in spite of it being a 2011 phone that was practically abandoned by Motorola at the Android 2.3 (Gingerbread) stage.

The end.

If you run into me in CYBERSPACE, and I’m late with a blog post, I give you permission to badger me about it.

Have a great half-week and weekend kids!

Weekly Head Voices #68: Harsh Autumn Weekends.

Noeska’s new weekly status update blog posts inspired me to get mine back on the road again. To be more precise, the observation that I really enjoyed being updated in this fashion with a far-away friend’s exploits hints at the possibility that, somewhere out there, there might be someone who finds it similarly enjoyable to read mine! (Long ago I learnt the trick from Swimgeek, who is still going strong with his weekly updates.)

You know the rules: We write short summaries of our week’s activities, often in the form of bullet lists. I’m going to break both rules this time by rambling on about the past three weeks, and by showing you a bunch of photos I took on the weekends.

I’d like to show you how the autumn weekends here in SA can be quite harsh, but first I need to geek out for a bit (do not fear non-nerds, there are pictures after this brief interlude!):

  • I’m back with Emacs. <3 <3 <3 On my continuous search for the ultimate information organizing system I have now arrived editing the Markdown files contained in a git-backed Gollum wiki with my Emacs 24.3. I even wrote a (nerdy) blog post explaining how you to can configure your Emacs to do language-specific fenced code-block syntax highlighting. Somehow Emacs and I are just getting along much better than we did before my Vim period (dark dark days). I think it’s because I’ve decided to embrace the Lisp, which brings me to:
  • In my copious amounts of free time, I was searching for a functional language to learn. The Erlang tutorial was enjoyable, but I was not too crazy about what I read about the details of deploying Erlang systems. I bought Learn you a Haskell for Great Good and started reading it, but somehow Haskell didn’t tickle me enough. Then, probably infected by having to look at Emacs Lisp again, I picked up the Clojure Programming book. Now that pushed all of the right buttons! I haven’t this much fun with a new language since I picked up Python, and my mind has been expanded at a few points as well (what do you mean the code that I write IS the AST?! (Picture my Neo face saying: “Whoa.”)). Clojure is a Lisp dialect that does a pretty good job of walking the line between beauty and pragmatism. Built on the JVM (and having full interop with the rest of Java) it also has STM (software transactional memory), agents, and async channels all built-in. As if that wasn’t enough, I get to use Emacs with the CIDER package to play with it. (M-x cider-jack-in starts up the Clojure REPL and then… JACKS ME IN.)

Err, I might have exhausted my nerd quota for the week. Let’s do the rest of the Weekly Head Voices in pictures!

Three weekends ago I went to visit the Spice Route farm in the Paarl with family and friends. Besides the coffee roastery, the chocolatier, the winery and the two restaurants, this farm also houses the Cape Brewing Company, a magical place that produces delicious craft beers, which you can taste, and take home with you. The view is not too shabby either:

The view from the Spice Route farm is Not Too Shabby(tm)

On the topic of delicious craft beers, THIS, my dear readers, is The Darling Bone Crusher, another super tasty white beer constructed with much love in the town called Darling:

The Darling Bone Crusher white craft beer
The Darling Bone Crusher white craft beer

… and this is the sun setting on some Milk and Honey, crafted in Knysna (this one is quite good, but their other ale called the Old Wobbly is even nicer):

Craft beer from the land of milk and honey
Craft beer from the land of milk and honey

Lest you think all we do is drink craft beers around here, here’s a photo of the vicious river delta I had to cross during my afternoon fitness activity (this was before we started drinking craft beers again):

Vicious river delta
Vicious river delta

… and here’s a pretty butterfly moth (thanks Stéfan) I just had to take a photo of:

Pretty butterfly in Betty's Bay
Pretty butterfly in Betty’s Bay

On the way back home after another harsh weekend, we were stuck in some sort of traffic jam. After a few minutes inching ahead, we ran into the culprits causing our delay:

Baboons on cars!
Baboons on cars!

(Yes, those are baboons sitting on people’s cars. “Oh, were you planning to drive that sir? You’re going to have to wait until the baboon decides it’s time to go home.”)

The road we were on (the R44 between Gordon’s Bay and Betty’s Bay) is one of the prettiest I know. On another of these autumn weekends, it looked like this:

R44 between Gordon's Bay and Betty's Bay.
R44 between Gordon’s Bay and Betty’s Bay.

The End.