Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View 1j01's full-sized avatar

Isaiah Odhner 1j01

View GitHub Profile
/**
* 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 / README.md
Last active August 31, 2020 21:42
GitHub Desktop 1.0 dark theme stylesheet (obsolete)

Deprecated! 🎉

There's now a dark theme (currently in beta) built into GitHub Desktop.

Access it from File > Options... > Appearance


GitHub Desktop Dark Theme

@1j01
1j01 / undo-redo-history.js
Last active June 10, 2019 21:26
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 / inspect-object-hack.md
Last active July 30, 2018 20:27
Node.js hack to inspect [Object object]

Ever gotten some output on the console like [Object object], with no explanation? Can't find where it's being logged? Maybe it comes right before some ludicrous error or crash. Sometimes you just need a hack.

JavaScript

var ots = Object.prototype.toString;
Object.prototype.toString = function() { try { return JSON.stringify(this); } catch (e) { return ots.apply(this); } };
@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.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@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