New presentation on Ruby

On 3/31/07, Chad P. [email protected] wrote:

I wasn’t referring to writing your own license. The attribution/share-
alike license is a standard CC license, as indicated at the URL I
provided.

Please read upwards more carefully.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/246093

Bad idea for community friendly projects. I don’t want to learn your
license if there is a standard license I can live with, that other
people will be likely to understand, too.

Good for you.

No need to be rude.

  1. I tend to dual-license whenever anyone really wants it.

Dual licensing is an acceptable way to provide both your terms and a
more standard set of terms, but it’s not ideal. It means if I want to
contribute back to you, I still need to understand your home grown
license, which, at least in my case, means you’d be less likely to see
contributions from me.

  1. I choose the license I do specifically because I often don’t care to
    “live with” other extant licenses. It wasn’t a capricious decision. It
    was a decision born of frustration. In any case, the license I created
    was designed with simplicity in mind – and if you can get along with
    Creative Common license term legal text (byzantine and stilted phrasing)
    then you’ll have no problem with what I use.

Except that I don’t want yet another license to remember.

On 31 Mar 2007, at 12:49, Josef ‘Jupp’ Schugt wrote:

For well over 100 years there used to be an overwhelming consent in
the scientific world to not even consider “design” as part of an
explanation of any observation made. Now the creator is back.

Yes, well both sides of that argument are equally as illogical. As
far as I’m aware no one has ever proposed an experiment that can
either confirm or deny the existence of a ‘creator’, and that makes
atheism as much a religious belief as theism.

Ellie

Eleanor McHugh
Games With Brains

raise ArgumentError unless @reality.responds_to? :reason

On Sat, 31 Mar 2007, Eleanor McHugh wrote:

On 31 Mar 2007, at 12:49, Josef ‘Jupp’ Schugt wrote:

For well over 100 years there used to be an overwhelming consent in
the scientific world to not even consider “design” as part of an
explanation of any observation made. Now the creator is back.

Yes, well both sides of that argument are equally as illogical. As far as I’m
aware no one has ever proposed an experiment that can either confirm or deny
the existence of a ‘creator’, and that makes atheism as much a religious
belief as theism.

indeed. i like this way of thinking about it:

“what science finds to be nonexistent, we must accept as nonexistent;
but what
science merely does not find is a completely different matter… it is
quite
clear that there are many, many mysterious things.” – h.h. the 14th
dalai lama

-a

On Sat, Mar 31, 2007 at 10:49:26PM +0900, Gregory B. wrote:

On 3/31/07, Chad P. [email protected] wrote:

I wasn’t referring to writing your own license. The attribution/share-
alike license is a standard CC license, as indicated at the URL I
provided.

Please read upwards more carefully.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/246093

I’ll just take it as a given that I’d forgotten about that bit, then. I
don’t really feel like verifying the entire chain of discussion – but
you have definitely pointed out the fact that you mentioned by-sa
already. Mea culpa.

Bad idea for community friendly projects. I don’t want to learn your
license if there is a standard license I can live with, that other
people will be likely to understand, too.

Good for you.

No need to be rude.

Funny – “Good for you.” was my way of saying “No need to be rude.”

  1. I tend to dual-license whenever anyone really wants it.

Dual licensing is an acceptable way to provide both your terms and a
more standard set of terms, but it’s not ideal. It means if I want to
contribute back to you, I still need to understand your home grown
license, which, at least in my case, means you’d be less likely to see
contributions from me.

So sorry. If I don’t like the license you’d rather use, it’s not the
license I’m going to use. That’s pretty much tautological.

  1. I choose the license I do specifically because I often don’t care to
    “live with” other extant licenses. It wasn’t a capricious decision. It
    was a decision born of frustration. In any case, the license I created
    was designed with simplicity in mind – and if you can get along with
    Creative Common license term legal text (byzantine and stilted phrasing)
    then you’ll have no problem with what I use.

Except that I don’t want yet another license to remember.

What, exactly, is this supposed to mean to my lack of satisfaction with
certain other licenses?

On Sat, Mar 31, 2007 at 06:42:33PM +0900, Eleanor McHugh wrote:

c. they must credit you for creating it.

Of course now some clever bugger will point out how flawed it is, and
doubtless several thousand others will use up my server bandwidth for
the month :wink:

Standard licensing choices are better. Ellie, is this what you’re
looking for?
Creative Commons — Attribution 3.0 Unported — CC BY 3.0

I much prefer my wording :wink:

Yours is certainly more amusing – and easier to grasp. There are a
couple of potential legal ambiguities in there, but nothing ambiguous
in terms of your intentions, as far as I can see.

