Skip to content

Instantly share code, notes, and snippets.

View ptbrowne's full-sized avatar

Patrick Browne ptbrowne

View GitHub Profile
@ptbrowne
ptbrowne / README.md
Last active March 2, 2024 12:59
Automatically add emojis to your commits

To automatically add emojis to your commits, you can use the commit-msg hook.

$ git init
$ ln -s commit-msg-emoji .git/hooks/commit-msg
@ptbrowne
ptbrowne / horizontal-bar-chart.py
Created October 24, 2017 21:16
Horizontal bar chart with autolabel
# a stacked bar plot with errorbars
%config InlineBackend.figure_format = 'retina'
import pandas as pd
from random import random
import matplotlib.pyplot as plt
def autolabel(rects):
"""
Attach a text label above each bar displaying its height
@ptbrowne
ptbrowne / jscodeshift.html
Created March 14, 2018 08:50
JSCodeshift Remark
<!DOCTYPE html>
<html>
<head>
<title>JSCodeshift</title>
<meta charset="utf-8">
<style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
@ptbrowne
ptbrowne / index.js
Created August 13, 2020 13:49
Registers firebase device token into the oauth client
const { createClientInteractive } = require('cozy-client/dist/cli')
const { ArgumentParser } = require('argparse')
const main = async () => {
const parser = new ArgumentParser()
parser.addArgument('--url', { defaultValue: 'http://cozy.tools:8080' })
parser.addArgument('--platform')
parser.addArgument('--registrationToken')
const client = await createClientInteractive({
@ptbrowne
ptbrowne / rlink.sh
Last active January 21, 2020 09:09
Like yarn link but with rsync/nodemon
@ptbrowne
ptbrowne / README.md
Last active July 23, 2019 08:28
Simple command cache

If you deal with commands that can take several seconds but always return the same result and you need to transform the result with pipe chain (jq / grep / awk), it can be annoying to wait for those seconds while you incrementally build the command, when you know the result has not changed.

cache.js can help you by caching the result of the command to /tmp and returning the result immediately.

Installation

@ptbrowne
ptbrowne / fzf-usages.md
Created July 17, 2019 10:55
FZF usages

pk.fish

Interactively kills a process

ps aux | fzf | tr -s ' ' | cut -d ' ' -f 2 | xargs kill

lab.mr-browse-interactive.fish

@ptbrowne
ptbrowne / alphabet.py
Last active July 13, 2018 15:42
alphabet.py
from collections import defaultdict
import sys
from copy import deepcopy
def find_common_prefix(word1, word2):
"""Find the longest common prefix between two words"""
i = 0
l1 = len(word1)
l2 = len(word2)
while l1 > i and l2 > i and word1[i] == word2[i]:
@ptbrowne
ptbrowne / source_bash.fish
Created April 7, 2014 14:30
Source bash environment files in Fish
function source_bash
exec /bin/bash -c "source $argv && exec fish"
end
@ptbrowne
ptbrowne / make-doc.py
Last active February 26, 2018 15:51
make-doc and executes samples
"""
Will render markdown to markdown.
Will execute execbash code blocks and add their output to the code block.
"""
import mistune
import sh
from textwrap import wrap