Categories

Links RSS
Author ArgentumCation Posts Notes
License CC-BY-NC-SA 4.0+ Updated
Extending the Comparative Military Ranking System to fit Space Forces 2025-10-08
Army Navy Air Force Space Force
Marshal Admiral of the Fleet Marshall of the Air Force Marshall of the Space Force
General Admiral Air Chief Marshal Star Admiral
Lieutenant General Vice Admiral Air Marshal Star Marshal
Major General Rear Admiral Air Vice-Marshal Star Vice-Marshal
Brigadier Commodore Air Commodore Star Commodore
Colonel Captain Group Captain Captain
Lieutenant Colonel Commander Wing Commander Guardian Commander
Major Lieutenant Commander Squadron Leader Guardian Leader
Lieutenant Lieutenant Flight Lieutenant Lieutenant
Junior Lieutenant Ensign Pilot Officer Guardian Officer
Warrant Officer Warrant Officer Warrant Officer Warrant Officer
Sergeant Petty Officer Sergeant Sergeant
Specialist Able Seaman Air Specialist Guardian Specialist
Private Seaman Airman Guardian
An idea for hexadecimal time 2025-07-22

An idea for hexadecimal time

  • basic unit of time is the second
  • epoch is the unix epoch
  • this makes it compatible with unix time up to second level precision
  • the equivalent of a millisecond would be a mibisecond (1/1024 sec)
  • UTC time of writing: 687F 5394
  • YYMW DHmm
  • hex minute: 0x100 seconds or 4.267 minutes
  • hex hour: 0x10 minutes or 1.1378 hours
  • hex day: 0x10 hex hours or 0.758 days
  • hex week: 0x10 hex days
  • hex month: 0x10 hex weeks
  • hex year: 0x10 hex months
  • hex century 0x100 hex years
Mira Missingtexture's Mangled Mandarin Transcription System 2025-06-24

Initials

Pinyin Missingtexture IPA
b p p
p ph
m m m
f f f
d t t
t th
n n n
l l l
g k k
k kh
h x x
j tj
q tjh tɕʰ
x j ɕ
zh tz ʈʂ
ch tzh ʈʂʰ
sh z ʂ
r r ɻ~ʐ
z c ts
c ch tsʰ
s s s
y y j
w w w
yu yu ɥ

Finals

Pinyin Pinyin Mira Mira (revised) IPA Notes
(N/A) -i -r ɹ̩~z̩, ɻ̩~ʐ̩ after z, c, s, zh, ch, sh, r
a a a a
e e e ɤ/ə
ai ai ai ai̯
ei ei ei ei̯
ao ao ao au̯
ou ou ou ou̯
an an an an
en en en ən
ang ang aq ang
eng eng eq eng əŋ
(weng) ong uq ung ʊŋ~o̞ʊŋ
er er er aɚ̯~əɹ
yi i i i
ya ia ia ja
ye ie ie je
yao iao iao jau̯
you iu iou jou̯
yan ian ien jɛn
yin in in in
yang iang iaq iang jaŋ
ying ing iq ing
yong iong ioq iong jʊŋ
wu u u u
wa ua ua wa
wo uo/o uo wo
wai uai uai wai̯
wei ui uei wei̯
wan uan uan wan
wen un uen wən
wang uang uaq uang waŋ
weng (ong) ueq ueng wəŋ
yu ü v ü y
yue üe ve üe ɥe
yuan üan ven üan ɥɛn
yun ün vn ün yn
ê ê eh ɛ
o o oh ɔ
yo io yoh

Examples

Chinese Pinyin Missingtexture Missingtexture (Revised)
北京 Běijīng pěitjīq pěitjīng
广州 Guǎngzhōu kuǎqtzōu kuǎngtzōu
西安 Xī’ān jī’ān jī’ān
青島 Qīngdǎo tjhīqtǎo tjhīngtǎo
奇迹 Qíjì tjhíjì tjhíjì
天津 Tiānjīn thiāqtjīn thiāngtjīn
四川 Sìchuān sìtzhuān sìtzhuān
南京 Nánjīng nántjīq nántjīng
旋律 xuánlǜ juánlv juánlǜ
Notes on building Redox OS 2025-05-08
From my attempts to try getting this bugger working on armv6
Yet Unnamed Revolution Investigation 2025-05-03

