NavBar

Showing posts with label Rails. Show all posts
Showing posts with label Rails. Show all posts

Friday, August 19, 2016

still here, learning and growing.

I've started writing this blog update many times over the past several months but always felt like it was inadequate, too long after the fact of doing something interesting, and I had just missed covering too much stuff over that time and it was too late to share it. So I ended up never publishing anything at all.  

My absence from the blog doesn't equal inactivity. Quite the opposite of that, actually. I'm still at my original & first dev job and coding every Monday through Friday and sometimes on the weekends. I go to tech meetups and even host my own events. Heck, I even co-organized and co-hosted a Stupid Hackathon in Amsterdam.

This year has been weird, stressful, anxious, exciting for both me as a human being and me as a programmer.

Here are the code-related highlights:
  • I've regularly kept up hosting the Coffee & Code meetups I started with another awesome person in January. Every 2-3 weeks we meet up to work on code and generally support each other while drinking a few beers or coffee. It's usually full and regularly attended by a lot of folks. I've actually made some new friends through it...
  • ...And with those friends I made through hosting the coffee & code meetups, we just organized and hosted a stupid hackathon (stupidhackathon.wtf) event. First one ever in the Netherlands? I think so. It was literally a hackathon devoted to developing the most useless and dumb ideas for apps/hardware. We scored some sponsors and hosted nearly 40 participants for an all-day hackathon last Saturday. We had 17 projects presented at the end of the day! Cool stuff. I even worked on a project at the event. We made a lightweight css library for CSS'ing like it's 1996 Geocities again ---> Geolize.css.
  • Also... with those friends from Coffee & Code, we've started our own coding group. We felt our goals and mission no longer matched up with the local railsgirls organization we were previously affliated with. We not only want to get more women excited about coding, but also help them get jobs/internships with companies that are similarly enthusiastic as we are and dedicated to actually hiring them. We will host our coffee & code meetups through our new group & plan to soon host coding workshops and other events.
  • In May, I went to my first RailsConf in the US. As a Ruby/Rails dev, I feel like it was taking a pilgrimage! Utterly amazing. Everyone should try to attend RailsConf at least once... cuz it's fun. and you learn stuff. I applied for and received an opportunity scholarship. I'm really grateful that I was chosen, otherwise there's no way I really could have afforded to go. This is probably the funnest thing I've done as a dev so far. It was my first conference experience. It was awesome to be a scholar and get paired up with a speaker as my guide. I got paired with the amazing Nadia Odunayo. It was really invigorating to go and see/meet some of my Ruby/tech heroes like Sarah Mei & Sandi Metz.  I think RailsConf is probably the highlight of this year as a dev. I even gave a lightning talk - it's my first talk at a conference (don't bother that it was only 5 minutes long)!
  • I finished my 1 year job contract and signed a new, indefinite job contract at my current employer. In the Netherlands, this is what you want if you work a full-time job. It offers a lot of job security (or so I'm told).
  • I've learned some ReactJS through the awesome ReactJS Program by Tyler McGinnis. Highly recommend it - there are really good video explanations in there. I feel like it has helped me understand JS fundamentals better as well as I worked through it. And the intro to ES6 makes me really excited to see the direction that JS is going in. ES6+ is making writing javascript actually kinda pleasant for me. I've actually even built some react components for the production rails project I work on at my job. ;-)
  • I'm working through the FreeCodeCamp curriculum. Slowly. I'm trying to do the individual projects in ReactJS. I'm slow. But I try to work on it when I'm motivated and have the energy.
  • I'm really looking forward to getting more skilled/confident/comfortable with javascript and ReactJS. I really believe that building up my JS skills is a great compliment to what I'm now capable of building in Ruby on Rails and the next logical step for me as a dev. 
  • Next month, I'm attending Euruko with my colleague in Sofia, Bulgaria. Pretty excited to go to another Ruby conference after having such a stellar time at Railsconf. It wiill be even more awesome to share the experience with my colleague.
