Skip to content

Instantly share code, notes, and snippets.

@michiel
michiel / clone-jira-epic.py
Last active March 2, 2025 19:20
Deep clone Jira epic
from atlassian import Jira
# Jira Configuration
JIRA_URL = "https://your-jira-instance.atlassian.net"
JIRA_USER = "[email protected]"
JIRA_API_TOKEN = "your-api-token"
# Initialize Jira connection
jira = Jira(url=JIRA_URL, username=JIRA_USER, password=JIRA_API_TOKEN, cloud=True)
@michiel
michiel / arch.dot
Created July 29, 2021 23:23
Architecture concerns (graphviz)
digraph architecture {
layout="neato";
node [fontname = "Helvetica"];
edge [fontname = "Helvetica"]; splines=true;
overlap=false;
nodesep="0.2";
ranksep="0.4";
label="Architecture";
labelloc="t";
fontname="Lato";
@michiel
michiel / clean-git.sh
Created October 27, 2020 11:07
clean out git directories to free up space
#!/bin/bash
# Clean out git repos to save space
for d in `find . -maxdepth 1 -type d`
do
pushd . > /dev/null
cd "$d"
echo "Trying $d"
@michiel
michiel / latency.txt
Created October 4, 2020 06:12 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@michiel
michiel / weasel-words.json
Created July 30, 2020 10:50
List of weasel words
[
"all the time",
"as much as",
"believe",
"best practice",
"can",
"can be",
"claim",
"could",
"cutting-edge",
@michiel
michiel / cisq-model.puml
Created July 2, 2020 01:23
CISQ Quality Model
@startuml
skinparam linetype poly
rectangle "Quality Dimension" {
agent Reliability
agent Security
agent Efficiency
agent Maintainability
agent Size
import svgwrite
import math
import json
class Pyramid:
def __init__(self, data, filename, height=500):
self.data = data
self.filename = filename
self.height = height
self.width = 2 * height
@michiel
michiel / list-active-cloudfront-deployments.sh
Created April 8, 2020 03:27
List active cloudfront deployments with AWS CLI and jq
#!/bin/sh
AWS_PROFILE=my-profile
AWS_REGION=ap-southeast-2
aws --profile=$AWS_PROFILE \
--region=$AWS_REGION \
cloudfront list-distributions \
| jq '.DistributionList.Items[].Origins.Items[] | {Id: .Id, OriginPath: .OriginPath}'
@michiel
michiel / transport-dynamodb-data.sh
Created March 26, 2020 00:13
Export and import DynamoDB data across environments
#!/bin/sh
SOURCE_TABLE=xxx-mydata-accp
TARGET_TABLE=xxx-mydata-prod
AWS_PROFILE=default
AWS_REGION=ap-southeast-2
# Step 1 - export and transform
aws --profile=$AWS_PROFILE \
@michiel
michiel / run-gource.sh
Created February 5, 2020 05:14
Decent HD gource settings
#!/bin/bash
# Using ffmpeg 2.8
SIZE=1920x1080
SPEED=.5
CAMERA_MODE=track
FRAMERATE=30
gource \
-r $FRAMERATE \