⚔️ The Chronicles of The Code Knight #2: The Adventures of the Novice Page
It was time to level up. At some point, writing algorithms to print the Fibonacci series or even the tallest stick man isn’t enough. Though I must admit, tricking your non-coding friends into betting their lunch on the magic number program has its own thrill. However, I wanted to grow. And managing to equip my gallant stick man, with the most polished binary sword ever seen, only strengthened my resolve. I was on my way to becoming a coding superstar.
Evolution’s a funny thing and it’s particularly mystifying to measure the refinement of your coding skills. Achieving the desired output from the first iteration of your program makes you feel like that one anime protagonist who procures all the girls for his harem without even breathing. On the flip side, debugging your code for days while helplessly pulling your hair out to fix that one missing semicolon resembles the trauma of the same character when he founds out that his harem is full of traps. In simpler terms, the complexity of the problems you solve and the solutions you devise have the potential to instantaneously nourish or incapacitate your self-esteem.
With my aforementioned algorithmic triumphs and raging teenage hormones serving to boost my prolific convictions, I decided to create my first project. I seriously thought that I had the talent to churn out the next Assassin’s Creed game by myself with the banged-up 2008 ThinkPad system that I was using at the time. Needless to say, the absence of hardware for any form of graphics processing injected me with a befitting dosage of reality and limited my options. However, I STILL had options! I planned and went on to create my first project: CinemaPlex.
Before you undeniably marvel at my choice of wallpapers or question my color palette, I want to let you know that I was fifteen. Kids who are fifteen love red, or inadvertently violate any design principle that you can think of. In summary, CinemaPlex was a desktop-based application developed with NetBeans and written in Java to purchase tickets and snacks for theatrical screenings. If you are a modern web developer who just read that description, I can relate to the blend of shivers and perplexity that are invading your being. Let me explain. Did this app connect to the internet? No. Did this app let you buy real tickets? No. Did this app have an assortment of the coolest icons and fonts that a nerdy teen could use? Heck yeah.
Truth be told, CinemaPlex was a project for my Computer Science internal assessment in my first year of high school. Despite its mediocre quality, it still holds a special place in my heart as it propelled me into actually developing a project and adopting a coding mindset. There are some things you realize only when you start building. During planning, you strive to adopt a layout that will help you gain momentum while developing, or formulating diagrams that detail your personal deadlines and goals. During development, you basically throw all of that away😑. At least, the high school me did. I ran into the most obnoxious bugs and took an exorbitant amount of time to fix the most trivial problems.
Looking back, I realize that these things weren’t necessarily bad. Sure, they were unpleasant but constant iterations to a solution are the essence of coding. Since it was my first project, my imagination strained to exceed its limits. I thought about how I could inject playable video trailers onto the movie listings page, integrate existing libraries into my code to accelerate development, or even make my buttons circular. I regret that. I don’t know about it now but back in 2016, making a circular button in NetBeans was next to impossible. I have some distressing memories from when my parents would worriedly watch over me while the spirit in my eyes slowly faded away as I toiled late into the night, trying to give a button those perfect curves. You’d think that your child was pondering over the conundrum of justice or attempting to construct his own rocket in the garage if you ever saw him in such a predicament. But this …. this button was far more complicated and vicious than that.
Despite my experiences, I’d still recommend NetBeans to beginners who are planning to acquire a sense of developing basic Graphical User Interfaces (GUI) in Java. Now that I think about it, it’s 2022. WHY WOULD YOU USE JAVA?! Nevertheless, I would recommend you check out the supported button shapes before you take my advice seriously and subject yourself to that atrocity. Even though CinemaPlex has rustic code that makes me cringe more than the rhymes I wrote for my high-school crush, it makes me feel nostalgic. It is a significant milestone in my coding journey and serves as a reference for how far I’ve come.
Next time: The Chronicles of the Code Knight #3: Venturing into Uncharted Waters
Resources mentioned in this chronicle:
In light of my bragging, I’m confident that there are some of you wise humans out there that are planning to scour the Internet in hopes of encountering my primitive masterpiece. If anyone is interested in taking a more detailed look at CinemaPlex, please let me know in the comments below!!