I am an avid consumer of audiobooks and podcast, and one of the podcasts I regularly listen to is Cortex. One of the segments on Cortex revolves around a concept of yearly themes that the hosts use as an analogy to new year resolutions. The idea being that most new year resolutions tend to be specific goals that sound great on paper but tend to be dropped shortly after the new year begins, and instead trying to follow a broad theme throughout the year would be easier to adhere to as it. A theme that I have been trying to incorporate into my own life (even before listening to the show) is the theme of temet nosce. In Latin the phrase temet nosce means "know thyself" and my usage of this concept as a theme in my life has been trying to better understand myself and why I make the decisions I make. The goal here is that if I set a goal and fail to meet it, instead of making similar goals and not fulfilling them I will rather try to understand why it did not work out. By this I mean in situations where my failure to external variables rather than anything direct, for instance if someone wanted to run a marathon the following week but was hospital bound by an accident they would fail to meet the goal due to external variables rather than any direct failings on their part.
My previous post, New Projects, was focused around my goal to take on new projects that aligned with my current interests at the time (e.g. decentralization, bots, and public UNIX servers). However, through following my temet nosce theme I have discovered something that conflicts with those projects. While I am still passionate about the Tilde Center and Babili projects, a common factor behind the two of them is that they are fairly large projects that require constant time and attention to both of them. While I want to dedicate the time these projects need to have progress made, with work becoming more busy and wanting to spend more time with my wife I have found that I was lacking in both time and desire to constantly work on these projects. This along with becoming an administrator to an IRC community left me constantly feeling like I was neglecting my responsibilities... for tasks that only I have assigned myself. While my recent changes in how I dedicated by free time has helped improve my day-to-day life, it left me with this anxiety that lingered in the back of my mind that I am not participating enough in a community I should be helping administrate and not making any progress on the projects I have told others I was working on.
In following through with my temet nosce approach to these kinds of problems, my understanding of my current situation and life choices leaves me still wanting to work on projects but not having consistent swaths of time that I can dedicate to them. This coupled with the nature of programming projects becoming more difficult to return to after large absences of time dictates that I should be focusing more on smaller projects than larger ones so that I can hope to complete them within the spans of time I can safely assume that I can dedicate to them. For this reason, my solution to this problem is that instead of embarking on multiple large projects, I should instead try to pursue smaller ones.
However, this does not entirely mean that I need to forgo the current projects I have already planned on working on, but rather to approach them from a different angle. Instead of thinking "which project will I work on now" I can instead ask myself "what functionality or component(s) do my various projects need" and tackle those problems instead. However, this also means that I need to reassess my current obligations to see I should take a step back from any of them so that I do not leave anything neglected that I cannot provide enough attention to. This is an unfortunate consequence of the new direction I am taking, but ultimately I feel it is for the better (all things considered).
That is all that I have for now, and if you have any interesting in following my progress on the projects I mentioned above any other small projects I take on you can check out my git profiles at GitHub and ~git.