Note: IANAL (obviously)

Are we not getting off topic, this list is for Ruby related topics. I ,for one, firmly believe in a Creator but this is not the place to discuss this. I feel that due to the high volume of  traffic, We the members of this list are losing valuable assets (people).
 
 
Sam Garcia

> On 31 Mar 2007, at 12:49, Josef 'Jupp' Schugt wrote:
>
>> For well over 100 years there used to be an overwhelming consent
>> in the scientific world to not even consider "design" as part of
>> an explanation of any observation made. Now the creator is back.
>>
>
> Yes, well both sides of that argument are equally as illogical. As
> far as I'm aware no one has ever proposed an experiment that can
> either confirm or deny the existence of a 'creator', and that makes
> atheism as much a religious belief as theism.
>
>
> Ellie
>
> Eleanor McHugh
> Games With Brains
> ----
> raise ArgumentError unless @reality.responds_to? :reason

On Sat, Mar 31, 2007 at 05:59:21PM +0900, Chauk-Mean P wrote:

Now that the licensing issue is cleared and the used font is more readable,
I would appreciate some feedback on the content.
Indeed, I intend to develop some of the described facets of Ruby more deeply
(article form rather than slide form) in the future.

So feel free to comment on this mailing list or directly on the blog page.

I pretty much try to limit myself to an in-depth look at one research
paper, presentation, et cetera, at a time – but I may do so as soon as
I’m done reading this half-baked Internet Security Threat Report for the
second half of 2006 that Symantec is peddling as gospel.

On Sat, Mar 31, 2007 at 08:49:23PM +0900, Josef ‘Jupp’ Schugt wrote:

For well over 100 years there used to be an overwhelming consent in
the scientific world to not even consider “design” as part of an
explanation of any observation made. Now the creator is back.

I’m also of the opinion that we should ban all attempts to confuse the
issue with facts when I make an ironic statement that someone treats
seriously.

On the other hand, I generally agree with your statements – if I put on
my “serious hat” for a bit.

On Sat, Mar 31, 2007 at 10:22:32PM +0900, Alex Y. wrote:

Josef ‘Jupp’ Schugt wrote:

  • Chad P., 31.03.2007 05:26:

I’m of the opinion that we should ban all prohibitions,
personally.

This statement is self-contradicting from a purely logical point of
view because a ban of all prohibitions were a prohibition.
I think that might have been the point…

Gold star . . . or would you prefer a cookie? I have websites that
distribute cookies, if you want one.

Sorry. I’m feeling silly. Yes, you’re right – that was the point.

On Sun, Apr 01, 2007 at 12:35:09AM +0900, Servando G. wrote:

[stuff]

The entire contents of your email were shoveled into an HTML attachment
that I did not read. I’m using a text-based mail user agent, and have
no interest in exposing myself to the mountain of spam, phishing, et
cetera that comes with using HTML-based email clients. If you wanted
me, among others, to read that email, you may want to rethink the way
you send email to the list. If not, feel free to ignore this message.

Thank you.

On Sat, Mar 31, 2007 at 11:50:06PM +0900, [email protected] wrote:

religious belief as theism.

indeed. i like this way of thinking about it:

“what science finds to be nonexistent, we must accept as nonexistent; but
what
science merely does not find is a completely different matter… it is quite
clear that there are many, many mysterious things.” – h.h. the 14th dalai
lama

Excellent. I agree 100%.

On the other hand, I don’t think that necessarily means that there’s a
whole lot of point trying to shoehorn theology into science, either.
Science is basically about the testable. Because the existence or
nonexistence of a Creator is not at this time a testable hypothesis,
it’s irrelevant to (rigorous) science. Believe or not on your own time,
and I’ll do the same, but I’d prefer that offshoots of Creationism not
be claimed as another field of science.

Woah, that’s REALLY off-topic. I guess I should shut up about that now.
You know my opinion, as stated above. I’m done now.

On 3/31/07, [email protected] [email protected] wrote:

“what science finds to be nonexistent, we must accept as nonexistent; but what
science merely does not find is a completely different matter… it is quite
clear that there are many, many mysterious things.” – h.h. the 14th dalai lama

The other way of considering it the way that Dawkins has put it in
The God Delusion. Science can’t prove that “god” doesn’t exist. It
can say a lot about the likelihood of the existence of a
god-the-creator, and the likelihood is very very low. Dawkins
himself, when pressed, doesn’t call himself an atheist as much as a
strong agnostic with significant doubts about the likelihood of the
existence of a god (he calls that “Temporary Agnosticism in
Practice”).

