Skip to content

Instantly share code, notes, and snippets.

View caseyWebb's full-sized avatar

Casey Webb caseyWebb

View GitHub Profile
@caseyWebb
caseyWebb / port_forward.sh
Last active November 26, 2016 22:04 — forked from rwd/port_forward.sh
PIA port forwarding with Linux ifconfig alternatives
#! /bin/bash
#
# Enable port forwarding
#
# Requirements:
# your Private Internet Access user and password as arguments
#
# Usage:
# ./port_forward.sh <user> <password>
@caseyWebb
caseyWebb / keybase.md
Created July 22, 2016 13:26
keybase.md

Keybase proof

I hereby claim:

  • I am caseywebb on github.
  • I am caseywebb (https://keybase.io/caseywebb) on keybase.
  • I have a public key ASAl0HVqJCnXXNmFSoGVTs4zfjEg63jI0Xftwy83UKxP2Qo

To claim this, I am signing this object:

@caseyWebb
caseyWebb / ko.bindingHandlers.numericValue.js
Created November 7, 2016 14:18
ko.bindingHandlers.numericInput
'use strict'
const ko = require('knockout')
const _ = require('lodash')
ko.bindingHandlers.numericValue = {
init(el, valueAccessor, allBindings) {
const vstr = ko.pureComputed(() => ko.unwrap(valueAccessor()).toString())
ko.applyBindingsToNode(el, {
@caseyWebb
caseyWebb / package.json
Last active December 28, 2016 03:06
Never-ending `yarn upgrade`
{
"scripts": {
"install": "napa"
},
"dependencies": {
"animate.css": "^3.2.5",
"autolinker": "^1.0.0",
"babel-polyfill": "^6.5.0",
"blueimp-file-upload": "^9.9.3",
"bootstrap": "^3.3.4",
@caseyWebb
caseyWebb / lint.js
Last active December 29, 2016 00:14
ESLint New/Changed Files (Gulp Task)
'use strict'
const spawn = require('cross-spawn')
const byline = require('byline')
const gulp = require('gulp')
const eslint = require('gulp-eslint')
module.exports = (done) => {
const diff = spawn('git', ['--no-pager', 'diff', '--cached', '--name-only', '*.js'])
const scripts = []
@caseyWebb
caseyWebb / new.js
Last active January 13, 2017 19:54
Link-List Refactor
'use strict'
let _; const { each, map, some, every } = _ = require('lodash')
const ko = require('knockout')
const $ = require('jquery')
const Query = require('ko-querystring').default
module.exports = class LinkList {
constructor({
sections,
@caseyWebb
caseyWebb / getRouteList.js
Last active February 4, 2017 00:48
UniversitySite Route List
const { concat, endsWith, flatMap, includes, map, reduce } = require('lodash')
const routes = require('./routes')
function createSiteMap(routes) {
return reduce(routes, (accum, { routes: children }, route) =>
concat(accum,
children
? flatMap(createSiteMap(children), (child) => {
let r = route + child
r = r.replace(new RegExp('//', 'g'), '/')
@caseyWebb
caseyWebb / tabsession.js
Created February 7, 2017 18:54
Shared Tab Session
'use strict'
const { each } = require('lodash')
incrementTabCount()
window.addEventListener('unload', decrementTabCount)
window.addEventListener('storage', (e) => {
if (e.key === 'getSessionStorage') {
// Some tab asked for the sessionStorage
import events from '../events'
const COURSE_TYPES = new Map([
['/', 0],
['/on-demand', 1],
['/live', 2],
['/assessment', 4]
])
export default {
@caseyWebb
caseyWebb / old.js
Last active March 14, 2017 21:14
old router usage
import ko from 'knockout'
import Router from 'ko-component-router'
ko.components.register('app', {
template: '<ko-component-router params="routes: routes"></ko-component-router>',
viewModel: class App {
constructor() {
this.routes = {
'/user/:id/!': [loadUser, 'user-show']
}