Forum: Ruby Ruby Black Belt

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Dmitry B. (Guest)
on 2006-03-29 01:09
(Received via mailing list)
Hello Ruby community!

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

Those who are familiar with Java may have noticed the place on the web
called JavaBlackBelt.com. JavaBlackBelt is a community for Java & open
source skills assessment. Everybody is welcome to take existing and
build new exams.

Until now only Java and related technology exams were available over
there. In the recent feature it is planned to expand existing content
with a set of Ruby related exams.

The first step of exam creation is to define an exam objective and
question categories. This first step was accomplished and a draft
version is available right here:

http://www.javablackbelt.com/WikiPage.do?action=vi...

The goal of objective is to define a Ruby knowledge boundaries needed
to pass the test. The content will be created according to stated
question categories.

What we need is a feedback of experienced Ruby enthusiasts (means You).


Please tell what do You think of the question categories. Are they too
complex or too simple for Basic level exam? May be there is statements
that are not easy to understand or they are just totaly wrong? May be
some topics should not be included in basic level, may be some new
added?

P.S. I will post here a message when the process of exam creation will
be started and everyone will have a change to add a tricky questions
and take the exams.

Dmitry
Justin C. (Guest)
on 2006-03-29 01:30
(Received via mailing list)
Dmitry B. wrote:
> Until now only Java and related technology exams were available over
> to pass the test. The content will be created according to stated
>
> P.S. I will post here a message when the process of exam creation will
> be started and everyone will have a change to add a tricky questions
> and take the exams.
>
> Dmitry
>
>
>

What's the purpose of the exam? There was a thread a while back[1] where
most people expressed a strong dislike for anything resembling Ruby
'certification'.

[1]http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/rub...

-Justin
James G. (Guest)
on 2006-03-29 01:53
(Received via mailing list)
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.  ;)  So, I better at
least point some things out.  From your basic exam:

> Vocabulary and concepts (1 questions)

> Ruby source file supposed to have .rb extension.

While this is good practice, it is certainly not required.  There are
even times it would be considered undesirable (making a command-line
executable, for example).

> Understand that basic commands like puts and exit are actualy
> Kernel class methods.

They are actually Kernel *instance* methods.

> 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.

> Naming (3 questions)
>
> Ruby naming style and how it affects code
>
>     * Constants: UPPER_CASE
>     * Classes: Starting with uppercase

...at each new word:  LikeThis.

>     * Methods and variables: starting with lowercase

...and using underscores to separate words:  like_this.

> Know that methods ending with ! are supposed to be mutators (sort!).

Actually, they are considered dangerous.  exit!() is not a mutator,
for example.

> Comments (1 question)

> Know that the Ruby code has a # (sharp) comment symbol.

...and multi-line comments:

=begin
   This is a comment.
=end

> Variables (2 question)

> Know that there is no unbound variables, but only class attributes.

What does this mean?

> Know that it is not necessary to define staring value in Ruby. It
> is nil.

You will probably get a warning for programming like this though, if
Ruby's warnings are on.

> Know how to check if variable is defined with nil? method.

You check if a variable is nil with nil? and defined with defined?.

> I/O (2 questions)

> IO reading iterators: each_line

Or its alias:  each().

> Classes (3 questions)

> Know that the name of constructor method in Ruby is 'initialize'.

The name of Ruby's default constructor is new().  The name of the
method new() calls to complete object construction is initialize().

> Understand that class methods are supposed to work without any
> object being created.

That's a little more fuzzy in Ruby than Java, since the class itself
is an object.

> Know that Ruby does not care what is the class name of the object
> until it has called methods.

What does this mean?

> Methods (2 questions)

> Know what does method 'alias' means in Ruby.

alias is a keyword, not a method.

> Blocks (1 question)

> Usage of blocks and iterators.

These are two pretty broad topics that probably should not be lumped
together under one topic.

> Not covered: creating own iterators and using 'yield'.

yield is used to call a block.  That might be to create an iterator,
but it does not have to be.

> Exceptions (2 questions)

> Know that Exception is a class and custom exceptions should inherit
> it.

I believe most custom exceptions should inherit from RuntimeError.

> 'catch' and 'throw' constructs.

Why are these here?  They have nothing to do with exceptions.

> Modules (1 question)
>
> 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.

> Dynamic usage of load command.

Again.

James Edward G. II
Jeppe J. (Guest)
on 2006-03-29 02:03
(Received via mailing list)
Hey if people is against an exam, why not make it more like a test so
that
people and especially newbies (like me!) would know on which areas to
improve themselves?
I've seen such a test for C++, and I thought it was a really great tool.

2006/3/28, Dmitry B. <removed_email_address@domain.invalid>:
Benjohn B. (Guest)
on 2006-03-29 03:03
(Received via mailing list)
>
> ...and multi-line comments:
>
> =begin
>   This is a comment.
> =end

Really? Splendid, thanks :) See - this _is_ useful.

>> Know that it is not necessary to define staring value in Ruby. It
>> is nil.
>
> You will probably get a warning for programming like this though,
> if Ruby's warnings are on.

