Hacker News new | ask | show | jobs
by brett 6630 days ago

  #!/usr/bin/env ruby
  domains = %w{reddit.com loopt.com clickfacts.com
               textpayme.com snipshot.com inklingmarkets.com flagr.com wufoo.com 
               youos.com likebetter.com thinkature.com jamglue.com shoutfit.com scribd.com 
               weebly.com virtualmin.com buxfer.com octopart.com heysan.com justin.tv 
               iminlikewithyou.com socialmoth.com xobni.com versionate.com adpinion.com anywhere.fm 
               fuzzwich.com bountii.com auctomatic.com disqus.com draftmix.com webmynd.com 
               rescuetime.com reble.fm heroku.com tipjoy.com addher.com 8aweek.com}

  orgs = {}
  domains.each do |c|
    whois = `host -t a #{c} | grep 'has address' | cut -f 4 -d ' ' | xargs -n 1 whois`
    if org = whois.grep(/OrgName/).first
      org = org.sub(/OrgName:\s/, '').strip
    else
      org = whois.split("\n").first.split("(")[0].strip.sub(/\s+[A-Z\-\d]+$/, '')
    end
    orgs[org] ||= []
    orgs[org] << c
  end
  max_size = orgs.sort_by{|k, v| k.size}.last.first.size


  orgs.sort_by{|k, v| v.size}.reverse.each do |o, ds|
    puts "%-#{max_size}s %5s" % [o, ds.size]
    ds.each {|d| puts "\t#{d}"}
  end
  puts
  puts "%-#{max_size}s %5s" % ["Total # of Domains", domains.size]
  puts "%-#{max_size}s %5s" % ["Total # of Providers", orgs.size]