Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > On motivating a Ruby nubie

Reply
Thread Tools

On motivating a Ruby nubie

 
 
Sy
Guest
Posts: n/a
 
      04-13-2005
Hey all. I wanted to dive into a topic that's been on my mind for
years. I've been interested in programming for a very long time and
yet somehow I've only ever dabbled.

* I've never been forced to learn anything through school (a half-year
of turing and another half of ms access 1.0 does NOT count). Frankly,
I do not respect school for learning real programming skills and would
never pay someone money to teach me something I could learn by myself
for "free" (buying books, taking the time, searching for answers
myself).

* I've never used such skills at work (batch files don't count). I
don't think I'll ever do anything programming-related until _after_ I
learn the skills and choose to use it. Honestly, I have an
opportunity to sneak in Ruby in my (small) business.. if it does the
job. Ruby on OSX gives us extra motivation too.

* I've never had motivation to program as a hobby (batch files and
4dos scripting doesn't count, vague interest in c or asm/machine
language doesn't count). I have no problems which I see solved by
programming myself more than using someone else's tool. So instead of
developing the programming skills, I have developed effective
researching and troubleshooting skills.

And yet where I see that my problems can be solved by other people's
tools.. I feel as though I could make better tools myself. I
especially want to be able to create scripts and software solutions
for some of my stranger issues. I already know that I can be valuable
to the community being who I am and having the skills I do, but I
yearn to do more.. to solve problems MY way.

---

And so after a lot of thought I ended up looking seriously at Ruby.
Lots of time passed and I revisited the subject to learn that a
community had self-organized, that issues with documentation and such
were being solved, that entertaining tutorials were being written
(props to wtls on that one).

Fine. I like Ruby. I want to learn Ruby. How do I work on the
problem of motivation?

Hack a little every day? Read a little every day? What books, what
tutorials, what news channels? I am not overwhelmed by the amount of
choices.. but I am confused at what order to do things in and why.
The biggest challenge to a complete nubie is the number of tools Ruby
uses..

I had a hand in resurrecting my local RUG. We had our seventh meeting
this month and every time feels like a real success. I did all this
knowing that I wasn't a "real programmer" and that.. I don't know
Ruby! I look back and wonder where all the time went.

I'm a smart guy, so I am making do.. I am learning what I can but I
don't feel _effective_ or _motivated_. I don't want my hand held, I
just need a guiding light.


Has anyone thought about founding a "Ruby nubie" mailing list or
creating nubie-sized short-tutorials, quizzes and challenges? I'd be
very interested in participating.



 
Reply With Quote
 
 
 
 
James Edward Gray II
Guest
Posts: n/a
 
      04-13-2005
On Apr 13, 2005, at 9:57 AM, Sy wrote:

> Fine. I like Ruby. I want to learn Ruby. How do I work on the
> problem of motivation?


That's a pretty personal issue and I doubt I have any helpful advice.

