Skip to content

Instantly share code, notes, and snippets.

View bigntallmike's full-sized avatar

Michael T. Babcock bigntallmike

View GitHub Profile
@bigntallmike
bigntallmike / gist:0624858d4eead91d90baebfee4dcb94d
Last active November 17, 2023 22:11
Steps to reinstall RPMs with zero-length libraries
# With root file system mounted at /oldsys:
# Use at own risk!!
find /oldsys/usr/lib -size 0 >/tmp/badlibs
cat /tmp/badlibs \
| xargs --replace={} rpm --root /oldsys -qf "{}" \
| grep -v "not owned" \
| sort \
| uniq \
| xargs dnf -y --installroot=/oldsys reinstall
@bigntallmike
bigntallmike / procnetdata.py
Last active January 2, 2023 19:14
Wrote a quick class to parse /proc/net/dev data
#!/usr/bin/python3 -ttu
#
# Class to read and parse /proc/net/dev quickly and make the data available as a dictionary
# and/or json.
#
# Licensed: MIT. Just use it. Technically Copyright (C) 2022 Michael T. Babcock
from collections import OrderedDict
import re
#!/bin/bash
SIGFILE="myfiles-`date +%Y%m%d`.lst"
find -type f -exec sha256sum "{}" ";" > $SIGFILE
gpg --detach-sig $SIGFILE
@bigntallmike
bigntallmike / adventofcode2022day9.py
Created December 9, 2022 23:45
Advent of Code 2022 Day 9 Python -- no optimization
#!/usr/bin/python3
import sys
class location:
def __init__(self, x, y):
self.x = x
self.y = y
def deltax(self, other):
@bigntallmike
bigntallmike / speedtest-data.py
Created August 17, 2022 17:30
Needed speed test data I could parse in a bash script with eval
#!/usr/bin/python3 -ttu
#
# Run speedtest-cli and extract data from csv in useful format for bash scripts
#
# Copyright (C) 2022 Michael T. Babcock -- Licensed LGPL-2.0-or-later
import csv
import subprocess
def speedtest_parse(data):
#!/usr/bin/python3 -ttu
# Quick massage of cut'n'paste data from Royal Bank of Canada statement data:
import string
import sys
Months = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
tabcount = 0
for data in sys.stdin:
@bigntallmike
bigntallmike / hammingdb.py
Created May 16, 2022 18:17
Starting hamming database
#!/usr/bin/python3 -ttu
class hamming_db:
def __init__(self, itemlen):
self._itemlen = itemlen
self._itemlist = []
# List of dictionaries, containing entries from itemlist that match
self._positiondb = [{} for _ in range(self._itemlen)]
def add(self, item):
#!/bin/sh
#
# Make a local compressed copy of a backup file, typically being delivered by SSH
#
# Consider:
# xfsdump -l0 -M "$BACKUPNAME" -L "fullbackup" - /home | ssh $REMOTE "compressincomingbackup $BACKUPNAME"
#
# Copyright 2022 Michael T. Babcock
# Licensed to use freely under LGPL or MIT at user's discretion
#!/usr/bin/python3 -ttu
#
# Off the top of my head, per https://www.youtube.com/watch?v=QPZ0pIK_wsc
for number in range(1,101):
#print("Debug: {}".format(number))
if number % 5 == 0 and number % 3 == 0:
print("fizz buzz")
continue
#!/usr/bin/python3 -ttu
#
# Use exiftool to read data from image and translate to Python dictionary
#
# Copyright 2021 Michael T. Babcock <mtb-code@mikebabcock.ca>
# Released under MIT License, enjoy
import sys, os
from subprocess import run
import json