And class scope variables - they don't default to nil.

>> Know that Ruby does not care what is the class name of the object
>> until it has called methods.
>
> What does this mean?

Dynamically typing?
Benjohn B. (Guest)
on 2006-03-29 03:14
(Received via mailing list)
On 28 Mar 2006, at 23:03, Jeppe J. wrote:

> Hey if people is against an exam, why not make it more like a test
> so that
> people and especially newbies (like me!) would know on which areas to
> improve themselves?
> I've seen such a test for C++, and I thought it was a really great
> tool.

If you're not aware of it, you may get a lot from: http://
www.rubyquiz.com/

Certainly, the language tests I've done have seemed to be a terrible
representation of my abilities (and I'm not just bitter about being
bad at them, as I've generally done well :). For instance, in c++,
they'd generally ask lots of ridiculous detail about totally obscure
sections of the language (oooh, bit fields, and exactly what happens
when you do all sorts of things that any good book will strongly warn
you against - basically, questions that if you need to know the
answer to, you're almost certainly doing something in an
inappropriate manner). At the same time, they tend to miss out on
more useful things like "do you know what the STL and Boost are, and
why they're good".

I think everyone I know with any kind of "official" certification for
being competent with a technology believes it to be a total waste of
time. Useful for getting the odd job, but otherwise pointless.

:) But I've got to say, I'm not sure why I have an irrational dislike
of the idea of Ruby certification. Maybe a simple one would be having
a gem up on rubyforge :) And your "score" could be the number of
downloads it gets :) So I'm a zero and a zero so far...
James B. (Guest)
on 2006-03-29 04:17
(Received via mailing list)
Jeppe J. wrote:
> Hey if people is against an exam, why not make it more like a test so that
> people and especially newbies (like me!) would know on which areas to
> improve themselves?
> I've seen such a test for C++, and I thought it was a really great tool.


Want to get better at Ruby? Help answer questions on ruby-talk.

People ask all sorts of stuff, from the simple to the sublime.

When a question comes up, offer an answer.

See, if you take a test in private, you can be a major doofus and no one
need know.  But if you try answering questions in public, then the
pressure is on; few things sharpen the mind like fear of public
ridicule.

Actually, few people get ridiculed here. But if you are wrong, people
*will* point it out; so you either confirm you knowledge, or expand it.

Far better than any test.

Want a certificate? Tell people to Google "Ruby+#{your_name}" and judge
for themselves.

--
James B.

"In Ruby, no one cares who your parents were, all they care
  about is if you know  what you are talking about."
   - Logan C.
Gregory B. (Guest)
on 2006-03-29 04:28
(Received via mailing list)
On 3/28/06, Dmitry B. <removed_email_address@domain.invalid> wrote:
> Hello Ruby community!
>
> Do You want to take part in the creation process of exam series,
> covering Ruby itself and RoR framework?

No.  For the reasons others have mentioned.  Public mailing lists are
a better way to learn, and any test to 'measure your skills' will
surely be missing some important things and have some unnecessary
things.
Ryan L. (Guest)
on 2006-03-29 04:44
(Received via mailing list)
On 3/28/06, Gregory B. <removed_email_address@domain.invalid> wrote:
>
> No.  For the reasons others have mentioned.  Public mailing lists are
> a better way to learn, and any test to 'measure your skills' will
> surely be missing some important things and have some unnecessary
> things.

I agree with James B.'s and Gregory's assessments. I know I've
learned a lot more from answering questions on this mailing list than
I would from studying for and taking some exam. I think the whole
certification/exam thing fits in more with a very corporate
environment, like you find in the Java community. I know Rails has
drawn a lot of attention to Ruby from the corporate world, but I'd
prefer to keep the nice community spirit we have and not get too
sucked into the corporate environment, at least as far as culture is
concerned.

With that said, there is nothing stopping people from making exams or
certifications for Ruby, but frankly they won't mean much without the
support of the community. Plus it is very important to have Ruby
experts involved otherwise the exam itself may not even be accurate
(as James Edward G. II illustrated earlier in this thread.) That
situation is worse than have no exam at all...much worse.

Ryan
Jason P. (Guest)
on 2006-03-29 04:46
(Received via mailing list)
On Mar 28, 2006, at 6:28 PM, Gregory B. wrote:

> On 3/28/06, Dmitry B. <removed_email_address@domain.invalid> wrote:
>> Hello Ruby community!
>>
>> Do You want to take part in the creation process of exam series,
>> covering Ruby itself and RoR framework?
>
> No.  For the reasons others have mentioned.  Public mailing lists are
> a better way to learn, and any test to 'measure your skills' will
> surely be missing some important things and have some unnecessary
> things

And some of us consider the creation of a certification as the
hallmark that a language is undergoing the process of dilbertization.
Sorry to be so blunt, Dmitry.

--
Jason P.
removed_email_address@domain.invalid

"The computer allows you to make mistakes
faster than any other invention, with the
possible exception of handguns and tequila."
Mark Haniford (Guest)
on 2006-03-29 05:12
(Received via mailing list)
Just set it up and if some people find it useful, then so be it.  You
don't
need approval from anyone.
Jeppe J. (Guest)
on 2006-03-29 10:32
(Received via mailing list)
Yeah I could do that, but this is my first language and I can still only
answer basic questions.

