Getting Ready For The Web

14 Dec 2018

My experience with web tools fell exponentially after high school, when computer science courses intrigued me with ‘actual’ programming languages like C++ and Java, with a little Python mixed in with discrete math curriculum.

So coming into 2018 my conceptions of web tooling, and programming languages (think what we’re doing with modern JS, Node, React, Bundlers, etc), needed refreshing. All of these relatively new technologies I had previously heard a thing or two about on dev twitter, but I never really looked into any of them or how they worked. I knew I wanted to use a static page generator but I knew I’d have to come to grips with more fundamental tooling first:

Terminal with configurations is Apple’s terminal emulator for MacOS and is enough for what I needed: Getting Started. I’ve heard great things about other emulators like iTerm2 and Hyper, but I feel having a solid foundation on a default terminal emu is beneficial.

Next up was the bourne again shell, or BASH (As opposed to, say, ZSH, Oh-My-ZSH, etc). Because of licensing issues, MacOS ships with a slightly outdated version of Bash. I used Homebrew to install a more current version of Bash, and then dove into Bash specifics, commands, and configuration files. Pat’s write up on this helped me out a lot so instead of reinventing that wheel, I’ll just link to his excellent write up. He also has some posts on Jekyll and virtualenv that helped me set up this site and get a Flask project started.

I learn Bash, package managers, running scripts and programs via Bash, and soon we’re installing Jekyll through RubyGems and starting a new Jekyll project on the Desktop using jekyll new. Sweet. (I also installed rbenv to instal the latest Ruby build, installed the latest bundler, etc) This first couple of days was spent wrapping my head around fundamental tooling: Terminal emus, shell environments, package managers, dependencies, Git, text editors (I settled on Textmate 2 for now..) Jekyll installation, setup, and Jekyll’s awesome tutorial project. That’s really enough resources to get in the door. We’re interested now. Wouldn’t it be cool to build a static page site and maybe get it hosted somewhere? I hear Github Pages is doing some hosting…