Skip to content

Instantly share code, notes, and snippets.

@tenderlove
Created November 4, 2008 23:46
Show Gist options
  • Save tenderlove/22263 to your computer and use it in GitHub Desktop.
Save tenderlove/22263 to your computer and use it in GitHub Desktop.
total gem count: 399
unique gem count: 90
2004-12: 1
2005-2: 2
2005-4: 3
2005-5: 3
2005-6: 3
2005-7: 4
2005-10: 2
2005-11: 3
2005-12: 3
2006-1: 3
2006-2: 1
2006-3: 8
2006-4: 5
2006-5: 8
2006-6: 15
2006-7: 7
2006-8: 8
2006-9: 8
2006-10: 17
2006-11: 18
2006-12: 12
2007-1: 13
2007-2: 6
2007-3: 10
2007-4: 10
2007-5: 8
2007-6: 13
2007-7: 11
2007-8: 19
2007-9: 5
2007-10: 2
2007-11: 5
2007-12: 19
2008-1: 10
2008-2: 6
2008-3: 18
2008-4: 14
2008-5: 16
2008-6: 17
2008-7: 11
2008-8: 10
2008-9: 13
2008-10: 26
2008-11: 3
2004-12: 1
ruby-growl-1.0.0
2005-2: 2
ParseTree-1.3.3
ParseTree-1.3.4
2005-4: 3
ParseTree-1.3.5
RubyInline-3.2.1
RubyInline-3.3.0
2005-5: 3
ParseTree-1.3.6
RubyInline-3.3.2
RubyInline-3.3.1
2005-6: 3
SQLDependencyGrapher-1.0.0
ZenHacks-1.0.0
sql_dep_graph-1.0.0
2005-7: 4
ParseTree-1.3.7
RubyInline-3.4.0
RubyToC-1.0.0.4
ZenHacks-1.0.1
2005-10: 2
ParseTree-1.4.0
RubyInline-3.5.0
2005-11: 3
action_profiler-1.0.0
namecase-1.0.0
ruby-growl-1.0.1
2005-12: 3
daapclient-0.1.0
daapclient-0.0.1
daapclient-0.0.2
2006-1: 3
cached_model-1.0.0
cached_model-1.0.1
logmerge-1.0.0
2006-2: 1
cached_model-1.1.0
2006-3: 8
IMAPCleanse-1.0.0
ZenTest-3.1.0
ZenTest-3.0.0
mechanize-0.4.0
mogilefs-client-1.0.1
socket_accept_filter-1.0.0
socket_sendfile-1.1.0
webrick-high-performance-1.0.0
2006-4: 5
ParseTree-1.4.1
ZenTest-3.2.0
mechanize-0.4.1
mechanize-0.4.3
mechanize-0.4.2
2006-5: 8
IMAPCleanse-1.1.0
IMAPCleanse-1.1.1
IMAPCleanse-1.2.0
RubyToC-1.0.0.5
daapclient-0.2.0
mechanize-0.4.4
mechanize-0.4.5
namecase-1.0.1
2006-6: 15
geocoder-us-1.0.0
geocoder-us-1.1.0
google-geocode-1.0.0
google-geocode-1.2.0
google-geocode-1.1.0
mechanize-0.4.7
mechanize-0.4.6
metacarta-geoparser-1.0.0
rc-rest-1.0.0
yahoo-1.1.0
yahoo-1.0.0
yahoo-geocode-1.0.0
yahoo-geocode-1.1.0
yahoo-search-1.1.0
yahoo-search-1.0.0
2006-7: 7
ZenTest-3.3.0
betabrite-0.0.1
daapclient-0.2.1
digest-m4p-0.0.2
emp-1.0.0
mechanize-0.5.0
mechanize-0.5.1
2006-8: 8
cached_model-1.2.0
cached_model-1.2.1
daapclient-0.2.2
mechanize-0.5.3
mechanize-0.5.2
mechanize-0.5.4
mem_inspect-1.0.0
png-1.0.0
2006-9: 8
ParseTree-1.5.0
RingyDingy-1.0.0
RubyInline-3.6.0
ZenTest-3.4.0
betabrite-0.0.2
hoe-1.0.0
mechanize-0.6.0
mechanize-0.6.1
2006-10: 17
InlineFortran-1.0.0
ParseTree-1.6.0
RingyDingy-1.1.0
RubyInline-3.6.2
RubyInline-3.6.1
ZenTest-3.4.1
bfts-1.0.0
cached_model-1.3.1
heckle-1.0.0
hoe-1.1.2
hoe-1.0.5
hoe-1.1.0
hoe-1.1.1
mechanize-0.6.2
memcache-client-1.2.0
miniunit-1.0.0
ruby2ruby-1.1.0
2006-11: 18
ParseTree-1.6.1
RingyDingy-1.2.0
ZenTest-3.4.2
geocoder-us-1.1.1
google-geocode-1.2.1
hoe-1.1.3
hoe-1.1.5
hoe-1.1.6
hoe-1.1.4
mechanize-0.6.3
metacarta-geoparser-1.0.2
namecase-1.0.2
rc-rest-2.0.0
rc-rest-2.1.0
ruby2ruby-1.1.1
yahoo-1.1.1
yahoo-geocode-1.1.1
yahoo-search-1.1.1
2006-12: 12
ParseTree-1.6.2
ParseTree-1.6.3
RingyDingy-1.2.1
ZenTest-3.4.3
heckle-1.1.0
heckle-1.1.1
image_science-1.0.0
mechanize-0.6.4
mem_cache_fragment_store-1.0.1
memcache-client-1.2.1
ruby2ruby-1.1.2
ruby2ruby-1.1.3
2007-1: 13
ParseTree-1.6.4
RailsRemoteControl-1.0.0
firebrigade_api-1.0.0
heckle-1.2.0
hoe-1.1.7
image_science-1.1.0
ograph-0.0.1
rbayes-1.0.0
rc-rest-2.2.0
rc-rest-2.2.1
ruby2ruby-1.1.4
rubyforge-0.4.0
tinderbox-1.0.0
2007-2: 6
ParseTree-1.7.0
heckle-1.3.0
hoe-1.2.0
mechanize-0.6.5
ograph-0.1.0
ruby2ruby-1.1.5
2007-3: 10
box_layout-1.0.0
daapclient-0.2.3
image_science-1.1.1
mechanize-0.6.7
mechanize-0.6.6
memcache-client-1.3.0
mms2r-1.0.2
mms2r-1.0.0
png-1.1.0
rubyforge-0.4.1
2007-4: 10
RubyInline-3.6.3
ZenTest-3.5.2
ZenTest-3.5.1
image_science-1.1.2
mechanize-0.6.8
mms2r-1.0.7
mms2r-1.0.6
mms2r-1.0.3
mms2r-1.0.4
mms2r-1.0.5
2007-5: 8
SyslogLogger-1.4.0
ZenTest-3.6.0
heckle-1.4.0
hoe-1.2.1
image_science-1.1.3
production_log_analyzer-1.5.0
rails_analyzer_tools-1.4.0
rubyforge-0.4.2
2007-6: 13
ParseTree-1.7.1
ar_mailer-1.2.0
chikkenbukket-0.9.1
drawr-1.0.1
heckle-1.4.1
mechanize-0.6.9
mms2r-1.1.1
mms2r-1.1.0
mms2r-1.1.2
ograph-0.2.0
raop-client-0.1.1
raop-client-0.1.0
ruby2ruby-1.1.6
2007-7: 11
Sphincter-1.0.0
ZenTest-3.6.1
ar_mailer-1.3.1
hoe-1.2.2
icanhasaudio-0.0.2
icanhasaudio-0.0.1
mechanize-0.6.10
memcache-client-1.4.0
mms2r-1.1.3
mogilefs-client-1.2.1
rubyforge-0.4.3
2007-8: 19
ParseTree-2.0.0
ParseTree-2.0.1
RubyInline-3.6.4
Sphincter-1.1.0
SuperCaller-1.0.0
flog-1.0.1
flog-1.0.2
flog-1.0.0
flog-1.1.0
hoe-1.3.0
icanhasaudio-0.0.3
memcache-client-1.5.0
mms2r-1.1.6
mms2r-1.1.7
mms2r-1.1.5
mms2r-1.1.4
ruby2ruby-1.1.7
rubyforge-0.4.4
vlad-1.0.0
2007-9: 5
ParseTree-2.0.2
mms2r-1.1.9
mms2r-1.1.8
mms2r-1.1.10
vlad-1.1.0
2007-10: 2
mms2r-1.1.11
mms2r-1.1.12
2007-11: 5
RubyInline-3.6.5
csspool-0.2.0
csspool-0.1.0
csspool-0.1.1
miniunit-1.1.0
2007-12: 19
ParseTree-2.1.0
ParseTree-2.1.1
ParseTree-2.1.1-x86-mswin32
RubyInline-3.6.6
ZenTest-3.7.1
ZenTest-3.7.0
csspool-0.2.4
csspool-0.2.3
csspool-0.2.1
csspool-0.2.2
gchart-0.4.0
gchart-0.2.0
gchart-0.1.0
gchart-0.3.0
hoe-1.4.0
mechanize-0.6.11
ruby2ruby-1.1.8
ruby_parser-1.0.0
rubygems-update-1.0.1
2008-1: 10
ZenTest-3.9.0
ZenTest-3.9.1
ZenTest-3.8.0
ZenTest-3.7.2
gchart-0.4.1
gchart-0.4.2
hoe-1.5.0
mechanize-0.7.0
mms2r-2.0.0
vlad-1.2.0
2008-2: 6
betabrite-1.0.1
betabrite-1.0.0
icanhasaudio-0.1.0
impostor-0.0.1
mms2r-2.0.1
mms2r-2.0.2
2008-3: 18
ObjectProxy-1.0.1
RubyInline-3.6.7
ZenTest-3.9.2
alphadecimal-1.0.1
betabrite-1.0.2
cached_values-1.0.1
cached_values-1.0.0
hoe-1.5.1
mechanize-0.7.4
mechanize-0.7.3
mechanize-0.7.2
mechanize-0.7.1
mechanize-0.7.5
object_proxy-1.0.2
rubyforge-0.4.5
rubygems-update-1.1.0
simple_memoize-1.0.0
test-unit-1.2.3
2008-4: 14
basis-0.0.1
clip-0.0.1
csspool-0.2.6
csspool-0.2.5
is_it_iphone-0.1.0
is_it_mobile-1.0.0
is_it_mobile-1.0.1
is_it_mobile-1.0.0.2
is_it_mobile-1.0.0.3
is_it_mobile-1.0.0.1
mms2r-2.0.4
mms2r-2.0.3
rdoc-2.0.0
rubygems-update-1.1.1
2008-5: 16
clip-0.0.2
gchart-0.5.0
gitjour-6.0.0
gitjour-6.0.9
gitjour-2.5.0
gitjour-1.0.0
gitjour-2.0.0
gitjour-5.0.0
hoe-1.5.2
hoe-1.5.3
mechanize-0.7.6
quartermaster-1.0.3
quartermaster-1.0.2
quartermaster-1.0.0
quartermaster-1.0.1
rubyforge-1.0.0
2008-6: 17
ParseTree-2.2.0
RubyInline-3.7.0
UPnP-1.0.0
UPnP-IGD-1.0.0
ZenTest-3.9.3
ZenTest-3.10.0
clip-0.0.3
clip-0.0.5
hoe-1.6.0
hoe-1.7.0
meow-1.0.0
meow-1.1.0
miniunit-1.2.1
miniunit-1.2.0
ruby2ruby-1.1.9
rubygems-update-1.2.0
test-unit-2.0.0
2008-7: 11
UPnP-1.1.0
UPnP-ConnectionManager-1.0
UPnP-ContentDirectory-1.0
UPnP-MediaServer-1.0.0
betabrite-1.0.3
clip-0.0.6
impostor-0.1.0
mechanize-0.7.7
mms2r-2.0.5
mms2r-2.1.0
rdoc-2.1.0
2008-8: 10
earworm-0.0.2
earworm-0.0.1
icanhasaudio-0.1.1
mechanize-0.7.8
meow-2.0.0
uuid-2.0.0
uuid-2.0.1
zomg-1.0.1
zomg-1.0.0
zomg-1.0.2
2008-9: 13
clip-1.0.0
icanhasaudio-0.1.2
impostor-0.2.1
is_it_iphone-0.1.1
mechanize-0.8.3
mechanize-0.8.0
mechanize-0.8.2
mechanize-0.8.1
mms2r-2.1.1
mogilefs-client-1.3.0
rdoc-2.2.0
rdoc-2.2.1
rubygems-update-1.3.0
2008-10: 26
ParseTree-3.0.0
ParseTree-3.0.1-x86-mingw32
ParseTree-3.0.1-x86-mswin32-60
ParseTree-3.0.1
RubyInline-3.8.1
RubyInline-3.8.0
ZenTest-3.11.0
flog-1.2.0
hoe-1.8.0
hoe-1.8.2
hoe-1.8.1
icanhasaudio-0.1.3
is_it_iphone-1.0.0
mechanize-0.8.4
minitest-1.3.0
mms2r-2.1.2
mogilefs-client-1.3.1
namecase-1.1.0
nokogiri-1.0.1
nokogiri-1.0.2
nokogiri-1.0.0
nokogiri-1.0.0-x86-mswin32-60
ruby2ruby-1.2.0
ruby_parser-2.0.0
rubyforge-1.0.1
rubygems-update-1.3.1
2008-11: 3
meow-2.1.0
nokogiri-1.0.3-x86-mswin32-60
nokogiri-1.0.3
require 'rubygems'
require 'yaml'
require 'set'
SEATTLERB = [
'aaron patterson',
'alex vollmer',
'andy smith',
'damon danieli',
'dave myron',
'eric hodel',
'evan phoenix',
'geoff grosenbach',
'jack danger canty',
'john barnette',
'mike mondragon',
'phil hagelderg',
'ryan davis',
]
file = 'yaml.marshal'
if !File.exists?(file)
system("wget http://gems.rubyforge.org/yaml ||" +
" curl -O http://gems.rubyforge.org/yaml")
File.open(file, 'wb') { |f|
f.write(Marshal.dump(YAML.load_file('yaml')))
}
end
### Ryan is a special little girl
RYAN = [
"InlineFortran",
"ParseTree",
"RubyInline",
"RubyToC",
"ZenHacks",
"ZenTest",
"bfts",
"box_layout",
"flog",
"heckle",
"hoe",
"image_science",
"miniunit",
"minitest",
"png",
"ruby2ruby",
"ruby_parser",
"rubyforge",
"test-unit",
"vlad",
"zentest",
]
specs = []
Marshal.load(File.read(file)).gems.each do |name, spec|
next unless spec.authors.any? { |author|
SEATTLERB.any? { |seattlerb|
author =~ /#{seattlerb}/i
}
}
next if spec.description =~ /too lazy to write/
if spec.authors.any? { |author| author =~ /Ryan/ }
next unless RYAN.include?(spec.name)
end
specs << spec
end
puts "total gem count: #{specs.length}"
puts "unique gem count: #{specs.map { |x| x.name }.uniq.length}"
dates = Hash.new { |dates,year|
dates[year] = Hash.new { |yr,month| yr[month] = [] }
}
specs.each do |spec|
dates[spec.date.year][spec.date.month] << spec
end
dates.sort_by { |k,v| k }.each do |year,hash|
hash.sort_by { |k,v| k }.each do |month,specs|
puts "#{year}-#{month}: #{specs.length}"
end
end
dates.sort_by { |k,v| k }.each do |year,hash|
hash.sort_by { |k,v| k }.each do |month,specs|
puts "#{year}-#{month}: #{specs.length}"
specs.sort_by { |x| x.name }.each do |spec|
puts " #{spec.full_name}"
end
end
end
@DouglasAllen
Copy link

