Life has been complicated. Having two young children at home and working full-time while studying a new discipline wasn’t going to be easy in any circumstance, but COVID has exponentially added to the difficulty. While there were times during the past month where I doubted my direction, I thoroughly enjoyed the creation of my first fully formed program.
When one is this new to a skillset, it can be overwhelming just to locate a project path/direction that is attainable, enjoyable, and worthwhile. Prior to having any real understanding of what type of gem I would be required to build (even before I knew what “gem” was), I had lofty aspirations for an overly complicated and multi-faceted stand-alone program which would almost certainly solve critical issues. Hubris is probably a reasonable word to throw around with new coders.
The exciting reality is that I am over the moon at having realized that I wasn’t going to be able to make anything earth shattering yet but that I did go from start to finish on an extremely small project which doesn’t seem to break, provides some data to a user, and is something I created on my own.
I initially started with a website from virginia.org and was going to scrape types of hikes based on user interest (waterfalls, kid-friendly, etc.). This plan was going splendidly until midway through the build, when VS Code decided to give me an SSL error which stated that a “dh key was too small.” After some research, I came to the conclusion that this may be on the website server side and dealing with security protocols. I felt it would be more expedient to start with a new site.
Luckily, I was able to locate a similar site and with some minor changes, was able to use most of my previous code. I created a CLI which would request user input for a geographical location in Virginia where they might like to hike. Once the user chooses between mountain, central, or coastal hikes, my program shows a list of relevant hikes.
One thing that I hadn’t anticipated drawing quite so much enjoyment from was closing any loop holes for bad user data. Trying to guess all of the ways and places a user could possibly enter bad data and successfully rerouting them to the appropriate place within the program was very enjoyable.
My CLI project wasn’t as in depth as I originally planned but left plenty of things to continue working on in the future. I plan to add some additional functionality to continue my learning and maybe also try my hand at gathering data from an API.
Fun was had and things were made. Life continues.