Skip to content

Instantly share code, notes, and snippets.

View danro's full-sized avatar
👀

Dan Rogers danro

👀
View GitHub Profile
@danro
danro / starter.sh
Created September 12, 2013 07:00
nodejs forever crontab reboot script
#!/bin/sh
if [ $(ps aux | grep $USER | grep node | grep -v grep | wc -l | tr -s "\n") -eq 0 ]
then
export PATH=/usr/local/bin:$PATH
export NODE_ENV=production
cd /path/to/app && forever --spinSleepTime 10000 start server.js >> forever.log 2>&1
fi
@danro
danro / loop.less
Last active October 7, 2019 09:37
LESS css loop example
.loop (0) {}
.loop (@index) when (@index > 0) {
.classname-@{index} {
top: @index * 1px;
}
.loop (@index - 1);
}
#example {
.loop(5);
@danro
danro / enterframe.js
Created July 3, 2013 03:24
enterFrame / tram.frame() loop example.
// render loop for more performant drawing updates
function renderLoop () {
tram.frame(renderLoop);
// do your render updates here.
}
// start render loop
tram.frame(renderLoop);
@danro
danro / drexel-grids.js
Created June 11, 2013 22:54
Drexel grid views
// --------------------------------------------------
// Drexel grids and view templates.
// --------------------------------------------------
define(function (require) {
// dependencies
var _ = require('underscore');
return {
// --------------------------------------------------
@danro
danro / remove-video.js
Created June 6, 2013 23:33
Remove HTML5 video and clear src attribute to prevent leaks.
// remove audio + video + stop all the downloadin’
// assumes $video and $audio are jQuery selectors for <video> and <audio> tags.
var removeMedia = function () {
_.each([$video, $audio], function ($media) {
if (!$media.length) return;
$media[0].pause();
$media[0].src = '';
$media.children('source').prop('src', '');
$media.remove().length = 0;
});
@danro
danro / iterator-example.js
Last active December 18, 2015 04:29
Shuffle iterator js module.
var slots = iterator([80, 60, 50, 40, 20, 10], { shuffle: true, pool: 2 });
var result = slots.next();
@danro
danro / gpu-cache-trick.css
Created May 31, 2013 20:21
GPU cache tricks for CSS transforms
.gpu-cache-trick {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
@danro
danro / video-scaling.js
Last active December 16, 2015 08:48
BKWLD video background-size: cover effect
// Depends on jQuery
// Assumes outerDiv and videoTag are jQuery objects
var width = outerDiv.width();
var height = outerDiv.height();
var aspectW = 16;
var aspectH = 9;
var scaleX = width / aspectW;
var scaleY = height / aspectH;
var scale = Math.max(scaleX, scaleY);
@danro
danro / holy-grail.css
Created March 19, 2013 23:14
100% absolute div, centered horizontally + vertically.
.centered {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
@danro
danro / href.js
Created February 25, 2013 20:23
neat href tricks
// example window url: http://test.dev/stuff
var query = 'poop=butts&farts=smellz';
var parser = document.createElement('a'); // create anonymous 'a' tag
parser.href = window.location.href;
parser.search = query;
console.log(parser.href);
// ^ should output: http://test.dev/stuff?poop=butts&farts=smellz