He’s much less forgiving of the abuse of scientific methods by theists
who assume that a creator’s existence is a given and then try to
perform science on that basis.

-austin

On Sun, 1 Apr 2007, Austin Z. wrote:

assume that a creator’s existence is a given and then try to perform science
on that basis.

yeah. i read some of that. the guy is so aggressive though, and
obviously
hasn’t understood godel’s work on incompleteness: he seems to view logic
as
some sort of finality. otherwise interesting though.

sorry for way ot everyone. i’m ducking out.

-a

  • Chad P., 31.03.2007 19:14:

I’m also of the opinion that we should ban all attempts to confuse the
issue with facts when I make an ironic statement that someone treats
seriously.

Oh, I see. Your the statement was not sarcastic but ironic. That
explains why I found it not sarcastic enough and felt the need to add
some more sarcasm - which eventually failed to be noticed as being
sarcasm. Sorry about that 8-|

Josef ‘Jupp’ Schugt

On Sun, Apr 01, 2007 at 05:47:23AM +0900, Josef ‘Jupp’ Schugt wrote:

  • Chad P., 31.03.2007 19:14:

I’m also of the opinion that we should ban all attempts to confuse the
issue with facts when I make an ironic statement that someone treats
seriously.

Oh, I see. Your the statement was not sarcastic but ironic. That
explains why I found it not sarcastic enough and felt the need to add
some more sarcasm - which eventually failed to be noticed as being
sarcasm. Sorry about that 8-|

Was that irony?

Regardless, I think you’re confusing the issue with facts. Wasn’t that
banned?

On Apr 2, 3:20 pm, Ilan B. [email protected] wrote:

Slide 22) If “top level functions” are “private” methods of class
Object, there would be no way to call them without a receiver which is
simply not the case

I think you have that backwards. Private methods cannot be called
with an explicit receiver:

def foo; “bar”; end
puts Object.private_methods.grep( /foo/ )
#=> foo
puts foo
#=> bar
puts self.foo
#=> tmp.rb:4: private method `foo’ called for main:Object
(NoMethodError)

class Foo
def go1
secret_word
end
def go2
self.secret_word
end

private
  def secret_word
    "bird"
  end

end

f = Foo.new
p f.go1
#=> “bird”

p f.go2
#=> tmp.rb:7:in go2': private method secret_word’ called for #<Foo:
0x2835584> (NoMethodError)

Slide 24) Point about attributes only allowed to be defined within their
class definition is wrong. In ruby I can define one almost anywhere
with Object::instance_variable_set or Module::module_eval.

Slide 26) Who are you to say what “private” means. Each class has their
own definition and either could be viewed as the truth. Given that, I
can still access private methods in a class by going through send() so
your statement is not correct

IMO both of the above slides are correct. Just because Ruby lets you
do crazy things (break encapsulation by reaching ‘inside’ via
instance_eval or send) doesn’t mean that it doesn’t exist and function
well.

Slide 53) Subjective to the point of insanity…

Now now, be nice :slight_smile:

Chauk-Mean P wrote:

Now that the licensing issue is cleared and the used font is more
readable,
I would appreciate some feedback on the content.
Indeed, I intend to develop some of the described facets of Ruby more
deeply
(article form rather than slide form) in the future.

Sure thing, I am totally burnt from bug fixing so I will comment on your
slides

Slide 12) Doesn’t illustrate duck typing at all as I can write the exact
same thing in Java. You could have illustrated the point more
accurately by assigning the types to a temporary and then invoking the
method
class Duck; def quack; “quack”; end; end;
class Bird; def quack; “chirp”; end; end;
[Duck.new, Bird.new].each {|duck| duck.quack}

Slide 13) Doesn’t add anything that wasn’t already mentioned in slide 12

Slide 14) You are implying that Java’s containers do not support
heterogeneous types which it does and since JDK 1.5 and the insertion of
generics, your point about downcasting is also moot.

Slide 15) All wrong, please see comments for slide 14

Slide 16) Your comments also apply to static languages, the need for
testing is equal to both types of languages. There has been no
quantitive study on the reduction of bugs due to static language’s
compile type checks (and has been discussed to death on this list). I
believe you are misleading your intended audience here

Slide 17) What does talking about Erlang have anything remotely to do
with Ruby especially in the context of which it’s being posed:
dynasism(spelling). So what if I can build a fault tolerant system in
Erlang, can I do it in Ruby??? Erlang and Ruby couldn’t be more
different in their approach and implementation. The only thing they
share is “some” aspects from functional language sets. Comparing the 2
is like comparing apples and farmers