So, I'm still around... growing as a dev, figuring out interesting/frustrating problems, and trying to contribute to the local coding community positively. I'm still happy that I changed careers and I get to code for a living. 

More than anything, right now I'm trying to find a balance between the constant need to "always be learnin'" with also needing to be a real human being that takes rests and does other interesting things to keep my brain happy and keeps me a dynamic and interesting person and not a grumpy, dry code bot.

Monday, October 5, 2015

My ~10 months of coding: an update.

Wow, I can't believe I haven't post for such a long time.  Sorry about that.  Even though I haven't been posting about my progress, I've still been busy coding, reading coding books, and even attended a small conference, and also took a few weeks off for a much needed vacation.

So, to recap, I've been learning to code for ~10 months and working professionally as a Ruby on Rails developer for ~5 months.  I feel I've learn a lot and progressed a great deal over the past months in my knowledge about Ruby and Rails.  I still get stuck on things, but not as often.  I can work through most things pretty independently.  Of course, I still like to talk through things with my colleagues because sometimes you find a better way to do things by just talking about it with another coder.  One thing I need to work on for the next few months is learning beyond Ruby by trying to do more JS and other languages.

I try to always be reading a coding book during my free and commuting time.  Most recently, I read Eloquent Ruby (a good review of basic Ruby concepts!).  I started reading Design Patterns in Ruby and, somehow, I'm not challenged with just reading one coding book :-P, so I am also concurrently re-reading Sandi Metz's Practical Object Oriented Design in Ruby (POODR) on my commute.

My mornings.  7:30 am.  On the train and reading POODR.


I read POODR about 3 months ago for the first time.  I really liked it and learned some stuff, but to be honest a lot of the concepts were hard for me to get a good solid grasp of.  I have only re-read the first couple of the chapters, but I can already tell a difference on how well I am getting the concepts.  It feels really good to be more comfortable and have a better understand of object-oriented design concepts this time around.  It means I'm still learning and progressing.

I took a few weeks off at the end of August to go back to the US to go to Burning Man.  It was my second burn and was simple amazing.  I was worried it wouldn't be as moving as my first time, but luckily it was even more amazing.   I met a bunch of cool people, had meaningful conversations with strangers, wore my amazing fiber optic dress, danced all night, and generally just had a blast.  No phone, no internet, lots of dust.... ;) it was a great recharge for my spirit.  Just like my first time, it helped me refocus and re-evaluate where I am, who I am, and where I wanna go right now in my life.  It also reminds me of what/who I appreciate in my life and what is really important to me.

Riding around in the desert by the light of my dress.
A few weeks ago, Google had the first ever Polymer Summit in Amsterdam.  Polymer is a google framework for creating web components.  It's a bit out of my comfort zone since it is more front-end oriented than backend, but I spent the day learning how to use polymer and how get the most benefits out of it and the tools it provides.  I'm super excited to use it.  I've already started on a pet project to remake my personal site out of polymer.

This weekend there is another conference I will be attending - the Google DevFest in Amsterdam.  It's more oriented to mobile dev, but there is a workshop on Angular 2 that I'm really looking forward to attending.

I'm also helping out with the RailsGirls meetups.  I will be hosting the December meetup in Amsterdam.  I'm still working out ideas for it and planning for that.

And if all that doesn't keep me busy enough, I'm super close to my moving date and officially will be a resident of Amsterdam in a couple weeks!  So excited for that.  I'll trade a 1.5+ hr train commute every morning and evening for a 20 min bike ride.  

Saturday, June 13, 2015

June 13: Dabbling in Elixir, more jQuery, more Ruby.

I didn't do much coding outside of work during the week.  Work has been fine, I feel like I'm progressing at a good rate, but outside of work, it was a rough week, so I couldn't put in much effort to coding during my free time.

But, I did spend late night friday/early saturday morning working through a Elixir tutorial that I had been wanting to tackle for a few weeks.  I successful went through it pretty quickly and got a fairly simple CRUD quotes app working perfectly locally.  However, I spent more time than that trying to get the deployment to Heroku (not in the tutorial) to work and failed.

