Skip to content

Instantly share code, notes, and snippets.

Jim Kang jimkang

Block or report user

Report or block jimkang

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
jimkang / noise.html
Last active Sep 4, 2019
Perlin noise SVG filter
View noise.html
<svg width="40" height="40" viewBox="0 0 100 100"
<filter id="displacementFilter">
<feTurbulence type="fractalNoise" baseFrequency="0.75"
numOctaves="2" result="turbulence" stitchTiles="stitch"/>
<rect id="noise-square" width="40" height="40"
style="filter: url(#displacementFilter)"/>
jimkang / faux-wood-grain-border.css
Created Sep 4, 2019
Kinda crappy but amusing faux wood grain border with `border-image`
View faux-wood-grain-border.css
.box {
border-image: repeating-linear-gradient(40deg, hsl(30, 50%, 15%), hsl(20, 50%, 30%), hsl(25, 40%, 20%) 8px) 60;
jimkang / floor-to-beginning-of-day.js
Created Aug 15, 2019
Function that floors a date to the beginning of that day (12:00 AM or 00:00).
View floor-to-beginning-of-day.js
function floorToBeginningOfDay(date) {
return new Date(date.toLocaleDateString());
jimkang / eventlistener.js
Created Jul 11, 2019
Basic addEventListener and removeEventListener, in case I need it later
View eventlistener.js
var eventListeners = {
eventName: []
function addEventListener(type, listener) {
var listeners = eventListeners[type];
if (listeners) {
jimkang / extract-from-a-wikipedia-table.js
Last active Jun 21, 2019
Extracting content from a Wikipedia table
View extract-from-a-wikipedia-table.js
// 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, ''),
jimkang /
Last active Aug 16, 2019
Example of replacing placeholders in multiple files with sed
# Assuming $title and $name are read from input.
# ...
# Escaping space characters is only necessary within the shell script.
# If you're running the find...sed command directly in the shell, you don't need to escape spaces.
cleanedtitle="${title// /\\ }"
# Replace the placeholders with the title (with escape characters inserted).
jimkang /
Created Dec 18, 2018
rsync flags that allow you to not have to ask for privileges
rsync -a $(HOMEDIR) $(USER)@$(SERVER):$(SERVERDIR) --exclude node_modules/ --omit-dir-times --no-perms
jimkang / sort-by-type.mp4
Created Nov 15, 2018
Move files (unsafely) with a file extension that matches the argument into a directory named for that extension.
View sort-by-type.mp4
for file in ./recup_dir*/*.$1
mv ${file} $1
jimkang /
Created Nov 14, 2018
Moving every mp4 file in subdirectories into a directory named 'mp4'
for file in ./recup_dir*/*.mp4
mv ${file} mp4
jimkang /
Created Nov 1, 2018
This is tar exclude command syntax that actually works on OS X. Run from the directory enclosing the project folder.
tar -zcvf project.tgz --exclude "./project/node_modules" ./project
You can’t perform that action at this time.