2006/3/29, James B. <removed_email_address@domain.invalid>:
Srinivas J. (Guest)
on 2006-03-29 11:13
(Received via mailing list)
Dear all,

Enumerable#select always returns an array. On a hash too, it returns
an array of arrays of key-value pairs.

The issue with this approach is that 'select' calls cannot be chained.
It is now mandatory to know whether the receiver is the original hash
or is the result of at least one 'select'.

Thus, for 'select'ing a second (or subsequent) time, the semantics of
the block themselves have to change.

Else, the result of the first selection has to be manually converted
to a hash (may be using something like hsh =
Hash[select_result.flatten]).

Is there some reason why when a filter is applied to a hash, we get an
object of a different type?

This is not so much an issue, semantically, with Set instances, though
the principle applies there, as well.

Wouldn't it be good if application of a filter on an object of a given
type results in an object of the same type?

Best regards,

JS
Dmitry B. (Guest)
on 2006-03-29 11:14
(Received via mailing list)
First of all want to thank all of You who posted comments here. Special
thanks to James Edward G. II for pointing at the misstakes,
incompleteness and obscure language!

When I have posted at Ruby group I have expected far more "blunt"
relpies, believe me ;)

Now allow me to try to 'defend' myself a bit :)

What we are talking here about is a bit different, than traditional
certification. The main purpose is learning. You pass the exam and see
that You don't know some answers. After the exam it is possible to see
the explanation and to learn (multiple-line comments is realy a good
example :) ) As I have mentioned before, everyone will be allowed to
add new questions and the best of them will be chosen by approval
process. No single no-expert person (like me) is going to create a set
of questions and call it a certification. I will be posting mine and
humbly waiting for other Ruby specialists to rate or comment it. And of
course public mailing list and practice ARE better ways to learn :)

And tell me one more thing - why some of You afraid of Ruby becoming
popular?

Dmitry
Pit C. (Guest)
on 2006-03-29 12:10
(Received via mailing list)
Srinivas J. schrieb:
> Enumerable#select always returns an array. On a hash too, it returns
> an array of arrays of key-value pairs.

Right.

> The issue with this approach is that 'select' calls cannot be chained.
> It is now mandatory to know whether the receiver is the original hash
> or is the result of at least one 'select'.

It works for me:

   h = { 0 => 0, 1 => 2, 2 => 3, 4 => 4 }

   h.select { |k,v| k % 2 == 0 }.select { |k,v| v % 2 == 0 }

   # => [[0, 0], [4, 4]]

Can you show us your problem?

Regards,
Pit
Srinivas J. (Guest)
on 2006-03-29 12:41
(Received via mailing list)
Thank you for pointing out the chained 'select'!

Allow me to apologize for the incorrect problem statement.

The issue is actually not with downstream 'select's, but with other
calls that assume a hash-like behaviour on the part of the container.

Examples include Hash#[] and Hash#each_value.

Should I choose to use these calls somewhere, I need to first know
whether the container I have been passed is the original hash or the
result of at least one 'select'.

The matter is confusing since Hash#reject actually returns a hash!
Yes, Hash#reject is equivalent to Hash#delete_if on a 'dup' of self.
But, semantically, the exclusion filter on the hash is returning a
hash again, while the inclusion filter is not!

I hope this explains my question better.

Best regards,

JS
Damphyr (Guest)
on 2006-03-29 14:08
(Received via mailing list)
Srinivas J. wrote:
> the block themselves have to change.
>
> Else, the result of the first selection has to be manually converted
> to a hash (may be using something like hsh =
> Hash[select_result.flatten]).
>
> Is there some reason why when a filter is applied to a hash, we get an
> object of a different type?
>
I've stumbled on the same issue yesterday and was a bit miffed, mostly
because I couldn't have Hash#select! , while I can do Hash#reject!
A simple reversal of logic did the trick, but the question remains.
Cheers,
V.-
--
http://www.braveworld.net/riva
Marcel Molina Jr. (Guest)
on 2006-03-29 17:13
(Received via mailing list)
On Wed, Mar 29, 2006 at 05:40:54PM +0900, Srinivas J. wrote:
> Thank you for pointing out the chained 'select'!
>
> Allow me to apologize for the incorrect problem statement.
>
> The issue is actually not with downstream 'select's, but with other
> calls that assume a hash-like behaviour on the part of the container.
>
> Examples include Hash#[] and Hash#each_value.

It's not pretty but...:

>> h = { 0 => 0, 1 => 2, 2 => 3, 4 => 4 }
=> {0=>0, 1=>2, 2=>3, 4=>4}
>> Hash[*h.select { |k,v| k % 2 == 0 }.flatten].each_value {|v|
p v}
0
3
4
=> {0=>0, 2=>3, 4=>4}

marcel
James G. (Guest)
on 2006-03-29 18:02
(Received via mailing list)
On Mar 29, 2006, at 12:31 AM, Jeppe J. wrote:

