Instantly share code, notes, and snippets.

# Breton

• Sort options
Created Oct 23, 2018
View Interesting unicode characters
 ෴ ༄ ༒ ༼ つ ᑕ ༎ ༎ຶ
Created May 9, 2016
Created May 5, 2016
View wuline.html
 Document
Last active May 16, 2016
Decompose a 2D transform matrix into [rotate scale rotate translate]
View decompose-matrix.js
 function decomposeMatrix(m) { var t,r,s,k,E,F,G,H,Q,R,sx,sy,a1,a2,theta,phi,sqrt=Math.sqrt,atan2=Math.atan2; // http://math.stackexchange.com/questions/861674/decompose-a-2d-arbitrary-transform-into-only-scaling-and-rotation // // It works wonderfully! Thanks. // The input matrix is transposed though, // so let me spell the solution out. E=(m[0]+m[3])/2
Created Apr 30, 2016
View canvas-skeleton.html
 canvas
Created Apr 29, 2016
View Notable hypercard stacks
 hypercard stacks electronic whole earth catalog manhole Time Table of History myst Cosmic Osmo and the Worlds Beyond the Mackerel Spelunx The Computer Lab's Beyond Cyberpunk (http://www.streettech.com/bcp/BCPgraf/4zones.html)
Created Apr 29, 2016
reusable Gruntfile that loads external JSON.
View Gruntfile.js
 module.exports = function (grunt) { function to_entries (object,prefix){ // convert object to array of key/value objects, emulating jq. // for working around mustache limitation // for heirarchical objects, flatten // into key.subkey/value form, until a string, number or boolean is encountered // this is super convenient for rendering json to shtml variables var a=[];
Created Apr 29, 2016
View rgbdiff.js
 define("rgbdiff", [], function () { function rgbdiff(a, b) { // Convert RGB to XYZ function rgbToXyz(tuple) { var _r = (tuple[0] / 255); var _g = (tuple[1] / 255); var _b = (tuple[2] / 255); if (_r > 0.04045) { _r = Math.pow(((_r + 0.055) / 1.055), 2.4);
Last active May 5, 2016
Run Length Encoding and Decoding for JS number arrays, with Delta Encoding and Delta Decoding.
View RLE.js
 function RLEencode(array) { // output an array of values // consisting of alternating "rips" and "runs" // a rip begins with a negative count followed by a // cooresponding number of non-repeating values // // a run begins with a positive count, followed by // the value to be repeated by the count. var newArray=[];
Created Apr 29, 2016
View wuline.js
 // integer part of x function ipart(x) { return Math.floor(x); } function round(x) { return Math.round(x); } // fractional part of x
You can’t perform that action at this time.