Ruby Newbie Advice

Hello all.

I’ve decided after about a week or so of being on the list to come out
of hiding and ask a couple of questions. My email addy of
rubygeekgirl is not a reality, but more of an aspiration. :slight_smile:

Real quick background on my knowledge and skill level – I played
around with BASIC on my Commodore VIC 20 at the age of 8 (which was 22
years ago). A couple of years ago I started to try and learn Python.
Fast-forward to Fall of 2006, I decided to try and pick it up again.
In addition, I also decided to go back to college and my first class
this last semester was Programming Logic and Design. The course was
pretty much about logic (imagine that) and we covered loops and mostly
procedural programming, print charts, arrays, and that’s pretty much
it. Anyway, as I started to look at Python again, I happened to
discover Ruby. I spent about a month deciding on whether I wanted to
learn Ruby or Python, and as I looked at what was available, I felt
more at ease in Ruby. I read a few tutorials, went out and bought the
PickAxe about four months ago, and did my best to get through it. I
think a lot of it is a bit over my head. I also looked at the Pine
online book and the Why’s Poignant guide, in addition to the Little
Book of Ruby and a couple of other resources.

Okay, enough of THAT. I’m now at the point where I feel like I’m
reading the same thing over and over and over again. I’m not the most
patient person and I want to start coding something. I’ve already
made some small interactive ‘kiddie’ command line programs and the
such, but I’m getting bored. I just don’t know where or what or HOW
to start.

I’m starting to look at code snippets over at Ruby Forge… I also
just got laid off a few weeks ago, so money is tight, otherwise, I’d
go out and buy The Ruby Way, which I perused at Barnes and Noble last
week and fell in love with.

So, I ask you, the gurus… Where do I start? This feels like a
writer’s block and I’m sick of reading. I want to start doing

I have the IDEs installed, I have Ruby installed on my Gentoo Linux
box…

I’m sick of writing things asking for the user’s name and if they want
to try a chocolate chip cookie. :slight_smile:

Thanks so much in advance. I apologize for my verbosity.

Samantha

http://www.babygeek.org/

Samantha wrote:

In addition, I also decided to go back to college and my first class
Book of Ruby and a couple of other resources.
go out and buy The Ruby Way, which I perused at Barnes and Noble last

Thanks so much in advance. I apologize for my verbosity.

Samantha

http://www.babygeek.org/

Welcome to Ruby!

If you like solving puzzles, why don’t you try some of the quizzes at
http://www.rubyquiz.com? There are easy quizzes and hard ones, and
probably at least one that’s at a level you’ll feel comfortable with.

However, I learn best when I pick my own problem to solve. If you’re
like me, think of some problem you have that can be solved by a Ruby
script. Some bit of system administration that you need done, for
example. Then start coding. It doesn’t matter if you can’t figure out
how to do it at first. Attack the bits you can do, then work on the
rest a piece at a time. Search this list for advice, read The Ruby Way
and The Ruby Cookbook, and post questions here.

Good luck!

I’m starting to look at code snippets over at Ruby Forge… I also
just got laid off a few weeks ago, so money is tight, otherwise, I’d
go out and buy The Ruby Way, which I perused at Barnes and Noble last
week and fell in love with.

So, I ask you, the gurus… Where do I start? This feels like a
writer’s block and I’m sick of reading. I want to start doing

I have the IDEs installed, I have Ruby installed on my Gentoo Linux
box…

Well, I’ve never been able to learn anything unless I had a reason to
learn it… I think you just hit that point.

You’ve got to find something that interests you… based on your
situation
I would suggest a “resume builder”.

Define your resume in YAML. That is, put all your past jobs, your
experience, anything that is “repeatable” into a YAML file. Then write
a
script to parse those YAML files and spit out nicelly formatted ascii
text, HTML, and PDF files.

You’ll learn a lot and it will be useful.

Then when you’re done with that, move it to the web and create your
first
Rails project to do the same thing.

I did that several years ago when I wanted to learn the Smarty template
language for PHP and it worked great. My project was small enough that
I
understood it, but big enough to let me play around with somethings I
normally didn’t get to play with.

I’m sick of writing things asking for the user’s name and if they want
to try a chocolate chip cookie. :slight_smile:

But I like chocolate chip cookies! :slight_smile:

Thanks so much in advance. I apologize for my verbosity.

Good luck!

On Feb 5, 8:20 pm, Timothy H. [email protected] wrote:

Welcome to Ruby!

Thanks, I like it.

