       {:size counter
        :height max-path
        :users users
-       :hashtags (vec (into #{} (map :text hashtags)))
+       ;;:tokens tokens
+       :pub-times pub-times
+       :hashtags (mapv #(-> % :text clojure.string/lower-case) hashtags)
        :delays delays}
       (recur
        (if (zip/node loc)

  (pprint (map compute-summary news-accounts))


  (let [tree (-> (mc/find-maps db "origins" {:source {$in news-accounts}}) rand-nth compute-impact-tree)
        ds (loop [pub-time (-> (zip/root tree) :source :ts)
                  dates []
                 loc tree]
            (if (zip/end? loc)
              dates
              (recur
               pub-time
               (if (zip/node loc)
                 (let [post-delay (if (t/after? (-> loc zip/node :tweet :created_at) pub-time)
                                    (t/interval pub-time (-> loc zip/node :tweet :created_at))
                                    (t/interval (-> loc zip/node :tweet :created_at) pub-time))]
                   (conj dates (t/in-hours post-delay)))
                 dates)
               (zip/next loc))))]
    ds)

  (mc/count db "origins" {:source "SPIEGELONLINE"})

  (-> (mc/find-maps db "origins" {:source {$in news-accounts}})
      rand-nth
      compute-impact-tree
      analyze-tree
      pprint)

  (-> (mc/find-maps @db "tweets" {:created_at {$gt (t/today)}})
      count
      time)

  ;; twitter-nlp
  ;; html compression


)

       (zip/next loc)))))

(defn compute-impact-forest [source]
  (let [source-origins (mc/find-maps @db "origins" {:source source})]
    (vec (pmap compute-impact-tree source-origins))))


