Skip to content

Instantly share code, notes, and snippets.

@replete
replete / backupAndroid.sh
Created May 5, 2021 16:22
Android adb Backup bash script with notifications/checks on Mac
#!/usr/bin/env bash
# Backup Android via ADB
set -euf -o pipefail
# configuration
ADB_DEVICE_ID="beefdead" # your device id from `adb devices`
OUT_DIR="/Volumes/SOMEDRIVE/Android Backups"
FILENAME="android-$(date +%Y-%m-%d-%H%M).ab"
# change to script directory
@replete
replete / validators.blacklisted-characters.directive.js
Created April 18, 2017 16:03
Angular 1.x blacklisted characters (not allowed) validator.
(function() {
'use strict';
angular.module('shopperTrak.validators')
.directive('blacklistedCharacters', function (){
return {
require: 'ngModel',
restrict:'A',
link: function(scope, elem, attrs, ngModel) {
@replete
replete / validators.blacklisted-values.directive.js
Created April 18, 2017 16:02
Angular 1.x blacklisted values validator. Accepts a list of values that are not allowed.
(function() {
'use strict';
angular.module('shopperTrak.validators')
.directive('blacklistedValues', function (){
return {
require: 'ngModel',
restrict:'A',
link: function(scope, elem, attr, ngModel) {
@replete
replete / AutoHotkey_BrowserGestures_SwipeLeftRight.ahk
Created April 6, 2017 22:12
AutoHotkey - Browser Gestures (Swipe left/right navigate back/forward, middle-click like firefox)
GroupAdd, Browsers, ahk_class Chrome_WidgetWin_1
GroupAdd, Browsers, ahk_class MozillaWindowClass
GroupAdd, Browsers, ahk_class ApplicationFrameWindow
#MaxHotkeysPerInterval 219
;-----three finger tap for middle click-----
+^#F22::
SendInput, {MButton}
return
@replete
replete / initBrowserSupport.js
Created March 14, 2017 18:04
Browser support- alternative to modernizr
// Browser support
(function (d, h, w, n) {
//function hasProperties(properties, tagName) {
// var isStyle = !!!tagName;
// tagName = tagName || 'div';
// var el = d.createElement(tagName);
// for (var prop in properties) {
// if ((isStyle ? el.style[properties[prop]] : el[properties[prop]]) !== undefined ) {
// return true;
@replete
replete / replete.select.js
Created February 7, 2017 15:16
Select.js
(function (w, d, undefined) {
'use strict';
// TODO: Make some methods private for better inheritance
var h = d.documentElement;
function getNamespace(ns, names) {
for (var i = 0, n = names.split('.'), l = n.length; i < l; i++) {
@replete
replete / Dockerfile
Created February 1, 2017 15:09
Test dockerfile
FROM debian:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune
/*---------------------------------------------------------------
Media Queries
ˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍ
Mixins
˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭˭*/
//Default values
$MEDIUM_MIN: 740px !default;
$LARGE_MIN: 1134px !default;
$XLARGE_MIN: 1440px !default;
@replete
replete / hashSafePropertyName.js
Created January 5, 2017 09:41
'Hash' safe property name. Take an object and represent it as a 'safe' javascript property string, for purposes of memoization.
/**
* @param {Object|string} input - The string or object to flatten into a hash key string
* @returns {string} - a string representing the object as a unique string.
* @example hashSafePropertyName({a:200,b:500,c:[300,200,'eggs']}); // 'a$200_b$500_c$__300_200_eggs__'
*/
function hashSafePropertyName(input) {
var isString = _.isString(input);
var isObject = _.isObject(input) && !_.isEmpty(input) && _.isArray(input);
if (!isString && !isObject) {
@replete
replete / task-runner.es6.js
Created December 28, 2016 17:25
Basic task runner - replace gulp with CLI
/**
Beginnings of ES6 node Task runner to replace gulp.
This example uses PostCSS and Pug to process CSS and HTML templates.
*/
// Global dependencies
const fs = require('fs-extra');
const bs = require('browser-sync').create();
const glob = require('glob');