Skip to content

Instantly share code, notes, and snippets.

Eric Miller SimplGy

Block or report user

Report or block SimplGy

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
@SimplGy
SimplGy / node-get-file-contents.js
Last active May 4, 2019
Node - get the contents of all the files in DIR
View node-get-file-contents.js
const fs = require('fs')
const path = require('path')
const DIR = 'input/';
const readFile = name => fs.readFileSync(name);
(async () => {
const files = fs.readdirSync(DIR)
.filter(s => s.match(/\.csv$/)) // only .csv files -- change to whatever you want.
@SimplGy
SimplGy / sort-object-keys.ts
Last active Mar 16, 2019
sort keys of an object using an array index as rank, with TypeScript
View sort-object-keys.ts
export interface SomeShape {
b: string,
c: string,
a: string,
}
// Specify your sort order here
const rank: Array<keyof SomeShape> = ['a', 'b', 'c'];
export function sortedKvpString(obj: SomeShape) {
@SimplGy
SimplGy / keybindings.json
Created Nov 11, 2018
VSCode keybindings
View keybindings.json
// Place your key bindings in this file to overwrite the defaults
[
{
"key": "cmd+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+down",
"command": "-editor.action.copyLinesDownAction",
@SimplGy
SimplGy / count-dom-words.js
Last active Nov 5, 2018
This counts up all the words (innerText) at each level of the dom tree.
View count-dom-words.js
// Procedure:
countWords(document.body);
/*
* Count the text inside each element.
* Parents include all the words of their children.
View ExternalUrl.ts
@Injectable({providedIn: 'root'})
export class ExternalUrlService implements CanActivate {
canActivate({ data }: ActivatedRouteSnapshot): boolean {
window.open(data.externalUrl, '_blank');
return false;
}
}
@SimplGy
SimplGy / keymap.cson
Created Apr 15, 2018
IntelliJ style keybindings for the Atom text editor
View keymap.cson
'atom-text-editor':
'cmd-backspace': 'editor:delete-line'
'cmd-up': 'editor:move-line-up'
'cmd-down': 'editor:move-line-down'
'cmd-d': 'editor:duplicate-lines'
@SimplGy
SimplGy / shades-and-lights.scss
Created Jan 22, 2018
Utility colors for SCSS
View shades-and-lights.scss
// Lights (white as a transparency)
$light10: rgba(255, 255, 255, 0.10);
$light20: rgba(255, 255, 255, 0.20);
$light30: rgba(255, 255, 255, 0.30);
$light40: rgba(255, 255, 255, 0.40);
$light50: rgba(255, 255, 255, 0.50);
$light60: rgba(255, 255, 255, 0.60);
$light70: rgba(255, 255, 255, 0.70);
$light80: rgba(255, 255, 255, 0.80);
@SimplGy
SimplGy / renameToHash.sh
Last active Dec 24, 2018
Rename files with a hash based on their contents. eg: `abc.jpg` to `3101ace8db9f.jpg`. Useful for detecting duplicates.
View renameToHash.sh
#!/bin/bash
# TODO: skip tiny files (so small they couldn't be photos)
# TODO: make sure sym links and other file system oddities are handled
# TODO: look at paralellization for perf boost
#
# Constants
#
CHAR_COUNT=12
BLOCK_COUNT=6
@SimplGy
SimplGy / Animate.swift
Last active Oct 27, 2016
A starter animation library for swift. These abstractions make it easier to chain multiple behaviors (eg: anticpate, then slam, then fade) because you can use them as single liners and reason only about the actions. Usage: `Animate.show.bySpringing.fromAbove(alert)`
View Animate.swift
import Foundation
/*
A starter animation library for swift.
These abstractions make it easier to chain multiple behaviors (eg: anticpate, then slam, then fade)
because you can use them as single liners and reason only about the actions.
Usage:
@SimplGy
SimplGy / most-beautiful-js-ever.js
Last active Sep 13, 2016
A collection of weepingly beautiful javascript written by other people. For me to open late at night and admire secretly.
View most-beautiful-js-ever.js
// Pull a secret string out of ordered triplets
// https://www.codewars.com/kata/recover-a-secret-string-from-random-triplets/train/javascript
// https://www.codewars.com/kata/53f40dff5f9d31b813000774/solutions/javascript
// @LesRamer
var recoverSecret = function(triplets) {
for(var [first] of triplets)
{
if (triplets.every(tuple => tuple.indexOf(first) <= 0))
{
You can’t perform that action at this time.