#ruby, #rails, #OOP, #javascript, #ember

12/28/15

Tech Talent South Complete, Now What?

Outside of Class
Learning to code is a journey. Let me first acknowledge that I am not at the end of that journey, and I that is a good thing because learning to code is a process, not a means to an end. Looking back, everything that I have learned at TTS over the past 8-weeks is amazing and I am beyond thankful for the opportunity. Last night I was going over my personal notes from the first week and it feels great seeing where I was then and where I am now. Over the course of this class I have built over 30 apps, learned git, github, Ruby, Rails, JavaScript, HTML, CSS and even a few things that werent on the lesson plan such as testing.

Of all the cool things that we did during class, my favorite and most rewarding would definitley be our final project that two classmates and I completed during the final weeks. We were told to make an app using the things we had learned in class; no guidelines. While brainstorming we decided our favorite thing about class was working with api's, so we looked around the web and found some we liked. We eventually choose a weather api and an event api. Two weeks of wrestling with our code we created Drink Weather, a silly web app that takes a users current location and returns the current weather, an adult beverage recomendatioin based on that weather, and also an activity according to weather and location. Working from scratch really helped cement what we had learned throughout class and the all the mistakes that were made during our creation of Drink Weather made us better coders now. We also became very familiar with working on github as a team, and how to deploy a rails app to heroku. I know it's not perfect, but we all took pride in the creation of Drink Weather.

TTS is now completed and here are the next things on my agenda:

  • Test, test, test. Pretty much every dev that I have had the pleasure to talk with over the past month has mentioned the importance of testing which is one of the areas that TTS did not cover in depth (we only spent one day on testing and really only provided a basic introduciton). I understand why it is important and know I will need to be comftorable with the practice in order to land a job. 
  • Learn VIM- I know that there are mixed opinions on vim, atom, sublime, etc. but after talking to some pros it does seem that learning vim could really improve my proficiency and help with job placement.
  • Sharpen my Ruby- I am most familiar with Ruby of all languages with JavaScript coming in second. When getting advice from people in the industry, one of the things I was most interested in was whether I should focus on learning one language really well or spread my self out and learn the basics of a few languages. Most people said to get really good at Ruby first which will not only help with a job but also with the process of learning a new language in the future.
  • Sharpen JavaScript- Like Ruby, I am familiar with JS and want to continue to improve on it. 

I officially quit my previous job at the end of August and aimed at securing a job within six months. That means I will be employed be the end of February, wish me luck.

-John

12/27/15

Kids Code Volunteering

Earlier this month I had the opportunity to volunteer as in instructor for Tech Talent South's Kids Code class. I have now volunteered for two of the classes and it's amazing how scary 8-year olds can be with their parents in the background. All kidding aside, I was really happy with the experience and even more surprised what one can learn when teaching others. I know everyone says it, but teaching a lesson to others (no matter what degree of difficulty) really helps you better understand the material yourself.

In the class we went over very basic code practices beginning with HTML and working our way up to basic Ruby. The kids seemed to respond well to Mike (our other volunteer instructor) and myself, and even though the material was aimed at early beginners, I still found things to learn. For example, while showing kids how to add an image to a web page, I stumbled to remember the exact syntax to do so (thanks Sublime). I can see how relying too much on text editors, even for simple things like adding an image in html, can be bad when that job interview comes around and asks you to get on a white board. TL;DR Learning never stops :)

-John

12/5/15

Tech Talent South Week 4 Complete

It has been almost a month since my last update... the time has really flown. The Tech Talent South program ends in the next two weeks, we are winding down and I am pleased with the amount that I have learned. Just a quick snapshot of some of the things I have been doing over the past month:

A couple weeks ago we began implementing jQuery into some rails apps. We made an ATM app with js and gave it some simple logic. Once I began to understand the syntax I began seeing why everyone uses jQuery. I added a couple functions that change some css elements so the text displays red if the user tries to withdrawl more money than they have in the account. I also began playing around with allowing the user to hit the enter key after typing in the field instead of manually clicking with the mouse.

Code that allows user to hit enter when finished with number field:

function hitEnter(id, buttonid){
$("#enters").keyup(function(event){
if(event.keyCode == 13 && $(id).val() !== ''){
$(buttonid).click();
}
});
}
then I called the function six times and passed the appropriate id's.

hitEnter('#d_amount','#deposit')
hitEnter('#w_amount', '#withdrawl')
hitEnter('#x2c_amount', '#x2check')
hitEnter('#x2s_amount', '#x2save')
hitEnter('#dep_sav', '#d_saving')
hitEnter('#with_sav', '#w_savie')


I spent a good amount of time figuring out how to make the message turn red when a user requests more money than they had in their account. I eventually wrote two very simple functions that changed the css from red to black:


function red(){
$('#message').toggleClass('warning')
$('#message').text('you do not have enough money')
}

function backBlack(){
if ($('#message').hasClass('warning')){
$('#message').toggleClass('warning')
}
}

then called the functions like this:

$('#x2check').click(function(){
var amount = parseFloat($('#x2c_amount').val())
$('#x2c_amount').val('')

if (savings < amount){
alert("you do not have enough funds")
red()
} else {
backBlack()
savings -= amount
checking += amount
$('#message').text("Your transfer from savings to checking for quot; + amount + " was completed.")
}
})

Two of my favorite things we have done with rails over the past month was using Omniauth to allow user to sign in with an existing account like facebook or google+ and using google maps api and geocoder to that allowed users to find updated bus arrival times. For our facebook log in we used the omniauth gem with figaro to hide our API key's secret. We then used the omni_auth method to to create the user profile using the "provider" "userid" and "name" from facebook. For our bus app we set out to to create an app that would take an address from the user and then let the user know if there is a bus close by. We created a basic form to allow user input and stored nearby buses in an empty array after looping with a do loop. Using geocodes lat and longitude capabilities in our model, we then grabbed the bus system's api using a really cool gem called HTTparty that does all the parsing for us. We then implemented a live google map showing the location of the current bus using ajax.

Next week we will be working on more rails apps and I will finish the last bit of JavaScript on my portfolio site.

-John