To make sure it wasn't me or a dev environment issue (didn't figure it was, since it was running perfectly locally, but did it for a sanity check...), I cloned another sample elixir app and quickly set it up and deployed it easily, so I think based on the heroku error logs that there's some maybe dependencies issue going on.  It's kinda weird working with such a new framework like Phoenix, where it is so new that you git clone the framework directly onto your machine to use it.  For this specific tutorial, I was git checking out a specific branch with an older version of the framework to use... and maybe in deployment that's getting jacked.  I think maybe this is where my issue lies, but I'm not sure.  I gave up on trying to fix this project's deployment, I'd rather spend time learning something else or doing my own independent project to practice that waste more time on this one.  I'm glad there was this tutorial to do, but I wish it would have spent a lot less time on making the CSS snazzy and instead go through the deployment process.  I'd like some reassurance that this app was successfully deployed with its specific config settings even if it visually looks ugly! :-/

Today, I also finished up another segment in the Treehouse jQuery course.  I'm 1/2 through that course.  It's hard jumping back into studying something like jQuery with several days of break in between.  Takes a while to get my head back in it.

I'm still slowing reading POODR, probably 3/4 through it.  It's getting more difficult to keep up at the end.  But, I'm just trying not to get hung up on every little thing that's over my head and power through for now, since I plan to re-read it again in a few months.

I constantly feel like I need to keep pushing to learn and try out other languages like JS or elixir and not be solely vested in Ruby, since who knows if/when Ruby on Rails is going fade into the background.  But after experimenting with Elixir, it's clear that I really do love coding in Ruby.  It's just such a readable and pretty language, I'm not sure how you couldn't like it.  I'm really glad that I started out my coding adventure with Ruby and Rails.  And I'm happy it's what I work with, at least for now.

Thursday, May 14, 2015

Learning Javascript....

The social networking of coding community is an amazing part of being a software dev.  I have really enjoyed connecting with new folks through emails and twitter.  It's funny that I've also gotten in touch with 2 former colleagues that have or are in the process of making the transition from scientists to software devs!  It's been great to share tips about learning resources and experiences so far.

Since I've very interested in learning JavaScript, jQuery, Angular, etc right now, one of those colleagues who has learned JS himself suggested I check out Treehouse for their JS resources.  So I did.  I have a couple months to check it out for free, so I started today on their Javascript Basics course.  I got 1/2 through the coursework today.  It's extremely basic stuff right now... beginning syntax, using the JS console in the browser, variables, etc.  They have a lot of resources from JS to jQuery to NodeJS to AngularJS, so I'm excited to check it out and see how their material progesses.  One thing that really bugs me with a lot of the online resources is that the coding takes place in their own browser based workspace environment rather than locally.  I do not like that.  I guess it is a ok way to learn the basics, but it bugs me to not have a record of my work and progress locally or on github.

I haven't studied too much Ruby/Rails outside of work this week.  I'm pretty immersed in it during the day since it's my full-time job, so it's nice to break that up with learning JS outside of work.  I have had some moments lately where things that previously did not make a lot of sense getting clearer in my mind and I feel good about it... I can see that I'm making progress.

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... :-)

Monday, March 30, 2015

Week 7 and RailsGirls Coaching!

I finished week 7 of my dev internship.  What a busy week... LOTS of coding, a little dutch practice and a RailsGirls event!

At my internship, I worked on some new features for one of the projects.  One of the main things I worked on last week was adding a form that was tied to other model inside the view of another.  I have had to do this once before and it was definitely tricky for me to wrap my head around how to do this.  In the beginner tutorials, it's easy... You never add a form for another model inside some other view, you put a form in the view of that model and use a simple form_for tag with your instance variable correctly defined and it's easy.  I figured out most of the solution on my own and was proud of that.  I found this blog post helpful in figuring it out and also helping me understand using form_for and form_tag better.

