Skip to content

Instantly share code, notes, and snippets.

View craftdelivery's full-sized avatar

Craft Delivery craftdelivery

View GitHub Profile
@craftdelivery
craftdelivery / README.md
Last active April 5, 2020 03:56
Calculate escalating discount using recursion

calc discount

a recursive function to calculate compounding discount

discount rate: $1.50

gas surcharge: $0.35

stops discount cost per stop
@craftdelivery
craftdelivery / fallbackimage.js
Created October 16, 2019 22:24
Image Component with fallback using hooks
import React, { useState } from 'react'
// assuming you have a custom fallback for a given param: id
const fallback = id => `https://fallback.distro.com/${id}.png`
const image = id => `https://images.distro.com/${id}.png`
export default props => {
const { click, id } = props
@craftdelivery
craftdelivery / material-sticky-table-example.js
Created October 16, 2019 20:57
Material UI Table With Sticky Header
import React, { memo } from 'react'
import {
Checkbox,
Button,
FormControlLabel,
TableBody,
TableCell,
TableFooter,
TableHead,
TableRow,
@craftdelivery
craftdelivery / client.js
Created September 16, 2019 19:43
pg_notify combine updated and previous values in json payload
import pg from 'pg'
import EventEmitter from 'events'
import util from 'util'
/*
initialize postgres client...
*/
function PgEmitter() {
EventEmitter.call(this)
}
@craftdelivery
craftdelivery / create.sh
Created September 5, 2019 17:21
Automate cloudfront distribution for s3 bucket
#!/bin/bash
# usage ./create.sh your-bucket-name
# $1=your-bucket-name
# create a public bucket for images (your-bucket-name)
# create a logging bucket (s3-your-bucket-name)
# create bucket policy json: your-bucket-name.json
# set bucket policy
# create cloudfront config json: your-bucket-name-cf.json
# create a cloudfront distribution for the bucket using the logging bucket for logs
@craftdelivery
craftdelivery / migrate.md
Last active December 26, 2021 17:15
Posgtres database migration from Heroku to Google Cloud

Overview

Goal is to migrate a database from Heroku to Google Cloud

Issues

  • recreate extensions
  • skip copying postgis spatial ref table

Environment Variables

@craftdelivery
craftdelivery / InputExample.js
Last active July 4, 2019 14:32
React Form: Single Handler for Multiple Inputs
import React, { Component } from 'react'
import TextField from 'material-ui/TextField'
/*
Using Material Design:
- set id to state key
- use a single handler to update state for n inputs
- no need to use formik or redux forms every time
*/
export default class extends Component {

pandoc resume generator

Generates a unique looking PDF from markdown

Hyperlinks may not be obvious so its best to put the urls in plain text in an appendix or bottom section (in case the end user prints it out)

requirements

pandoc 1.17.0