👋 hi, I’m basile

The Toolkit returns? - weeknotes #59

First week with an M1 laptop. It’s kind of insane, and it’s the little things. The instant wake and opening of apps. The whole-workday battery life. The total silence.


I followed up on a few leads for the Digital Evidence Toolkit, and it’s quite pleasant to see that some of them are still ongoing.

The plans remain the same, though: I’m still fleshing out options for either future work (collaboration on an org-wide instance, for example) or pivots (provide chain-of-custody as a service kind of a thing).


It appears that I did a couple of Clojure/ClojureScript things this week. Bastien had his big moment as the minister announced ambitious plans for the Digital Commons, and I ended up submitting a couple of CLJS patches to code.gouv.fr, which aggregates open source code and projects from the French administration.

There’s a chart that’s been bugging me in this release, and so I’m looking into either re-doing it in a nice, pure HTML form (which I’m yet to draft) or just bash it with Observable’s latest baby: Plot.

CLJS interops with Javascript, but it’s kind of a funny one. See for example the need to move data structures between Clojure and JS with clj->js and the relatively gross rendering of Plot’s return, which is a built SVGElement:

(defn make-plot [data]
  (plot/plot
   (-> {:marks
        [(plot/barY
          (clj->js data)
          (clj->js {:x "letter" :y "frequency"}))]
        :x {:label ""}
        :caption "test caption"}
       clj->js)))

(defn <header> []
  [:header.mb-5
   [:h3.title.is-3 "Frequency of letters in the English language"]])

(defn render-dom-el
  "Renders a js DOM element as a reagent component, and updates
   when the DOM element updates, too"
  [dom-el] [:div {:dangerouslySetInnerHTML {:__html (.-outerHTML dom-el)}}])

And I had a lovely chat with Chris (who also writes weeknotes), a mix of a friendly catchup and sussing out “collabs.”