On Friday evening and all day Saturday, I coached at my first RailsGirls event in Utrecht.  I was definitely nervous about coaching since I feel like a huge beginner myself most of the time.  I was worried I would be useless to my students.  Luckily that was not the case.  Coaching helped me realize that I have learned a lot about coding and rails in a few short months.  I was able to help students get their dev environments setup on their machine... even a windows machine (eek!).

What I wasn't expecting was how emotional the event would be.  There was several other coaches that shared their stories of getting into coding, many taking their first steps at a RailsGirls workshop just like this one.  It was also humbling to hear the story of some of my students who are eager to learn coding so that they can change their careers and better their lives despite difficult situations.  It was pretty inspiring.  What caught me off-guard was hearing that I am an inspiration to them.  I guess I never thought of my journey as being able to inspire someone else or being that impressive.  I know since November I have studied and coded nearly every day.  And I struggle to improve my dutch language.  But I am very lucky to have a partner that supports me and allows me to take risks like changing my career.  I am impossibly hard on myself and think that I should know more than I do at this point in my learning.  I do recognize how hard I have worked and continue to work towards my goal of being a Rails developer and, even though, I work as a jr dev intern right now, I don't consider myself successful in my goal until I am a full-fledged developer with a real salary and leave interning behind.  Hopefully in a few weeks that will be the case.

Tuesday, March 24, 2015

Halfway through my jr dev internship.

I finished up my 6th week at my internship last week.   I'm halfway through my 3-month program.  For me, it was another busy week of working on different tasks for real project code.  I follow a similar formula for everything I build: think about what needs to be built, write a suitable feature test in Cucumber, go through each step in the feature by letting the test steps guide my coding.

I have started working through Hartl's Rails tutorial during my morning and evening train commutes (as long as I find a place to sit).  I felt that only working on it during the weekend was counter-productive since I spent a good bit of time trying to figure out what I was working on from the last time.  I was able to work through 3 chapters last week by simply doing it during my commute!  The book is great and is helping me go back over basics that I might not have fully understood when I started learning Rails.  Plus, reviewing these things while I am doing project work is really helping me think through concepts a lot better.

On Saturday, I finished the third and final week of the free online MOOC Dutch course from futurelearn & University of Groningen.  I really liked the course!  I think it was a good supplement to the in-person course I am taking.  I only wish this course had lasted longer than 3 weeks!

I went to a RailsGirls workshop on Sunday and learned about MeteorJS.  I built a simple to-do list app.  It's easy to follow and I recommend checking it out on their website.  I was super impressed with the ease to setup Meteor (1 command in terminal and it was ready to go.  No error messages - whew!)  It was also really cool how easy/quick it was to deploy it and even make the android APK for my deployed app.  Super easy.  Once I finish Hartl's Rails tutorial, I want to start learning JS and I might try building more in Meteor to get more comfortable with JS since I liked the framework.  I don't think Meteor is at the point that it is production ready since it is so new and they are still adding features.  But it is still really cool to try out

I am still taking an in-person dutch course 1x/week.  I have kinda put dutch on the back burner during the week, since I'm so focused on coding right now.  What I need most for my dutch to improve is to have a patient speaking partner.  I have asked a dutch friend to start meeting with me on the weekend to practice.  Hopefully I can make that a regular, weekly occurrence and get some noticeable improvement with my dutch.

Sunday, March 15, 2015

Week 5 of my internship: Update

Week 5 of my internship is done.  Working on Bitbucket on 2 different projects.  It's definitely a lot different to work on existing code and not writing a simple app from scratch like in the tutorials.  I have to spend time reading and figuring out what is going on in the code.  But I figure out things or I ask for help to figure them out.  One of the applications is in Dutch including the cucumber feature tests.   I think I'm doing ok with it.

This is pretty much sums up how I feel all the time and will for a long time:  "Programming is awesome if you like feeling dumb and then eventually feeling less dumb but then feeling dumb about something else pretty soon."  I hope I'm learning enough and learning it fast enough.

