Skip to content

Instantly share code, notes, and snippets.

View mknepprath's full-sized avatar
🏠
Working from home

Michael Knepprath mknepprath

🏠
Working from home
View GitHub Profile
@mknepprath
mknepprath / musickit-token-encoder.js
Created February 20, 2021 16:48 — forked from leemartin/musickit-token-encoder.js
Apple Music API Token for MusicKit
"use strict";
const fs = require("fs");
const jwt = require("jsonwebtoken");
const privateKey = fs.readFileSync("AuthKey.p8").toString();
const teamId = "ABCDE12345";
const keyId = "ABCDE12345";
const jwtToken = jwt.sign({}, privateKey, {
@mknepprath
mknepprath / unlike_bot.py
Created February 19, 2020 19:03
The Delete Stale Likes script.
# In order to run this, you will need to get Twitter API access and set environment variables for the following:
# - TWITTER_CONSUMER_KEY
# - TWITTER_CONSUMER_SECRET
# - TWITTER_ACCESS_TOKEN
# - TWITTER_ACCESS_TOKEN_SECRET
#
# Then, update TWITTER_ID below with your Twitter ID. This is a string of numbers
# you can look up with http://gettwitterid.com/.
#
# You will also need to `pip install tweepy`.
@mknepprath
mknepprath / tweet-ids.js
Created February 11, 2020 03:15
Get a list of tweet IDs.
const hrefs = [];
setInterval(function() {
const timestamps = [...document.getElementsByTagName("time")];
timestamps.forEach(timestamp => {
if (timestamp.parentNode.href) {
const tweetId = timestamp.parentNode.href.split("/").pop();
hrefs.push(tweetId);
};
});
@mknepprath
mknepprath / extract-blog-meta.js
Last active January 10, 2020 02:32
A codemod that moves blog metadata to an object.
const transform = (file, api) => {
// Alias the jscodeshift API for ease of use.
const j = api.jscodeshift;
// Convert the entire file source into a collection of nodes paths.
const root = j(file.source);
const LAST_IMPORT = root.find(j.ImportDeclaration).at(-1);
const blogPageProps = [
@mknepprath
mknepprath / appify
Created January 8, 2020 16:31 — forked from mathiasbynens/appify
appify — create the simplest possible Mac app from a shell script
#!/bin/bash
if [ "$1" = "-h" -o "$1" = "--help" -o -z "$1" ]; then cat <<EOF
appify v3.0.1 for Mac OS X - http://mths.be/appify
Creates the simplest possible Mac app from a shell script.
Appify takes a shell script as its first argument:
`basename "$0"` my-script.sh
// Copy and paste all of this into the console on a page that contains tweets to
// start collecting. Run `stopCrawlAndGenerateList()` once you've collected enough
// tweets.
// Instantiating raw array of tweets.
const allTweetsById = [];
// Common "words" to filter out based on 4 Twitter accounts' likes.
const commonWords = ["Chris","got","of","all","my","on","just","I’ll","have","to","make","a","list","the","little","I","but","also","happy","any","about","are","take","|","for","and","is","built","with","KBLoad","·","day","here","at","long","The","in","it","or","hope","you","enjoy","(and","if","this","been","working","hard","get","when","Williams","2","","ever","not","like","Maybe","some","When","learned","never","even","No","one","other","it,","It's","better","stop","break","than","10","bad","things","be","people","asked","me","try","image73","open","give","If","loving","go","your","new","Show","years","ago","joined","A","lot","more","Just","Matt","Dave","New","It","My","latest","made","Today","first","as
// Run per page. You will have to hover over some posters before running to ensure `.icon-watched` is rendered.
const watchedActionButtons = [...document.querySelectorAll(".icon-watched")]
for (watchedActionButtonIndex = 0; watchedActionButtonIndex < watchedActionButtons.length; watchedActionButtonIndex++) {
watchedActionButtons[watchedActionButtonIndex].click()
console.log("Deleted movie at index #" + watchedActionButtonIndex + ".")
}
@mknepprath
mknepprath / speed_tracker.js
Last active September 23, 2019 15:53
Open https://fast.com/ and paste into the console to start creating a log of your internet speed.
const recordedSpeeds = []
setInterval(() => {
// Get internet speed
let speed = document.getElementById('speed-value').innerText
// Get speed units
const units = document.getElementById('speed-units').innerText
// Flatten speed if Kbps
if (units === 'Kbps') speed = "0"
// Display in console
console.log('='.repeat(Number(speed) / 5), speed)
@mknepprath
mknepprath / best_animated_features.json
Created March 11, 2018 23:02
Best Animated Feature Films
[
{
"year":"2017",
"films":[
{
"title":"Coco",
"rating":82,
"box_office":208831333
},
{
// get data from Parse for interactions
var Interactions = Parse.Object.extend("Interactions");
var intsquery = new Parse.Query(Interactions).limit(1000);
var interactions = [];
intsquery.find({
success: function(ints) {
console.log("Successfully retrieved " + ints.length + " interactions.");
// create interactions array from Interactions in Parse
for (var i in ints) {
int = ints[i];