Skip to content

Instantly share code, notes, and snippets.

@wmudge
wmudge / README.md
Last active September 6, 2025 13:10
IPMI Fan Control Service

Some time ago, I stumbled upon a Python IPMI fan control script that wrapped the ipmitool. This script worked great for a long time, but I always had to set it up when rebooting my home NAS. A major OS upgrade gave me the opportunity to revisit, and I used a bit of "vibe" coding to convert the Python to straight Bash and add a systemd service.

@wmudge
wmudge / openssl_commands.md
Created May 16, 2025 13:42 — forked from Hakky54/openssl_commands.md
OpenSSL Cheat Sheet

OpenSSL Cheat Sheet 🔐

Install

Install the OpenSSL on Debian based systems

sudo apt-get install openssl
@wmudge
wmudge / README.md
Last active January 21, 2025 16:15 — forked from mrgrain/pinentry-1password.sh
1Password CLI pinentry for gpg-agent

GPG-to-1Password

Connect your gpg-agent to 1Password so you can unlock your GPG key from the password manager.

Prerequisites

  • 1Password CLI
  • GnuPG

Instructions

/*
** 1. You should use hider plugin and hide additional items to look like whats in my reddit post
** 2. i also hided elements in settings which i dont remember what
** 3. enjoy!
*/
body {
--background-primary: #000;
@wmudge
wmudge / gpg-preset-key.sh
Last active January 3, 2024 14:15
GPG Preset Passphrase script
#!/bin/bash
# Hacked from https://superuser.com/a/1586033
set -e
GPG_PRESET_PASS="/usr/lib/gnupg/gpg-preset-passphrase"
SCRIPT="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")"
if [[ -z $1 ]]; then
[localhost] TASK: install package (debug)> from jinja2 import Environment
[localhost] TASK: install package (debug)> e = Environment()
[localhost] TASK: install package (debug)> t = e.from_string(task.args['msg'])
[localhost] TASK: install package (debug)> t.render(task_vars)
'foo'
or
@wmudge
wmudge / TW-to-OB.md
Last active July 18, 2023 08:59
TiddlyWiki to Obsidian.md

I wanted to convert my small-ish TiddlyWiki site to an Obsidian.md vault, and while the instructions I found on forums, et al, were immensely helpful, I still had to hack at the process a bit.

Note My TiddlyWiki installation is a Nodejs server running on Alpine (via a Docker container), but my Obsidian installation is running on Windows, iOS, and others. YMMV.

My journey ...

  1. First, read this forum post and the original blog post to understand the basic workflow.

  2. Copy the two Nodejs scripts, safe-construct.js and safe-rename.js

@wmudge
wmudge / RenewExpiredGPGkey.md
Created February 27, 2023 14:39 — forked from TheSherlockHomie/RenewExpiredGPGkey.md
Updating expired GPG keys and backing them up 🔑🔐💻

Updating expired GPG keys and their backup 🔑🔐💻

I use a GPG key to sign my git commits.

An error like this one might be a sign of an expired GPG key.

error: gpg failed to sign the data fatal: failed to write commit object
@wmudge
wmudge / gitflow-breakdown.md
Created February 1, 2023 17:06 — forked from JamesMGreene/gitflow-breakdown.md
`git flow` vs. `git`: A comparison of using `git flow` commands versus raw `git` commands.

Initialize

gitflow git
git flow init git init
  git commit --allow-empty -m "Initial commit"
  git checkout -b develop master

Connect to the remote repository

@wmudge
wmudge / podman_machine_timesync.md
Last active January 26, 2023 15:24
Steps to manage time sync with podman's VM

Timesync Setup for podman Machine VM

  1. Log into the podman machine VM
    podman machine ssh
  2. Temporarily disable SELinux
    sudo setenforce 0