Adventures in Tech Land, Season 2
2020/01/03, day 14
It took a while to clean the code, simplify it, regroup it, to obtain what I have now. The main (and currently only) file is adventuresintechland.el. As you can see in the git commits, it has changed a lot over the last days. It can basically do most of what I need and I added skeleton functions and items that I'll act on little by little as I progress.
I'd like to understand test based development too, so that I can progress faster and in a steadier way...
I've mostly used three tools for this project:
I started this journey with only a little knowledge of emacs, but neither org-mode not magit were really on my radar. In fact, I decided to work within emacs, because I wanted to learn to use it, not in a "tutorial" kind of way, but in a "do-it-yourself" kind of way, and as stated on the first page, I'm planning to learn web technologies. And web technologies require a writing environment, a task management solution and a contents management solution: emacs, org-mode, magit. That's how the three came to fit perfectly.
I started using (or being aware of) emacs when I got my first internet connection, in 1995, but I only started to use it, on and off, in 1997, when I bought my first laptop and tried to install a French-Japanese-English multilingual system on it, before UTF-8 existed. I had an epiphany at the beginning of the "new" Lisp boom, a few years later, when I realized that I could maybe have a lisp program within my text editor to ease my translation process (translating is my main job). That did not happen.
That's really when I started to want to learn and use emacs, about 15 years ago. And it happens that as I was in Tokyo for work, I had the chance to meet a now famous emacs community member who was trying to do everything possible within the emacs ecosystem. That encounter was a huge inspiration, but for plenty of reasons, I returned to the macos ecosystem and did little more than that until now (for that matter, I only started applescripting a few years ago...)
What do I mean by incremental learning? That's relatively simple. Once you know the basics of emacs (how to open/save a file, how to do basic editing) then everything else comes as an increment. When I look back at the close to 14 months behind me, I realize that at first, I was really just doing that: check the web, learn a few things, open an emacs buffer, write about that, commit that to the github page, repeat.
Then I realized that it could be easier to use a "web aware" environment and started to use web-mode
, then slowly I started to manage my tasks in an org file, but only systematically since last December, so that all my actionable items were actually registered inside the pages that I wrote, and that was not practical since I had not way to automatically retrieve the information. And I used git directly from the command line, and only basic commands: no feature branches (my first one is actually recent), no fine grained commits. It is when I started to use org-mode systematically that I had to think about the way the items should be organized (which sometimes adds to the overhead) and it is thanks to magit that I commit frequently even if the modifications are very small.
All this came little by little. And I know that if I stop, everything that I learned, either because I know it of because my muscles have become accustomed to it, will be gone. All the small functions that I write now are much easier to write now than when I started writing in emacs lisp. All the actions that I do in magit (and in CLI git) flow better than they used to do. Navigation in emacs is easier, perusing the documentation and making sense of it too.
Before this season's "reboot" I was mostly focused on doing html and css, which is perfectly fine, but that felt a bit artificial because the current site (even though it is conceived as my html/css/js playground) is not yet a place where I can express a lot of things with those technologies. Meanwhile, my second "season" that I started last November has allowed me to feel like I've dramatically improved some skills, and those skills are exactly the skills I need to progress in learning the web technologies that are my real target.
Or maybe, that's the other way round? As I wrote a few days ago, I can't be sure. Today is only the 45th day in my #10000daysofcode project...
I have a few color modifications here, that I added thanks to css variables. Since the local css contents overrides the main css, I only had to change the contents of a few variables to change the whole aspect of the page. I guess it's more portable than changing the css code itself. I'm not sure about the colors associations though...
The css files are here:
The variables are at the top of each files.