Ruby Black Belt

Alex C. wrote:

exercise, probably picking the wrong one, getting frustrated, giving
up, and then I look
for a new exercise to try… and I get frustrated again …err… I mean
“newbies” get
frustrated again… ahem… anyway…

rubyquiz also isnt very “fun” in itself …oh sure, if you find the act
of programming itself
to be “fun” then ruby quiz is lots of fun, but then so is every other
act of programming.

Fewf sorry for all the oral spew…
James dont take this as criticism for rubyquiz, I love what you’re
doing for the community over there.
I just dont think that its the “next step” to learning ruby that many
claim it to be.

If you (or anyone else) are as passionate about this as your post
suggests, then I encourage you to just go and do it. Make a site,
however simple, just get it going, invite people to join in, and see
where it goes.

People can go round and round arguing the merits of something, but a
working site trumps speculation.


James B.

“Programs must be written for people to read, and only incidentally
for machines to execute.”

  • H. Abelson and G. Sussman
    (in "The Structure and Interpretation of Computer Programs)

On Thu, 2006-03-30 at 07:01 +0900, Robert D. wrote:

I really join those who think certification is a bad idea!
And even if it were a good idea, which I doubt, do you think a certification
could really mean you know what you are doing?
Nahh, look at all that certificates one can get (buy?). Cisco, RedHat, Java,
Micros**t, you name it, it is all about Business and
few about Knowledge.

+1 … couldn’t have said it better myself.

On 3/29/06, James B. [email protected] wrote:

If you (or anyone else) are as passionate about this as your post
suggests, then I encourage you to just go and do it. Make a site,
however simple, just get it going, invite people to join in, and see
where it goes.

People can go round and round arguing the merits of something, but a
working site trumps speculation.

I thinks thats a great idea James, I’m going to add this to my list of
current
projects, I’ll post back to the list when I have something started
that people can join and help with if they are interested, give it about
a week.

To suggest that there’s nothing between the pickaxe and rubyquiz is
ridiculous. There’s plenty of opportunities. As others have said,
this list is an excellent way to learn, first by reading and
understanding, but then as James said, by contributing.

I find teaching (contributing) to be the best vehicle for learning.
It forces you to really fill in the gaps in your own understanding as
you work through it. Plus, if there are still gaps, others will
kindly point those out as well. :slight_smile:

In addition, there’s such things as IRC, RubyConf, RailsConf, Rails
Studio, etc… etc…

Michael

James Edward G. II [email protected] writes:

On Mar 28, 2006, at 3:08 PM, Dmitry B. wrote:

Do You want to take part in the creation process of exam series,
covering Ruby itself and RoR framework?

Not really, but I doubt you want to hear that. :wink: So, I better at
least point some things out. From your basic exam:

[…]

Ruby Environment (1 question)

Know that RUBYPATH contains a list of directories to look for
included files.

This variable is not set on my system, just FYI.

And that’s not what RUBYPATH does. That’s what RUBYLIB does.

[…]

Understand the difference between require and load commands.

This is not related to modules.

Know that it is not mandatory to include file extension in ‘require/
load’ directives.

Again, nothing to do with modules.

And furthermore:

[/tmp/slumos]0% touch blah.rb
[/tmp/slumos]0% irb
irb(main):001:0> require ‘blah’
=> true
irb(main):002:0> load ‘blah’
LoadError: no such file to load – blah
from (irb):2:in `load’
from (irb):2
irb(main):003:0> load ‘blah.rb’
=> true

Dynamic usage of load command.

Again.

James Edward G. II

Steve

Alex, obviously you have different opinions / experiences about what
are effective and non-effective means for learning, and that’s good,
because everyone approaches these things differently. I can only
speak from my own experiences.

The reason I find the lists a good learning method is because,
although there is a flood of postings they run the gamut. There are
very beginner type questions and then there are questions / comments
about stuff that I have no way of even following. The advantage is
it’s an “iron sharpens iron” type of environment. I only have to pay
attention to those things that are in my sphere of understanding at
any given moment. Often seeing the different approaches / answers
works in a mentoring kind of way. For me that’s beneficial.

Hopefully you can codify that which you think would be beneficial for
those people in that “in-between” stage and provide an effective
platform for them. I really think that has merit. Good luck.

Michael

On 3/29/06, Michael T. [email protected] wrote:

To suggest that there’s nothing between the pickaxe and rubyquiz is
ridiculous. There’s plenty of opportunities. As others have said,
this list is an excellent way to learn, first by reading and
understanding, but then as James said, by contributing.

Do you honestly think someone with no computer science or programming
background can read through the pickaxe and then
start submitting rubyquiz.com solutions just by reading and posting
comments
to this mailing list? Now thats ridiculous.

Dont you realise the sheer volume of this list is enough to
make a newbies head explode? Not to mention probable
kidney failure.

Ruby-Talk mailing list is where we all end up, but its not
where people should start, at least not in my opinion.

Frankly I’m surprised so many people say this is a good
place for newbies to learn. I guess they say that because this
is the best source out of what is currently available within the
ruby community, which just goes to prove my point that there
is not much out there for newbies who are finished the pickaxe
but nowhere near ready for rubyquiz.com.

I find teaching (contributing) to be the best vehicle for learning.
It forces you to really fill in the gaps in your own understanding as
you work through it. Plus, if there are still gaps, others will
kindly point those out as well. :slight_smile:

I agree, thats a good way for someone with a strong background in
computers
to pickup a second or third language.

In addition, there’s such things as IRC, RubyConf, RailsConf, Rails
Studio, etc… etc…

Would you care to elaborate a little more on how those are tailored to
educate
newbies from around the world to the point that they can start writing
high quality solutions to rubyquiz?

IRC seems to make some newbies lazy, they can stop studying and just
bug people for answers until they get kicked out or someone breaks down
and solves the problem for them in which case they’ve learned nothing.

Ok, so in conclusion, this is the current ladder for newbies:
Pickaxe → (IRC,ruby-talk) → rubyquiz.com

IPlease keep in mind, im not bashing anything: Pickaxe? Awesome.
#ruby-lang? Awesome.
Ruby-Talk? Awesome. rubyquiz.com? Awesome.

And I really mean that, each one of those things has a place near and
dear to my heart.

One of the problems I’d have with a certification of this sort is that
it focuses only on the least important aspects of the language -
syntax, nomenclature, conventions, etc.

What’s really important is good design skills, especially using Ruby’s
tools (OO, metaprogramming, agility, etc.). And these are the type of
things which are almost impossible to test on a curicullum based,
multiple choice, certification.

Knowing a language means little more than knowing a bunch of syntax.
It’s a world apart from knowing how to develop. Right now, there are
only two languages where it’s usually safe to assume that someone who
knows “language” is also a good developer (Ruby and Python) - I’d hate
to see Ruby fall from that.

Alex C. wrote:

The problem with rubyquiz is that there is no continuity, it starts off at
a very high level, newbies have to search around looking for a simple starting
exercise, probably picking the wrong one, getting frustrated, giving
up, and then I look
for a new exercise to try… and I get frustrated again …err… I mean
“newbies” get
frustrated again… ahem… anyway…

Well, this post was exactly about my issue in this thread, just Alex
expressed much more better. I have been describing exactly the same
thing. http://www.pythonchallenge.com/ has the great advantage that it
goes gradually from ‘how much is 2^38’ till really advanced issues, and
to go on you were forced to study the techniques needed in a funny and
addictive way.

Btw, what would You (the whole list) think about porting
www.pythonchallenge.com to Ruby? (E.g. we could name it… huh… let me
think… maybe rubychallenge.com? :wink: By the ‘porting’ i mean several
different possible levels:

  1. (e.g. one-to-one: this you can do actually as-it-is, up to a certain
    level the stuff is solvable even in Java - however, the difference would
    be that the solutions (there is a wiki for solutions) and the discussion
    would be in Ruby rathen than in Python. This is the quickest, but
    definitely not the best solution.

  2. Using the same style, create a different site with different riddles;
    This would be the ultimate solution, but it takes time of course. Time
    is the only negative factor here, all the other ones are positive ( Ruby
    style, thus geared towards ruby constructs like blocks, metaprogramming
    etc…, much improvements (i have also some ideas :wink: etc). The idea we
    need is:

-) it gets harder gradually, thus you have to learn techniques from n00b
to pro
-) you have to solve level n to go to n+1
-) some really cool riddles
-) good solutions, discussions etc.
-) +improvements - we could introduce even more goodies!

There are some possible levels of porting inbetween 1) and 2). Of course
the best would be the everything-from-scratch extreme if somebody would
have time for this (e.g. i would be happy to participate myself, but to
do this alone would be too time consuming for me due to other tasks. So
if somebody would like to start with this, LMK). python challange also
started of much mire simpler, just a few riddles, then they were added
gradually as people were flooding the authors with ‘give me more’ :wink:

BTW. pythonchallallange.com was also inspired by notpron
(Notpron by David Münnich - The Hardest Riddle Available on the Internet - titled ’ - The Hardest Riddle Available on
the Internet’) so actually it would not be a ‘franchise steal’.

If somebody is sceptic about this kind of stuff, he has to try
pythonchallange to see how addictive it is - it really stirred up the
python list, everybody was looking for answers in different techniques
(wrt the task he solved ATM), i remember myself to even neglecting
normal work to swish through XML-RPC, HTTP and cookies related python
stuff just to get past a certain level :wink:

What do you think?

peter

btw I forgot to add: I came to know a LOT of non-programmers through
python challange - i have been mailing on a (nearly) dayly basis with
an US (non programmer) girl (i think se was a lawyer) up to the 18th or
something level. When she begun she did nothing about programming at
all, after 1 week he has been posting about regexps, after 2 weeks about
bzip2 from python, after 3 weeks cookies and HTTP, well you get the
idea… She was really enthusiastic to learn this stuff (which is IMHO
not typical for a non technical person) just to see the next screen…
And she was not the only one…

My point is that this kind of stuff has a great potential to evangelize
the language to the noob/beginner/i’ll-give-it-a-try/non-programmer
people. You can put down pickAxe because of other tasks. You can neglect
reading ruby talk. But you will not be able do this (at least based on
my experience, and based on others solving python challange) with
rubychallange.com! :wink:

Ruby quiz is very cool, but such a girl i have described above would
never had a chance to begin it.
This is of course absolutely OK: ruby quiz is intended for a different
audience.

peter

… Right now, there are
only two languages where it’s usually safe to assume that someone who
knows “language” is also a good developer (Ruby and Python) …

Wow! That’s a big claim! Can you support that at all? What do you mean
by
it?

Cheers,
Dave

Peter S. wrote:

My point is that this kind of stuff has a great potential to evangelize
the language to the noob/beginner/i’ll-give-it-a-try/non-programmer
people. You can put down pickAxe because of other tasks. You can neglect
reading ruby talk. But you will not be able do this (at least based on
my experience, and based on others solving python challange) with
rubychallange.com! :wink:

Okay, I went over to this pythonchallenge.com and got to level 3 (using
irb, hehehe). It was semi-fun, and I can see how it might appeal to
some people.

It seems like a lot of work to do anything similar, at least in whole.
Perhaps whoever is going to do this could start small, and just work up
over time.

Pistos

On 30/03/06, Peter S. [email protected] wrote:

btw I forgot to add: I came to know a LOT of non-programmers through
python challange - i have been mailing on a (nearly) dayly basis with
an US (non programmer) girl (i think se was a lawyer) up to the 18th or
something level.

I can meet girls if I change from Ruby to Python?
Bye-bye, Ruby-using suckers!

;Daniel


Daniel B.
http://danielbaird.com (TiddlyW;nks! :: Whiteboard Koala :: Blog ::
Things
That Suck)
[[My webhost uptime is ~ 92%… if no answer pls call again later!]]

On Thursday 30 March 2006 10:34 am, Pistos C. wrote:

Okay, I went over to this pythonchallenge.com and got to level 3 (using
irb, hehehe). It was semi-fun, and I can see how it might appeal to
some people.

It seems like a lot of work to do anything similar, at least in whole.
Perhaps whoever is going to do this could start small, and just work up
over time.

Hmm, I didn’t get past Level 1. (Did I start at the wrong place–you
start
with a cryptic “Hint: try to change the URL address.”?)

Anyway, the idea as I imagined it in my mind sounded good, the actual
implementation of the idea annoys me, it seems like one of those
adventure
games where you search all over the place until you get lucky and find
something useful.

Anyway, ignoring all that, I’d be interested in seeing something
implemented
along the lines I imagined–you go to some page where there is a fairly
well
laid out problem to solve (with adequate descriptive text). There is
some
way for you to provide an answer (either via a code fragment, or maybe
some
(well thought out) multiple choice answers. If you answer the question
right, you get credit for a “level” and move to the next challenge. If
you
answer it wrong, you can either try again (immediately) or seek (and
find)
resources to help you understand what you didn’t understand before.

I was hoping that the Python challenge site included a listing of the
problem
they solved at each of the challenge levels, and what they expected the
challenger to learn as a result–is there such a list?

Anyway (I guess I like that word), although I’m quite busy at the
moment, I
suggest anybody who is interested in this just start–by adding their
thoughts to this thread, and then moving thoughts somewhere else as they
jell
(sp?).

What makes sense as the first challenge for something like that? I
guess over
on Python challenge, it has to do with (after changing the URL) to
something
related to 2**38. And, of course, there is the traditional “Hello,
World!”
program. Anybody have other suggestions for either the first challenge
or
any subsequent challenges?

(If we don’t find anything better, I’d propose to start creating
relevant
pages on WikiLearn (http://twiki.org/cgi-bin/view/Wikilearn).

Randy K.

Oh, I have challenge #27 (just guessing at the number)–install Ruby,
tcl/tk,
TkHTML, and whatever else is required to make TkHTML display a simple
HTML
string like

Test page

(with the correct HTML). (Then do the
same
for wxHTML, kHTML, Gecko, and ???

Bill K. wrote:

I think tryruby is awesome. I’ve given the link to people who
were interested in ruby but not only had never tried it, they
had very little programming experience. The feedback has been
positive (apart from the session timing out when they took a
short break. :slight_smile:

Hey, thanks, Bill. By all means, pass it around. I’m moving tryruby to
a machine with a lot more power and memory (and the application is a bit
more lightweight now) so I should be able to increase the time limits.
I’m also working on checkpointing the thing so sessions can be stored on
disk and resumed later.

_why

Thanks Steven!

I have checked and corrected everything.

As to the purpose of the exams - it will be definetly not for the
splitting Ruby people by certified and uncertified. Like I said it is
for educational purposes and for fun :slight_smile:

The Ruby has not so many documentation (especialy for libs) and
sometimes You just don’t know that there is a more attractive and DRY
way to do things. Taking exams is a way to compare your knowledge to
the knowledge of other people who created and approved the questions
and a different way to learn. I can at least say that it works for me
when I have taken Java exams.

As for fears that it will be an exam only covering syntax, I could say
that it is called “Ruby Basic” for reason. The next step will be to
create next levels, like exams for specific libraries, Rails, design
style, OO patterns or something else. If you have some ideas please
share.

It will be possible to add your questions and evaulate existing ones in
the closest time. At the beginning Ruby exams will be mixed with all
the Java stuff. But if there will be interest shown, it will be posible
to divide all Ruby exams from Java and create a separate assesment
platform.

Dmitry

James-

Yeah, that was a nice one. Just very suble at the end.

Like waving a red cape in front of a newsgroup full of bulls!

Also, good frigg’n work on the Elevator Pitch site. Yesterday I had the
rather horrible experience of having to pitch my company to a VC who
didn’t seem to get it. So, can’t wait to perfect the pitch for the next
one.

Maybe the next one will have ever heard of Ruby. Doubt it.

-hampton.

On 3/31/06, Dmitry B. [email protected] wrote:

Thanks Steven!

I have checked and corrected everything.

As to the purpose of the exams - it will be definetly not for the
splitting Ruby people by certified and uncertified. Like I said it is
for educational purposes and for fun :slight_smile:

I do not think anybody implied you would, sorry if it came over like
this.
But believe me, someone else would.
BTW I encourage you doing this, because if you feel it is a good thing
to
do, do so.
Some people prefer not to participate in this, that is all. Personal
choices
we have to take and to respect.
On the other hand I would love to talk you out of it :wink:

The Ruby has not so many documentation (especialy for libs) and

sometimes You just don’t know that there is a more attractive and DRY
way to do things. Taking exams is a way to compare your knowledge to
the knowledge of other people who created and approved the questions
and a different way to learn. I can at least say that it works for me
when I have taken Java exams.

If it worked for you it will work for others, so if such an exam turns
out
harmful eventually (I think it will, but I might be wrong), at least
there
will be benefits.
It does not work for me though.

At the beginning Ruby exams will be mixed with all

the Java stuff.

That will make Java look a clumsy language!!! (one can object the term
“language” if one wants)
Maybe that will serve the Ruby community after all.

But if there will be interest shown, it will be posible

to divide all Ruby exams from Java and create a separate assesment
platform.

Dmitry

Just to be clear, I am still against it!
But if it is eventually done I will adjust my judgement.
Personally I would love it becomes much more “educational” than
“certification”.

Cheers
Robert


Deux choses sont infinies : l’univers et la bêtise humaine ; en ce qui
concerne l’univers, je n’en ai pas acquis la certitude absolue.

  • Albert Einstein

Hampton wrote:

James-

Yeah, that was a nice one. Just very suble at the end.

Like waving a red cape in front of a newsgroup full of bulls!

Tact is my specialty.

Also, good frigg’n work on the Elevator Pitch site.

Thank you. I work with very good people.


James B.

http://www.ruby-doc.org - Ruby Help & Documentation
Ruby Code & Style - The Journal By & For Rubyists
http://www.30secondrule.com - Building Better Tools

On 3/29/06, [email protected] [email protected] wrote:

On Thu, 30 Mar 2006, [email protected] wrote:

I can understand how some people are worried about the word
certification, fearing that it would create some kind of hierarchy of
insiders, with everyone else being outsiders. Maybe this is because of
the nature of the word “certification”.
I share that fear. I’d hate to see people brand themselves as
outsiders by getting Ruby “certification” :slight_smile:

…although it might be arguable that many Ruby programmers are
certifiable.

-austin