Witty.ca - Mr. Rich's Professional Archives

  • Home
    • Lunch
    • Support
    • Intro
  • Courses
    • Course Listing & Updates
    • DMS 2021-2022 >
      • Tech and Design Grade 6
      • Tech and Design Grade 7
      • Tech and Design Grade 8
    • HCS Archive 2015-2016 >
      • HCS'15 Media Studies 120
      • HCS'15 Nutrition for Healthy Living 120
      • HCS'15 Visual Art 9
      • HCS'16 Intro to Electronics 110 >
        • Purchasing a Computer in 2016 >
          • HCS'15 Visual Art 110/120
      • HCS'16 Housing & Design 120
      • HCS'16 Visual Arts 10
      • HCS Winter Decoration Ideas
    • HCS Archive 2014-2015 >
      • HCS'15 - Digital Production 12
      • HCS'15 - Graphic Art & Design 11
      • HCS'15 - Media Studies 12
      • HCS'15 - Visual Art 10
      • HCS'14 - BBT 10
      • HCS'14 - Info Tech 11/12
      • HCS'14 - Visual Art 9
      • HCS'14 - Visual Art 11/12
      • HCS Art Club
      • HCS Announcement Text
    • HCS Archive 2013-2014 >
      • HCS'14 - English 12
      • HCS'14 - Graphic Design 11
      • HCS'14 - Individual & Family Dynamics 12
      • HCS'14 - Info Tech 12
      • HCS'14 - Social Studies 8
    • Student Introduction Form
  • Tech Units
    • Safety & Citizenship >
      • Work Place Safety
      • Digital Safety & Citizenship
      • Digital Communication
      • Digital Rights & Responsibilities
      • Digital Etiquette
      • Digital Wellness
      • Digital Business
      • Digital Access
      • Digital Literacy
      • Digital Law
    • Vector Graphics >
      • Inkscape Act.1
      • Inkscape Act.2
      • Inkscape Act.3
      • Inkscape Act.4
      • Inkscape Act.5
      • Inkscape Act.6
      • Inkscape Challenge
    • Excel
    • Audio / Video >
      • Sound (Audacity)
      • Video (One Minute PSA)
      • Make a Movie Trailer
      • Blender Video Editor - Test
    • Automotive >
      • Auto - Careers
      • Auto - Engines
      • Auto - 4-Stroke vs 2-Stroke
    • Raster Graphics >
      • How to Submit - Raster Graphics
      • Photoshop Activities
      • GIMP Overview
      • GIMP Install & Setup
      • GIMP Activity 1
      • GIMP Activity 2
      • GIMP Activity 3
      • GIMP Activity 4a
      • GIMP Activity 4b
      • GIMP Activity 6a
      • GIMP Activity 6b
      • GIMP Activity 6c
      • GIMP Activity 6d
      • GIMP Activity 6e/f
      • RG Final Project - Magazine Cover >
        • HCS'16 Graphic Art & Design 110
      • RG Final Project - Cereal
      • RG Marking Breakdown
    • Coding - Teacher Start
    • Python (Coding) >
      • Python - CS 110 PD - July 2016
      • Python - CS 110 PD Part 2 (Projects)
      • Python - CS 110 PD Part 3 (GUI)
      • Install Python 3.5 + PyGame
    • Scratch 2 (Coding) >
      • Scratch 2 - Introduction to Coding
      • Scratch 2 - How to
      • Scratch 2 - Introduction
      • Scratch 2 - Frogger (p1)
      • Scratch 2 - Frogger (p2)
      • Scratch 2 - Frogger (p3)
      • Scratch 2 - Frogger (p4)
      • Scratch 2 - Frogger (p5)
      • Scratch 2 - A 2nd Project
      • Scratch 2 - Teacher Notes
      • Scratch 2 - Choosing another language
    • Scratch 1 (Coding) >
      • Scratch (Scripts 1 & 2)
      • Scratch (Script 3)
      • Scratch (Frogger)
      • Scratch (Frogger 2)
      • Scratch (Frogger 3)
      • Scratch (Frogger 4)
      • Scratch Mini-Challenge 1
      • Scratch Final Project
      • Notes for Teachers >
        • Teaching Scratch
    • Design (AutoCAD) >
      • Design Act. 1
      • Design Act. 2
      • Design Act. 3
      • Design Act. 4
      • Design Act. 5
      • Design Act. 5b and 5c
      • Design Act. 6
      • Design Act. 7
      • Design Act. 8
      • Design Act. 9
      • Design Act. 10
      • Design Act. 11
      • Design Act. 12
    • Design (Sketchup) >
      • Sketchup House Setup
    • Portable Apps >
      • Cam Studio
      • Virtual Dub
      • Scratch (and Zip File for Students)
      • TuxPaint (and Zip File for Students)
      • TuxTyping (and Zip File for Students)
      • Google Chrome
    • Project Management >
      • Intro to Project Mgmt.
      • Assignment for Project Management
    • Database >
      • Tasks Database
    • Final Projects and Exam Review >
      • Final Project - BBT 10 - 2015
      • Final Project - Digital Production 2015
      • Final Project - Media Studies 2015
      • Exam Review 2013
    • Cybersecurity
  • Art Units
    • Elements and Principles >
      • Elements of Art
      • Principles of Design
    • Photographic Composition
    • Visual Art 9
    • Graphic Art & Design 110 >
      • Colour Theory
      • Layout
      • Fonts and Type
    • Visual Art 110
    • Previous Box Projects - Visual Art 10
  • Other Units
    • Housing >
      • How to Design a House
    • Media Studies >
      • Media Studies Handouts
      • What is media? Why study media?
      • Film, Television and Video
      • Advertising, Marketing and You
      • Media and the Internet
      • Self-Study Project
    • Nutrition >
      • Recipes >
        • Black Bean Cake and Cupcake
  • Sports
    • Volleyball >
      • NMS Volleyball 2019
      • Volleyball Contact
      • (Old) Volleyball 2017
      • (Old) Volleyball Spring 2016
      • (Old) 2016 Tournament - MS Boys Volleyball
      • (Old) Volleyball Spring 2015
      • (Old) 2015 Tournament - MS Boys Volleyball
    • Soccer >
      • (Old) Soccer Fall 2015
    • Basketball
  • Blogs
    • Computer Science Blog
    • Personal Blog
  • Contact
  • About
    • About Mr. Rich
    • About Technology and Computer Science
  • Archives
    • Teaching Software >
      • Purchasing a Computer (notes) >
        • Purchasing a Computer
        • Computer Scenarios
        • Computer Presentation
        • PAC Test Instructions
        • PAC Peer Review
        • How to Submit Computer Comparisons
        • How to Submit Computer for Helen
      • Scratch 2 (Coding)
      • Scratch 1.4 (Programming)
      • ARCHIVED - GIMP (Raster Graphics)
      • ARCHIVED - Inkscape (Vector Graphics)
      • AutoCAD (2D Design)
      • Sketchup (3D Design) >
        • Google Sketchup (2011)
        • Google Sketchup (2012)
      • Excel vs Calc (Spreadsheet)
      • Cam Studio (Screen Capture Videos)
      • TuxPaint (for young kids)
      • TuxTyping (Typing Tutor)
    • Links >
      • Career Links in Fredericton
      • Job Hunting Tips
    • Presentations >
      • Scratch Workshop Oct 11, 2013
      • Scratch Workshop Sept 18, 2013
      • Math for French Immersion
    • Software That Is No More >
      • Setup (for an older version of Weebly) >
        • Setup - Day 1
        • How To Setup Your Weebly Pages
        • Marks (link to Canvas)
        • Web Portfolio
    • Previous Teaching >
      • Old Teacher's Logs >
        • Teacher's Log 2015-2016
        • Teacher's Log 2014-2015
        • Teaching Notes - Hartland 2014
        • BBT9 Teacher's Log (Apr-June2013)
        • BBT9 Teacher's Log (Jan - Apr 2013)
        • BBT9 2012
      • Sept2010-Jan2012 >
        • Old Home
        • Middle School >
          • Literacy
          • Social Studies 6
          • Social Studies 7 >
            • Online Test - Canada at Confederation
      • Jan2012-Nov2012 >
        • Book Blog >
          • Blog to Book
        • About Mr Rich
    • PD Sessions >
      • BBT9-10 Oct6 2016
      • BBT Teachers PD (Jan 2013)
      • Cyber-bullying (May 2013)