seattlerb_stats.rb

puts "Please!"
yaml
--- !ruby/object:Gem::SourceIndex
gems:
rubygems-update-1.3.6: !ruby/object:Gem::Specification
name: rubygems-update
version: !ruby/object:Gem::Version
prerelease: false
segments:
- 1
- 3
- 6
version: 1.3.6
platform: ruby
authors:
- Jim Weirich
- Chad Fowler
- Eric Hodel
autorequire:
bindir: bin
cert_chain: []

date: 2010-02-20 03:00:00 -05:00
default_executable: 
dependencies: []

description: |-
  RubyGems is a package management framework for Ruby.

  This gem is an update for the RubyGems software. You must have an
  installation of RubyGems before this update can be applied.

  See Gem for information on RubyGems (or `ri Gem`)

  To upgrade to the latest RubyGems, run:

    $ gem update --system  # you might need to be an administrator or root

  NOTE:  RubyGems 1.1 and 1.2 have problems upgrading when there is no
  rubygems-update installed.  You will need to use the following instructions
  if you see "Nothing to update".

  If you have an older version of RubyGems installed, then you can still
  do it in two steps:

    $ gem install rubygems-update  # again, might need to be admin/root
    $ update_rubygems              # ... here too

  If you don't have any RubyGems install, there is still the pre-gem approach to
  getting software, doing it manually:

  1. Download from: http://rubyforge.org/frs/?group_id=126
  2. Unpack into a directory and cd there
  3. Install with: ruby setup.rb  # you may need admin/root privilege

  For more details and other options, see:

    ruby setup.rb --help
