Refactor: Changes For 2024

Photo by Yancy Min on Unsplash

Refactor: Changes For 2024

A Year in Review

ยท

3 min read

After 5 years of being on Github, I spent most of my time exploring different languages, testing features, building partially completed and fully functional projects.

The question is, how valuable is this commit graph for 2023?

The Breakdown

1. School Assignments

Most of the commit history are school assignments in the courses: Object Oriented Programming, Statistics & Probability, Introduction to AI, Linear Algebra, Data Structures & Algorithms and Database Systems. Well, the other 100+ students did the same assignments that I did, and I do not count it as something that reveals my skill set (Maybe it does? I'm not sure).

2. Learning New Languages

I learnt 4 new languages this year. Java and R because of school work (I'm not really a big fan of Java btw). Then there's Go because ThePrimeagen mentioned it, and after a few days, I fell in love with it. The last language was Lua because I wanted to better manage my Neovim config and not depend entirely on plugins.

3. The tests Repo

This is a direct consequence of learning new languages. All trials and errors while learning were pushed to this repository. I also served as a programming tutor for freshmen, and all the simulations done during those sessions are also found in this repo.

4. Opensource Contributions

5. A Few Projects

  • Voting System: A robust and user-friendly voting system platform. (A project I would most likely leave as incomplete).

  • days: A cli app built with Go that checks the number of days an individual has spent on earth. (Fully functional and feature complete).

  • portfolio: A project developed for MLH's Hack Your Portfolio Hackathon. (And yeah, I didn't win ๐Ÿฅฒ)

Lessons

  • Some of the school assignments were challenging, and I learned more when doing those projects than sitting in class. Especially when developing a depression detection system for my final project in AI, I learned about Google Cloud, VertexAI, and fine-tuning PaLM2 (I had to figure everything out, which was thrilling). You can check out the working app based on the fine-tuned model here.

  • Learning Go has forced me to think about error checking and tests. That's not bad, I guess.

  • After building days, I learned how to build a cli app using cobra.

  • During the Hack Your Portfolio Hackathon, I stretched myself to see what I could build using new tools, and it turned out great. (If motivation and food are high, I can do some pretty cool stuff).

  • Finally, working on the Voting System, I learnt lots about go's net/http package, goroutines, database transactions, json and file parsing, and api design and implementation.

Reflections

While I do not regret these 5 factors that contributed to the commit graph, it still does not give a satisfactory value of what could have been. At least, that's what I thought until I got to this part of the article.

Am I where I want to be? Certainly not! But I'm proud of the progress I made. Instead of beating myself up, I can refactor my habits and goals to reflect the intent of solving problems with code, not just mine, but one whose impact is significantly higher.

Plans?

I do not know what to expect in 2024, but one thing I'm going to change is to be more intentional and stop leaving many things to fate. The future is not fixed; it is a consequence of our actions and decisions.

See you in the new year ๐Ÿš€.

ย