              f
              ;nil 1
              10 3600
-             512 nil ::ExpResult)))
+             nil #_ 512 nil ::ExpResult)))
       (count +dm-sizes+) +dm-reps+]]))
 
 
-#_ (do (use 'angelic.scripts.thesis 'angelic.util.experiments 'angelic.util.cluster)
-       (cluster-smart-runner (make-dm-exps2) false (str *default-run-dir* "/thesis-dm2/")))
+#_ (do (use 'angelic.scripts.thesis 'angelic.util.experiments 'angelic.util.cluster) (cluster-smart-runner (make-dm-exps2) false (str *default-run-dir* "/thesis-dm3/")))
 
 
 (comment ;; to run locally, if needed.

          (concat (apply clojure.set/intersection (map set size-results))
                  comb))))

(defn derive-median [target-field source-field & [mapper]]
  (fn [s]
    (when-let [r (median-of (count s) (map (if mapper (comp mapper source-field) source-field)
                                   (filter :ms s)))]
      {target-field r})))



(defn make-chart [ds algs field & [more-chart-opts derive pdf-file]]
  (util/assert-is (empty? (remove ds algs)))
  (let [sks (map alg-title algs)
        c   (-> ds first second first count)]
    (println "Medians of" c)
    (-> (smart-results->dataset
         (select-keys ds algs)
         (or derive
             (if (= field :secs)
               (derive-median c :secs :ms #(/ % 1000))
               (derive-median c field field))))
        (datasets/ds->chart
         [:alg] :size field
         (merge chart-opts more-chart-opts)
