Ruby advocacy in sigs

I’ve started using the following as a sig on leoville.com, a very large
Tech-related message board.

Want to program a computer? Learn the easy, powerful way: Ruby @
http://www.ruby-lang.org

what are some other good, brief signatures you use / know of?

brennan

1
www.ruby-lang.org
powerful , OO, stylish
code the way you talk

2
because coding should be fun…
www.ruby-lang.org,

3
ruby_programming_language=best_thing.succ!

4

list of random not politically correct messages:

“YOU, python programmer, if you think obj.method should be object
independent, look at www.ruby-lang.org

“YOU, python programmer, if you think that should be list.length and
not len(list), look at www.ruby-lang.org

“YOU, python programmer, if you think that you need switch/case or
a?b:c look at www.ruby-lang.org

“YOU, perl programmer, if you think you need OO, look at
www.ruby-lang.org

“YOU, perl programmer, if you think you need less cryptic code, look
at www.ruby-lang.org

apply [int, float, double , long, char, short] here

“YOU, java programmer, if you think “int” should be the same as
“Integer” look at www.ruby-lang.org

“YOU, java programmer, if you think that you DON’T NEED to write
public class MyClass {
}
to write a single function, use www.ruby-lang.org

“YOU, teacher , if you want to teach OOP and still keep your course
easy, look at www.ruby-lang.org

···

On Thu, 9 Jan 2003 03:40:39 +0900, Brennan Leathers digibren@mac.com wrote:

I’ve started using the following as a sig on leoville.com, a very large
Tech-related message board.

Want to program a computer? Learn the easy, powerful way: Ruby @
http://www.ruby-lang.org

what are some other good, brief signatures you use / know of?

Other than being unfortunately long, I think the sig below says “I’m new
to this” or “The new me is”, depending how you look at it. The first is
certainly true.

