Skip to content

Instantly share code, notes, and snippets.

@lloesche
lloesche / git-contributors.sh
Created October 29, 2024 10:47
List of git contributors in `main` branch with line count
#!/bin/sh
for file in $(git ls-tree -r main --name-only); do git grep -I '^' -- "$file" >/dev/null && git blame --line-porcelain main -- "$file" | grep '^author ' | sed 's/^author //'; done | sort | uniq -c | sort -n
import boto3
from datetime import datetime, timedelta
from typing import Dict, List
def cpu_usage_metrics_for_instance(
region: str, instance_id: str, start_time: datetime, duration: timedelta
) -> Dict[str, float]:
end_time = start_time + duration
metric_name = "CPUUtilization"
@lloesche
lloesche / multicoreserver.py
Created August 15, 2023 19:24
Python async server that uses multiple CPU cores while sharing a single socket.
#!/bin/env python3
import signal
import socket
import multiprocessing
import asyncio
import logging
import argparse
from threading import Event
from asyncio import StreamReader, StreamWriter
@lloesche
lloesche / git-cleanout.sh
Created October 6, 2021 14:17
Switch to main branch and delete all local git branches
git checkout $(git branch | grep -E "(main|master)" | sed -e 's/*\s\+//') && git branch | grep -vE "(main|master)" | xargs git branch -D
#!/usr/bin/env python
import os
import json
import cherrypy
import time
import threading
from cklib.graph import Graph
from cklib.graph.export import node_from_dict
from prometheus_client import Summary
from prometheus_client.exposition import generate_latest, CONTENT_TYPE_LATEST
#!/usr/bin/env python
import base64
import os
from cryptography.fernet import Fernet, MultiFernet
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
psk = "superSecretPreSharedKey"
salt = os.urandom(16)
content = "Super secret data"
@lloesche
lloesche / process.py
Created August 22, 2019 13:33
Python coding challenge
#!/usr/bin/env python3
from pprint import pprint
document_uri = 'https://gist.githubusercontent.com/demersdesigns/4442cd84c1cc6c5ccda9b19eac1ba52b/raw/cf06109a805b661dd12133f9aa4473435e478569/craft-popular-urls'
def process(document, num_threads=10):
"""Processes a document either found on the local disk or a remote http/https URI
The function reads the document (either from a local file or remote URL) and finds all the http and https URLs in it.
@lloesche
lloesche / short2long_regions.py
Last active January 10, 2022 22:14
boto short to long region names for use with AWS pricing API
# Get the long region names used by the AWS Pricing API
#
# There's currently no proper API to do this
#
# Example:
# print(SHORT_TO_LONG_REGIONS['us-west-2'])
# > US West (Oregon)
from pkg_resources import resource_filename
@lloesche
lloesche / pullall.sh
Last active February 7, 2019 15:13
Checkout/Pull all repos of a Github organization
#!/bin/bash
set -o errexit -o pipefail
org=dcos-terraform
parallel=10
function main {
local num_repos=-1
local page=1
local i
local x
@lloesche
lloesche / zkdump.py
Created May 16, 2018 16:40
dump DC/OS pre-cockroachdb IAM data
#!/usr/bin/env python3
import logging
logging.basicConfig()
from kazoo.client import KazooClient
zk = KazooClient(hosts='10.0.28.160:2181', auth_data=[("digest", "super:xxxxxxxxxx")])
zk.start()
data, stat = zk.get("/bouncer/datastore/data.json")
text_file = open("data.json", "w")
text_file.write(data.decode("utf-8"))