If you like solving puzzles, why don’t you try some of the quizzes athttp://www.rubyquiz.com?There are easy quizzes and hard ones, and
probably at least one that’s at a level you’ll feel comfortable with.

I’m over there now checking things out.

However, I learn best when I pick my own problem to solve. If you’re
like me, think of some problem you have that can be solved by a Ruby
script. Some bit of system administration that you need done, for
example. Then start coding. It doesn’t matter if you can’t figure out
how to do it at first. Attack the bits you can do, then work on the
rest a piece at a time. Search this list for advice, read The Ruby Way
and The Ruby Cookbook, and post questions here.

The unfortunate thing, is that I really don’t have any system
administration things to do. :slight_smile: Most of the stuff I would want to
do, (ie get a directory listing and put it to a file so I know what
documents I have where, etc.) I can do with Linux commands. But, I
suppose it couldn’t hurt to rewrite the wheel for learning purposes.

Good luck!

Thanks again!

Samantha

http://www.babygeek.org/

On Feb 5, 2007, at 7:10 PM, Samantha wrote:

I’ve decided after about a week or so of being on the list to come out
of hiding and ask a couple of questions. My email addy of
rubygeekgirl is not a reality, but more of an aspiration. :slight_smile:

I bet you will be teaching us new Ruby tricks in no time. Welcome to
the club! :wink:

James Edward G. II

On Feb 5, 8:27 pm, Philip H. [email protected] wrote:

Well, I’ve never been able to learn anything unless I had a reason to
learn it… I think you just hit that point.

You’ve got to find something that interests you… based on your situation
I would suggest a “resume builder”.

Define your resume in YAML. That is, put all your past jobs, your
experience, anything that is “repeatable” into a YAML file. Then write a
script to parse those YAML files and spit out nicelly formatted ascii
text, HTML, and PDF files.

I think you just hit the proverbial nail on the head. I’ve not looked
at YAML, so now I get to learn a few things and not just obsessively
focus on the fact that I don’t know what to write. :wink:

You’ll learn a lot and it will be useful.

Then when you’re done with that, move it to the web and create your first
Rails project to do the same thing.

I’ve actually been wanting to take a look at Rails. My mom does SEO
and has been trying to get me to learn PHP, but I want to learn Ruby
and RoR, not PHP. Sometimes things just spark your interest, and PHP
didn’t really spark mine.

I did that several years ago when I wanted to learn the Smarty template
language for PHP and it worked great. My project was small enough that I
understood it, but big enough to let me play around with somethings I
normally didn’t get to play with.

That’s awesome. I really appreciate the input and my first project!

But I like chocolate chip cookies! :slight_smile:

Me, too. Especially when they are made with dark chocolate chips.

Good luck!

Thanks, I’ll keep ya’ll posted!

Samantha

http://www.babygeek.org/

On 2/5/07, Samantha [email protected] wrote:

So, I ask you, the gurus… Where do I start? This feels like a
writer’s block and I’m sick of reading. I want to start doing

I have the IDEs installed, I have Ruby installed on my Gentoo Linux
box…

Samantha,

Welcome to Ruby!! You’ll find one of the finest developer communities
I’ve
even known. So when you get stuck, feel free to drop an email on the
wire,
there seems to always be someone out there to help.

Gentoo Linux, that’s a beautiful way to go!! Makes installing and
upgrading
really wonderful! Good choice!

Think of a project you would like to do and then see how you can tackle
it
with Ruby. If you are wanting to build web applications then you have
many
choices in Ruby, the most popular being Rails. For me Ruby and Rails
brings
all of the fun back into web application development after having done
things the hard way for so long (C++, Java, …) :slight_smile:

There are some great books out there, so check some of them out and you
just
might come up with a bunch of ideas.

On 2/5/07, James Edward G. II [email protected] wrote:

James Edward G. II
Ha! Thanks for the vote of confidence.

I guess computing runs in my blood - my mom used to take me as a 2 year
old
to her Computer Science classes in college. I used to color on
punch-cards. I couldn’t avoid my destiny.


Samantha

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

On 2/5/07, Jeff B. [email protected] wrote:

Samantha,

Welcome to Ruby!! You’ll find one of the finest developer communities I’ve
even known. So when you get stuck, feel free to drop an email on the wire,
there seems to always be someone out there to help.

Thanks so much, Jeff! That’s exactly what I’ve gathered thus far.

Gentoo Linux, that’s a beautiful way to go!! Makes installing and
upgrading

really wonderful! Good choice!

