Skip to content

Instantly share code, notes, and snippets.


Patrick Browne ptbrowne

View GitHub Profile
ptbrowne / index.js
Created Aug 13, 2020
Registers firebase device token into the oauth client
View index.js
const { createClientInteractive } = require('cozy-client/dist/cli')
const { ArgumentParser } = require('argparse')
const main = async () => {
const parser = new ArgumentParser()
parser.addArgument('--url', { defaultValue: '' })
const client = await createClientInteractive({
ptbrowne /
Last active Jan 21, 2020
Like yarn link but with rsync/nodemon
ptbrowne /
Last active Jul 23, 2019
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.



Interactively kills a process

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

ptbrowne /
Last active Jul 13, 2018
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]:
View jscodeshift.html
<!DOCTYPE html>
<meta charset="utf-8">
@import url(;
@import url(,700,400italic);
@import url(,700,400italic);
ptbrowne /
Last active Feb 26, 2018
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
ptbrowne /
Last active Jan 26, 2018
Retours de ma copine sur Cozy

Retours de ma copine (


Interface claire, pas de boutons, contente de son Cozy.


Apres s'être inscrite pour revenir sur son cozy elle est passée par Sign In et la on lui a demandé une URL et elle savait pas quoi mettre.

ptbrowne /
Created Jan 12, 2018
Predict requires according to variables used
#-*- coding: utf-8 -*-
import fnmatch
import os
def glob(dir, pattern):
for root, dirnames, filenames in os.walk(dir):
for filename in fnmatch.filter(filenames, pattern):
yield os.path.join(root, filename)
ptbrowne /
Created Oct 24, 2017
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