Skip to content

Instantly share code, notes, and snippets.

@rebolyte
rebolyte / aes.sh
Created September 14, 2016 00:08
Simple CLI file encrypter/decrypter with GPG
#!/bin/bash
mode=""
filename=""
# http://stackoverflow.com/a/7069755
while test $# -gt 0; do
case "$1" in
-h|--help)
@rebolyte
rebolyte / alt-method.js
Last active July 28, 2016 19:47
Testing Jasmine spies
it('can call a callback that is passed', function () {
let callback = jasmine.createSpy('callback function');
let putItem = jasmine.createSpy().and.callFake((params, cb) => {
expect(params.id).not.toBeUndefined();
cb('done');
});
putItem({ id: 1 }, callback);

Keybase proof

I hereby claim:

  • I am rebolyte on github.
  • I am rebolyte (https://keybase.io/rebolyte) on keybase.
  • I have a public key whose fingerprint is 539C 63BE 4607 65A6 BCEC 1BD4 C7D2 2C36 3781 BFA3

To claim this, I am signing this object:

@rebolyte
rebolyte / obfuscate.js
Created June 28, 2016 08:43
JS code obfuscation
let code = "console.log('testing')";
// encode
let a = [...code]
.map(x => x.charCodeAt())
.map(x => x.toString(2))
.join('2');
// decode
let chars = a.split('2').map(x => parseInt(x, 2));
@rebolyte
rebolyte / readme.md
Last active June 5, 2016 19:16
dojo external template test
@rebolyte
rebolyte / gen-id.reb
Last active May 18, 2016 15:15
Rebol ID generator
REBOL []
generate-id: func [/length len /local chars out] [
chars: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
out: copy ""
if none? len [ len: 8 ]
loop len [
random/seed form now/precise
ind: random/secure length? chars
append out pick chars ind
@rebolyte
rebolyte / moment-tz-perf-test.js
Last active May 10, 2016 21:37
Moment Timezone perf test
/* jshint esversion:6, node: true */
let http = require('http');
let querystring = require('querystring');
let moment = require('moment-timezone');
const PORT = 8081;
let server = http.createServer(function (req, res) {
let qs = req.url.split('?');
@rebolyte
rebolyte / matching-brackets.js
Last active October 4, 2017 17:00
matching brackets
// https://www.reddit.com/r/javascript/comments/4eb61r/interview_exercise_feedback/
function isBalanced(str) {
var dict = {
'{': '}',
'(': ')',
'[': ']'
};
var stack = [];
for (var i = 0; i < str.length; i++) {
@rebolyte
rebolyte / sizes.txt
Last active April 12, 2016 19:31
NPM module sizes for my Express API
body-parser - 837KB, 188 items, 10 immediate deps, 18 total deps
cookie-parser - 29KB, 19 items, 2 immediate deps, 2 total deps
express - 935KB, 302 items, 25 immediate deps, 39 total deps
express-jwt - 1.5MB, 721 items, 4 immediate deps, 31 total deps
express-winston - 701KB, 214 items, 3 immediate deps, 13 total deps
helmet - 543KB, 252 items, 11 immediate deps, 35 total deps
jsonwebtoken - 521KB, 254 items, 3 immediate deps, 26 total deps
useragent - 245KB, 35 items, 1 immediate dep, 1 total dep
winston - 471KB, 135 items, 7 immediate deps, 7 total deps
winston-cloudwatch - 15.6MB, 2866 items, 3 immediate deps, 97 total deps (!)
@rebolyte
rebolyte / server.js
Created March 9, 2016 20:26
Quick Express test
/* jshint esversion:6, node: true */
// https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens
// http://www.sitepoint.com/using-json-web-tokens-node-js/
'use strict';
let express = require('express');
let app = express();
let bodyParser = require('body-parser');