email: 
- rubygems-developers@rubyforge.org
executables: 
- update_rubygems
extensions: []

extra_rdoc_files: []

files: []

has_rdoc: true
homepage: http://rubygems.org/
licenses: []

post_install_message: 
rdoc_options: []

require_paths: 
- hide_lib_for_update
required_ruby_version: !ruby/object:Gem::Requirement 
  requirements: 
  - - ">"
    - !ruby/object:Gem::Version 
      segments: 
      - 1
      - 8
      - 3
      version: 1.8.3
required_rubygems_version: !ruby/object:Gem::Requirement 
  requirements: 
  - - ">="
    - !ruby/object:Gem::Version 
      segments: 
      - 0
      version: "0"
requirements: []

rubyforge_project: rubygems
rubygems_version: 1.3.6
signing_key: 
specification_version: 3
summary: RubyGems is a package management framework for Ruby
test_files: []

@DouglasAllen
Copy link

The above was the YAML I got in rbenv 2014 2.1.0-Ruby > ruby seattle_stats.rb
Want the rest of the story?
--2014-11-14 14:39:54-- http://gems.rubyforge.org/yaml
Resolving gems.rubyforge.org (gems.rubyforge.org)... 54.186.104.15
Connecting to gems.rubyforge.org (gems.rubyforge.org)|54.186.104.15|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://rubygems.org/yaml [following]
--2014-11-14 14:39:54-- https://rubygems.org/yaml
Resolving rubygems.org (rubygems.org)... 54.186.104.15
Connecting to rubygems.org (rubygems.org)|54.186.104.15|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://s3.amazonaws.com/production.s3.rubygems.org/yaml [following]
--2014-11-14 14:39:59-- https://s3.amazonaws.com/production.s3.rubygems.org/yaml
Resolving s3.amazonaws.com (s3.amazonaws.com)... 54.231.2.88
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.2.88|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2751 (2.7K) [application/octet-stream]
Saving to: `yaml'

100%[======================================>] 2,751 --.-K/s in 0.02s

2014-11-14 14:40:00 (133 KB/s) - `yaml' saved [2751/2751]

