Skip to content

Instantly share code, notes, and snippets.

Josh Mock JoshMock

View GitHub Profile
JoshMock /
Created Jan 2, 2020
My favorite albums of the 2010s
  • A$AP Ferg: Trap Lord
  • Aldous Harding: Designer
  • Angel Olsen: MY WOMAN
  • Antony & the Johnsons: Cut the World
  • Arcade Fire: The Suburbs
  • Arranged Marriage NP: Arranged Marriage NP
  • Astronoid: Air
  • Atoms for Peace: AMOK
  • Beach House: Bloom
  • Beach House: Teen Dream
JoshMock /
Last active Nov 29, 2017
RESTful HTTP method cheat sheet


  • fetch entity data only
  • does not alter any data, ever


  • create a new entity with the data values provided in the body
  • if an entity already exists with these values, create it anyway (read: non-idempotent)
  • should not be used to alter an existing entity
JoshMock /
Last active Dec 7, 2015
How to generate random tweet strings using your Twitter archive
  1. Log into Twitter and go to your settings
  2. Request your Twitter archive
  3. Download and unzip the archive file
  4. Put tweets.csv in the same directory as this gist's package.json and markov-tweets.js files
  5. Run npm install to install dependencies
  6. Run node markov-tweets.js to generate some strings!

Running the script may take a few seconds depending on the size of your archive CSV. When it's done it will log out 20 random strings based on the Markov chain generated.

JoshMock / .babelrc
Last active Dec 2, 2015
Webpack + ES6 + JSX using Babel 6
View .babelrc
"presets": ["es2015", "react"],
"ignore": ["node_modules"]
JoshMock / index.html
Last active Jul 9, 2016
Infinite scrolling CompositeView
View index.html
<style type="text/css" media="all">
#main {
width: 300px;
height: 400px;
overflow: scroll;
JoshMock / startup_mailer
Created Oct 27, 2014
Get an informative email when your Raspberry Pi starts up
View startup_mailer
# put this in in a file in your Pi's /etc/init.d/ directory
import urllib2
import subprocess
import smtplib
from email.mime.text import MIMEText
import datetime
View utopian-tree.clj
(defn calc-height-step [height current-step]
(if (= 1 (mod current-step 2))
(* height 2)
(+ height 1)))
(defn calc-height []
(def steps (Integer/parseInt (read-line)))
(println (reduce calc-height-step 1 (range 1 (+ steps 1)))))
(def t (Integer/parseInt (read-line)))
JoshMock / username.js
Created Jun 6, 2014
Get process's username
View username.js
function getUsername () {
var homeDir = process.env['HOME'].split('/');
return homeDir[homeDir.length - 1];
# A terrible attempt at listing function names that appear to not be used. Lots
# of false positives, especially for functions whose names are used as
# callbacks into other functions.
# search for function names
ack --type=js --output='$1' -h "(\w{3,})\:\s*function" $codepath > $tmpfile
View gist:9842601
### Keybase proof
I hereby claim:
* I am joshmock on github.
* I am joshmock ( on keybase.
* I have a public key whose fingerprint is 7DE2 6FB1 0244 C3B7 5796 6A96 A0D0 224E 2C14 6AE2
To claim this, I am signing this object:
You can’t perform that action at this time.