Skip to content

Instantly share code, notes, and snippets.

View u27a4's full-sized avatar

u27a4

View GitHub Profile
{
"name": "Potato42",
"vendorId": "0xFEEE",
"productId": "0x0000",
"keycodes": ["qmk_lighting"],
"menus": ["qmk_rgblight"],
"matrix": {
"rows": 8,
"cols": 6
},
@u27a4
u27a4 / test
Created June 26, 2023 17:23
test
cc44zg44Ng44A6A5iQl5lk44zg44SQk6JEk6Mg44eg44Kg44Rg445AP5Zg444gy6Ug44Ro448o44eo446M55lAz6Vg44EUz5HYQ5k0GN8++JboUM2EoN8+UcnOqdcc44zg44Ng44bAk6f+B5ck44lQl5lk44zg44sk44TAP5KIy5eg44Qg44jk44C2l5Vg44Mg44Jg44ik44Rg44icz50cA5bc44xg44TAP5KIy5sk44lg44lk44cg44Ng44w2656gR5JEk6Qg44hIy5Pgy6Rg44t2B5SYP5mg446M55lAz6Ug44Ro448o44eo44MQB5aIl5bc44pg44Qg44Vg44Ng44Ug44lk44bk44lEA5sk446M55lAz6Rg44hEz6Hs45bc44Mg44Jg44aIk6Og44jk44lg44lk44eg44Mg44mk44vg44Og44bAk6f+B5cc44zg44Ng44bAk6f+B5Vg44Rg44cMP5ck44Og44tg44lk44zg44aIk6q+O5jk44lg440gy5Fg44mk44vg447Ul5sk446M55lAz6Rg44BQz6F6A5Ng445AP5aIl5bc44mg44zg44Ng445k45ng445g44zg44psO5OoR5mg44fci68cA6D6l5Og44gg44eg44Og44lg44jk44Hg44Pg44Vg44mk44tg44cc44zg44Ng44ng445g44lk44rg44/gy6Rg44++A52w75Vg44lwO5lQl5Qg44gg44ik44gg44+g44xg44Mg44sg44lIl5sk44h6455Qy5Ug44zUy5TwQ5Rg44gcy6bc44kk44Fg44eg44BUO5sk44XMl53ER5Rg44zUy5TwQ5mg44Ro448o44eo44lk44zg446M55lAz6cc44zg44Ng44jk44lg44eg44Qg44Vg44Ng44ng445g44lk44Qg44Rg44OYz5y2A5lk44zg44Z6A57Iz6sk44Ug44ck44Ug44Dg44zUy5TwQ5bc44kk44cg44Ng44Rkl6aIl5Ug44wYy5h6455Qy5ek44eAz5
StkZLgA0Hsk9Pqdk0qFGaIcnStkOC3BOnNlSvMBHbhiGaciGaIcnStkOixz05wzJ5cBL5wyWbciGaciGOqd7bskPWwzUfguGy2BLnMBHr3CULgiSvMBHbhkHaIjMacBSvNBG0tiGWwzUfgCOaIzPbcik0WoPGssvrgBPvNyG0diSvMBHbhiYfMDGaIcnOqd9bcik0WoSvMBHbhiUjxD0vMCGaciGOqdk0WoPGsk9bciGaIcnStkLPxAt5wANjxynTgiSuMEPn1zULgzKfguRbYkGGgDKL2vU9gD0vNqRbclSvMBHbhkKLMChv2zUfMCYfgiGaciGaIcnShiPGIBVLgDJ5wDMbspGuMEPnxzs52BUWwzUfgCG0diN5wA6L2CLjLBV5cBL5wyWHciGacik0GMUwEROIoN9sELlwURboUGzAUUcooPcoETcoUQdooQbooIdoUPcoUOcooPcooRdoURbo+Sdo+VcooNdooiV8ciGacik0Gcn0hiGacik0WoRnwASnKBp52B0rxDc52BJLgi9aYAJLgBd52BU42B0rxDIbciGaciGOqd7CxyYrKBp52B0rxDc52BJLgi9aYDHjhrU9MlU9gD0vNyGaciGacik0WoDjZwDL2wZ52BPr3ybTgi9acDWLMCJnNlU9gD0vNyGaciGacik0WoDfZwDL2wZ52BPr3ybTgi9acCPrfCSvgAU42B0rxDIbciGaciGOqd7KsxWSvxPT1CU9wA0nwqRbclDHgDKL2vU9gD0vNqRbclOrhzPDLBVrhD1j0AGWcmGWcmBbclN42B0rxDI52BJL2jOqgzH5cBL5wyWbspG42B0rxDIbICHzhiGaciGaIcnShiPSYkPbYoOr3zUvgBUmNBVLgDJf0AGWdiPbYoWaspGKgiYfMDOaICVzgiGacik0WoP0hiLvNC0bIoLXMyHvMEPnxzYbYEGWsxWaJmGWcmWmdiSadiSaZwGWYj1jxl1r3jGWYjLrhDLXwyWDck39gzUL2vGCxzUbIoGOMyp
@u27a4
u27a4 / test.txt
Last active January 5, 2023 23:34
aaaaaapSdaaaaUamaadaaaaaGbfSeu0HhDUWfLaTOvq+cDZvgDaaadRaaaaacabaaaaaaaaaWdaaqbKaaacmoE5gRdwzYqUcacaeaauaafceWsqbhCJ5YCSLgD19cDZvgDaaWbtaaaaacabaaaaaaaaaGdaaWdvdaaeWonZBKUwvcekbacaeaauaafceWsqbhCJ5cDLjxyJ9fDL9cDZvgDaaaaaaaaaacabaaaaaaaaaqeaaqgnbaagq+8ia0LwvsdXcacaeaauaafceWsqTSRc7AMiV8AiXJcEANkL3tTVS8sDrzIzlrWeEw0hAPSo9CgBjZzkArmzvHPE8qWaUquJSEMN6dgFZHyUL4ewOFjvhxoOIVH2fb3AJ6SNshEb0rTr+j7ZdNf2SsWM5ymUrK2vpzC1xnkWvT0G+1cY8P2xd9mZbUJVHevWPiJk+qgCWRFQvaVI7iABEnTIi5JDaki/A1r4e8kaEnM+YvPLyKn7Gaa2fU78OR5e57TDU29fDf+aBOGAkITbfP1x0SFc3SI84qgPKtlQVbrnlWnwJC3LloU17FBNbd7kTkBdi7yszgHdKjoQWjEsOoc9+/pPNXTdp+ipUwUXxWb4DQCvEgJcq+7PuQy5TcYLSBhZWRSx5g1uMyGpgWR3Kz+1WAstTEW2emUAnUjG2QOc6M9fEItt1pTzzEo4IuVdAbW+a707FpJ5HRLJnI9NRD7NgLxzx1vaxC8EVCJzhxeoWrsf2lqpM7kUnN08WtfBTcfdZuSKMEG0Xynn36HzZjCqmopRG+2Zwby6Kn77vA9Kr8GM96cOq+PV6C3fTEISVzDccNocBULD4Ij9U8WLQyovSsnOKLp/guwhHbpATMKuhTfrw0/v0WZTYyYXUkiM7rSDbs42fXUBgks2acYo0XgcplAt0oxfKgF6FOj5butNNfF0YpROiTeV7cjOGwlUPguHDG8ABAzjCK8aq6Hhx4Gvctq0Kme4HBVZuzZJHB86Aqaia5zf00wpbXpxPqAmmgvKi5ci4
pattern = pattern.replace(/[.+?^=!:$()|[\]\\]/g, '\\$&');
pattern = pattern.replace(/\{/g, '(?!=.*/)');
pattern = pattern.replace(/\}/g, '');
pattern = pattern.replace(/^(?!\/)/g, '//$&');
pattern = pattern.replace(/\*+/g, '.*');
@u27a4
u27a4 / asynceach.jsx
Created August 15, 2019 01:11
aescript; non-blocking foreach
// non-blocking foreach
Application.prototype.asyncEach = function(elements, callback, i) {
i = i || 0;
var self = this;
(function () {
if (i < elements.length) {
if (!(callback(elements, i++) === false)) {
self.setTimeout(arguments.callee, 0);
}
}
@u27a4
u27a4 / isreplaceable.jsx
Created August 4, 2019 17:22
aescript; checking if footages are replaceable with each others.
// JSON_.stringify - from: https://github.com/douglascrockford/JSON-js
"object"!=typeof JSON_&&(JSON_={}),function(){"use strict";var p,l,n,y,e=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;function t(t){return t<10?"0"+t:t}function o(){return this.valueOf()}function a(t){return e.lastIndex=0,e.test(t)?'"'+t.replace(e,function(t){var e=n[t];return"string"==typeof e?e:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+t+'"'}"function"!=typeof Date.prototype.toJSON_&&(Date.prototype.toJSON_=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+t(this.getUTCMonth()+1)+"-"+t(this.getUTCDate())+"T"+t(this.getUTCHours())+":"+t(this.getUTCMinutes())+":"+t(this.getUTCSeconds())+"Z":null},Boolean.prototype.toJSON_=o,Number.prototype.toJSON_=o,String.prototype.toJSON_=o),"function"!=typeof JSON_.stringify&&(n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON_.stringify=functi
@u27a4
u27a4 / replace.jsx
Last active July 22, 2019 14:05
aescript; replace selected item names.
// 入力用ダイアログの表示
function showPrompt(settings, selection) {
var ui = new Window("""dialog {
orientation: 'column',
body: Panel {
orientation: 'column',
alignChildren:'right',
pattern: Group {
orientation: 'row',
_: StaticText { text: 'Find what:' },
@u27a4
u27a4 / gridarrange.jsx
Created April 21, 2019 14:12
aescript; arrange selected layers in a grid.
function gridarrange(comp, layerIndicies)
{
var d = Math.ceil(Math.sqrt(layerIndicies.length));
var w = comp.width / d;
var h = comp.height / d;
for (var i = 0; i < layerIndicies.length; i++)
{
var x = i % d;
var y = Math.floor(i / d);
@u27a4
u27a4 / snap.jsx
Created April 14, 2019 13:34
aescript; snap selected layers to the corner in composition.
function snap (x, y)
{
var item = app.project.activeItem;
var layerIndicies = [];
for (var i = 0; i < item.selectedLayers.length; i++)
{
layerIndicies.push(item.selectedLayers[i].index);
}
item.layers.precompose(layerIndicies, item.selectedLayers[0].name, true);