> Yeah I could do that, but this is my first language and I can still
> only
> answer basic questions.

We all started there my friend.  How do you think we got better?  ;)

James Edward G. II
Peter S. (Guest)
on 2006-03-29 18:05
(Received via mailing list)
Dmitry B. wrote:
> certification. The main purpose is learning. You pass the exam and see
> popular?
>
> Dmitry
>
Hello all,

I am just learning Ruby, new to the mailing list/Ruby world so plz no
bashing (especially because I am partially on Dmitry's side ;-).
Currently i am a professional Java/J2EE coder, for the last 5 years.
I have picked up Python about 2 years ago, and fell in love with it
immediately. I have found much more productive, effective, quick and
mainly fun way of developing SW.
However, some weeks ago gave Ruby a try (I did know about Ruby for
years, but i said Python is essentially just the same with different
syntactic sugar, so why waste time to learn the same thing twice) - but
now, to say the least i am really happy that i did sacrifice some time
to read the pickAxe. Just now i am thinking about switching to Ruby from
Python.

Why i am writing this? Because i remember having exactly the same debate
on the python-tutor list. Somebody asked for some kind of python
certificate, and got crushed by several guys in matter of minutes. What
was even worse there, they did not even explain him what they do not
really like about such a certificate.

Believe me, I can absolutely understand your points. I do not like to
work in Java at all, it is obscure, not suited for creative thinking,
byrocratic, overcomplicated (With my pythoninc friend who dislikes java
too, we designed once a tutorial for absolute beginners: You had to
install HelloWorldFramework where you only had to implement IHelloWorld
interface to get started to write your first 'Hello World' app ;-) .

Unfortunately at my current company we are doing something big and it is
not possible for us to switch to python/ruby, and as i am interested in
the solution we are developing, i have to stick with Java, despite my
disgust. Of course i do not like it's certificate approach, which values
lexical knowledge of idiotic obscure language details over natural
talent/creativity (which is hard to measure anyway).

But still, I can understand Dmitry's point as well. I believe (hope) he
is looking for a different facet of a 'certificate' (probably the word
'certificate' is flawed right away) than a test which certifies you are
a good/bad ruby programmer. I can summarize this feature in one URL:

http://www.pythonchallenge.com/

I also solved the python challege up to level 20 or something when it
got too time consuming. To sum it up: to get to the next level you
needed to apply some python technique/module (like regexps, loading a
web page, IO, gfx, GUI, etc) and it was gradually getting harder and
harder. The catch was, that even the non-programmers rushed to learn to
program - because there was no other way around to get to the next level
and because you wanted to get to the next level badly (it was kinda
addictive). When the next level came up, it was immediately clear that
you are missing info on this or that technique/module/feature of the
language.

I know that the ruby-quiz is around, and i think it is a great idea - i
hope i will manage to find some time to play around with it. However,
what was different in the case of the python challenge: it was
hierarchical, and in a very natural yet funny way it somehow certified
your skills in python/programming (i.e. if you got yourself to level X,
you had some experience with regexps, IO, web, UI, ...). I think this is
the kind of certificate which would be interesting to see in Ruby as
well - and not the Java style experience-with-obscurity-is-knowledge
style crap.

peter
James G. (Guest)
on 2006-03-29 18:33
(Received via mailing list)
On Mar 28, 2006, at 3:52 PM, James Edward G. II wrote:

>> Understand that basic commands like puts and exit are actualy
>> Kernel class methods.
>
> They are actually Kernel *instance* methods.

Robert D. was kind enough to point out that RDoc may have led me
astray here.  You can call Kernel methods like class methods and they
do not show up in the list of instance_methods().  They are mixed
into Object though, right?  Can someone clue me in here?

James Edward G. II

P.S.  See how hard it is to get a test right?  ;)  We now know I'm
not smart enough to write one...
ts (Guest)
on 2006-03-29 18:54
(Received via mailing list)
>>>>> "J" == James Edward G. <removed_email_address@domain.invalid> writes:

J> Robert D. was kind enough to point out that RDoc may have led me
J> astray here.  You can call Kernel methods like class methods and they
J> do not show up in the list of instance_methods().  They are mixed
J> into Object though, right?  Can someone clue me in here?

 a global function is a Kernel module function : this mean that it's a
 *private* method (this is why #instance_methods don't display it) and a
 public singleton method

moulon% ruby -e 'module M def f() end; module_function :f end; p
M.instance_methods'
[]
moulon%

moulon% ruby -e 'module M def f() end; module_function :f end; p
M.private_instance_methods'
["f"]
moulon%

moulon% ruby -e 'module M def f() end; module_function :f end; p
M.singleton_methods'
["f"]
moulon%


Guy Decoux
James B. (Guest)
on 2006-03-29 19:34
(Received via mailing list)
Jeppe J. wrote:
> Yeah I could do that, but this is my first language and I can still only
> answer basic questions.

Ah, but that gives you a certain advantage.  You can explain to other
newcomers those things that at first seemed odd or confusing.

People who've been using a language for a while tend to forget those
things.



--
James B.

http://web2.0validator.com    - We're the Dot in Web 2.0
http://refreshingcities.org   - Design, technology, usability
http://yourelevatorpitch.com  - Finding Business Focus
http://www.jamesbritt.com     - Playing with Better Toys
James B. (Guest)
on 2006-03-29 19:37
(Received via mailing list)
Dmitry B. wrote:

>
> And tell me one more thing - why some of You afraid of Ruby becoming
> popular?

Wow, good troll.

:)

