Skip to content

Instantly share code, notes, and snippets.

View swthomas55's full-sized avatar

Spencer Thomas swthomas55

  • Ithaka
  • Ann Arbor, MI
View GitHub Profile
swthomas55 / slack_scrape.js
Last active August 23, 2022 20:17 — forked from Christian-G/slack_scrape.js
Scrape thumbnails from slack
// Works with the "Workspace Directory"
// 1. Visit
// 2. Paste this code in your console
// 2a. If there are more members than fit on the screen, you must scroll the directory one screen at a time
// and paste the middle block for each screen-full.
// Then run the last line again to fill 'data'.
// 3. In console: JSON.stringify(data) and copy value. It will contain a map from the Slack username to image URL and
// a relative link to the pop-up with user details. I'm still working on retrieving those details.
// 4. Use this 'jq' script to clean it up (I will work on folding this back into the javascript).
// jq 'with_entries(select(.value.image)|{key,"value":({"image":(.value.image//""|gsub("url\\(";"")|gsub("[)\"]";"";"g")),"link"})})'
swthomas55 /
Last active May 17, 2017 14:15
Detect corrupted jar files. Eclipse Maven plugin seems prone to creating these.
import java.util.jar.JarFile;
* List corrupted Jar files.
* <p>
* Usage: java JarTest file ...
* <p>
* Prints the name and a message for each corrupted file.
* <p>
swthomas55 /
Last active February 16, 2017 21:32 — forked from StevenACoffman/
Create Github pull request from JIRA and git
function safe_curl() {
# call this with a url argument, e.g.
# ""
# separating the (verbose) curl options into an array for readability
hash curl 2>/dev/null || { echo >&2 "I require curl but it's not installed. Aborting."; exit 1; }
hash jq 2>/dev/null || { echo >&2 "I require jq but it's not installed. Aborting."; exit 1; }
hash sed 2>/dev/null || { echo >&2 "I require sed but it's not installed. Aborting."; exit 1; }
swthomas55 /
Last active January 19, 2016 20:50
moves a folder from one git repo into another repo with history intact
#!/usr/bin/env bash
# Usage:
# ./ origin/folder/path/ /destination/repo/path/ new/folder/path/
if [ $# -lt 4 ] ; then
echo "Usage: $0 origin/folder/path/ /destination/repo/path/ new/folder/path/"
swthomas55 /
Last active December 31, 2021 18:52
Manage POM versions in multi-module Maven projects
#! /bin/sh
# Usage:
# Update the version of every POM to the next patch version, append the git branch name and SNAPSHOT
# unless the POM already has a SNAPSHOT version.
# Thus, version 1.3.4 becomes 1.3.5-branch-SNAPSHOT.
# Requires xmlstarlet and maven versions plugin. Invokes maven as "mvn".