Skip to content

Instantly share code, notes, and snippets.

View 1j01's full-sized avatar

Isaiah Odhner 1j01

View GitHub Profile
@1j01
1j01 / enable-eslint-rules.js
Created June 3, 2024 03:14
Enable ESLint rules one-by-one, committing the auto-fixes to git
#!/usr/bin/env node
// This script enables all ESLint rules that have the exact comment "// TODO: enable" at the end of the line,
// one by one, and commits the changes to git, including eslint auto-fixes.
// If it runs into errors, it stashes the changes and continues with the next rule.
const fs = require('fs');
const { EOL } = require('os');
const { execSync } = require('child_process');
const run = (cmd, options) => {
@1j01
1j01 / undo-redo-history.js
Last active October 14, 2024 01:43
Undo/redo history pattern example in JavaScript
// first setup our stacks of history states
// (const refers to the reference to the arrays, but they arrays themselves are mutable)
const undos = [];
const redos = [];
// undo and redo are symmetrical operations, so they *could* be factored to use an "undoOrRedo" / "stepHistory" function that takes two stacks as arguments, but it might be clearer as two functions
const undo = () => {
if (undos.length < 1) { return false; }
@1j01
1j01 / blob_to_buffer.js
Last active August 24, 2018 20:33 — forked from davemackintosh/blob_to_buffer.js
Electron blob to buffer, I made this to use with the nativeImage class.
function blob_to_buffer(blob, callback) {
const file_reader = new FileReader()
file_reader.addEventListener("loadend", event => {
if (file_reader.error) {
callback(file_reader.error)
} else {
callback(null, new Buffer(file_reader.result))
}
}, false)
@1j01
1j01 / 1. symmetrical-text.js
Last active June 8, 2018 03:09
|[<-'*/]^[\*'->]| ):\<^/A]H[A\^>/:( |[<-'*/]^[\*'->]|
function generateSymmetricTextLine() {
const selfSymmetricChars = "*#^!+=-.':oO08|HAIX_WMVT";
const chars1 = ">>><<</\*^:_.-'|!~)()()][[{}{";
const chars2 = "<<<>>>\/*^:_.-'|!~()()([]]}{}";
const maxWidth = 10;
const maxNumChars = maxWidth - 2;
const numChars = maxNumChars - Math.floor(Math.random() * 5);
let string = selfSymmetricChars[~~(Math.random() * selfSymmetricChars.length)];
for (let i = 0; i < numChars; i += 1) {
@1j01
1j01 / 1. onemorepixel.gml
Last active June 7, 2018 04:32
An old code doodle made in GameMaker 8.0 GML, of phantasmagorical circuitry. See the output here: https://imgur.com/a/ze0tV4o
var f,t,w,h,c,l,wires;
f=10; //cell size
c=2/5; //circle size
l=1/5; //line width
t=4;//only used here
w=128*t;
h=128*t;
@1j01
1j01 / Sux, Bro.bytebeat.js
Last active May 29, 2018 04:40
A mashup of bytebeat songs people have made. Not super finessed, but it was fun making, as I recall (just "cutting it together" with conditionals, and figuring out how to organize it). HTML5 Bytebeat link: https://goo.gl/sXnsqt
////\ _
(//( ( _ _ _ _ | | _ __ __
0///\ \/ / / \/ / | -.| / _\/ \
/1/// / / / ) ( | ()|| / ( 0 |
//0 \/\__/ /_/\_\9 |___/|_| \__/ &copy rly bad ascii co.
///1 j 0 1
////j 0 1
/////0 1
//////1 A mish-mash of a ton of other people's bytes.
@1j01
1j01 / Color Picker with color strip previews on the sliders.json
Created May 11, 2018 05:49
Based on an example color picker (http://aprt.us/editor/?load=doc/examples/Color%20Picker.json), this adds color strips as previews of what moving an individual slider will do. Try it on http://aprt.us/editor/
This file has been truncated, but you can view the full file.
{"objects":{"id6adbcqieluybdkm7":{"editingElement":{"__ref":"idmj2z9uieluzvfy4i"},"selectedParticularElement":null,"createPanelElements":[{"__ref":"Rectangle"},{"__ref":"Circle"},{"__ref":"Text"},{"__ref":"idm0xhddieluybcwm6"},{"__ref":"idmj2z9uieluzvfy4i"},{"__ref":"id72zquvjaxe5x29cn"},{"__ref":"idjwnmqqjay7igw8nq"}],"id":"id6adbcqieluybdkm7","__proto":{"__ref":"Project"}},"idmj2z9uieluzvfy4i":{"_master":{"__ref":"Group"},"_head":{"__ref":"idmj2z9uieluzvfy4i"},"_variants":[],"_parent":null,"_children":[{"__ref":"idsgiineieluzvha4j"},{"__ref":"idtbl8boieluzwvg4v"},{"__ref":"ido6zqnjieluzz4r6r"},{"__ref":"idir8j99ielv01tc8n"},{"__ref":"ido3kdmdielv0g0xaj"},{"__ref":"iddmwoaeielv1j97bq"}],"_isHatched":true,"expanded":true,"_nextSwatchColorCode":1,"id":"idmj2z9uieluzvfy4i","label":"Color Picker","viewMatrix":{"__ref":"idcvocb1jayf5c991hw"},"__proto":{"__ref":"Group"}},"idm0xhddieluybcwm6":{"_master":{"__ref":"Group"},"_head":{"__ref":"idm0xhddieluybcwm6"},"_variants":[{"__ref":"idtbl8boieluzwvg4v"},{"__ref":"id
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
/**
* Paste the following (or this entire file) into the Terminal app on windows93.net (or your browser's devtools console)
*
* You can then run toggle3D() to toggle the effect (it starts enabled)
*
* I originally made this as the Konami Code effect on 98.js.org
* So this is a port of that to work on windows93.net
* (where it's much more thematically fitting :P)
*/
@1j01
1j01 / npm uninstall emojis-list -ddd.txt
Created November 11, 2017 19:36
the ok is a lie :( 🎂
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
npm verb cli 'C:\\Users\\Isaiah\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
npm verb cli 'uninstall',
npm verb cli 'emojis-list',
npm verb cli '-ddd' ]
npm info using [email protected]
npm info using [email protected]
npm verb npm-session 71c9cc4b23c86eae
npm sill install loadCurrentTree