This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
for file in *.zip | |
do | |
filename="${file%.*}" | |
# Filenames can't contain /. So, I wonder | |
# what Bandcamp would do if they had AC/DC? | |
unzippath=$(echo "$filename" |sed -e 's/ - /\//') | |
mkdir -p "$unzippath" | |
unzip "$filename" -d "$unzippath" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
src=. | |
start=$1 | |
end=$2 | |
if [[ ! $start ]] && [[ ! $end ]]; then | |
printf "Usage: ./tools/get-entries-in-date-range.sh [start string] [end string]\nEnd string is optional.\n\nExample: To get filenames that come after 2020-03 (anywhere in March) but before 2020-03-29 (assuming files follow this naming convention):\n./tools/get-entries-in-date-range.sh 2020-03 2020-03-29\n"; | |
exit 1; | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pickle | |
import json | |
data = pickle.load(open('file.pkl', 'rb')) | |
out_file = open("out.json", "w") | |
out_file.write(json.dumps(data)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var { easeCubic } = require('d3-ease') | |
var { range } = require('d3-array') | |
range(0, 1, 0.05).map(easeCubic).map(n => n.toFixed(2)).join(';') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<svg width="40" height="40" viewBox="0 0 100 100" | |
xmlns="http://www.w3.org/2000/svg"> | |
<filter id="displacementFilter"> | |
<feTurbulence type="fractalNoise" baseFrequency="0.75" | |
numOctaves="2" result="turbulence" stitchTiles="stitch"/> | |
</filter> | |
<rect id="noise-square" width="40" height="40" | |
style="filter: url(#displacementFilter)"/> | |
</svg> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.box { | |
border-image: repeating-linear-gradient(40deg, hsl(30, 50%, 15%), hsl(20, 50%, 30%), hsl(25, 40%, 20%) 8px) 60; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function floorToBeginningOfDay(date) { | |
return new Date(date.toLocaleDateString()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var eventListeners = { | |
eventName: [] | |
}; | |
function addEventListener(type, listener) { | |
var listeners = eventListeners[type]; | |
if (listeners) { | |
listeners.push(listener); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Run this in the console when you have a Wikipedia page open. | |
// First, get the wikitable element you want and add an id of `main-table` to it. | |
// Then: | |
var rows = document.querySelectorAll('#main-table tr'); | |
var extracted = []; | |
function extractFromRow(row) { | |
if (row.children.length > 2) { | |
let event = { | |
yearsFromNow: row.children[1].textContent.replace(/\n/g, '').replace(/\[note \d+\]/g, ''), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rsync -a $(HOMEDIR) $(USER)@$(SERVER):$(SERVERDIR) --exclude node_modules/ --omit-dir-times --no-perms |