docker images -q -f dangling=true | xargs docker rmi
docker ps -q -f status=exited | xargs docker rm
| ;; lein try joda-time org.clojure/algo.generic | |
| ;; Let's first shave the parsing yak: | |
| (import (org.joda.time.format PeriodFormatterBuilder)) | |
| (def h:m-formatter | |
| (-> (PeriodFormatterBuilder.) | |
| (.appendHours) | |
| (.appendSeparator ":") |
| import javax.servlet.*; | |
| import javax.servlet.http.HttpServletRequest; | |
| import javax.servlet.http.HttpServletResponse; | |
| import java.io.IOException; | |
| import java.net.URI; | |
| import java.net.URISyntaxException; | |
| import static java.lang.String.format; | |
| public class HttpsFilter implements Filter { |
| // This version allows LHS to be any expression | |
| // (and makes sure it's only evaluated once by storing the result) | |
| let (?.) = macro { | |
| rule infix { $lhs:expr | $rhs:ident } => { | |
| (function ($tmp) { | |
| return $tmp === null ? null : $tmp.$rhs; | |
| })($lhs) | |
| } | |
| } |
| require "lifx" # http://www.rubydoc.info/gems/lifx | |
| def calculate_color(i) # 0 <= i <= 1 | |
| h = [40 * 2 * i, 40].min # will be 40 (yellow) at i=1/2 and stay there | |
| s = 1.0 - [(i - 0.5) * 2, 0].max # will be 1 until i=1/2 and then go down to 0 | |
| b = i | |
| LIFX::Color.hsbk(h, s, b, LIFX::Color::KELVIN_MIN) | |
| end | |
| duration = 10 * 60 # seconds |
| #!/bin/bash | |
| # Usage: cwd.sh /app /usr/bin/python example.py | |
| cd $1 && exec "${@:2}" |
| class ThriftSerializer extends JsonSerializer<TBase> { | |
| @Override | |
| public void serialize(TBase value, JsonGenerator jgen, SerializerProvider provider) throws IOException { | |
| try { | |
| TProtocolFactory f = new TSimpleJSONProtocol.Factory(); | |
| String s = new TSerializer(f).toString(value); | |
| jgen.writeRawValue(s); | |
| } | |
| catch (TException e) { | |
| throw new IOException(e); |
| (ns fancy-defn | |
| (:require [schema.core :as s] | |
| [clojure.core.typed :as t] | |
| [circle.schema-typer :as st])) | |
| ;; Schemas created with s/defn end up using this. | |
| (defmethod st/convert schema.core.One [schema] | |
| (assert (= false (:optional? schema))) ;; No support for optional arguments yet. | |
| (st/convert (:schema schema))) |
| import java.util.Arrays; | |
| import java.util.List; | |
| import java.util.Optional; | |
| import java.util.Set; | |
| import java.util.stream.Stream; | |
| import static java.util.stream.Collectors.toList; | |
| import static java.util.stream.Collectors.toSet; | |
| public class Optionals { |
| ;; https://github.com/plumatic/schema | |
| ;; https://github.com/dakrone/clj-http | |
| ;; http://api.developer.lifx.com/docs/set-state | |
| (ns lifx-http-api | |
| (:require [schema.core :as s] | |
| [clj-http.client :as http])) | |
| (def ^:dynamic *base-url* "https://api.lifx.com/v1/lights") | |
| (def ^:dynamic *auth-token* "<get yours at https://cloud.lifx.com/settings>") |