Hello All! Happy New Year!!
New Years is one of my favorite holidays. I enjoy looking back and reflecting, I feel its important to know what works and what doesn't. Even if you don't complete your new years resolutions, its nice to have a goal to strive for. To me it gives me motivation to face the new year head on. 2023 was a really interesting year for me. It provided me with a lot of challenges, opportunities, and questions. I did not do as much as I initially wanted to. I had things I wanted to build but didn't really get around to it, or decided personally it wasn't worth building/going through with. I experimented with things I wanted to do more and looked into things I should start using less in order to spend more time with things that are helping me work towards my goals better.
At the moment I have a few things I really want to venture into. I want to dive deeper into network programming. Understand existing protocols (TCP/UDP, ICMP, HTTP/HTTPS, RTCP), build tools around them, and reverse engineering game servers that I am interested in to understand how they work. I only say game servers because its just an area that I am interested in. The other subject I want to take a dive into is compilers, interpreters, and parsers in general. Its something Ive always been curious of and want to learn more about.
The second item on my list is to limit the number of languages I am consistently using, down to the languages I feel will benefit me and my goals. Ive chosen Python, C, and Go. Go might be new to me, but I really enjoy the language and feel like it is incredibly suited with the software I am interested in building, That being networking applications and compilers at the moment. At the moment I feel pretty proficient with Python as a language. I normally have the interpreter pulled up in a window on my side monitor just in case I have to either test out logic for something I'm working on or some quick automation of some kind. I don't feel like I know it as well as others that consider it their primary language though. I want to absorb more of the language and write better software with it. I believe Python still has flaws, every language does, however Its the language I rely on the most and have the most experience with.
C# on the other hand is one that I probably have second most experience with. I really enjoy C# as a language and its not like I will never use it again. I just don't want to put more energy into it when I could be diving deeper in others I care more about. As a language the things C# values are things I don't enjoy. C# is constantly adding more and more to the language with language features that make the code harder and harder to understand. When I'm looking at other's C# code I find that I have to google what the syntax is even doing. Where as with Go. A language I have zero experience with I was able to dive into the source code and genuinely understand what was happening and learn from it. I still recommend people use C#, I think its genuinely a good language, but for me at this current moment its just not the right tool for the job.
Finally I am ready to truly make the switch to start using NeoVim as my primary editor. VSCode has always been a point of contention for my workflow since I know its keybindings well I am efficient with it. That's something that is invaluable since it helps me work faster, but with each update I find that I keep needing to go back to the settings to tell VSCode to function the way I need it to. I also just dislike Electron based software. I don't think its necessary and that its unneeded bloat. I want something that is more light-weight that I can just use to program even if I have to learn a new editor.
Something else I want to kinda give time to is just media that I used to consume more like games and manga to give myself more breathing time. A lot of my time is either studying or programming and I don't often give myself room to relax and that's something I want to allow myself to have more. Just time where I don't need to worry about what I am working on, or how well I am understanding and using the content I am learning about. Ive been trying to take better care of myself mentally lately and giving myself these times of winding down, focusing on things not necessarily tech related are going to help me better approach the things I want to do and reduce my burnout rate.
Thanks for reading, just wanted to record some of my thoughts. Have a good one and once again happy new year!