/home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/class_loader.rb:53:in path2class': undefined class/module Gem::SourceIndex (ArgumentError) from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/class_loader.rb:53:inresolve'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/class_loader.rb:45:in find' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/class_loader.rb:27:inload'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/to_ruby.rb:358:in resolve_class' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/to_ruby.rb:201:invisit_Psych_Nodes_Mapping'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/visitor.rb:15:in visit' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/visitor.rb:5:inaccept'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/to_ruby.rb:31:in accept' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/to_ruby.rb:274:invisit_Psych_Nodes_Document'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/visitor.rb:15:in visit' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/visitor.rb:5:inaccept'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/visitors/to_ruby.rb:31:in accept' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych/nodes/node.rb:37:into_ruby'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych.rb:245:in load' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych.rb:463:inblock in load_file'
from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych.rb:463:in open' from /home/douglasallen/.rbenv/versions/2.1.0/lib/ruby/2.1.0/psych.rb:463:inload_file'
from seattlerb_stats.rb:26:in block in <main>' from seattlerb_stats.rb:25:inopen'
from seattlerb_stats.rb:25:in `

'

My yaml.marshal below

@DouglasAllen
Copy link

Comment out require 'rubygems' run > ruby seattlerb_stats.rb
seattlerb_stats.rb:57:in load': marshal data too short (ArgumentError) from seattlerb_stats.rb:57:in

'

@DouglasAllen
Copy link

zentest seattlerb_stats.rb > seattlerb_stats_spec.rb

Code Generated by ZenTest v. 4.11.0

classname: asrt / meth = ratio%

Number of errors detected: 0

@DouglasAllen
Copy link

:D ;-) :D 😄 😃 😀

@DouglasAllen
Copy link

gem --version
2.2.0
ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
Old enough ain't it

@DouglasAllen
Copy link

gem update --system
gem --version
2.4.4

@DouglasAllen
Copy link

sort these by type and host ex: github/rubyforge/rubygems...
http://www.seattlerb.org/projects

@DouglasAllen
Copy link

I'm into Teachfirst Testing. How well do we learn?

@DouglasAllen
Copy link

Please do me a favor and tell someone about this.
DateTime.jd(0.5) not DateTime.jd(0.0)
We're missing half a day here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment