My Coding Blog
My name is Curt and this is the beginning of my fun filled, forehead slapping, key hacking, snack eating, tune jamming, coding in the dark adventure. Won’t you join me? I’m 47 years old with an extensive background in the end user support side of I.T. already and could just rely on those skills the rest of my career but I decided to reach for a higher branch and learn to develop software. Wait, what? Isn't that like hard and stuff? Well yes I’m sure it will be pretty hard. I’m sure I will be head in hands some nights thinking I haven't learned a thing. This blog will be an incremental update on how I feel my progress is and what exactly I have learned. I can use this to remind myself of all of the marvelous progress indeed that I have made.
Why do I want to code? It’s cool isn't it? You know like Neo in the Matrix, we all want to be that guy, that guy that sits in the dark, hacks furiously away at the keyboard seamlessly making sexxxy looking code appear like magic on the screen. Sweet beautiful magic. But seriously, I have developed a strong interest in Smart Home Technology and what is now famously known as the IoT(Internet of Things). Everything is connecting to the internet now from refrigerators to light bulbs, to air fresheners. I feel like this is somewhat of a golden age for software developing and for anyone wanting to learn how to code, you can still get in as an early adopter . So I’m taking a 12 week coding boot-camp for front end web app developing. Today was day 1.
Day 1: Mon. Feb 27, 2017
Concepts learned today: BASH Shell and command line basics, GIT basics, HTML demo
We learned simple command line navigation commands to move around the file system and create/manipulate files and folders. Luckily for me my previous experience with computers made this more of a review but I did pick a few things up like command line history commands. Then we learned Git. WTF is Git?? well Git is this protocol we use to both save our project’s progress as we build it and make it available to others in a repository so that they may contribute to it as well no matter their geographical location. Git works in conjunction with a repository site like Github.com. We spent the afternoon building out a demo HTML document and adding, committing, and pushing our changes to our Github repo. Not to mention quite some time spent on just configuring that repo! Building the HTML page was very fun. I was able to show case some of my legos and do homework at the same time…yay!!!
Ok so I’m not putting in the super duper Herculean effort into this blog post yet. We’ll see how time goes how often I update it. If you are for some reason following this blog I encourage you to encourage me to keep it going at email@example.com. How does day 2 go? I’ll find out tomorrow but right now it’s past 1am.
DAY 2: Tue. Feb 28, 2017
With that I’ll wrap up day 2, it's late again and I need to catch an episode of Family Guy before going to bed. C’mon day 3 watcha got?????
Day 4 March 2, 2017
OK OK, so I skipped blogging for day 3. I knew it!! I knew I would skip a day and it did not take very long. Let’s see if I can remember the details of yesterday.
Yesterday we discussed some more css topics, see day 2 entry for explanation of css. We discussed parent / child relationships and inheritance between the html elements and how it affects css styling. It was pretty mind blowing but we followed along with the instructor to make some quick web pages with sample css styling and that helped to burn some of it in and also to have an example to refer to in a pinch. Our homework was to continue work on our existing project so for me that’s my Star Wars Lego page. We had more requirements to add more advanced css styling such as getting a nice looking nav bar with menu items and to get some sort of 3 column layout going. There were a few other req’s but those were the 2 heavy hitters. I struggled away on this one. I banged out a few of the requirements that I had a good grasp on and then went online searching for examples to complete the others I did not understand. I found the topics I needed and gave them a shot. Using example code I was able to get an ok looking nav bar but could not get the 3 columns layout. The code I tried for that broke things pretty bad and it took a while to recover from that. It was late again and I wanted to go to bed. Besides, the complete assignment was due at midnight only for wise wizards and I’m totally fine at this point not being a wise wizard so I submitted what i had, caught my mandatory episode of Family Guy and went to bed without blogging. But now you know what happened, and day 3 did indeed happen.
Today, we covered yet more css. We talked about making our sites reactive and made a demo site using basic reactive properties. For you non techie folks, making a site reactive means making it react to the size of the screen it is displaying on so it can adapt itself to look good no matter the screen size it is on i.e. phone, tablet, laptop, other. This is important because I know how annoyed I get if a site looks shitty on a mobile device. So we spent up til lunch discussing reactive properties. Just before lunch we were told we were going to be working on a group project in the afternoon. This project is to demonstrate what we have learned so far and is to be a fully production site when it is done; showcasing our cohort’s projects and personal profiles. So after lunch the entire cohort (all 6 of us) sat down to do some mob programming to discuss getting our project started. This may sound like no big deal, I mean you just sit with a group of people and bang something out right? Well I found out that I may have a very tough time getting along in these group collaborations. Since this was our first attempt, it was very disorganized, people were just kind of talking over each other and we couldn't get agreed on a simple thing. Not to mention git problems stoked the fires of non productiveness but in the end I think we did learn a valuable lesson on git. I know right away I need more patience in theses group sessions. I get frustrated because I know what I want to try but I can't just try it, I have to run it by everyone but with everyone talking it was tough. It was a frustrating few hours but we got through it (barely). We made it to 5 and it was time to head for home. For homework, I came back to my Lego site project to give another shot at the remaining requirements. I did some Googling, found some more examples and started at it again. Now the original requirement of this site was to have 5 sections from top to bottom. Our requirement for this css assignment was to take 3 of those sections and put them side by side by side in 3 columns. For whatever reason i just could not get that to fly. I did however manage to get the content of my first section to show up in 3 columns. So i could make the remaining sections follow the same format but it still would be 5 sections from top to bottom only each section will be 3 columns and i don't think that was the exact requirement but again it was late (picking up on a trend here?) and I knew I still needed to blog tonight. So i resubmitted what I had and i think it looks ok for a novice, and opened up the ole blog.
that’s days 3 and 4 folks, pretty darn exciting eh? I think we work more on our group project tomorrow, hopefully we can get a little more organized for the mob session. Looking forward to wrapping up week 1 and a well deserved weekend.
Day 5, finishing week 1:
Its been a few days since my last entry. I apologize, I started this with the best of intentions to blog every night but it gets late and i’m not that disciplined with my time as i should be. To catch up from last week, I submitted what I had on my Lego site assignment and got a completed status for it. The instructor gave me a few other things to do to tidy it up a bit which I have mostly implemented but still have some work to do on it, mainly some clear float stuff. We had a weekend assignment to build a webpage for Betty’s Ice Cream Shop. It had a few basic requirements that were a bit easier from the first assignment so it made it a bit easier. I made a pretty decent looking page but in my floats for the page body I used a hard coded width property with a set number of px. That made the site’s responsiveness non existent. Again I got a satisfactory and the instructor tipped me off to use the vm property instead of hardcoded px. The vm property is more responsive to changes in the viewport screen size. So that wrapped up week 1, I built 2 web pages on my own that made me feel pretty cool. The code is on my github page and can be viewed by anyone that wants to see my work in action. https://github.com/cheezeypotatoes
Day 6 through 9:
This catches us up to today. I came to class this morning with lots of js doubt. Our morning exercise though was a lesson in a new css technology so I was stoked to work on that since js was frustrating me and I actually get css! I was cruzing along on my flexbox exercises when a cohort member Patrick got my attention and asked me about a code war exercise he was working on, it was the monkey count function. It was an exercise I attempted a day earlier as well but my code did not work either. So I looked at his code he was struggling with(I didn't copy it) but it looked very similar to what I had. So I kind of merged what I saw on his code to mine and while I was editing the code I had a strange feeling like I was doing it right. Some neurons were firing connecting synaptic pathways back to some things I heard, saw or read and I just felt like this goes here and that goes there etc. I ran it and viola it worked! My first code that I wrote and didn't copy / paste and it freakin worked. Thanks to Patrick engaging me I think I had a small ahh ha moment just then. I know that function I wrote now like the back of my hand and know exactly how it executes. This led to later success on the next code wars exercise to convert any “string” to look like “ssttrriinngg” (the DoubleChar() Function). Again i sat down and just wrote the function to do it. I had to Google certain things like how to repeat a string (string repeat()) and how to convert an array to a string (array.join(“”) but again I didn't copy and paste anything and I made it work. I can't explain how gratified that makes me feel. Now, my function is about 7 or 8 lines of code long, and I can now see the examples of others and they are doing it in 1 or 2 lines. But that's fine. I have no problem writing long winded coded at this point. As long as it gets the objective done, I’m becoming a programmer.
Today wasn't all roses and sunshine though. Thursday is group project day and I’ve already mentioned in this blog that I don't do well in this setting and need way more patience. My group today just argued and one member felt left out and that caused friction. I certainly had my part of the blame but not all of it. We were in a different room with the door closed yet the instructor heard us from down the hall and had to come in to cool things off. I think we all made nice nice but man I look forward to next Thursday’s group exercise about as much as my next colonoscopy! We ended the day finally and I got out of there at 5. We had no homework tonight and since I’m all caught up I could enjoy freestyling on whatever topic I wanted. Patrick Slacked me with more code wars stuff and got me engaged in that and I was able to solve the doubleChar function I spoke of above. I feel good at this point going into tomorrow but I know we have weekend homework. Once I see the assignment I can either have the the panicking feeling of “I’m not worthy”, “I can’t do this”, “it’s more than we have covered” or I can have the feeling that I’ve had some small success and can refer to that successful code to help with the assignment. I prefer the latter.
Well I think that’s enough for tonight’s entry and getting caught up on missed blog days. I’ve been able to catch my Family Guy episodes while writing this up, god bless Adult Swim. This is good, let’s keep up this positive momentum.