Yet Unnamed Revolution Investigation

DOL

  • More compatible with Nintendo tooling
  • I assume it has something to do withu

ELF

  • more flexible than DOL
  • can be converted to/from DOL

KalistiOS

  • seems to be an SDK for Dreamcast
  • supported PS2 and GBA at one point but those are unmaintained
  • supported x86 at one point but wasn’t made public?
  • looks like yu-rvl is gonna be doing stuff with that

libOGC

  • bad
  • seems like it’s used by most/all existing Wii homebrew

NAND Channel

  • Forwarders?

BlocksDS

  • seems to be an NDS SDK we’re shipping alongside other Yu utils?
Pico-8 Investigations 2025-04-16

Hardware

  • 128x128 Screen
  • 2 Controllers
    • Dpad + Circle + X
  • 16 official colors + 16 unofficial colors
  • 256 8x8 sprites
  • 32kb cart size
  • 64kb RAM
  • 4 channel audio
  • uses p8scii
    • != ascii
  • runs at 30fps or 60fps

P8PNG Format

Mira attempts to lock the fuck in and figure out how to k8s 2025-04-07

Current Setup

Auxin (HTPC):

  • OS: NixOS
  • Service Runtume:Docker Compose
  • Services:
    • Syncthing
    • Jellyfin
    • Caddy (as reverse proxy only)
    • Kodi
  • Service Storage:
    • Bind Mounts to NFS on NAS Lipotropin (NAS):
  • OS: Proxmox
  • Services Runtime: K3S
  • Services:
    • adminer
    • caddy
    • copyparty
    • forgejo
    • jackett
    • mariadb
    • ntfy
    • paperless+gotenberg+tika
    • qbittorrent+gluetun
    • radarr
    • redis
    • slskd
  • Service Storage:
    • NFS to spinning rust on same system
  • Baremetal storage:
    • 6 HDDs in BTRFS5 (50TB raw, 38TB usable) Motilin (working hostname, Unused)

Other Client Devices:

Plans for a chess/taikyoku shogi/what have you engine 2025-02-18
1
2
3
4
5
6
7
  board: Array,
  currentPlayer: 'white' | 'black',
  moveHistory: Array,
  enPassantTarget: {x, y} | null,  // Updates each turn
  halfMoveClock: number,  // For 50-move rule
  capturedPieces: Array
}

3. Move Validation System

Separate move generation into layers:

Layer 1: Basic Move Patterns

getPseudoLegalMoves(piece, position)
  - Returns all squares the piece could move to
  - Ignores check/pin considerations
  - Each piece type has its own logic

Layer 2: Board-Aware Filtering

getLegalMoves(piece, position, gameState)
  - Filters pseudoLegal moves
  - Checks if king would be in check after move
  - Handles special moves (castling, en passant)

Handling Special Cases

En Passant

Some notes on the PKPass format 2025-02-16

https://file-extensions.com/docs/pkpasss https://developer.apple.com/documentation/walletpasses