On Saturday morning, I worked through all of the second week's coursework of the online dutch MOOC course I'm taking through futurelearn and the university of groningen.   I didn't work on any code on Saturday.

On Sunday, I finished Chapter 5 of Hartl's Rails tutorial.  It's frustrating to only work on the tutorial during the weekend.  It's hard to pick it up after not touching it for a week and know where I was, where to go.  I need to try to maybe work a little during my train commute on it during the week.  I want to finish this book!  It was a goal of mine since I first started coding a couple months ago.

Here goes week 6....

Wednesday, February 25, 2015

Week 3 of internship...

I'm in the third week of my apprenticeship.  I'm getting used to the commute every day back and forth to Amsterdam.  It's getting better... I'm coming home with more energy.  In the morning, people are so stressed out.  I try to stay out of others way, I don't care about pushing through everyone to get some specific seat on the train/etc.  I try to stay calm, not sweat stuff, and I usually study dutch on my phone using the Memrise app.  In the 3 weeks I've been commuting, I've learned ~375 dutch words using the app.  It's a great way to work on learning vocabulary every day with minimal effort.

Mondays are still the worst since I have the dutch course in the evening, but I'm managing.  I've even had energy the last 2 evenings to get back into doing yoga when I get home!  Very happy about that.  With the daylight increasing incremently everyday, I'm hopeful I can start going out for evening jogs a couple times during the week once it stays light enough for me to feel comfortable doing so.

I've pretty much finished up the bloccit app in the bloc foundations course.  I've started getting my feet wet with real project work with some (very) small testing tasks to work on.  I even did my first pull request for a real project today.

Tuesday, February 17, 2015

Tuesday update

I'm in the second week of my internship.  I am following along the bloc.io coursework, on the first part of the program - foundations - where you do some ruby coursework, then dive into a tutorial (with varying levels of help given) to make a reddit clone with images, avatars, deep nesting, etc.  It's supposed to take 4 weeks to complete, but I'm already at lesson 41 of the 52 after 1.5 weeks.  The coursework is good, I'm hoping to finish it this week... so I'd finish the 4 week project in 1/2 the time.  I'm working 36 hrs a week + a 3 hr roundtrip commute each day.  If that daily commute itself doesn't show I'm committed, I'm not sure what will.

Wednesday, February 4, 2015

Wednesday.

I finished chapter 13 of the Beginning Ruby by Peter Cooper. It covers Rails, Sinatra, & Ramaze.  Book is really showing it's age when the Rails version is 2.2.  :(  At least in the example Rails app, it gave me the opportunity to figure and update the old rails way to the terminology of Rails 4.2.  The intro to Sinatra was a nice bonus though.

I am thinking of moving onto Hartl's Rails Tutorial.  I want to move back into Rails learning and I want to be working with a more up-to-date book/tutorial.  I've gotten further than I thought I ever would in the Beginning Ruby book... 13 chapters, over 400 pages of Ruby code learning.  The following couple chapters of the book are on GUI-Based Desktop Application Development, Sockets, Daemons, etc.   I got the basics that I wanted to learn and I want to keep studying those basics in different ways and through building more and more applications and doing coding challenges like codewars.

Of course, I'm keeping up with doing some codewars.com challenges every day.  I am also doing at least 1 dutch lesson everyday.  I need to also learn 5-10 dutch irregular verbs and their past tenses every day too.

Wednesday, January 14, 2015

Wednesday's Progress

I'm taking a short break from working on Rails projects to go back to learn more Ruby.  As I am gaining a better understanding of the Rails framework, I need to go back and get really solid on Ruby.  I think I'll understand it better now since I've been building stuff with Rails.  I started reading Beginning Ruby by Peter Cooper (while I was getting my hair done).  I am also working through Codeacademy's Ruby course at home.  It's going good!  Definitely breezing through it so far, whew.  I'm glad to find that I've understood more Ruby than I thought.

I finished reading Practicing Rails by J. Weiss this morning.  I enjoyed it since the book is kind of like a pep talk to keep you going when you are starting out doing Rails and following tutorials...but its not worth it at its current price of 29$.  I think the price was too much for what the book offered.

I also downloaded Sublime Text 2.  I've been using Atom (free) since I started coding and originally setup my dev environment, but I want to try out what else is out there.  I customized the theme and font and some other options.  Looking forward to trying it out more.

I'm still debating the online bootcamps.  I emailed Tealeaf to see if they've had any success stories/students from the Netherlands and they didn't know of any.  That was kinda disappointing for me.  The core problem I have with the online bootcamps (besides the high cost) is getting the relevant mentorship that is going to help me get a job HERE.  I'm ambitious; I have no problem putting in the hard work and to get better at this stuff.  Yesterday, I stumbled upon a possible jr dev/internship position which I am extremely interested in, and I've applied for it... this would really be the ideal situation for me, but I will just have to wait and see.

Monday, January 5, 2015

Monday's Progress.

Not much to update.  No break throughs.  Lots of frustrations.  I'm just working hard and studying everyday.  Riding the cycle of feeling accomplished to feeling like the dumbest person ever.

I've been going through Jumpstart Labs Blogger Tutorial.  Spend most of the day figuring out the section on tagging.... creating Tag and Taggable models and using the Taggable model to set the relationships between Articles and Tags.  Learning about foreign keys (think I got it), but got really really hung up today on this:

def tag_list=(tags_string)
tag_names = tags_string.split(",").collect{|s| s.strip.downcase}.uniq new_or_found_tags = tag_names.collect { |name| Tag.find_or_create_by(name: name) } self.tags = new_or_found_tagsend
particularly the first line of:
def tag_list=(tags_string)
This took me hours (HOURS!) this evening/night to figure out.... never seen def method equals something in my rails work before! And it took me hours to figure out this is a setter. I think I understand it now.... since tag_list is not defined in the Article model/table/schema as an attribute it can't save the tag_list when it tries to create the new Article object. we have to define it in a method in the Article model (what we are doing above) so our tag values we input in the form when we create a new article will be saved. Lots of googling and talking about it with my husband and re-reading this part of the tutorial over and over, and I finally got it. WHEW.





Thursday, January 1, 2015

Week's Updates....


Still working through Practicing Rails book...  I got side-tracked doing the basic Rubyonrails.org Getting Started Simple Blog tutorial.

I also found a Udemy course on creating a Craigslist clone using RoR that I blasted through and completed in 2 days, over NYE and New Year's day!  It didn't use any scaffolding and involved doing different things than I have in other tutorials - populating db using seeds.rb, geocode gem, creating a search function using JS, 4 models interacting with one another, etc.  It was a good tutorial and helped take some of the automagic mystery away from RoR.  I appreciated that it didn't rely on scaffolding to build out folders and files in the MVC, I feel like my understanding is getting better and better.  I think I'm going to be in good shape when I tackle Hartl's Rails tutorial soon.

My husband is going through One Month Rails before my subscription ends.  Adding RoR to his programming background is a good thing and will allow us to pair program and work on a project together.  I hope.  It's sometimes hard for me to expect him to want to learn/do more programming when he has been programming in another language/enviro all day, every day for work.

Saturday, December 27, 2014

Week's Progress

I started reading Practicing Rails by Justin Weiss.  Kinda pricey ebook and I'm not convinced it was worth the price so far.

I started working on (and deployed to Heroku) a site for a small machining business.  This is my first solo project I've done without following a tutorial (even though I used my past tutorials as references).

The big features of this project are:
  1. Creation of a contact form that emails site owner directly when a visitor sends a contact request.  No database- it is similar to the app I built during the Learn Rails tutorial.  The contact form uses ActiveModel class.
  2. Utilized Bootstrap theme template for the design.  This was the first time I've tried to adapt and customize a pre-designed template for a Rails project.  Definitely had its frustrating moments!
Of course, during the process, there were little issues that came up and required troubleshooting, but I got it all fixed and working!

