Add the ability to derive stream from atom.

--- src/beicon/core.cljs
+++ src/beicon/core.cljs
@@ -103,6 +103,15 @@
                        ms)]
               (vreset! semholder sem)))))

+(defn from-atom
+  [atm]
+  (create (fn [sink]
+            (let [key (keyword (gensym "beicon"))]
+              (add-watch atm key (fn [_ _ _ val]
+                                   (sink val)))
+              (fn []
+                (remove-watch atm key))))))
+
 (defn once
   "Returns an observable sequence that contains
   a single element."


Allow aws credentials provider to optionally yield security token

--- src/braid/lib/s3.clj
+++ src/braid/lib/s3.clj
@@ -16,7 +16,7 @@
 (defn generate-s3-upload-policy
   [{:aws/keys [credentials-provider] region :aws-region bucket :aws-bucket :as config} {:keys [starts-with]}]
   (when credentials-provider
-    (let [[api-key api-secret] (credentials-provider)
+    (let [[api-key api-secret ?security-token] (credentials-provider)
           utc-now (aws/utc-now)
           day (.format utc-now aws/basic-date-format)
           date (.format utc-now aws/basic-date-time-format)
@@ -34,6 +34,9 @@
                        {"x-amz-algorithm" "AWS4-HMAC-SHA256"}
                        {"x-amz-credential" credential}
                        {"x-amz-date" date}]}
+                     (cond-> ?security-token
+                       (update :conditions conj
+                               {"x-amz-security-token" ?security-token}))
                      json/write-str
                      aws/str->bytes
                      Base64/encodeBase64String)]
@@ -77,7 +80,7 @@

 (defn readable-s3-url
   [{:aws/keys [credentials-provider] region :aws-region :as config} expires-seconds path]
-  (let [[api-key _] (credentials-provider)
+  (let [[api-key _ ?security-token] (credentials-provider)
         utc-now (aws/utc-now)
         query-str (str "X-Amz-Algorithm=AWS4-HMAC-SHA256"
                        "&X-Amz-Credential=" api-key "/" (.format utc-now aws/basic-date-format) "/" region "/s3/aws4_request"
@@ -87,11 +90,13 @@
     (str "https://" (s3-host config)
          "/" path
          "?" query-str
-         "&X-Amz-Signature=" (get-signature config utc-now path query-str))))
+         "&X-Amz-Signature=" (get-signature config utc-now path query-str)
+         (when ?security-token
+           (str "&X-Amz-Security-Token=" ?security-token)))))

 (defn- make-request
   [{:aws/keys [credentials-provider] region :aws-region bucket :aws-bucket :as config} {:keys [body method path] :as request}]
-  (let [[api-key api-secret] (credentials-provider)
+  (let [[api-key api-secret ?session-token] (credentials-provider)
         utc-now (aws/utc-now)
         req (update request :headers
                     assoc
@@ -106,7 +111,12 @@
                                     :request req
                                     :aws-api-secret api-secret
                                     :aws-api-key api-key
-                                    :aws-region region})))))
+                                    :aws-region region}))
+        (cond->
+            ?session-token
+          (assoc-in [:headers "X-Amz-Security-Token"] ?session-token)))))
+
+

 (defn delete-file!
   [config path]


v1.0.0

--- project.clj
+++ project.clj
@@ -1,9 +1,12 @@
-(defproject obb-rules-api "1.0.0-SNAPSHOT"
+(defproject obb-rules-api "1.0.0"
   :description "JSON/REST API for obb-rules"
   :url "https://github.com/orionsbelt-battlegrounds/obb-rules-api"

   :source-paths ["src"]
   :test-paths ["test"]
+
+  :scm {:name "git"
+        :url "git@github.com:orionsbelt-battlegrounds/obb-rules-api.git"}

   :min-lein-version "2.0.0"
   :dependencies [[org.clojure/clojure "1.6.0"]


[Remove] core.typed

[Remove] core.typed

--- project.clj
+++ project.clj
@@ -8,7 +8,6 @@
   :dependencies [[org.clojure/clojure "1.7.0"]
                  [org.clojure/core.match "0.3.0-alpha4"]
                  [org.clojure/tools.nrepl "0.2.10"]
-                 [org.clojure/core.typed "0.3.0"]
                  [incanter "1.5.6"]
                  [midje "1.7.0-beta1"]
                  [svm-clj "0.1.3"]


lein-release plugin: preparing 0.0.3 release

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject net.mikera/trellis "0.0.3-SNAPSHOT"
+(defproject net.mikera/trellis "0.0.3"
   :description "Trellis Web Framework"
   :url "http://github.com/mikera/trellis"


This change wasn't needed.

This change wasn't needed.

--- project.clj
+++ project.clj
@@ -31,7 +31,6 @@
                  [fulcrologic/fulcro-spec "2.1.3" :scope "test"]]

   :uberjar-name "cawala.jar"
-  :main cawala.server-main

   :source-paths ["src/main"]
   :test-paths ["src/test"]


(RE-10172) Update to ezbake 1.1.13

(RE-10172) Update to ezbake 1.1.13

--- project.clj
+++ project.clj
@@ -149,7 +149,7 @@
                                                [puppetlabs/puppetserver ~ps-version]
                                                [puppetlabs/trapperkeeper-webserver-jetty9 ~tk-jetty9-version]
                                                [org.clojure/tools.nrepl nil]]
-                      :plugins [[puppetlabs/lein-ezbake "1.1.11"]]
+                      :plugins [[puppetlabs/lein-ezbake "1.1.13"]]
                       :name "puppetserver"}
              :uberjar {:aot [puppetlabs.trapperkeeper.main]
                        :dependencies [[puppetlabs/trapperkeeper-webserver-jetty9 ~tk-jetty9-version]]}


Bump cavia version up to 0.4.0

Bump cavia version up to 0.4.0

--- project.clj
+++ project.clj
@@ -15,7 +15,7 @@
   :plugins [[lein-midje "3.2.1"]]
   :profiles {:dev {:dependencies [[org.clojure/clojure "1.8.0"]
                                   [midje "1.8.3" :exclusions [slingshot]]
-                                  [cavia "0.3.1"]]
+                                  [cavia "0.4.0"]]
                    :plugins [[lein-bin "0.3.5"]
                              [lein-codox "0.10.3"]
                              [lein-marginalia "0.9.0"]]


Version bumb for next development.

Version bumb for next development.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject velin "0.0.2"
+(defproject velin "0.0.3-SNAPSHOT"
   :description "FIXME: write description"
   :url ""
   :license {:name "Eclipse Public License"


Update dependencies.

Update dependencies.

--- project.clj
+++ project.clj
@@ -14,12 +14,12 @@

   :dependencies [
     ;; Server-side
-    [org.clojure/clojure "1.9.0-alpha7"] ; Lisp on the JVM http://clojure.org/documentation
+    [org.clojure/clojure "1.9.0-alpha10"] ; Lisp on the JVM http://clojure.org/documentation
     [org.clojure/core.match "0.3.0-alpha4"] ; Erlang-esque pattern matching https://github.com/clojure/core.match
     [defun "0.3.0-alapha"] ; Erlang-esque pattern matching for Clojure functions https://github.com/killme2008/defun
-    [ring/ring-devel "1.6.0-beta1"] ; Web application library https://github.com/ring-clojure/ring
-    [ring/ring-core "1.6.0-beta1"] ; Web application library https://github.com/ring-clojure/ring
-    [http-kit "2.2.0-beta1"] ; Development Web server http://http-kit.org/
+    [ring/ring-devel "1.6.0-beta4"] ; Web application library https://github.com/ring-clojure/ring
+    [ring/ring-core "1.6.0-beta4"] ; Web application library https://github.com/ring-clojure/ring
+    [http-kit "2.2.0"] ; Development Web server http://http-kit.org/
     [compojure "1.5.1"] ; Web routing https://github.com/weavejester/compojure
     [jumblerg/ring.middleware.cors "1.0.1"] ; CORS library https://github.com/jumblerg/ring.middleware.cors
     [raven-clj "1.4.2"] ; Clojure interface to Sentry error reporting https://github.com/sethtrain/raven-clj
@@ -53,7 +53,7 @@
         :hot-reload "false"
       }
       :dependencies [
-        [midje "1.9.0-alpha2"] ; Example-based testing https://github.com/marick/Midje
+        [midje "1.9.0-alpha3"] ; Example-based testing https://github.com/marick/Midje
         [ring-mock "0.1.5"] ; Test Ring requests https://github.com/weavejester/ring-mock
       ]
       :plugins [


Version 2.1.1

Version 2.1.1

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (def jetty-version "9.4.4.v20170414")

-(defproject puppetlabs/trapperkeeper-webserver-jetty9 "2.1.1-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper-webserver-jetty9 "2.1.1"
   :description "A jetty9-based webserver implementation for use with the puppetlabs/trapperkeeper service framework."
   :url "https://github.com/puppetlabs/trapperkeeper-webserver-jetty9"
   :license {:name "Apache License, Version 2.0"


Set version to 0.1.0-SNAPSHOT

Set version to 0.1.0-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject funcool/futura "0.1.0-alpha1"
+(defproject funcool/futura "0.1.0-SNAPSHOT"
   :description "A basic building blocks for async programming."
   :url "https://github.com/funcool/futura"
   :license {:name "BSD (2 Clause)"


lein-release plugin: bumped version from 2.2.1 to 2.2.2-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject dda/dda-managed-vm "2.2.1"
+(defproject dda/dda-managed-vm "2.2.2-SNAPSHOT"
   :description "The managed vm desktop crate"
   :url "https://www.domaindrivenarchitecture.org"
   :license {:name "Apache License, Version 2.0"


added logging to standalone

added logging to standalone

--- project.clj
+++ project.clj
@@ -29,8 +29,7 @@
                     [ch.qos.logback/logback-classic "1.2.3"]
                     [org.slf4j/jcl-over-slf4j "1.8.0-beta0"]]
                    :plugins
-                   [[com.palletops/pallet-lein "0.8.0-alpha.1"]
-                    [lein-sub "0.3.0"]]
+                   [[lein-sub "0.3.0"]]
                    :leiningen/reply
                    {:dependencies [[org.slf4j/jcl-over-slf4j "1.8.0-beta0"]]
                     :exclusions [commons-logging]}}
@@ -41,5 +40,7 @@
                        :resource-paths ["uberjar/resources"]
                        :aot :all
                        :main dda.pallet.dda-managed-vm.main
-                       :dependencies [[org.clojure/tools.cli "0.3.5"]]}}
+                       :dependencies [[org.clojure/tools.cli "0.3.5"]
+                                      [ch.qos.logback/logback-classic "1.2.3"]
+                                      [org.slf4j/jcl-over-slf4j "1.8.0-beta0"]]}}
   :local-repo-classpath true)


Version 2.0.7-SNAPSHOT

Version 2.0.7-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject dda/dda-managed-ide "2.0.6"
+(defproject dda/dda-managed-ide "2.0.7-SNAPSHOT"
   :description "module to install and configure ide based on ubuntu vm."
   :url "https://www.domaindrivenarchitecture.org"
   :license {:name "Apache License, Version 2.0"


Updated dependencies

Updated dependencies

--- project.clj
+++ project.clj
@@ -24,7 +24,7 @@
                   [clojurewerkz/neocons                         "2.0.1"]
                   [ch.qos.logback/logback-classic               "1.1.2"]
                   [io.aviso/pretty                              "0.1.10"]
-                  [org.ow2.asm/asm                              "5.0.1"]
+                  [org.ow2.asm/asm                              "5.0.2"]
                   [net.java.truevfs/truevfs-kernel-impl         "0.10.6"]  ; Ugh TrueVFS' dependencies are crap
                   [net.java.truevfs/truevfs-access              "0.10.6"]
                   [net.java.truevfs/truevfs-driver-file         "0.10.6"]


lein-release plugin: bumped version from 0.7 to 0.8-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onix "0.7"
+(defproject onix "0.8-SNAPSHOT"
   :description "Onix service"
   :url "http://wikis.in.nokia.com/NokiaMusicArchitecture/Onix"


version 2.1.0

version 2.1.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject co.nclk/linen "2.1.0-SNAPSHOT"
+(defproject co.nclk/linen "2.1.0"
   :description "Implementation of an interpreter for flax, a domain specific
                language for modeling coordinated, distributed processes."
   :url "https://github.com/tjb1982/linen"
@@ -10,8 +10,8 @@
                  [stencil "0.5.0"]
                  [cheshire "5.6.3"]
                  [clj-ssh "0.5.14"]
-                 [co.nclk/clj-yaml "0.1.0-SNAPSHOT"]
-                 [co.nclk/flax "2.0.1-SNAPSHOT"]
+                 [co.nclk/clj-yaml "1.0.0"]
+                 [co.nclk/flax "2.0.1"]
                  ]
   :aot :all
   :main co.nclk.linen.core)


Update React to newer version than what reagent comes with

--- project.clj
+++ project.clj
@@ -27,7 +27,9 @@
                  [org.webjars/bootstrap "4.2.1"]
                  [org.webjars/font-awesome "5.6.3"]
                  [org.webjars/webjars-locator-jboss-vfs "0.1.0"]
-                 [reagent "0.8.1"]
+                 [reagent "0.8.1" :exclusions [cljsjs/react cljsjs/react-dom]]
+                 [cljsjs/react "16.9.0-0"]
+                 [cljsjs/react-dom "16.9.0-0"]
                  [reagent-utils "0.3.2"]
                  [ring-middleware-format "0.7.2"]
                  [ring-webjars "0.2.0"]


bumped lein-cljsbuild version

bumped lein-cljsbuild version


- exclusions

- exclusions

--- project.clj
+++ project.clj
@@ -28,7 +28,7 @@
                        [com.jakemccrary/lein-test-refresh "0.24.1"]
                        [me.raynes/fs "1.4.6"]
                        [lein-midje "3.2.2"]
-                       [midje "1.9.9" :exclusions [org.clojure/clojure]]]}}
+                       [midje "1.9.9"]]}}
   :lein-release {:build-uberjar true :deploy-via :lein-install}
   :assemble
     {:filesets {"" [["go.sh"]["go-gh.sh"]["gen-abc-prod.sh" :as "gen-abc.sh"]["README.md"]["LICENSE"]]


Back to snapshot

Back to snapshot

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject clojurewerkz/cassaforte "1.0.0-beta11"
+(defproject clojurewerkz/cassaforte "1.0.0-beta12-SNAPSHOT"
   :min-lein-version "2.0.0"
   :description "A Clojure client for Apache Cassandra"
   :url "http://github.com/clojurewerkz/cassaforte"


Upgrade to 0.8.5.

Upgrade to 0.8.5.

--- project.clj
+++ project.clj
@@ -1,9 +1,9 @@
-(defproject workshop "0.8.4"
+(defproject workshop "0.8.5"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.7.0"]
                  [org.clojure/core.async "0.2.374"]
-                 [org.onyxplatform/onyx "0.8.4"]
+                 [org.onyxplatform/onyx "0.8.5"]
                  [org.slf4j/slf4j-api "1.7.12"]
                  [org.slf4j/slf4j-nop "1.7.12"]]
   :profiles {:dev {:dependencies [[org.clojure/tools.namespace "0.2.10"]


DM + CW #139 - Add robert.hooke to dev dependencies

--- project.clj
+++ project.clj
@@ -54,7 +54,8 @@
                                   [org.seleniumhq.selenium/selenium-remote-driver "2.45.0"]
                                   [http-kit.fake "0.2.1"]
                                   [javax.servlet/servlet-api "2.5"]
-                                  [peridot "0.3.1"]]
+                                  [peridot "0.3.1"]
+                                  [robert/hooke "1.3.0"]]
                    :plugins [[lein-midje "3.1.3"]
                              [jonase/eastwood "0.2.1"]]
                    :ragtime {:migrations ragtime.sql.files/migrations


mark 0.2.0-alpha6

mark 0.2.0-alpha6

--- project.clj
+++ project.clj
@@ -3,7 +3,7 @@
 (cemerick.pomegranate.aether/register-wagon-factory!
   "http" #(org.apache.maven.wagon.providers.http.HttpWagon.))

-(defproject io.lacuna/bifurcan "0.2.0-alpha5"
+(defproject io.lacuna/bifurcan "0.2.0-alpha6"
   :java-source-paths ["src"]
   :dependencies []
   :test-selectors {:default   #(not


Update library versions.

Update library versions.

--- project.clj
+++ project.clj
@@ -1,10 +1,10 @@
-(defproject org.eamonn.funcgo/fgolib "0.2.3"
+(defproject org.eamonn.funcgo/fgolib "0.2.4"
   :description "Library that mimics the standard Go library"
   :url "http://funcgo.org"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
-  :dependencies [[org.clojure/clojure "1.5.1"]
-                 [org.eamonn.funcgo/funcgo-lein-plugin "0.2.5"]
-                 [midje "1.5.1" :scope "test"]]
+  :dependencies [[org.clojure/clojure "1.6.0"]
+                 [org.eamonn.funcgo/funcgo-lein-plugin "0.2.6"]
+                 [midje "1.6.3" :scope "test"]]
   :plugins [[lein-midje "3.1.1"]
-            [org.eamonn.funcgo/funcgo-lein-plugin "0.2.5"]])
+            [org.eamonn.funcgo/funcgo-lein-plugin "0.2.6"]])


Version 2.6.3

Version 2.6.3

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject dda/dda-managed-vm "2.6.3-SNAPSHOT"
+(defproject dda/dda-managed-vm "2.6.3"
   :description "The managed vm desktop crate"
   :url "https://www.domaindrivenarchitecture.org"
   :license {:name "Apache License, Version 2.0"


thelmuth/lexicase-vector-speedup + thelmuth/fix-levenshtein

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject lspector/clojush "1.3.35"
+(defproject lspector/clojush "1.3.36"
             :description "The Push programming language and the PushGP genetic
                           programming system implemented in Clojure.
                           See http://hampshire.edu/lspector/push.html"


prepare release

prepare release

--- project.clj
+++ project.clj
@@ -4,11 +4,11 @@
   :license {:name "Apache License, Version 2.0"
             :url "https://www.apache.org/licenses/LICENSE-2.0.html"}
   :dependencies [[org.clojure/clojure "1.7.0"]
-                 [dda/dda-pallet "0.5.5-SNAPSHOT"]
-                 [dda/dda-user-crate "0.6.2-SNAPSHOT"]
-                 [dda/dda-serverspec-crate "0.2.2-SNAPSHOT"]
-                 [dda/dda-git-crate "0.1.3-SNAPSHOT"]
-                 [dda/dda-backup-crate "0.6.1-SNAPSHOT"]
+                 [dda/dda-pallet "0.5.5"]
+                 [dda/dda-user-crate "0.6.2"]
+                 [dda/dda-serverspec-crate "0.2.2"]
+                 [dda/dda-git-crate "0.1.3"]
+                 [dda/dda-backup-crate "0.6.1"]
                  [keypin "0.7.1"]]
   :repositories [["snapshots" :clojars]
                  ["releases" :clojars]]


Rename deploy! target to deploy

Rename deploy! target to deploy

--- project.clj
+++ project.clj
@@ -72,4 +72,4 @@
                                           "cljsbuild" "test"]
                              "jtest" ["do" "cljx" "once," "test"]
                              "jstest" ["do" "cljx" "once," "cljsbuild" "test"]
-                             "deploy!" ["do" "clean," "cljx" "once," "deploy" "clojars"]}}})
+                             "deploy" ["do" "clean," "cljx" "once," "deploy" "clojars"]}}})


Update lwjgl dep

Update lwjgl dep

--- project.clj
+++ project.clj
@@ -6,24 +6,8 @@
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.clojure/core.async "0.3.465"]
                  ;[aaron-santos/lwjgl "3.0.0rc1"]
-                 [org.lwjgl/lwjgl"3.1.5"]
-                 [org.lwjgl/lwjgl"3.1.5" :classifier "natives-macos"]
-                 [org.lwjgl/lwjgl-opengl "3.1.5"]
-                 [org.lwjgl/lwjgl-opengl "3.1.5" :classifier "natives-linux"]
-                 [org.lwjgl/lwjgl-opengl "3.1.5" :classifier "natives-macos"]
-                 [org.lwjgl/lwjgl-opengl "3.1.5" :classifier "natives-windows"]
-                 [org.lwjgl/lwjgl-glfw "3.1.5"]
-                 [org.lwjgl/lwjgl-glfw "3.1.5" :classifier "natives-linux"]
-                 [org.lwjgl/lwjgl-glfw "3.1.5" :classifier "natives-macos"]
-                 [org.lwjgl/lwjgl-glfw "3.1.5" :classifier "natives-windows"]
-                 [org.lwjgl/lwjgl-stb "3.1.5"]
-                 [org.lwjgl/lwjgl-stb "3.1.5" :classifier "natives-linux"]
-                 [org.lwjgl/lwjgl-stb "3.1.5" :classifier "natives-macos"]
-                 [org.lwjgl/lwjgl-stb "3.1.5" :classifier "natives-windows"]
-                 [org.lwjgl/lwjgl-yoga "3.1.5"]
-                 [org.lwjgl/lwjgl-yoga "3.1.5" :classifier "natives-linux"]
-                 [org.lwjgl/lwjgl-yoga "3.1.5" :classifier "natives-macos"]
-                 [org.lwjgl/lwjgl-yoga "3.1.5" :classifier "natives-windows"]
+                 ^{:voom {:repo "https://github.com/rogerallen/hello_lwjgl" :branch "master"}}
+                 [hello_lwjgl "0.4.0"]
                  [commons-io/commons-io "2.5"]
                  [overtone/at-at "1.2.0"]
                  [aaron-santos/tinter "0.1.1-SNAPSHOT"]


Upgrade figwheel to latest version

Upgrade figwheel to latest version

--- project.clj
+++ project.clj
@@ -14,7 +14,7 @@
                  [prismatic/schema "1.1.3"]]

   :plugins [[lein-cljsbuild "1.1.2"]
-            [lein-figwheel "0.5.0-2"]
+            [lein-figwheel "0.5.9"]
             [lein-less "1.7.5"]
             [lein-doo "0.1.6"]
             [lein-kibit "0.1.2"]]


lein-release plugin: bumped version from 0.1.6 to 0.1.7-SNAPSHOT for next development cycle

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject lein-jslint "0.1.6"
+(defproject lein-jslint "0.1.7-SNAPSHOT"
   :description "A Leiningen plugin for running JS code through JSLint."
   :url "https://github.com/vbauer/lein-jslint"
   :license {:name "Eclipse Public License"


bump to SNAPSHOT

bump to SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject datasplash "0.5.1"
+(defproject datasplash "0.5.2-SNAPSHOT"
   :description "Clojure API for a more dynamic Google Cloud Dataflow"
   :url "https://github.com/ngrunwald/datasplash"
   :license {:name "Eclipse Public License"


Version 2.27.1 [ci skip]

Version 2.27.1 [ci skip]

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject clojush "2.27.0-1-SNAPSHOT"
+(defproject clojush "2.27.1"
   :description "The Push programming language and the PushGP genetic programming
                 system implemented in Clojure. See http://pushlanguage.com"
   :license {:name "Eclipse Public License"


updates server deps

updates server deps

--- project.clj
+++ project.clj
@@ -3,9 +3,9 @@
   :url "https://github.com/build-canaries/nevergreen"
   :dependencies [[org.clojure/clojure "1.10.1"]
                  [ring "1.8.1" :exclusions [org.eclipse.jetty/jetty-server]]
-                 [org.eclipse.jetty/jetty-server "9.4.28.v20200408"]
+                 [org.eclipse.jetty/jetty-server "9.4.29.v20200521"]
                  [compojure "1.6.1" :exclusions [ring/ring-codec]]
-                 [environ "1.1.0"]
+                 [environ "1.2.0"]
                  [cheshire "5.10.0"]
                  [clj-cctray "2.0.0"]
                  [clj-http "3.10.1"]


Back to SNAPSHOT

Back to SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject re-frame "0.10.3-alpha2"
+(defproject re-frame "0.10.3-SNAPSHOT"
   :description  "A Clojurescript MVC-like Framework For Writing SPAs Using Reagent."
   :url          "https://github.com/Day8/re-frame.git"
   :license      {:name "MIT"}


Use java.specification.version for version check

java.version on some platforms differs from what Puppetserver's project file tries to parse.
java.specification.version is however guaranteed to match the expected format.

See https://github.com/puppetlabs/puppetserver/pull/2539 for the same fix.

--- project.clj
+++ project.clj
@@ -50,7 +50,7 @@
                     ;; this only ensures that we run with the proper profiles
                     ;; during testing. This JVM opt will be set in the puppet module
                     ;; that sets up the JVM classpaths during installation.
-                    :jvm-opts ~(let [version (System/getProperty "java.version")
+                    :jvm-opts ~(let [version (System/getProperty "java.specification.version")
                                      [major minor _] (clojure.string/split version #"\.")
                                      unsupported-ex (ex-info "Unsupported major Java version. Expects 8 or 11."
                                                       {:major major


Removed austin

Removed austin

--- project.clj
+++ project.clj
@@ -25,8 +25,7 @@
                                 :pretty-print true}}}}
   :ring {:handler skidskytte.handler/app}
   :profiles {:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
-                                  [ring-mock "0.1.5"]]
-                   :plugins [[com.cemerick/austin "0.1.5"]]}
+                                  [ring-mock "0.1.5"]]}
              :uberjar {:aot :all
                        :omit-source true
                        :cljsbuild {:jar true}}}


Release version 0.8.0.7.

Release version 0.8.0.7.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.onyxplatform/onyx-metrics "0.8.0.6-SNAPSHOT"
+(defproject org.onyxplatform/onyx-metrics "0.8.0.7"
   :description "Instrument Onyx workflows"
   :url "https://github.com/MichaelDrogalis/onyx"
   :license {:name "Eclipse Public License"


Prepare for next release cycle.

Prepare for next release cycle.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.onyxplatform/onyx-kafka "0.10.0.0-beta5"
+(defproject org.onyxplatform/onyx-kafka "0.10.0.0-SNAPSHOT"
   :description "Onyx plugin for Kafka"
   :url "https://github.com/onyx-platform/onyx-kafka"
   :license {:name "Eclipse Public License"


prep for clojars

prep for clojars

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject backtype/dfs-datastores "1.1.1-SNAPSHOT"
+(defproject org.clojars.sorenmacbeth/dfs-datastores "1.1.1-SNAPSHOT"
   :source-path "src/clj"
   :test-path "test/clj"
   :java-source-path "src/jvm"


Release 5.10.0

Release 5.10.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject cheshire "5.9.1-SNAPSHOT"
+(defproject cheshire "5.10.0"
   :description "JSON and JSON SMILE encoding, fast."
   :url "https://github.com/dakrone/cheshire"
   :license {:name "The MIT License"


(maint) Add i18n library and plugin

(maint) Add i18n library and plugin

--- project.clj
+++ project.clj
@@ -44,7 +44,8 @@
                  [puppetlabs/trapperkeeper ~tk-version]
                  [puppetlabs/trapperkeeper-scheduler "0.0.1"]
                  [puppetlabs/ring-middleware "1.0.0"]
-                 [puppetlabs/comidi "0.3.1"]]
+                 [puppetlabs/comidi "0.3.1"]
+                 [puppetlabs/i18n "0.4.3"]]

   :lein-release {:scm         :git
                  :deploy-via  :lein-deploy}
@@ -65,4 +66,5 @@
                                   [puppetlabs/trapperkeeper-webserver-jetty9 "1.5.6"]
                                   [puppetlabs/kitchensink ~ks-version :classifier "test"]]}}

-  :plugins [[lein-release "1.0.5"]])
+  :plugins [[lein-release "1.0.5" :exclusions [org.clojure/clojure]]
+            [puppetlabs/i18n "0.4.3"]])


Prismatic schema bump broke CI build - reverting

--- project.clj
+++ project.clj
@@ -14,7 +14,7 @@
                  [org.clojure/clojure "1.8.0"]
                  [proto-repl "0.3.1"]
                  [clansi "1.0.0"]
-                 [prismatic/schema "1.1.7"]
+                 [prismatic/schema "1.1.6"]
                  [com.taoensso/timbre "4.10.0"]
                  [org.clojure/tools.namespace "0.2.11"]]
   :plugins


Bump to 0.7.0.7-SNAPSHOT

Bump to 0.7.0.7-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.onyxplatform/onyx-datomic "0.7.0.6"
+(defproject org.onyxplatform/onyx-datomic "0.7.0.7-SNAPSHOT"
   :description "Onyx plugin for Datomic"
   :url "https://github.com/MichaelDrogalis/onyx-datomic"
   :license {:name "Eclipse Public License"


remove core.match and jcl-over-slf4j

remove core.match and jcl-over-slf4j

--- project.clj
+++ project.clj
@@ -10,13 +10,11 @@
   :dependencies
   [[org.clojure/clojure        "1.6.0"]
    [org.clojure/core.async     "0.1.346.0-17112a-alpha"]
-   [org.clojure/core.match     "0.2.1"]
    [org.clojure/tools.logging  "0.3.1"]
    [org.clojure/algo.generic   "0.1.2"]

    [camel-snake-kebab           "0.2.5"]

-   [org.slf4j/jcl-over-slf4j   "1.7.7"]
    [org.slf4j/slf4j-log4j12    "1.7.5"]
    [log4j/log4j                "1.2.17"
     :exclusions [javax.mail/mail


just keep one set of secrets

just keep one set of secrets

--- project.clj
+++ project.clj
@@ -3,14 +3,12 @@
   :url "http://example.com/FIXME"
   :license {:name "Eclipse Public License"
             :url  "http://www.eclipse.org/legal/epl-v10.html"}
-  :profiles {:server [:server-secrets :dev]
-             :client [:client-secrets :dev]
-             :dev {:source-paths ["dev"]
-                   :dependencies [[org.clojure/tools.namespace "0.2.11"]
-                                  [figwheel-sidecar "0.5.8" :scope "test"]
-                                  [binaryage/devtools "0.8.2"]
-                                  [com.cemerick/piggieback "0.2.1"]]
-                   :plugins [[lein-environ "1.1.0"]]}}
+  :profiles {:dev [:dev-secrets {:source-paths ["dev"]
+                                 :dependencies [[org.clojure/tools.namespace "0.2.11"]
+                                                [figwheel-sidecar "0.5.8" :scope "test"]
+                                                [binaryage/devtools "0.8.2"]
+                                                [com.cemerick/piggieback "0.2.1"]]
+                                 :plugins [[lein-environ "1.1.0"]]}]}
   :source-paths ["src/clj"]
   :main tictag.main
   :repl-options {:init-ns user :nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}


no changes

no changes

--- project.clj
+++ project.clj
@@ -1,5 +1,9 @@
 (defproject org.shark8me/tfevent-sink "0.1.3-SNAPSHOT"
+<<<<<<< Updated upstream
   :description "Enables writing events from Clojure in Tensorflow format"
+=======
+  :description "FIXME: write description"
+>>>>>>> Stashed changes
   :url "http://example.com/FIXME"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}


bump version, change location of immutant init

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.vlacs/traveler "0.2.9"
+(defproject org.vlacs/traveler "0.2.10"
   :description "Library that controls storage and management of user data"
   :url "http://vlacs.org"
   :license {:name "Eclipse Public License"
@@ -27,7 +27,7 @@

   :pedantic? :error

-  :immutant {:init traveler.core/init
+  :immutant {:init traveler.system/init
              :resolve-dependencies true
              :context-path "/"}


bump version

bump version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject karma-reporter "0.2.0"
+(defproject karma-reporter "0.3.0"

   :description "A plugin for running clojurescript tests with Karma."


Bump version

Bump version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject foreclojure "1.1.2"
+(defproject foreclojure "1.1.3"
   :description "4clojure - a website for lisp beginners"
   :dependencies [[clojure "1.2.1"]
                  [clojure-contrib "1.2.0"]


fixed exclusions.

fixed exclusions.

--- project.clj
+++ project.clj
@@ -12,10 +12,10 @@
                  [clj-http "0.7.8"]
                  [commons-codec "1.8"]
                  [commons-logging "1.1.3"]]
+  :exclusions [org.clojure/clojure]
   :repositories  {"sonatype-oss-public" "https://oss.sonatype.org/content/groups/public/"}
   :profiles {:dev {:dependencies [[midje "1.6.0" :exclusions [clj-time commons-codec]]]
-                   :plugins [[lein-midje "3.1.3"]]
-                   :exclusions [org.clojure/clojure]}
+                   :plugins [[lein-midje "3.1.3"]]}
              :1.4 {:dependencies [[org.clojure/clojure "1.4.0"]]}
              :1.5 {:dependencies [[org.clojure/clojure "1.5.1"]]}
              :1.6 {:dependencies [[org.clojure/clojure "1.6.0-master-SNAPSHOT"]]}}


Update dependencies.

Update dependencies.

--- project.clj
+++ project.clj
@@ -10,22 +10,22 @@
   :profiles {:dev {:source-paths ["dev"]}}

   :dependencies [[org.clojure/clojure "1.8.0" :scope "provided"]
-                 [org.clojure/clojurescript "1.8.40" :scope "provided"]
-                 [figwheel-sidecar "0.5.2" :scope "test"]
+                 [org.clojure/clojurescript "1.8.51" :scope "provided"]
+                 [figwheel-sidecar "0.5.3-1" :scope "test"]

                  ;; runtime
                  [com.cognitect/transit-cljs "0.8.237"]
-                 [rum "0.8.1"]
-                 [cljsjs/react "15.0.1-1"]
-                 [cljsjs/react-dom "15.0.1-1"]
+                 [rum "0.8.3"]
+                 [cljsjs/react "15.0.2-0"]
+                 [cljsjs/react-dom "15.0.2-0"]
                  [cljsjs/moment "2.10.6-4"]
                  [funcool/struct "0.1.0"]
                  [funcool/lentes "1.0.1"]
-                 [funcool/httpurr "0.6.0-SNAPSHOT"]
+                 [funcool/httpurr "0.6.0"]
                  [funcool/promesa "1.1.1"]
-                 [funcool/beicon "1.2.0"]
+                 [funcool/beicon "1.3.0"]
                  [funcool/cuerdas "0.7.2"]
-                 [bidi "2.0.7"]]
+                 [bidi "2.0.9"]]
   :plugins [[lein-ancient "0.6.7"]]
   :clean-targets ^{:protect false} ["resources/public/js" "target"]
   )


jammin should be in plugins.

jammin should be in plugins.

--- project.clj
+++ project.clj
@@ -25,9 +25,9 @@
                                   [com.gfredericks/test.chuck "0.1.16"]
                                   [org.clojure/data.generators "0.1.2"]
                                   [org.clojure/tools.nrepl "0.2.3"]
-                                  [lein-jammin "0.1.1"]
                                   [yeller-timbre-appender "0.4.1"]]
                    :plugins [[lein-midje "3.1.1"]
+                             [lein-jammin "0.1.1"]
                              [codox "0.8.8"]]}
              :circle-ci {:jvm-opts ["-Xmx2500M"
                                     "-XX:+UnlockCommercialFeatures"


Update libraries

Update libraries

--- project.clj
+++ project.clj
@@ -25,11 +25,10 @@
                                lein-typed
                                play-clj/lein-template]]
                  [org.clojure/clojure "1.6.0"]
-                 [org.clojure/core.logic "0.8.3"]
-                 [org.clojure/tools.reader "0.8.9"]
+                 [org.clojure/core.logic "0.8.9"]
+                 [org.clojure/tools.reader "0.8.10"]
                  [play-clj "0.4.1"]
                  [play-clj.net "0.1.2"]
-                 [pldb "0.1.5"]
                  [seesaw "1.4.4"]]
   :resource-paths ["resources"]
   :source-paths ["src/clojure"]


Upgraded datatype dep to get newest core.matrxi.

--- project.clj
+++ project.clj
@@ -4,7 +4,7 @@
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.9.0-alpha17"]
-                 [thinktopic/think.datatype "0.3.16"]
+                 [thinktopic/think.datatype "0.3.17"]
                  [net.mikera/imagez "0.12.0"]]

   :source-paths ["src/clj" "src/cljc"]


Release 0.10.2.

Release 0.10.2.

--- project.clj
+++ project.clj
@@ -6,7 +6,7 @@
 ;;   the terms of this license.
 ;;   You must not remove this notice, or any other, from this software.

-(defproject uncomplicate/clojurecl "0.10.2-SNAPSHOT"
+(defproject uncomplicate/clojurecl "0.10.2"
   :description "ClojureCL is a Clojure library for parallel computations with OpenCL."
   :url "https://github.com/uncomplicate/clojurecl"
   :scm {:name "git"


Upgrade aero

Upgrade aero

--- project.clj
+++ project.clj
@@ -11,7 +11,7 @@
                  [org.onyxplatform/onyx-seq "0.8.8.0"]

                  [cheshire "5.5.0"]
-                 [aero "0.1.3"]
+                 [aero "0.2.0"]
                  [org.clojure/tools.cli "0.3.3"]
                  [mysql/mysql-connector-java "5.1.18"]


Temporarily roll back to previous muon-clojure version due to problems with avro

--- project.clj
+++ project.clj
@@ -35,7 +35,7 @@
                                io.muoncore/muon-transport-amqp
                                io.muoncore/muon-discovery-amqp]]
                  [tranchis/muon-schemas "0.1.9"]
-                 [io.muoncore/muon-clojure "7.2.9"
+                 [io.muoncore/muon-clojure "7.2.4"
                   :exclusions [org.clojure/tools.reader
                                com.google.guava/guava]]
                  [prismatic/schema "1.1.3"]


Added clojars as the deploy repo.

Added clojars as the deploy repo.

--- project.clj
+++ project.clj
@@ -3,4 +3,5 @@
   :url "http://github.com/wiseman/clj-pid"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
+  :deploy-repositories [["releases" :clojars]]
   :dependencies [[org.clojure/clojure "1.8.0"]])


mark release version 0.9.3

mark release version 0.9.3

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject fudje "0.9.3-SNAPSHOT"
+(defproject fudje "0.9.3"
   :description "A small unit-testing library heavily inspired by midje."
   :url "https://github.com/jimpil/fudje"
   :license {:name "Eclipse Public License"


Release version 0.1.0.

Release version 0.1.0.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject org.platypope/letterpress "0.1.0-SNAPSHOT"
+(defproject org.platypope/letterpress "0.1.0"
   :description "Locally-configurable Clojure data printers."
   :url "https://github.com/llasram/letterpress"
   :license {:name "Eclipse Public License"


the "inputs" structure is now located inside "submittedFiles"

--- src/cljs/org/broadinstitute/firecloud_ui/page/workspace/monitor/workflow_details.cljs
+++ src/cljs/org/broadinstitute/firecloud_ui/page/workspace/monitor/workflow_details.cljs
@@ -127,7 +127,7 @@
           inputs (first (first (workflow "calls")))
           input-names (string/split inputs ".")
           workflow-name (first input-names)]
-    (create-field "Workflow ID"
+    (create-field "Workflow ID"
                   (style/create-link {:text (workflow "id")
                                       :target "_blank"
                                       :style {:color "-webkit-link" :textDecoration "underline"}
@@ -142,7 +142,7 @@
       (create-field "Started" (moncommon/render-date (workflow "start"))))
     (when (workflow "end")
       (create-field "Ended" (moncommon/render-date (workflow "end"))))
-    [IODetail {:label "Inputs" :data (workflow "inputs")}]
+    [IODetail {:label "Inputs" :data (utils/parse-json-string (get-in workflow ["submittedFiles", "inputs"]))}]
     [IODetail {:label "Outputs" :data (workflow "outputs")}]
     [:div {:style {:whiteSpace "nowrap" :marginRight "0.5em"}}
      (let [wlogurl (str "gs://" bucketName "/" submission-id "/workflow.logs/workflow."
@@ -168,7 +168,7 @@
          (not (:success? server-response))
          (style/create-server-error-message (:response server-response))
          :else
-         (render-workflow-detail (:response server-response) (:raw-response server-response)
+         (render-workflow-detail (:response server-response) (:raw-response server-response)
                                  (:workflow-name props) (:submission-id props) (:bucketName props)))))
    :component-did-mount
    (fn [{:keys [props state]}]


title deriving improved

title deriving improved

--- src/NoteHub/api.clj
+++ src/NoteHub/api.clj
@@ -37,9 +37,8 @@
   (print-str year month day title))

 (defn derive-title [md-text]
-  (apply str
-         (remove #{\# \_ \*}
-                 (first (split-lines md-text)))))
+   (sreplace (first (split-lines md-text))
+             #"(#+|_|\*+|<.*?>)" ""))

 (defn get-date
   "Returns today's date"


review changes

review changes

--- src/clj/org/openforis/ceo/db/projects.clj
+++ src/clj/org/openforis/ceo/db/projects.clj
@@ -360,13 +360,12 @@
           (seq header-diff)
           (init-throw (str "The required header field(s) " (str/join ", " header-diff) " are missing."))

-          (every? (fn [header]
-                    (or (re-matches #"^[a-zA-Z_][a-zA-Z0-9_]*$" header)
-                        (init-throw (str "The CSV column \"" header "\" is invalid."))))
-                  header-set)
-          (do
-            (spit ext-file (str/replace-first data header-row (str/join ", " headers)))
-            (type-columns headers))))
+          :else
+          (if-let [invalid-headers (seq (remove #(re-matches #"^[a-zA-Z_][a-zA-Z0-9_]*$" %) headers))]
+            (init-throw (str "One or more CSV columns are invalid: " (str/join ", " invalid-headers)))
+            (do
+              (spit ext-file (str/replace-first data header-row (str/join ", " headers)))
+              (type-columns headers)))))
       (init-throw "CSV file contains no rows of data."))))

 (defn- load-external-data [distribution project-id ext-file type must-include]


fixed regression that prevented orthologs from expanding properly in the heatmap

--- src/cljs/gointermod/heatmap/handlers.cljs
+++ src/cljs/gointermod/heatmap/handlers.cljs
@@ -119,10 +119,7 @@
   "helper to expand the data for a specific organism from organism level aggregation to go-term level aggregation.
   Returns the ortholog-level results for the organism"
   [db organism]
-  (let [active-filter (re-frame/subscribe [:active-filter])
-        go-terms (:headers (:heatmap db))
-        aggregate-results (:aggregate-results (:heatmap db))]
-    (first (vals (aggregate-orthologs (organism (:multi-mine-results db)) true)))))
+    (first (vals (aggregate-orthologs (organism (:multi-mine-results db)) false))))

 (re-frame/register-handler


Small fix

Small fix

--- src/cljs/salava/badge/ui/endorsement.cljs
+++ src/cljs/salava/badge/ui/endorsement.cljs
@@ -675,7 +675,7 @@
   [:div
    [m/modal-window]
    [:div#badge-stats
-    (if (or (seq @(cursor state [:received]) ) (seq @(cursor state [:given])) (pos? pending-requests-count))
+    (if (or (seq @(cursor state [:received]) ) (seq @(cursor state [:given])) (pos? pending-requests-count) (pos? sent-requests-count))
       [:div
        [:div.form-horizontal {:id "grid-filter"}
         [g/grid-search-field (t :core/Search ":")  "endorsementsearch" (t :badge/Filterbybadgenameoruser) :search state]


[Change] variable name sample to train

[Change] variable name sample to train

--- src/clj_elm/core.clj
+++ src/clj_elm/core.clj
@@ -149,18 +149,18 @@

 (defn _cross-validate
   ([dataset a b L]
-   {:pre [(instance? DataSet dataset) (integer? a) (integer? b) (> b a)]}
-   (let [test (DataSet. (data/extract-list (:classes dataset) a b)
-                        (data/extract-list (:features dataset) a b))
-         sample (DataSet. (data/remove-list (:classes dataset) a b)
-                          (data/remove-list (:features dataset) a b))
+   {:pre [(instance? DataSet @dataset) (integer? a) (integer? b) (> b a)]}
+   (let [test (DataSet. (data/extract-list (:classes @dataset) a b)
+                        (data/extract-list (:features @dataset) a b))
+         train (DataSet. (data/remove-list (:classes @dataset) a b)
+                         (data/remove-list (:features @dataset) a b))
          exp (atom {:num (str "Data " a " to " b)
-                    :length-train-cover (select-count #(= % -1) (:classes sample))
+                    :length-train-cover (select-count #(= % -1) (:classes train))
                     :length-test-cover (select-count #(= % -1) (:classes test))
-                    :length-train-stego (select-count #(= % 1) (:classes sample))
+                    :length-train-stego (select-count #(= % 1) (:classes train))
                     :length-test-stego (select-count #(= % 1) (:classes test))
                     :Accuracy 0.0 :Recall 0.0 :Precision 0.0 :TP 0 :FP 0 :TN 0 :FN 0 :L L})]
-     (-> (train-model sample L)
+     (-> (train-model train L)
          (#(pmap (fn [feature] (predict % feature)) (:features test)))
          (#(evaluation (:classes test) % exp))))))

@@ -178,8 +178,8 @@
 (defn cross-validate
   ([dataset L k]
    {:pre [(instance? DataSet dataset) (integer? k) (integer? L)]}
-   (let [norm-dataset (DataSet. (:classes dataset) (data/normalize (:features dataset)))
-         numd (count (:classes norm-dataset)) ; number of data
+   (let [norm-dataset (atom (DataSet. (:classes dataset) (data/normalize (:features dataset))))
+         numd (count (:classes @norm-dataset)) ; number of data
          groupn (quot numd k)]                ; number of one group's element
      (->> (take k (iterate #(+ % groupn) 0))
           (pmap #(let [eva (_cross-validate norm-dataset % (+ % (dec groupn)) L)]


[Fix] :gen-class and using command line

[Fix] :gen-class and using command line

--- src/clj_elm/core.clj
+++ src/clj_elm/core.clj
@@ -1,11 +1,11 @@
 (ns clj-elm.core
-  (:require [clojure.repl :refer [doc]]
-            [clj-elm.data :refer [read-dataset normalize]]
+  (:require [clj-elm.data :refer [read-dataset normalize]]
             [clj-elm.data :as data]
             [clj-elm.util :refer :all]
             [incanter.core :as c :exclude [update]]
             [clojure.core.match :refer [match]])
-  (:import [clj_elm.data DataSet]))
+  (:import [clj_elm.data DataSet])
+  (:gen-class))

 (defn sign
   "The signum function for a real number x."
@@ -189,15 +189,17 @@
           (* (/ 1 k))))))

-(defn -main []
-  (printfl "Start exp\n")
-  (def dataset (atom (read-dataset "data/australian.csv" 14 :header true)))
-  (printfl "Fin read-data outguess_all_0.0.csv\n")
-  (def datasets (atom (read-dataset "data/australian.csv" 14 :header true)))
-  (printfl "Fin read-data outguess_all_1.0.csv\n")
-  (reset! dataset (data/concat-dataset @dataset @datasets))
-  (printfl "Fin data concat\n")
-  (reset! dataset (data/shuffle-dataset @dataset))
-  (printfl "Fin data shuffle\n")
-  (printfl (str (cross-validate @dataset 100 10) "\n"))
-  (System/exit 0))
+(defn -main [& args]
+  (if (= (count args) 6)
+    (do
+      (printfl "Start exp\n")
+      (def dataset (atom (read-dataset (first args) (read-string (second args)) :header (read-string (nth args 2)))))
+      (printfl "Fin read-data outguess_all_0.0.csv\n")
+      (def datasets (atom (read-dataset (nth args 3) (read-string (nth args 4)) :header (read-string (nth args 5)))))
+      (printfl "Fin read-data outguess_all_1.0.csv\n")
+      (reset! dataset (data/concat-dataset @dataset @datasets))
+      (printfl "Fin data concat\n")
+      (reset! dataset (data/shuffle-dataset @dataset))
+      (printfl "Fin data shuffle\n")
+      (printfl (str (cross-validate @dataset 100 10) "\n"))
+      (System/exit 0))))


Add svg rotation helper.

Add svg rotation helper.

--- src/cljx/c2/svg.cljx
+++ src/cljx/c2/svg.cljx
@@ -29,6 +29,12 @@
          [[x y]] (str "scale(" x "," y ")")
          [{:x x :y y}] (recur [x y])
          [s] (str "scale(" s ")")))
+
+(defn rotate
+  ([angle] (rotate angle [0 0]))
+  ([angle coordinates]
+     (let [[x y] (->xy coordinates)]
+       (str "rotate(" angle "," x "," y ")"))))

 (defn ^:cljs get-bounds


if DATABASE_URL is not defined, use default db to default rather than throwing exception

--- src/babel/korma.clj
+++ src/babel/korma.clj
@@ -16,7 +16,8 @@
         database-url (cond
                       (env :database-url)
                       (env :database-url)
-
+
+                      true default
                       true
                       (do
                         (log/error


interpose docstring

interpose docstring

--- language-adaptors/rxjava-clojure/src/main/clojure/rx/lang/clojure/core.clj
+++ language-adaptors/rxjava-clojure/src/main/clojure/rx/lang/clojure/core.clj
@@ -532,6 +532,11 @@
        (concat*)))

 (defn interpose
+  "Returns an Observable of the elements of xs separated by sep
+
+  See:
+    clojure.core/interpose
+  "
   [sep xs]
   (let [op (operator* (fn [o]
                         (let [first? (atom true)]


life => lives

life => lives


Add direct route for /defineit

Add direct route for /defineit

--- src/clj/whatishistory/handler.clj
+++ src/clj/whatishistory/handler.clj
@@ -36,6 +36,7 @@
 (defroutes routes
   (GET "/" [] loading-page)
   (GET "/about" [] loading-page)
+  (GET "/defineit" [] loading-page)

   (resources "/")
   (not-found "Not Found"))


use terra-ui url for alternate tos path

use terra-ui url for alternate tos path


reset in when there is a repl error

reset in when there is a repl error

--- src/cake/server.clj
+++ src/cake/server.clj
@@ -58,11 +58,15 @@
     (exit)
     (println "warning: refusing to quit because there are active connections")))

+(defn- reset-in []
+  (while (.ready *in*) (.read *in*)))
+
 (defn repl []
   (let [marker (read)]
     (try (swap! num-connections inc)
          (clojure.main/repl
           :init   #(in-ns 'user)
+          :caught #(do (reset-in) (clojure.main/repl-caught %))
           :prompt #(println (str marker (ns-name *ns*))))
          (finally (swap! num-connections dec)))))


using the AWS secret key as the encryption key

--- src/casper/core.clj
+++ src/casper/core.clj
@@ -5,7 +5,7 @@
   (:require
     [ casper.crypto :refer [encrypt decrypt encrypt-base64 decrypt-base64]]
     ;[ casper.db-ram :refer [insert-secret select-secret delete-secret now-seconds]]
-    [ casper.db :refer [insert-secret select-secret delete-secret now-seconds]]
+    [ casper.db :refer [insert-secret select-secret delete-secret now-seconds get-aws-key]]
     [charset-bytes.core :refer [utf8-bytes]]
     [compojure.handler :as handler]
     [compojure.route :as route]
@@ -34,7 +34,7 @@

 ; Encryption key - TBD needs improvement
 ;(def encryption-key (slurp "resources/encrypt-key.txt"))
-(def encryption-key "ewro[i80AE9MNGLQIW8L;ZXNG-=[kf ;lsks")
+(def encryption-key (get-aws-key "AWS_SECRET_KEY"))

 ; Create a unique URL consistent id
 (defn unique-key [] (digest/md5 (str (java.util.UUID/randomUUID))))


Well, check out difference between mine and fpins variant and you'll see that a sane human learns something new every day (like: try not to complicate matters - ever! :) )

--- src/fpinscala/purely_functional_state.clj
+++ src/fpinscala/purely_functional_state.clj
@@ -29,7 +29,15 @@
 (defn non-negative-int
   "Generates random integer between 0 and Int.maxValue (inclusive)"
   [rng]
-  (let [{next-int :n nxt-rng :nxt-rng} (rng)]
-    (if (> next-int Integer/MIN_VALUE)
-      (make-result (Math/abs ^int next-int) nxt-rng)
+  (let [{:keys [n nxt-rng]} (rng)]
+    (if (> n Integer/MIN_VALUE)
+      (make-result (Math/abs ^int n) nxt-rng)
       (make-result Integer/MAX_VALUE nxt-rng))))
+;fpins
+(defn non-negative-int-fpins
+  "FPINS variant of above function - haha - and I was thinking: Adding one is way too simple :)"
+  [rng]
+  (let [{:keys [n nxt-rng]} (rng)]
+    (if (< n 0)
+      (make-result (- (inc n)) nxt-rng)
+      (make-result n nxt-rng))))


Converting to a wider item capture.

Converting to a wider item capture.

Captures a larger div for the item in order to grab more than title and
link. Also want to grab price on the first pass, as well as availability
and notes.

--- src/az_wish/core.clj
+++ src/az_wish/core.clj
@@ -13,13 +13,34 @@
   (html/html-resource (java.net.URL. url)))

 (defn- items [dom]
-  (html/select dom [:div.a-fixed-left-grid :h5 :a]))
+  (html/select dom [(html/attr-contains :id "item_")]))

-(defn- item-title [link]
-  (clojure.string/trim (html/text link)))
+(defn- item-title [item]
+  (let [title (first (html/select item [:h5 :a]))]
+    (clojure.string/trim (html/text title))))

-(defn- item-link [link]
-  (str (az-link (re-find #"^[^?]*" (:href (:attrs link))))))
+(defn- item-link [item]
+  (let [title (first (html/select item [:h5 :a]))]
+    (str (az-link (re-find #"^[^?]*" (:href (:attrs title)))))))
+
+(defn- item-price [item]
+  (if-let [price-section (first (html/select item [:div.price-section :span]))]
+    (clojure.string/trim (html/text price-section))))
+
+(defn- item-availability [item]
+  (if-let [avail (html/text (first (html/select item [:span.itemAvailMessage])))]
+    avail))
+
+; Do I want to convert the availability into a contant? How best to track limited quantity?
+;;     (cond
+;;      (= "In Stock." avail) :in-stock
+;;      (= "Currently unavailable." avail) :unavailable
+;;      (re-matches #".*will be released.*" avail) :pre-order
+;;      (re-matches #"^Only .*" avail) :limited-supply
+;;      :else avail)))
+
+(defn- item-comment [item]
+  (html/text (first (html/select item [:span.g-comment-quote]))))

 (defn- item-pair [link]
   {:link (item-link link) :title (item-title link)})


fix typo

fix typo

--- src/babel/reader.clj
+++ src/babel/reader.clj
@@ -232,7 +232,7 @@
                          :source (first (map :source results))
                          :target-spec target-spec
                          :targets-with-roots (map (fn [result]
-                                                    {:target_root (:target_root result)
+                                                    {:target-root (:target_root result)
                                                      :target (:target result)})
                                                   results)
                          :targets (map :target results)}))))))))))


update namespace for sem-impl

update namespace for sem-impl

--- src/babel/writer.clj
+++ src/babel/writer.clj
@@ -1,7 +1,7 @@
 (ns babel.writer
   (:refer-clojure :exclude [get-in merge])
   (:require
-    [babel.lexiconfn :refer [sem-impl]]
+    [babel.encyclopedia :refer [sem-impl]]
     [babel.engine :as engine]
     [babel.korma :as korma]
     [babel.log :refer [log4j!]]


Correct timeout behavior

Correct timeout behavior

Bit of an interested race condition here. Previously, when we completed
a response, we would also close the timeout channel. Because of how
timeouts are implemented, it is possible for one timeout to be shared
across multiple 'timeout' calls. As a result, if two requests came in
very close together, one could force an early timeout in the other, by
closing its timeout channel.

I've corrected this behavior by removing the erroneous close.
Separately, I also changed from two parallel takes, to a single go +
alt!.

--- src/io/aviso/rook/jetty_async_adapter.clj
+++ src/io/aviso/rook/jetty_async_adapter.clj
@@ -51,6 +51,21 @@
       (l/errorf t "Unable to send asynchronous response %s to client."
                 (pretty-print-brief response)))))

+(defn- deliver-response [continuation response]
+  (l/debugf "Asynchronous response:%n%s" (pretty-print response))
+  (send-async-response continuation (or response {:status HttpServletResponse/SC_NOT_FOUND})))
+
+(defn- deliver-timeout [continuation request response-ch timeout-ms]
+  (close! response-ch)
+  (l/warnf "Request %s timed out after %,d ms."
+                            (utils/summarize-request request)
+                            timeout-ms)
+  (send-async-response continuation
+                       (->
+                         (utils/response HttpServletResponse/SC_GATEWAY_TIMEOUT
+                                         "Processing of request timed out.")
+                         (r/content-type "text/plain"))))
+
 (defn- wrap-with-continuation
   [handler timeout-ms]
   (fn [request]
@@ -62,31 +77,11 @@
             response-ch (-> request
                             (dissoc ::http-servlet-request ::http-servlet-response)
                             (assoc :timeout-ch timeout-ch)
-                            handler)
-            responded (atom false)]
-
-        (take! response-ch
-               (fn [response]
-                 (when (compare-and-set! responded false true)
-                   (l/debugf "Asynchronous response:%n%s" (pretty-print response))
-                   (close! timeout-ch)
-                   (send-async-response continuation (or response {:status HttpServletResponse/SC_NOT_FOUND})))))
-
-        (take! timeout-ch
-               (fn [_]
-                 (when (compare-and-set! responded false true)
-                   ;; At this point, no longer interested in the response should it ever arrive.
-                   (close! response-ch)
-
-                   (l/warnf "Request %s timed out after %,d ms."
-                            (utils/summarize-request request)
-                            timeout-ms)
-
-                   (send-async-response continuation
-                                        (->
-                                          (utils/response HttpServletResponse/SC_GATEWAY_TIMEOUT
-                                                          "Processing of request timed out.")
-                                          (r/content-type "text/plain"))))))))
+                            handler)]
+        (go
+         (alt!
+           response-ch ([resp _] (deliver-response continuation resp))
+           timeout-ch  ([_ _] (deliver-timeout continuation request response-ch timeout-ms))))))

     ;; Return nil right now, to prevent the proxy handler from sending an immediate response.
     nil))


Host on 0.0.0.0

Host on 0.0.0.0

--- src/cine/server.clj
+++ src/cine/server.clj
@@ -45,7 +45,6 @@
 (defn -main
   "Starting the immutant server"
   []
-
   (let [PORT (Integer/parseInt (or (System/getenv "PORT") "9003"))]  ;; getting PORT number form env-variable $PORT for deploying to heroku
-    (run app {:host "localhost" :port PORT})))
+    (run app {:host "0.0.0.0" :port PORT})))


Exposes expand operator

Exposes expand operator

--- src/beicon/core.cljs
+++ src/beicon/core.cljs
@@ -475,6 +475,12 @@
   [f seed ob]
   (let [merge-scan-fn (unchecked-get rxop "mergeScan")]
     (pipe ob (merge-scan-fn #(f %1 %2) seed))))
+
+(defn expand
+  "Recursively projects each source value to an Observable
+  which is merged in the output Observable."
+  [f ob]
+  (pipe ob (.expand ^js rxop f)))

 (defn with-latest
   "Merges the specified observable sequences into one observable


Add to-observable function.

Add to-observable function.

--- src/beicon/core.cljs
+++ src/beicon/core.cljs
@@ -414,6 +414,11 @@
    (on-value ob #(swap! a f %))
    a))

+(defn to-observable
+  [b]
+  {:pre [(bus? b)]}
+  (.asObservable b))
+
 (defn- sink-step
   [sink]
   (fn


Rename var for input line.

Rename var for input line.

--- src/cli4clj/cli.clj
+++ src/cli4clj/cli.clj
@@ -29,12 +29,12 @@
   []
   (let [rdr (doto (ConsoleReader.))]
     (fn [request-prompt request-exit]
-      (let [in (.readLine rdr)]
-        (if (not (blank? in))
-          (let [split-in (split in #"\s")]
+      (let [in-line (.readLine rdr)]
+        (if (not (blank? in-line))
+          (let [split-in (split in-line #"\s")]
             (if (symbol? (read-string (first split-in)))
               (reduce (fn [v in-part] (conj v (read-string in-part))) [] split-in)
-              (read-string in))))))))
+              (read-string in-line))))))))

 ;  "The created read function is largely based on the exisiting repl read function:
 ;   http://clojure.github.io/clojure/clojure.main-api.html#clojure.main/repl-read


Replacing concept of empty placement by empty-vertex

--- src/cljs/board.cljs
+++ src/cljs/board.cljs
@@ -1,40 +1,34 @@
 (ns board
   (:require [go.game :as game]))

-(defn- render-placement
-       [{:keys [color vertex line column]}]
-       [(keyword (clojure.string/join
-                   "."
-                   ["div"
-                    "stone"
-                    color
-                    (str "line-" line)
-                    (str "column-" column)]))])
+(defn- render-stone
+  [stone]
+  (let [vertex (second stone)
+        color (-> stone first name)
+        line (-> vertex first str)
+        column (-> vertex second str)]
+    [(keyword (clojure.string/join
+                "."
+                ["div"
+                 "stone"
+                 color
+                 (str "line-" line)
+                 (str "column-" column)]))]))

-(defn- render-ghost
-       [{:keys [color vertex line column]}]
-       [(keyword (clojure.string/join
-                   "."
-                   ["div"
-                    "stone"
-                    (str "ghost-" color)
-                    (str "line-" line)
-                    (str "column-" column)]))])
-
-(defn- placement [stone]
-      (let [vertex (second stone)]
-           {:color  (-> stone first name)
-            :vertex vertex
-            :line   (-> vertex first str)
-            :column (-> vertex second str)}))
-
+(defn- render-empty-vertex
+  [vertex]
+  [(keyword (clojure.string/join
+              "."
+              ["div"
+               "vertex"
+               (str "line-" (-> vertex first str))
+               (str "column-" (-> vertex second str))]))])

 (defn render
-      [game]
-      (let [configuration (game/configuration @game)
-            placements (map placement configuration)
-            empty-placements (map placement (game/empty-placements @game))]
-           [:div.board
-            (concat
-              (mapv render-placement placements)
-              (mapv render-ghost empty-placements))]))+  [game]
+  (let [configuration (game/configuration @game)
+        empty-vertices (game/empty-vertices @game)]
+    [:div.board
+     (concat
+       (mapv render-stone configuration)
+       (mapv render-empty-vertex empty-vertices))]))


add project.context config option for overriding the default context

--- src/cake/project.clj
+++ src/cake/project.clj
@@ -134,7 +134,9 @@
                :version          version
                :name             (or (:name opts) artifact)
                :aot              (or (:aot opts) (:namespaces opts))
-               :context          (symbol (or (:context opts) "dev"))
+               :context          (symbol (or (get *config* "project.context")
+                                             (:context opts)
+                                             "dev"))
                :jar-name         (or (:jar-name opts) artifact-version)
                :war-name         (or (:war-name opts) artifact-version)
                :uberjar-name     (or (:uberjar-name opts) (str artifact-version "-standalone"))


Added experimental version of all-closed-sets-in-parallel

Signed-off-by: Daniel Borchmann <25857343a15bf1edafebc2912e82ecf775c585c1@mailbox.tu-dresden.de>

--- src/conexp/base.clj
+++ src/conexp/base.clj
@@ -136,6 +136,39 @@

 ;; parallel NextClosure?

+(defn successive-closures
+  "Part of ParallelNextClosure (experimental): Creates a sequence of
+  increasing intents, starting with (vec (clop #{})), ending
+  with (vec (clop G)). Needed to partition the search space for
+  NextClosure."
+  [G clop]
+  (let [runner (fn runner [next-seq rest-seq]
+		 (if (empty? rest-seq)
+		   nil
+		   (lazy-seq
+		     (let [next-set (set next-seq)
+			   closure (clop (conj next-set (first rest-seq)))
+			   rest-seq (filter #(not (contains? closure %)) rest-seq)
+			   ordered-closure (reduce conj next-seq (filter #(not (contains? next-set %))
+									 closure))]
+		       (cons ordered-closure
+			     (runner ordered-closure rest-seq))))))]
+    (lazy-seq
+      (let [start (vec (clop #{}))]
+	(cons start (runner start G))))))
+
+(defn all-closed-sets-in-parallel
+  "Part of ParallelNextClosure (experimental): Computes closures of
+  clop on G in parallel, partition of search space is not very good by
+  now."
+  [G clop]
+  (let [intervals (successive-closures G clop)]
+    (reduce concat
+	    (list (clop #{}))
+	    (pmap #(rest (all-closed-sets (reverse %1) clop (set %2)))
+		  (rest intervals)
+		  intervals))))
+
 ;;; Common Math Algorithms

 (defn subsets


Improve docstring of host-up?

Improve docstring of host-up?

--- src/clj/ufo/ping.clj
+++ src/clj/ufo/ping.clj
@@ -17,7 +17,9 @@
 (defn host-up?
   ";; parallel execution FTW!
   (pmap (fn [{:keys [host port] :as prm}]
-                        (host-up? (conj prm {:timeout 500}))))"
+                        (host-up? (conj prm {:timeout 500})))
+  [{:host \"www.google.com\" :port 80}
+])"
   [{:keys [host timeout port] :as prm}]
   (conj prm
         (let [sock-addr (java.net.InetSocketAddress. host (Integer. port))


fix typo

fix typo

--- src/cljam/io/bed.clj
+++ src/cljam/io/bed.clj
@@ -152,7 +152,7 @@
 (defn- normalize
   "Normalize BED fields.
   BED fields are stored in format: 0-origin and inclusive-start / exclusive-end.
-  This function converts the coordinate into cljam style: 1-origin and inclusice-start / inclusive-end."
+  This function converts the coordinate into cljam style: 1-origin and inclusive-start / inclusive-end."
   [m]
   (-> m
       (update :chr chr/normalize-chromosome-key)


Fall/Winter Eventbrite link

Fall/Winter Eventbrite link

--- src/main/cljs/clojurebridgemn/client.cljs
+++ src/main/cljs/clojurebridgemn/client.cljs
@@ -586,9 +586,9 @@
     [:div.small.center "Free, beginner-friendly Clojure programming workshops for women"
      [:br]
      [:br]
-     ;; [:i [:a {:href "http://www.eventbrite.com/e/clojurebridge-mn-fall-2015-tickets-18237438670"} "Sign up now"]]
-     ;; " for our fall workshop September 11-12!"
-     "Save the date! Our next ClojureBridgeMN workshop is scheduled for 11/13-14"
+     [:i [:a {:href "https://www.eventbrite.com/e/clojurebridge-mn-fallwinter-2015-tickets-19159690149"} "Sign up now"]]
+      " for our Fall/Winter workshop November 13-14!"
+     ;; "Save the date! Our next ClojureBridgeMN workshop is scheduled for 11/13-14"
      ]
     }
    :logos
@@ -796,7 +796,9 @@
    {:debug
     [:div
      [:br]
-     "Save the date! Our next ClojureBridgeMN workshop is scheduled for 11/13-14"
+     [:i [:a {:href "https://www.eventbrite.com/e/clojurebridge-mn-fallwinter-2015-tickets-19159690149"} "Sign up now"]]
+      " for our Fall/Winter workshop November 13-14!"
+     ;; "Save the date! Our next ClojureBridgeMN workshop is scheduled for 11/13-14"
      ;; "Stay tuned for more information about our upcoming workshop at "
      ;; [:a {:href "http://vidku.com"} "Vidku"]
      ;; " on September 11-12!"
@@ -807,7 +809,7 @@
      [:br]
      "Join us for our next "
      [:a {:href "http://clojure.mn/"} "clojure.mn"]
-     " meeting on October 14th!"
+     " meeting on November 11th!"
      [:br]
      [:br]
      ]


add service discovery on the waiter consent page (#1620)

--- waiter/src/waiter/core.clj
+++ waiter/src/waiter/core.clj
@@ -2045,22 +2045,25 @@
                                    (token/handle-reindex-tokens-request synchronize-fn make-inter-router-requests-sync-fn
                                                                         kv-store list-tokens-fn request))))
    :waiter-acknowledge-consent-handler-fn (pc/fnk [[:routines request->consent-service-id token->service-description-template
-                                                    token->token-metadata]
+                                                    wrap-service-discovery-fn token->token-metadata]
                                                    [:settings consent-expiry-days]
                                                    [:state clock passwords]
-                                                   wrap-secure-request-fn]
+                                                   wrap-ignore-disabled-auth-fn wrap-secure-request-fn]
                                             (let [password (first passwords)]
                                               (letfn [(add-encoded-cookie [response cookie-name value expiry-days]
                                                         (let [age-in-seconds (-> expiry-days t/days t/in-seconds)]
                                                           (cookie-support/add-encoded-cookie response password cookie-name value age-in-seconds nil)))
                                                       (consent-cookie-value [mode service-id token token-metadata]
                                                         (sd/consent-cookie-value clock mode service-id token token-metadata))]
-                                                (wrap-secure-request-fn
+                                                (->
                                                   (fn inner-waiter-acknowledge-consent-handler-fn [request]
                                                     (handler/acknowledge-consent-handler
                                                       token->service-description-template token->token-metadata
                                                       request->consent-service-id consent-cookie-value add-encoded-cookie
-                                                      consent-expiry-days request))))))
+                                                      consent-expiry-days request))
+                                                  wrap-secure-request-fn
+                                                  wrap-ignore-disabled-auth-fn
+                                                  wrap-service-discovery-fn))))
    :waiter-auth-handler-fn (pc/fnk [wrap-secure-request-fn]
                              (wrap-secure-request-fn
                                (fn waiter-auth-handler-fn


Render arch seperate from the original branch

--- src-cljs/cljs_workspace/om_morph.cljs
+++ src-cljs/cljs_workspace/om_morph.cljs
@@ -145,31 +145,44 @@
                   ; :onKeyDown #(when (.-metaKey %) (save-input % owner app))} (dom/span #js {
                     :ref "myInput"} (get-in app [:morph :TextString])))

+(defn handle-path-element [e]
+  (case (e :type)
+    :arc (let [[a b c] (e :anchors)]
+            (str "C" (a :x) "," (a :y) " " (b :x) "," (b :y) " " (c :x) "," (c :y) " "))
+    (str "L" (e :x) "," (e :y) " ")))
+
 (defn to-svg-attr [elements]
   (let [car (first elements)
         cdr (rest elements)]
     (str "M" (car :x) "," (car :y) " "
-      (reduce str (map #(str "L" (% :x) "," (% :y) " ") cdr)))))
+      (reduce str (map handle-path-element cdr)))))
+
+(defn unpack [e]
+  (case (e :type)
+    :arc (e :anchors)
+    e))

 (defn render-path-node [app owner]
-  (let [vertices (get-in app [:shape :PathElements])
-        ulx (apply min (map #(% :x) vertices))
-        uly (apply min (map #(% :y) vertices))
-        lrx (apply max (map #(% :x) vertices))
-        lry (apply max (map #(% :y) vertices))
+  (prn (flatten (map unpack (get-in app [:shape :PathElements]))))
+  (let [vertices (flatten (map unpack (get-in app [:shape :PathElements])))
+        minX (apply min (map #(% :x) vertices))
+        minY (apply min (map #(% :y) vertices))
+        maxX (apply max (map #(% :x) vertices))
+        maxY (apply max (map #(% :y) vertices))
         half-stroke (/ (get-in app [:shape :StrokeWidth]) 2)
-        w (Math/abs (- ulx lrx))
-        h (Math/abs (- uly lry))]
+        w (Math/abs (- minX maxX))
+        h (Math/abs (- minY maxY))]
   (dom/svg #js { :style #js {:position "absolute"
-                             :width (+ w (* 2 half-stroke))
-                             :height (+ h (* 2 half-stroke))
-                             :fill "none"
-                             :viewBox [(unchecked-negate half-stroke)
-                                       (unchecked-negate half-stroke)
-                                       (+ w half-stroke) (+ h half-stroke)] }}
+                             :fill "none" }
+                  :width (+ 1 w (* 2 half-stroke))
+                  :height (+ 1 h (* 2 half-stroke))
+                    :viewBox (str (- minX 1 half-stroke) " "
+                                  (- minY 1 half-stroke) " "
+                                  (+ maxX (* 2 half-stroke)) " "
+                                  (+ maxY (* 2 half-stroke)))}
     (dom/path #js {:strokeWidth (get-in app [:shape :StrokeWidth])
                    :stroke (get-in app [:shape :Fill])
-                   :d (to-svg-attr vertices)}))))
+                   :d (to-svg-attr (get-in app [:shape :PathElements]))}))))

 (defmethod shape "Path" [app owner]
   (let [style (extract-style (:shape app))]


GitHub Issue #20 - press enter in the new project input field


Pass kdf

Pass kdf

--- src/icecap/rest.clj
+++ src/icecap/rest.clj
@@ -29,8 +29,8 @@
                          (let [cap (safebase64-decode encoded-cap)]
                            (<!! (execute-cap cap :store store :kdf kdf :scheme scheme))))
                     (DELETE "/" []
-                     (<!! (revoke-cap (safebase64-decode encoded-cap)
-                                             :store store))))))
+                            (let [cap (safebase64-decode encoded-cap)]
+                              (<!! (revoke-cap cap :store store :kdf kdf)))))))

 (defn ^:private wrap-components
   "Adds some components to each request map."


Make `invadm list` pretty-print invoices

--- src/invadm/core.clj
+++ src/invadm/core.clj
@@ -67,11 +67,21 @@
   (fn [invoice]
     (every? #(= (get options %) (get invoice (name %))) (keys options))))

+(defn pretty-print-invoice [invoice]
+  (format (->> ["Invoice #%s"
+                "Client: %s"
+                "Amount: %d %s\n"]
+               (string/join \newline))
+          (get invoice "id")
+          (get invoice "client")
+          (get invoice "amount")
+          (get invoice "currency")))
+
 (defn data [options]
   (println (json/write-str (filter (options-to-filter options) (read-all-invoices)))))

 (defn list_ [options]
-  (println (json/write-str (filter (options-to-filter options) (read-all-invoices)))))
+  (apply println (map pretty-print-invoice (filter (options-to-filter options) (read-all-invoices)))))

 (defn -main [& args]
   (let [{:keys [options arguments errors summary]} (parse-opts args cli-options)]


Non-functional: Fixed indentations

Non-functional: Fixed indentations

--- src/cljs/main/broadfcui/page/workspace/method_configs/method_config_editor.cljs
+++ src/cljs/main/broadfcui/page/workspace/method_configs/method_config_editor.cljs
@@ -1,23 +1,22 @@
 (ns broadfcui.page.workspace.method-configs.method-config-editor
   (:require
-   [dmohs.react :as react]
-   [clojure.string :as string]
-   [broadfcui.common :as common]
-   [broadfcui.common.components :as comps]
-   [broadfcui.common.method.config-io :refer [IOTables]]
-   [broadfcui.common.style :as style]
-   [broadfcui.components.buttons :as buttons]
-   [broadfcui.components.entity-details :refer [EntityDetails]]
-   [broadfcui.components.sticky :refer [Sticky]]
-   [broadfcui.endpoints :as endpoints]
-   [broadfcui.page.workspace.method-configs.delete-config :as delete]
-   [broadfcui.page.workspace.method-configs.launch-analysis :as launch]
-   [broadfcui.page.workspace.method-configs.publish :as publish]
-   [broadfcui.page.workspace.method-configs.synchronize :as mc-sync]
-   [broadfcui.page.workspace.workspace-common :as ws-common]
-   [broadfcui.utils :as utils]
-   [broadfcui.common.input :as input]
-   ))
+    [dmohs.react :as react]
+    [clojure.string :as string]
+    [broadfcui.common :as common]
+    [broadfcui.common.components :as comps]
+    [broadfcui.common.method.config-io :refer [IOTables]]
+    [broadfcui.common.style :as style]
+    [broadfcui.components.buttons :as buttons]
+    [broadfcui.components.entity-details :refer [EntityDetails]]
+    [broadfcui.components.sticky :refer [Sticky]]
+    [broadfcui.endpoints :as endpoints]
+    [broadfcui.page.workspace.method-configs.delete-config :as delete]
+    [broadfcui.page.workspace.method-configs.launch-analysis :as launch]
+    [broadfcui.page.workspace.method-configs.publish :as publish]
+    [broadfcui.page.workspace.method-configs.synchronize :as mc-sync]
+    [broadfcui.page.workspace.workspace-common :as ws-common]
+    [broadfcui.utils :as utils]
+    [broadfcui.common.input :as input]))

 (defn- filter-empty [coll]
   (->> coll (map string/trim) (remove string/blank?) vec))
@@ -149,15 +148,15 @@
        (when (and (not methods) loaded-config)
          (let [{:keys [methodName methodNamespace]} (get-in loaded-config [:methodConfiguration :methodRepoMethod])]
            (endpoints/call-ajax-orch
-            {:endpoint (endpoints/list-method-snapshots methodNamespace methodName)
-             :on-done (fn [{:keys [success? get-parsed-response status-text]}]
-                        (let [response (get-parsed-response)]
-                          (if success?
-                            (swap! state assoc
-                                   :methods-response response
-                                   :methods {[methodNamespace methodName] (mapv :snapshotId response)})
-                            ;; FIXME: :error-message is unused
-                            (swap! state assoc :error-message status-text))))})))))
+             {:endpoint (endpoints/list-method-snapshots methodNamespace methodName)
+              :on-done (fn [{:keys [success? get-parsed-response status-text]}]
+                         (let [response (get-parsed-response)]
+                           (if success?
+                             (swap! state assoc
+                                    :methods-response response
+                                    :methods {[methodNamespace methodName] (mapv :snapshotId response)})
+                             ;; FIXME: :error-message is unused
+                             (swap! state assoc :error-message status-text))))})))))
    :-render-display
    (fn [{:keys [props state locals this]}]
      (let [locked? (get-in props [:workspace :workspace :isLocked])
@@ -200,15 +199,15 @@
                                   :on-success (:on-submission-success props)})])
         (create-section-header "Method Configuration Name")
         (create-section
-         (if editing?
-           [:div {}
-            (style/create-text-field {:ref "confname" :style {:maxWidth 500}
-                                      :data-test-id "edit-method-config-name-input"
-                                      :defaultValue (:name config)
-                                      :onKeyDown (common/create-key-handler [:space] #(.preventDefault %))})
-            (style/create-textfield-hint input/hint-alphanumeric_-period)]
-           [:div {:style {:padding "0.5em 0 1em 0"}
-                  :data-test-id "method-config-name"} (:name config)]))
+          (if editing?
+            [:div {}
+             (style/create-text-field {:ref "confname" :style {:maxWidth 500}
+                                       :data-test-id "edit-method-config-name-input"
+                                       :defaultValue (:name config)
+                                       :onKeyDown (common/create-key-handler [:space] #(.preventDefault %))})
+             (style/create-textfield-hint input/hint-alphanumeric_-period)]
+            [:div {:style {:padding "0.5em 0 1em 0"}
+                   :data-test-id "method-config-name"} (:name config)]))
         (create-section-header "Referenced Method")
         (let [method (if (empty? methods-response)
                        {:name methodName :namespace methodNamespace :entityType "Workflow"}
@@ -224,21 +223,21 @@
                                   (utils/restructure redacted? config methods editing? wdl-parse-error))]))
         (create-section-header "Root Entity Type")
         (create-section
-         (if editing?
-           (if (seq entity-types)
-             (style/create-identity-select {:ref "rootentitytype"
-                                            :data-test-id "edit-method-config-root-entity-type-select"
-                                            :defaultValue rootEntityType
-                                            :style {:maxWidth 500}
-                                            :onChange #(swap! state assoc :autocomplete-list
-                                                              (build-autocomplete-list
-                                                               {:workspace-attributes workspace-attributes
-                                                                :entity-types entity-types
-                                                                :selected-entity-type (.. % -target -value)}))}
-                                           (mapv #(name (first %)) entity-types))
-             [:select {:style (assoc style/select-style :width 500) :disabled true}
-              [:option {} "No entities in workspace. Import some in the Data tab."]])
-           [:div {:style {:padding "0.5em 0 1em 0"}} rootEntityType]))
+          (if editing?
+            (if (seq entity-types)
+              (style/create-identity-select {:ref "rootentitytype"
+                                             :data-test-id "edit-method-config-root-entity-type-select"
+                                             :defaultValue rootEntityType
+                                             :style {:maxWidth 500}
+                                             :onChange #(swap! state assoc :autocomplete-list
+                                                               (build-autocomplete-list
+                                                                 {:workspace-attributes workspace-attributes
+                                                                  :entity-types entity-types
+                                                                  :selected-entity-type (.. % -target -value)}))}
+                                            (mapv #(name (first %)) entity-types))
+              [:select {:style (assoc style/select-style :width 500) :disabled true}
+               [:option {} "No entities in workspace. Import some in the Data tab."]])
+            [:div {:style {:padding "0.5em 0 1em 0"}} rootEntityType]))
         (create-section-header "Connections")
         (create-section [IOTables {:ref "IOTables"
                                    :inputs-outputs inputs-outputs
@@ -251,22 +250,22 @@
      (if-not (:entities-loaded? @locals)
        (do (swap! state assoc :blocker "Loading attributes...")
            (endpoints/call-ajax-orch
-            {:endpoint (endpoints/get-entity-types (:workspace-id props))
-             :on-done (fn [{:keys [success? get-parsed-response status-text]}]
-                        (if success?
-                          (let [loaded-config (:loaded-config @state)
-                                entity-types (get-parsed-response)
-                                workspace-attributes (get-in props [:workspace :workspace :workspace-attributes])
-                                selected-entity-type (get-in loaded-config [:methodConfiguration :rootEntityType])]
-                            (swap! locals assoc :entities-loaded? true)
-                            (swap! state assoc
-                                   :blocker nil
-                                   :entity-types entity-types
-                                   :autocomplete-list (build-autocomplete-list
-                                                       (utils/restructure workspace-attributes entity-types selected-entity-type)))
-                            (this :-begin-editing))
-                          ;; FIXME: :data-attribute-load-error is unused
-                          (swap! state assoc :data-attribute-load-error status-text)))}))
+             {:endpoint (endpoints/get-entity-types (:workspace-id props))
+              :on-done (fn [{:keys [success? get-parsed-response status-text]}]
+                         (if success?
+                           (let [loaded-config (:loaded-config @state)
+                                 entity-types (get-parsed-response)
+                                 workspace-attributes (get-in props [:workspace :workspace :workspace-attributes])
+                                 selected-entity-type (get-in loaded-config [:methodConfiguration :rootEntityType])]
+                             (swap! locals assoc :entities-loaded? true)
+                             (swap! state assoc
+                                    :blocker nil
+                                    :entity-types entity-types
+                                    :autocomplete-list (build-autocomplete-list
+                                                         (utils/restructure workspace-attributes entity-types selected-entity-type)))
+                             (this :-begin-editing))
+                           ;; FIXME: :data-attribute-load-error is unused
+                           (swap! state assoc :data-attribute-load-error status-text)))}))
        (let [{:keys [loaded-config inputs-outputs redacted?]} @state]
          ((@refs "IOTables") :start-editing)
          (swap! state assoc :editing? true :original-config loaded-config :original-inputs-outputs inputs-outputs :original-redacted? redacted?))))
@@ -290,43 +289,43 @@
            selected-values ((@refs "IOTables") :save)]
        (swap! state assoc :blocker "Updating...")
        (endpoints/call-ajax-orch
-        {:endpoint (endpoints/update-workspace-method-config workspace-id (ws-common/config->id config))
-         :payload (merge config
-                         selected-values
-                         {:name name
-                          :rootEntityType root-entity-type
-                          :methodRepoMethod (merge (:methodRepoMethod config)
-                                                   ((@refs "methodDetailsViewer") :get-fields))
-                          :workspaceName workspace-id})
-         :headers utils/content-type=json
-         :on-done (fn [{:keys [success? get-parsed-response]}]
-                    (swap! state dissoc :blocker :editing?)
-                    (if success?
-                      (do (swap! state dissoc :redacted?)
-                          ((:on-rename props) name)
-                          ((@refs "methodDetailsViewer") :clear-redacted-snapshot)
-                          (swap! state assoc :loaded-config (get-parsed-response) :blocker nil))
-                      (comps/push-error-response (get-parsed-response false))))})))
+         {:endpoint (endpoints/update-workspace-method-config workspace-id (ws-common/config->id config))
+          :payload (merge config
+                          selected-values
+                          {:name name
+                           :rootEntityType root-entity-type
+                           :methodRepoMethod (merge (:methodRepoMethod config)
+                                                    ((@refs "methodDetailsViewer") :get-fields))
+                           :workspaceName workspace-id})
+          :headers utils/content-type=json
+          :on-done (fn [{:keys [success? get-parsed-response]}]
+                     (swap! state dissoc :blocker :editing?)
+                     (if success?
+                       (do (swap! state dissoc :redacted?)
+                           ((:on-rename props) name)
+                           ((@refs "methodDetailsViewer") :clear-redacted-snapshot)
+                           (swap! state assoc :loaded-config (get-parsed-response) :blocker nil))
+                       (comps/push-error-response (get-parsed-response false))))})))
    :-load-validated-method-config
    (fn [{:keys [state props]}]
      (endpoints/call-ajax-orch
-      {:endpoint (endpoints/get-validated-workspace-method-config (:workspace-id props) (:config-id props))
-       :on-done (fn [{:keys [success? get-parsed-response status-text]}]
-                  (if success?
-                    (let [response (get-parsed-response)
-                          fake-inputs-outputs (fn [data]
-                                                (let [method-config (:methodConfiguration data)]
-                                                  {:inputs (mapv (fn [k] {:name (name k)}) (keys (:inputs method-config)))
-                                                   :outputs (mapv (fn [k] {:name (name k)}) (keys (:outputs method-config)))}))]
-                      (endpoints/call-ajax-orch
-                       {:endpoint endpoints/get-inputs-outputs
-                        :payload (get-in response [:methodConfiguration :methodRepoMethod])
-                        :headers utils/content-type=json
-                        :on-done (fn [{:keys [success? get-parsed-response]}]
-                                   (if success?
-                                     (swap! state assoc :loaded-config response :inputs-outputs (get-parsed-response) :redacted? false)
-                                     (swap! state assoc :loaded-config response :inputs-outputs (fake-inputs-outputs response) :redacted? true)))}))
-                    (swap! state assoc :error status-text)))}))
+       {:endpoint (endpoints/get-validated-workspace-method-config (:workspace-id props) (:config-id props))
+        :on-done (fn [{:keys [success? get-parsed-response status-text]}]
+                   (if success?
+                     (let [response (get-parsed-response)
+                           fake-inputs-outputs (fn [data]
+                                                 (let [method-config (:methodConfiguration data)]
+                                                   {:inputs (mapv (fn [k] {:name (name k)}) (keys (:inputs method-config)))
+                                                    :outputs (mapv (fn [k] {:name (name k)}) (keys (:outputs method-config)))}))]
+                       (endpoints/call-ajax-orch
+                         {:endpoint endpoints/get-inputs-outputs
+                          :payload (get-in response [:methodConfiguration :methodRepoMethod])
+                          :headers utils/content-type=json
+                          :on-done (fn [{:keys [success? get-parsed-response]}]
+                                     (if success?
+                                       (swap! state assoc :loaded-config response :inputs-outputs (get-parsed-response) :redacted? false)
+                                       (swap! state assoc :loaded-config response :inputs-outputs (fake-inputs-outputs response) :redacted? true)))}))
+                     (swap! state assoc :error status-text)))}))
    :-load-new-method-template
    (fn [{:keys [state refs]} new-snapshot-id]
      (let [[method-namespace method-name] (map (fn [key]
@@ -343,29 +342,29 @@
                                                           :name method-name
                                                           :snapshotId new-snapshot-id})
        (endpoints/call-ajax-orch
-        {:endpoint endpoints/create-template
-         :payload method-ref
-         :headers utils/content-type=json
-         :on-done (fn [{:keys [success? get-parsed-response]}]
-                    (let [response (get-parsed-response)]
-                      (if success?
-                        (endpoints/call-ajax-orch
-                         {:endpoint endpoints/get-inputs-outputs
-                          :payload (:methodRepoMethod response)
-                          :headers utils/content-type=json
-                          :on-done (fn [{:keys [success? get-parsed-response]}]
-                                     (swap! state dissoc :blocker :wdl-parse-error)
-                                     (let [template {:methodConfiguration (merge response config-namespace+name)}]
-                                       (if success?
-                                         (swap! state assoc
-                                                :loaded-config (assoc template
-                                                                 :invalidInputs {}
-                                                                 :validInputs {}
-                                                                 :invalidOutputs {}
-                                                                 :validOutputs {})
-                                                :inputs-outputs (get-parsed-response)
-                                                :redacted? false)
-                                         (swap! state assoc :error (:message (get-parsed-response))))))})
-                        (do
-                          (swap! state assoc :redacted? true :blocker nil :wdl-parse-error (:message response))
-                          (comps/push-error (style/create-server-error-message (:message response)))))))})))})
+         {:endpoint endpoints/create-template
+          :payload method-ref
+          :headers utils/content-type=json
+          :on-done (fn [{:keys [success? get-parsed-response]}]
+                     (let [response (get-parsed-response)]
+                       (if success?
+                         (endpoints/call-ajax-orch
+                           {:endpoint endpoints/get-inputs-outputs
+                            :payload (:methodRepoMethod response)
+                            :headers utils/content-type=json
+                            :on-done (fn [{:keys [success? get-parsed-response]}]
+                                       (swap! state dissoc :blocker :wdl-parse-error)
+                                       (let [template {:methodConfiguration (merge response config-namespace+name)}]
+                                         (if success?
+                                           (swap! state assoc
+                                                  :loaded-config (assoc template
+                                                                   :invalidInputs {}
+                                                                   :validInputs {}
+                                                                   :invalidOutputs {}
+                                                                   :validOutputs {})
+                                                  :inputs-outputs (get-parsed-response)
+                                                  :redacted? false)
+                                           (swap! state assoc :error (:message (get-parsed-response))))))})
+                         (do
+                           (swap! state assoc :redacted? true :blocker nil :wdl-parse-error (:message response))
+                           (comps/push-error (style/create-server-error-message (:message response)))))))})))})


cleaning

cleaning

--- src/plugins/Scripts/Funimage/SpatialAnalysis/correlated_local_area_coverage.clj
+++ src/plugins/Scripts/Funimage/SpatialAnalysis/correlated_local_area_coverage.clj
@@ -7,21 +7,20 @@
      '[funimage.segmentation utils imp]
      '[funimage.imp calibration roi threshold calculator statistics])

-(let [density-radius (min user/density-radius (max (get-width focal-segments) (get-height correlation-segments)))]
+(let [density-radius (min density-radius (max (get-width focal-segments) (get-height correlation-segments)))]
   (ij.IJ/run focal-segments "Make Binary" "")
   (ij.IJ/run correlation-segments "Make Binary" "")

   (let [focal-rois (imp-to-rois focal-segments)
-  		correlation-rois (imp-to-rois correlation-segments)
+        correlation-rois (imp-to-rois correlation-segments)
         focal-segment-maps (for [^ij.gui.Roi roi focal-rois]
-                          	(assoc (get-image-statistics (set-roi focal-segments roi) :center-of-mass true :centroid true :ellipse true :circularity true :area true)
-                                 :roi roi))
-		correlation-segment-maps (for [^ij.gui.Roi roi correlation-rois]
-                                	(assoc (get-image-statistics (set-roi correlation-segments roi) :center-of-mass true :centroid true :ellipse true :circularity true :area true)
-                                       :roi roi))
+                             (assoc (get-image-statistics (set-roi focal-segments roi) :center-of-mass true :centroid true :ellipse true :circularity true :area true)
+                                    :roi roi))
+        correlation-segment-maps (for [^ij.gui.Roi roi correlation-rois]
+                                   (assoc (get-image-statistics (set-roi correlation-segments roi) :center-of-mass true :centroid true :ellipse true :circularity true :area true)
+                                          :roi roi))
         density-maps (correlated-rolling-ball-statistics focal-segment-maps correlation-segment-maps density-radius)
         key-fn :area]
     (def density-imp (show-imp (color-code-rois focal-segments density-maps key-fn)))
     (.setMinAndMax (.getProcessor density-imp) 0 (* java.lang.Math/PI density-radius density-radius))
-    (update-imp density-imp)))
-
+    (update-imp density-imp)))


remove :obj semantics from "get on" and "get off"

--- src/babel/english/lexicon.cljc
+++ src/babel/english/lexicon.cljc
@@ -538,8 +538,7 @@
    (let [subject-semantics (atom {:human true})]
      {:synsem {:cat :verb
                :sem {:pred :get-off
-                     :subj subject-semantics
-                     :obj subject-semantics}
+                     :subj subject-semantics}
                :subcat {:1 {:sem subject-semantics}
                         :2 '()}}
       :english {:participle "getting off"
@@ -549,8 +548,7 @@
    (let [subject-semantics (atom {:human true})]
      {:synsem {:cat :verb
                :sem {:pred :get-on
-                     :subj subject-semantics
-                     :obj subject-semantics}
+                     :subj subject-semantics}
                :subcat {:1 {:sem subject-semantics}
                         :2 '()}}
       :english {:participle "getting on"