Pretty sure no one here ever expressed concern over Ruby's popularity.



--
James B.

"In physics the truth is rarely perfectly clear, and that is certainly
  universally the case in human affairs. Hence, what is not surrounded
by
  uncertainty cannot be the truth."
  - R. Feynman
James G. (Guest)
on 2006-03-29 19:37
(Received via mailing list)
On Mar 29, 2006, at 8:50 AM, ts wrote:

> and a
> moulon%
>
> moulon% ruby -e 'module M def f() end; module_function :f end; p
> M.singleton_methods'
> ["f"]
> moulon%

Thanks for the lesson Guy.  Insightful as always.

James Edward G. II
James B. (Guest)
on 2006-03-29 19:40
(Received via mailing list)
ts wrote:
>  public singleton method
> ["f"]
> moulon%


http://www.ruby-doc.org/core/classes/Module.html#M000725


--
James B.

"A principle or axiom is of no value without the rules for applying it."
   - Len Bullard
Robert D. (Guest)
on 2006-03-29 19:43
(Received via mailing list)
On 3/29/06, ts <removed_email_address@domain.invalid> wrote:
> public singleton method
>
> moulon% ruby -e 'module M def f() end; module_function :f end; p
> M.singleton_methods'
> ["f"]
> moulon%
>
>
> Guy Decoux



I knew I was wrong all the time, ty for showing me

here we go ;)
irb(main):015:0> Kernel.private_instance_methods
=> ["gets", "catch", "String", "`", "sleep", "getc", "warn", "gsub!",
"iterator?", "sprintf", "remove_instance_variable", "Integer", "split",
"putc", "abort", "chop", "lambda", "initialize_copy", "srand", "p",
"local_variables", "singleton_method_removed", "printf", "caller",
"require", "sub", "eval", "set_trace_func", "callcc", "binding",
"readline",
"throw", "Array", "chop!", "syscall", "raise", "autoload?", "format",
"trace_var", "exit!", "block_given?", "trap", "Float", "at_exit",
"puts",
"loop", "sub!", "chomp", "system", "singleton_method_undefined",
"method_missing", "scan", "select", "rand", "exit", "print", "fork",
"gsub",
"exec", "autoload", "singleton_method_added", "global_variables",
"readlines", "proc", "fail", "chomp!", "open", "untrace_var", "test",
"load"]

irb(main):016:0>  Kernel.private_instance_methods.include?("puts")
=> true

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
(Guest)
on 2006-03-29 19:49
(Received via mailing list)
I am learning Ruby as my first language, and have spent about one week
on it so far. So far, I like the language a lot.

Right now, I'm working my way through Pick-axe, and some other books to
learn about the syntax and features of the language. In my case, having
some kind of quiz/test would be helpful, as it would force me to test
my knowledge, and would make me aware of holes in my Ruby knowledge
which I would need to address. I like the idea of working up to
different levels mentioned in Peter's posting about Python, and can see
how it would be helpful to a lot of new fans of Ruby.

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".

However, if we can have exams/quizzes or whatever else you want to call
them to help newbies like me to learn Ruby, that would be a really
welcome move.

Paul
unknown (Guest)
on 2006-03-29 20:01
(Received via mailing list)
Hi --

On Thu, 30 Mar 2006, removed_email_address@domain.invalid 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" :-)


David

--
David A. Black (removed_email_address@domain.invalid)
Ruby Power and Light, LLC (http://www.rubypowerandlight.com)

"Ruby for Rails" chapters now available
from Manning Early Access Program! http://www.manning.com/books/black
Bill K. (Guest)
on 2006-03-29 20:23
(Received via mailing list)
From: "Peter S." <removed_email_address@domain.invalid>
> addictive). When the next level came up, it was immediately clear that
> well - and not the Java style experience-with-obscurity-is-knowledge
> style crap.

Interesting.  I was looking for an interactive Python
interpreter on the web page.  I did the first couple using
IRB.  I did like the humor... ("Have you ever heard of jvon
files??")

For Ruby, have you seen http://tryruby.hobix.com/ ?

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. :)

Anyway, so the python challenge got me wondering what an
advanced-skill version of tryruby would be like . . . .


Regards,

Bill
Pistos C. (Guest)
on 2006-03-29 20:33
Peter S. wrote:
> got too time consuming. To sum it up: to get to the next level you
> needed to apply some python technique/module (like regexps, loading a
> web page, IO, gfx, GUI, etc) and it was gradually getting harder and

> what was different in the case of the python challenge: it was
> hierarchical, and in a very natural yet funny way it somehow certified
> your skills in python/programming (i.e. if you got yourself to level X,
> you had some experience with regexps, IO, web, UI, ...). I think this is
> the kind of certificate which would be interesting to see in Ruby as
> well - and not the Java style experience-with-obscurity-is-knowledge
> style crap.

