Skip to content

Instantly share code, notes, and snippets.

Jeremy W. Sherman jeremy-w

Block or report user

Report or block jeremy-w

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
jeremy-w / jira-prepare-commit-msg
Last active May 19, 2020
A git hook to tag your commits with the JIRA issue ID. Requires a git client that runs the hook like Git Fork, Git Kraken, or anything TUI/CLI.
View jira-prepare-commit-msg
# jira-prepare-commit-msg: Easy commit tagging for Jira
# If you name your branch to include the Jira issue key,
# this hook will automatically add the issue key to your commit messages.
# This makes it easy to trace work back to Jira, and it also means
# your commits show up in the Activity tab for that issue.
# To enable this hook:
jeremy-w / zoom-auto-close-tab.user.js
Last active Apr 27, 2020
Zoom: Auto-Close App Bouncer Tab #userscript
View zoom-auto-close-tab.user.js
// ==UserScript==
// @name Zoom: Auto-Close App Bouncer Tab
// @namespace
// @version 1.0
// @description Close the tab Zoom uses to redirect to its app after several seconds.
// @author Jeremy W. Sherman <>
// @downloadURL
// @match*
// @grant none
// ==/UserScript==
jeremy-w / MainActivity.kt
Last active Feb 25, 2019
Exploring how Moshi reacts to missing required JSON fields, thanks to Arek Olek's prompting
View MainActivity.kt
This was a small test bench to see how [Moshi](
behaves in the face of missing JSON fields.
It was prompted by Arek Olek's comment on
["When Nullability Lies"](
about how Gson's skullduggery in the service of easy JSON parsing
let a not-null field wind up null, go boom under the SQLite lock,
and take out an entire app process.
jeremy-w / named-match-repro.kts
Created Nov 16, 2018
How do you access a named group in Kotlin?
View named-match-repro.kts
#!/usr/bin/env kotlinc -script --
@file named-match-repro.kts
@author Jeremy W. Sherman (GitHub: @jeremy-w)
Demo of some perplexing behavior.
- Main question: How do I access a named capture group in a Kotlin script?
jeremy-w / [Better developers] Where (and how) Git stores your files.txt
Last active Aug 31, 2018
Git in a Nutshell - from Reuven Lerner's *Better Developers* newsletter, 2018-03-19 edition
View [Better developers] Where (and how) Git stores your files.txt
This week, let's take a break from Python and talk a little bit
about Git (
d2dxc3FiNHFuMml6d3c0aXloIn0 ). I teach Git courses every few
months, and without fail people come into the class saying that
they have been using Git for a few months, and it seems to work
OK so long as they use the list of commands that their boss
provided. But if something happens that isn't on that list, and
if they cannot figure out what to do based on Stack Overflow,
they're sunk.
jeremy-w / Apero_2017-12-19-170132_Eclipse.crash
Created Dec 20, 2017
Apero crash after Cmd-Return posting a message
View Apero_2017-12-19-170132_Eclipse.crash
Process: Apero [58055]
Path: /Applications/
Identifier: io.aya.Apero
Version: 1.7.3 (23)
App Item ID: 1219902108
App External ID: 825340621
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Apero [58055]
User ID: 501
#coding: utf-8
import sys
import json
import requests
import datetime
user_id = sys.argv[1] # use @username format here
adn_token = sys.argv[2] # Your ADN token
auth_data = 'Bearer ' + adn_token
jeremy-w /
Created Mar 10, 2017
Fish function to create or reply to a social post on 10 Centuries. MPLv2
function blurb --description Post\ to\ 10C.\\nblurb\ post\ MESSAGE\\nblurb\ POST_ID\ REPLY --argument reply_id message
set -l endpoint
set -l usage 'blurb: post or reply to a message on 10C
blurb post MESSAGE
Post a new blurb
View dump-header-map.c
//cc -Wextra -o build/dump-header-map dump-header-map.c
// see:
// This is basically dump() from there.
#include <stdio.h>
#include <stdlib.h>
#include <sysexits.h>
#include <err.h>
View pascal.c
// pascal.c -- demonstrates effect of -fpascal-strings
// install -d build/ && cc -fpascal-strings pascal.c -o build/pascal
#include <stdio.h>
#include <string.h>
#include <vis.h>
static const char PascalString[] = "\pWirth";
static char VisifiedString[4 * (sizeof(PascalString) - sizeof('\0')) + sizeof('\0')];
You can’t perform that action at this time.