A fresh Rails install...

20/6/2012

1 Comment

 
Picture
Well, it's been so long since I was working in Rails, that I've decided to start over again with a new-to-Rails system.  I'm re-commissioning an old laptop running WinXP, so I used the Ubuntu WUBI installer (google it) and then I chose to load Lubuntu into a 20GB partition.  [Yes, I defragged first, using Defraggler.]   (If you're not a super geek and you want a lightweight Linux variant that is specifically built for older computers, I recommend Lubuntu.)
...


Read More
1 Comment

Back to the Future (Rails, that is...)

17/6/2012

0 Comments

 
Picture
With summer on its way, it was time for me to decide where to spend some extra time.  It's great having a daytime gig, but I needed to learn something new.

To my horror, I discovered that I'd lost almost all of my Rails skills.  But then I received an email from Michael Hartl that his 2nd Edition of the Ruby on Rails Tutorial (PDF & videos) were now available!  Talk about good timing!

So, I'm off to start the new installation with the latest version of Rails, and we'll see where it goes.

What's different this time? Only that I'm developing on an older laptop (2.5GHz AMD64 with <1GB RAM), so I'm running LXDE on Ubuntu.  Here we go!

(ps. I didn't realize Ubuntu's defaults would run so slowly on my old laptop, otherwise I would have done a proper Lubuntu install from the start.  Instead, I now have this hard drive chock full of desktop managers: Unity, Gnome Fallback, XFCE and now LXDE!  They all work, but I'm definitely impressed with the speed of LXDE.  And, after all, I'm just using this system for web development!  Let's see how it handles.  :-)

0 Comments

My Rails Installation Notes

11/12/2011

0 Comments

 
So, after starting a number of Rails projects, I thought I'd make a quick list of commands and system changes that I use with almost every install.  (I'll also include some common commands at the bottom.)


