Sunday, April 26, 2015

I finally finished Hartl's Rails Tutorial.

Very excited about the progress I've made in the past week.  Tonight, I finally finished Hartl's Rails Tutorial... all 771 pages of it!  It took me 2 months to finish it.  I found the book really helpful to clarify and work through some basic rails concepts like sessions and params.  I found concepts I learned in it, I referred back to while tackling work tasks.  I'd definitely recommend it after you get some familiarity with RoR.  Next, I think I'm going to change it up and next tackle learning some JS, particularly AngularJS, in my personal time.  I also have a copy of Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages that I want to tackle reading as well.

Also this week, I setup a dev environment from scratch (for second time ever) on my work mac.   It was pretty painless compared to my first attempt on my own 5 months ago.  I needed some minor guidance, but I think I would do fine by myself when I do it again.  I setup my ruby version manager with rbenv instead of RVM.  It's what my colleagues use and you don't have to deal with creating/managing RVM gemsets, so I wanted to give it a try.

After using rbenv for the past week, I really liked it a lot better than RVM and wanted to change my own macbook over to it.  After reading some posts and talking to a colleague, I was worried though that even if I impoded RVM, it would still leave lingering files on my machine that would muck up a clean install of a new ruby manager... and my worst fear is that I wouldn't be able to fix it... so I originally decided that I would not change my setup.   But, I couldn't resist the challenge of trying to switch over to rbenv from RVM, and, of course, I attempted to do this late on Friday night. :-)  It all went well, though!  I just had to run '$ rvm implode', clean up my bash files of any reference to RVM, restart, update homebrew, then install rbenv and my ruby versions.  There were some minor little issues to resolve when I checked that my projects still ran normally locally, but I worked through everything and it's running fine!  I'm happy that I just did it despite my reservations.

I've been learning some more difficult concepts and working through understanding APIs, client/provider side authorization, OAuth2, OmniAuth and Doorkeeper.  I built my first gem and published it to RubyGems.  It's an OmniAuth strategy for one of the projects I work on that is a OAuth2 provider.  I got to figure out a lot of things while working on it- building a gem with bundler, publishing a gem, writing a gemspec, and building an example app in Sinatra within the gem.   It's cool to think of what I've built recently, when I just wrapped my head around APIs, clients, providers a week or so ago.

It's weird how things have changed for me over the past 6 months.  I worry I've become a bit 1-dimensional though.   I live/breath/think constantly about coding.  It's what I wanna talk about all the time and my main interest right now.  I'm excited about it and can't help myself.  I don't think much about my previous career or have a desire to go back to it.  I just want to keep getting better and faster at writing code.  I wonder if this is just a phase that every new coder goes through or if this is just how it is going to be from now on... :-)