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 / good-examples.js
Created July 4, 2015 22:18
Good logging examples
data: {
"event": "response",
"timestamp": 1436046421423,
"id": "1436046421423:jdelamotte:5282:ibpkyk17:10001",
"instance": "http://jdelamotte:8888",
"labels": [],
"method": "get",
"path": "/js/bundle.js",
"query": {},
"responseTime": 8,
@jondlm
jondlm / README.md
Last active January 3, 2018 05:59
React shallow render lifecycle breakdown

React introduced shallow rendering in 0.13. This is an excellent feature that I wish was included earlier in React. It aims to solve the problem of unit testing components without going through a real, or jsdom mocked, DOM. I couldn't find any info online about what lifecycle events it actually fires. So I did some testing of my own. To reproduce, put component.js and test.js into a folder and run node test.js.

TLDR; shallow rendering only invokes the following lifecycle hooks (in order):

  1. getDefaultProps
  2. getInitialState
  3. componentWillMount stops here until re-render
  4. componentWillReceiveProps
  5. shouldComponentUpdate
  6. componentWillUpdate
// Make sure you have a `bundle.js` file in the current dir and run this like:
// # go run webpack_bundle_analysis.go | sort -n
package main
import (
"fmt"
"io/ioutil"
"regexp"
"strings"

Keybase proof

I hereby claim:

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

To claim this, I am signing this object:

@jondlm
jondlm / git-stuff.md
Last active October 18, 2016 15:52
Some useful git stuff

Git Stuff

A collection of git utilities and scripts I've found useful at least once.

Aliases

List the 30 most recent branches you've committed to.

brr = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
@jondlm
jondlm / express-headers.js
Last active April 25, 2017 18:04
A little node server that logs the most recent request and response headers
const express = require('express')
const app = express()
const util = require('util')
app.get('*', function (req, res) {
process.stdout.write('\033c')
console.log('Request headers:')
console.log(util.inspect(req.headers, { colors: true }))
res.send('test')
@jondlm
jondlm / kdebug.bash
Last active February 20, 2019 09:24
Kubernetes Fuzzy Helper Scripts
#!/usr/bin/env bash
# vim: set syntax=sh:
set -e
if ! hash kubectl 2>/dev/null; then echo "Please install \`kubectl\` before running this command (https://kubernetes.io/docs/tasks/tools/install-kubectl/)"; exit 1; fi
if ! hash fzf 2>/dev/null; then echo "Please install \`fzf\` before running this command (https://github.com/junegunn/fzf#installation)"; exit 1; fi
selection=`kubectl get pods --all-namespaces | grep -v 'NAMESPACE' | fzf --header "Select a pod..."`
namespace=`echo "$selection" | awk '{ print $1 }'`
pod=`echo "$selection" | awk '{ print $2 }'`
@jondlm
jondlm / ensure-outlook.bash
Created December 18, 2017 18:34
Somtimes I forget to open Outlook in the morning, this helps as a cron task
#!/usr/bin/env bash
# vim: set syntax=sh
ps aux | grep -v "grep" | grep "Microsoft Outlook" > /dev/null
outlook_ret=$?
day=`date +%u`
# Make sure it's a weekday and Outlook is running
if [ "$day" -ge 1 -a "$day" -le 5 -a "$outlook_ret" -gt 0 ]; then
osascript -e 'display notification "Please start Outlook" with title "Nag Bot"'
@jondlm
jondlm / find-up-module.bash
Created July 27, 2022 21:47
little script to debug node module resolution
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo 'first arg should be module to search up for'
exit 1
fi
BLUE=$(tput setaf 4)
GREEN=$(tput setaf 2)
RED=$(tput setaf 1)