Skip to content

Instantly share code, notes, and snippets.

View nickbauman's full-sized avatar

Nick Bauman nickbauman

View GitHub Profile
nickbauman / anagram.clj
Created November 15, 2021 22:15
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 April 21, 2019 13:15
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 July 8, 2017 23:40
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 November 19, 2016 18:20
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 18:33
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 August 15, 2014 22:01
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 November 1, 2019 12:10
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.