I’ve always been completely fascinated with how things work. I love things invisible to the naked human eye: human biology, the physical laws, neuroscience, etc. have always lured me from their intristic principles and in-depth research. For this reason, I was intruiged by React due to the instant rendering of the UI without a visible server rendering. It makes sense that constant calls to the database can be taxing on an application and the sophistication of React combined with Redux challenged many things I have learned about good coding practices up until this point. But, I was already sold by how it worked - like invisible browser magic.
When I read Jesse James Garrett’s “Ajax: A New Approach to Web Applications”, it blew me away how much Ajax was resonsible for a revolution in technology, and how I barley remember a world without it. From Google to Uber, almost every technical interface I engage with on a daily basis relies on the power behind this paradigm of multiple technologies working together.
I smile when I think back to creating my Sinatra project, B.R. (Before Rails) time - oh, how times were simple yet unscalable compared to the world of Ruby on Rails. I entered Rails in naivety, thinking I would just switch some syntax and conventions around and transition to the Rails track with greater ease than going from my old 2000 Honda Civic to my 2017 Volkswagan Passat with an upgraded engine and Bluetooth for my convenience. However, unlike cars, frameworks require a bit more competence other than the muscle memory needed to drive any automatic car you get behind the wheel of. Lucky for drivers, we don’t need to know much about the automotive mechanics in order to be an efficient driver. As programmers, learning the technicality behind Rails magic is not only encouraged, but necessary while using this complex yet brilliant paradigm successfully.
I designed my Sinatra project to build off my first project, the CLI data gem. For the latter, I scraped a skincare website for different products, categorized them, and gave users further details for each product. I felt proud I was able to create synergistic class models, CLI logic and scraping methods to form a simple little functioning gem. But, I knew entering the Sinatra section, everything was about to come together and the power of coding, from the database and models, to views and everything in between, was about to leverage my ability to create real value.