Skip to content

Instantly share code, notes, and snippets.

View jonpither's full-sized avatar

Jon Pither jonpither

View GitHub Profile
(ns jon
(:require [clojure.walk :as walk]
[clojure.spec.alpha :as s]
[clojure.spec.gen.alpha :as gen])
(:import [java.util Arrays Date Map UUID]))
(s/def ::a string?)
(s/def ::b string?)
(s/def ::c string?)
(s/def ::d string?)

Keybase proof

I hereby claim:

  • I am jonpither on github.
  • I am jonpither (https://keybase.io/jonpither) on keybase.
  • I have a public key whose fingerprint is 6F22 B211 5830 0852 68EC C2C0 5AA0 E8B2 8E0E F17D

To claim this, I am signing this object:

(println "hello")
(defn shutdown []
(println "shutting down")
(System/exit 0))
(.addShutdownHook (Runtime/getRuntime) (Thread. shutdown))
(Thread/setDefaultUncaughtExceptionHandler
(reify Thread$UncaughtExceptionHandler
07/11/2017 13:16:57.000914 [clojure-agent-send-off-pool-4] WARN datomic.connector - [] - {:message "error executing future", :pid 4323, :tid 101}
org.apache.activemq.artemis.api.core.ActiveMQObjectClosedException: AMQ119017: Consumer is closed
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.checkClosed(ClientConsumerImpl.java:962)
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive(ClientConsumerImpl.java:194)
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive(ClientConsumerImpl.java:406)
at datomic.artemis_client$fn__7121.invokeStatic(artemis_client.clj:169)
at datomic.artemis_client$fn__7121.invoke(artemis_client.clj:162)
at datomic.queue$fn__1586$G__1579__1591.invoke(queue.clj:18)
at datomic.connector$create_hornet_notifier$fn__8802$fn__8803$fn__8806$fn__8807.invoke(connector.clj:195)
@jonpither
jonpither / gist:051faa1c135b6838dcd3
Created July 22, 2015 07:45
memcached component
(ns clj-components.components.memcached
(:use [clj-components.protocols.component])
(:require [clojure.tools.logging :as log])
(:import [net.spy.memcached ConnectionObserver MemcachedClient AddrUtil
FailureMode ConnectionFactoryBuilder ConnectionFactoryBuilder$Protocol]))
(defn- custom-cf []
(.build
(doto (ConnectionFactoryBuilder.)
(.setFailureMode FailureMode/Retry)
@jonpither
jonpither / gist:8656868
Created January 27, 2014 20:40
cider-connect-to-known-endpoint
(setq cider-known-endpoints '("localhost 127.0.0.1:60611"
"localhost2 127.0.0.1:61115"))
(defun cider-connect-to-known-endpoint ()
(interactive)
(let* ((endpoint
(ido-completing-read "Destination: " cider-known-endpoints))
(ip-port (split-string (cadr (split-string endpoint " ")) "\\:")))
(cider (car ip-port) (string-to-number (cadr ip-port)))))
(defun write-fn-into-buffer (m)
(interactive)
(with-current-buffer (cider-current-repl-buffer)
(cider-repl--replace-input (format "(%s)" m))))
(defun cider-ido-fns-form (ns)
"Construct a Clojure form for reading fns using supplied NS."
(format "(let [fn-pred (fn [[k v]] (and (fn? (.get v)) (not (re-find #\"clojure.\" (str v)))))]
(sort
(map (comp name key)
(defun write-fn-into-buffer (m)
(interactive)
(with-current-buffer (nrepl-current-repl-buffer)
(nrepl-replace-input (format "(%s)" m))))
(defun nrepl-ido-fns-form (ns)
"Construct a Clojure form for reading fns using supplied NS."
(format "(let [fn-pred (fn [[k v]] (and (fn? (.get v)) (not (re-find #\"clojure.\" (str v)))))]
(sort
(map (comp name key)
"DefaultMessageListenerContainer-1" prio=3 tid=0x0000000005112800 nid=0x21 waiting on condition [0xfffffd7ff62fa000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f8d2a530> (a java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
at com.aphyr.riemann.client.Promise.deref(Promise.java:23)
(defn dev-of-the-day []
(try
(->> (sh "git" "log" "--pretty=format:\"%an\"") :out
clojure.string/split-lines
distinct
rand-nth
(sh "figlet") :out)
(catch java.io.IOException e (.getMessage e))))