trip logs / gnuovla

Trip Log 2017-04-01 h21 -- Ego Control And The THANKS File

Around where I live, encounters with other people today are traditionally full of “scherzi”.  I'm not opposed to that on principle, but in this trip log entry, I will deliberately refrain from participating.  Instead, the topic is straightforward: “No joke: THANKS”.  For the more recent gnugo.el (et al) releases, I started to include a "THANKS" file.  This required some archeology as the code's home, and thus metadata and general maintenance, had shifted (from ttn-pers-elisp to GNU ELPA) around the beginning of 2014.  Well worth the effort, I feel, for two reasons: (a) expressing gratitude is being just to others; (b) ego control.

I won't spew forth on (a) here; it's something anyone more mature than a schoolyard bully understands.  Ego control, OTOH, is something I struggle to exercise daily.  Some days I fail (utterly), and the lion roams free on the plains, devouring, devouring.  The rest of this trip log is reflection on this struggle.  If you don't like maudlin personal spew of this sort, I understand.  (I won't mind if you stop reading now.)  Three quotations from Alan Perlis come to mind. 

│You think you know when you can learn,│
│  are more sure when you can write,   │
│    even more when you can teach,     │
│  but certain when you can program.   │

This certainty makes it easy for the ego to swell.  And when it does, the first thing it occludes from the mind's eye is its own swelling.  Over the years, until I became acutely aware of the situation (more about that later, perhaps), I always thought it natural for people to seek certainty (I was mostly right — it is), and that the search was worth it for everyone (I was mostly wrong — see next quotation). 

│A LISP programmer knows │
│the value of everything,│
│but the cost of nothing.│

Certainty has high value for everyone.  Even those who thrive on uncertainty (e.g., the thrill of an extreme sport derives in great part from the uncertainty of the outcome — “will I die doing this?”) can only perceive that uncertainty against a background of certainty.  However, everyone has their own way to find that value.  Programming is one way, the way I know and love, but not the only way.  My ego, swelled by my ability to program, trapped me in the pit of arrogance and incomprehension.  “Sei un proprio stronzo”, I can hear in my mind... 

│Programmers are not to be measured by   │
│their ingenuity and their logic but by  │
│the completeness of their case analysis.│

So, back to ego control (via "THANKS" file maintenance).  Here's a step-by-step breakdown of what happened in terms of both changes to the source code repository and changes to my internal state (thoughts, emotions). 

The initial change (Add some THANKS files; nfc.) actually involves more than just gnugo.el (et al).  My thinking was to normalize release handling across the many projects I maintain.  I felt a mix of annoyance (“Why didn't I do this earlier?”) and defensiveness (“Virtually all of that code is by my hand — who could blame me for skipping this small detail?”).  And indeed, the “who” I had in mind (and who populated the file in this initial change) were other GNU ELPA programmers who had made changes to gnugo.el (et al).  (The contribution model is flat for most of the packages in the GNU ELPA repository.  There is no need for maintainer approval for a non-maintainer to make a change.)  Thus, the motivation was fundamentally fear of blame from peers. 

But why would my peers do that in the first place?  Lacking a definitive answer, maybe it was because casting blame is something I would consider doing, if I knew my contribution (to another project/package in GNU ELPA) had been overlooked. 

In short, my ego had set me up to project potential pettiness on others.  Wow! 

A couple days later, I made two more changes ([gnugo int] Add Juanma Barranquero to THANKS; nfc. and [gnugo maint] Add people from ttn-pers-elisp THANKS file; nfc.), this time with a different mindset.  The annoyance and defensiveness had transmuted to rueful resolve, with a simple rule of thumb going forward: Add a "THANKS" file the moment any help is received.  Set it up, add to it in a timely manner, accept the possibility of non-reciprocal maintenance, move on.  Is this “nonmenefregismo”?  Who knows?  Who cares?  :-D 

Well, in all seriousness, I care.  The change in myself between the initial change and the following two changes is what I care about.  My ego cannot be killed, but at least I have found another way to adapt to its “scherzi”. Cool, no complaints from me! 

If you're still reading, you might have noticed some common elements in the change “titles”, such as "nfc" and so on.  In a future trip log entry, I'll explain these and other conventions in detail.  That's all for now. 

Copyright (C) 2017 Thien-Thi Nguyen