Skip to content

Instantly share code, notes, and snippets.

View banagale's full-sized avatar

Rob Banagale banagale

View GitHub Profile
@banagale
banagale / .django_functions.zsh
Last active November 3, 2023 00:22
Shortcuts to common django management commands for a project running poetry
# Django-related shell functions for zsh
# Run development server
function runserver() {
poetry run python ./manage.py runserver "$@"
}
# Run tests
function runtests() {
poetry run python ./manage.py test "$@"
@banagale
banagale / digital-ocean-slugs.md
Created October 29, 2023 05:53
Digital Ocean Droplet Slugs
Class Slug RAM CPU Disk Transfer Price Monthly Price Hourly
Basic s-1vcpu-512mb-10gb 0.5 GB 1 10 GB 0.5 TB $4 $0.00595
Basic s-1vcpu-1gb 1 GB 1 25 GB 1 TB $6 $0.00893
Basic AMD s-1vcpu-1gb-amd 1 GB 1 25 GB 1 TB $7 $0.01042
Basic Intel s-1vcpu-1gb-intel 1 GB 1 25 GB 1 TB $7 $0.01042
Basic Intel s-1vcpu-1gb-35gb-intel 1 GB 1 35 GB 1 TB $8 $0.0119
Basic s-1vcpu-2gb 2 GB 1 50 GB 2 TB $12 $0.01786
Basic AMD s-1vcpu-2gb-amd 2 GB 1 50 GB 2 TB $14 $0.02083
Basic Intel s-1vcpu-2gb-intel 2 GB 1 50 GB 2 TB $14 $0.02083
@banagale
banagale / widen-chatgpt.js
Last active September 29, 2023 17:34
Widen chatgpt output column to full width
// Run this in console, keeps hideable left nav column chat history in place.
// "Works" as of 9/29/23
function updateClassName(element) {
if (element.className === 'flex flex-1 gap-4 text-base mx-auto md:gap-6 gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5 md:max-w-3xl }') {
element.className = 'flex flex-1 gap-4 text-base mx-auto md:gap-6 gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5 md:max-w-5xl }';
}
}
// Find the parent div first
const parentDivs = document.querySelectorAll('div.p-4.justify-center.text-base.md\\:gap-6.md\\:py-6.m-auto');
@banagale
banagale / wagtail-database-tables-removal.sql
Created March 21, 2023 16:07
Footgun blast wagtail out of a django installation
--This script removes all tables that start with 'wagtail' and 'taggit' database.
--Use with great caution, slightly modified https://stackoverflow.com/a/4202280
--If you have an app to support wagtail, such as 'blog', uncomment that line at end.
--You will also need to manually remove all related entries from django_migrations (consider extending this to also remove those) to run migrations and get back to clean install
CREATE OR REPLACE FUNCTION footgun(IN _schema TEXT, IN _parttionbase TEXT)
RETURNS void
LANGUAGE plpgsql
AS
$$
DECLARE
@banagale
banagale / walmart_grocery_inventory.py
Created March 16, 2021 02:21 — forked from philipjewell/walmart_grocery_inventory.py
Finding which Walmart locations nearby have inventory of a product
#!/usr/bin/python3
from datetime import datetime
import click
import requests
from py_imessage import imessage
def build_store_dict(zipcode, n):
url = f'https://www.walmart.com/grocery/v4/api/serviceAvailability?postalCode={zipcode}'
{
"Website": [],
"default": ["inherit.allow-vpns", "minehq.vpn.bypass"]
}
{
"Website": [],
"default": ["inherit.epic"]
}

Keybase proof

I hereby claim:

  • I am banagale on github.
  • I am banagale (https://keybase.io/banagale) on keybase.
  • I have a public key ASCiFfGzAc_BnpIu0cz0oaFPn_uOFsOOG4AWJiXAXQ7jigo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

  • I am banagale on github.
  • I am ripta (https://keybase.io/ripta) on keybase.
  • I have a public key ASBQIWFoZCW-maRzA_BfwRaYmYBMq8R0wEFhhOIVmYp3wQo

To claim this, I am signing this object:

@banagale
banagale / build.js
Last active October 17, 2021 07:11
An example javascript api-based `esbuild` build script with a watch and automatic post-build bash script execution.
// As discussed in https://github.com/evanw/esbuild/issues/1688
require('esbuild').build({
entryPoints: ['./briefings/frontend/src/briefings.ts'],
outfile: './briefings/frontend/build/briefings-fe.js',
bundle: true,
minify: true,
target: 'es2017',
color: true,
watch: {
@banagale
banagale / zoom_utils.py
Last active August 31, 2021 22:24
Python 3.6+ Implementation of Zoom.us SDK Signature Generation
import time
import base64
import hashlib
import hmac
def generate_signature(sig_ingredients: dict) -> str:
"""Python 3.6+ implementation of Zoom Signature Generation