Adventures in Tech Land, Season 2
2019/12/14, day 8
My "New Introduction to Programming in Emacs Lisp" has been linked to on reddit. That's my other "pinned" repository on Github. It prompted a number of positive comments, some remarks, some interesting conversations, and, of course, a few updates to the document. It is a very pre-alpha-draft level document that requires a big amount of work before being of any use and I had not worked on it seriously for about 3 years.
I had resumed work a few weeks ago and that triggered a lengthy discussion on emacs-devel about how characters were really integers but their representation had been modified since I first wrote the file and now integer evaluation did not display characters above the ASCII range. I'm still not sure how can characters internally be integers but that's ok.
Since this web project is partially anchored in how I manage the structure with Elisp, I'm actually learning how to work with Elisp by writing the code and correcting my errors (debugging seems a bit grandiose to describe what I actually do), so that introduction is actually pretty important to me. I'm guessing that I'll be working on it a bit more now.
What it all comes down to is what tools do I want to use to achieve my goals and how are those goals shaped by the tools I use.
The choice of Emacs as my editor is something I'll have to examine one day. Since I work on a Mac, I could just as well use BBEdit or a similarly powerful application. After all, most of the things I do involve typing inside html tags. Nothing fancy here.
Emacs gives me access to Magit which is extremely powerful in that it is quite intuitive and thus very easy to use, once one understands a few git-related concepts. I have yet to do relatively complex tasks like "revert" or "amend" commits, and here I write "complex" with the meaning of "I'm not using such features every day so they require a different mind set". Magit allows extreme granularity on commits. The Magit walk-through here is perfect to give an idea of what one can do once the user has worked a bit with the application and knows what would be desirable (in my case, commit only the part of a modification or "hunk" in git parlance).
Emacs also gives me access to org-mode which I use to keep track of things I need to do here. Just like Magit, I could use a different system, external to Emacs, but eventually the ability to not have to leave the Emacs environment is what is appreciable.
Learning how to use the tools becomes a task eventually, but that's ok, because if it can feel as a hurdle when one has a clear idea in mind and only wants to implement the idea, tools are like the extensions to our brain that are our hands, and the other parts of our body. It takes a long time for a child to be efficient at complex tasks because learning to properly use the body takes time. Adding extra tools like a keyboard and the symbols behind the keyboard requires time too and the results, although possibly only existing in the pseudo-virtual internet world can have a considerable impact on the IRL side of our lives that is the only one that matters.