This script was for fun to play around with Google Charts. There was an internet meme going around where programmers were posting their console history on their blogs. I took the output from that script and made a Ruby hash of commands and their frequencies, then sent that data to a Google Charts URL to display them as a 3d pie chart.

    #!/usr/bin/env ruby
    # (c) 2008 Andy Atkinson

    # this awk script is from an internet meme where programmers would post their console history
    # on their blog, it was not made by me, I added sending the results to a google charts 3d pie chart
    # 
    # (1) make a file called "history.rb"
    # (2) RUN THIS:
    #   history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] "=" i}}' | sort -rn | head | ruby history.rb
    #
    output = STDIN.read

    # output should be like:
    #  ["41", "git"]
    #  ["39", "cd"]
    #  ["37", "history"]
    #  ["32", "gs"]

    commands = {}
    output.each do |line|
      count,name = line.chomp.split('=')
      commands[count] = name
    end

    google_charts_url = 'http://chart.apis.google.com/chart?cht=p3&chd=t:'
    url = google_charts_url + commands.keys.join(",") + "&chs=600x200&chl=" + commands.values.join("|")
    `open #{url.dump}`