NavBar

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:

Tuesday, December 23, 2014

Tuesday's Progress

I finished Kehoe's Learn Rails Tutorial.  I was able to do the whole thing easily while my spouse was away on a trip.  He's back tomorrow, so I will probably be taking some time off during the holidays to relax, bike, and snowboard. :-)  I have a 9-day streak on GitHub.  woot!

I am happy with my progress so far this month.

Monday, December 22, 2014

Monday's progress.


With technology projects, like many other aspects of life, though it seems you’ll never get it right, and never get it done, there are moments when you can savor a sense of accomplishment. This is one of those moments. -Daniel Kehoe, Learn Rails Tutorial

Sunday's progress:

  • Got mailer setup and working.
  • Got site deployed to Heroku and working.
  • Even though I was getting all this stuff done, troubleshooting and fixing stuff, I felt incredibly overwhelmed and confused again about controllers, views, and models.  
  • Felt down because I was confused and felt like I didn't understand anything at all and felt like I hadn't learned anything in the tutorial, but just following instructions.


Today's progress:


  • I got a good 4 hours of studying done at the library before it was time to go home and walk/feed the dogs.
  • In that time, I re-read much of what I had just done/learned in the Learn Rails tutorial. 
  • I googled A LOT.  Learning about RESTful design.  Learning about 'skinny controller, fat model.'  Looking up more about ActiveRecord, ActiveModel, ActionController & Mailer. Looking up about using render vs. redirect_to in the controller methods.
  • Reading RubyDocs like "Rails routing from the outside in."
  • When I got back home, I finished up the bulk of the tutorial, adding segment.io JS to create analytics via google analytics.  And pushed it to heroku and made sure it was working via checking the real-time analytics tracking.
  • I feel a little less completely lost this evening.
  • In the past few days, I've read over 250 pages (and re-read most of those) of the Learn Rails tutorial.  I have about 70 more pages to finish.

Saturday, December 20, 2014

Saturday night.

coding in bed.
Here's how I spent my Saturday late night.... In bed, working on coding while reading Kehoe's learn rails guide. 

So far, I think I liked one month rails' style better for my learning style, but I'm doing the best I can!  I worked on integrating a contact form into my app using simple_forms and google_drive gems.

Friday, December 19, 2014

Thurs and Friday progress.

Not too much progress, I did some more work in Kehoe's Learn Rails tutorial, but not as much as I hoped for.  I learned more about the conventions in Rails, using Foundations CSS styling (not sure I like it more than Bootstrap, but we'll see as I do more with it), and a little review of basic ruby.  I guess I was hoping to be done with it in 2-3 days.  Only excuse I have is that I've been sick.

I'm hoping to feel better over the weekend, get more work done, and extend my 5 day streak of commits on github :)

I also did the git/brew upgrade to fix the security issue with git.  I swear, I can never have a simple upgrade/install on my machine with the command line.  It always requires going to stack overflow to find solutions to my problem.  I also feel like I try one solution, doesn't work.  so I keep going and randomly trying more and more advice.  I wish I understood what I am doing more on there.  I got Git to update finally, only for my terminal to say the old version # when I checked it.  but if I went to upgrade, it said the new version of git was already installed, wtf?  Luckily with a close/reopen of the terminal window, it was only showing the most recent version install and everything seems to be peachy now.  whew.

I've been feeling like I have no idea what I'm doing the past couple days.  Self-doubt.  Hopefully I'll perk up when I start to feel better.  I don't feel like I've been able to think clearly at all and my learning is stunted.

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

Monday's progress

I continued and got through the day 9 material (I'm on day 3) of my One Month Rails pinteresting project.

I made this progress today:

  1. Created a new page.
    • Added new action for the new page in the controller folder
    • Created the new page's HTML in the view folder
    • Added the new page's route to the config/routes.rb file
  2. Learned a little more about embedded ruby.
  3. Created navigation links in my layout.
  4. Installed the Bootstrap-sass gem, updated the gemlist, and added a SCSS file to utilize it.  Whee!  I love bootstrap.
  5. And.... did the Git "dance" (stage/commit/push) several times all through all these updates to my project.

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!


Thursday, December 4, 2014

Getting into a weekly routine.

Lately, I'm trying to establish a good weekday routine.  I like working at home, but feel less productive here and more distracted with the dogs around.
These two can be very distracting to have around.
So, I've been biking down to the main library.  I like it there.  Usually pretty peaceful.  I can get a solid block of time of studying in every day.  Only thing that I dislike is that bathroom isn't free to use!  But, still cheaper than going to coffee shop.  I make my own coffee and bring it with me.

Today, I finished up RubyMonk as best as I could.  I got through all the lessons/exercises and finished all the problems except for 3 of the 16.  I'm like 96% done.  I'm just stuck on a couple and staring at them does not help me understand them better.  I'm not giving up on them or Pine's Learn to Program book, just taking a little break from them and will come back to them when I get a little more experience under my belt.

I'm very itchy to do something more tangible with my coding than these CS brain teaser coding challenges I've been doing... I want to really build my first application!  So, I went ahead and signed up for One Month Rails.  I found a discount code and it was only $74 instead of $99.  Very,  very excited about this!  I went through the day 1 lessons tonight and will soldier on with this tomorrow.  If anyone is interested, here is a link to the discounted price.

I can't believe I've been coding for 3 weeks.  I'm looking forward to see what my progress brings in the rest of this month.

Monday, December 1, 2014

Monday's Progress

Slow progress.  I'm now in chapter 10 of Chris Pine's Learn to Program and I'm hitting the dreaded steep learning curve that I've seen mentioned in reviews of the book.  Exercises and topics are getting harder as the tasks require more complex solutions.  Currently I'm letting my brain recover from learning about recursion.

So, slow progress today.  Instead of getting frustrated, I took a break and looked at the Odin Project - seems like another great learning resource - and started going through some of its tutorials/readings to give my brain a rest from Ruby. I tried to talk through some stuff with my spouse, but I sometimes think it's difficult for him to explain things and think through questions like I need him to since he *gets it* and I don't get it yet.  I'm going to look at the epicodus Ruby coursework and some other online resources to find out more info on working through these lessons on recursion.

I finished off today by reading some inspirational coding blog posts like these one:

I find it's best for me when I don't get something is to step away and let my brain think about it offline for a little bit.  Then, come in fresh and usually I can then understand things clearer.