What I learned during this process was that I need to work on planning work and creating sketches of the pages I'm making so I keep myself limited to one task at a time and not spread out and skipping around from task to task.    This mainly happened when I added the bootstrap features and started adding the div classes to each individual view for the bootstrap template design.

Oh, and my github streak is up to 13 days!   My understanding is better of Rails framework.  Thinking of how things go together in MVC is going better for me.  I'm pleased with that.

Goals for next week:

  • I'm going to keep reading Practicing Rails.  Try to finish this week.
  • Work on a personal website for myself.
Goals for January:

Thursday, December 18, 2014

Learn Rails Tutorial started!

I started Daniel Kehoe's Learn Rails book on Tuesday.  I'm excited to do this tutorial!  I decided to do it before starting Hartl's Rails tutorial to get more practice and because the application I will be building during the book will be suitable for a small business... it includes contact form and mailing list features.  This will be great since the first independent project I'm going to take on is making a new website for my dad's business!

I got through chaper 12, setting up my new project and getting git setup along the way, and then got stuck for hours on the dumbest mistake ever.  I'm pretty embarassed that I wasted my evening on such a silly error.  I was editing my .bashrc file and secrets.yml file in the app to setup environment variables in the bash file so they aren't revealed in the secrets.yml file.  I kept getting one of two errors:  my secret_key_base wasn't defined in the secrets.yml file and an error similar to this one: "ruby/2.1.0/psych.rb:370:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 18 column 1 (Psych::SyntaxError)"

After systematically going through replacing variables in secrets.yml file with hard values, checking the multiple bash files on my computer for conflicts (bash_profile, bashrc, profile, zshrc, etc), I finally found the problem and felt so dumb.  When I was opening up my bash files, I was just clicking them in Finder and the default textEdit program for Mac was opening them instead of opening them in my text editor, Atom.  So, the problem was, that the textEdit program was adding formatting that couldn't be interpreted properly by my computer.  DUMB!  Once I went through them and re-did my bashrc file in Atom, it all works!

I could continue to beat myself up for making this mistake, but it is better to laugh at it and learn, and never make it again!

Tuesday, December 16, 2014

My One Month Rails "Pinteresting" App is finished! Woot!

Over the weekend, I didn't do much coding.  I did make it to the Railsgirl meetup and learned some stuff on JS (specifically Coffeescript) and Associations.

So far this current week, I've been busy working away at my Pinteresting app in One Month Rails.  I've done a ton in the past two days to get it finished!

  • Utilized the jQuery Masonry gem so that images move around (with transitions) to fit the page width.  Oh... did I mention that since I built it with bootstrap, it will look great on tablets and mobile devices? ;-)
  • Updated styling for displaying single pins on a page.
  • Added Edit, Delete, and Back icon using bootstrap's Glyphicons.
  • Changed up the root route so that all pins are displayed on homepage.
  • Updated pins controller to change how the pins are ordered.
  • Added pagination using will_paginate gem and limited number of pins displayed on a page to 8.
  • Added user names and subsequent validations.
  • Yay!

