4024-12 In Review

My meaningful achievements this month:

  • I completed 16 blog articles. Which is 4 months worth of blog posts. More are on the way, because I actually worked on 21 blog posts.
  • Solved technical problems for this blog, people can now experience audio, video, pictures.
  • Wrote a letter of recommendation for a student.
  • Decided to not be on nixOS–it's wonderful to be back on manjaro for developing.
  • Did 1 unit of Duolingo per day. The time it takes is around 2-2.5h/day now. Noise disrupts me greatly.
    • Edit: I got knocked out of diamond league; I prioritized writing blog posts the last week of the year.
  • Daily leetcode. Got my 2024 annual badge.
  • Volunteered at a blood donation place, and it's also good I realized that particular place did not need me.
  • Began volunteering at nonprofits. Technically accepted a position at 2 of them so far. Another is interested.
    • I have been so busy with debugging things that I haven't given them too much time however.
    • My first PR at a nonprofit got merged, second one on the way.
  • Coding related
    • linux
      • Got a better understanding of how linux permissions work.
      • Played with dbus more.
    • org
      • Learned how to use the org-mode AST, wrote a short function to call codeblocks.
      • It's so silly, but #+begin_export html was not something I realized was a thing. But now I've simplified one of my pages quite a bit. The mixture of org, nunjucks, and 11ty feels more manageable this way.
      • Learned the org export process deep enough to feel like I can wield it like a baseball bat in a china shop, then reverse time, and finely stich the structure of destroyed china back in place, with my mind.
        • Well, I'm not that good yet.
      • Shipped my template for debugging web service requests. Helped me review noweb.
      • I learned a lot about org. I mean, just check out this month's blog posts!
    • php
      • Finished "PHP In Easy Steps" (Maybe I did this last month?)
      • Finished "Wordpress for Dummies 9th edition" and got a handle on wordpress. I understand how to manipulate old themes at least
      • Wrote a php package php-binary-index-tree, and it's on packagist.
        • This was very painful coming from a position where I didn't know php, but I learned the most from it
        • PHP unit is also bizarre coming from BDD frameworks where tests are organized into suites and can be nested.
      • Tried out dape, even put up an issue I was facing.
      • Set up a php dev environment for myself, to be ready to volunteer doing wordpress + php based frameworks.
        • I hooked up eglot, php-ts-mode, php-mode, web-mode, phpactor, dape, company, and xdebug.
        • I also managed to fix some issues on my own about packages bringing in conflicting dependencies (this also involved me upgrading to an edge build of emacs)
    • more emacs
      • Built a working prototype of an elisp webapp (hope to finish next month). It uses elnode, which is now 10+ years old. I don't know if I want to do this over the top and add an unecessarily complex storage layer. It would be fun to practice using the emacs pg library, but completely uneccessary.
        • Finally learned sxml from esxml, and it is actually really nice to have html as s-expressions.
        • Couldn't find out from searching online how to add literal html (it kept escaping). But there is a way: *RAW-STRING*. I only found the github issue after debugging into the source code.
          • How does daviwil not use a raw-string right now in his source for systemcrafters?
      • Got used to/aware of rg.el's more advanced capabilities (the transient, setting custom searches, history).
      • Debugged a ton of elisp, fixed some of my own issues with transients surprisingly.
        • Every time I debug a tool, I feel more confident about using it.
      • Prototyped a way fill emacs with the system clipboard using dbus. It works enough, but it'd be nice if I packaged it.
        • It has issues and I want it to translate image clipboard data well.
        • It relies on clipnotify. Which is X only. But I run X on Wayland. Still not sure how this window environment stuff works.
      • Read more about state charts, which have a charm to them. Started thinking about implementing a State Charts library in elisp. I want my cursor to be in different colors depending on different mode states, and this is too complicated to deal with without state management.
      • Have export on save as a .dir-local has saved a bunch of time writing articles.
      • Creating a custom hydra to do various blog actions, like renaming files, starting a local server, quick making a new post, etc..
    • Keybindings
      • Retooled some keybindings; discovered the joy of project.el and how project-switch-project can save me time, as well as helm-projectile-find-file (I use a mix of helm and simple completing-read).
        • I usually have a mass of unrelated files with similar file names that makes completing more difficult.

Meaningful losses:

  • Not eating enough. Not getting up early enough to buy eggs on discount.
  • Got sick. Heart pain.
  • Loss of sleep due to noise, sickness, and even excitement.
  • Spending less time with people than I maybe should.

What I'm grateful for:

  • My friend letting me stay with him
  • eggs
  • Leftovers (there were a lot).
  • Local public library
  • I actually had a Thanksgiving, and the food was really good.
  • I'm writing; I don't know why I'm so motivated. Maybe because it's about emacs, workflow, productivity.

Looking ahead:

  • More unemployment / lack of housing
  • Rising price of eggs
  • Increased health risks due to not seeing a doctor
  • An increased focus on trying to build engineering cultures across dimensions.
  • Not sure if I'll replace 11ty, I like the flexibility it gives me with tags/index pages, but I also want org file cross linking to translate properly.
  • I have a ton of hobby projects to release as hinted above. I want to look back, and see that I followed through.