     (spit "/tmp/a.py" p)
     ))
 
-(defn read-strings1 [coll]
-  (map (fn read-strings- [t]
-         (try
-           (let [s (edn/read-string t)]
-             (if (symbol? s)
-               (str s)
-               s))
-           (catch Exception e t)))
-       coll))
-
+;;----------------------------
+;; Data-Driven Security ch03
+;;----------------------------
 (defn read-alienvault-reputation-data []
   (-> "book-data/book/ch03/data/reputation.data"
       (incanter.io/read-dataset :delim \#)

                   (incanter.core/$ :Prefix iana))
              iana)
        ;; We don't technically need a derived column, here; we just
        ;; need a seq of all the IP prefixes in av. But this is one way to do it.
        av (incanter.core/add-derived-column
            :IP.Prefix
            ["IP"]


(defn get-iana-ipv4-allocations []
  (-> "book-data/book/ch04/data/ipv4-address-space.csv"
      ;; Eat the headers, but don't use them because one column has a
      ;; space in the name and clojure.core/keyword allows this. (BAH!)
      (incanter.io/read-dataset :skip 1)
      (incanter.core/col-names
       [:Prefix :Designation :Date :Whois :Status :Note])))
