Skip to content

Instantly share code, notes, and snippets.

@designeng
designeng / passwordSealer.js
Created October 5, 2015 17:43 — forked from ryasmi/passwordSealer.js
An example of using Douglas Crockford's JavaScript Sealer/Unsealer method for securely authenticating users. http://www.yuiblog.com/blog/2010/02/24/video-crockonjs-3/
var makeSealer = function () {
var users = [], passwords = [];
return {
sealer: function (username, password) {
var i = users.length,
user = {username: username};
users[i] = user;
passwords[i] = password;
return user;
@designeng
designeng / gulpfile.js
Created November 30, 2015 21:01 — forked from danharper/gulpfile.js
New ES6 project with Babel, Browserify & Gulp
var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var browserify = require('browserify');
var watchify = require('watchify');
var babel = require('babelify');
function compile(watch) {
var bundler = watchify(browserify('./src/index.js', { debug: true }).transform(babel));
sync: ( method, collection, options ) ->
content = localStorage.getItem( @url() ) if localStorage
if content and not navigator.onLine
options.success JSON.parse content
else
return Backbone.sync( method, collection, options ).done ( response ) =>
localStorage.setItem( @url(), JSON.stringify( response ) ) if localStorage
@designeng
designeng / Enhance.js
Created December 24, 2015 19:13 — forked from sebmarkbage/Enhance.js
Higher-order Components
import { Component } from "React";
export var Enhance = ComposedComponent => class extends Component {
constructor() {
this.state = { data: null };
}
componentDidMount() {
this.setState({ data: 'Hello' });
}
render() {
@designeng
designeng / html5-dataset.js
Created April 19, 2016 08:45 — forked from brettz9/html5-dataset.js
Dataset Shim
/**
* Add dataset support to elements
* No globals, no overriding prototype with non-standard methods,
* handles CamelCase properly, attempts to use standard
* Object.defineProperty() (and Function bind()) methods,
* falls back to native implementation when existing
* Inspired by http://code.eligrey.com/html5/dataset/
* (via https://github.com/adalgiso/html5-dataset/blob/master/html5-dataset.js )
* Depends on Function.bind and Object.defineProperty/Object.getOwnPropertyDescriptor (polyfills below)
* All code below is Licensed under the X11/MIT License
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="output_h"></div>
<div id="output_v"></div>
<script src="virtual-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js"></script>
@designeng
designeng / resize.js
Created December 4, 2017 10:59 — forked from 19h/resize.js
Streamed image resize using lwip (@wtr7)
// modules
var lwip = require('lwip'),
path = require('path'),
fs = require('fs'),
rstream = require('stream').Readable;
// config
var placesPath = '/Users/apx/Downloads/places';
// helper
@designeng
designeng / gist:feb653aad8442d3969e34fd929766c87
Created April 14, 2018 21:14 — forked from chadhutchins/gist:1440602
Tarjan's strongly connected components algorithm in Javascript - followed pseudocode from http://en.wikipedia.org/wiki/Tarjan%E2%80%99s_strongly_connected_components_algorithm
window.onload = function() {
var v0 = new Vertex("0");
var v1 = new Vertex("1");
var v2 = new Vertex("2");
var v3 = new Vertex("3");
var v4 = new Vertex("4");
var v5 = new Vertex("5");
var v6 = new Vertex("6");
var v7 = new Vertex("7");
@designeng
designeng / gist:b6610ff59ce36cef9dd919f416c73348
Created April 14, 2018 21:14 — forked from chadhutchins/gist:1440602
Tarjan's strongly connected components algorithm in Javascript - followed pseudocode from http://en.wikipedia.org/wiki/Tarjan%E2%80%99s_strongly_connected_components_algorithm
window.onload = function() {
var v0 = new Vertex("0");
var v1 = new Vertex("1");
var v2 = new Vertex("2");
var v3 = new Vertex("3");
var v4 = new Vertex("4");
var v5 = new Vertex("5");
var v6 = new Vertex("6");
var v7 = new Vertex("7");
@designeng
designeng / Gulpfile.js
Created July 23, 2019 13:22 — forked from webdesserts/Gulpfile.js
Automatically reload your node.js app on file change with Gulp (https://github.com/wearefractal/gulp).
// NOTE: I previously suggested doing this through Grunt, but had plenty of problems with
// my set up. Grunt did some weird things with scope, and I ended up using nodemon. This
// setup is now using Gulp. It works exactly how I expect it to and is WAY more concise.
var gulp = require('gulp'),
spawn = require('child_process').spawn,
node;
/**
* $ gulp server
* description: launch the server. If there's a server already running, kill it.