Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env bash
PACKAGES=(pagecolor titling sourcecodepro mweights ly1 sourcesanspro needspace mdframed csquotes)
for item in ${PACKAGES[*]}
do
tlmgr install $item
done
@bennylope
bennylope / stripe_subscription_stream.py
Created February 28, 2020 16:29
Common (?) pattern for consuming paged objects as a stream in Python, using Stripe Subscriptions as an example
import functools
import stripe
from typing import Any, Optional
def stripe_subscriptions(limit: Optional[int] = 100, **params: Any):
"""
Returns an iterator of all matching subscriptions
@bennylope
bennylope / console.js
Created May 27, 2020 18:12
Download your Papertrail gzipped archives
/*
Copy and paste into your browser console window after loading
your archives page, e.g. with a selected long date range.
Original: https://www.reddit.com/r/javascript/comments/5my92r/console_script_to_click_all_download_links_on_a/dc7cktr/
The problem I had with my first attempt was that there was no delay,
so I was only downloading the last entry on the page. The linked
solution above pointed to the problem (each subsequent request was
killing the preceding request) which was including a delay. Here
import requests
class RemoteFile:
"""
Context manager for handling remote OR local files
Can be used like so:
>>> with RemoteFile("/path/to/local/file.txt") as f:
from functools import wraps
def annotated(annotation_name):
"""
Decorator for returning pre-calculated, annotated values
This should be used with model instance methods that fetch some
kind of related or calculated data. If the method is called on
a single instance in isolation, we should expect the method to
@bennylope
bennylope / migrate.py
Last active July 18, 2023 05:43
PostgreSQL migration script, Heroku -> Crunchy
#!/usr/bin/env python
import argparse
import os
import subprocess
import sys
import time
# Required so we don't generate tons of logs during restore
disable_logging_sql = "ALTER USER postgres RESET pgaudit.log;"
function slacktime
while read line;
if [ (string match "*WORKTIME" "$line") ]
continue
else
echo $line
end
end < /etc/hosts > /tmp/hosts
sudo cp /tmp/hosts /etc/hosts
end