Return to Article List

Welcome To Boot Camp!

01/19/15

Updating my tech skills one distance learning course at a time was too slow, so here I am at Coder Foundry’s boot camp. The first two weeks have been a lot like drinking from a fire hose.

Three cannibals and three missionaries are stranded on one side of a river and need to get to the other. They have a boat, but it carries at most 2 people at a time. Furthermore, the cannibals will eat the missionaries given the chance. So how can everyone get across the river without ever creating a situation where the cannibals outnumber the missionaries on either side of the river?

What this has to do with MVC.net, bootstrap, and Angular JS I still don’t know, but this is one of a handful of logic problems I was handed on day one of Coder Foundry’s Master Class boot camp. If you’re game to solve the problem, when making your calculations, keep in mind that somebody (a cannibal or a missionary) has to bring the boat back across the river to fetch the next load.

Perhaps the message was that teamwork is key in IT, because at first everyone took a deep breath and dove into the worksheet containing this plus a half-dozen more logic problems - but then it came out that collaboration is not only allowed, it’s encouraged. With that, it didn’t take long for us to start collaborating, and before long all the problems had solutions.

Hello Bootstrap and GitHub

From there we dove into bootstrap, which I learned is a very handy framework for laying out and formatting web sites so that the same site can look good on devices ranging from a wide-screen desktop to a pocket-sized smartphone. With judicious application of CSS classes, you can make a site wrap and reconfigure itself to look good on virtually any size screen. An added plus, bootstrap includes classes you can apply to highlight, indent, out-dent, color, shape, and resize text, links, form fields, and just about anything you can throw on to an HTML page. One of my favorite features - baked in support for modal windows. Add a simple div for the modal window to your web page, create a link to it decorated with the data-toggle=”modal” attribute, and boom you’ve got modal.

GitHub was next. Yes I’d heard of it (unless you’ve been living in a wiring closet, I’m sure you have too), but I’d never ventured there. Now I have a GitHub “repo” and no longer have to make copies of my working files named things like file.bak1, file.bak2, on ad infinitum. Instead I let git keep track of all those changes for me, with the promise that it can restore them to any point along the way should I need it. That’s a promise I haven’t really tested yet, although I was able to revert a file I accidentally made changes to to its pre-messed up state, so I’m hopeful. There’s a lot to git though, and despite taking copious notes I’m still getting a grip on exactly how it works. The online book “git -- distributed-even-if-your-workflow-isnt" has been one of my go-to resources.

So then we had to put bootstrap and git to work and devise a new personal website (this one) based on a bootstrap template. I can modify templates in my sleep, so this was a piece of cake - until the news came we had to convert this into MVC format using Visual Studio and publish it to the cloud (Azure). MV what? Knowing that MVC is an acronym for the model-view-controller design pattern is one thing, putting into practice if you’ve never done so before is daunting, especially if your starting point is a bootstrap template that pulls out all the stops in making a single-page website look very slick but really was never meant for expansion into a multi-page website. Think attached backgrounds, fancy scroll on click actions, and all kinds of JavaScript, that goes from fab to ridiculously complicated when you’re trying to break it out into a template you can apply to more than one page. Think hack-city. If I knew then what I know now…. I never would have picked a fancy-schmancy single-page website template to start with. It was like trying to stuff an HDMI cable into a USB port.

Visual Studio: Powerful, Complex, and a Tad Confusing

And then there’s Visual Studio 2013 Community Edition. Launch that baby and you have probably a hundred options of what to do next. Also, with .Net, you actually have to compile your website before you can see it, something I’m not used to having come from a straight HTML/PHP/JavaScript background where you just launch a browser and go. To do this I had to learn which keys to press to do just the basics - compile the site and launch it into a browser so I can see it (F5), start debugging, stop debugging (shift-F5), reformat the page you just messed up all the indenting on (Ctrl-K Ctrl-D). Unless you want to waste a lot of time going through the menus for everything, you have to memorize a lot of keyboard shortcuts. That’s still a work in progress for me. Also, you only have to rebuild for certain conditions (such as changes to a controller) but for others (changes to views and CSS) you can simply refresh your browser window without re-compiling.

But that's not all...

While doing all this website creation and porting and Visual Studio-learning, we also had to complete a series of JavaScript and C# programming exercises. And just when I thought I had that wrapped, it was announced we had to integrate these into our personal MVC website and make them look impressive using Syntax Highlighter and modal windows. No biggie, except at the same time, oh-by-the-way you need to write a weekly blog, plus write the software it runs on. This is post one on said blog, so obviously I’ve got Create New Post working, which was due on Monday of week three. Today (Friday of week two) we had a detailed walk-through of the steps necessary to get this blog project underway, which was a great relief, because everything else so far has largely been “here’s the assignment, have at it.” Thank goodness for Lynda.com, my after-hours go-to for learning about MVC, C#, and GitHub.

It’s been a workout for sure, but that’s why they call it boot camp. We also received a handout listing questions commonly asked in job interviews for .Net related positions. It’s an intimidating list, but supposedly when I complete this course I will be able to answer to all the questions. If that’s the case, I will be a very satisfied student. Gotta go - my blog software has to make its premiere appearance Monday.

###

Comments

On 01/22/15 pjolly said:
This sounds very challenging.
On 01/22/15 Hockeydan15nc said:
The course does indeed sound interesting. Nicely developed website. I will continue to follow your blog and progress throughout the course. Keep up the excellent work.
On 01/23/15 Wmnathe said:
Go for it! We did not understand much of the jargon but then we aren't supposed to, are we? Have fun and meet some handsome nice guy while you're at it!
On 01/30/15 David.Jolly said:
Loved that post because I understood more tha 50% of it. It all sounds great. You go, sis!
On 09/13/17 Chuck said:
It's super challenging.

Add Comment

Return to Article List