In this post I want to cover a bit of what I've been working on and share my thoughts on what I believe are some interesting thing regarding productivity and computers without getting preachy or hand-holdy like some of my other posts can come across as.
If you've followed me on Mastodon, IRC, Git services, or other then you've probably seen that I've been a bit quiet, the reason for this being that I've taken the time to yet again reassess what I want and what I want to become as a developer and as a person - which at this point is a pretty common theme this year. I've been distancing myself from Social outlets and online activity to detox and give myself the motivation to learn - more on that later - and start working on projects that I wish to showcase.
What Am I Learning?
Recently I've been taking a liking to Lisp and lisp dialects mainly Common Lisp and Clojure but have also been dabbling in Guile. With this I've been reading and watching content regarding Programming both in theory and in practice as well as Mathematics, to which I would say are the fundimentals to really "getting" Lisp in the meta sense. Another reason for learning lisp has been to utilize emacs more and start writing code for writing code or I guess writing terrible emacs-lisp code to have macros for editing and compiling and editing the various languages I utilize and notes I take via org.
For my main machine, the offline-focused Librebooted x200, it now runs the Guix operating system and now I'm forced to think carefully about what I want my machine to have on it and also having the benifit of utilizing emacs as more than just an editor/IDE but as the main way I can talk to and interact with my operating system. Learning Guix has tough at first but was very rewarding having a system that was easy to configure and easy to manage. Hopefully I can take some time to document my time with Guix and Guile to help those wanting to learn more about it.
My other machine is a Thinkpad e545 which has replaced my desktop computer and has been a pleasure to use. While this machine partially goes against some of my beliefs it does allow me to comprimise and be able to do the online-focused part of my work such as answering emails and managing servers, things that would be a bit more difficult on the x200.
Back in early April I started learning Common Lisp through 'Practical Common Lisp' and 'Land Of Lisp' to which I was having trouble understanding a lot of the hows and whys. Since then I've decided to reread and review my learnings on lisp and start putting that to use through the means of coding challenges and such. Common Lisp has been a real joy to use and it honestly made me enjoy programming again and glad revisiting it gave me the inspiration to move forward with it as a main language for personal projects as it's easy to prototype and get something working fast. Not much else to say about Common Lisp other than I enjoy it a lot.
I've was seeing quite a bit online about Clojure and it's company getting purchased by Nubank so I decided to take a stab at learning Clojure and try to see what it's all about. So far Clojure is not much different from Common Lisp or Scheme so it was pretty easy to get going, the only snags I found were Java specific Libraries and that's only because I'm not that familiar with them as I'm more acustomed to Lisp rather than Java. My experience with the JVM is limited to the month or so I worked on some Java software for an HR firm, and while that was actually pretty enjoyable the problems I faced due to lack of knowledge of JVM and how Java code is compiled (via NetBeans or Eclipse). At the time of writing this I can see myself learning more about Clojure but I can only see myself utilizing it if an employer wants me to.
As of writing this I've converted almost all of my digital notes and documents over to org documents or over to TeX documents. The combo of Org-Mode/LaTeX is awesome and I reccomend all emacs nerds to try it out for writing papers as it's as easy as writing org but with the customization of your output pdf with LaTeX. All the documents I manage such as my invoices, resume, client documentation, and client contracts are handled via org/LaTeX.
Aside from writing docs I've also been working on setting up a good workflow for Org-Roam a tool for managing a directory of org documents more like a database than a directory structure. I'm utilizing org-roam as a wiki of sorts for finding data quickly that I'm looking for such as client info or a specific invoice or even pull up info that I've written about a server I manage to make sure that specs are correct, whatever the reason. At the time of writing it's being setup but hopefully within the month there can be a an easy way to access data without leaving emacs.
What Am I Doing?
I'm focusing on learning and organizing my thoughts as I believe that to be the key to being a better developer and a more disciplined person. I aim to be a well rounded developer that creates software that accels in aiding others rather than inhibit them.
I guess what I reflected on was what I wanted to learn and what made me happy as those I think are two things that people often neglect in their lives.
Not much else to say other than take care of yourself by eating right, getting enough sleep, socializing responsibly, and taking some time away from the internet to reflect on things as a person, like can be about your work but have a healthy balance of work and life. Oh and drink more water.
If you're interested then visit my now page where I update what I'm up to semi-regularly.