Skip to content

Instantly share code, notes, and snippets.

@jakekara
jakekara / modifying_object_in_place.py
Last active August 25, 2025 19:33
Demo showing that Python modifies objects in place
"""
Demonstrate how Python modifies values by reference, so if you pass an objec to
a function and modify it, it's modified even outside of the scope of that function,
so there is no need to return the modified object.
When you run this you should see something like:
139706416086160 Default description
139706416086160 Nothing very interesting. Le sigh.
"""
@jakekara
jakekara / copy-dot-envs.py
Last active January 18, 2024 20:51
Copy dotenv files
"""Make a copy of all of my .env files in all of my projects"""
import os
import glob
import shutil
PROJECTS_DIR=os.path.expanduser("~/Projects/")
DEST_DIR = "dot_files"
try:
@jakekara
jakekara / comparison-python-3.12-versus-3.12-alpine.txt
Last active November 16, 2023 01:18
docker scout comparison of python:3.12-alpine versus python:3.12-alpine
## Overview
│ Analyzed Image │ Comparison Image
────────────────────┼────────────────────────────────────┼──────────────────────────────
Target │ python:3.12 │ python:3.12-alpine
digest │ 5a2936b50ea6 │ dc2e8896e2bc
platform │ linux/amd64 │ linux/amd64
vulnerabilities │ 1C 1H 8M 93L 5? │ 0C 2H 1M 0L
@jakekara
jakekara / python-3.12-alpine-patched.Dockerfile
Created November 16, 2023 01:17
Patched Dockerfile for python:3.12-alpine
# Dockerfile that patches 3.12-alpine
# as of Nov. 15, 2023771
# `docker scout cves` reports no vulnerabilities
FROM python:3.12-alpine
# Fixes CVE for pip
# https://scout.docker.com/v/CVE-2023-5752
RUN pip install --upgrade pip
@jakekara
jakekara / inbox_lambda.js
Created November 19, 2022 20:41
use lambda -> s3 as activitypub inbox
import json
import boto3
from hashlib import md5
from datetime import datetime
// simple lambda to act as an activitypub inbox so you can receive
// follow requests, comments, etc from other servers.
// 1. set this up in a lambda and point API gateway at it.
// 2. set the api URL as your inbox in your actor JSON response
@jakekara
jakekara / deliver.py
Last active November 19, 2022 19:41
deliver.py - send activitypub payload to mastodon server
"""
Deliver an ActivityPub message to an inbox
This is largely based on a ruby example `deliver.rb` from this blog post:
https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
"""
from datetime import datetime
@jakekara
jakekara / generate-lambda-version-delete-commands.sh
Last active July 5, 2022 16:27
Generate delete commands for old versions of lambdas
# Generate a bunch of commands to delete all versions of
# lambdas with a given LAMBA_PREFIX
#
# this script generates `delete-commands.sh` which you can
# inspect first before running. this is super dangerous so
# you probably should not use this script.
LAMBDA_PREFIX=example-lambda-group-name
for FUNCTION in $(aws lambda list-functions --region=us-east-1 \
@jakekara
jakekara / textgenrnn_ubuntu2104.sh
Last active June 9, 2021 19:32 — forked from pleonard212/textgenrnn_ubuntu2104.sh
textgenrnn ubuntu 21.04
conda create --name textgenrnn python
conda activate textgenrnn
conda install cudatoolkit==10.2.89
# this special conda source is vital to get the correct 8.1.x version of cudnn:
conda install -c conda-forge cudnn
git clone https://github.com/minimaxir/textgenrnn.git
cd textgenrnn
pip install -r requirements.txt
@jakekara
jakekara / .gitignore
Last active January 5, 2021 20:49 — forked from duhaime/.gitignore
minhash
matches
ngrams
*.swp
*.pem
*.json
venv
*.pyc
@jakekara
jakekara / DebugLogger.ts
Created October 7, 2020 14:08
A quick wrapper for console.log .warn .error functions to improve devtools debugging
/**
* A cheap and cheerful logger that wraps console.log, .warn, .error, with
* labeling and silencing to make debugging with devtools easier.
*/
export default class DebugLogger {
private _label: string;
private _silent: boolean;
constructor(label: string) {
this._label = label;