For advocacy, I don’t think “You anything, suck less, do this” is a very
good approach (yes, I saw that it was a qualified list, it was just
longer than the rest :slight_smile:

If people are finding deficiencies in the tools they are currently
using, they naturally either improve them or seek out others. I happen
to be extremely happy most days gluing Linux, MySQL, and Apache togehter
with Perl, and a bit of XSLT for presentation. Recently I’ve been
hearing a fair bit about Ruby and thought I’d have a peek.

Ruby sells itself. Sure, I have a nit here and there, and I’m not
abandoning any of my other tools. But I’m certainly going to add Ruby
to my toolbox.

Douglas Hunter

···


class Me
def is (what)
puts what
end
end

what = "Yet another Rubyist"
Me.new.is what

Douglas Hunter wrote:

For advocacy, I don’t think “You anything, suck less, do this” is a
very good approach (yes, I saw that it was a qualified list, it was
just longer than the rest :slight_smile:

Ruby sells itself.

Agreed. I’d say the most powerful Ruby advocacy .sig would be something
to the tune of:

http://www.ruby-lang.org

That’s true , I admit, and I think the same.
That just works if you’re talking with friends or similar that would
accept a funny quote :slight_smile:

···

On Sun, 12 Jan 2003 11:34:53 +0900, Douglas Hunter dug@plusthree.com wrote:

For advocacy, I don’t think “You anything, suck less, do this” is a very
good approach (yes, I saw that it was a qualified list, it was just
longer than the rest :slight_smile:

honestly, i think they all suck really. Ruby just sucks less.

the day i can simply have a two-way conversation with my computer to get the
resulting program i need is the day it won’t suck anymore.

···

On Sunday 12 January 2003 10:09 am, gabriele renzi wrote:

On Sun, 12 Jan 2003 11:34:53 +0900, Douglas Hunter dug@plusthree.com > > wrote:

For advocacy, I don’t think “You anything, suck less, do this” is a very
good approach (yes, I saw that it was a qualified list, it was just
longer than the rest :slight_smile:

That’s true , I admit, and I think the same.
That just works if you’re talking with friends or similar that would
accept a funny quote :slight_smile:


tom sawyer, aka transami
transami@transami.net

                               .''.
   .''.      .        *''*    :_\/_:     .
  :_\/_:   _\(/_  .:.*_\/_*   : /\ :  .'.:.'.

.‘’.: /\ : ./)\ ‘:’* /\ * : ‘…’. -=:o:=-
:/:‘.:::. | ’ ‘’ * ‘.'/.’ (/’.‘:’.’
: /\ : ::::: = / -= o =- /)\ ’ *
‘…’ ‘:::’ === * /\ * .‘/.'. ‘._____
* | : |. |’ .—"|
* | _ .–’| || | _| |
* | .-‘| __ | | | || |
.-----. | |’ | || | | | | | || |
__’ ’ /“\ | '-.”". ‘-’ ‘-.’ '` |.

Little (72x4) code snippets that were sufficiently eye-catching would be
a nice positive way to do it. Not along the lines of perl’s JAPHs, more
like code whose meaning is obvious when you read it, and which is cool
in a “wow - Ruby lets you do it that simply/elegantly/enjoyably?!” sense.
(The Haskell quicksort is a perfect example of the sort of thing I have
in mind).

Some off-the-top-of-my-head examples (and I’m sure there are several far
better ones)

def twice; yield; yield; end
twice {print “Hello World”}

nthreads.times {|i| Thread.new {task[i].call}.join}
#Multithreading Ruby style.

“hello world”.gsub(/\w*/) {|match| match.reverse} # => “olleh dlrow”

print “hello #{name}” if friends.include?(name) unless no_greet

a, b = b, a # who needs temp variables

martin

···

Chad Fowler chadfowler@chadfowler.com wrote:

Agreed. I’d say the most powerful Ruby advocacy .sig would be something
to the tune of:

http://www.ruby-lang.org

I disagree. I wouldn’t like to program by talking to the computer. I
appreciate an expresive language that can encourage a new way of thinking
and convey a lot of information that would be difficult to express in
English.

This is one of the reasons why I am a mathematician. Math is like that.
My ideal computer language would accomplish this too. Perl was good
because it is so expresive, but it is also cryptic. Ruby is better
because it is expressive without being cryptic.

Daniel Carrera
Graduate Teaching Assistant. Math Dept.
University of Maryland. (301) 405-5137

···

On Mon, 13 Jan 2003, Tom Sawyer wrote:

honestly, i think they all suck really. Ruby just sucks less.

the day i can simply have a two-way conversation with my computer to get the
resulting program i need is the day it won’t suck anymore.

This executes the tasks sequentially as you wait for each one to end
before starting the next…

This works:
task.map{ |t| Thread.new{ t.call } }.each{ |thread| thread.join }

···

On Mon, Jan 13, 2003 at 05:50:01AM +0900, Martin DeMello wrote:

Chad Fowler chadfowler@chadfowler.com wrote:

Agreed. I’d say the most powerful Ruby advocacy .sig would be something
to the tune of:

http://www.ruby-lang.org

Little (72x4) code snippets that were sufficiently eye-catching would be
a nice positive way to do it. Not along the lines of perl’s JAPHs, more
like code whose meaning is obvious when you read it, and which is cool
in a “wow - Ruby lets you do it that simply/elegantly/enjoyably?!” sense.
(The Haskell quicksort is a perfect example of the sort of thing I have
in mind).

Some off-the-top-of-my-head examples (and I’m sure there are several far
better ones)

def twice; yield; yield; end
twice {print “Hello World”}

nthreads.times {|i| Thread.new {task[i].call}.join}
#Multithreading Ruby style.


_ _

__ __ | | ___ _ __ ___ __ _ _ __
'_ \ / | __/ __| '_ _ \ / ` | ’ \
) | (| | |
__ \ | | | | | (| | | | |
.__/ _,
|_|/| || ||_,|| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com

We come to bury DOS, not to praise it.
– Paul Vojta, vojta@math.berkeley.edu

Little (72x4) code snippets that were sufficiently eye-catching would be
a nice positive way to do it. Not along the lines of perl’s JAPHs, more
like code whose meaning is obvious when you read it, and which is cool
in a “wow - Ruby lets you do it that simply/elegantly/enjoyably?!” sense.
(The Haskell quicksort is a perfect example of the sort of thing I have
in mind).

ruby haiku ?

this could be wonderful :smiley:

“hello world”.gsub(/\w*/) {|match| match.reverse} # => “olleh dlrow”

that’s not so obvious :slight_smile:

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

···

On Sun, 12 Jan 2003 20:37:40 GMT, Martin DeMello martindemello@yahoo.com wrote:

Chad Fowler chadfowler@chadfowler.com wrote:

Daniel,

don’t mistake the pudding for the spoon.

why do you think a conversing computer would be limited in its expressiveness?
does not your conversations with fellow mathmaticians emcompass the language
of Math?

···

On Sunday 12 January 2003 10:55 am, Daniel Carrera wrote:

On Mon, 13 Jan 2003, Tom Sawyer wrote:

honestly, i think they all suck really. Ruby just sucks less.

the day i can simply have a two-way conversation with my computer to get
the resulting program i need is the day it won’t suck anymore.

I disagree. I wouldn’t like to program by talking to the computer. I
appreciate an expresive language that can encourage a new way of thinking
and convey a lot of information that would be difficult to express in
English.

This is one of the reasons why I am a mathematician. Math is like that.
My ideal computer language would accomplish this too. Perl was good
because it is so expresive, but it is also cryptic. Ruby is better
because it is expressive without being cryptic.


tom sawyer, aka transami
transami@transami.net

                               .''.
   .''.      .        *''*    :_\/_:     .
  :_\/_:   _\(/_  .:.*_\/_*   : /\ :  .'.:.'.

.‘’.: /\ : ./)\ ‘:’* /\ * : ‘…’. -=:o:=-
:/:‘.:::. | ’ ‘’ * ‘.'/.’ (/’.‘:’.’
: /\ : ::::: = / -= o =- /)\ ’ *
‘…’ ‘:::’ === * /\ * .‘/.'. ‘._____
* | : |. |’ .—"|
* | _ .–’| || | _| |
* | .-‘| __ | | | || |
.-----. | |’ | || | | | | | || |
__’ ’ /“\ | '-.”". ‘-’ ‘-.’ '` |.

Wonderful term! Wish i’d thought of it.

martin

···

gabriele renzi surrender_it@remove.yahoo.it wrote:

ruby haiku ?

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

Good catch! I’d subtly misunderstood the way in which ‘join’ worked - I
thought it prevented the calling thread from terminating, not from
continuing.

martin

···

Mauricio Fern?ndez batsman.geo@yahoo.com wrote:

On Mon, Jan 13, 2003 at 05:50:01AM +0900, Martin DeMello wrote:

nthreads.times {|i| Thread.new {task[i].call}.join}
#Multithreading Ruby style.

This executes the tasks sequentially as you wait for each one to end
before starting the next…

don’t mistake the pudding for the spoon.

That’s an interesting expression. What does that mean?

why do you think a conversing computer would be limited in its
expressiveness?
does not your conversations with fellow mathmaticians emcompass the
language of Math?

I see your point, but actually that is not exactly correct.

When I talk about math with my colleagues I have to use the blackboard to
convey most of the imformation. Though there are spoken words for what I
want to say, it is much harder to convery the message through them than
through the actual mathematical symbols.

My opinion that it’d be hard to program by speech comes from my experience
that it’s hard to express math in speech.

The topic of languages is very interesting. With a language goes a way
of thinking about the world which cannot always be translated to another
language. I have found that it’s easier to think some things in English
and others in Spanish. So, in my thought process I actually alternate
between the two (with the occasional stroll into abstract math).

Perhaps some day computer languages will be as rich as English, Spanish
and Math.

Cheers,
Daniel Carrera
Graduate Teaching Assistant. Math Dept.
University of Maryland. (301) 405-5137

···

On Mon, 13 Jan 2003, Tom Sawyer wrote:

Well, the idea is that any reader can understand the code, thus
demonstrating the readability of Ruby. I can’t figure out what your code
does, so I doubt a non-rubyist would.

How about?:

99.downto 1 do |x|
puts <<EOH
#{x} bottles of beer on the wall.
#{x} bottles of beer.
Take one down, pass it around.
EOH
end

Daniel Carrera
Graduate Teaching Assistant. Math Dept.
University of Maryland. (301) 405-5137

···

On Thu, 16 Jan 2003, Gennady wrote:

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

Well, the idea is that any reader can understand the code, thus
demonstrating the readability of Ruby. I can’t figure out what your code
does, so I doubt a non-rubyist would.

You can’t figure it out, yes, but you feel there’s something in it (beer?
:wink: ), you copy-and-paste the code into the ruby (installing one possibly)
and, here we go, you become a Rubyist ;-). Dull print-outs will not attract
anybody, however I like the subject.

Having said that, Rich Kilmer’s signature is the best I’ve seen so far. I
hope using it here as an example is not a copyright violation ;-):

trap("SIGINT") { raise [104, 101, 108, 108].pack("cccc") }

Gennady.

I don’t know if sending buggy code is the best way to
proselytise the language, readable or not. :slight_smile:

-a.

···

-----Original Message-----
From: Daniel Carrera dcarrera@math.umd.edu
Sent: Wed Jan 15 17:39:42 EST 2003
To: [ruby-talk ML ruby-talk@ruby-lang.org]
Cc:

On Thu, 16 Jan 2003, Gennady wrote:

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

Well, the idea is that any reader can understand the code, thus
demonstrating the readability of Ruby. I can’t figure out what your code
does, so I doubt a non-rubyist would.

How about?:

99.downto 1 do |x|
puts <<EOH
#{x} bottles of beer on the wall.
#{x} bottles of beer.
Take one down, pass it around.
EOH
end

Daniel Carrera
Graduate Teaching Assistant. Math Dept.
University of Maryland. (301) 405-5137

Hi,

“Daniel Carrera” dcarrera@math.umd.edu wrote in message
news:Pine.GSO.4.44.0301151733000.1625-100000@runge.math.umd.edu…

···

On Thu, 16 Jan 2003, Gennady wrote:

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

Well, the idea is that any reader can understand the code, thus
demonstrating the readability of Ruby. I can’t figure out what your code
does, so I doubt a non-rubyist would.

How about?:

99.downto 1 do |x|
puts <<EOH
#{x} bottles of beer on the wall.
#{x} bottles of beer.
Take one down, pass it around.
EOH
end

How about submit it at http://99-bottles-of-beer.ls-la.net/ ?

There are 6 Perl versions,
http://99-bottles-of-beer.ls-la.net/p.html#Perl

but only 1 Ruby version.
http://99-bottles-of-beer.ls-la.net/r.html#Ruby

Park Heesob

I don’t know if sending buggy code is the best way to
proselytise the language, readable or not. :slight_smile:

What do you mean? It runs perfectly well for me, I copied-and-pasted it
right from your reply (removing leading "> >'). Have you tried it or it just
seems buggy to you? If you ran it though and it failed, what version of ruby
have you used? Platform? It all started as a joke, however if you are right
it could teach me something at the end. Just help me see it.

Thank you,
Gennady.

-a.

From: Daniel Carrera dcarrera@math.umd.edu
Sent: Wed Jan 15 17:39:42 EST 2003
To: [ruby-talk ML ruby-talk@ruby-lang.org]
Cc:

my favourite:
99.downto 1 do |x|
puts “#{x} bottles of beer on the wall”,
" #{x} bottles of beer!",
“Take one down, pass it around,” end

puts “No more bottles of beer on the wall!”

A small refactoring :wink:

99.downto 1 do |x|
puts “#{x} #{@b||=‘bottles of beer’} #{@w||=‘on the wall’}”,
" #{x} #{@b}!",
“Take one down, pass it around,” end
puts “No more #{@b} #{@w}!”

Well, the idea is that any reader can understand the code, thus
demonstrating the readability of Ruby. I can’t figure out what your
code

···

----- Original Message -----
From: “Art Taylor” reeses@astrogoth.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, January 15, 2003 3:18 PM
Subject: Re: Ruby advocacy in sigs

-----Original Message-----
On Thu, 16 Jan 2003, Gennady wrote:
does, so I doubt a non-rubyist would.

How about?:

99.downto 1 do |x|
puts <<EOH
#{x} bottles of beer on the wall.
#{x} bottles of beer.
Take one down, pass it around.
EOH
end

Daniel Carrera
Graduate Teaching Assistant. Math Dept.
University of Maryland. (301) 405-5137