Slide 19) I don’t have to make a custom class to convert a type or
modify some behaviour, I can simply open up the class and mess with it
(as you yourself mentione later in the slide show). Secondly, it
“doesn’t have to make sense” and I can do it regardless of my level of
sanity as I do most things.

Slide 22) If “top level functions” are “private” methods of class
Object, there would be no way to call them without a receiver which is
simply not the case

Slide 23) Although I would intend to agree with you here, James B.
certainly won’t. This is an argument that has gone back to the 70’s and
both sides are in war escalation mode right now.
Anyways, if you are going to mention buzzwords, you should mention
polymorphism below encapsulation and mention inheritance at the bottom
as it’s the view of Peter Coad and many others that inheritance violates
efforts at encapsulation and therefore usually aggregation is the better
choice.

Slide 24) Point about attributes only allowed to be defined within their
class definition is wrong. In ruby I can define one almost anywhere
with Object::instance_variable_set or Module::module_eval.

Slide 26) Who are you to say what “private” means. Each class has their
own definition and either could be viewed as the truth. Given that, I
can still access private methods in a class by going through send() so
your statement is not correct

Slide 27) How is C++ multiple inheritance complex? It may be complex
for a compiler but I am not a compiler… :slight_smile: If you are referring to
diamond ambiguity, then I would agree with you but you don’t explain
yourself here. Stating that java’s single inheritance is “annoying”
won’t win you any friends but will invite flames your way. Is there any
way you could state it differently?

Slide 28) Your statement under benefits makes absolutely no sense.

Slide 32) Again you bring up Erlang and concurrency but Ruby is not
Erlang and can obviously have side effects from method invocation. In
fact, if it didn’t, we couldn’t change the state of any object! Are you
trying to sell Ruby or Erlang here? In Erlang, I can’t change the
variable once it’s instantiated… <-- see that doesn’t have anything to
do with anything either!

Slide 34) Subjective analysis again. Anonymous Java classes are not
very difficult at all and there are indeed issues with closures that are
being addressed for ruby 2.0

Slide 47) Will anger many readers as it’s subjective again. Please play
nice!

Slide 48) Why does the omission of class methods make a language less
object oriented. Seems to me that class level scope is akin to global
scope but is wrapped in a cute namespace. Variables exposed at class
level keeps developers up to 3:00 am debugging their little servers…
Secondly, who cares if the library is procedural, I invite you to take a
look at ruby’s c IO libraries.

Slide 53) Subjective to the point of insanity…

slide 54) I usually know when a book ends even if it’s doesn’t say “the
end”.

I like the style and presentation but some of your comments have to be
corrected and you should make an effort not to irritate python, php,
java, and c++ developers…

let us know how it was received…

ilan

Hello, i noticed that for every RPC call distributed ruby opens separate
connection, this can create huge bottleneck - especially when using with
SSL,
anyone have any idea how to make persistent connections - of course i
can
read sources for whole library, but mayby someone already solved this
problem, mayby there’s some “keep-alive” for x secs options.

Gavin K. wrote:

On Apr 2, 3:20 pm, Ilan B. [email protected] wrote:

Slide 22) If “top level functions” are “private” methods of class
Object, there would be no way to call them without a receiver which is
simply not the case

I think you have that backwards. Private methods cannot be called
with an explicit receiver:

Doh! ofcourse, my bad… I will pray to the ruby gods and ask for
forgiveness (and for one f*#$#ing job in my local area)

Slide 24) Point about attributes only allowed to be defined within their
class definition is wrong. In ruby I can define one almost anywhere
with Object::instance_variable_set or Module::module_eval.

Slide 26) Who are you to say what “private” means. Each class has their
own definition and either could be viewed as the truth. Given that, I
can still access private methods in a class by going through send() so
your statement is not correct

IMO both of the above slides are correct. Just because Ruby lets you
do crazy things (break encapsulation by reaching ‘inside’ via
instance_eval or send) doesn’t mean that it doesn’t exist and function
well.

Slide 53) Subjective to the point of insanity…

Agreed… I officially retract

Now now, be nice :slight_smile:

Kisses!

ilan

Hi –

On 4/3/07, Chauk-Mean P [email protected] wrote:

As stated in the slide, "The type of an object is defined by what that
This is quite relevant regarding duck typing.
I can see your point, but I think duck typing is better illustrated
with examples that avoid the word “duck” in any form. The reason is
that if you have a Duck class and some other class, and a_duck and
a_fake_duck, you’re basically saying that there’s one class that
really represents the type, and others that sort of emulate or
imitate it. It’s probably better to be even-handed about it: there
are, say, two objects, and the “duck” abstraction applies equally to
both.

David