Ya know, I started on Linux back in '99. I mostly played around with
RedHat
and ran a dual-boot system. I eventually went to straight Windows, and
went
back to having a dual boot in '05. I went to Mandrake, then to Fedora,
and
about six months ago decided to take the plunge into Gentoo. I must’ve
had
about six fresh installs in the first few weeks of using it, but I
haven’t
had to do that in several months now. :slight_smile: I have found that I’ve learned
more in the six months of using Gentoo than I had in the several years
of
RedHat. I’ve even gotten brave enough to use ~x86 sources. :slight_smile:

Think of a project you would like to do and then see how you can tackle
it

with Ruby. If you are wanting to build web applications then you have many
choices in Ruby, the most popular being Rails. For me Ruby and Rails
brings
all of the fun back into web application development after having done
things the hard way for so long (C++, Java, …) :slight_smile:

I’m researching stuff on YAML, as was suggested in a previous post and
am
going to work on the resume builder. At some point, I’m going to try
and
make an interactive one on Rails or maybe using a GUI, so that I can
take
input and then spit out a nice looking resume. Now that I have an idea
of
what to do, I’m really geeked.

There are some great books out there, so check some of them out and you
just

might come up with a bunch of ideas.

Absolutely. I might be relocating to downstate Michigan (either Metro
Detroit area or Ann Arbor) and I’m pretty stoked that there are user
groups
down there. I’m sure I can gleam some ideas there, too.

Thanks again for the warm welcome!


Samantha

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

I’ll give you four extra credit points if you can make you resume
builder spit out a PDF using PDF::Writer or use LaTeX. :wink:

–Jeremy

On 2/5/07, Samantha [email protected] wrote:

Thanks so much, Jeff! That’s exactly what I’ve gathered thus far.
had to do that in several months now. :slight_smile: I have found that I’ve learned

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson


http://www.jeremymcanally.com/

My free Ruby e-book:
http://www.humblelittlerubybook.com/book/

My blogs:

http://www.rubyinpractice.com/

On 2/5/07, Samantha [email protected] wrote:

Thanks so much, Jeff! That’s exactly what I’ve gathered thus far.
had to do that in several months now. :slight_smile: I have found that I’ve learned

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

Hi Samantha!

Welcome to ruby! So now you have an idea for a project, and it sounds
like a good one too! For support, there is this wonderful list, and
there is the #ruby-lang channel on freenode. It is one of the best
resources you can find. Just don’t be afraid to ask questions, no
matter how stupid they sound. The ruby community is pretty darn nice.

For you project, I would like to suggest you check out Ruport for
generating the pdfs:
http://rubyreports.org/

On Feb 5, 2007, at 9:07 PM, Jeremy McAnally wrote:

I’ll give you four extra credit points if you can make you resume
builder spit out a PDF using PDF::Writer or use LaTeX. :wink:

I’ve used PDF::Writer recently and I think that should be worth more
than four points. :wink: (No offense intended Austin!)

James Edward G. II

On 2/5/07, Chris C. [email protected] wrote:

For you project, I would like to suggest you check out Ruport for
generating the pdfs:
http://rubyreports.org/


Chris C.
concentrationstudios.com
brynmawrcs.com

Thanks so much, Chris. I will check it out when I’m there. Again, I am
still fumbling through YAML. :slight_smile: I haven’t been this excited about
something
relating to computers since I first discovered Linux.


Samantha

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

On 2/5/07, Samantha [email protected] wrote:

Again, I am still fumbling through YAML. :slight_smile: I haven’t been this excited
about something relating to computers since I first discovered Linux.

I just discovered require ‘yaml/store’

So far, I’ve put the different companies I’ve worked at into an array:

require ‘yaml’
companies = Array.new
#plugged the companies in
puts companies.to_yaml

it spit something out. :slight_smile:

This is fun.

Samantha

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

On Tue, 6 Feb 2007, Samantha wrote:

This is fun.

That’s one of the stated design goals for Ruby. To have fun.

– Matt
It’s not what I know that counts.
It’s what I can remember in time to use.

On 2/5/07, Jeremy McAnally [email protected] wrote:

My free Ruby e-book:
http://www.humblelittlerubybook.com/book/

My blogs:
http://www.mrneighborly.com/
http://www.rubyinpractice.com/

Oh wow, I just downloaded your eBook either today or last night.
Eventually, the hope is to do PDF. :slight_smile:

Right now, I’m fumbling my way through YAML. :I


Samantha

http://www.babygeek.org/

“Beware when the great God lets loose a thinker on this planet. Then all
things are at risk.”
–Ralph Waldo Emerson

Samantha wrote:

