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
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.