Skip to content

Instantly share code, notes, and snippets.

@ants
ants / 1brc.py
Last active January 18, 2024 15:48
Simple Python implementation of 1BRC
from collections import defaultdict
from functools import reduce
try:
from itertools import pairwise
except ImportError:
# Simple alternative for pypy
def pairwise(seq):
seq = list(seq)
return zip(seq, seq[1:])
import multiprocessing
@ants
ants / repeat-cert-swap.sh
Created January 25, 2022 14:58
Cert hang reproduce scripts
#!/bin/bash
PID=$1
function curtime() {
date "+[%H:%M:%S]"
}
function check() {
curl -vk https://localhost:8008/ 2>&1 | grep -q $1
diff --git a/patroni/dcs/kubernetes.py b/patroni/dcs/kubernetes.py
index ade15ff..9fbd9e7 100644
--- a/patroni/dcs/kubernetes.py
+++ b/patroni/dcs/kubernetes.py
@@ -107,7 +107,8 @@ class Kubernetes(AbstractDCS):
try:
return func(*args, **kwargs)
except (RetryFailedError, k8s_client.rest.ApiException,
- HTTPException, HTTPError, socket.error, socket.timeout):
+ HTTPException, HTTPError, socket.error, socket.timeout) as e:
@ants
ants / db.sql
Last active July 25, 2018 11:17
CREATE TABLE data (id serial primary key, name text, data jsonb);
INSERT INTO data (name, data) VALUES ('testing', '{"foo": 1, "bar": 2}');
INSERT INTO data (name, data) DEFAULT VALUES;
// In main part of the application
db, err := sql.Open("postgres", connectString)
defer db.Close()
checkErr(err)
// In single request
tx, err := db.BeginTx(context.TODO(), TxOptions{sql.LevelRepeatableRead}) // Gets a single connection from pool and start transaction
checkErr(err)
@ants
ants / pg-schema-to-plantuml.sh
Created July 4, 2018 11:03
Small tool to render postgresql schema as plantuml input
#!/bin/sh
if [ -z "$1" ]; then
(>&2 echo "Usage: $0 \"host=.. user=.. dbname=..\"")
exit 1
fi
CONNSTRING=$1
cat - <<PRELUDE
gistup
@ants
ants / Makefile
Created January 9, 2018 07:50
OpenSSL AES XTS usage
ssl-encrypt: ssl-encrypt.c
gcc -O2 ssl-encrypt.c -lcrypto -o ssl-encrypt
from threading import RLock, Thread
import time
running = True
def long_lock_loop(mutex):
while running:
mutex.acquire()
print "Long acquired"
time.sleep(3)
import os, struct, re
def cached_property(accessor):
cache_name = '_cached_%s' % accessor.__name__
def property_cacher(obj):
try:
return getattr(obj, cache_name)
except AttributeError:
value = accessor(obj)
setattr(obj, cache_name, value)