press any key to skip

Nav

1
2
3
4
5
6
7

Jump

Select

~

Prompt

M

Theme

adam@looney:~$ whoami

looney.eu

INFRASTRUCTURE / AUTOMATION / DEVELOPMENT

adam@looney:~$ cat tagline.txt

Fixing things that don't need fixing and breaking things that didn't need breaking.

I script workflows, deploy infrastructure, preach vim over nano, get unreasonably excited about open source tools and appreciate topping all that off with well-spent game time among friends.

adam@looney:~$ ls sections/
adam@looney:~$

Use keyboard to navigate → · press ~ for the prompt, try "help"

adam@looney:~$ ls ~/contact/

GET IN TOUCH

email [email protected] Get in touch via email
linkedin linkedin.com/in/a-loon Connect on LinkedIn
github github.com/NocFA Check out my projects on GitHub
codeberg codeberg.org/noc Check out my projects on Codeberg
forgejo git.nocfa.net/NocFA Browse my self-hosted Forgejo instance
last.fm last.fm/user/alooneylad See what I'm listening to
adam@looney:~$ neofetch

INFO

──────────────
location Ireland sector IT focus L3 support, system administration (mostly Linux-based), networking, automation, scripting, frontend development interests gaming, music, automation, hardware os Windows, Linux & macOS editor vim (headless unix systems) · jetbrains fleet & phpstorm
Tech done to a looney's standard — still figuring out exactly what that means. Keeping things running, or perish trying.
adam@looney:~$ now-playing --user alooneylad
now playing
adam@looney:~$ watch -n0.5 homelab-status

Infrastructure

connecting...
adam@looney:~$ ls ~/projects/

Projects

MDSF Crew pre-launch

Crew-for-hire platform for Star Citizen. Recruiters post operations and assemble crews. Crew members list availability and build reputation through review-based rankings. Organisations manage squads, ranks, and fleets -- all tied to RSI-verified identities.

MDSF Crew landing page
frontend SvelteKit 2Svelte 5GSAP
backend Fastify 5TypeScriptNode.js 22
data PostgreSQL 16Drizzle ORMRedisPgBouncer
infra Cloudflare TunnelStreaming ReplicationDocker
auth Argon2idTOTP 2FADiscord OAuth2CSRF
payments StripeMulti-currencyWebhooks
integrations Discord BotBrevo SMTPRSI Scraping

features

Operations board with role-based crew assembly, squad management, and ship assignment
Review system with per-role experience tiers (Rookie through Elite)
Organisation system with RSI verification, persistent squads, ranks, alliances
Ship library (247 ships) with fleet management and org fleet pooling
Real-time notifications via WebSocket, Discord bot with slash commands
Subscription tiers, donation system with Hall of Fame, multi-currency pricing
Admin panel with moderation, audit logs, policy management, automated backups
Support ticket system, GDPR data export, account deletion
foo_gifart open source

A foobar2000 component that renders animated GIF files as album art. Drop it in, point the artwork panel at a .gif, and your covers come alive — static art is so last decade.

GIF
Track Title
Artist Name
language C++
platform foobar2000Windows
sdk foobar2000 SDKWIC
gindexer open source

C++ library that indexes a local music collection and resolves cover art by track metadata. Scans directories on startup, watches for changes, and returns matching cover art fast enough for real-time use in discord-music-presence.

language C++17
storage In-memoryLMDB
libraries TagLibefswlmdbxx
Segments open source

Single-binary task and project manager built as a faster replacement for Beads. It combines an LMDB-backed CLI, live web UI, and MCP tools for agent-friendly planning across projects.

Segments task list interface
language Go
storage LMDBJSONL export
surfaces CLIWeb UIMCP
shellwhy open source

CLI that answers "why is my shell doing this?" — inspects a shell session, applies per-shell startup-file rules, safely parses source statements, detects tooling hooks (starship, direnv, nvm, ...), and labels every file with a confidence level instead of pretending static analysis can prove runtime behavior.

shellwhy icon — a terminal with a question mark
language Rust
shells bashzshfishsh/dashkshtcshnu
output humanplainJSONstrace trace mode
noc-homelab open source

Five service hosts spanning macOS and Linux, connected over Tailscale, with a Windows gaming and generation machine alongside them and shared Kopia storage on noc-wardrobe. Runs media, communications, game servers, a knowledge archive, local models, and monitoring.

noc-homelab dashboard
infra TailscaleDockersystemdlaunchd
services Matrix/SynapseEmbyNextcloudGatus
language PythonBash
adam@looney:~$ tree ~/wiki/

WIKI

wiki / shellwhy / overviewedited 2026-07-19
shellwhy

shellwhy answers a practical dotfiles question: “why is my shell doing this?” It inspects the current or requested shell mode, applies startup-file rules, safely parses obvious source statements, detects common shell tooling hooks, and reports what is inferred, possible, missing, skipped, or observed. Written in Rust; MIT/Apache-2.0 dual-licensed.

There was no standardised way to check how a shell is configured and which files are affecting the running process — this is that tool.

Features

  • Static startup-file rules for bash, zsh, and fish, with conservative fallbacks for sh/dash, ksh/mksh, tcsh/csh, and nu
  • Safe static parsing for obvious source file and . file statements — no shell code is executed
  • Detection for common tooling hooks: starship, oh-my-zsh, zinit, direnv, asdf, pyenv, nvm, fnm, fisher, tide
  • Human-readable, plain, and JSON output
  • Linux trace mode using strace to observe what actually loads

Usage

shellwhy                                   # infer and explain the current shell
shellwhy --shell bash                      # explain bash startup for this user
shellwhy --shell zsh --login --interactive # a specific mode
shellwhy --shell bash --json               # machine-readable
shellwhy trace --shell fish                # observe via strace (Linux)
shellwhy explain                           # why shell-startup certainty is hard

Install

cargo install --path .        # from a checkout

Every reported file carries a confidence label rather than a pretence of certainty — the confidence model is the core design idea.