Skip to content

Instantly share code, notes, and snippets.

View jondlm's full-sized avatar

Jon de la Motte jondlm

  • Stripe
  • Portland, OR
View GitHub Profile
@jondlm
jondlm / ssh_agent_tmux.md
Created October 30, 2014 15:18
SSH agent with tmux

Create a file called ~/.ssh/save_ssh_agent.sh on your remote box and make it executable:

#!/bin/sh
SSHVARS="SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION DISPLAY"

for var in ${SSHVARS} ; do
  echo "export $var=\"$(eval echo '$'$var)\""
done 1>$HOME/.ssh/latest_ssh_agent.sh
  1. ssh into your box using ssh agent forwarding.
@jondlm
jondlm / trees.js
Created November 5, 2014 17:14
Javascript Trees
var util = require('util');
function TreeNode(data) {
this.data = data;
this.children = [];
}
TreeNode.prototype.isLeaf = function() {
return this.children.length === 0;
};
@jondlm
jondlm / index.js
Last active August 29, 2015 14:10
virtual dom example requirebin
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var patch = require('virtual-dom/patch');
var createElement = require('virtual-dom/create-element');
// Create a deterministic function that declares what the DOM should look like
// Model data in, vtree out
function render(user) {
return h('div#bro', {}, [
h('div', {}, 'First name: ' + user.firstName),
@jondlm
jondlm / index.js
Last active August 29, 2015 14:10
[requirebin] virtual dom example
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var patch = require('virtual-dom/patch');
var createElement = require('virtual-dom/create-element');
// Create a deterministic function that declares what the DOM should look like
// Model data in, vtree out
function render(user) {
return h('div#bro', {}, [
h('div', {}, 'First name: ' + user.firstName),
@jondlm
jondlm / diff_recursive.php
Last active July 18, 2021 02:37
Recursive array diff php
<?php
/*
* Recursively diff two arrays. This function expects the leaf levels to be
* arrays of strings or null
*/
function diff_recursive($array1, $array2) {
$difference=array();
foreach($array1 as $key => $value) {
if(is_array($value) && isset($array2[$key])){ // it's an array and both have the key
$new_diff = diff_recursive($value, $array2[$key]);
@jondlm
jondlm / index.js
Created December 3, 2014 17:54
rx error handling
var Rx = require('rx');
var $ = require('jquery');
function searchWikipedia (term) {
return $.ajax({
url: 'http://en.wikipedia.org/w/api.php',
dataType: 'jsonp',
data: {
action: 'opensearch',
format: 'json',
@jondlm
jondlm / index.js
Last active August 29, 2015 14:11
virtual-dom drag and drop
var Rx = require('rx');
// Create draggable element, nothing fancy going on here
var box = document.createElement('div');
box.style.width = box.style.height = '100px';
box.style.backgroundColor = 'grey';
box.style.position = 'absolute';
box.innerText = 'Drag me';
document.body.appendChild(box);
@jondlm
jondlm / index.js
Created January 28, 2015 21:07
requirebin sketch
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var patch = require('virtual-dom/patch');
var createElement = require('virtual-dom/create-element');
var rows = [
{data: 'hello'},
{data: 'there'},
{data: 'friend.'}
];
@jondlm
jondlm / swe.md
Last active August 29, 2015 14:22
Basics of web development
@jondlm
jondlm / functions.js
Last active August 29, 2015 14:23
Functions
// -------------------------------------
// Example 1 (function expression)
//
test(); // Won't work
var test = function () {
alert('Yolo');
};