Read More
0 Comments

Finally. The RailsTutorial is finished!

5/11/2011

0 Comments

 
Celebration time!  I've finally finished the 12 chapters of the RailsTutorial.

Of course, he finishes off the video series with 2 things:
  • a Chapter 13, where he discusses all the differences in the tutorial between Rails 3.0 and 3.1....  like I didn't just go through and figure it all out!!!!
  • a list of all the things he DIDN'T cover in the tutorial.... and now I'm back to feeling overwhelmed again. 
But, on the bright side, he has done a lovely introduction so that RailsCasts now make some sense.  And, hopefully, the future will be much brighter now that I know what a :scope is!
0 Comments

JavaScript and the awesome FireBug

4/11/2011

0 Comments

 
As a Rails newbie, trying to wrap my head around JQuery (the new default on Rails 3.1) has been a bit of a chore.  This isn't because it's hard to use, or because the RailsTutorial.org is hard to follow.  Actually, the opposite is true: because it's so easy to use, that means it is harder (for me) to figure out what is going wrong if (aka "when") something does go wrong.

Take, for instance, my latest trials with the RailsTutorial.  It should have been easy enough to type in exactly what we were told.  Except that this didn't work!  And, where do errors go if you're using a JavaScript button?

Enter FireBug.  It's not entirely intuitive, but at least it gives some pointers and displays the error messages that would otherwise fail to be displayed.  At first, I thought FireBug would just start spitting out the error messages, but I needed to configure it first.  Again, it wasn't much, but it did take me an hour of searching the web to just give up and try poking around.  The "Console" button was what I wanted.  Displayed nice error messages so that I could track down the bugs.  (Not that they're all fixed yet, but at least I have a direction to look!)

Very valuable!  Thanks so much.

By the way, if you're developing in Rails 3.1, you should be told that the JavaScript code might be running twice if you have assets:precompile as a setting.  (In development mode, it runs once as the raw code, and once as the compiled code.)   To fix this, in your config/environments/development.rb file, put config.serve_static_assets = false and then you're stuck with the precompiled assets only.  I found that answer here.  Thanks, StackOverflow!
0 Comments

The strangeness of conventions

1/11/2011

0 Comments

 
Yes, I'm an old fuddy-duddy.  I started programming back in the 80's and learned Turbo Pascal and Modula-2.   

I still remember that making code readable was about using helpful names for variables and functions... and ALWAYS make sure those names were visually different so that you wouldn't confuse them.  (e.g.  $user,  $users,  $Users)

Well, welcome to the world of Ruby on Rails.

if Michael Hartl's tutorial is any indication, then this world is chock full of references to things that all look the same.  So far, I've discovered that the following are very VERY different, yet they look so similar.  These are all variables, instances or classes.  (I get so confused!)

user
users
User
@user

micropost
microposts
Micropost
@micropost

And yes, I do find all this hard on my tired old eyes.  While it might "read more like English" I have to wonder at what cost.  I'm sure someday I'll lose hours trying to find a bug that was more about a missing (or extra) "s" than anything else.

If being readable means that my code is hardly debugable, then maybe we've "swung the pendulum" too far!
0 Comments

What I hate most about being a newbie...

1/11/2011

0 Comments

 
Sure, we all have to learn something new at some point.  But what I hate the most is the solution that you can't learn from.

So, I spent yesterday working on Chapter 11 of the Rails Tutorial.  It's been great, but there was a "re-factoring" section in the middle that I knew was going to haunt me.  There were too many changes, too many RSpec test added and and the development was just too much.  My code "blew up" on me.  I had at least 14 tests go red, and the solution that should have been obvious was completely hidden behind all my attempted fixes that only made things worse.

So, I blew away all my Chapter 11 work ("git reset --hard" takes you back to your last commit).  I started again, and when I got to the "too busy" part, I broke it down into smaller chunks and went by baby steps (with a complete RSpec run after every step).

Did I find my problem?  NO!!!!!

Every RSpec test passes now with flying colours.

The big step (I had thought) was to move "def authenticate ..." from the users_controller to the sessions_helper.  I moved the code, ran the test, held my breath, ... and it ran green!   For once, I really wanted my code to blow up (so it would justify all my pain from yesterday).  What I had spent an hour researching and 2 hours repairing... was not a problem ... at all.  (groan)

So, I have no idea where my code went wrong yesterday, so I have nothing to learn from my mistake.

However, maybe my biggest mistake was to "follow the instructions" when my gut said, "Take it slow or you'll get lost!"

So, that's the lesson of the day.  Take your TDD in baby steps (and don't worry if it feels slow, because the alternative is ... ARGGG!)