I tentatively agree with the others about official certification, but
this idea of some sort of online interface that covers all (or many) of
the features, tools, libs, etc. of Ruby in an interactive, educational
fashion sounds appealing.

Certainly, if there were a site that advertised itself with "Want to get
better at Ruby and have fun doing it?  Visit http://....." I would click
in an instant.  :)

Perhaps all Dmitry needs is a name change (of the idea, not him).  I
think the rough concept is worth brainstorming around and sculpting.

Pistos
Gregory B. (Guest)
on 2006-03-29 20:38
(Received via mailing list)
On 3/29/06, Dmitry B. <removed_email_address@domain.invalid> wrote:

> And tell me one more thing - why some of You afraid of Ruby becoming
> popular?

I'm not afraid of it becoming popular in general.  Am I afraid of it
becoming popular like Walmart?  You bet ya.  I don't want ruby to be
low prices always.... at the expense of it's community.  To the extent
that it gets popular, I should hope that it does so on it's own merit,
which it is already doing.

Ruby can be appreciated and competent rubyists can be found without
some sort of organization telling me what a good Rubyist is or what I
should know to be considered competent.
Gregory B. (Guest)
on 2006-03-29 21:26
(Received via mailing list)
On 3/29/06, Pistos C. <removed_email_address@domain.invalid> wrote:

> Certainly, if there were a site that advertised itself with "Want to get
> better at Ruby and have fun doing it?  Visit http://....." I would click
> in an instant.  :)

rubyquiz.com
Pistos C. (Guest)
on 2006-03-29 22:34
Gregory B. wrote:
>> Certainly, if there were a site that advertised itself with "Want to get
>> better at Ruby and have fun doing it?  Visit http://....." I would click
>> in an instant.  :)
>
> rubyquiz.com

Yes yes... but I meant BESIDES that.  ;)

Pistos
Christian N. (Guest)
on 2006-03-29 22:39
(Received via mailing list)
James Edward G. II <removed_email_address@domain.invalid> writes:

> On Mar 29, 2006, at 12:31 AM, Jeppe J. wrote:
>
>> Yeah I could do that, but this is my first language and I can still
>> only
>> answer basic questions.
>
> We all started there my friend.  How do you think we got better?  ;)

From endless hours on #ruby-lang, of course. ;-)
Christian N. (Guest)
on 2006-03-29 23:04
(Received via mailing list)
Benjohn B. <removed_email_address@domain.invalid> writes:

> :) But I've got to say, I'm not sure why I have an irrational dislike
> of the idea of Ruby certification. Maybe a simple one would be having
> a gem up on rubyforge :) And your "score" could be the number of
> downloads it gets :) So I'm a zero and a zero so far...

good != popular

good != publishes code

That said, definitely look at Ruby code of the people you want to hire.
Alex C. (Guest)
on 2006-03-30 00:29
(Received via mailing list)
I think the community could come up with something better and more
interesting
than an online test but I do not think that "something" should be
rubyquiz.com, sorry James.

rubyquiz.com is a really great source for gaining practical knowledge
if you already know
enough about programming and ruby in order to participate.

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..

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.

rubyquiz is only cool for two reasons: firstly because the problems
are well thought out, secondly because rubyists solutions are often
enlightening.

For that matter I think the name rubyquiz is misleading, it should be
rubyproblemsolving.com
and its meta tag should include "advanced".

The difference being that a quiz usually has a defined solution which
must follow a defined path
and the challenge is to find that path in order to reach that
solution. But of course rubyquiz.com is
very loose about how one can solve the problems and in my opinion this
is a bad way to learn
because often newbies, if they manage to solve the problem at all,
will have done so by poor means
and will have probably learned bad habits along the way as a result.
The given solutions
to the problems at rubyquiz are often themselves high level, just like
the problems themselves,
and so are equally difficult for newbies to learn from.

I'm not saying that you will not learn by hacking away at those great
exercises, what I'm saying is that if you are a newb you will most
likely teach yourself many bad habits along the way by trying to cut
your teeth on such complicated exercises IF you have not first gained
a solid foundation in programming.

What we need (and I want) is something to fill the gap between a
persons introductory book(s) on ruby (pickaxe, poignant,pine) and the
exercises at rubyquiz.com.

The books are necessary, you cant even begin until you have read one
or two of them, but to go from that to rubyquiz is quite a leap and
many I think are falling through the crack.

We need some sort of linear rubygame that will enforce good habits and
basic compsci techniques so newbs can gain that solid ground in simple
problem solving and have the tools to then go and tackle serious
problems like those found at rubyquiz.

*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.

Best regards,
(Guest)
on 2006-03-30 00:29
(Received via mailing list)
I just played with the Try Ruby site for 15 minutes, and like it very
much. For new programmers, it's an excellent combination with the
Pick-axe book. I'm sure that a version for more advanced programmers
would be very welcome, and would help in the propagation of Ruby.