When I was younger, I wanted to do all my programming projects with my
friends, who were only lightly interested. We never really completed
anything. One day, I just got tired of that and started working on
things alone (when I couldn't get help) and getting things done. I
don't know what changed; something just snapped internally. You have
to have to find the motivation for yourself and just dive in!

On the positive side, I do think it gets easier the more you do. When
I build something and see how perfect it came out (yes, I have an ego
problem), I feel like I can do anything and I want to, right now! I'm
working on as many programming projects as I can possibly juggle while
still leaving a little room for sleep and I have ideas for my next 604
projects. You just have to get the ball rolling...

> Hack a little every day? Read a little every day? What books, what
> tutorials, what news channels?


In my opinion, there is one true secret to learning to program. Ready?
Here comes all my ancient wisdom in one rule:

Write code.

Yes, I read a lot of books and yes they really help. However, it's my
opinion that there is simply no substitute for quality time spent
talking to a compiler. For me, that's the key.

(When you get more experienced the rule changes to "Read code.", but
that's another topic...)

> Has anyone thought about founding a "Ruby nubie" mailing list or
> creating nubie-sized short-tutorials, quizzes and challenges?


Not really an answer to your question, but I welcome beginner quiz
material submissions to Ruby Quiz. Next week's quiz is a nice early
project, I think. Everyone is welcome to send in more.

Good luck and I hope you find what you're looking for!

James Edward Gray II



 
Reply With Quote
 
 
 
 
Dave Burt
Guest
Posts: n/a
 
      04-13-2005
"James Edward Gray II" <(E-Mail Removed)> answered:
> On Apr 13, 2005, at 9:57 AM, Sy wrote:
>
>> Fine. I like Ruby. I want to learn Ruby. How do I work on the
>> problem of motivation?

>
> That's a pretty personal issue and I doubt I have any helpful advice.
>
> When I was younger, ...


I wrote games. Blackjack is good, because you can fairly easily get a
computer dealer to challenge you at the game.

>> Hack a little every day? Read a little every day? What books, what
>> tutorials, what news channels?

>
> Write code.


I agree.

For books, I recommend Why's (Poignant) Guide to Ruby, which is a hilarious
romp through the Ruby language.

>> Has anyone thought about founding a "Ruby nubie" mailing list or
>> creating nubie-sized short-tutorials, quizzes and challenges?


The Quiz provides a few ideas for places to start writing code, too.

Instead of games and other people's quiz suggestions, you could also rewrite
something you've already written (i.e. those batch files, or anything you've
done in C) or, perhaps even better, build something you need. If you can
identify a repetitive computer-based task you do a lot, if you can imagine
that some of the repetition could be relieved, figure out how. Ask this list
when you're stuck - we love to help with this kind of thing.

And here's something you might not hear too much around here: not everyone
is a programmer. Not everyone even ought to be a programmer. If there other
skills that are more important to you practically or however else, work on
those. Nevertheless, programming is a useful skill in a bunch of ways, and
is quite easy (IMHO) to learn to the stage where it becomes useful.

All the best,
Dave


 
Reply With Quote
 
Rob .
Guest
Posts: n/a
 
      04-13-2005
James Edward Gray II wrote:
> Sy wrote:
> > Fine. I like Ruby. I want to learn Ruby. How do I work on the
> > problem of motivation?

> ...
> > Hack a little every day? Read a little every day? What books, what
> > tutorials, what news channels?

>
> In my opinion, there is one true secret to learning to program. Ready?
> Here comes all my ancient wisdom in one rule:
>
> Write code.


I agree: write code

In the past to learn a new language or technology I've thought up a
personal project to work on, which gave me motivation to achieve a
certain goal.

Contributing to or starting your own open source / free software
project makes things more exciting as there is the potential others
might start using your code. This can be a great motivational aid -
careful though, it can become addictive!

Cheers,
Rob



 
Reply With Quote
 
Sy
Guest
Posts: n/a
 
      04-13-2005
On 4/13/05, http://www.velocityreviews.com/forums/(E-Mail Removed) <(E-Mail Removed)> wrote:

> another peice of advice : share your work. it's suprising how motivating it
> is knowing others will/might be reading/using your code and it also encourages
> you to abstract your problem into a more general solution which, 98% of the
> time, leads to a more elegant solution as well.


I'm thinking along the lines of keeping a learning journal / snippets database.


--

On 4/13/05, James Edward Gray II <(E-Mail Removed)> wrote:

> Yes, I read a lot of books and yes they really help. However, it's my
> opinion that there is simply no substitute for quality time spent
> talking to a compiler. For me, that's the key.


Ok.. so a little bit of coding every day.. finding little snippets to
learn and log.. keeping a bit of a database of my efforts so I don't
have to revisit the wheel. Sounds good.

> (When you get more experienced the rule changes to "Read code.", but
> that's another topic...)


That's still very necessary.. since people who are new and
enthusiastic will commonly turn to code examples for sections to
steal. Just take a look at everyone's experimentation with
mod_rewrite.. I know the first thing I did was borrow someone's
solution to jurryrig it to my own setup. It worked too.. but of
course the real learning has to begin when I break my setup and the
rewrite doesn't work.

So in the short run, ruby code is excellent to learn stuff from.. and
to borrow.. but as soon as my inventiveness kicks in and I shuffle a
design around it'll break all my borrowed code.. forcing me to learn
enough to rewrite those parts (and to learn proper coding practices,
troubleshooting skills.. and all that good stuff).


--

On 4/13/05, Rob . <(E-Mail Removed)> wrote:

> I agree: write code


> Contributing to or starting your own open source / free software
> project makes things more exciting as there is the potential others
> might start using your code. This can be a great motivational aid -
> careful though, it can become addictive!


Starting a project, especially an open project, is way away from my
current inspiration. I think maybe little embarrasing personal
projects which are coded in the open air would do pretty well. I
still have a kind of learning weblog thingy in mind.


--

On 4/13/05, Dave Burt <(E-Mail Removed)> wrote:

> For books, I recommend Why's (Poignant) Guide to Ruby, which is a hilarious
> romp through the Ruby language.


I noted that. I read through some of it.. I understand some of it.
While it certainly cheers me up and gives a good introduction and
such.. It's not motivating in the least. It got very horrible very
fast and I've no intention to finish it until I can make better use of
the early chapters.

What I think I'm going to do is step back and begin to write my own
tiny tutorial as my learning tool. I'll grab some code snippets and
make them do stuff.. and write notes to myself as to how things work
and why. With this, I should be able to dump in various learning
examples and such. It should work out ok. I figure I can get away
with this functionality on my existing wiki.

Maybe (one day) my "big project" should be a simple ruby weblog? It's
a fairly straightforward concept.. but with lots of curious
intricacies that could keep me very occupied.

> Instead of games and other people's quiz suggestions, you could also rewrite
> something you've already written (i.e. those batch files, or anything you've
> done in C) or, perhaps even better, build something you need. If you can
> identify a repetitive computer-based task you do a lot, if you can imagine
> that some of the repetition could be relieved, figure out how. Ask this list
> when you're stuck - we love to help with this kind of thing.


I'm wondering if I can rewrite some of the crap I had tinkered with in
ruby. There isn't much point.. many of those tools are too specific
to DOS.. and I don't really use any of that anymore.

Maybe the most productive thing to think is that I would like to see
Ruby as my problem-solver for my not comprehending bash and most shell
tools.

Much of it would be reinventing the wheel. But in doing so I would be
learning ruby, solving my problems and .. well doing things in ruby
for others to maybe learn from too.

Some simple ideas:

* Search through directories, looking for file 'x'

* search through files in directories, looking through their contents for 'x'

* file split/merge

* simple backup solution

* disk / directory / file reporting -- which directories have the most
files.. which take the most space.. etc.

* Appointment book / calender

* clock / scheduler



 
Reply With Quote
 
Tanner Burson
Guest
Posts: n/a
 
      04-13-2005
On 4/13/05, Sy <(E-Mail Removed)> wrote:
> On 4/13/05, (E-Mail Removed) <(E-Mail Removed)> wrote:
>
> > another peice of advice : share your work. it's suprising how motivating it
> > is knowing others will/might be reading/using your code and it also encourages
> > you to abstract your problem into a more general solution which, 98% of the
> > time, leads to a more elegant solution as well.

>
> I'm thinking along the lines of keeping a learning journal / snippets database.
>
> --
>
> On 4/13/05, James Edward Gray II <(E-Mail Removed)> wrote:
>
> > Yes, I read a lot of books and yes they really help. However, it's my
> > opinion that there is simply no substitute for quality time spent
> > talking to a compiler. For me, that's the key.

>
> Ok.. so a little bit of coding every day.. finding little snippets to
> learn and log.. keeping a bit of a database of my efforts so I don't
> have to revisit the wheel. Sounds good.
>
> > (When you get more experienced the rule changes to "Read code.", but
> > that's another topic...)

>
> That's still very necessary.. since people who are new and
> enthusiastic will commonly turn to code examples for sections to
> steal. Just take a look at everyone's experimentation with
> mod_rewrite.. I know the first thing I did was borrow someone's
> solution to jurryrig it to my own setup. It worked too.. but of
> course the real learning has to begin when I break my setup and the
> rewrite doesn't work.
>
> So in the short run, ruby code is excellent to learn stuff from.. and
> to borrow.. but as soon as my inventiveness kicks in and I shuffle a
> design around it'll break all my borrowed code.. forcing me to learn
> enough to rewrite those parts (and to learn proper coding practices,
> troubleshooting skills.. and all that good stuff).
>
> --
>
> On 4/13/05, Rob . <(E-Mail Removed)> wrote:
>
> > I agree: write code

>
> > Contributing to or starting your own open source / free software
> > project makes things more exciting as there is the potential others
> > might start using your code. This can be a great motivational aid -
> > careful though, it can become addictive!

>
> Starting a project, especially an open project, is way away from my
> current inspiration. I think maybe little embarrasing personal
> projects which are coded in the open air would do pretty well. I
> still have a kind of learning weblog thingy in mind.
>
> --
>
> On 4/13/05, Dave Burt <(E-Mail Removed)> wrote:
>
> > For books, I recommend Why's (Poignant) Guide to Ruby, which is a hilarious
> > romp through the Ruby language.

>
> I noted that. I read through some of it.. I understand some of it.
> While it certainly cheers me up and gives a good introduction and
> such.. It's not motivating in the least. It got very horrible very
> fast and I've no intention to finish it until I can make better use of
> the early chapters.
>
> What I think I'm going to do is step back and begin to write my own
> tiny tutorial as my learning tool. I'll grab some code snippets and
> make them do stuff.. and write notes to myself as to how things work
> and why. With this, I should be able to dump in various learning
> examples and such. It should work out ok. I figure I can get away
> with this functionality on my existing wiki.
>
> Maybe (one day) my "big project" should be a simple ruby weblog? It's
> a fairly straightforward concept.. but with lots of curious
> intricacies that could keep me very occupied.
>
> > Instead of games and other people's quiz suggestions, you could also rewrite
> > something you've already written (i.e. those batch files, or anything you've
> > done in C) or, perhaps even better, build something you need. If you can
> > identify a repetitive computer-based task you do a lot, if you can imagine
> > that some of the repetition could be relieved, figure out how. Ask this list
> > when you're stuck - we love to help with this kind of thing.

>
> I'm wondering if I can rewrite some of the crap I had tinkered with in
> ruby. There isn't much point.. many of those tools are too specific
> to DOS.. and I don't really use any of that anymore.
>
> Maybe the most productive thing to think is that I would like to see
> Ruby as my problem-solver for my not comprehending bash and most shell
> tools.
>
> Much of it would be reinventing the wheel. But in doing so I would be
> learning ruby, solving my problems and .. well doing things in ruby
> for others to maybe learn from too.
>
> Some simple ideas:
>
> * Search through directories, looking for file 'x'
>
> * search through files in directories, looking through their contents for 'x'
>
> * file split/merge
>
> * simple backup solution
>
> * disk / directory / file reporting -- which directories have the most
> files.. which take the most space.. etc.
>
> * Appointment book / calender
>
> * clock / scheduler
>
>


Strangely enough, I often find that re-inventing the wheel is exactly
what helps me learn the most. I pick something I find at least useful
to me, then attempt to implement it myself, "fixing" anything I
disliked about the original. This method helps me have a clear "end
case" in mind, otherwise my projects tend to ramble on and never
really get finished.



 
Reply With Quote
 
Joe Van Dyk
Guest
Posts: n/a
 
      04-13-2005
On 4/13/05, Sy <(E-Mail Removed)> wrote:
> Hey all. I wanted to dive into a topic that's been on my mind for
> years. I've been interested in programming for a very long time and
> yet somehow I've only ever dabbled.
>

<snip>
> ---
>
> And so after a lot of thought I ended up looking seriously at Ruby.
> Lots of time passed and I revisited the subject to learn that a
> community had self-organized, that issues with documentation and such
> were being solved, that entertaining tutorials were being written
> (props to wtls on that one).
>
> Fine. I like Ruby. I want to learn Ruby. How do I work on the
> problem of motivation?


Why do you want to learn Ruby? Why do you want to learn to program?



 
Reply With Quote
 
Glenn Parker
Guest
Posts: n/a
 
      04-13-2005
James Edward Gray II wrote:
>
> In my opinion, there is one true secret to learning to program. Ready?
> Here comes all my ancient wisdom in one rule:
>
> Write code.


Let's not forget: Read good existing code.

Learning to write code is much like learning to write in "natural"
languages. I'm not saying software is directly analagous to literature,
but the learning processes are quite similar. You can't learn to write
without writing, but you can't learn to write *well* without reading.

As for motivation, it will not come from outside your own head. If
there is something you really want to accomplish that requires learning
to program, then you will find the necessary motivation. Find a
pragmatic goal, and the rest will follow.

--
Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>


 
Reply With Quote
 
Sy
Guest
Posts: n/a
 
      04-13-2005
Well.. I started a little project for this idea:

http://sysy.homeip.net/mw/index.php/The_Ruby_Nuby




On 4/13/05, Tanner Burson <(E-Mail Removed)> wrote:

> Strangely enough, I often find that re-inventing the wheel is exactly
> what helps me learn the most. I pick something I find at least useful
> to me, then attempt to implement it myself, "fixing" anything I
> disliked about the original. This method helps me have a clear "end
> case" in mind, otherwise my projects tend to ramble on and never
> really get finished.



That's exactly what I was thinking myself. There's always some piece
of me that thinks it's kindof dirty.. and possibly even insulting to
the original author. But what else can be done? I don't want to be
unhappy because of someone else's solution to a problem.

Maybe one day I can implement 4DOS scripting with Ruby.. but I'll
start with small problems and their simple tools.


--

On 4/13/05, Glenn Parker <(E-Mail Removed)> wrote:

> Find a pragmatic goal, and the rest will follow.



Excellent point.



 
Reply With Quote
 
Chris Pine
Guest
Posts: n/a
 
      04-13-2005
> Has anyone thought about founding a "Ruby nubie" mailing list or
> creating nubie-sized short-tutorials, quizzes and challenges?


Well, I did create a tutorial especially for nubies (people who have
never programmed in *any* language, I mean). You might want to check
it out:

http://pine.fm/LearnToProgram/

It starts very gently, and has lots and lots of examples. Also, the
examples are all guaranteed correct: the code samples are run every
time you request the webpage! (So you can reload the random number
examples and see different outputs, for example.) In fact, the whole
tutorial is actually being generated by a Ruby program. It seemed
appropriate.

As far as motivation is concerned, I must admit that I have the
opposite problem: I'm notivated in for more directions that I have
time to work on! I think that, for me, it's a matter of taking any
tedious aspect in my life, and trying to see how programming could
help do that for me. At first, perhaps it's harder to see what
aspects of your life could be made easier by programming, but with
practice you'll start to see things all over. Right now I am:

- updating our website, all of the pages of which are generated by
Ruby (why not just write the html? because the pages are
automatically updated every time we add new pictures to our site,
which we do daily, so writing it Ruby has already saved us countless
hours of work (it generates thumbnail, too))
- writing a program to turn vaguely-logo-like instructions into a nice
truetype programmer's font (monospaced, no 0-O confusion, etc) and
it's almost done! you'll never "courier new" again!
- writing a music-organizing program so I can say things like "Play me
some upbeat jazz and lounge, but only stuff I haven't listened to
recently, but after two hours or so, tone it down to some mellow,
instrumental lounge... with a sprinkling of Stereolab"
- writing an interpreter for a language I have been playing with...
certainly no Ruby competitor, but it's been an unparalleled learning
experience
- writing a book on Ruby

So those last two aren't really saving me any time... they are more
just for fun. I don't know what to tell you about those... hopefully,
once you learn more Ruby and use it to save yourself time, and you
have fun doing it, you might be motivated toward more "just for fun"
projects.

Best of luck, in any case,

Chris



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Searching a motivating example for upcasts Stefan Ram Java 47 12-27-2010 01:05 PM
Motivating high-school students to join college after completing high school m1@mailinator.com Computer Support 4 08-13-2007 04:00 AM
#!/usr/bin/ruby , #!/usr/bin/ruby -w , #!/usr/bin/ruby -T?, #!/usr/bin/ruby -T1... anne001 Ruby 1 04-23-2006 03:02 PM
Nubie questions petermichaux@yahoo.com Javascript 3 01-30-2006 07:54 AM
Nubie: How to start? Graham Foster Ruby 4 10-15-2004 05:32 PM



Advertisments