Skip to content

Instantly share code, notes, and snippets.

@jakekara
jakekara / aria2c_input_tools.py
Created February 20, 2020 20:55
Generate input files for aria2c download manager
"""
Generate input files for aria2c.
For examples and documentation: https://aria2.github.io/manual/en/html/aria2c.html#input-file
"""
import re
class Aria2cInputEntry:
@jakekara
jakekara / glob.wl
Last active July 11, 2020 18:22
Find files with matching patterns using wolframscript
#!/usr/bin/env wolframscript
(* Recursively dump a list of files that match a given pattern *)
(* Very basic script to play with Wolfram outside of Notebooks *)
(* Jake Kara <jake@jakekara.com *)
(* Example usage: *)
(* ./glob.wl "*.txt" *)
If[
Length[$ScriptCommandLine] < 2,
@jakekara
jakekara / README.md
Created September 28, 2020 19:49
Authenticating with gapi in a react/typescript project

Authenticating with Google API in react/typescript project

This was surprisingly annoying to figure out.

I used this Google API documentation for vanilla JS, but it was a lot more trouble than I expected to get it working in a TypeScript React project.

Long story short, you need to install:

  • gapi-script
  • @types/gapi
@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;
@jakekara
jakekara / .gitignore
Last active January 5, 2021 20:49 — forked from duhaime/.gitignore
minhash
matches
ngrams
*.swp
*.pem
*.json
venv
*.pyc
@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 / 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 / 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 / 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 / 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