A RubyOnRails version of the online tutorial would be really neat!

Can you imagine building your own web app with an online tutorial...

Paul
Jeppe J. (Guest)
on 2006-03-30 01:06
(Received via mailing list)
Practice, reading and more practice, I guess? :)



2006/3/29, James Edward G. II <removed_email_address@domain.invalid>:
Robert D. (Guest)
on 2006-03-30 02:03
(Received via mailing list)
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.

Please be aware that I do not at least doubt the best intentions of the
poster, but I am afraid there would be no good end to this :(

I strongly feel that it has nothing to do within the spirit of Open
Source.

And if you follow the Ruby-Quiz I hardly can imagine that one could
learn
more anywhere else.

It is also a marvellous opportunity for bright people to make themselves
known, that is why I never participate!

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
James B. (Guest)
on 2006-03-30 02:27
(Received via mailing list)
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)
Ross B. (Guest)
on 2006-03-30 03:16
(Received via mailing list)
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.
Alex C. (Guest)
on 2006-03-30 03:34
(Received via mailing list)
On 3/29/06, James B. <removed_email_address@domain.invalid> 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.
Michael T. (Guest)
on 2006-03-30 04:22
(Received via mailing list)
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. :)

In addition, there's such things as IRC, RubyConf, RailsConf, Rails
Studio, etc.. etc..

Michael
Steven L. (Guest)
on 2006-03-30 04:25
(Received via mailing list)
James Edward G. II <removed_email_address@domain.invalid> 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.  ;)  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 C. (Guest)
on 2006-03-30 05:20
(Received via mailing list)
On 3/29/06, Michael T. <removed_email_address@domain.invalid> 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. :)

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.
Michael T. (Guest)
on 2006-03-30 07:18
(Received via mailing list)
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
List R. (Guest)
on 2006-03-30 09:16
(Received via mailing list)
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.
Peter S. (Guest)
on 2006-03-30 12:27
(Received via mailing list)
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? ;-) 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 ;-) 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' ;-)

BTW. pythonchallallange.com was also inspired by notpron
(www.deathball.net/notpron - 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 ;-)

What do you think?

peter
Dave B. (Guest)
on 2006-03-30 12:30
(Received via mailing list)
> ...  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. (Guest)
on 2006-03-30 12:52
(Received via mailing list)
>
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! ;-)

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
Daniel B. (Guest)
on 2006-03-30 16:29
(Received via mailing list)
On 30/03/06, Peter S. <removed_email_address@domain.invalid> 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!]]
Pistos C. (Guest)
on 2006-03-30 19:34
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! ;-)

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
why the lucky stiff (Guest)
on 2006-03-30 19:54
(Received via mailing list)
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. :)

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
Randy K. (Guest)
on 2006-03-30 23:04
(Received via mailing list)
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 <h3>Test page</h3> (with the correct HTML).  (Then do the
same
for wxHTML, kHTML, Gecko, and ???
Dmitry B. (Guest)
on 2006-03-31 12:44
(Received via mailing list)
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 :)

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
Robert D. (Guest)
on 2006-03-31 16:29
(Received via mailing list)
On 3/31/06, Dmitry B. <removed_email_address@domain.invalid> 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 :)


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 ;)


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 (Guest)
on 2006-03-31 19:21
(Received via mailing list)
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.
Gregory B. (Guest)
on 2006-03-31 20:07
(Received via mailing list)
On 3/31/06, Hampton <removed_email_address@domain.invalid> wrote:
>
> Maybe the next one will have ever heard of Ruby. Doubt it.

was this supposed to go to the list?
James B. (Guest)
on 2006-03-31 20:07
(Received via mailing list)
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
http://www.artima.com/rubycs/ - The Journal By & For Rubyists
http://www.30secondrule.com   - Building Better Tools
Austin Z. (Guest)
on 2006-04-01 01:01
(Received via mailing list)
On 3/29/06, removed_email_address@domain.invalid 
<removed_email_address@domain.invalid> wrote:
> On Thu, 30 Mar 2006, removed_email_address@domain.invalid 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" :-)

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

-austin
Bill G. (Guest)
on 2006-04-01 01:07
(Received via mailing list)
On 3/31/06, Austin Z. <removed_email_address@domain.invalid> wrote:
> On 3/29/06, removed_email_address@domain.invalid <removed_email_address@domain.invalid> 
wrote:
> > On Thu, 30 Mar 2006, removed_email_address@domain.invalid 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" :-)
>
> ...although it *might* be arguable that many Ruby programmers are certifiable.

Might?  I thought it was a requirement.  You mean you're therapist
didn't tell you to sign up for this list?  I know mine did.
James B. (Guest)
on 2006-04-01 02:42
(Received via mailing list)
Bill G. wrote:
> On 3/31/06, Austin Z. <removed_email_address@domain.invalid> wrote:
>>...although it *might* be arguable that many Ruby programmers are certifiable.
>
>
> Might?  I thought it was a requirement.  You mean you're therapist
> didn't tell you to sign up for this list?  I know mine did.


Must be a quack.





:)





--
James B.

