use 'ancient-clj' 0.3.4.

use 'ancient-clj' 0.3.4.

we have to retain the S3 SDK 1.9.0 because higher versions somehow
cause a NoSuchMethodException when accessing some Jackson class.

--- project.clj
+++ project.clj
@@ -2,10 +2,14 @@
   :description "Check your Projects for outdated Dependencies."
   :url "https://github.com/xsc/lein-ancient"
   :dependencies [[rewrite-clj "0.4.12"]
-                 [ancient-clj "0.3.1"]
+                 [ancient-clj "0.3.4"
+                  :exclusions [com.amazonaws/aws-java-sdk-s3]]
+                 [com.amazonaws/aws-java-sdk-s3 "1.9.0"
+                  :exclusions [joda-time]]
                  [version-clj "0.1.2"]
                  [jansi-clj "0.1.0"]
-                 [potemkin "0.3.11"]
+                 [potemkin "0.3.12"]
+                 [joda-time "2.7"]
                  [commons-io "2.4"]]
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}


Upgrade to lwjgl 3.1.5

Upgrade to lwjgl 3.1.5

--- project.clj
+++ project.clj
@@ -5,9 +5,16 @@
             :url "https://raw.githubusercontent.com/aaron-santos/zaffre/master/LICENSE"}
   :dependencies [[org.clojure/clojure "1.9.0"]
                  [org.clojure/core.async "0.2.374"]
-                 [aaron-santos/lwjgl "3.0.0rc1"]
+                 ;[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-macos"]
+                 [org.lwjgl/lwjgl-glfw "3.1.5"]
+                 [org.lwjgl/lwjgl-glfw "3.1.5" :classifier "natives-macos"]
+                 [org.lwjgl/lwjgl-stb "3.1.5"]
+                 [org.lwjgl/lwjgl-stb "3.1.5" :classifier "natives-macos"]
                  [commons-io/commons-io "2.5"]
-                 ;[hello_lwjgl/lwjgl "3.0.0b1"]
                  [overtone/at-at "1.2.0"]
                  [aaron-santos/tinter "0.1.1-SNAPSHOT"]
                  [nio "1.0.3"]
@@ -21,5 +28,7 @@
   :jvm-opts ~(if (-> (System/getProperty "os.name")
                     (.toLowerCase)
                     (.contains "mac"))
-              ["-XstartOnFirstThread" "-Dorg.lwjgl.opengl.Display.enableHighDPI=true"]
+              ["-XstartOnFirstThread"
+               "-Dorg.lwjgl.opengl.Display.enableHighDPI=true"
+               "-Djava.library.path=native/"]
               [#_"-Dorg.lwjgl.system.allocator=system"]))


Prepare for next release cycle.

Prepare for next release cycle.

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


working on 2.2.2

working on 2.2.2

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject babel "2.2.1"
+(defproject babel "2.2.2-SNAPSHOT"
   :description "A library for natural language generation and parsing"
   :url "http://github.com/ekoontz/babel"
   :license {:name "Eclipse Public License"


fix deps typo

fix deps typo

--- project.clj
+++ project.clj
@@ -12,7 +12,7 @@
                  [com.andrewmcveigh/cljs-time "0.5.0"]]
   :plugins [[lein-cljsbuild "1.1.4"]
             [lein-figwheel "0.5.10"]
-            [cider/cider-nrepl "0.15.0-snapshot"]]
+            [cider/cider-nrepl "0.15.0-SNAPSHOT"]]
   :clean-targets ["target/" "index.ios.js" "index.android.js" #_($PLATFORM_CLEAN$)]
   :aliases {"prod-build" ^{:doc "Recompile code with prod profile."}
             ["do" "clean"


Added lein ancient upgrade selectors

Added lein ancient upgrade selectors

--- project.clj
+++ project.clj
@@ -36,11 +36,11 @@
                  [com.taoensso/encore "2.92.0"]
                  [digest "1.4.6"]
                  [environ "1.1.0"]
-                 [kixi/kixi.comms "0.2.35" :exclusions [amazonica]]
-                 [kixi/kixi.log "0.1.6"]
-                 [kixi/kixi.metrics "0.4.1"]
-                 [kixi/joplin.core "0.3.10-SNAPSHOT"]
-                 [kixi/joplin.dynamodb "0.3.10-SNAPSHOT"]
+                 [kixi/kixi.comms "0.2.35" :exclusions [amazonica] :upgrade :kixi]
+                 [kixi/kixi.log "0.1.6" :upgrade :kixi]
+                 [kixi/kixi.metrics "0.4.1" :upgrade :kixi]
+                 [kixi/joplin.core "0.3.10-SNAPSHOT" :upgrade :kixi]
+                 [kixi/joplin.dynamodb "0.3.10-SNAPSHOT" :upgrade :kixi]
                  [manifold "0.1.6"]
                  [medley "1.0.0"]
                  [metrics-clojure ~metrics-version]


roll back to 1.5.1 because of AOT issues for now

--- project.clj
+++ project.clj
@@ -7,7 +7,7 @@
                              :username :env :passphrase :env}
                  "snapshots" {:url "s3p://maven.yieldbot.com/snapshots/"
                               :username :env :passphrase :env}}
-  :dependencies [[org.clojure/clojure "1.6.0"]
+  :dependencies [[org.clojure/clojure "1.5.1"]
                  [org.clojure/tools.logging "0.2.6"]
                  [yieldbot/serializable-fn "0.0.5-SNAPSHOT"]
                  [com.twitter/carbonite "1.3.3"]
@@ -17,7 +17,7 @@
   :profiles {:provided
              {:dependencies
               [[org.apache.spark/spark-core_2.10 "0.9.1"]
-               [org.apache.spark/spark-streaming_2.10 "0.9.1"],
+               [org.apache.spark/spark-streaming_2.10 "0.9.1"]
                [org.apache.spark/spark-streaming-kafka_2.10 "0.9.1"]]}
              :1.5
              {:dependencies [[org.clojure/clojure "1.5.1"]]}}


Version 1.0.13-SNAPSHOT

Version 1.0.13-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject mixradio/radix "1.0.12"
+(defproject mixradio/radix "1.0.13-SNAPSHOT"
   :description "A Clojure library providing the root functionality for web services"
   :license "https://github.com/mixradio/radix/blob/master/LICENSE"
   :url "https://github.com/mixradio/radix"


Depend on newer clojure/clojure-contrib, and depend on ring instead of compojure.

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (defproject sob "0.0.1"
-  :dependencies [[org.clojure/clojure "1.1.0"]
-                 [org.clojure/clojure-contrib "1.0-SNAPSHOT"]
+  :dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]
+                 [org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]
                  [rhino/js "1.7R2"]
-                 [compojure "0.3.2"]]
+                 [org.clojars.rnewman/ring "0.2.2-sessions"]]
   :main org.scode.sob)


update to 1.6.2

update to 1.6.2

--- project.clj
+++ project.clj
@@ -28,11 +28,11 @@
                     flambo.example.tfidf]}
              :provided
              {:dependencies
-              [[org.apache.spark/spark-core_2.10 "1.6.1"]
-               [org.apache.spark/spark-streaming_2.10 "1.6.1"]
-               [org.apache.spark/spark-streaming-kafka_2.10 "1.6.1"]
-               [org.apache.spark/spark-streaming-flume_2.10 "1.6.1"]
-               [org.apache.spark/spark-sql_2.10 "1.6.1"]
+              [[org.apache.spark/spark-core_2.10 "1.6.2"]
+               [org.apache.spark/spark-streaming_2.10 "1.6.2"]
+               [org.apache.spark/spark-streaming-kafka_2.10 "1.6.2"]
+               [org.apache.spark/spark-streaming-flume_2.10 "1.6.2"]
+               [org.apache.spark/spark-sql_2.10 "1.6.2"]
                [com.databricks/spark-csv_2.10 "1.4.0"]]}
              :clojure-1.6
              {:dependencies [[org.clojure/clojure "1.6.0"]]}


Upgraded commons, clojurecl, clojurecuda versions.

--- project.clj
+++ project.clj
@@ -14,12 +14,12 @@
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.10.0"]
-                 [uncomplicate/commons "0.7.1-SNAPSHOT"]
+                 [uncomplicate/commons "0.7.2"]
                  [uncomplicate/fluokitten "0.9.1"]
                  [uncomplicate/neanderthal-native "0.21.0"]
-                 [uncomplicate/clojurecl "0.10.5"]
+                 [uncomplicate/clojurecl "0.10.6"]
                  [org.jocl/jocl-blast "1.5.0"]
-                 [uncomplicate/clojurecuda "0.6.1"]
+                 [uncomplicate/clojurecuda "0.6.2"]
                  [org.jcuda/jcublas "10.0.0"]
                  [org.apache.commons/commons-math3 "3.6.1"]]

@@ -48,7 +48,7 @@
                                  *assert* false
                                  *unchecked-math* :warn-on-boxed
                                  *print-length* 128}
-                   :dependencies [[midje "1.9.5"]]}}
+                   :dependencies [[midje "1.9.6"]]}}

   :javac-options ["-target" "1.8" "-source" "1.8" "-Xlint:-options"]
   :source-paths ["src/clojure" "src/opencl" "src/cuda"]


now uses specter

now uses specter

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject marick/suchwow "3.1.1"
+(defproject marick/suchwow "3.2.0-SNAPSHOT"
   :description "Such functions! Such doc strings! Much utility!"
   :url "https://github.com/marick/suchwow"
   :pedantic? :warn
@@ -8,6 +8,7 @@

   :dependencies [[org.clojure/clojure "1.7.0"]
                  [potemkin "0.3.13" :exclusions [org.clojure/clojure]]
+                 [com.rpl/specter "0.6.2" :exclusions [org.clojure/clojure]]
                  [environ "1.0.0"]
                  [commons-codec/commons-codec "1.10"]]


prefer ipv4, jetty can't listen on ip4 and ip6 at the same time

--- project.clj
+++ project.clj
@@ -37,6 +37,7 @@
                      [lein-midje "1.0.4"]
                      [lein-daemon "0.4.0"]]
   :main circleci.init
+  :jvm-opts ["-Djava.net.preferIPv4Stack=true"]
   :daemon {:web {:ns circleci.init
                  :pidfile "circle.pid"}})


Version 0.3.5

Version 0.3.5

--- project.clj
+++ project.clj
@@ -2,7 +2,7 @@
 (def ks-version "1.3.0")

-(defproject puppetlabs/trapperkeeper-status "0.3.5-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper-status "0.3.5"
   :description "A trapperkeeper service for getting the status of other trapperkeeper services."
   :url "https://github.com/puppetlabs/trapperkeeper-status"
   :license {:name "Apache License, Version 2.0"


cosmetic

cosmetic

--- project.clj
+++ project.clj
@@ -7,10 +7,11 @@
                   :exclusion [org.clojure/data.json]]
                  [org.clojure/data.json "0.2.6" :classifier "aot"]]

+  :plugins [[lein-npm "0.6.1"]
+            [michaelblume/lein-marginalia "0.9.0"]] ; forked https://github.com/MichaelBlume/lein-marginalia
+
   :jvm-opts ^:replace ["-Xmx1g" "-server"]
-  :plugins [[lein-npm "0.6.1"]
-            [michaelblume/lein-marginalia "0.9.0"] ; forked https://github.com/MichaelBlume/lein-marginalia
-            ]
+
   :source-paths ["src" "target/classes"]
   :clean-targets ["out" "release"]
   :target-path "target"


Update version info.

Update version info.

