Skip to content

Instantly share code, notes, and snippets.

Lodash Utility Functions

Function Utilities

_.debounce

Delay function execution until after wait time:

const _ = require('lodash');
#!/bin/bash
set -e
if [ -z "$1" ]; then
echo "Usage: $0 <branch-name>"
exit 1
fi
# Get editor command, default to claude
PRIVACY NOTICE
Last updated November 18, 2022
This privacy notice for ReactiveRobot ("Company," "we," "us," or "our"), describes how and why we might collect, store, use, and/or share ("process") your information when you use our services ("Services"), such as when you:
Download and use our mobile application (Gratitude Journal), or any other application of ours that links to this privacy notice
@MatthewDailey
MatthewDailey / mattdailey-reading.md
Last active September 9, 2018 04:30
List of books I'm reading and have read.

Books I will read, am reading or have read. This list starts around March 2015.

Future

We are Legion

Shoe Dog

New Spring (Wheel of Time prequel)

@MatthewDailey
MatthewDailey / mattdailey-projects.md
Last active September 10, 2025 22:35
List of recent projects

Software Projects

Full time: Ref

I currently work full-time on Ref, an MCP server to stop hallucinations with token efficient search over public and private documentation.

Larger Projects

(circa 2018) Trym delivers a barber on-demand to your home to cut your hair. I worked on this project with a friend, he got the barbers and did marketing while I build the site.

@MatthewDailey
MatthewDailey / gist:4a074869587ad3db9993b44f2ed422cb
Created June 11, 2018 22:53
Segment deletion request console log
15:52:35.317 raven.js:1380 POST https://app.segment.com/api/graphql 400 ()
(anonymous) @ raven.js:1380
(anonymous) @ httpLink.js:123
s @ zen-observable.js:103
subscribe @ zen-observable.js:229
(anonymous) @ index.js:17
e @ Observable.js:179
value @ Observable.js:258
(anonymous) @ index.js:20
Promise.then (async)
{
"orderId": "fakeorderid",
"services": { "haircut": 1},
"name": "Matt Dailey",
"phone": "+12064379006",
"email": "matthew.j.dailey@gmail.com",
"requestedBarber": "Any",
"address": "376 San Carlos St",
"orderDate": "2018-03-25T17:24:19.726Z",
"orderTimestamp": "2018-03-25T17:24:19.726Z",
@MatthewDailey
MatthewDailey / AppRoutes.js
Created June 30, 2017 18:38
VoiceOps Todo App
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { TextField } from 'material-ui';
import { Title, Content, ContentBold } from './components/Text';
import ContainerWithNav from './components/ContainerWithNav';
import { Button } from './components/Buttons';
@MatthewDailey
MatthewDailey / parsejobs.py
Created November 23, 2016 22:59
Parse salary and ownership ranges from copy-paste angellist job search.
import re
'''
To run:
- select all from https://angel.co/jobs#find/f!%7B%22locations%22%3A%5B%221624-California%22%5D%2C%22roles%22%3A%5B%22Software%20Engineer%22%5D%2C%22types%22%3A%5B%22full-time%22%5D%2C%22company_size%22%3A%221-10%22%2C%22company_stage%22%3A%5B%22Seed%22%2C%22Series%20A%22%5D%7D
- copy&paste in to 'jobs.txt'
- in the same directory, put this file ('parsejobs.py') and run 'python parsejobs.py' to print output.
'''
f = open('jobs.txt')
npm install chai --save
npm install dirty-chai --save
npm install babel-core --save
npm install babel-cli --save
npm install babel-preset-es2015 --save
npm install eslint --save-dev
npm install eslint-config-airbnb --save-dev
npm install eslint-plugin-import --save-dev