Skip to content

Instantly share code, notes, and snippets.

@gdvalle
gdvalle / nginx_stub_status.lua
Created Jun 24, 2019
Record Prometheus metrics from nginx stub_status module using https://github.com/knyar/nginx-lua-prometheus
View nginx_stub_status.lua
-- 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 Jun 23, 2019
Delete extracted mkv files alongside rar parts.
View extract_cleanup.py
#!/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 Jun 17, 2019
List all GCP IPv4 network blocks using the cloud-netblocks TXT records.
View list_gcp_network_blocks.py
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 Mar 29, 2019
Skip intros in Netflix videos.
View netflix-skip-intro.user.js
// ==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 Feb 5, 2018
OpenResty micro benchmark lib
View benchmark.lua
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 Feb 18, 2017
Replace text between invisible markdown comments.
View update_readme
#!/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 Mar 3, 2016
Convert Prometheus 0.16.x alerts to 0.17 format
View prometheus_alert_migrate.vimscript
:%s/WITH/LABELS/g
:%s/SUMMARY \(.*\)/ANNOTATIONS {\r summary = \1,/g
:%s/DESCRIPTION \(.*\)/ description = \1\r \}/g
@gdvalle
gdvalle / atomcat.sh
Last active Dec 5, 2015
An atomic file updater in shell.
View atomcat.sh
#!/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 Sep 18, 2014
Molokai color scheme for Konsole
View Molokai.colorscheme
[Background]
Color=39,40,34
[BackgroundIntense]
Color=39,40,34
[Color0]
Color=0,0,0
[Color0Intense]
@gdvalle
gdvalle / test_ansible_slow_copy.sh
Created Jun 17, 2014
Script to reproduce slow Ansible file copy
View test_ansible_slow_copy.sh
#!/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"
You can’t perform that action at this time.