[TDD = Test Driven Development]
0 Comments

TDD errors != Rails errors (Rails 3.0 vs 3.1)

27/10/2011

0 Comments

 
What is happening when your code runs fine, the tutorial shows that your code should be "RSpec green", but it isn't? 

For me, it's time to go to StackOverflow.com again.  The hardest part was searching for the right answer.  But once it was found, it just works!

So, for those of you stuck in (Michael Hartl's awesome Rails Tutorial) chapter 10 and wondering why you now have RSpec giving you 7-10 errors, don't worry!

I had suspected all along that this was just one of the differences between Rails 3.0 and Rails 3.1, and it appears that I was right!  When searching for "test_sign_in" the 4th hit took me here, and the answer redirected me here, where I received the bizarre but efficient changes that needed to be made.

In sessions_helper, find def sign_in
  • old:
    current_user = user
  • new:
    current_user = user
    @current_user = user
Also in sessions_helper, find def sign_out
  • old:
    current_user = nil
  • new:
    current_user = nil
    @current_user = nil
Even the author is left guessing why this works.  But it's small, efficient, and keeps the tests nice and small.  After all, each test should test one and only one thing, right?!


[TDD = Test Driven Development]
0 Comments

Learning Rails and learning patience

26/10/2011

0 Comments

 
When I first sat down to learn Rails, I thought, "A week, maybe two... ." 

Yeah, right!

I've now learned that watching a 1hr 20min tutorial video from Michael Hartl will take me about a day.  That's including:
  • pausing and rewinding to catch up (typing) and to be sure I understand.
  • verifying locally and on Heroku that everything is working right
    (I'm still leary of Heroku, see my previous posts.)
  • flipping back-and-forth between the video and the PDF versions (especially where there might be large CSS to copy-and-paste.
  • taking regular breaks to shake my head (and make sure that I can remember what I just read/did).
So, I'm learning that patience (with persistence) is my best combination.
... that and keeping a window to StackOverflow.com open for any weirdness that creeps up!
0 Comments

Learning how RSpec works

24/10/2011

0 Comments

 
RSpec seems to make such intuitive sense, and now that I've started to wrap my head around TDD, I am starting to see the benefit.  Sure, initial development may be slower, but the overall development approach should help over the long-term maintenance of your code.

But then, RSpec completely stumped me. 

Thanks to the folks at StackOverflow, because this post, explains my problem exactly.  After multiple tries, my test just wouldn't work.  But with this explanation, I started wondering how the "click_link ...." test was working.  Then it hit me:  each "click_link" represents a user click, so the following test is now looking at the new page (just "clicked") and not the path I had specified above.  AHA!

Very interesting (and, sadly, unintuitive for the newbie).
0 Comments
<<Previous

    Author: Graham Rich

    Picture
    Technology teacher.
    Contact Mr. Rich

    Currently employed with 
    New Brunswick's Department of Education (also known as EECD)

    Experience: 
    - IT/BBT/Graphics (10 years)
    ​- Visual Arts (2 years)
    - Woodworking (2 years)
    - English 123 and Gr.9 (1 year)


    Latest Purchase:
    - Raspberry Pi (bought here)
    Favourite Software Tool:
    - Scratch (from MIT)
    - Vizwik (from AgoraMobile)
    Favourite Software Language:
    - Python

    Archives

    November 2016
    October 2016
    September 2015
    July 2015
    January 2015
    March 2014
    September 2013
    August 2013
    June 2012
    January 2012
    December 2011
    November 2011
    October 2011
    September 2011

    Categories

    All
    Aha
    C#
    Careers
    Cybersocial
    Employment
    Errors
    Fails
    Finding Work
    Firebug
    Fredericton
    Heroku
    Important
    Informal
    Install
    I.T.
    Javascript
    Jobs
    Jquery
    Learning
    Links
    Postgres
    Rails
    Rspec
    Sass
    Tdd
    Teaching
    Tutorials

    RSS Feed


Copyright © Graham Rich 2010-2021.   Site made using Weebly.com.