Skip to content

Instantly share code, notes, and snippets.

View nickbauman's full-sized avatar
🎯
Focusing

Nick Bauman nickbauman

🎯
Focusing
View GitHub Profile
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Arrays;
import java.util.TreeSet;
/*
Report the frequency of 100k random selections of strings in an array
*/
@nickbauman
nickbauman / anagram.clj
Created November 15, 2021 22:15
Clojure anagram detector
(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))))))
(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
nickbauman / personal_list_gh_repos.py
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 (https://keybase.io/nickbauman) on keybase.
  • I have a public key ASBzshC47DubC4RLKb4OF8rS3fcKT3EG4caYwlipybiLkAo

To claim this, I am signing this object:

@nickbauman
nickbauman / go_vs_clojure_habits.txt
Last active July 8, 2017 23:40
Go vs. Clojure: Habits of Thinking
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
nickbauman / example_gae_ds.clj
Last active November 19, 2016 18:20
Clojure GAE Clojure Datastore API
(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
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.
# For the ~/.gitconfig file:
[alias]
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 (https://keybase.io/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
nickbauman / gist:9eff03186a74ff8ca3a3
Created August 15, 2014 22:01
GAE app identity, version and deploy time example
# config
def _APP_VERSION():
if on_development_server or not on_server:
return "0", 0
else:
version_time = os.environ['CURRENT_VERSION_ID']
return (version_time.find('.') > -1 and version_time.split('.')) or (version_time, -1)
config.APP_VERSION = _APP_VERSION()
# Useage in a handler