Skip to content

Instantly share code, notes, and snippets.

"swagger": "2.0",
"info": {
"title": "Test swagger",
"version": "0.1.0"
"definitions": {
"File": {
"title": "File",
"type": "object",
class Parent: Error {
var localizedDescription: String { "p" }
class Child: Parent {
override var localizedDescription: String { "c" }
print("Given two error classes, Parent, and Child a kind of Parent\n")
let e: Result<Int, Child> = .failure(Child())
let e2: Result<Int, Parent>
jeremy-w / Project.h
Last active June 3, 2020 19:20
Rigging up versioning for iOS, the fun way
#import <UIKit/UIKit.h>
//! Project version number for Proj.
FOUNDATION_EXPORT double ProjVersionNumber;
//! Project version string for Proj.
FOUNDATION_EXPORT const unsigned char ProjVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Proj/PublicHeader.h>
jeremy-w / jira-prepare-commit-msg
Last active August 23, 2023 17:44
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.
# 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.
jeremy-w / zoom-auto-close-tab.user.js
Last active April 27, 2020 08:35
Zoom: Auto-Close App Bouncer Tab #userscript
// ==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 February 25, 2019 16:28
Exploring how Moshi reacts to missing required JSON fields, thanks to Arek Olek's prompting
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 November 16, 2018 16:13
How do you access a named group in Kotlin?
#!/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 August 31, 2018 16:33
Git in a Nutshell - from Reuven Lerner's *Better Developers* newsletter, 2018-03-19 edition
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 December 20, 2017 14:25
Apero crash after Cmd-Return posting a message
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