Skip to content

Instantly share code, notes, and snippets.

available for hire

Kevin M. Gallagher ageis

available for hire
Block or report user

Report or block ageis

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
ageis / .bashrc 6-23-2019
Last active Jun 24, 2019
@ageis's ~/.bashrc 🖥️ with numerous useful functions, aliases and one-liners. ⚠️ NOTE: many paths in sourced scripts and environment variables are specific to my system, but if you dig in I hope you'll find something you can use!
View .bashrc 6-23-2019
# ~/.bashrc: executed by bash(1) for non-login shells.
# kevin gallagher (@ageis) <>
export MYUID=$(id -u)
export USER="$(id -un)"
if [[ "$TILIX_ID" ]] || [[ "$VTE_VERSION" ]]; then
source /etc/profile.d/
ageis /
Created May 21, 2019
Ansible ICMP ping module
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# (c) 2019, Ansible by Red Hat, inc
# (c) 2019 Kevin Gallagher (@ageis) <>
# GNU General Public License v3.0+ (see COPYING or
from __future__ import absolute_import, division, print_function
ANSIBLE_METADATA = {"metadata_version": "1.1", "status": ["preview"], "supported_by": "community"}
ageis / vlcrc
Last active May 6, 2019
Best VLC settings for listening to music or audio. Sections go in ~/.config/vlcrc. Applies compression, an equalizer emphasizing low and high mids, volume normalization plus highest-quality sample rate conversion.
View vlcrc
[compressor] # Dynamic range compressor
# RMS/peak (float)
# Attack time (float)
# Release time (float)
# Threshold level (float)
# Ratio (float)
ageis /
Last active May 1, 2019
Extract JPEG frames from video while applying optional magnification/cropping/sharpening/contrast enhancement; specify the duration/section or use keyframes/one frame per second, etc.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# coding: utf-8
from __future__ import unicode_literals
from __future__ import print_function
import argparse
import re
import json
ageis /
Last active Apr 28, 2019 — retrieves Mozilla/NS root trust store, re-encodes DER/base64 as PEM bundle sans metadata
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# vim:set et sw=4:
# retrieves CA certificates from the Mozilla/NSS root trust store in base64/DER
# format and re-encodes them as a concatenated PEM bundle sans metadata
# writes all CA certificates to /etc/ssl/cacerts.pem
# Copyright (C) 2019 Kevin M. Gallagher <>
ageis / showqrcode.c
Last active Apr 28, 2019
A utility to display QR codes in the CLI/terminal. To build, run `gcc showqrcode.c -ldl -o showqrcode`
View showqrcode.c
// showqrcode: A utility to display QR codes in the terminal.
// Copyright © 2019 Kevin Gallagher <>
// Modified and based upon original code from libpam-google-authenticator:
// The original license is printed below.
// Helper program to generate a new secret for use in two-factor
// authentication.
// Copyright 2010 Google Inc.
ageis /
Last active Apr 28, 2019
certbot Prometheus exporter (Let's Encrypt metrics)

This is a script written in Python intended to run alongside a certbot instance and export statistics for monitoring purposes. It assumes the existence of certbot in the PATH plus read access to /etc/letsencrypt.

It tracks stuff like: number of certs, number of SANs, expiry time, seconds until expiry, and the status of the certificate per ACME.

How it works

Prometheus is a monitoring system and time-series database.

ageis /
Created Mar 18, 2019
INI lookup plugin with ConfigObj instead of ConfigParser
# (c) 2019 Ansible Project
# GNU General Public License v3.0+ (see COPYING or
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
lookup: ini_file
author: Kevin Gallagher <>
version_added: "2.0"
short_description: read data from a ini file
ageis /
Created May 14, 2018
OpenPGP KDF-DO setup script for smartcards
#! /bin/bash
# Original author: NIIBE Yutaka <>
# URL:
# Usage: ./
ageis / dirmngr.conf
Last active Jun 21, 2019
GnuPG configuration files
View dirmngr.conf
log-file /home/kevin/.gnupg/dirmngr.log
debug-level basic
debug ipc,dns
keyserver hkps://
hkp-cacert /usr/share/gnupg/sks-keyservers.netCA.pem
You can’t perform that action at this time.