Skip to content

Instantly share code, notes, and snippets.

We’re looking to hire a (senior) software developer (F/M) interested in Clojure(Script), machine learning, natural language processing and medicine. This project is about transforming the way decisions are made about new drugs and treatments. Currently, the safety and efficacy of treatments is assessed with Randomised Controlled Trials (clinical trials), typically these trials work by splitting a patient population in two random groups: one group is given the new treatment, the other a placebo or an old treatment. The hope is that this gives an unbiased, real world, estimate of how well a treatment works.

Unfortunately, a lot of biasses are in play, and to combat them many of these trials are conducted and published each year. To give a good overview of what works and what doesn’t, experts attempt to screen and summarise/synthesise all available evidence and trials in thorough documents called systematic reviews. These systematic reviews form the cornerstone of what is called “Evidence Based Medicine”, and i

wagjo@wagjo-dell ~/bla $ git clone --depth 1 https://github.com/zombodb/zombodb.git
Cloning into 'zombodb'...
remote: Counting objects: 467, done.
remote: Compressing objects: 100% (394/394), done.
remote: Total 467 (delta 103), reused 223 (delta 42), pack-reused 0
Receiving objects: 100% (467/467), 144.57 MiB | 787.00 KiB/s, done.
Resolving deltas: 100% (103/103), done.
wagjo@wagjo-dell ~/bla/zombodb/docker $ docker-compose --version
docker-compose version 1.9.0-rc4, build 181a4e9
@wagjo
wagjo / core.clj
Created December 2, 2016 09:18
CLJ-1912 benchmark
(ns clj1912.core
(:require [criterium.core :refer :all]))
(defn new=
"Equality. Returns true if x equals y, false if not. Same as
Java x.equals(y) except it also works for nil, and compares
numbers and collections in a type-independent manner. Clojure's immutable data
structures define equals() (and thus =) as a value, not an identity,
comparison."
{:inline (fn [x y] `(. clojure.lang.Util equiv ~x ~y))
Input
<xml><abstract><section>A <i>severe heart</i> attack</section><section>stroke</section></abstract><meta>foo bar</meta></xml>
Output
<xml><abstract><section>A <i>severe <ann term_id="1" term="mesh:heart_attack">heart</ann></i><ann term_id="1" term="mesh:heart_attack"> attack</ann></section><section><ann term_id="2" term="mesh:stroke">stroke</ann></section></abstract><meta>foo bar</meta></xml>