A Hex encoding for Toki Pona 2025-02-13
a A
e E/*
i 1
o 0
u 5
n 7
j 3
k 9
l 6
m 4
p B
s C
t D
w 2
F/#

D091 41 3A7 416A

Ports over to DTMF as well

Miraidon (Airplay Server) 2025-01-21

Reference Impls

= wlp0s20f3 IPv6 4431B2384B11@Akristip-l-PF4BWXDJ              AirTunes Remote Audio local
   hostname = [akristip-l-PF4BWXDJ.local]
   address = [fd71:e5f3:3440:f95e:dbf9:f904:c567:1ab9]
   port = [5000]
   txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
=     lo IPv4 4431B2384B11@Akristip-l-PF4BWXDJ              AirTunes Remote Audio local
   hostname = [akristip-l-PF4BWXDJ.local]
   address = [127.0.0.1]
   port = [5000]
   txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= wlp0s20f3 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ              AirTunes Remote Audio local
   hostname = [akristip-l-PF4BWXDJ.local]
   address = [192.168.1.212]
   port = [5000]
   txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= virbr0 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ              AirTunes Remote Audio local
   hostname = [akristip-l-PF4BWXDJ.local]
   address = [192.168.122.1]
   port = [5000]
   txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
= docker0 IPv4 4431B2384B11@Akristip-l-PF4BWXDJ              AirTunes Remote Audio local
   hostname = [akristip-l-PF4BWXDJ.local]
   address = [172.17.0.1]
   port = [5000]
   txt = ["pw=false" "txtvers=1" "ch=2" "cn=0,1" "ek=1" "et=0,1" "sv=false" "da=true" "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
^CGot SIGINT, quitting.
1
2
3
4
["pw=false",
 "txtvers=1",
  "ch=2",
   "cn=0,1", "ek=1" "et=0,1" "sv=false" "da=true"  "sr=44100" "ss=16" "md=0,1,2" "vn=65537" "tp=TCP,UDP" "vs=105.1" "am=ShairportSync" "fv=4.3.4" "sf=0x4"]
My notes from trying to build a Poketch 2025-01-21

Hardware

  • Display Resolution: 192x160

    • potentially just upscaled from 96x80
    • at 3x scaling that’s 576x480, 32px pillarboxes if 640x480
    • 384x320
  • how small can the screen physically be?

    • android guidelines say 48dp @ 160dpi or 0.3"
      • android guidelines also say 48dp is about 9mm so who the fuck knows anymore
    • apple says 44pt or 44/72" or 0.61"
      • 44pt is 44px, 88px, 132px depending on device
      • 132px on iPhone X @ 448(?)dpi so ~ 0.294"
    • 192x160 is 1.2"x1"
    • 640x480 is 4"x5" for a 6.4" diagonal
    • 28.8" x 24" needed to meet android accessibility guidelines jfc
    • tl;dr: Apple and Google seem to want about 0.3"per target
    • NDS screen size is 106.666 dpi
      • poketch would be 1.8x1.5"
      • 640x480 would be 2x1.5" or 2.5" diagonal
    • https://www.adafruit.com/product/2478 should do the trick
      • 320x240 2.4"
      • we use 288x240 (1.5x)
  • 2 Bit grayscale

plan9 FS investigations 2025-01-21

Digested from:

9p2000 Opcodes

All messages take a tag parameter used to multiplex connections

Session

  • version
    • parameter negotiations
  • auth
    • T
      • afid: auth handle??
      • uname
        • username
      • aname: mount name (root if blank)
  • attach
    • establish connection to server
    • T
      • fid is file handle, chosen by client?
      • afid is an ‘auth handle’
        • -1 for no auth
      • uname
      • aname
    • R:
  • flush
    • abort request
  • error

File

  • walk
    • lookup pathname
  • open
  • create
  • read
  • write
  • clunk
    • release a file?

Metadata

  • stat
    • read metadata attrs
  • wstat
    • write metadata attrs
  • Requests are T-messages
  • responses are R-messages
vim 2025-01-21
  • Sort selected lines: :sort
  • Open man page: :man [command] or \K
  • Open URL: gx
  • Move between splits: ctrl+w [direction]
  • vim-commentary: gc [motion] to comment out
  • Case switching:
    • gU to uppercase
    • gu to lowercase -g~ to toggle
  • Substitute:
    • /g global - sub all in line
    • :%s/ - substitute in all lines
    • :5,12s/ substitute from lines 5 to 12
    • :.,+2s/ substitute this line (.) and the next 2
    • :g/^foo/s/bar/baz/g substitute all instances of bar with baz on lines beginning with foo
    • /c - ask for confirmation
  • Windows
    • :sp [filename] horizontal split, optionally open file
    • vsp vertical split
    • ctrl+w w move between windows
    • ctrl+w = resize windows to be equal
    • ctrl+w q close window
    • ctrl+w <direction> move window
Disorganized Notes 1970-01-01

NixOS/Nix

  • Show channels: sudo nix-channel --list
  • add unstable channel: sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable
  • update repos: sudo nix-channel --update; sudo nix search -u

SSH

  • Set up port forwarding in existing connection:
1
2
3
4
5
$ ~C
ssh> -D [port number]
[Enter]
[Enter]
$

Shell

  • !!:s/foo/bar/, replace first instance of foo with bar in the previous command
  • ^foo^bar same thing but shorter and less flexible
  • !foo rerun last command containing foo

Keepalived

  • don’t ever use use_vmac, it’s fucky

Toki Pona Prop 65 Warning

  • ⚠️ toki pi (ike ken)! ni li ken pana e ijo Esutolosen tawa sina. ma Kaliponja li sona e ni: ijo Esutolosen li ken pakala e jan. o sona mute: http://www.P65Warnings.ca.gov.
  • ⚠️"O’ L n K! \|/ > K “n’» O Esutolosen A_b. (+) Kaliponja > “[]’ > \|/: O Esutolosen > K \[Z\] » ,O,. `o “[]’ |||: http://www.P65Warnings.ca.gov.
  • ⚠️󱥬󱥍󱦗󱤍󱤘󱦘! 󱥁󱤧󱥌󱤉󱤌󱦐󱤉󱥦󱥬󱤫󱥚󱦆󱦑󱥩󱦗󱥞󱦘. 󱤰󱦐󱤗󱤪󱥔󱦆󱤑󱦑󱤧󱥡󱤉󿬂: 󱤌󱦐󱤉󱥦󱥬󱤫󱥚󱦆󱦑󱤧󱤘󱥈󱤉󱤑.󱥄󱥡󱤼: http://www.P65Warnings.ca.gov.
  • ⚠️ tk P iG g! N l g bn e iJ ezt~[ Tw sn. M Kl=Y l Sn e N: iJ ezt~[ l g bKL e j. o Sn uE: http://www.P65Warnings.ca.gov.
Idea: turn a TI-84/ Gameboy/DS into a meshtastic client 0001-01-01

communication between a client and meshtastic device over serial

Next Step: figure out how tf to get serial I/O on interesting devices

  • TI-84: seems to not be viable? MirageOS has functions for using the TI protocol to send bytes but we’d need an intermediary to turn that into the meshtastic serial protocol
Modern Unix Tools 0001-01-01
  • bat
    • tail -f | bat --paging=never -l log
  • gdu
  • neovim
  • fd
  • lazygit
  • lsd
  • nix
    • okay I’m sure people are gonna roast me for this one but, as someone who uses Alma 8 and Ubuntu LTS at work, so using nix-env as a package manager is a lifesaver
  • zoxide
  • yazi
  • xonsh / nushell
  • viddy
  • uv
  • thefuck
  • zellij
  • ouch
  • sheldon
  • ruff
  • ripgrep
  • ugrep
  • meld
  • uutils hashing
  • uutils cp/mv
  • difft
  • just
  • jj
  • mirafetch hyfetch
  • hyperfine
  • gum
  • fzf
  • age
  • tokei
  • glow
  • duf
  • nala
  • cliphist
  • chezmoi
  • btdu
PostMarketOS for iPad Air 2 (iPad-5,3) 0001-01-01

Existing Work:

https://github.com/SoMainline/linux-apple-resources/blob/master/HOWTO.md PongoOS:Seems to be a minimal boot environment for checkra1n boards https://github.com/konradybcio/linux-apple: Kernel fork for iOS devices?

PongoOS build errors

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
src/kernel/mm.c:378:14: error: variable 'vm_index_start' set but not used [-Werror,-Wunused-but-set-variable]
  378 |     uint32_t vm_index_start = 0;
      |              ^
src/kernel/mm.c:938:10: error: variable 'is_tt1' set but not used [-Werror,-Wunused-but-set-variable]
  938 |     bool is_tt1 = false;
      |          ^
2 errors generated.
src/kernel/task.c:294:5: error: call to undeclared function 'va_start'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  294 |     va_start(va, reason);
      |     ^
src/kernel/task.c:296:5: error: call to undeclared function 'va_end'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  296 |     va_end(va);
      |     ^
src/kernel/task.c:300:5: error: call to undeclared function 'va_start'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  300 |     va_start(va, reason);
      |     ^
src/kernel/task.c:302:5: error: call to undeclared function 'va_end'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  302 |     va_end(va);
      |     ^
4 errors generated.
src/drivers/sep/sep.c:913:6: error: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C23, conflicting with a subsequent definition [-Werror,-Wdeprecated-non-prototype]
  913 | void sep_help();
      |      ^
src/drivers/sep/sep.c:1145:6: note: conflicting prototype is here
 1145 | void sep_help(const char* cmd, char* args) {
      |      ^
1 error generated.
make: *** [Makefile:99: build/Pongo] Error 1

Code fixes: