# Tattle - The Ruby Census

**URL:** <https://www.ruby-forum.com/t/tattle-the-ruby-census/81407>\
**Category:** Ruby\
**Created:** [January 8, 2007, 10:01pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407 "2007-01-08T22:01:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 8, 2007, 10:01pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/1 "2007-01-08T22:01:49Z")

</div>

Greetings and Happy New Year, Rubyists!

At the first Rails Edge conference ([http://therailsedge.com](http://therailsedge.com)), Jim  
Weirich, Bruce W., and I were chatting about how to improve the  
RubyGems platform-specific behavior, when we realized that it would be  
really helpful to have more info about the install footprint of the  
Ruby community at large.

So instead of going right into hacking RubyGems as was our plan, we  
created a little census tool and an accompanying web site to help us  
collect information. Most of the info we collect is from  
Config::CONFIG, with the addition of the RubyGems version.

We know this information will help the implementers of RubyGems, and  
we hope it will also help Ruby implementers and library developers as  
well.

To install:

$ sudo gem install tattle

To submit your info:

$ tattle

If you want to see what would be posted before posting, you can do:

$ tattle report

The information gets posted to [http://tattle.rubygarden.org](http://tattle.rubygarden.org). You can  
view the posted data with your web browser at that URL.

Thanks!  
Chad F.  
[http://www.chadfowler.com](http://www.chadfowler.com)

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 8, 2007, 11:09pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/2 "2007-01-08T23:09:54Z")

</div>

On Jan 8, 2007, at 13:00, Chad F. wrote:

> Greetings and Happy New Year, Rubyists!
> 
> At the first Rails Edge conference ([http://therailsedge.com](http://therailsedge.com)), Jim  
> Weirich, Bruce W., and I were chatting about how to improve the  
> RubyGems platform-specific behavior, when we realized that it would be  
> really helpful to have more info about the install footprint of the  
> Ruby community at large.

Note that this will help us complete the most-requested RubyGems  
feature, the install --platform option.

> $ tattle
> 
> If you want to see what would be posted before posting, you can do:
> 
> $ tattle report
> 
> The information gets posted to [http://tattle.rubygarden.org](http://tattle.rubygarden.org). You can  
> view the posted data with your web browser at that URL.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)

I LIT YOUR GEM ON FIRE!

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 8, 2007, 11:21pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/3 "2007-01-08T23:21:55Z")

</div>

Hi,

> collect information. Most of the info we collect is from  
> Config::CONFIG, with the addition of the RubyGems version.

I find this a worthy cause, and shared my configuration options…  
just to find out that I totally provided wrong information  
about my system! 😛

Reason: Tattle uses Config::CONFIG, which is where the ruby was  
compiled in, not what it is running on.

$ uname -a  
Darwin 8.8.0 Darwin Kernel Version 8.8.0: Fri Sep 8 17:18:57 PDT 2006;  
root:xnu-792.12.6.obj~1/RELEASE\_PPC Power Macintosh powerpc

But tattle reported `arch, powerpc-darwin8.4.0`, just so. I  
compiled ruby before on that system, upgraded, and now spread  
false information. 😛

Can happen, won’t happen to many, just wanted to say so, how  
clever your approach is, you might want to revise it a little? 😛

Anyway, very nice idea, happy to be of service providing info,  
have a nice day.

Kashia

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 2:26am UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/4 "2007-01-09T02:26:10Z")

</div>

On Jan 8, 2007, at 14:21, Kashia B. wrote:

> compiled in, not what it is running on.  
> Its still darwin 8, so gems for your version of ruby should work ok  
> with gems compiled for any other darwin 8 version. If you built for  
> darwin 8 but your uname -a now reported AIX that would be cause for  
> alarm.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)

I LIT YOUR GEM ON FIRE!

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 4:27am UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/5 "2007-01-09T04:27:22Z")

</div>

Rob M. wrote:

> > So instead of going right into hacking RubyGems as was our plan, we  
> > $ sudo gem install tattle  
> > view the posted data with your web browser at that URL.  
> > discussion of footprint.

Yes, it’s a great idea … but … you are going to get _very_ biased  
statistics, because many Ruby users will be prohibited, either  
electronically or by organizational policy, from uploading such  
information.

–  
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)  
[http://borasky-research.blogspot.com/](http://borasky-research.blogspot.com/)

If God had meant for carrots to be eaten cooked, He would have given  
rabbits fire.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 10:29am UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/6 "2007-01-09T10:29:52Z")

</div>

Chad F. schrieb:

> To install:
> 
> $ sudo gem install tattle

Chad, why does tattle depend on the hoe and rubyforge gems?

Regards,  
Pit

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 3:11am UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/7 "2007-01-09T03:11:13Z")

