Skip to content

Instantly share code, notes, and snippets.

@gdvalle
gdvalle / nginx_stub_status.lua
Created June 24, 2019 15:14
Record Prometheus metrics from nginx stub_status module using https://github.com/knyar/nginx-lua-prometheus
-- A module to export Prometheus metrics from nginx stub_status module.
local ngx = ngx
local ngx_var = ngx.var
local prometheus = prometheus
local select = select
local tonumber = tonumber
local find = string.find
local capture = ngx.location.capture
local log = ngx.log
local ERR = ngx.ERR
@gdvalle
gdvalle / extract_cleanup.py
Created June 23, 2019 16:14
Delete extracted mkv files alongside rar parts.
#!/usr/bin/env python3
import os
import sys
assert sys.version_info[:2] >= (3, 6), "Requires Python 3.6+"
def walk_dir(directory):
for root, dirs, files in os.walk(directory):
@gdvalle
gdvalle / list_gcp_network_blocks.py
Created June 17, 2019 16:05
List all GCP IPv4 network blocks using the cloud-netblocks TXT records.
import json
from dns.resolver import Resolver
dns_resolver = Resolver()
def _parse_netblock_includes(txt):
includes = set()
ip4_blocks = set()
@gdvalle
gdvalle / netflix-skip-intro.user.js
Last active March 29, 2019 03:38
Skip intros in Netflix videos.
// ==UserScript==
// @name Netflix Skip Intro
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Automatically skip intros with Netflix.
// @author goobyndolan
// @match https://www.netflix.com/*
// @grant none
// ==/UserScript==
@gdvalle
gdvalle / benchmark.lua
Last active February 5, 2018 18:32
OpenResty micro benchmark lib
local ffi = require "ffi"
local ngx = ngx
local ngx_update_time = ngx.update_time
local ngx_say = ngx.say
local tonumber = tonumber
ffi.cdef[[
typedef long time_t;
@gdvalle
gdvalle / update_readme
Created February 18, 2017 21:33
Replace text between invisible markdown comments.
#!/usr/bin/env bash
# This just replaces the text between a couple of hopefully invisible
# markdown comments, like so: `[//]: #` (text within backticks)
set -euo pipefail
main_output="$(cargo run -- --help)"
output="$(printf "### main\n\`\`\`\n%s\n\`\`\`" "$main_output")\n"
output+="### subcommands\n"
@gdvalle
gdvalle / prometheus_alert_migrate.vimscript
Created March 3, 2016 16:28
Convert Prometheus 0.16.x alerts to 0.17 format
:%s/WITH/LABELS/g
:%s/SUMMARY \(.*\)/ANNOTATIONS {\r summary = \1,/g
:%s/DESCRIPTION \(.*\)/ description = \1\r \}/g
@gdvalle
gdvalle / atomcat.sh
Last active May 23, 2021 18:26
An atomic file updater in shell.
#!/bin/sh
set -u
PROG="${0##*/}"
# Default temp file suffix
SUFFIX="${SUFFIX-.tmp$$}"
usage() {
printf 'usage: echo foo | %s <file> [lockfile] [tempfile]\n' "$PROG" >&2
@gdvalle
gdvalle / Molokai.colorscheme
Created September 18, 2014 17:34
Molokai color scheme for Konsole
[Background]
Color=39,40,34
[BackgroundIntense]
Color=39,40,34
[Color0]
Color=0,0,0
[Color0Intense]
@gdvalle
gdvalle / test_ansible_slow_copy.sh
Created June 17, 2014 20:28
Script to reproduce slow Ansible file copy
#!/usr/bin/env bash
#
# Breaking commit: https://github.com/ansible/ansible/commit/460794d697ee8fa4a959e76442bd9a2e777d6251
# Last working commit: https://github.com/ansible/ansible/commit/237b9cb05669f22099cc6c47de44c5f6321869c3
#
# It appears that the kv_regex.match() hangs ansible during larger file copies.
#
FSIZE=60000
HOST="localhost"
ANSIBLE_ARGS="-i '$HOST,' -v -D test.yml"