Most interesting links of May ’14

Recommended Readings Monolith – from The Codeless Code – fables and koans for the SW engineer – the Monad monolth #Haskell #fun http2 explained (pdf, 27 pages) – cons of http 1 (huge spec / no full impl., wasteful use of TCP <=> latency [x spriting, inlining, concatenation, sharding]) => make it less latency sensitive,Continue reading “Most interesting links of May ’14”

Fixing clojurescript.test failing with “ReferenceError: Can’t find variable: cemerick”

ClojureScript.test (0.3.0; cemerick.cljs.test) may fail with this confusing exception: due to couple of reasons: Your test namespaces do not require cemerick.cljs.test (and thus it is missing from the compiled .js; requiring macros is not enough) cljsbuild has not included any of your test files (due to wrong setup etc.; this is essentially another form ofContinue reading “Fixing clojurescript.test failing with “ReferenceError: Can’t find variable: cemerick””

Clojure/Java: Prevent Exceptions With “trace missing”

The other day I got this little helpful exception from Clojure: – no line number or anything to troubleshoot it. It turns out it is not Clojure’s failure but a HotSpot optimization that can apply to NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ArrayStoreException, and ClassCastException. The remedy is to run the JVM with From Oralce JDK release notes:Continue reading “Clojure/Java: Prevent Exceptions With “trace missing””

ClojureScript/Om: Spurious “Minified exception occured” With Advanced Optimizations

After having upgraded to Om 0.6.3. and ClojureScript 2197, I suddenly got the following error in the browser when loading the .js compiled with :optimizations :advanced: Uncaught Error: Minified exception occured; use the non-minified dev environment for the full error message and additional helpful warnings. In the dev mode, i.e. without any optimizations, the codeContinue reading “ClojureScript/Om: Spurious “Minified exception occured” With Advanced Optimizations”

core.async: “Can’t recur here” in ClojureScript but OK in Clojure

With the latest core.async and ClojureScript (core.async “0.1.303.0-886421-alpha” and clojurescript “0.0-2202” as well as the older core.async “0.1.267.0-0d7780-alpha” and clojurescript “0.0-2173”), the following function compiles just fine in Clojure but fails in ClojureScript: The error in ClojureScript is Workaround: replace (go-loop ..) with (go (loop ..)). Another fun fact: ClojureScript’s core.async lacks (at least) alt!Continue reading “core.async: “Can’t recur here” in ClojureScript but OK in Clojure”

Graphite Shows Metrics But No Data – Troubleshooting

My Graphite has all the metrics I expect but shows no data for them. Communication between my app and Graphite clearly works otherwise the metrics would not have appeared in the list but why is there no data? Update: Graphite data gotchas that got me (These gotchas explain why I did not see any data.)Continue reading “Graphite Shows Metrics But No Data – Troubleshooting”