ANN: InfoQ Ruby Community "unlaunched"


#1

InfoQ was “unlaunched” last week, (meaning we’re still doing some final
bug-fixing), but you should still check it out and see all the good
stuff we
have so far. Exclusive video interviews with DHH, David Black and other
well-known Rubyists, as well as presentations such as Charles and Tom
demo’ing JRuby at JavaOne last week are coming soon.

I’m serving as the Ruby community editor, so contact me via email if
you’re
interested in contributing news or articles. BTW, the founder of
InfoQ.com,
Floyd Marinescu, is famous for starting theserverside.com, one of the
world’s most popular technical websites. He’s a big fan of Ruby and
Rails
and we’re proud of working together to be the first site to give Ruby
top-billing along with Java, .NET and other topics such as Agile and
SOA.
For your convenience, here is a list of all content and news on
InfoQhttp://www.infoq.com/about Ruby to date… Agile
Asset Management with Ruby
DSLshttp://www.infoq.com/articles/Agile-Asset-Management

Ruby makes it easy to craft Domain-Specific-Languages with Ruby syntax.
This
article is a story about the benefits derived from implementing a Ruby
DSL
for a PLANET ARGON development project.
Ruby and Rails: In your face… but out of your
wayhttp://www.infoq.com/articles/Ruby-and-Rails-In-your-face

Ruby on Rails is in many ways a system in itself. But in many, many
other
ways, Rails exposes, explores, and exploits its connections to Ruby,
rather
than hiding or disguising them. David A. Black, author of the book Ruby
for
Rails from Manning, shares his thoughts on whether or not Rails
developers
should take the time to master Ruby.
News about Ruby R. Coverage Tool Making Rapid
Progresshttp://www.infoq.com/news/Ruby-Coverage-Tool-Progress

Earlier this week, Mauricio F. released version 0.4 of Rcov, his
tool
for simple code coverage analysis in Ruby. Rcov is fast, feature-packed
and
progressing rapidly.
New Rails Powered Sites
Announcedhttp://www.infoq.com/news/New-Rails-Powered-Sites-Announce

A couple of shiny new Rails-powered websites were announced in the last
couple of days. Invitika is described as SMS + mobile blogging + event
planning + LBS + photos. Thebeststuffintheworld.com is a comprehensive
database of, well, the best stuff in the world, just as implied by the
name.
RailsDay 2006 Announced
http://www.infoq.com/news/RailsDay-2006-Announced

RailsDay 2006 is a 24 hour competition scheduled to be held in mid-June,
right before RailsConf. During the contest, teams of Ruby on Rails
developers from around the world will compete for valuable prizes to see
who
can author the best Rails application in just a day.
Interview with Mongrel Author Zed
Shawhttp://www.infoq.com/news/Interview-with-Mongrel-Author-Ze

Well-known Rails programmer Zed S. was interviewed by O’Reilly. Zed
talked
about Ruby on Rails and his work on an up-and-coming new HTTP server
named
Mongrel that is winning accolades all over the community.
JRuby on Rails Unveiled at
JavaOnehttp://www.infoq.com/news/JRuby-on-Rails-JavaOne

The latest version of JRuby will be presented to JavaOne attendees this
week. Included in the demonstrations is a working Rails application and
an
ActiveRecord adapter backed by JDBC.
Canadian Firm Posts Bounty for New Rails Database
Supporthttp://www.infoq.com/news/odbtp_bounty_announced

ICI, a stainless steel truck accessory business in Canada, today
announced a
900USD bounty to the first person to deliver ODBTP support for Rails.
ODBTP
(Open Database Transport Protocol) is a TCP/IP protocol ideal for
connecting
Linux-based programs to ODBC data sources on Windows servers.


#2

Obie F. wrote:

InfoQ was “unlaunched” last week, (meaning we’re still doing some final
bug-fixing), but you should still check it out and see all the good
stuff we
have so far. Exclusive video interviews with DHH, David Black and other
well-known Rubyists, as well as presentations such as Charles and Tom
demo’ing JRuby at JavaOne last week are coming soon.

Interesting page header: " …the enterprise software development
community."

But maybe there’s still something for me.

:slight_smile:

I happened to skim though the David A. Black article, and this caught
my eye:

"Violinist Itzhak Perlman has described the difference between the
violin and the piano in these terms - not that one is easy and the other
difficult, over the long haul, but specifically that the piano, unlike
the violin, gets out of your way. Says Perlman:

Violinists have a harder time to make pure music than pianists, because
pianists … are immediately forced to turn the phrase. They don’t have
to deal with vibrato, they don’t have to deal with shifting, they don’t
have to deal with sliding, they don’t have to deal with bow-speed …
[On the piano,] basically you put down the key and you get a sound…
You have to deal with music immediately."

Of course, I’m no Perlman, but I still found his opinion peculiar.

I’ve played some piano, and played some violin, and much prefer the
violin because, to me, it gets out the way far more than does a piano.

Plus violins are lighter; carrying a piano around gets tiresome.

Hence, violins are more agile.

“In this light, the piano emerges as the Ruby or Rails of the musical
instrument kingdom.”

I tend to think of Ruby as the Stratocaster of programming languages.


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


#3

On 5/25/06, James B. removed_email_address@domain.invalid wrote:

I tend to think of Ruby as the Stratocaster of programming languages.

would brainf*ck be the kazoo of programming languages? :wink:


#4

Says Perlman:

Violinists have a harder time to make pure music than pianists, because
pianists … are immediately forced to turn the phrase. They don’t have
to deal with vibrato, they don’t have to deal with shifting, they don’t
have to deal with sliding, they don’t have to deal with bow-speed …
[On the piano,] basically you put down the key and you get a sound…
You have to deal with music immediately."

James B. wrote:

Of course, I’m no Perlman, but I still found his opinion peculiar.

I’ve played some piano, and played some violin, and much prefer the
violin because, to me, it gets out the way far more than does a piano.

Plus violins are lighter; carrying a piano around gets tiresome.

Hence, violins are more agile.

Agreed … interesting quote. I don’t play violin, but I do play guitar
quite a bit and have a (small) bit of piano exerience. This is how I
took the quote. When you play piano, you have very few constraints on
what you can play. The only limitation is that somehow the notes have
to be allocated to your ten fingers in some many. You can voice a chord
in many different ways (e.g. put the root note in the bass, put the root
note on top). Some constraints, but not many.

On a guitar, you also have choices on how to how to voice a chord, but
the contraints you have to deal with are much greater in number. You
can only have 6 notes at a time. The notes have to be allocated across
the strings in such a way that a single hand with four fingers can reach
all of them. Each string has only a certain range available to it. And
so on. I think that’s what Perlman was trying to say.

I tend to think of Ruby as the Stratocaster of programming languages.

I would have pick a fine Olson :slight_smile:

– Jim W.


#5

On Fri, 2006-05-26 at 06:47 +0900, Jim W. wrote:

James B. wrote:

I tend to think of Ruby as the Stratocaster of programming languages.

I would have pick a fine Olson :slight_smile:

It’s gotta be an Ibanez. I can’t decide between an AX or an S prestige.


#6

Hi –

On Fri, 26 May 2006, James B. wrote:

deal with vibrato, they don’t have to deal with shifting, they don’t have to

Hence, violins are more agile.

I play the cello, which is almost the worst (other than double bass)
from the lugging around point of view: too big to be convenient, too
small to entitle you to expect one to be already installed, like a
piano or organ, where you have to play.

“In this light, the piano emerges as the Ruby or Rails of the musical
instrument kingdom.”

I tend to think of Ruby as the Stratocaster of programming languages.

