Skip to content

Instantly share code, notes, and snippets.

Avatar

Mike Fiedler miketheman

View GitHub Profile
View example.py
from unittest.mock import patch
import boto3
from botocore.stub import Stubber
# create an ssm client
ssm = boto3.client("ssm")
# create an sqs client
sqs = boto3.client("sqs")
@miketheman
miketheman / main.py
Last active December 22, 2022 19:20
Add a bunch of AWS Heroes (and some other folks, too) to a Mastodon list.
View main.py
"""
Add users to a Mastodon instance list.
Uses https://mastodonpy.readthedocs.io/
"""
from os import environ
from pathlib import Path
from mastodon import Mastodon
from mastodon.errors import MastodonNotFoundError, MastodonServiceUnavailableError
@miketheman
miketheman / zook_grow.md
Created July 22, 2013 21:36
Adding nodes to a ZooKeeper ensemble
View zook_grow.md

Adding 2 nodes to an existing 3-node ZooKeeper ensemble without losing the Quorum

Since many deployments may start out with 3 nodes and so little is known about how to grow a cluster from 3 memebrs to 5 members without losing the existing Quorum, here is an example of how this might be achieved.

In this example, all 5 nodes will be running on the same Vagrant host for the purpose of illustration, running on distinct configurations (ports and data directories) without the actual load of clients.

YMMV. Caveat usufructuarius.

Step 1: Have a healthy 3-node ensemble

View testing_gfm_pre.md

Tests how GitHub renders code blocks

Code fence, no language set

    ```
    echo "foo"
    ```
@miketheman
miketheman / Makefile
Created September 1, 2016 19:54
Django + docker-compose Makefile
View Makefile
CURRENT_DIRECTORY := $(shell pwd)
TESTSCOPE = apps
TESTFLAGS = --with-timer --timer-top-n 10 --keepdb
help:
@echo "Docker Compose Help"
@echo "-----------------------"
@echo ""
@echo "Run tests to ensure current state is good:"
@miketheman
miketheman / Makefile
Created November 22, 2021 17:32
Makefile with targets to generate static renderings from PlantUML sources
View Makefile
DIAGRAMS := $(wildcard *.puml */*puml)
SVGS := $(DIAGRAMS:.puml=.svg)
PNGS := $(DIAGRAMS:.puml=.png)
all: $(SVGS) $(PNGS)
%.png: %.puml
plantuml -tpng "$<"
%.svg: %.puml
@miketheman
miketheman / enable_alerting.py
Created February 14, 2020 14:39
A simple script to enable GitHub's Data Services & Vulnerability Scanning on a given Organization's Repositories
View enable_alerting.py
from github import Github
gh = Github('SET_GITHUB_ACCESS_TOKE_HERE')
org = gh.get_organization('SET_ORG_NAME_HERE')
repos = org.get_repos()
for repo in repos:
if repo.archived:
@miketheman
miketheman / security-group-cleanup.py
Created May 7, 2012 21:07
AWS EC2 Unused Security Group cleanup
View security-group-cleanup.py
#!/usr/bin/env python
import sys
import boto
import pprint
del_flag = ''
if len(sys.argv) > 1:
del_flag = sys.argv[1]
@miketheman
miketheman / my_package.py
Last active March 20, 2021 23:22 — forked from benkehoe/package_with_single_sourced_version.py
Single sourcing a python package version using importlib.metadata.version()
View my_package.py
try:
# importlib.metadata is present in Python 3.8 and later
import importlib.metadata as importlib_metadata
except ImportError:
# use the shim package importlib-metadata pre-3.8
import importlib_metadata as importlib_metadata
try:
__version__ = importlib_metadata.version(__package__ or __name__)
except importlib_metadata.PackageNotFoundError:
@miketheman
miketheman / hypermail.rb
Created December 12, 2020 21:20
Sample Homebrew forumla for Hypermail http://www.hypermail-project.org/
View hypermail.rb
class Hypermail < Formula
desc "Hypermail is a free (GPL) program to convert email from Unix mbox format to html."
homepage "http://www.hypermail-project.org/"
url "https://github.com/hypermail-project/hypermail/releases/download/v2.4.0/hypermail-2.4.0.tar.gz"
sha256 "f97995b9bb1ece888968467cdad05e3daa7662ff3e3a5739e378b4f3adeb26c6"
license "GPL-2.0"
depends_on "bison" => :build
depends_on "gcc"