Skip to content

Instantly share code, notes, and snippets.

View ascarter's full-sized avatar

Andrew Carter ascarter

View GitHub Profile
@ascarter
ascarter / remote_luks_unlock.md
Last active March 3, 2023 16:49
Remote Unlock LUKS Encrypted Drive

Remote Unlock LUKS Encrypted Drive

Initial Setup

Provision drive using installer for LUKS/LVM

Typical configuration:

% lsblk -f
@ascarter
ascarter / settings.json
Created March 2, 2022 18:41
GitHub Dark Dimmed Windows terminal colors
{
"background": "#2D333B",
"black": "#2D333B",
"blue": "#6CB6FF",
"brightBlack": "#768390",
"brightBlue": "#6CB6FF",
"brightCyan": "#96D0FF",
"brightGreen": "#8DDB8C",
"brightPurple": "#DCBDFB",
"brightRed": "#F47067",
@ascarter
ascarter / setdate.sh
Created January 27, 2021 17:08
Set missing date/time stamps in photos
#!/bin/sh
# Set missing datetime tags
find "${1:-$PWD}" -not -name ".DS_Store" -type f | while read f
do
# Assumption that files came from Apple Photos export
# Organized:
# <month> <day>, <year>
d=$(basename "$(dirname "${f}")")
datestamp=$(echo "${d}" | sed -E 's/(^.+[,][[:space:]])?([[:alpha:]]+[[:space:]][[:digit:]]+[,][[:space:]][[:digit:]]+)/\2/g')
@ascarter
ascarter / reorg.sh
Created January 27, 2021 17:06
Photo re-organization script
#!/bin/sh
# Rearrange exported originals to a yyyy/mm camera roll for OneDrive
# Set options
while getopts "is" arg; do
case "${arg}" in
i) INFO=1 ;;
s) SUMMARIZE=1 ;;
esac
package handlers
import (
"bytes"
"fmt"
"log"
"net/http"
"net/http/httptest"
"regexp"
"strings"
@ascarter
ascarter / requestlog.go
Created July 30, 2020 14:34
Request logging middleware
package handlers
import (
"fmt"
"log"
"net/http"
"os"
"time"
)
@ascarter
ascarter / docker.bash
Created May 24, 2019 18:09
Convenience functions for running docker with ephemeral containers
# -*- mode: unix-shell-script; -*-
# Run command in container with local directory mounted
# Useful for scripting languages like Ruby, Python, and Node
# Usage: docker_cmd <image> <bin> <cmd> [args]
docker_cmd() {
local image=$1; shift
local bin=$1; shift
local cmd=$1; shift
local args=$*
@ascarter
ascarter / docker-compose.yml
Created May 23, 2019 21:18
Grafana/Prometheus/Loki stack
version: "3.7"
services:
prometheus:
image: prom/prometheus
ports:
- 9090:9090
volumes:
- prometheus-storage:/prometheus
loki:
@ascarter
ascarter / help.mk
Created May 22, 2019 23:56
Makefile help
HELP_FORMAT=" \033[36m%-25s\033[0m %s\n"
.PHONY: help
help: ## Display this usage information
@echo "Valid targets:"
@grep -E '^[^ ]+:.*?## .*$$' $(MAKEFILE_LIST) | \
sort | \
awk 'BEGIN {FS = ":.*?## "}; \
{printf $(HELP_FORMAT), $$1, $$2}'
@echo ""
@echo "This host will build the following targets if 'make release' is invoked:"
@ascarter
ascarter / darkmode.sh
Last active November 29, 2018 01:10
macOS AppleScript for dark mode
# macOS display mode
alias darkmode='osascript -e "tell application \"System Events\" to tell appearance preferences to set dark mode to true"'
alias lightmode='osascript -e "tell application \"System Events\" to tell appearance preferences to set dark mode to false"'
alias togglemode='osascript -e "tell application \"System Events\" to tell appearance preferences to set dark mode to not dark mode"'