Skip to content

Instantly share code, notes, and snippets.

View luthermonson's full-sized avatar

Luther Monson luthermonson

View GitHub Profile
# Joliet Extension Support for ISO 9660
## Problem
The ISO 9660 specification restricts filenames to 8.3 format (8 characters + 3 character extension) using only uppercase ASCII, digits, and underscores. This is extremely limiting for modern use cases where files commonly have long, mixed-case, or Unicode names. While Rock Ridge extensions solve this on Unix-like systems by embedding POSIX metadata in System Use entries, Rock Ridge is not universally supported ??? particularly on Windows, where Joliet is the de facto standard for long filename support on optical media.
Prior to this change, go-diskfs had no ability to create or read Joliet-extended ISOs. Users who needed long filenames had to rely on Rock Ridge alone, which meant ISOs created by go-diskfs would show truncated 8.3 names on any system that only understands Joliet (notably Windows).
## What is Joliet?
# PR #1: Complete Rock Ridge Extension Support
## Overview
Rock Ridge (RRIP/IEEE P1282) was ~80% implemented in go-diskfs. Read support worked, write
infrastructure existed, and most entry types (PX, NM, TF, SL, CL, PL, RE) serialized correctly.
This PR completes write support, fixes 12 bugs (4 originally planned + 8 discovered via RRIP spec
review and integration testing), improves read-back fidelity, and adds comprehensive tests
including xorriso integration validation.
apiVersion: v1
kind: ServiceAccount
metadata:
name: ccm-linode
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: system:ccm-linode
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: capi-quickstart
namespace: default
spec:
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
@luthermonson
luthermonson / main.js
Created February 7, 2022 04:53
xterm/main.js from proxmox ve 7.1-8
console.log('xtermjs: starting');
var states = {
start: 1,
connecting: 2,
connected: 3,
disconnecting: 4,
disconnected: 5,
reconnecting: 6,
};
New-Item -ItemType Directory -Path "$Env:ProgramFiles\containerd" -Force > $null
curl.exe -L https://github.com/luthermonson/containerd/releases/download/win-bins/containerd-shim-runhcs-v1.exe -o "$Env:ProgramFiles\containerd\containerd-shim-runhcs-v1.exe"
curl.exe -L https://github.com/luthermonson/containerd/releases/download/win-bins/containerd.exe -o "$Env:ProgramFiles\containerd\containerd.exe"
curl.exe -L https://github.com/luthermonson/containerd/releases/download/win-bins/ctr.exe -o "$Env:ProgramFiles\containerd\ctr.exe"
# Set containerd config.toml
$ProcessInfo = New-Object System.Diagnostics.ProcessStartInfo
$ProcessInfo.FileName = "$Env:ProgramFiles\containerd\containerd.exe"
$ProcessInfo.RedirectStandardError = $true
$ProcessInfo.RedirectStandardOutput = $true
@luthermonson
luthermonson / gist:b3ac6659dcef70fdb48b9423ba122944
Created February 19, 2021 00:29
powershell tail service logs
function taill([string]$service) {
$idx = (Get-EventLog -LogName Application -Source $service -Newest 1).Index
while ($True)
{
Start-Sleep -MilliSeconds 100
$idx2 = (Get-EventLog -LogName Application -Source $service -Newest 1).index
if (-NOT($idx -eq $idx2)) {
Get-EventLog -logname Application -Source $service -Newest ($idx2 - $idx) | Sort index | Select-Object Message
}
@luthermonson
luthermonson / gist:3cd749e67792dae3b299d192fe71672a
Created January 21, 2021 14:57
Powershell Prompt() with Git Branch
function prompt() {
$host.ui.RawUI.WindowTitle = $pwd
$p = $pwd
if ($p -Match [regex]::Escape($HOME)) {
$p = $p -Replace [regex]::Escape($HOME), "~"
}
Write-Host -NoNewline $p
if (Test-Path -Path $pwd/.git) {
$branch = $(git rev-parse --abbrev-ref HEAD)
@luthermonson
luthermonson / gist:da860d3fc1e3f06abfe56c45da13ded9
Created November 5, 2020 23:13
Powershell Turn On GIT_TRACE
$Env:GIT_TRACE="true"
$Env:GIT_CURL_VERBOSE="true"
$Env:GIT_SSH_COMMAND="ssh -vvv"
$Env:GIT_TRACE_PACK_ACCESS="true"
$Env:GIT_TRACE_PACKET="true"
$Env:GIT_TRACE_PACKFILE="true"
$Env:GIT_TRACE_PERFORMANCE="true"
$Env:GIT_TRACE_SETUP="true"
$Env:GIT_TRACE_SHALLOW="true"
@luthermonson
luthermonson / gist:08589cc189690870ac2df594d57d2236
Last active September 11, 2020 22:31
Powershell to Tail Docker Logs
# Make sure you setup c:\ProgramData\docker\config\daemon.json to contain log-level: debug and debug: true
$idx = (Get-EventLog -LogName Application -Source Docker -Newest 1).Index
while ($True)
{
Start-Sleep -MilliSeconds 100
$idx2 = (Get-EventLog -LogName Application -Source Docker -Newest 1).index
if (-NOT($idx -eq $idx2)) {
Get-EventLog -logname Application -Source Docker -Newest ($idx2 - $idx) | Sort index | Select-Object Message
}