Skip to content

Instantly share code, notes, and snippets.

View hemna's full-sized avatar
🏠
Working from home

Walter A. Boring IV hemna

🏠
Working from home
  • Appomattox, VA
View GitHub Profile
@hemna
hemna / check_db.py
Created May 13, 2026 23:01
Diagnostic: show station/packet ages from direwolf-dashboard packets.db
#!/usr/bin/env python3
"""Quick diagnostic: show station and packet age from packets.db."""
import sqlite3
import time
import sys
from datetime import datetime, timezone
DB_PATH = "/tmp/direwolf-dashboard/packets.db"
if len(sys.argv) > 1:
DB_PATH = sys.argv[1]
@hemna
hemna / netapp-session-race-report.md
Last active May 11, 2026 15:45
Investigation: NetApp REST Client Session Race - Volume Migration Failures

Investigation Report: Volume Migration Failures — NetApp REST Client Session Race

Summary

Sustained volume migration failures (InvalidVolume: volume is not assigned to a host) affecting 60,000+ operations over 7+ days. Root cause identified as a race condition in the NetApp REST client session handling. A fix has been deployed to QA.

Symptoms

  • Error: cinder.exception.InvalidVolume: Invalid volume: volume is not assigned to a host
  • Operation: volume_migrate (specifically native_cross_vc_migrate_volume_migrate_unattachedget_file_sizes_by_dir)
@hemna
hemna / family_tree_report.md
Last active May 10, 2026 15:17
Family Tree Analysis Report - Walter Boring IV & Dana Bosiger

Family Tree Analysis Report

Generated: 2026-05-10
Source: FamilySearch.org shared Family Tree
Tool: Family Tree Map application (scraper + geocoder)


Overview

@hemna
hemna / samuel-cordell-research.md
Created May 10, 2026 02:19
Genealogy Research: Samuel C. Morgan Cordell (1894-1971) - Finding His Parents

Research Report: Samuel C. Morgan Cordell — Finding His Parents

Subject

Samuel William "Sam" Cordell (born Samuel C. Morgan)

  • Born: 27 July 1894, Shell Creek, Carter County, Tennessee
  • Died: 26 January 1971, Elizabethton, Carter County, Tennessee (age 77)
  • Buried: Happy Valley Memorial Park, Elizabethton, Carter County, TN
  • FamilySearch ID: K4GV-6X7
  • Find a Grave Memorial ID: 147286245
@hemna
hemna / MHS35.py
Last active May 8, 2026 18:16
MHS35b (ILI9486) variant driver - fixed init sequence matching DTS exactly
# ILI9486.py — MHS35b/MHS35 variant (Pi 5 compatible, lgpio)
#
# Original: SirLefti/Python_ILI9486 (Waveshare)
# Modified: craigerl/hemna — MHS35b/MHS35 support + Pi 5
#
# Key differences from original:
# - Uses lgpio (Pi 5 compatible) instead of RPi.GPIO
# - regwidth=16: commands AND register data sent as [0x00, byte] pairs
# - Pixel data (bulk framebuffer writes) sent as raw bytes
# - Pixel format: RGB565 (0x55) instead of RGB666 (0x66)
@hemna
hemna / ILI9486_MHS35b.py
Last active May 7, 2026 16:13
Analysis: MHS35b (ILI9486) variant support for Python_ILI9486 driver — Issue #6
# ILI9486_MHS35b.py — MHS35b variant support for Python_ILI9486
#
# Drop-in subclass of ILI9486 that provides:
# 1. MHS35b-specific init sequence (manufacturer registers, power/VCOM tuning)
# 2. RGB565 pixel format (16-bit) instead of RGB666 (18-bit)
#
# Usage:
# from ILI9486_MHS35b import ILI9486_MHS35b, image_to_data_565
# spi = SpiDev()
# spi.open(0, 0)
@hemna
hemna / fake_slow_driver.py
Last active April 29, 2026 23:17
Cinder Graceful Shutdown - Test Report (Review 985998)
# Copyright 2025 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
@hemna
hemna / test_graceful_shutdown_tempest.py
Last active April 29, 2026 19:05
Cinder Graceful Shutdown - Live SIGTERM Integration Tests
# Copyright 2026 SAP SE
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
#!/usr/bin/env -S uv run --script
# /// script
# dependencies = [
# "rich",
# ]
# ///
import os
import shutil
import string
def initialize_connection(self, volume, connector, initiator_data=None):
"""Allow connection to connector and return connection info.
:param volume: The volume to be attached.
:param connector: Dictionary containing information about what is being
connected to.
:param initiator_data: (Optional) A dictionary of driver_initiator_data
objects with key-value pairs that have been
saved for this initiator by a driver in previous
initialize_connection calls.