GC

Approx. code

dkp_log = File.foreach("dkp.log").map { |line|
  amount, person, thing = line.strip.split(",")
  [ amount.to_i, person, thing ]
}

standings = dkp_log.group_by { |trans| trans[1] }.map { |person, history|
  [ person, history.reduce(0) { |sum, trans| sum + trans[0] } ]
}.sort { |a, b| b[1] <=> a[1] }  

Legend for places in code where roots logged

When animation stopped, it mark roots and live objects as red rectangles.