Whoops, that should be “…as the Ruby on [not or] Rails of the…”
(Obie, if you’re reading this, please fix :slight_smile:

Certainly for someone who has learned to play the violin, the violin
can be as transparent as the piano. I think Perlman is talking about
the sort of baseline conditions. It’s the same with bagpipes, at
least from what I understand: there’s no bagpipe equivalent of just
sitting down and pressing a piano key.

Or one might think of it as: no violin/bagpipe equivalent of a cat
walking across a piano keyboard.

David


#7

Or one might think of it as: no violin/bagpipe equivalent of a cat
walking across a piano keyboard.
Hee he
My cat just walked across the keyboard and voi-la’ a Ruby program


#8

James B. wrote:

Perlman. Hahaha.

/me contemplates changing his name to Itzhak Rubyguy.

Hal


#9

I have to agree Ibanez. I’m a stratocaster lover and have several,
some very valuable. But when it comes to agility, playing a strat is
like playing a 2x4 in comparison.

I tend to agree with James B. that a violin will become part of who
you are and much more transparent than something like a piano.
Perhaps it’s the closeness and the fact that it resonates off of the
body much more. Although this is coming from a guitar player.

Michael


#10

Ross B. wrote:

On Fri, 2006-05-26 at 06:47 +0900, Jim W. wrote:

James B. wrote:

I tend to think of Ruby as the Stratocaster of programming languages.
I would have pick a fine Olson :slight_smile:

It’s gotta be an Ibanez. I can’t decide between an AX or an S prestige.

Maybe it’s a Gibson Les Paul SG circa 1960

:slight_smile:

furlan

Links: http://del.icio.us/furlan

Home: http://thispaceavailable.uxb.net/index.html

We are here to laugh at the odds and live our lives so well that Death
will tremble to take us.
– Charles Bukowski


#11

Hi –

On Sat, 27 May 2006, removed_email_address@domain.invalid wrote:

“In this light, the piano emerges as the Ruby or Rails of the musical
instrument kingdom.”

I tend to think of Ruby as the Stratocaster of programming languages.

Whoops, that should be “…as the Ruby on [not or] Rails of the…”
(Obie, if you’re reading this, please fix :slight_smile:

Actually I was right the first time: I did indeed mean “or” (as in, by
this analogy, the piano could be seen as the Ruby, or the Rails, of
the musical instrument kingdom.

I guess the way I worded it was confusing, at least to me :slight_smile:

David


#12

My rails app will occasionally throw a TypeError. I did a goolge and it
looks like this is because I am trying to Marshal an object with a
singleton method. Can anyone confirm this? Objects with singleton
methods cannot be Marshalled?

Thanks,
Steven


#13

On Jul 2, 2006, at 10:45 AM, Steven H. wrote:

Rails mailing list
removed_email_address@domain.invalid
http://lists.rubyonrails.org/mailman/listinfo/rails

Steven-

Well you cannot marshal any objects that contain lambda's, proc's,

Proc.new Or UnBoundMethod’s. As far as the singleton methods go you
are correct. But singleton methods refer to a number of different
things in ruby depending on who you ask :wink: Maybe this helps to clarify:

ez mobiushq $ irb --simple-prompt

class Foo
class << self
def hi
puts “hi”
end
end
end
=> nil

Foo.hi
hi
=> nil

foo = Marshal.dump Foo
=> “\004\010c\010Foo”

Marshal.load foo
=> Foo

foo = Foo.new
=> #Foo:0x3507f8

def foo.bar
puts ‘bar!’
end
=> nil

foo.bar
bar!
=> nil

f = Marshal.dump foo
TypeError: singleton can’t be dumped
from (irb):16:in `dump’
from (irb):16
from :0

Cheers-
-Ezra


#14

Hi Ezra,

My object’s singleton method is defined in the class definition, as
opposed to being defined on an instance of the object. I think this is
still a singleton method, just a different context–I am still a little
hazy when it come to understanding ruby’s object structure. Anyway,
this doesn’t throw any errors when I Marshal it, so my problem must lie
else where.

Thanks,
Steven

rooster@mobile-pen > irb
irb(main):001:0> class Foo
irb(main):002:1> def self.bar
irb(main):003:2> puts “bar”
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0>
irb(main):007:0* dumped = Marshal.dump(Foo.new)
=> “\004\010o:\010Foo\000”
irb(main):008:0> loaded = Marshal.load dumped
=> #Foo:0x4021d4e4