Skip to content

Instantly share code, notes, and snippets.

View jarohen's full-sized avatar
⚒️

James Henderson jarohen

⚒️
View GitHub Profile
@jarohen
jarohen / tickets.clj
Created September 20, 2012 19:59
Liberator - issue #6
(ns liberator.gist
(:use [liberator.core :only [defresource request-method-in]]
[compojure.core :only [defroutes ANY]]
[ring.adapter.jetty :only [run-jetty]]))
(defn create-new-ticket []
;; create the ticket, and return the url
"/tickets/new")
(defn get-all-tickets []
@jarohen
jarohen / blog.service
Created June 7, 2013 06:35
Lein Systemd Service Spec
[Unit]
Description=Website
[Service]
Environment=NOMAD_INSTANCE=PROD
Type=simple
ExecStart=/home/james/bin/lein trampoline run
Restart=always
User=james
WorkingDirectory=/srv/james/src/website
@jarohen
jarohen / post-receive
Created August 18, 2013 19:09
example git deploy post-receive hook
read oldrev newrev refname
worktree="/usr/local/lib/my-app/src"
if [ "refs/heads/deploy" = "$refname" ] ; then
echo "Pushing changes live:" ;
sudo service my-app stop > /dev/null;
git --work-tree="$worktree" checkout $newrev > /dev/null;
sudo service my-app start;
echo "Deployed!"
@jarohen
jarohen / delete-objects.clj
Created September 27, 2013 10:22
Deleting all objects in an S3 bucket, from Clojure (probably in a very inefficient way - sorry.)
(loop []
(when-let [objs (seq (map :key (:objects (aws.sdk.s3/list-objects (aws-creds) bucket))))]
(println "Deleting 1000 objs")
(dorun (pmap #(aws.sdk.s3/delete-object (aws-creds) bucket %) objs))
(recur)))
@jarohen
jarohen / init.el
Last active December 24, 2015 21:49
my emacs config
(require 'package)
(package-initialize)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(menu-bar-mode -1)
(if tool-bar-mode
@jarohen
jarohen / .xmobarrc
Created October 30, 2013 08:29
XMonad conf - 2013-10-30
Config { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
, bgColor = "black"
, fgColor = "grey"
, position = Top
, allDesktops = True
, lowerOnStart = True
, commands = [ Run Weather "EGLC" ["-t","<station>: <tempC>C, <skyCondition>","-L","2","-H","25","--normal","green","--high","red","--low","blue"] 18000
, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 5
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run DynNetwork ["-t", "<dev>: <rx> kB/<tx> kB "] 5
@jarohen
jarohen / core.clj
Last active December 28, 2015 16:49 — forked from himerzi/core.clj
(ns weather.core
(:require [clj-http.client :as http]))
;; utility Functionsp
(def weather-api
"http://api.openweathermap.org/data/2.5/")
(defn weather-find [something]
(let [response (http/get (str weather-api "find")
{:query-params {:q something}
@jarohen
jarohen / handler.clj
Created December 21, 2013 22:35
Example Frodo handler
(ns your-app.handler
(:require [compojure.core :refer [routes GET]]
[compojure.handler :refer [api]]
[ring.util.response :refer [response]]))
(defn app-routes []
(let [system (init-system)]
(routes
(GET "/route/:id" [id]
(response (handle-get system id)))
(:require [cljs.core.async :as a]
[dommy.core :as d]
[clidget.widget :refer [defwidget] :include-macros true])
(:require-macros [dommy.macros :refer [node]]
[cljs.core.async.macros :refer [go-loop]]))
(defwidget counter-widget [{:keys [counter]} events-ch]
(node
[:div
[:h2 "counter is now: " counter]
@jarohen
jarohen / benchmark-details.org
Created February 15, 2014 15:28
Clidget/Om benchmark comparison