Okay, enough of THAT. I’m now at the point where I feel like I’m
reading the same thing over and over and over again. I’m not the most
patient person and I want to start coding something. I’ve already
made some small interactive ‘kiddie’ command line programs and the
such, but I’m getting bored. I just don’t know where or what or HOW
to start.

I’m pretty much at the same point you are.

I’ve dabbled in programming in the past and only now getting into it
thoroughly with Ruby. I looked at the Pick Axe up to about ch3 then
swithed to The Little Book of Ruby and zipped through it (great short to
the point for beginner book). I then started writing a Chess Program
just to learn. I have got someway with it but have realised I need more
training. Gone back to the Pick Axe to finish Part I Facets of Ruby.

So now I need some problems to solve. I’m using project euler:

Some nice short programming mathematics orientated problems. I’ve looked
at the Ruby Q. site but so far haven’t found them easy or short enough
for my liking, although I have looked at the two chess problems to get
some ideas for my chess programs.

On top of this I’m creating my own problems. For me the most fun
problems are those that are short, a few lines of code, but that explode
with actiity when run. For example, I set myself the task of creating an
array and filling it with random number, then sorting those numbers, and
displaying both arrays (not too hard with the rand(max) integer method,
and the .sort method). Once I’ve achieved something short and sweet like
this, I expand it. So, how about producing the random numbers within a
range, then receiving the limits of the range from a user, then how
about timing the sort and displaying the result.

I’m definately learning so much more doing than reading. And don’t write
boring programs, think of some fun stuff, perhaps something your friends
can interact with. You’ll be so much more motivated to explore and learn
that way.

On Feb 5, 8:10 pm, “Samantha” [email protected] wrote:

In addition, I also decided to go back to college and my first class
Book of Ruby and a couple of other resources.
go out and buy The Ruby Way, which I perused at Barnes and Noble last

Thanks so much in advance. I apologize for my verbosity.

Samantha

http://www.babygeek.org/

From one newby to another.

Well I do have an advantage in that I know C and Perl so I have had
experience in programming. I have been using Ruby for about 6
months. I learn best by doing rather than reading. But obviously
first you read and then you write code.
And then read some more and write more code.

It is best if you find something that you by hand that can be
automated by a program. In other find some task that you are familiar
and interested in writing a program that would do the task.

The first non-trivial program that I wrote does bridge hands
analysis.

The general scenario goes something like this.

1. Interface with a 3rd party program that generates a specified

number of hands

   need  to learn how to interface with this progam

   need  to learn how to import the hands

2. Call on another program to do what is known as "double dummy

analysis"

   need to learn Win32API so I could communicate with the double

dummy analysis program

   need to transform the bridge hands from one format to a format

acceptable to the
double dummy analysis program

   need to learn how to interact with double dummy analysis

program

   need to save the results

3. Analyze the results to obtain additional facts from the raw

data provided by the double analysis program.

4. Present the result in format that is easy and clear to read

   Actually I save the result in a csv file and use Word's mail

merge to generate the output file and print the results …
18 hands per page.

Now it took about a month to do it.

At each step of the way I had to go back an read how to accomplish

what I wanted to do.

First read, do some coding, test the code to verify that it did

what you expected.
If it didn’t, then read some more to try to see where you failed
and rewrite that code.
Repeat until you succeed.

Note that I made use of other program and/or libraries to actually

do the bulk of the work.
True, I had to learn how to communicate with these programs on a
trial and error basis since
the authors of these programs did not provide any hand
holding…just the barely sufficient
written information.

If you want to really learn how to program you need to pick
something of interest to you.
Make a general plan on how the program should proceed. Then take
the first step.

Hi,

I too stared programming on the Vic 20, and loved it.

One thing I used to love coding, and I offer as a suggestion, is an
adventure game.
Remember them? There used to be some quite good ones on the Vic20.

Seriously. Covers a massive range of topics and allows for almost any
level of ability. Plus, you’ll find it fun.

Cheers,
Dave

On 2/6/07, Samantha [email protected] wrote:

The unfortunate thing, is that I really don’t have any system
administration things to do. :slight_smile: Most of the stuff I would want to
do, (ie get a directory listing and put it to a file so I know what
documents I have where, etc.) I can do with Linux commands.

Yeah but what about a Webrick based WebInterface (Web2 of course ;).
Imagine a nice interface to top, ls, df, netfilter ( I am lacking
imagination ).

And when it is done please release it to Rubyforge I need this stuff.
Just kidding :wink:

But, I

suppose it couldn’t hurt to rewrite the wheel for learning purposes.

Wheels are supposed to be reinvented, right :slight_smile:

Cheers
Robert