--- project.clj
+++ project.clj
@@ -1,5 +1,5 @@
-;(defproject cli4clj "1.2.0"
-(defproject cli4clj "1.2.1-SNAPSHOT"
+;(defproject cli4clj "1.2.1"
+(defproject cli4clj "1.2.2-SNAPSHOT"
   :description "Create simple interactive CLIs for Clojure applications."
   :url "https://github.com/ruedigergad/cli4clj"
   :license {:name "Eclipse Public License"


Revert to old nREPL

Revert to old nREPL

There were breaking changes in nrepl 0.4.3, resulting in this issue when
running `lein trampoline run` here:

ClassCastException nrepl.server.Server cannot be cast to java.base/java.util.concurrent.Future
        clojure.core/deref-future (core.clj:2180)
        clojure.core/deref (core.clj:2201)
        reply.eval-modes.nrepl/get-connection (nrepl.clj:161)
        reply.eval-modes.nrepl/main (nrepl.clj:202)
        reply.main/launch-nrepl/fn--2245 (main.clj:79)
        clojure.core/with-redefs-fn (core.clj:6861)
        reply.main/launch-nrepl (main.clj:78)
        reply.main/launch (main.clj:95)
        reply.main/-main (main.clj:105)
        clojure.lang.Var.invoke (Var.java:375)
        clojure.lang.Var.applyTo (Var.java:700)
        reply.ReplyMain.main (ReplyMain.java:14)

--- project.clj
+++ project.clj
@@ -7,7 +7,7 @@
                    [jline "2.14.6"]
                    [org.thnetos/cd-client "0.3.6"]
                    [clj-stacktrace "0.2.7"]
-                   [nrepl "0.4.4"]
+                   [nrepl "0.4.2"]
                    [org.clojure/tools.cli "0.3.1"]
                    [nrepl/drawbridge "0.1.0"]
                    [trptcolin/versioneer "0.1.1"]


Bump version

Bump version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject shale "0.3.2"
+(defproject shale "0.3.3-SNAPSHOT"
   :description "A Clojure-backed Selenium hub replacement"
   :url "https://github.com/cardforcoin/shale"
   :license {:name "MIT License"
@@ -15,6 +15,7 @@
                  [com.amazonaws/aws-java-sdk-ec2 "1.11.63"]
                  [com.brweber2/clj-dns "0.0.2"]
                  [com.cemerick/url "0.1.1"]
+                 [com.fzakaria/slf4j-timbre "0.3.4"]
                  [com.stuartsierra/component "0.2.3"]
                  [com.taoensso/carmine "2.15.1" :exclusions [org.clojure/clojure com.taoensso/encore]]
                  [com.taoensso/encore "2.87.0" :exclusions [org.clojure/clojure]]


Release 1.1.1

Release 1.1.1

## Changelog:

 * cleaned dependencies, so no more spilling of unwanted stuff in your application. You only need to refer to sparkling to get a proper environment with Spark 1.2.1. In order to deploy to a cluster with Spark pre-installed, you need to set Spark dependency to provided in your project, though.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject gorillalabs/sparkling "1.1.1-SNAPSHOT"
+(defproject gorillalabs/sparkling "1.1.1"
             :description "A Clojure Library for Apache Spark"
             :url "https://github.com/chrisbetz/sparkling"
             :license {:name "Eclipse Public License"


bumped up version

bumped up version

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject reagent/lein-template "0.2.7"
+(defproject reagent/lein-template "0.2.8"
   :description "A Leiningen template for a ClojureScript setup with Figwheel, Austin, and Reagent."
   :url "https://github.com/reagent-project/reagent-template"
   :license {:name "MIT License"


Update dependencies.

Update dependencies.

--- project.clj
+++ project.clj
@@ -10,7 +10,7 @@
     [org.clojure/clojure "1.7.0-alpha2"] ; Lisp on the JVM http://clojure.org/documentation
     [org.clojure/core.incubator "0.1.3"] ; Functions proposed for inclusion in Clojure https://github.com/clojure/core.incubator
     [org.clojure/core.match "0.2.2"] ; Erlang-esque pattern matching https://github.com/clojure/core.match
-    [org.clojure/clojurescript "0.0-2322"] ; ClojureScript compiler https://github.com/clojure/clojurescript
+    [org.clojure/clojurescript "0.0-2342"] ; ClojureScript compiler https://github.com/clojure/clojurescript
     [org.clojure/tools.nrepl "0.2.6"] ; REPL server and client https://github.com/clojure/tools.nrepl
     [cheshire "5.3.1"] ; JSON de/encoding https://github.com/dakrone/cheshire
     [org.flatland/ordered "1.5.2"] ; Ordered hash map https://github.com/flatland/ordered
@@ -18,7 +18,7 @@
     [compojure "1.1.9"] ; Web routing https://github.com/weavejester/compojure
     [liberator "0.12.1"] ; WebMachine (REST API server) port to Clojure https://github.com/clojure-liberator/liberator
     [com.ashafa/clutch "0.4.0"] ; CouchDB client https://github.com/clojure-clutch/clutch
-    [clojurewerkz/elastisch "2.1.0-beta6"] ; Client for ElasticSearch https://github.com/clojurewerkz/elastisch
+    [clojurewerkz/elastisch "2.1.0-beta7"] ; Client for ElasticSearch https://github.com/clojurewerkz/elastisch
     [environ "1.0.0"] ; Get environment settings from different sources https://github.com/weavejester/environ
     [com.taoensso/timbre "3.3.1"] ; Logging https://github.com/ptaoussanis/timbre
   ]
@@ -88,7 +88,7 @@
     [lein-cljsbuild "1.0.3"] ; ClojureScript compiler https://github.com/emezeske/lein-cljsbuild
     [codox "0.8.10"] ; Generate Clojure API docs https://github.com/weavejester/codox
     [lein-midje "3.1.3"] ; Example-based testing https://github.com/marick/lein-midje
-    [lein-bikeshed "0.1.7"] ; Check for code smells https://github.com/dakrone/lein-bikeshed
+    [lein-bikeshed "0.1.8"] ; Check for code smells https://github.com/dakrone/lein-bikeshed
     [lein-kibit "0.0.8"] ; Static code search for non-idiomatic code https://github.com/jonase/kibit
     [jonase/eastwood "0.1.4"] ; Clojure linter https://github.com/jonase/eastwood
     [lein-checkall "0.1.1"] ; Runs bikeshed, kibit and eastwood https://github.com/itang/lein-checkall


Add missing beicon dependency.

Add missing beicon dependency.

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
   :plugins [[lein-ancient "0.6.7"]]
   :dependencies [[org.clojure/clojure "1.7.0" :scope "provided"]
                  [org.clojure/clojurescript "1.7.145" :scope "provided"]
+                 [com.cognitect/transit-cljs "0.8.225"]
                  [funcool/httpurr "0.1.1"]
-                 [com.cognitect/transit-cljs "0.8.225"]
-                 [funcool/cats "1.0.0"]
+                 [funcool/beicon "0.1.0-SNAPSHOT"]
                  [funcool/promesa "0.5.1"]])


v1.0.4

--- project.clj
+++ project.clj
@@ -4,7 +4,7 @@
                     (System/getenv "TRAVIS_COMMIT")))
 (def app-url (or (System/getenv "APP_URL") ""))

-(defproject qu "1.0.3"
+(defproject qu "1.0.4"
   :description "qu is an **in-progress** data platform created by the CFPB to
 serve their public data sets."
   :build-number ~build-number


Add deps required for PDF support

Add deps required for PDF support

--- project.clj
+++ project.clj
@@ -1,7 +1,9 @@
-(defproject processing-core/processing.core "0.1.0-SNAPSHOT"
+(defproject processing-core/processing.core "1.0.0-SNAPSHOT"
   :description "A wrapper for Processing in Clojure."
   :dependencies [[org.clojure/clojure "1.3.0"]
                  [org.clojars.processing-core/org.processing.core "1.5.1"]
                  [org.clojars.processing-core/org.processing.gluegen-rt "1.5.1"]
                  [org.clojars.processing-core/org.processing.jogl "1.5.1"]
-                 [org.clojars.processing-core/org.processing.opengl "1.5.1"]])
+                 [org.clojars.processing-core/org.processing.opengl "1.5.1"]
+                 [org.clojars.processing-core/org.processing.itext "1.5.1"]
+                 [org.clojars.processing-core/org.processing.pdf "1.5.1"]])


Work with Java 6, for hosting in Max.

Work with Java 6, for hosting in Max.

--- project.clj
+++ project.clj
@@ -6,6 +6,7 @@
   :dependencies [[org.clojure/clojure "1.7.0"]
                  [org.clojure/core.cache "0.6.4"]
                  [org.clojure/core.async "0.1.346.0-17112a-alpha"]
+                 [org.clojure/data.json "0.2.6"]
                  [org.clojure/math.numeric-tower "0.0.4"]
                  [org.clojure/tools.nrepl "0.2.10"]
                  [org.clojure/tools.cli "0.3.1"]
@@ -18,7 +19,7 @@
                  [overtone/osc-clj "0.9.0"]
                  [amalloy/ring-buffer "1.1"]
                  [com.climate/claypoole "1.0.0"]
-                 [org.flatland/protobuf "0.8.1"]
+                 [org.clojars.brunchboy/protobuf "0.8.3"]
                  [selmer "0.8.5"]
                  [com.evocomputing/colors "1.0.2"]
                  [environ "1.0.0"]
@@ -33,7 +34,6 @@
                                                                       org.clojure/tools.reader
                                                                       org.clojure/java.classpath]]
                  [metosin/ring-http-response "0.6.3"]
-                 [bouncer "0.3.3"]
                  [prone "0.8.2"]
                  [buddy "0.6.0"]
                  [instaparse "1.4.1"]
@@ -62,7 +62,7 @@

              :uberjar {:env {:production true}
                        :aot :all}}
-  :plugins [[lein-protobuf "0.4.3" :exclusions [leinjacker]]
+  :plugins [[org.clojars.brunchboy/lein-protobuf "0.4.3" :exclusions [leinjacker]]
             [codox "0.8.12"]
             [lein-environ "1.0.0"]
             [lein-ancient "0.6.7"]]


adding project url

adding project url

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (defproject rind "0.1.0-SNAPSHOT"
   :description "Clojure code for naive bayes text classification (i.e. Spam detection)."
-  :url "http://example.com/FIXME"
+  :url "https://github.com/dellison/Rind"
   :license {:name "MIT License"
             :url "http://opensource.org/licenses/MIT"}
   :dependencies [[org.clojure/clojure "1.6.0"]]


New dependecies: clojure/tools.logging and log4j

--- project.clj
+++ project.clj
@@ -47,6 +47,11 @@
                    [org.xerial/sqlite-jdbc "3.7.2"]
                    [ring/ring-core "1.3.2"]
                    [ring/ring-jetty-adapter "1.3.2"]
+                   [org.clojure/tools.logging "0.3.1"]
+                   [log4j/log4j "1.2.17" :exclusions [javax.mail/mail
+                                                      javax.jms/jms
+                                                      com.sun.jmdk/jmxtools
+                                                      com.sun.jmx/jmxri]]
                    [hiccup "1.0.4"]]
     :dev-dependencies [[lein-ring "0.8.10"]]
     :plugins [[lein-ring "0.8.10"]


no lein release vcs or version bumps

no lein release vcs or version bumps

--- project.clj
+++ project.clj
@@ -37,13 +37,13 @@
   :release-tasks [["clean"]
                   ["test"]
                   ["vcs" "assert-committed"]
-                  ;; bump minor
-                  ["change" "version" "leiningen.release/bump-version"]
-                  ;; bump major
-                  ;; ["change" "version"
-                  ;;  "leiningen.release/bump-version" "release"]
-                  ["vcs" "commit"]
-                  ;; ["vcs" "tag" "--no-sign"]
+                  ;; ;; bump minor
+                  ;; ["change" "version" "leiningen.release/bump-version"]
+                  ;; ;; bump major
+                  ;; ;; ["change" "version"
+                  ;; ;;  "leiningen.release/bump-version" "release"]
+                  ;; ["vcs" "commit"]
+                  ;; ;; ["vcs" "tag" "--no-sign"]
                   ["tar"]]
   :tar {:uberjar true
         :format :tar-gz})


Remove generated sites-list from clean-targets

Being in clean-targets apparently means that it will be wiped every time
a lein task is run.

--- project.clj
+++ project.clj
@@ -53,7 +53,6 @@
   :plugins      [[lein-cljsbuild "1.1.1"]]

   :clean-targets ^{:protect false} [:target-path
-                                    "resources/sites-list.clj"
                                     "resources/public/js/compiled"]

   :cljsbuild {:builds


Version 0.7.0

Version 0.7.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject grafter/grafter "0.7.0-SNAPSHOT"
+(defproject grafter/grafter "0.7.0"
   :description "Tools for the hard graft of data processing"
   :url "http://grafter.org/"
   :license {:name "Eclipse Public License - v1.0"


lein-release plugin: preparing 0.1.0 release

--- project.clj
+++ project.clj
@@ -1,7 +1,7 @@
 (def ks-version "1.0.0")
 (def tk-version "1.0.1")

-(defproject puppetlabs/trapperkeeper-rpc "0.1.0-SNAPSHOT"
+(defproject puppetlabs/trapperkeeper-rpc "0.1.0"
   :description "RPC server/client library for Trapperkeeper services"
   :url "https://github.com/puppetlabs/trapperkeeper-rpc"
   :pedantic? :abort


Adds datomic to deps

Adds datomic to deps

--- project.clj
+++ project.clj
@@ -5,6 +5,7 @@
                  [compojure "1.1.8"]
                  [ring/ring-jetty-adapter "1.2.2"]
                  [ring/ring-devel "1.2.2"]
+                 [com.datomic/datomic-free "0.9.5067" :exclusions [joda-time]]
                  [environ "0.5.0"]]
   :min-lein-version "2.0.0"
   :plugins [[environ/environ.lein "0.2.1"]


Version 0.3.7

Version 0.3.7

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject yetibot.core "0.3.7-SNAPSHOT"
+(defproject yetibot.core "0.3.7"
   :description "Core yetibot utilities, extracted for shared use among yetibot
                 and its various plugins"
   :url "https://github.com/devth/yetibot.core"


moving to 0.5.0-SNAPSHOT for the move to clojure 1.7.0

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject kioo "0.4.2"
+(defproject kioo "0.5.0-SNAPSHOT"
   :description "enlive/enfocus style templating for Facebook's React."
   :url "http://github.com/ckirkendall/kioo"
   :author "Creighton Kirkendall"


0.1.1

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject io.nervous/eulalie "0.1.1-SNAPSHOT"
+(defproject io.nervous/eulalie "0.1.1"
   :description "Asynchronous, pure-Clojure AWS client"
   :url "https://github.com/nervous-systems/eulalie"
   :license {:name "Unlicense" :url "http://unlicense.org/UNLICENSE"}


com.taoensso/nippy 2.11.0-alpha6 released

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
                  [com.novemberain/welle "3.0.0"]

                  ;; Serialization
-                 [com.taoensso/nippy "2.11.0-alpha5"
+                 [com.taoensso/nippy "2.11.0-alpha6"
                   :exclusions [org.clojure/clojure com.taoensso/encore]]

                  ;; Handlers


update deps to tensorFlow 1.1.0-rc2

update deps to tensorFlow 1.1.0-rc2

--- project.clj
+++ project.clj
@@ -4,8 +4,8 @@
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.8.0"]
-                 [org.tensorflow/libtensorflow "1.1.0-rc1"]
-                 [org.tensorflow/libtensorflow_jni "1.1.0-rc1"]
+                 [org.tensorflow/libtensorflow "1.1.0-rc2"]
+                 [org.tensorflow/libtensorflow_jni "1.1.0-rc2"]
                  [org.clojars.ghaskins/protobuf "3.0.2-2"]
                  [com.google.protobuf/protobuf-java "3.2.0"]
                  [camel-snake-kebab "0.4.0"]]


Upgrade cljs-time

Upgrade cljs-time

--- project.clj
+++ project.clj
@@ -6,7 +6,7 @@
                  [cljs-http "0.1.40"]
                  [cljsjs/react-with-addons "0.14.3-0"]
                  [cljsjs/showdown "0.4.0-1"]
-                 [com.andrewmcveigh/cljs-time "0.3.0"]
+                 [com.andrewmcveigh/cljs-time "0.4.0"]
                  [com.cemerick/piggieback "0.2.1"]
                  [kibu/pushy "0.3.6"]
                  [org.clojure/clojure "1.8.0"]


update to alpha5

update to alpha5

--- project.clj
+++ project.clj
@@ -11,7 +11,7 @@
                  [incanter/incanter-core "1.5.6"]
                  [incanter/incanter-charts "1.5.6"]
                  [io.aviso/pretty "0.1.23"]
-                 [org.clojure/clojure "1.9.0-alpha4"]
+                 [org.clojure/clojure "1.9.0-alpha5"]
                  [org.clojure/tools.cli "0.3.3"]
                  [prismatic/schema "1.0.4"]]
   :plugins [[io.aviso/pretty "0.1.23"]]


Update Clojure dependency to 1.5.1 and add project metadata

--- project.clj
+++ project.clj
@@ -41,8 +41,16 @@

 (defproject overtone "0.9.0-SNAPSHOT"
   :description "Collaborative Programmable Music. (http://overtone.github.com)"
-  :url "http://overtone.github.com/"
-  :dependencies [[org.clojure/clojure "1.3.0"]
+  :url "http://overtone.github.io/"
+  :mailing-list {:name "overtone"
+                 :archive "https://groups.google.com/group/overtone"
+                 :post "overtone@googlegroups.com"}
+  :license {:name "The MIT License (MIT)"
+            :url "http://opensource.org/licenses/MIT"
+            :distribution :repo
+            :comments "Please use Overtone for good"}
+
+  :dependencies [[org.clojure/clojure "1.5.1"]
                  [org.clojure/core.incubator "0.1.0"]
                  [org.clojure/data.json "0.1.2"]
                  [clj-native "0.9.3"]
@@ -62,4 +70,5 @@
                    :gui  :gui
                    :hw   :hw}
   :native-path "native"
+  :min-lein-version "2.0.0"
   :jvm-opts ^:replace ~(jvm-opts))


Upgrade libraries (reagent, clojurescript, doo, figwheel, devcards)

--- project.clj
+++ project.clj
@@ -4,9 +4,9 @@
   :license {:name "MIT"
             :url "https://opensource.org/licenses/MIT"}
   :min-lein-version "2.7.1"
-  :dependencies [[reagent "0.6.1"]]
-  :plugins [[lein-figwheel "0.5.10"]
-            [lein-doo "0.1.7"]
+  :dependencies [[reagent "0.7.0"]]
+  :plugins [[lein-figwheel "0.5.14"]
+            [lein-doo "0.1.8"]
             [lein-cljsbuild "1.1.3" :exclusions [[org.clojure/clojure]]]]
   :source-paths ["src"]

@@ -16,11 +16,11 @@
   :aliases {"testing" ["do" ["clean"] ["doo" "phantom" "test" "once"]]}

   :profiles {:dev {:dependencies [[org.clojure/clojure "1.9.0-alpha17"]
-                                  [org.clojure/clojurescript "1.9.562"]
-                                  [doo "0.1.7"]
-                                  [com.cemerick/piggieback "0.2.1"]
-                                  [figwheel-sidecar "0.5.10"]
-                                  [devcards "0.2.3" :exclusions [[cljsjs/react]]]]
+                                  [org.clojure/clojurescript "1.9.946"]
+                                  [doo "0.1.8"]
+                                  [com.cemerick/piggieback "0.2.2"]
+                                  [figwheel-sidecar "0.5.14"]
+                                  [devcards "0.2.4" :exclusions [[cljsjs/react]]]]
                    :source-paths ["src" "devcards"]
                    :resource-paths ["devresources"]
                    :cljsbuild {:builds [{:id "dev"


Release version 0.8.0.3.

Release version 0.8.0.3.

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


Revert "Version 0.4.9"

Revert "Version 0.4.9"

This reverts commit 218eed59

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject duratom "0.4.9"
+(defproject duratom "0.4.9-SNAPSHOT"
   :description "A durable atom/agent type for Clojure."
   :url "https://github.com/jimpil/duratom"
   :license {:name "Eclipse Public License"


Version 1.9.4-SNAPSHOT

Version 1.9.4-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject puppetlabs/lein-ezbake "1.9.3"
+(defproject puppetlabs/lein-ezbake "1.9.4-SNAPSHOT"
   :description "A system for building packages for trapperkeeper-based applications"
   :url "https://github.com/puppetlabs/ezbake"
   :license {:name "Apache License 2.0"


Update for snapshot.

Update for snapshot.

--- project.clj
+++ project.clj
@@ -21,7 +21,7 @@
 ;;
 ;; You must not remove this notice, or any other, from this software.

-(defproject com.mschaef/sql-file "0.4.5"
+(defproject com.mschaef/sql-file "0.4.6-SNAPSHOT"

   :description "One stop shopping for embedding an HSQLDB database and managing schemas for same."


Added clj-time (required for random-poller..)

--- project.clj
+++ project.clj
@@ -22,6 +22,7 @@
                  [com.novemberain/monger "1.5.0"]
                  [org.postgresql/postgresql "9.2-1002-jdbc4"]
                  [korma "0.3.0-RC5"]
+                 [clj-time "0.6.0"]
                  [environ "0.4.0"]]
   :profiles {:dev {:dependencies [[org.clojure/tools.trace "0.7.6"]
                                   [criterium "0.4.2"]


simple-check -> test.check

simple-check -> test.check

--- project.clj
+++ project.clj
@@ -20,7 +20,7 @@
   {;; :default [:base :system :user :provided :dev]
    :1.6  {:dependencies [[org.clojure/clojure "1.6.0-beta1"]]}
    :test {:dependencies [[expectations            "1.4.56"]
-                         [reiddraper/simple-check "0.5.6"]]
+                         [org.clojure/test.check  "0.5.7"]]
           :plugins [[lein-expectations "0.0.8"]
                     [lein-autoexpect   "1.2.2"]]}
    :dev* [:dev {:jvm-opts ^:replace ["-server"]


Version 0.1.3-SNAPSHOT

Version 0.1.3-SNAPSHOT

--- project.clj
+++ project.clj
@@ -1,6 +1,6 @@
 (def ks-version "1.0.0")

-(defproject puppetlabs/jdbc-util "0.1.2"
+(defproject puppetlabs/jdbc-util "0.1.3-SNAPSHOT"
   :description "Common JDBC helpers for use in Puppet Labs projects"
   :url "https://github.com/puppetlabs/jdbc-util"


fixed lein deps output

fixed lein deps output

--- project.clj
+++ project.clj
@@ -9,13 +9,18 @@
                  [ring/ring-devel "1.5.0"]             ;; for server to be compatible with ring spec
                  [environ "1.1.0"]                     ;; to read environmental vars, including ones on profiles.clj
                  [compojure "1.5.1"]                   ;; routing library
-                 [jarohen/chime "0.1.9"]               ;; handle cron jobs
+                 [jarohen/chime "0.2.0" :exclusions [org.clojure/core.memoize
+                                                     org.clojure/tools.reader]] ;; handle cron jobs
                  [org.clojure/data.csv "0.1.3"]        ;; read and write csv files
-                 [com.taoensso/timbre "4.7.4"]         ;; logging library
+                 [com.taoensso/timbre "4.8.0" :exclusions [org.clojure/tools.reader]] ;; logging library
                  [org.clojure/tools.nrepl "0.2.12"]    ;; start narepl server, to connect repl client to running app instance
                  [prismatic/schema "1.1.3"]            ;; generate docs, validate data schema
                  [yesql "0.5.3"]                       ;; SQL -> clojure
-                 [metosin/compojure-api "1.1.10"]      ;; Generates /api-docs api documentation
+                 [metosin/compojure-api "1.1.10" :exclusions [ring/ring-core
+                                                              compojure
+                                                              commons-codec
+                                                              clj-time
+                                                              org.clojure/tools.reader]] ;; Generates /api-docs api documentation
                  [org.clojure/java.jdbc "0.6.2-alpha1"] ;; To connecto to database with java
                  [mysql/mysql-connector-java "5.1.6"]  ;; mysql jdbc adapter
                  [liberator "0.13"]]                   ;; RESTful resources with for APIs, with LOTS of defaults
@@ -24,5 +29,5 @@
   :main ^:skip-aot restaurant-inspections-api.core     ;; skip ahead of time compilation on REPL
   :profiles {:uberjar {:aot :all}                      ;; ahead of time compilation for release
              :dev {:plugins [[lein-kibit "0.1.2"]
-                             [lein-cloverage "1.0.7"]
-                             [lein-cljfmt "0.5.6"]]}})
+                             [lein-cljfmt "0.5.6" :exclusions [org.clojure/clojure]]
+                             [lein-cloverage "1.0.7" :exclusions [org.clojure/clojure]]]}})


Update dependency lein-cljfmt:lein-cljfmt to v0.7.0

--- project.clj
+++ project.clj
@@ -10,7 +10,7 @@
                  [org.clojure/data.json "1.0.0"]
                  [clj-http "3.10.2"]
                  [slingshot "0.12.2"]]
-  :plugins [[lein-cljfmt "0.6.8"]]
+  :plugins [[lein-cljfmt "0.7.0"]]
   :main ^:skip-aot strava-activity-graphs.core
   :target-path "target/%s"
   :profiles {:uberjar {:aot :all}})


bumped crosshair to release version

bumped crosshair to release version

--- project.clj
+++ project.clj
@@ -9,7 +9,7 @@
                  [org.clojure/tools.cli "0.3.1"]
                  [org.clojure/tools.logging "0.2.6"]
                  [org.clojure/tools.reader "0.8.4"]
-                 [matross/crosshair "0.1.0-SNAPSHOT"]
+                 [matross/crosshair "0.1.0"]
                  [matross/mapstache "0.2.0"]
                  [matross/strata "0.1.0"]
                  [com.cemerick/pomegranate "0.3.0"]


Update alpn-agent, now under Jetty stewardship

--- project.clj
+++ project.clj
@@ -30,7 +30,5 @@
                                   [org.hornetq/hornetq-server "2.3.25.Final"]
                                   [org.jboss.jbossts.jta/narayana-jta "4.17.29.Final"]]
                    :immutant {:war {:resource-paths ["eap-resources"]}}}
-             :http2 {:java-agents ~(if (re-matches #"1.7.*" (System/getProperty "java.version"))
-                                     '[[kr.motd.javaagent/jetty-alpn-agent "1.0.0.Final"]]
-                                     '[[org.mortbay.jetty.alpn/jetty-alpn-agent "2.0.3"]])
+             :http2 {:java-agents [[org.mortbay.jetty.alpn/jetty-alpn-agent "2.0.3"]]
                      :env {:ssl-port 8443, :http2? true}}})


Move some stuff in project file.

Move some stuff in project file.

--- project.clj
+++ project.clj
@@ -37,7 +37,6 @@

   :plugins [
     [lein-ring "0.9.2"] ; common ring tasks https://github.com/weavejester/lein-ring
-    [lein-cljsbuild "1.0.5"] ; ClojureScript compiler https://github.com/emezeske/lein-cljsbuild
     [lein-environ "1.0.0"] ; Get environment settings from lein project https://github.com/weavejester/environ
   ]

@@ -71,6 +70,7 @@
         [org.clojure/tools.trace "0.7.6"] ; Tracing macros/fns https://github.com/clojure/tools.trace
       ]
       :plugins [
+        [lein-cljsbuild "1.0.5"] ; ClojureScript compiler https://github.com/emezeske/lein-cljsbuild
         [lein-bikeshed "0.2.0"] ; Check for code smells https://github.com/dakrone/lein-bikeshed
         [lein-kibit "0.0.8"] ; Static code search for non-idiomatic code https://github.com/jonase/kibit
         [lein-checkall "0.1.1"] ; Runs bikeshed, kibit and eastwood https://github.com/itang/lein-checkall
@@ -81,7 +81,7 @@
         [lein-cljfmt "0.1.9"] ; Code formatting https://github.com/weavejester/cljfmt
         [venantius/ultra "0.3.2"] ; Enhancement's to Leiningen's REPL https://github.com/venantius/ultra
       ]
-      ;; Lein REPL colors
+      ;; REPL colors
       :ultra {:color-scheme :solarized_dark}
       ;; REPL injections
       :injections [


Use safe incognito set reader.

Use safe incognito set reader.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject io.replikativ/replikativ "0.1.0-beta3"
+(defproject io.replikativ/replikativ "0.1.0-beta4"
   :description "A scalable distributive p2p system for confluent replicated data types."
   :url "http://github.com/replikativ/replikativ"
   :license {:name "Eclipse Public License"
@@ -12,7 +12,7 @@
                  [http.async.client "0.6.0"]
                  [es.topiq/full.async "0.2.8-beta1"]
                  [io.replikativ/hasch "0.3.0-beta4"]
-                 [io.replikativ/konserve "0.3.0-beta1"]
+                 [io.replikativ/konserve "0.3.0-beta2"]
                  [com.taoensso/timbre "4.0.2"]]
   :profiles {:dev {:dependencies [[midje "1.6.3"]
                                   [com.cemerick/piggieback "0.2.1"]


Prepare for next release cycle.

Prepare for next release cycle.

--- project.clj
+++ project.clj
@@ -1,4 +1,4 @@
-(defproject onyx-cheat-sheet "0.12.0.0-rc1"
+(defproject onyx-cheat-sheet "0.12.0.0-SNAPSHOT"
   :description "Cheat sheet for Onyx"
   :url "https://github.com/onyx-platform/onyx-cheat-sheet"
   :license {:name "Eclipse Public License"


Add class for old-recordings message.

Add class for old-recordings message.

--- src/beebster_clj/views.clj
+++ src/beebster_clj/views.clj
@@ -88,8 +88,9 @@
     [:p "No matches found."])
    (some #(re-find #"These programmes should" %) resultlist)
    (html
-    (for [i resultlist]
-      [:p (str i)]))
+    [:div.oldrec
+     (for [i resultlist]
+       [:p (str i)])])
    :else
    (let [comb (combine-list resultlist)]
      (html


Fix test assertion order.

Fix test assertion order.

--- src/blocks/store/tests.clj
+++ src/blocks/store/tests.clj
@@ -132,7 +132,7 @@
                          (:limit query)
                            (take (:limit query)))]
       (is (sequential? result))
-      (is (= (count result) (count expected-ids)))
+      (is (= (count expected-ids) (count result)))
       (doseq [[id stat] (zipmap expected-ids result)]
         (if-let [block (get model id)]
           (do (is (map? stat))


delaney.clj: use Java interop syntax to access DSymbol fields.

--- clojure/org/gavrog/clojure/delaney.clj
+++ clojure/org/gavrog/clojure/delaney.clj
@@ -29,22 +29,6 @@
   (indices [ds] (iterator-seq (.indices ds)))
   (s [ds i D] (when (.definesOp ds i D) (.op ds i D)))
   (v [ds i j D] (when (.definesV ds i j D) (.v ds i j D))))
-
-
-;; === Private functions for IDSymbol instances
-
-(defn- ops [ds]
-  (into {} (for [i (indices ds)]
-             [i (into {} (for [D (elements ds)
-                               :when (s ds i D)]
-                           [D (s ds i D)]))])))
-
-(defn- vs [ds]
-  (into {} (for [i (indices ds)
-                 :when (index? ds (inc i))]
-             [i (into {} (for [D (elements ds)
-                               :when (v ds i (inc i) D)]
-                           [D (v ds i (inc i) D)]))])))

 ;; === Exportable functions for IDSymbol instances
@@ -214,15 +198,15 @@
           (and (satisfies? IDSymbol other)
                (= (indices self) (indices other))
                (= (elements self) (elements other))
-               (= (ops self) (ops other))
-               (= (vs self) (vs other)))))
+               (= (.s# self) (.s# other))
+               (= (.v# self) (.v# other)))))

 (defmethod print-method DSymbol [ds ^Writer w]
   (print-method (list (symbol "DSymbol.")
                       (dim ds)
                       (size ds)
-                      (ops ds)
-                      (vs ds))
+                      (.s# ds)
+                      (.v# ds))
                 w))

 (defmulti dsymbol class)


Plug inputs in so that they can be variable or constants.

--- src/klangmeister/instruments.cljs
+++ src/klangmeister/instruments.cljs
@@ -1,13 +1,22 @@
 (ns klangmeister.instruments)
+
+(defn run [ugen at context]
+  (ugen at context))
+
+(defn plug [param input at context]
+  "Plug an input into an audio parameter,
+  accepting both numbers and ugens."
+  (if (fn? input)
+    (.connect (input at context) param)
+    (.setValueAtTime param input at)))

 (defn gain [level]
   (fn [at context]
     (doto (.createGain context)
-      (-> .-gain (.setValueAtTime level at)))))
-
+      (-> .-gain (plug level at context)))))

 (defn line
-  "Build a line out of [x y] coordinates, starting at [0 0]."
+  "Build a line out of [dx y] coordinates, starting at [0 0]."
   [& corners]
   (fn [at context]
     (let [node (.createGain context)
@@ -43,7 +52,7 @@
 (defn oscillator [type freq duration]
   (fn [at context]
     (doto (.createOscillator context)
-      (-> .-frequency .-value (set! freq))
+      (-> .-frequency (plug freq at context))
       (-> .-type (set! type))
       (.start at)
       (.stop (+ at duration)))))
@@ -52,17 +61,10 @@
 (def saw (partial oscillator "sawtooth"))
 (def square (partial oscillator "square"))

-(defn modulator [freq duration]
-  (fn [at context]
-    (let [modulatee (saw freq duration)
-          carrier (>> (sin-osc 2 duration) (gain freq))]
-      ((connect carrier (.-frequency modulatee)) at context)
-      modulatee)))
-
 (defn biquad-filter [type freq]
   (fn [at context]
     (doto (.createBiquadFilter context)
-      (-> .-frequency .-value (set! freq))
+      (-> .-frequency (plug freq at context))
       (-> .-type (set! type)))))

 (def lpf (partial biquad-filter "lowpass"))
@@ -73,12 +75,9 @@

 (defn blend [ugen1 ugen2]
   (fn [at context]
-    (let [one (ugen1 at context)
-          two (ugen2 at context)
-          sink ((gain 1.0) at context)]
-      (.connect one sink)
-      (.connect two sink)
-      sink)))
+    (doto ((gain 1.0) at context)
+      (-> .-gain (plug ugen1 at context))
+      (-> .-gain (plug ugen2 at context)))))

 (defn >< [& nodes]
   (reduce blend nodes))


removed emacs temp file

removed emacs temp file


Refactor control flow.

Refactor control flow.

* One go block issues a start command when it is time to start updating instrument.
* Instrument go block starts updating instrument and sending out latest instrument states on a channel.
* Draw go block listens on instrument state channel and draws instrument.

--- src/musicbox/one.cljs
+++ src/musicbox/one.cljs
@@ -112,16 +112,31 @@
 (let [canvas-id "canvas"
       draw-ctx (util/get-ctx canvas-id)
       instrument (update-size (create-instrument (scales/c-minor)) canvas-id)
+      c-program-state (chan)
+      c-instrument (chan)
       c-orientation-change (util/listen js/window :orientation-change)
       c-touch-start (util/listen (dom/getElement canvas-id) :touchstart)
       c-touch-end (util/listen (dom/getElement canvas-id) :touchend)]

   (go
    (<! c-touch-start) (<! c-touch-end) ;; start after first touch so don't break sound
+   (>! c-program-state "start"))

+  (go
+   (draw-start-screen draw-ctx)
+   (loop [instrument (<! c-instrument)]
+     (let [[data c] (alts! [c-instrument (timeout 30)])]
+       (condp = c
+         c-instrument (recur data)
+         (do (draw-instrument draw-ctx instrument)
+             (recur instrument))))))
+
+  (go
+   (<! c-program-state)
    (loop [instrument instrument]
-     (draw draw-ctx instrument)
-     (let [[data c] (alts! [c-touch-start c-touch-end c-orientation-change])]
+     (>! c-instrument instrument)
+     (let [[data c] (alts! [c-touch-start c-touch-end
+                            c-orientation-change])]
        (condp = c
          c-orientation-change (recur (update-size instrument canvas-id))
          (recur (reduce fire-event-on-instrument


CMR-736: Refactored in response to pull request comment.

--- src/cmr/search/services/parameters/conversion.clj
+++ src/cmr/search/services/parameters/conversion.clj
@@ -206,15 +206,19 @@
         [(qm/string-condition :granule-ur value case-sensitive pattern)
          (qm/string-condition :producer-granule-id value case-sensitive pattern)]))))

-(defn- collection-data-type-param->regex
+(defn- collection-data-type-matches-science-quality?
   "Convert the collection-data-type parameter with wildcards to a regex. This function
   does not fully handle escaping special characters and is only intended for handling
   the special case of SCIENCE_QUALITY."
-  [param]
-  (-> param
-      (str/replace #"\?" ".")
-      (str/replace #"\*" ".*")
-      re-pattern))
+  [param case-sensitive]
+  (let [param (if case-sensitive
+                (str/upper-case param)
+                param)
+        pattern (-> param
+                    (str/replace #"\?" ".")
+                    (str/replace #"\*" ".*")
+                    re-pattern)]
+    (re-find pattern "SCIENCE_QUALITY")))

 (defmethod parameter->condition :collection-data-type
   [concept-type param value options]
@@ -231,11 +235,7 @@
               (and (= "SCIENCE_QUALITY" (str/upper-case value))
                    (not= "false" (get-in options [:collection-data-type :ignore-case])))
               (and pattern
-                   (re-find
-                     (collection-data-type-param->regex (if case-sensitive
-                                                          (str/upper-case value)
-                                                          value))
-                     "SCIENCE_QUALITY")))
+                   (collection-data-type-matches-science-quality? value case-sensitive)))
         ; SCIENCE_QUALITY collection-data-type should match concepts with SCIENCE_QUALITY
         ; or the ones missing collection-data-type field
         (qm/or-conds


numargs is a transient vector now

numargs is a transient vector now

should have been from the start

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

--- src/conexp/contrib/algorithms/downing_gallier.clj
+++ src/conexp/contrib/algorithms/downing_gallier.clj
@@ -21,23 +21,21 @@
                                            (premise impl)))
                                  {}
                                  (map vector (range) implications))
-        numargs          (into {} (map vector
-                                       (range)
-                                       (map (comp count premise) implications)))]
+        numargs          (into [] (map (comp count premise) implications))]
     [implications where-in-premise numargs]))

 (defn close-with-downing-gallier [[implications in-premise numargs] input-set]
-  (let [numargs                    (reduce (fn [numargs i]
-                                             (assoc numargs i (dec (get numargs i))))
-                                           numargs
-                                           (mapcat in-premise input-set))]
-    (loop [queue   (reduce (fn [queue [i c]]
-                             (if (zero? c)
+  (let [numargs  (reduce (fn [numargs i]
+                           (assoc! numargs i (dec (get numargs i))))
+                         (transient numargs)
+                         (mapcat in-premise input-set))]
+    (loop [queue   (reduce (fn [queue i]
+                             (if (zero? (get numargs i))
                                (conj queue i)
                                queue))
                            (clojure.lang.PersistentQueue/EMPTY)
-                           numargs),
-           numargs (transient numargs)
+                           (range (count numargs))),
+           numargs numargs
            result  input-set]
       (if (empty? queue)
         result


Whitespace

Whitespace

--- src/playmary/one.cljs
+++ src/playmary/one.cljs
@@ -197,6 +197,7 @@
     (-> instrument
         (assoc :notes (map (fn [n] (if (note-off? n) (assoc n :off playhead) n)) notes))
         (->> (reduce-val->> stop-piano-key (->> notes (filter note-off?) (map :freq)))))))
+
 (defn x-distance
   [{{end-x :x} :position :as t} instrument]
   (- (get-in instrument [:cur-touches (t :touch-id) :position :x]) end-x))


added a standard deviation fold

added a standard deviation fold

--- src/riemann/folds.clj
+++ src/riemann/folds.clj
@@ -169,3 +169,14 @@
   "Returns the maximum event, by metric."
   [events]
   (apply max-key :metric (filter #(and % (:metric %)) events)))
+
+(defn std-dev
+  "calculates standard deviation across a seq of events"
+  [events]
+  (when-let [e (some identity events)]
+    (let [
+      samples (map :metric events)
+      n (count samples)
+      mean (/ (reduce + samples) n)
+      intermediate (map #(Math/pow (- %1 mean) 2) samples)]
+      (assoc e :metric (Math/sqrt (/ (reduce + intermediate) n))))))


uncommenting storing again on redis since it seems to work now

--- src/setlista/core.clj
+++ src/setlista/core.clj
@@ -16,7 +16,7 @@
 (defn search
   ([artist] (search artist ""))
   ([artist date]
-     ;(search-history/save artist date)
+     (search-history/save artist date)
      (println artist date)
      (let [url (format "%s?artistName=%s&date=%s" setlist-api artist date)]
        (println url)


indentation commit

indentation commit

--- src/terraboot/vpc.clj
+++ src/terraboot/vpc.clj
@@ -108,34 +108,34 @@
                                        })

              (elb "chronograf" resource {:name "chronograf"
-                                       :health_check {:healthy_threshold 2
-                                                      :unhealthy_threshold 3
-                                                      :target "HTTP:80/status"
-                                                      :timeout 5
-                                                      :interval 30}
-                                       :cert_name "265132466347680684417566576640082540205789-2016-06-30-chronograf_mastodonc_net" ; This was obtained via Lets Encrypt
-                                       :instances [(id-of "aws_instance" "influxdb")]
-                                       :subnets (mapv #(id-of "aws_subnet" (stringify  vpc-name "-public-" %)) azs)
-                                       :sgs ["allow_outbound"
-                                             "allow_external_http_https"
-                                             "sandpit-elb_chronograf"
-                                             ]})
+                                         :health_check {:healthy_threshold 2
+                                                        :unhealthy_threshold 3
+                                                        :target "HTTP:80/status"
+                                                        :timeout 5
+                                                        :interval 30}
+                                         :cert_name "265132466347680684417566576640082540205789-2016-06-30-chronograf_mastodonc_net" ; This was obtained via Lets Encrypt
+                                         :instances [(id-of "aws_instance" "influxdb")]
+                                         :subnets (mapv #(id-of "aws_subnet" (stringify  vpc-name "-public-" %)) azs)
+                                         :sgs ["allow_outbound"
+                                               "allow_external_http_https"
+                                               "sandpit-elb_chronograf"
+                                               ]})

              (route53_record "chronograf" {:type "CNAME"
                                            :records [(output-of "aws_elb" "chronograf" "dns_name")]})

              (vpc-security-group "elb_chronograf" {})
              (vpc-security-group "allow_elb_chronograf" {}
-                             {:port 80
-                              :source_security_group_id (vpc-id-of "aws_security_group" "elb_chronograf")})
+                                 {:port 80
+                                  :source_security_group_id (vpc-id-of "aws_security_group" "elb_chronograf")})

              (vpc-security-group "influxdb" {}
-                             {:port 222
-                              :protocol "tcp"
-                              :cidr_blocks [all-external]}
-                             {:port 8086
-                              :protocol "tcp"
-                              :source_security_group_id (vpc-id-of "aws_security_group" "sends_influx")})
+                                 {:port 222
+                                  :protocol "tcp"
+                                  :cidr_blocks [all-external]}
+                                 {:port 8086
+                                  :protocol "tcp"
+                                  :source_security_group_id (vpc-id-of "aws_security_group" "sends_influx")})

              (vpc-security-group "sends_influx" {})


handle pages with no article :data-title attribute

--- src/yablog/server.clj
+++ src/yablog/server.clj
@@ -14,6 +14,7 @@
             [yablog.rss :as rss]
             [ring.util.response :as resp]
             [clojure.walk :as w]
+            [clojure.string :as str]
             [clojure.xml :as xml]))

 (defn recent-posts-box [req]
@@ -51,14 +52,14 @@
        [:head
         [:link {:href (conf/stylesheet conf)
                 :rel "stylesheet"}]
-        [:title title " - " (:title conf)]]
+        [:title (str/join " - " (remove not [title (:title conf)]))]]
        (w/postwalk-replace
         (conf/replacements conf)
         [:body
          [:header
           [:a {:href "/"}
            [:div {:class "title"}
-            title " - " (:title conf)]]]
+            (str/join " - " (remove not [title (:title conf)]))]]]
          hic
          [:aside
           [:bio]


Convert seed before use

Convert seed before use

--- src/caesium/crypto/box.clj
+++ src/caesium/crypto/box.clj
@@ -48,7 +48,7 @@
   ([seed]
    (let [pk (bb/alloc publickeybytes)
          sk (bb/alloc secretkeybytes)]
-     (keypair-to-buf! pk sk seed)
+     (keypair-to-buf! pk sk (bb/->indirect-byte-buf seed))
      {:public pk :secret sk})))

 (def ^:deprecated generate-keypair


Extract headings from md when building the path to number mapping

--- src/catalog/layout/fop.clj
+++ src/catalog/layout/fop.clj
@@ -426,6 +426,13 @@
    endophile/to-clj
    (walk/postwalk #(visitor % path path-to-numbers))))

+(defn- md-extract-headings [markdown]
+  (->>
+   markdown
+   endophile/mp
+   endophile/to-clj
+   (filter #(#{:h1 :h2 :h3 :h4} (:tag %)))
+   (map (comp string/join :content))))

 (defn- branch? [node]
   (when-let [ks (and (map? node) (keys node))]
@@ -440,13 +447,20 @@
   "Walk a tree and build a list of path and corresponding numbering
   pairs."
   [node path numbers]
-  (if (branch? node)
+  (cond
+    (branch? node)
     (concat
      [path numbers]
+     ;; walk the tree of catalog items
      (mapcat-indexed
       (fn [n k] (tree-walk (get node k) (conj path k) (conj numbers (inc n))))
       (order (keys node))))
-    [path numbers]))
+    (and (string? node) (not-empty (md-extract-headings node)))
+    ;; walk the tree with markdown
+    (mapcat-indexed
+      (fn [n heading] (tree-walk heading (conj path heading) (conj numbers (inc n))))
+      (md-extract-headings node))
+    :else [path numbers]))

 (defn- path-to-number
   "Return a map of path to number vector mapping. This can be used to


fix to binop.

fix to binop.

--- src/clj/minijava/munch.clj
+++ src/clj/minijava/munch.clj
@@ -117,7 +117,7 @@
                     (munch rand2))))

-(defmethod munchMap [:minijava.ir/BinaryOp :+:minijava.ir/Const  :minijava.exp/expression]
+(defmethod munchMap [:minijava.ir/BinaryOp :+ :minijava.exp/expression :minijava.ir/Const ]
   [exp op rand1 rand2]
         (emit (addl (CONST (:val rand2))
                     (munch rand1))))


Fixed email verification time limit

Fixed email verification time limit

--- src/clj/salava/user/db.clj
+++ src/clj/salava/user/db.clj
@@ -214,7 +214,7 @@
   (let [{:keys [user_id email verified verification_key mtime]} (select-email-by-verification-key {:verification_key key :user_id user-id} (into {:result-set-fn first} (get-db ctx)))
         verified-emails (verified-email-addresses ctx user-id)]
     (try+
-     (if-not (and email (= user_id user-id) (not verified) (= key verification_key) (>= mtime (- (unix-time) 86400)))
+      (if-not (and email (= user_id user-id) (not verified) (= key verification_key) (>= mtime (- (unix-time) (* 5 24 60 60))))
        (throw+ {:status "error"}))
      (if-not activated
        (update-user-activate! {:id user_id} (get-db ctx)))


Initial play with REST API

Initial play with REST API

--- src/clj/skytwit/server.clj
+++ src/clj/skytwit/server.clj
@@ -6,8 +6,28 @@
             [ring.middleware.gzip :refer [wrap-gzip]]
             [ring.middleware.logger :refer [wrap-with-logger]]
             [environ.core :refer [env]]
-            [ring.adapter.jetty :refer [run-jetty]])
+            [ring.adapter.jetty :refer [run-jetty]]
+            [twitter.oauth :as oauth]
+            [twitter.callbacks :as cb]
+            [twitter.callbacks.handlers :as twh]
+            [twitter.api.restful :as tr])
   (:gen-class))
+
+(def credentials (oauth/make-oauth-creds (env :oauth-consumer-key)
+                                         (env :oauth-consumer-secret)
+                                         (env :oauth-app-key)
+                                         (env :oauth-app-secret)))
+
+(comment
+(->> (tr/statuses-user-timeline
+       :oauth-creds credentials
+       :params {:screen-name "AdamJWynne"})
+     :body
+     (map (comp :hashtags :entities))
+     (remove empty?)
+     (mapcat #(map :text %))
+     frequencies)
+)

 (defroutes routes
   (GET "/" _


Sort unconditional inserts by fact-id

Sort unconditional inserts by fact-id

--- src/cljc/precept/repl.cljc
+++ src/cljc/precept/repl.cljc
@@ -147,8 +147,9 @@
            session-def (first (filter #(= session-name (:name %)) session-defs))]
        (remove-stale-productions! env/*compiler* stale-productions)
        ;(build-api/mark-cljs-ns-for-recompile! (:ns-name session-def))
-       `(let [uncond-inserts# (vec (remove #(= (:e %) :transient)
-                                     @precept.state/unconditional-inserts))
+       `(let [uncond-inserts# (sort-by :t
+                                (vec (remove #(= (:e %) :transient)
+                                       @precept.state/unconditional-inserts)))
               max-fact-id# (if (empty? uncond-inserts#) -1 (apply max (map :t uncond-inserts#)))
               session-ns# '~(:ns-name session-def)
               session-name# '~(:name session-def)]


render-component is deprecated in favour of render

--- src/cljs/cglossa/core.cljs
+++ src/cljs/cglossa/core.cljs
@@ -35,7 +35,7 @@
 (get-models "/corpus" {:code "scandiasyn"})

 (defn ^:export main []
-  (reagent/render-component
+  (reagent/render
     [app app-state model-state]
     (. js/document (getElementById "app"))))


remove unused route

remove unused route

--- src/cljs/unfolds/core.cljs
+++ src/cljs/unfolds/core.cljs
@@ -195,12 +195,6 @@
       (go (loop []
             (let [id (<! (om/get-state owner :current-item))]
               (cond
-               (= id :none)
-               (do
-                 (.setToken history "/")
-                 (om/update! app :items
-                             (vec (<! (util/edn-chan {:url "/items"})))))
-
                (= id :new)
                (do
                  (.setToken history "/new")


Avoiding using subs/unit-at

Avoiding using subs/unit-at

--- src/cljs/zetawar/subs.cljs
+++ src/cljs/zetawar/subs.cljs
@@ -248,7 +248,6 @@
                                     :unit-type/description
                                     :unit-type/can-capture
                                     :unit-type/can-repair
-                                    :unit-type/armor-type
                                     :unit-type/min-range
                                     :unit-type/max-range
                                     :unit-type/image]}]
@@ -456,8 +455,9 @@

 (deftrack compatible-armor-types-for-repair? [conn targeted-q targeted-r]
   (when-let [[selected-q selected-r] @(selected-hex conn)]
-    (game/compatible-armor-types-for-repair? @conn @(game conn) @(unit-at conn selected-q selected-r)
-                                                                @(unit-at conn targeted-q targeted-r))))
+    (game/compatible-armor-types-for-repair? @conn @(game conn)
+                                             (game/unit-at @conn @(game conn) selected-q selected-r)
+                                             (game/unit-at @conn @(game conn) targeted-q targeted-r))))

 (deftrack selected-can-capture? [conn]
   (when-let [[q r] @(selected-hex conn)]


Drop scm and author from api results.

Drop scm and author from api results.

--- src/clojars/routes/api.clj
+++ src/clojars/routes/api.clj
@@ -24,7 +24,7 @@

 (defn jars-by-groupname [groupname]
     (exec-raw [(str
-              "select j.jar_name, j.group_name, authors, scm, homepage, description, user, "
+              "select j.jar_name, j.group_name, homepage, description, user, "
               "j.version as latest_version, r.version as latest_release "
               "from jars j "
               ;; Find the latest version


Ensure CORS conformity on /api

Ensure CORS conformity on /api

--- src/clojars/routes/api.clj
+++ src/clojars/routes/api.clj
@@ -1,7 +1,8 @@
 (ns clojars.routes.api
   (:require [clojars
              [db :as db]
-             [stats :as stats]]
+             [stats :as stats]
+             [http-utils :refer [wrap-cors-headers]]]
             [compojure
              [core :as compojure :refer [ANY context GET]]
              [route :refer [not-found]]]
@@ -47,4 +48,5 @@

 (defn routes [db stats]
   (-> (handler db stats)
+      (wrap-cors-headers)
       (wrap-restful-response :formats [:json :edn :yaml :transit-json])))


set video data to nil instead of removing

--- src/oc/storage/api/entries.clj
+++ src/oc/storage/api/entries.clj
@@ -166,8 +166,8 @@
             updated-entry (:updated-entry ctx)
             updated-video (if (not= (:video-id updated-entry) (:video-id entry))
                             (-> updated-entry
-                                (dissoc :video-processed)
-                                (dissoc :video-transcript))
+                                (assoc :video-processed nil)
+                                (assoc :video-transcript nil))
                             updated-entry)
             updated-result (entry-res/update-entry! conn (:uuid updated-video) updated-video user)]
     (let [old-board (:moving-board ctx)]


Rewrite <resolve-lookup-refs to work for lookup refs.

Note that `go` (and `go-pair`) don't descend into `for` comprehensions
and other situations in which a fn is created. This commit rewrites to
use nested `loop`s, and also improves use of `<av`.

--- src/datomish/transact.cljc
+++ src/datomish/transact.cljc
@@ -209,23 +209,48 @@
       (->> (update-txInstant db*)))))

 (defn- lookup-ref? [x]
-  "Return true if `x` is like [:attr value]."
+  "Return `x` if `x` is like [:attr value], false otherwise."
   (and (sequential? x)
        (= (count x) 2)
        (or (keyword? (first x))
-           (integer? (first x)))))
+           (integer? (first x)))
+       x))

 (defn <resolve-lookup-refs [db report]
   {:pre [(db/db? db) (report? report)]}

-  (go-pair
-    (->>
-      (vec (for [[op & entity] (:entities report)]
-             (into [op] (for [field entity]
-                          (if (lookup-ref? field)
-                            (first (<? (apply db/<av db field)))
-                            field)))))
-      (assoc-in report [:entities])))) ;; TODO: meta.
+  (let [entities (:entities report)]
+    ;; TODO: meta.
+    (go-pair
+      (if (empty? entities)
+        report
+        (assoc-in
+          report [:entities]
+          ;; We can't use `for` because go-pair doesn't traverse function boundaries.
+          ;; Apologies for the tortured nested loop.
+          (loop [[op & entity] (first entities)
+                 next (rest entities)
+                 acc []]
+            (if (nil? op)
+              acc
+              (recur (first next)
+                     (rest next)
+                     (conj acc
+                           (loop [field (first entity)
+                                  rem (rest entity)
+                                  acc [op]]
+                             (if (nil? field)
+                               acc
+                               (recur (first rem)
+                                      (rest rem)
+                                      (conj acc
+                                            (if-let [[a v] (lookup-ref? field)]
+                                              (or
+                                                ;; The lookup might fail! If so, throw.
+                                                (:e (<? (db/<av db a v)))
+                                                (raise "No entity found with attr " a " and val " v "."
+                                                       {:a a :v v}))
+                                              field))))))))))))))

 (declare <resolve-id-literals)


Add perl to default program functions

Add perl to default program functions

--- src/aerobio/pgmgraph.clj
+++ src/aerobio/pgmgraph.clj
@@ -68,7 +68,7 @@
   (programs bcl2fastq samtools
             bowtie bowtie2 featureCounts tophat
             cufflinks cuffmerge cuffcompare cuffdiff
-            Rscript python ruby
+            Rscript python ruby perl
             bp_load_genbank
             ))


Fix non-parsing sketch code

Fix non-parsing sketch code

--- src/aurora/language.cljs
+++ src/aurora/language.cljs
@@ -1,3 +1,5 @@
+(when js/aurora (set! js/aurora.language nil))
+
 (ns aurora.language
   (:require [clojure.set :refer [union intersection difference subset?]]
             [aurora.language.jsth :as jsth]
@@ -505,8 +507,4 @@
   (let [recalls (filter #(= Recall (type %)) (:clauses rule))
         computes (filter #(= Compute (type %)) (:clauses rule))
         outputs (filter #(= Output (type %)) (:clauses rule))
-        computes? (fn [plan node vars computes]
-                    (if-let [[plan node vars] (first (map #(compute? plan node vars) computes)))
-        node->remaining-computes (reduce recalls empty-flow-plan )]
-    (loop [plan plan
-           node->remaining-computes (zipmap recall-nodes (repeat computes))])
+        node->remaining-computes ()]))


specd html->string

specd html->string

--- src/dash/html.cljs
+++ src/dash/html.cljs
@@ -49,15 +49,17 @@
         params (:args data)]
     (str "<" tag (stringify-params params) ">")))

-(defn- stringify-html [html-ast]
-  (let [[type data] html-ast]
-    (case type
-      :text (str data)
-      :void-element (stringify-void-element data)
-      :element (stringify-element data))))
+(defn- stringify-html [[type data]]
+  (case type
+    :text (str data)
+    :void-element (stringify-void-element data)
+    :element (stringify-element data)))
+
+(s/fdef html->string
+  :args ::node
+  :ret string?)

 (defn html->string
-  ""
   [html]
   (let [parsed-html (s/conform ::node html)]
     (if (= ::s/invalid parsed-html)


less benchmark output

less benchmark output

--- src/babel/benchmark.cljc
+++ src/babel/benchmark.cljc
@@ -10,8 +10,7 @@
          (take do-this-many
                (repeatedly
                 #(with-out-str (time (log/info
-                                      (str "function-to-run output:"
-                                           (function-to-run)))))))
+                                      (str (function-to-run)))))))
          (map #(string/replace % #".*time:\s*([0-9.]+).*" "$1"))
          (map string/trim)
          (map #(Double. %))


Various improvements to chart

Various improvements to chart

--- src/foreclojure/graphs.clj
+++ src/foreclojure/graphs.clj
@@ -35,16 +35,15 @@
                                :title (str "League scores: problem " id)
                                :x-label "Solution length"
                                :y-label "How often"
-                               :nbins (- (apply max (keys freqs))
-                                         (apply min (keys freqs))))]
+                               :nbins 25)]
     (when best
-      (chart/add-pointer chart best (freqs best 0)
-                         :text "best"
-                         :angle :se))
+      (chart/add-pointer chart best 0
+                         :text "your best"
+                         :angle :ne))
     (when (and curr (not= curr best))
-      (chart/add-pointer chart curr (freqs curr 0)
+      (chart/add-pointer chart curr 0
                          :text "this"
-                         :angle :se))
+                         :angle :ne))
     (when-not (> (count freqs) 1)
       (chart/add-text chart best (freqs best 0)
                       "Very little golfing data - chart may suck"))


pom tweaks

pom tweaks

--- src/main/shadow/cljs/npm/cli.cljs
+++ src/main/shadow/cljs/npm/cli.cljs
@@ -383,7 +383,9 @@
           (str "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
                "<!-- generated by shadow-cljs pom, do not edit -->\n"
                (generate-xml
-                 [:project {:xsi/schemalocation "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"}
+                 [:project {:xmlns "http://maven.apache.org/POM/4.0.0"
+                            :xmlns/xsi "http://www.w3.org/2001/XMLSchema-instance"
+                            :xsi/schemaLocation "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"}
                   [:modelVersion "4.0.0"]
                   [:groupId project-name]
                   [:artifactId project-name]
@@ -400,10 +402,10 @@
                        (into [:dependencies]))

                   (-> [:build]
-                      (into [:sourceDirectory (first source-paths)])
+                      (conj [:sourceDirectory (first source-paths)])
                       (cond->
                         (seq (rest source-paths))
-                        (into [:plugins
+                        (conj [:plugins
                                [:plugin
                                 [:groupId "org.codehaus.mojo"]
                                 [:artifactId "build-helper-maven-plugin"]


use refresh! instead of set-state!

use refresh! instead of set-state!

--- src/frontend/renderer.cljs
+++ src/frontend/renderer.cljs
@@ -208,7 +208,7 @@
                                 :className "track-ball-display"})))))))
     om/IDidMount
     (did-mount [this]
-      (.addEventListener js/window "resize" #(om/set-state! owner #js {})))))
+      (.addEventListener js/window "resize" #(om/refresh! owner)))))

 (om/root resume-button core/app-state {:target (. js/document (getElementById "play-button"))})
 (om/root pause-button core/app-state {:target (. js/document (getElementById "pause-button"))})
@@ -237,6 +237,6 @@

     om/IDidMount
     (did-mount [this]
-      (.addEventListener js/window "resize" #(om/set-state! owner #js {})))))
+      (.addEventListener js/window "resize" #(om/refresh! owner)))))

 (om/root volume player/app-state {:target (. js/document (getElementById "volume"))})


klay: support ports (and, therefore, loops!)

--- src/cfg/layout/klay.cljs
+++ src/cfg/layout/klay.cljs
@@ -16,9 +16,15 @@

 (defn- cfg-bb->klay
   [bb]
-  #js{"width" (:width bb)
-      "height" (:height bb)
-      "id" (str (:addr bb))})
+  (clj->js {"id" (str (:addr bb))
+            "width" (:width bb)
+            "height" (:height bb)
+            "properties" {"de.cau.cs.kieler.portConstraints" "FIXED_SIDE"}
+            "ports" [{"id" (str (:addr bb) "IN")
+                      "properties" {"de.cau.cs.kieler.portSide" "NORTH"}}
+                     {"id" (str (:addr bb) "OUT")
+                      "properties" {"de.cau.cs.kieler.portSide" "SOUTH"}}]}))
+

 (defn add-node!
@@ -29,10 +35,12 @@

 (defn- cfg-edge->klay
   [edge]
-  #js{"source" (str (:src edge))
-      "target" (str (:dst edge))
-      "type" (:type edge)
-      "id" (str (:src edge) (:type edge) (:dst edge))})
+  (clj->js {"source" (str (:src edge))
+            "sourcePort" (str (:src edge) "OUT")
+            "target" (str (:dst edge))
+            "targetPort" (str (:dst edge) "IN")
+            "type" (:type edge)
+            "id" (str (:src edge) (:type edge) (:dst edge))}))

 (defn add-edge!


if we are migrating to a postgres db we need to manually update the sequence values otherwise postgres will attempt to reuse values and we'll get PK violations.

--- src/metabase/cmd/load_from_h2.clj
+++ src/metabase/cmd/load_from_h2.clj
@@ -1,8 +1,11 @@
 (ns metabase.cmd.load-from-h2
   "Commands for loading data from an H2 file into another database."
-  (:require [colorize.core :as color]
+  (:require [clojure.java.jdbc :as jdbc]
+            [clojure.set :as set]
+            [colorize.core :as color]
             (korma [core :as k]
                    [db :as kdb])
+            [metabase.config :as config]
             [metabase.db :as db]
             (metabase.models [activity :refer [Activity]]
                              [card :refer [Card]]
@@ -32,8 +35,7 @@
                              [table :refer [Table]]
                              [user :refer [User]]
                              [view-log :refer [ViewLog]])
-            [metabase.util :as u]
-            [clojure.set :as set]))
+            [metabase.util :as u]))

 (def ^:private entities
   "Entities in the order they should be serialized/deserialized.
@@ -93,6 +95,18 @@
     ;; then insert the rest, which should be safe to insert now
     (insert-entity e self-referencing)))

+(defn- set-postgres-sequence-values []
+  (print (u/format-color 'blue "Setting postgres sequence ids to proper values..."))
+  (flush)
+  ;; NOTE: tried using korma/exec-raw for this but i kept getting exceptions so i fell back to raw JDBC
+  (jdbc/with-db-transaction [conn (db/jdbc-details @db/db-connection-details)]
+    (doseq [e    (filter #(not (contains? #{Setting Session} %)) entities) ; these 2 tables don't have an "id" column
+            :let [table-name (:table e)
+                  seq-name (str table-name "_id_seq")
+                  sql (format "SELECT setval('%s', COALESCE((SELECT MAX(id) FROM %s), 1), true) as val" seq-name table-name)]]
+      (jdbc/db-query-with-resultset conn [sql] :val)))
+  (println (color/green "[OK]")))
+
 (defn load-from-h2
   "Transfer data from existing H2 database to the newly created (presumably MySQL or Postgres) DB specified by env vars.
    Intended as a tool for upgrading from H2 to a 'real' Database.
@@ -110,4 +124,8 @@
              :when (seq objs)]
        (if-not (contains? #{RawColumn Field} e)
          (insert-entity e objs)
-         (insert-self-referencing-entity e objs))))))
+         (insert-self-referencing-entity e objs))))
+
+    ;; if we are loading into a postgres db then we need to update sequence nextvals
+    (when (= (config/config-str :mb-db-type) "postgres")
+      (set-postgres-sequence-values))))


add blank gif to seed avatars b/c of annoying no-image borders in chrome

--- src/chat/server/seed.clj
+++ src/chat/server/seed.clj
@@ -16,12 +16,12 @@
                                    :email "foo@example.com"
                                    :nickname "foo"
                                    :password "foo"
-                                   :avatar ""})
+                                   :avatar "data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="})
           user-2 (db/create-user! {:id (db/uuid)
                                    :email "bar@example.com"
                                    :nickname "bar"
                                    :password "bar"
-                                   :avatar ""})
+                                   :avatar "data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="})
           _ (db/user-add-to-group! (user-1 :id) (group-1 :id))
           _ (db/user-add-to-group! (user-2 :id) (group-1 :id))
           _ (db/user-add-to-group! (user-1 :id) (group-2 :id))


Removed extra dataset from static.

Removed extra dataset from static.


Set default vals for prefs

Set default vals for prefs

--- src/net/sekao/nightcode/state.clj
+++ src/net/sekao/nightcode/state.clj
@@ -29,8 +29,8 @@

 ; state

-(defonce state (atom {:project-set (read-pref :project-set)
-                      :expansion-set (read-pref :expansion-set)
+(defonce state (atom {:project-set (read-pref :project-set #{})
+                      :expansion-set (read-pref :expansion-set #{})
                       :selection (read-pref :selection)}))

 (add-watch state :state-changed


Remove sample code

Remove sample code

--- src/clj/notes/server.clj
+++ src/clj/notes/server.clj
@@ -12,10 +12,6 @@
               [ring.adapter.jetty :refer [run-jetty]])
 )

-;(go
-  ;(let [[[eid]] (<! (d/q '[:find ?e :where [?e :owner/name "Bob"]]
-                         ;(d/db conn)))]
-    ;(<! (d/transact conn [[:db/add eid :owner/name "Boba"]]))))
 (deftemplate page
   (io/resource "index.html") [] [:body] (if is-dev? inject-devmode-html identity))


transition on requestAnimationFrame

transition on requestAnimationFrame

--- src/cljs/bardo/core.cljs
+++ src/cljs/bardo/core.cljs
@@ -1,7 +1,7 @@
 (ns bardo.core
   (:require-macros [cljs.core.async.macros :refer [go go-loop alt!]])
   (:require [cljs.core.async
-             :refer [put! take! <! >! chan timeout sliding-buffer close!]
+             :refer [put! take! <! >! chan timeout sliding-buffer close! alts!]
              :as async]
             [cljs-time.core :as t]
             [cljs-time.coerce :as c]
@@ -15,11 +15,49 @@
   [& args]
   (.apply (.-log js/console) js/console (clj->js (map clj->js args))))

-(defn time-since
-  [time]
-  (let [start (c/to-long time)
-        now (c/to-long (t/now))]
-    (- now start)))
+(defn now []
+  (if-let [now (.-now (.-performance js/window))]
+    (.call now (.-performance js/window))
+    (.now js/Date)))
+
+(defn on-raf
+  [step]
+  (if-let [native (let [vendors ["" "ms" "moz" "webkit" "o"]]
+                    (->> vendors
+                         (map #(aget js/window (str % "requestAnimationFrame")))
+                         (filter identity)
+                         (first)))]
+    (let [frame (chan)]
+      (go-loop []
+               (.call native js/window (fn [time]
+                                         (put! frame time)))
+               (let [time (<! frame)]
+                 (when (step time)
+                   (recur)))))
+    (let [speed-target 16
+          speed-tolerance 1
+          speed-step 0.5]
+
+      (go-loop [last-time (t/now)
+                wait speed-target]
+
+               (let [time (now)]
+
+                 (when (step time)
+
+                   ;; converge wait time on 60fps and recur
+                   (let [speed-last (- time last-time)
+                         speed-new (if (< (- speed-target speed-tolerance)
+                                          speed-last
+                                          (+ speed-target speed-tolerance))
+                                     wait
+                                     ((if (< speed-target speed-last) - +) wait speed-step))]
+
+                     (when (< 0 wait)
+                       (<! (timeout wait)))
+
+                     (recur time
+                            speed-new))))))))

 (defn transition
   ([state target] (transition state target 500))
@@ -28,41 +66,20 @@
      (let [out (chan (sliding-buffer 1))
            interpolator (interpolate state target)
            ease-fn (ease easing ease-args)
-           start (t/now)
-           speed-target 16
-           speed-tolerance 1
-           speed-step 0.5]
+           start (now)]

-       (go-loop [last-time start
-                 wait speed-target]
-
-                (let [since (time-since start)
-                      done? (> since duration)
-                      t (if done?
-                          1
-                          (ease-fn (/ since duration)))
-                      step (interpolator (ease-fn t))]
-
-                  (put! out step)
-
-                  (if done?
-                    (close! out)
-
-                    ;; converge wait time on 60fps and recur
-                    (let [speed-last (- since last-time)
-                          speed-new (if (< (- speed-target speed-tolerance)
-                                           speed-last
-                                           (+ speed-target speed-tolerance))
-                                      wait
-                                      ((if (< speed-target speed-last) - +) wait speed-step))]
-
-                      (when (< 0 wait)
-                        (<! (timeout wait)))
-
-                      (recur since
-                             speed-new)))))
+       (on-raf (fn [time]
+                 (let [since (- time start)
+                       done? (> since duration)
+                       t (if done?
+                           1
+                           (ease-fn (/ since duration)))
+                       step (interpolator (ease-fn t))]
+                   (put! out step)
+                   (when done?
+                     (close! out))
+                   (not done?))))
        out)))
-

 ;; examples


Consistent spacing for func

Consistent spacing for func

--- src/cljs/go/compiler.clj
+++ src/cljs/go/compiler.clj
@@ -521,7 +521,7 @@
       (when loop-locals
         (when (= :return (:context env))
           (emits "return "))
-        (emitln "func (" (comma-sep loop-locals) ") *AFnPrimitive {")
+        (emitln "func(" (comma-sep loop-locals) ") *AFnPrimitive {")
         (when-not (= :return (:context env))
           (emits "return ")))
       (let [name (or name (gensym))
@@ -553,12 +553,11 @@
 (defmethod emit* :do
   [{:keys [statements ret env]}]
   (let [context (:context env)]
-    (when (and statements (= :expr context)) (emits "func () interface{} {"))
+    (when (and statements (= :expr context)) (emits "func() interface{} {"))
     (when statements
       (emits statements))
     (emit ret)
     (when (and statements (= :expr context)) (emits "}()"))))
-

 (defmethod emit* :try
   [{:keys [env try catch name finally]}]
@@ -567,7 +566,7 @@
       (let [out (when name (gensym "return__"))]
         (when (= :return (:context env))
           (emits "return "))
-        (emits "func () (" out " interface{}) {")
+        (emits "func() (" out " interface{}) {")
         (when finally
           (assert (not= :constant (:op finally)) "finally block cannot contain constant")
           (emitln "defer func() {" finally "}()"))
@@ -583,7 +582,7 @@
   [{:keys [bindings expr env]} is-loop]
   (let [context (:context env)]
     (if (= :expr context)
-      (emits "func () interface{} {")
+      (emits "func() interface{} {")
       (emits "{"))
     (binding [*lexical-renames* (into *lexical-renames*
                                       (when (= :statement context)
@@ -624,7 +623,7 @@
   [{:keys [bindings expr env]}]
   (let [context (:context env)]
     (if (= :expr context)
-      (emits "func () interface{} {")
+      (emits "func() interface{} {")
       (emitln "{"))
     (emitln "var " (string/join ", " (map munge bindings)) " *AFnPrimitive")
     (doseq [{:keys [init] :as binding} bindings]
@@ -719,7 +718,7 @@
   [{:keys [target val env]}]
   (emit-wrap env
     (when (= :expr (:context env))
-      (emits "func () interface{} {"))
+      (emits "func() interface{} {"))
     (maybe-define-static-field-var target)
     (emitln target " = " val)
     (when (= :expr (:context env))


Not only clj types

Not only clj types


fixed (another) error in fix-tagsD

fixed (another) error in fix-tagsD

--- src/hopp/gramm.clj
+++ src/hopp/gramm.clj
@@ -83,19 +83,24 @@
            drop> false
            ]
       (if (empty? xs)
-        out
+        (conj out cur)
         (let [nxt (first xs)]
           (cond
+            (and drop> (= cur :>)(not= nxt :>)) (recur nxt (rest xs)
+                                                       (if (and (= :# (last out))
+                                                                (= :# nxt))
+                                                         (conj out :.)
+                                                         (conj out :>))
+                                                       false)
+
             (or
              (and drop> (= cur :>)) ; this is for copy rules
              (and (= cur :<)(= nxt :<))
              (and (= cur :>)(= nxt :>))) (recur nxt (rest xs) out drop>)

             ;; copy rules
-            (and (= cur :<)(= nxt :>)) (recur (first xs) (rest (rest xs)) (conj out :.) true)
+            (and (= cur :<)(= nxt :>)) (recur nxt (rest xs) out true)

-            (and (terminal? cur)(= :# nxt)) (recur nxt (rest xs) (-> out (conj cur)(conj :>)) drop>)
-
             (or (and (= :# cur)(= :# nxt))
                 (and (terminal? cur)(terminal? nxt))) (recur nxt (rest xs) (-> out (conj cur)(conj :.)) drop>)


Consume both the storage and search protocol in http

--- src/org/spootnik/cyanite/http.clj
+++ src/org/spootnik/cyanite/http.clj
@@ -5,6 +5,7 @@
   (:require [aleph.http                 :as http]
             [ring.util.codec            :as codec]
             [org.spootnik.cyanite.store :as store]
+            [org.spootnik.cyanite.path  :as path]
             [cheshire.core              :as json]
             [lamina.core                :refer [enqueue]]
             [clojure.string             :refer [lower-case]]
@@ -66,18 +67,18 @@
   :action)

 (defmethod process :paths
-  [{{:keys [query]} :params :as request}]
-  (store/find-prefixes query))
+  [{{:keys [index query]} :params :as request}]
+  (path/search index "" (str query ".*")))

 (defmethod process :metrics
-  [{{:keys [from to path agg]} :params :keys [store rollups] :as request}]
+  [{{:keys [index from to path agg]} :params :keys [store rollups]}]
   (debug "fetching paths: " path)
   (if-let [{:keys [rollup period]} (find-best-rollup from rollups)]
     (let [to    (if to (Long/parseLong to) (now))
           from  (Long/parseLong from)
-          paths (mapcat (partial store/find-paths false)
+          paths (mapcat (partial path/search index "")
                         (if (sequential? path) path [path]))]
-      (store/fetch store (or agg "mean") paths rollup period from to))
+      (store/fetch store (or agg "mean") paths "" rollup period from to))
     {:step nil :from nil :to nil :series {}}))

 (defmethod process :ping
@@ -91,7 +92,7 @@
 (defn wrap-process
   "Process request, generating a JSON output for it, catch exception
    and yield a payload"
-  [request rollups chan store]
+  [request rollups chan store index]
   (debug "got request: " request)
   (enqueue
    chan
@@ -99,7 +100,10 @@
      {:status  200
       :headers {"Content-Type" "application/json"}
       :body    (json/generate-string
-                (process (assoc request :store store :rollups rollups)))}
+                (process (assoc request
+                           :store store
+                           :rollups rollups
+                           :index index)))}
      (catch Exception e
        (let [{:keys [status body suppress?]} (ex-data e)]
          (when-not suppress?
@@ -112,11 +116,11 @@
 (defn start
   "Start the API, handling each request by parsing parameters and
    routes then handing over to the request processor"
-  [{:keys [http store carbon] :as config}]
+  [{:keys [http store carbon index] :as config}]
   (let [handler (fn [chan request]
                   (-> request
                       (assoc-params)
                       (assoc-route)
-                      (wrap-process (:rollups carbon) chan store)))]
+                      (wrap-process (:rollups carbon) chan store index)))]
     (http/start-http-server handler http))
   nil)


When in repl, log message and do not throw exception.

--- src/pamela/cli.clj
+++ src/pamela/cli.clj
@@ -209,10 +209,12 @@
       (println (string/join \newline msgs))
       (log/error \newline (string/join \newline msgs))))
   (flush) ;; ensure all pending output has been flushed
-  (when (repl?)
-    (throw (Exception. (str "DEV MODE exit(" status ")"))))
-  (shutdown-agents)
-  (System/exit status)
+  (if (repl?)
+    #_(throw (Exception. (str "DEV MODE exit(" status ")")))
+    (log/warn "exit" status "In DEV MODE. Not exiting")
+    (do (shutdown-agents)
+        (System/exit status)))
+
   true)

 (defn base-64-decode [b64]


refactor collision resolution

refactor collision resolution

--- src/voke/system/collision.cljs
+++ src/voke/system/collision.cljs
@@ -61,67 +61,63 @@
                                       (event :all-entities))
       axis-value-to-try)))

+(sm/defn apply-movement
+  [entity :- Entity
+   axis :- (s/enum :x :y)
+   new-position :- s/Num
+   new-velocity :- s/Num
+   publish-chan]
+  "Fires events to notify the world that a particular entity should have a new position+velocity."
+  (let [update-entity-fn (fn [entity]
+                           (-> entity
+                               (assoc-in [:shape axis] new-position)
+                               (assoc-in [:motion :velocity axis] new-velocity)))]
+    (publish-event publish-chan {:event-type :update-entity
+                                 :origin     :collision-system
+                                 :entity-id  (entity :id)
+                                 :fn         update-entity-fn})
+    (publish-event publish-chan {:event-type :movement
+                                 :entity     (update-entity-fn entity)})))
+
 (sm/defn handle-contact
   [event :- Event
    contacted-entity :- Entity
    publish-chan]
-  (let [fire-update-event (fn [entity-update-fn]
-                            (publish-event publish-chan {:event-type :update-entity
-                                                         :origin     :collision-system
-                                                         :entity-id  ((event :entity) :id)
-                                                         :fn         entity-update-fn}))
-        closest-clear-spot (find-closest-clear-spot event contacted-entity)]
+  (if-let [closest-clear-spot (find-closest-clear-spot event contacted-entity)]
+    ; Great, we found a clear spot! Move there and stand still.
+    (apply-movement (event :entity)
+                    (event :axis)
+                    closest-clear-spot
+                    0
+                    publish-chan)

-    (if closest-clear-spot
-      ; Great, we found a clear spot! Move there and stand still.
-      (do
-        (fire-update-event (fn [old-entity]
-                             (-> old-entity
-                                 (assoc-in [:shape (event :axis)] closest-clear-spot)
-                                 (assoc-in [:motion :velocity (event :axis)] 0))))
-        (publish-event publish-chan {:event-type :movement
-                                     :entity     (assoc-in (event :entity)
-                                                           [:shape (event :axis)]
-                                                           closest-clear-spot)}))
+    ; Couldn't find a clear spot; slow him down, he can try moving again next tick.
+    (publish-event publish-chan {:event-type :update-entity
+                                 :origin     :collision-system
+                                 :entity-id  ((event :entity) :id)
+                                 :fn         (fn [old-entity]
+                                               (update-in old-entity
+                                                          [:motion :velocity (event :axis)]
+                                                          #(* % 0.7)))}))

-      ; Couldn't find a clear spot; slow down and let him try moving again next tick.
-      (fire-update-event (fn [old-entity]
-                           (update-in old-entity
-                                      [:motion :velocity (event :axis)]
-                                      #(* % 0.7)))))))
+  (publish-event publish-chan {:event-type :contact
+                               :entities   [(event :entity) contacted-entity]}))

 (sm/defn handle-intended-movement
   [event :- Event
    publish-chan]
   (let [entity (event :entity)
-        axis (event :axis)
         moved-entity (assoc-in entity
-                               [:shape axis]
+                               [:shape (event :axis)]
                                (event :new-position))]
+
     (if-let [contacted-entity (find-contacting-entity moved-entity (event :all-entities))]
-
-      ; New position wasn't clear.
-      (do
-        (handle-contact event contacted-entity publish-chan)
-
-        ; Notify the rest of the world that a contact event occurred.
-        (publish-event publish-chan {:event-type :contact
-                                     :entities   [entity contacted-entity]}))
-
-      ; Position was clear.
-      (do
-        ; Go ahead and apply the intended movement.
-        (publish-event publish-chan {:event-type :update-entity
-                                     :origin     :collision-system
-                                     :entity-id  (entity :id)
-                                     :fn         (fn [old-entity]
-                                                   (-> old-entity
-                                                       (assoc-in [:shape axis]
-                                                                 (event :new-position))
-                                                       (assoc-in [:motion :velocity axis]
-                                                                 (event :new-velocity))))})
-        (publish-event publish-chan {:event-type :movement
-                                     :entity     entity})))))
+      (handle-contact event contacted-entity publish-chan)
+      (apply-movement entity
+                      (event :axis)
+                      (event :new-position)
+                      (event :new-velocity)
+                      publish-chan))))

 ;; System definition


fix fipp's output width

fix fipp's output width

--- src/jx/reporter/karma.cljs
+++ src/jx/reporter/karma.cljs
@@ -44,7 +44,7 @@
                         (if value
                           (indent (+ indentation 2)
                                   (-> value
-                                      (fipp.clojure/pprint {:width 1})
+                                      (fipp.clojure/pprint)
                                       (with-out-str)
                                       (remove-last-new-line)))
                           "\n")))