I Love Ruby 2014 Beta edition download

Hello Folks,

Am writing 2014 Edition of my free(dom) ruby book “I Love Ruby” . get it
on http://is.gd/ruby_buk

If I have time, I will include meta programming soon.

This needs tons of work.

Ruby is generally installed by default on Linux systems (or at least any
modern system)
There are more versions of Linux than Ubuntu (thus there are other
package
managers other than apt-get)
Ruby is installed by default on OSX installing a new version might cause
problems
RVM works on OSX so if it is important you should have given
instructions
on how to install it there too
Same goes for Windows (RVM can be installed if you install Cygwin)
There are other IDEs than Geany and Geany can be installed on Windows
too

Basically if you don’t know anything about something then perhaps you
should not be writing about it. For example installing Ruby on Windows
“checkout this video Ruby Programming Tutorial - 1 - Installing Ruby - YouTube (well I
haven’t watched thios video and I am not sure about it)”, basically you
found a link and haven’t the faintest idea if it is any good and
couldn’t
be bothered to even watch it but who cares - certainly not you. It is
not
helpful to someone wanting to learn Ruby to be given instructions that
the
author has put no effort into.

Another example being “Okay, so whats the difference between Proc and
Lambda. I read somewhere that there are two main differences between
them,
here is one, the other one I forgot. If you happen to know please mail
it
to [email protected]” Perhaps you could have spent sometime
investigating
this issue before writing that section. By, perhaps, asking a question
on
this list :slight_smile:

Why do you mention twitter as an online resource for someone learning
Ruby
but fail to mention this mailing list or the tons of links to beginners
tutorials that have been posted in this list? Or the online API
documentation?

What about all the books that have been written about Ruby?

When you show a shebang line (which is rarely - inconsistency is no help
to
a beginner) you have one that will not work with RVM. For example on
page
71 we have #!/usr/bin/ruby which completely bypasses RVM. The better
shebang would be “#!/usr/bin/env ruby” which works with RVM and a normal
Ruby installation.

Was there even a section on how to run a Ruby program? Oh yes there it
is
on page 122, nearly two thirds of the way into a book after asking the
reader to run programs for over 100 pages. Perhaps how to run Ruby
programs
on Windows would help too.

What is the first paragraph on Inheritance about (page 88)? “We evolved
from monkeys. Chimps look like us” leading to the first man in space.
WTF!
How is knowledge of human evolution, which is a much misunderstood
topic,
going to help someone understand the term as used in computer
programming
that has little in common with it. For example if our (human, chimp and
gorilla) common ancestor (homininea or homonini if we exclude gorillas)
were to evolve the ability to see in dark we would not suddenly gain
this
ability. But a subclass in a computer program will inherit any new
methods
that its parent gains.

class A
def sing
puts “I can sing”
end
end

class B < A
def dance
puts “I can dance”
end
end

b = B.new
b.sing
b.dance

begin
b.laugh
rescue Exception => e
puts “Sorry can’t do that”
end

Add a new method to the parent class

class A
def laugh
puts “Ha ha ha”
end
end

puts “Try again”
b.sing
b.dance

and we can suddenly use it in the subclass

b.laugh

I can sing
I can dance
Sorry can’t do that
Try again
I can sing
I can dance
Ha ha ha

Biological evolution does not work this way so any assumption that the
reader makes about inheritance in computer programs from their
understanding of biological inheritance will lead them astray. Just how
this leads us to the first man in space is beyond me.

On page 155 as an explanation for why running:

def calling_proc
puts “Started calling_proc”
some_proc = Proc.new { return “In Proc” }
puts some_proc.call
puts “In calling_proc function”
end
calling_proc

does not produce the expected output is incorrect “When a proc is called
in
a function, and it has a return statement, it terminates that function
and
returns the value of the return as though the function itself is
returning
it!” If you remove the return from the Proc (just leaving Proc.new { “In
Proc” }) it will also not work. The return statement is not important,
the
implied return will also break it. Only Proc.new{} will continue to the
end
of the function with the following output.

Started calling_proc
nil
In calling_proc function

An explanation as to why would be enlightening.

Teaching is a skill distinct from programming. Just because you can
program
does not mean that you can teach.

You should …

  1. remove all references to Windows and OSX and just call the book “I
    Love
    Ruby - Ubuntu Edition” if you cannot be bothered to put the effort in
  2. fix the English
  3. place the “How to run a program” sooner
  4. get an editor
  5. be consistent and stay focused

ya thanks 4 the feedback. will read it soon. its quiet boring to read
all the stuff u have posted, but will read it and do changes
accordingly.

hope you will send feedback when I put op another release soon.

On Oct 20, 2013, at 1:19 AM, Karthikeyan A K [email protected]
wrote:

ya thanks 4 the feedback. will read it soon. its quiet boring to read
all the stuff u have posted, but will read it and do changes
accordingly.

hope you will send feedback when I put op another release soon.

Telling someone their solicited feedback is boring to read is probably
not the way to get help in the future. Just saying.

I could only see 1 real issue when I read that post. Looked as though
the person just want to give me an advice than do any real thing.

I’m curious which did you see as the real issue then?

The worse than useless Windows information? or
The inconsistent coverage of RVM? or
The fact you couldn’t be bothered to investigate the differences between
Proc and lambda? or
The shebang lines that do not work with RVM? or
The placing of the “how to run a program” section? or
The confusing analogy of biological inheritance with programming
inheritance?

Well fixing any one of these will improve the project overall but
pretending that the rest are not issues makes me wonder if you ready
wanted
to produce a document for people to learn Ruby from or is this the
digital
equivalent of vanity publishing.

Sorry to have bored you by reviewing your work. You obviously have
better
things to be doing.

So do I.

the shebang is a good thing. and posibly the pro abd lambda. ya I am
writing this book and I am working. so things will be slow. it wil l b
gr8 if u can review the next iteration too.

4 some personal reasons I don’t respect osx and windows. noflame wars
please.

thnx a lot.

Am 20.10.2013 08:19, schrieb Karthikeyan A K:

ya thanks 4 the feedback. will read it soon. its quiet boring to read
all the stuff u have posted, but will read it and do changes
accordingly.

hope you will send feedback when I put op another release soon.

I wouldn’t even consider reading a book of someone that shows
so much disinterest in well founded advice and so much rudeness
against someone who surely took a considerable amount of time
to browse through your “beta edition” and write a very thorough
feedback.

I can’t believe that at the same time you are asking for even
more “boring” feedback…

Regards,
Marcus

unknown wrote in post #1125136:

I can’t believe that at the same time you are asking for even
more “boring” feedback…

Well obviously next time the feedback shouldn’t be so boring, and should
contain less advice (rather, more instruction to do any real thing).

remove**