Intro

Since the time of writing my last post I have had the chance to review all of my past work and reflect on what I've done right and what I've done wrong, or rather what I could do better in the future. From the projects published on Git services to what's on this site, I see the path taken and want to rectify whatever mistakes made along the way by learning correct and effective methods of programming and the sort.

Focus

My Focus Then

My focus last year was learning Crystal for the sake of learning programming to which now I only slightly regret as I feel cheated by my own desire to learn something somewhat easy not something hard.

I was in fact challenged by having to learn how to read API documentation on a language. Reading said API and trying to make snese of something with little documentation proved to be a good since I am able to understand the Crystal Source code and subsequently other repositories of source code for other projects.

There were good and bad habits I picked up from Crystal, good being that I learned the How To and Why of Testing software and it's importance overall, bad though because I utilized Crystal type handling and never worried about type or the handling of memory.

My Focus Now

My focus now has shifted not by much but enough to move me away from Crystal for a bit. Seeing how others have made really effecient software using low-level languages such as C and assembly inspired me to want to learn how C can be used to create such amazing programs. I've seen that most Linux utilities utilize C and are able to be system agnositc due to the low-level nature of C. Tools such as curl are so simple yet so complex and that truely intregues me.

I recently purchased some books on C such as Practical C Programming, Modern C, and Understanding C Pointers. From these I started working through Practical C and went on to setup a repository of what I've learned.

The reason for me moving to C is less about what I want to do and more about what I don't want to do. I don't want to pickup a language for it to not be useful in a job scenario, or for when I want to collaberate with others, this is what I felt held me back a lot with Crystal Lang was the lack of others using it. Javascript gave me the ability to land jobs and feel as though I was contributing, so I want my experience with C to hopefully be the same.

Working through the books offline now I'm able to focus like before but without the frustration or the brick walls of a language in it's immaturity. My journey most likely wont end with C but I can see myself sticking with it.

I strive to always do better and improve.

Relax

Relaxing has been a struggle as of late, with all the talk of COVID-19 and the lack of clients I have had to keep busy trying to improve as well as work with very little winding down throughout the day. I've always had a tough time with work/life balance and trying to get that ratio just right, but right now I have the oppourtunity to reinvent myself and my schedule.

Some good things that have come out of this down time is that I've been immersing myself in books, both for learning and for pleasure and it has been amazing. I have always been a fan of reading but I've begun to appreciate it more so having read more.

I have limited myself playing games and consuming media as much as possible since I'm a strong believer in those as being more of experiences rather than time-wasters so I wish to saver whatever I put my time into.

TLDR

I'll cut this off here since I feel this post is going to be longer than I initially wanted. The gist is, I'm moving away from Crystal to learn C and also perhaps jump back into JS when I get a chance soon. I also read a lot more and that's been really great for my mental health, maybe everyone should put down their phones and read more.

Maybe I should get a dumb phone and live a bit simpler. Go invest in a boat and go live my life outa on the seas.