Skip to content

Instantly share code, notes, and snippets.

@tcaddy
tcaddy / README.md
Last active September 9, 2024 14:40
Golang text/template for parsing a redis database URL

Golang text/template for parsing Redis database URL

This is backup docs for this Go Template Playground setup: here

The idea is that we want to use External Secrets Operator to parse a secret that happens to be a Redis dat

@tcaddy
tcaddy / bluetoothctl.py
Created July 2, 2024 01:00 — forked from castis/bluetoothctl.py
Bluetoothctl wrapper in Python
# Based on ReachView code from Egor Fedorov ([email protected])
# Updated for Python 3.6.8 on a Raspberry Pi
import time
import pexpect
import subprocess
import sys
import logging
@tcaddy
tcaddy / Gemfile
Created January 9, 2024 23:50
getport.io Webhook validation in Ruby
source "https://rubygems.org"
gem "functions_framework", "~> 1.4"
@tcaddy
tcaddy / README.md
Created August 29, 2022 01:55
BirdNet Pi Setup

Overview

This is an explanation of my BirdNET-Pi (https://birdnetpi.com/) hardware installation.

Details

The idea is to have minimal hardware outdoors (a microphone) and keep the rest indoors where it is easier to manage and keep climate controlled. I had an existing CAT5 cable running from my computer area to an outdoor telco box. It was used for an old DSL install. I used the telco box to house a CAT5-to-XLR adapter and most of an XLR omnidirectional lavalier microphone, with the tip of

@tcaddy
tcaddy / ping_gateway.sh
Last active September 23, 2020 19:53
ping_gateway
#!/bin/sh
# See https://serverfault.com/a/31179
gateway=$(route -n | grep 'UG[ \t]' | awk '{print $2}')
echo "Pinging Gateway IP: $gateway"
echo "Press CTRL + C to cancel"
ping $gateway
@tcaddy
tcaddy / folderify_mp3s.rb
Created August 20, 2020 20:57
Put mp3s in folders based on id3 tags for artist and album. Create filenames based on disk #, track #, and title from id3 tags.
#!/usr/bin/env ruby
begin
require 'fileutils'
require 'id3tag'
require 'pry'
class FolderifyMp3s
REGEX = /\(|\)|\/|\\/.freeze
def call
@tcaddy
tcaddy / example.rb
Created October 25, 2019 18:12
GMail usage example
callback = lambda do |result, err|
if err
# handle error
else
require_relative './mail'
mail = ::CheckEmail::Mail.new(result)
end
end
@tcaddy
tcaddy / .gitconfig
Created May 9, 2018 18:10
dot files
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
name = Firstname Lastname
email = [email protected]
[color]
ui = auto
[rebase]
autosquash = true
[alias]
@tcaddy
tcaddy / freeze_benchmark.rb
Last active October 12, 2017 19:52
Benchmark String#freeze
#!/usr/bin/env ruby
# Based on http://blog.honeybadger.io/when-to-use-freeze-and-frozen-in-ruby/#reducing-object-allocations
# but for Ruby 1.9.3
require 'benchmark'
class FreezeBenchmark
NORMAL = 'NORMAL'
FROZEN = 'FROZEN'.freeze
def self.init(n = 100000)
@tcaddy
tcaddy / script.bat
Last active May 23, 2017 15:19
BAT file to copy files and make a ZIP archive
@ECHO OFF
SET CURRENTDIR="%cd%"
SET DIRTOZIP="%TEMP%\_A%time::=.%"
MKDIR %DIRTOZIP%
CD %DIRTOZIP%
COPY /B /V /Z "source" "destination"
set FILETOZIP="%DIRTOZIP%\*"