There was quite a bit of required prework to be able to join the Bootcamp. Day 1 they told us that the prework is the phase that weeds out the most people.
Prework is done based on online instructions and videos so a certain amount of self-motivation and tolerance to frustration is required. There is still support available from the instructors and fellow students via Slack.
I also hosted a pre-work work-along for people to meet each other and finish up some of the required work. A couple of people showed up and it was a great opportunity to help each other and also meant we had a couple of familiar faces to look for on day 1.
Prework Goals
- Install and setup needed programs (‘the toolchain’)
- Practice using the toolchain
- Create a couple of basic websites and practice a little basic javascript
- Do some reading to gain exposure to various web development topics
The toolchain (Windows Version)
- Chocolatey package installer
- PuTTY
- git
- PHPStorm
- github
- An account on the server to deploy sites
Prework Projects
There were two prework projects that we all had to create and turn in. One was a color picker that would let you pick RGB values with three sliders and then show the color.
The second was a shopping list app. It allowed for inputs of items and quantities and then let a user delete items from the list.
As is often the case with programming, typos were a common source of frustration for many of us, myself included. A capitol L instead of a lowercase l soaked up a few hours of my time, but once I decided I was going cross-eyed looking at the code, I posted on Slack for help and a fellow student caught my error in about 30 seconds.
I’ve worked a little bit with basic html in the past, but this was my first experience with using Javascript. It was fun and enlightening to start to understand how to make interactive sites.
Optional Prework
There was also optional (but highly recommended) prework that included additional reading and online tutorials. The goal of this was just greater familiarity with some of the topics.
I also created a PHP program I came across in the reading. It wasn’t required for the prework, but I wanted to see if I could figure out how to write something in PHP load it on a server and make it run. The result of this was my Fahrenheit to Celsius temperature converter which made me feel ridiculously proud just because it’s the first PHP thing I’ve ever written.
The original program was very simple and the first person I showed it to asked me if it checked to see if the values were within the valid range. I had not considered the implications of absolute zero (the lowest possible temperature) before this question.
So I had to go back and modify the program to only accept valid temperatures and output a message letting the user know if their input was below absolute zero. And of course, also providing a Wikipedia link about absolute zero.
There is a theoretical maximum temperature that is estimated to be about 1032 Kelvin. Whether or not this maximum even exists seems to be debatable though so I did not include a maximum on my accepted temperatures.
In any event, somewhere between 1018 and 1019 something glitches out and the returned answers are definitely not right. At least for now, I’m not going to tackle this issue.
Further Exploration
Part of the prework included setting up PuTTy so we could access the CNM server using an SSH key. The video walked us through it step by step without really explaining a lot of what was going on.
I was determined to understand what was going on and see if I could apply it on my own in a similar, but slightly altered application.
I have a wordpress blog and also manage a simple (and outdated) website for a company. I decided to figure out how to gain SSH access to those sites.
After wasting much time trying to make it work for the two sites (also two different hosting companies) I finally figured out that neither of those companies would allow me to have SSH/shell access with my current accounts and they wanted a ridiculous amount of money to let me upgrade my accounts to something where that would be available.
So after a bit of research, I found Nearly Free Speech .Net and after many chuckles from their FAQ decided it was the perfect place for me.
It took me like two days, but I finally ended up with SSH access to my own site… Welcome to the result. 🙂