Skip to content

Instantly share code, notes, and snippets.


Nick Bauman nickbauman

View GitHub Profile
nickbauman / anagram.clj
Created Nov 15, 2021
Clojure anagram detector
View anagram.clj
(defn split-string [word]
(into #{} (clojure.string/split word #"")))
(defn anagram-of? [word candidate]
(boolean (when (= (count word) (count candidate))
(let [word-list (split-string word)
cand-list (split-string candidate)]
(= #{} (clojure.set/difference cand-list word-list))))))
View haversine.clj
(ns haversine
(:require [math.numeric-tower :refer [expt sqrt]]))
(def RADIUS_OF_EARTH 6371.0088)
(defn radians [degrees]
(/ (* degrees Math/PI) 180))
(defn haversine
[lat1 lon1 lat2 lon2]
nickbauman /
Last active Apr 21, 2019
Lists all the repos, pub and priv, of a github user or organization. Prompts for password and/or 2FA token
from github3 import login
# Python 3
prompt = input
if __name__ == '__main__':
if len(sys.argv) > 1:
passwd = prompt('Enter password: ')

Keybase proof

I hereby claim:

  • I am nickbauman on github.
  • I am nickbauman ( on keybase.
  • I have a public key ASBzshC47DubC4RLKb4OF8rS3fcKT3EG4caYwlipybiLkAo

To claim this, I am signing this object:

nickbauman / go_vs_clojure_habits.txt
Last active Jul 8, 2017
Go vs. Clojure: Habits of Thinking
View go_vs_clojure_habits.txt
The goal is to insert an integer into an ordered list-like thingy.
Here's Go.
// Given g
g := []int{1, 2, 3, 4}
// Insert 44 in the middle of it
append(g[:2], append([]int{44}, g[2:]...)...)
nickbauman / example_gae_ds.clj
Last active Nov 19, 2016
Clojure GAE Clojure Datastore API
View example_gae_ds.clj
(defentity AnotherEntity [content saved-time int-value])
(deftest test-query-language
(testing "query entity with predicates"
(let [entity (save! (create-AnotherEntity "Some content woo" (t/date-time 1980 3 5) 6))
entity2 (save! (create-AnotherEntity "Other content" (t/date-time 1984 10 12) 17))]
; query all
(is (= (list entity entity2) (query-AnotherEntity [])))
; equality
(is (= (list entity) (query-AnotherEntity [:content = "Some content woo"])))
nickbauman / git_tips.txt
Last active May 15, 2016
A star-gazing colleague shared this with me. I find it useful for taming some of the many git rough edges.
View git_tips.txt
# For the ~/.gitconfig file:
st = status
co = checkout
ci = commit
cp = cherry-pick
br = branch
undo = reset HEAD~1 --mixed
back = stash pop

Keybase proof

I hereby claim:

  • I am nickbauman on github.
  • I am nickbbuzzfeed ( on keybase.
  • I have a public key whose fingerprint is 98DD 9A39 33A9 9607 756A 1816 07E7 7FC3 9629 7825

To claim this, I am signing this object:

nickbauman / gist:9eff03186a74ff8ca3a3
Created Aug 15, 2014
GAE app identity, version and deploy time example
View gist:9eff03186a74ff8ca3a3
# config
if on_development_server or not on_server:
return "0", 0
version_time = os.environ['CURRENT_VERSION_ID']
return (version_time.find('.') > -1 and version_time.split('.')) or (version_time, -1)
# Useage in a handler
nickbauman /
Last active Nov 1, 2019
Condensed iOS Human Interface Guidelines, formulated as imperatives.

Condensed iOS Human Interface Guidelines

Imperatives for AppStore approval

For iPhone app developers. Emphasis on getting the fastest app store approval. Everything stated as suggestion made into an imperative. When "violating" these imperatives, you can check for yourself what the caveats are. Generally speaking, deviating will more likely cause your app to be hung up in approval.

You can read this entire document in about 20 minutes. This is faster than reading and understanding the entire Human Interface Guidelines.