http://www.ruby-doc.org       - Ruby Help & Documentation
http://www.artima.com/rubycs/ - The Journal By & For Rubyists
http://www.rubystuff.com      - The Ruby Store for Ruby Stuff
http://refreshingcities.org   - Design, technology, usability
Meiao (Guest)
on 2006-04-03 21:00
(Received via mailing list)
What about something like Programming Challenges
(www.programming-challenges.com)?
It could use those problems or even the Ruby Q. ones.
What would you guys think?

I really like that site.
Benjohn B. (Guest)
on 2006-04-05 00:12
(Received via mailing list)
On 29 Mar 2006, at 19:34, Pistos C. wrote:

> Gregory B. wrote:
>>> Certainly, if there were a site that advertised itself with "Want
>>> to get
>>> better at Ruby and have fun doing it?  Visit http://....." I
>>> would click
>>> in an instant.  :)
>>
>> rubyquiz.com
>
> Yes yes... but I meant BESIDES that.  ;)

Kind of rubyquizlets.com?
Alex C. (Guest)
on 2006-04-05 13:44
(Received via mailing list)
Actually, I probably shouldn't be saying this..

Peter S. and myself are currently working on a Ruby version
of the pythonchallenge.com project.

We've registered the rubychallenge.com domain, and we've talked
to the Nadav who created pythonchallenge.com. In fact Nadav actually
offered to join us and give us all of his puzzles to port over to ruby.

We've decided to not go that route, although it will take a bit
longer we felt that original content would be better in the long run.

We have registered the project on rubyforge and hopefully
we'll have something available soon for people to see and play with.

We've got some really innovative ideas happening, this is not going to
be a port, in fact its not going to be like anything else on the market.

I'll be at Canada on Rails in Vancouver on April 13-14 and hopefully
will have something to show people by that time.
Pistos C. (Guest)
on 2006-04-06 19:32
Alex C. wrote:
> Peter S. and myself are currently working on a Ruby version
> of the pythonchallenge.com project.

I look forward to the first public release of this.  Please keep us
informed.  :)

Pistos
Giles B. (Guest)
on 2006-04-07 20:54
(Received via mailing list)
That is so cool!

Please make the higher levels as weird and wiggy as you possibly can.

Also, if you need help, I wouldn't mind porting some puzzles from
Python. It's absolutely alliterative.

--
Giles B.
www.gilesgoatboy.org
zdennis (Guest)
on 2006-04-07 21:09
(Received via mailing list)
Marcel Molina Jr. wrote:
> It's not pretty but...:
>
>>> h = { 0 => 0, 1 => 2, 2 => 3, 4 => 4 }
> => {0=>0, 1=>2, 2=>3, 4=>4}
>>> Hash[*h.select { |k,v| k % 2 == 0 }.flatten].each_value {|v|
> p v}
> 0
> 3
> 4
> => {0=>0, 2=>3, 4=>4}

What about splitting that up a little...

  class Hash
    def select_hash &blk
  	Hash[ *select{ |k,v| yield k, v }.flatten ]
    end
  end

  h = { 0 => 0, 1 => 2, 2 => 3, 4 => 4 }
  h.select_hash{ |k,v| k % 2 == 0 }.select_hash{ |k,v| k > 0 }

You can chain all you want, and it isn't so ugly. =)

Zach
Peter S. (Guest)
on 2006-04-08 00:37
(Received via mailing list)
Giles B. wrote:
> That is so cool!

> Please make the higher levels as weird and wiggy as you possibly can.
Well, that won't be a problem at all ;-) We have to make a lot of
decisions and have some issues to resolve, but to craft some weird
levels is definitely not among them ;-)

> Also, if you need help, I wouldn't mind porting some puzzles from
> Python. It's absolutely alliterative.
Well, we would like to come out with a first design and a basic set of
riddles, but after this we would definitely like to ask the community
members to contribute with ideas.
What do you mean by 'porting some puzzles from Python'? If  you mean
from pythonchallenge, we decided to drop that idea (as we would not like
to viloate the copyright or something).

Cheers,
Peter
Alex C. (Guest)
on 2006-04-08 02:33
(Received via mailing list)
On 4/7/06, Peter S. <removed_email_address@domain.invalid> wrote:
> Well, we would like to come out with a first design and a basic set of
> riddles, but after this we would definitely like to ask the community
> members to contribute with ideas.
> What do you mean by 'porting some puzzles from Python'? If  you mean
> from pythonchallenge, we decided to drop that idea (as we would not like
> to viloate the copyright or something).
>

The creator of python challenge offered to give us (Peter and me) the
source to
all the puzzles he has hosted on his website, he is really quite cool.
He also said that he has had it in mind to do this sort of thing for
quite
some time, but I guess he is busy just like the rest of us and just
never found
the time. I have no idea where Peter and myself are finding the time,
we both work
full-time as well as take schooling, but somehow we're managing.

But regarding the content at pythonchallenge.com as Peter said, we've
decided we don't want to copy that content, many people have already
solved those puzzles as they're quite generic.

We will be more than happy to look at any original work from authors
after we make our
initial release.
This topic is locked and can not be replied to.