</div>

Chad F. wrote:

> collect information. Most of the info we collect is from  
> To submit your info:
> 
> $ tattle
> 
> If you want to see what would be posted before posting, you can do:
> 
> $ tattle report
> 
> The information gets posted to [http://tattle.rubygarden.org](http://tattle.rubygarden.org). You can  
> view the posted data with your web browser at that URL.

This is a great idea.

Are there plans to allow submission of a semi-anonymous collection of  
internal census data from potentially thousands of internally managed  
clients? Perhaps some way to submit to you directly a data file  
containing a summation of the data submitted individually to tattle.

That --platform option sounds very interesting as does the whole  
discussion of footprint.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 2:45pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/8 "2007-01-09T14:45:34Z")

</div>

Chad F. wrote:

> To submit your info:
> 
> $ tattle

sweet but it/ruby does not resolve through my proxy (even tho gems etc  
does)…

Posting information to Tattle server. Thanks!  
c:/ruby/lib/ruby/1.8/net/http.rb:560:in `initialize': getaddrinfo: no address associated with hostname. (SocketError) from c:/ruby/lib/ruby/1.8/net/http.rb:560:in`connect’  
from c:/ruby/lib/ruby/1.8/timeout.rb:48:in `timeout' from c:/ruby/lib/ruby/1.8/timeout.rb:76:in`timeout’  
from c:/ruby/lib/ruby/1.8/net/http.rb:560:in `connect' from c:/ruby/lib/ruby/1.8/net/http.rb:553:in`do\_start’  
from c:/ruby/lib/ruby/1.8/net/http.rb:542:in `start' from c:/ruby/lib/ruby/gems/1.8/gems/tattle-1.0.1/lib/tattle.rb:29:in`post’  
from c:/ruby/lib/ruby/gems/1.8/gems/tattle-1.0.1/bin/tattle:14  
from c:/ruby/bin/tattle:18

Well, I gave a gracious effort and died in the trenches…

-stu

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 3:19pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/9 "2007-01-09T15:19:40Z")

</div>

On Jan 8, 2007, at 4:00 PM, Chad F. wrote:

> The information gets posted to [http://tattle.rubygarden.org](http://tattle.rubygarden.org). You can  
> view the posted data with your web browser at that URL.
> 
> Thanks!  
> Chad F.  
> [http://www.chadfowler.com](http://www.chadfowler.com)

On a totally non-security related note, why doesn’t the rubyforge  
home page forward to [http://tattle.rubygarden.org/](http://tattle.rubygarden.org/) ?

If I google for ‘ruby tattle’ I get the rubyforge project near the  
top. But no ruby garden page on the first page of results.

-Mat

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 6:02pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/10 "2007-01-09T18:02:13Z")

</div>

On Jan 9, 2007, at 4:29 AM, Pit C. wrote:

> Chad F. schrieb:
> 
> > To install:  
> > $ sudo gem install tattle
> 
> Chad, why does tattle depend on the hoe and rubyforge gems?

Uh… because hoe is the single most awesome thing for ruby project  
development in the last 6 years? It is used in 5% of all rubygems.  
Get over it.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 6:32pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/11 "2007-01-09T18:32:18Z")

</div>

On Wed, Jan 10, 2007, Ryan D. wrote:

> > Chad, why does tattle depend on the hoe and rubyforge gems?
> 
> Uh… because hoe is the single most awesome thing for ruby project  
> development in the last 6 years? It is used in 5% of all rubygems.  
> Get over it.

I think the question is “why is this neat tool useful only to the gem’s  
developer required to install the gem on end-user systems?”

So… why is that?

Ben

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 6:43pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/12 "2007-01-09T18:43:19Z")

</div>

On 1/9/07, stu [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> c:/ruby/lib/ruby/gems/1.8/gems/tattle-1.0.1/lib/tattle.rb:29:in `post’  
> from c:/ruby/lib/ruby/gems/1.8/gems/tattle-1.0.1/bin/tattle:14  
> from c:/ruby/bin/tattle:18
> 
> Well, I gave a gracious effort and died in the trenches…

Proxy support is on the TODO list (in my head). You will be mourned.

Chad

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 6:45pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/13 "2007-01-09T18:45:19Z")

</div>

On 1/9/07, Kashia B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My point was merely that I was spreading false information, and others  
> might  
> too. 😛

You’re right (both that the report was wrong and that it’s probably an  
edge case). I personally think we can live with it for now, but it  
might be worth rethinking our approach at some point. Just for the  
record, we didn’t think using Config::CONFIG was particularly clever  
🙂

Chad

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 6:37pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/14 "2007-01-09T18:37:19Z")

</div>

Hi,

> > Reason: Tattle uses Config::CONFIG, which is where the ruby was  
> > compiled in, not what it is running on.
> 
> Its still darwin 8, so gems for your version of ruby should work ok with  
> gems compiled for any other darwin 8 version. If you built for darwin 8  
> but your uname -a now reported AIX that would be cause for alarm.

of course it works, how would you live without ruby. 😉

My point was merely that I was spreading false information, and others  
might  
too. 😛

Jo

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 7:01pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/15 "2007-01-09T19:01:20Z")

</div>

On 1/8/07, Rob M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > created a little census tool and an accompanying web site to help us
> 
> This is a great idea.
> 
> Are there plans to allow submission of a semi-anonymous collection of  
> internal census data from potentially thousands of internally managed  
> clients? Perhaps some way to submit to you directly a data file  
> containing a summation of the data submitted individually to tattle.

We’ve talked about that. Wouldn’t be too hard. Just need to do it.

Chad

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 7:20pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/16 "2007-01-09T19:20:22Z")

</div>

On Jan 9, 2007, at 09:31, Ben B. wrote:

> So… why is that?

rake test

PS: Nobody complains about hoe depending on rake which is 2.5 times  
larger.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)

I LIT YOUR GEM ON FIRE!

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 7:42pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/17 "2007-01-09T19:42:25Z")

</div>

On Wed, Jan 10, 2007, Eric H. wrote:

> > I think the question is “why is this neat tool useful only to the  
> > gem’s  
> > developer required to install the gem on end-user systems?”
> > 
> > So… why is that?
> 
> rake test

Makes sense, didn’t think about that. Still, though, gem install -t  
does the same thing and doesn’t require dependencies.

> PS: Nobody complains about hoe depending on rake which is 2.5 times  
> larger.

Rake is useful for more than just gem deployment.

I shouldn’t need to install the rubyforge gem to install someone else’s  
library, but if they packaged it with hoe, I’m forced to. This doesn’t  
make sense.

I’m all for both of them being folded into gem, though. If they were  
already there, nobody would have anything to complain about 😉

Ben

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 9:49pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/18 "2007-01-09T21:49:46Z")

</div>

On Jan 9, 2007, at 10:42, Ben B. wrote:

> does the same thing and doesn’t require dependencies.  
> This is not guaranteed to work. Currently gems is very lax in its  
> installation and doesn’t rollback when you cancel on a dependency.  
> In the future it may not.

> Rake is useful for more than just gem deployment.

Only if you are also developing. If you’re just using libraries, it  
is useless.

> I shouldn’t need to install the rubyforge gem to install someone  
> else’s  
> library, but if they packaged it with hoe, I’m forced to. This  
> doesn’t  
> make sense.

Same for rake, but nobody complains.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)

I LIT YOUR GEM ON FIRE!

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 10, 2007, 4:33am UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/19 "2007-01-10T04:33:22Z")

</div>

On Jan 9, 2007, at 12:31 PM, Ben B. wrote:

> On Wed, Jan 10, 2007, Ryan D. wrote:
> 
> > > Chad, why does tattle depend on the hoe and rubyforge gems?
> > 
> > Uh… because hoe is the single most awesome thing for ruby project  
> > development in the last 6 years? It is used in 5% of all rubygems.  
> > Get over it.
> 
> I think the question is “why is this neat tool useful only to the  
> gem’s  
> developer required to install the gem on end-user systems?”

% du -sk \*/_hoe_  
12 cache/hoe-1.1.7.gem  
104 doc/hoe-1.1.7  
40 gems/hoe-1.1.7  
4 specifications/hoe-1.1.7.gemspec

In other words, who cares?!?

It sounds like you’re complaining simply because it offends your  
sensibilities. If you have a problem with the way gems does  
dependencies, then file a bug with rubygems and/or offer them a well  
tested patch. Otherwise, drop it as it doesn’t matter one bit.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [January 9, 2007, 10:04pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/20 "2007-01-09T22:04:48Z")

</div>

On Wed, Jan 10, 2007, Eric H. wrote:

> > Makes sense, didn’t think about that. Still, though, gem install -t  
> > does the same thing and doesn’t require dependencies.
> 
> This is not guaranteed to work. Currently gems is very lax in its  
> installation and doesn’t rollback when you cancel on a dependency. In  
> the future it may not.

Interesting, didn’t know that. It’s always worked where I’ve used it.

> > Rake is useful for more than just gem deployment.
> 
> Only if you are also developing. If you’re just using libraries, it  
> is useless.

Not true. I need rake to work with Rails, even though I’m not doing any  
development on the Rails libraries. If it were packaged with Hoe, I’d  
need to install hoe, but I’d never actually use the Hoe libraries again.

> > I shouldn’t need to install the rubyforge gem to install someone  
> > else’s library, but if they packaged it with hoe, I’m forced to.  
> > This doesn’t make sense.
> 
> Same for rake, but nobody complains.

Not true at all:

commercial ~/projects/personal/plist \> rake gem  
(in /Users/bbleything/projects/personal/plist)  
mkdir -p pkg  
Successfully built RubyGem  
Name: plist  
Version: 3.0.0  
File: plist-3.0.0.gem  
mv plist-3.0.0.gem pkg/plist-3.0.0.gem

commercial ~/projects/personal/plist \> sudo gem uninstall rake  
You have requested to uninstall the gem:  
rake-0.7.1  
hoe-1.1.6 depends on [rake (\> 0.0.0)]  
gem\_plugin-0.2.1 depends on [rake (\>= 0.7)]  
rails-1.1.6 depends on [rake (\>= 0.7.1)]  
If you remove this gems, one or more dependencies will not be met.  
Continue with Uninstall? [Yn] y  
Successfully uninstalled rake version 0.7.1  
Remove executables and scripts for  
‘rake’ in addition to the gem? [Yn] y  
Removing rake

commercial ~…personal/plist/pkg \> cd pkg  
commercial ~…personal/plist/pkg \> ls  
plist-3.0.0.gem

commercial ~…personal/plist/pkg \> sudo gem install plist-3.0.0.gem  
Successfully installed plist, version 3.0.0  
Installing ri documentation for plist-3.0.0…  
Installing RDoc documentation for plist-3.0.0…

Ben

[Next page](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407.md?page=2)