I started it less than 2 weeks ago and I can't believe that I've finished it.  I've learned a lot and can't wait to start the next RoR project (Hartl's Rails Tutorial)! Edit:  I've decided to do Daniel Kehoe's Learn Ruby on Rails first.  In that I will make a web app suitable for a small business, which will be great, since I want to do this for my dad's biz!  I want to redo my dad's business's website.  It's in terrible shape and needs help, and then I can also add it to my portfolio.

Of course, the Pinteresting app didn't always go smoothly and I used google and stack overflow to troubleshoot and fix problems.  My last issue was relating to a precompiling issue in my production environment.  After I finished the build today, I went back and jazzed up the css styling.  I added a background image to the jumbotron on the main page.  It was looking fine in development on my local host, but in production on heroku, it wasn't showing up and was giving a 404 not found error for the image.  I looked on stack overflow and found that others have had this issue too!  I followed some advice and it works now!

So freaking proud of myself!

Snazzy.

Friday, December 12, 2014

Thursday and Friday's progress!

I really immersed myself in the One Month Rails course for the past 2 days.  In the course, I am making a pinterest style app.  Here's what I've accomplished during the last 2 days:
  • I got through setting up users with the devise gem and migrating everything successfully to Heroku.
  • I styled the new user sign up and log in pages using Bootstrap 3.
  • I then worked on generating the pin scaffold and connecting pins to users.
  • I set up user authorizations so pins couldn't be deleted or changed by anyone other than the user that set them up.  And pins can only be seen by logged in users.
  • I installed the Paperclip gem and added the ability to upload and edit images on the pins.
  • Whew.

I'm on Day 25 of the curriculum, ~72% through the course.  Feeling really good with my progress.  I'm not just trying to blast through the videos and mindlessly do the actions.  I am taking thorough notes and really trying to understand everything.  I am a little shaky on understanding the migrations (how do we know what to type into those exactly to get the desired elements added to our database correctly?) and the methods in the controllers, but I know the more I do it, the more I'll understand.

Here's how it is shaping up...

Editing a pin - Can add an image and description.  Clean formatting thanks to Bootstrap 3.


Here's a saved pin with image and description!

Not sure how much I will work on it this weekend.  I am anxious to continue, but also like to spend time with my partner.  I may be away most of tomorrow on a trip and Sunday is the RailsGirls meetup.

Wednesday, December 10, 2014

Progress update: 10.12.14... I am loving One Month Rails so far!

Things are going a little slow, but well!

I've been continuing with my One Month Rails project.  I really like it so far.  I have been working on adding Bootstrap elements and customizing the look of my app so far.

I added a NavBar and fixed up the layout and colors to look nicer.

Looking good!


And the big achievement today.... I got my app online with Heroku! It's live!  I have a few issues I need to fix/understand.  Heroku warned me to specify my Ruby version as best practices but there are 2 issues with doing this.  First, I have built the app using Ruby 2.1.4 but it says to specify 2.0.0 in the gemfile.  If I do this, it messes up RVM and ability to run rails server (doesn't show the rails gem at all).  I'm confused and I've reached out to the teachers at OMR for a little guidance.  In the meantime, I removed the ruby version specification so I don't have any issues running locally for now.  Updated:  I fixed it!  I needed to do a bundle install and I cleared it up and the gemfile is now specified for Ruby 2.1.4.  If in doubt, always bundle install. :-]

I also had an issue with my google font not working on Heroku, but a quick search on stackoverflow and I fixed that issue and pushed the update to heroku.

Also... I got the files setup on my computer for the next RailsGirls meetup on Sunday and took a look at the this Git/Github tutorial, although it is very similar to the one in the One Month Rails videos, so it was  review, but I'm getting more comfortable with using Git and use it often.

I couldn't stay away.... and I worked on it some more tonight and got the Devise gem installed and I am ready to start generating users to my site tomorrow!  Wheee!

I feel like today, I accomplished a lot.  :-]

Monday, December 8, 2014

Progress Update for last friday and the weekend....

Last Friday:


  • Worked through Day 2 - 6 of One Month Rails tutorial.  I created my new project folder in rails, created a new home page, & setup the new root path in routes.rb file.  
  • I did get bogged down a bit with section on Git.  The tutorial was spot on, no problems with it, but I decided to go back into a project that I had already added to github but hadn't tracked in git locally and made a mess of it!  After tooling around for an 1.5 hr I finally got it sorted.  And, in the process, I went through a couple of git tutorials and lots of searching on stackoverflow.
  • Also, in browsing twitter feed, I found out about Meteor and started looking into it.  It seems really cool and I want to check it out further.  I dl'd it and started going through their intro tutorial before I got too tired to concentrate anymore for the night.  Will look at it again soon.
The Weekend:
  • No progress made.  I took the weekend off.  I spent time with my partner.  On Sunday, we took the train down to Brussels, Belgium to go to the big Christmas market there.

Brussels!