Skip to content

Instantly share code, notes, and snippets.

Avatar

Keith Irwin zentrope

View GitHub Profile
View temp20140130.clj
(loop [sec 0
good 0]
(let [{:keys [out exit] :as result} (ping! host)]
(print (if (zero? exit) "#" "."))
(flush)
(let [new-sec (inc sec)
clear? (= new-sec 60)
new-good (if (zero? exit) (inc good) good)]
(when clear?
(println (summarize good)))
@zentrope
zentrope / loopy.clj
Last active Aug 29, 2015
two async loops for pinging a host
View loopy.clj
(ns cping.core
(:gen-class)
(:require [clojure.java.shell :as shell :refer [sh]]
[clojure.core.async :refer [queue go-loop timeout chan <! put!]]))
(defn- ping!
"Use the shell to ping the given host"
[host]
(sh "ping" "-W" "1" "-c" "1" host))
@zentrope
zentrope / pg_datomic.sh
Created Feb 25, 2014
Postgres sandbox control script sort of.
View pg_datomic.sh
#!/bin/bash
db="${PWD}/data"
log_file="${db}/postgres.log"
port=9999
#------------------------------------------------------------------------------
function is_alive() {
result=$(pg_ctl status -p ${port} -D ${db} | grep "server is running")
@zentrope
zentrope / shared.cljs
Last active Aug 29, 2015
get-shared not working?
View shared.cljs
(ns tag.main
(:require
[om.core :as om :include-macros true]
[om.dom :as dom :include-macros true]))
(defn- header-component
[state owner]
(om/component
(dom/section nil
(dom/h1 nil "Hello!")
View login.cljs
(defn- handle-change
[e owner field]
(om/set-state! owner field (value! owner (name field))))
(defn- handle-submit
[state owner]
(om/set-state! owner :error-msg "")
(let [{:keys [user pass]} (om/get-state owner)
creds {:user user :pass pass}
response (chan)]
View related.clj
View build.boot
(set-env!
:src-paths #{"src" "src-cljs"}
:rsc-paths #{"resources"}
:dependencies '[[org.clojure/clojure "1.7.0-alpha3"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
[compojure "1.2.1"]
[http-kit "2.1.19"]
[org.clojure/data.json "0.2.5"]
[org.clojure/tools.logging "0.3.1"]
[ch.qos.logback/logback-classic "1.1.2"]
View build.boot.clj
;; -*- mode: clojure; -*-
(set-env!
:src-paths #{"src/clj" "src/cljs"}
:rsc-paths #{"resources"}
:update :always
:dependencies '[[org.clojure/clojure "1.7.0-alpha4"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
[com.taoensso/timbre "3.3.1-1cd4b70"]
[http-kit "2.1.19"]
@zentrope
zentrope / fs.clj
Created Jan 14, 2015
file system utils
View fs.clj
(ns lib.fs
;;
;; File system utilities
;;
(:require
[clojure.string :refer [lower-case join trim]]
[clojure.java.io :as io])
(:import
[java.util.zip ZipInputStream]))
View file-backed-atom.clj
(ns afile.core
(:require
[clojure.edn :as edn]
[clojure.pprint :refer [pprint]]
[clojure.test :refer [deftest is run-tests]]))
(defn- load-file!
[fname init-value]
(let [f (java.io.File. fname)]
(if (.exists f)