close
Skip to content
View LoganBarnett's full-sized avatar

Block or report LoganBarnett

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LoganBarnett/README.md

Image

Portland, OR Blog GitHub since 2008
Rust NixOS Emacs
Followers LinkedIn

I write tools that run local AI workloads and tools that keep a self-managed home network running — and the two concerns overlap more than you'd expect. Most of it is Rust, configured with Nix, edited in Emacs.

Local ML Infrastructure

Running inference at home across a mix of machines means dealing with routing, resource contention, and visibility. This stack handles that without reaching for any cloud services.

  • garage-queue garage-queue icon — A capability-aware work queue. Producers submit payloads; the queue routes each item to a worker that advertises the right hardware and software capabilities to handle it. The queue itself has no knowledge of any particular workload — that lives entirely in configuration. Can be configured to route Ollama inference requests to machines with sufficient VRAM and the right models loaded. This is the central dispatcher for the whole stack.

  • proc-siding proc-siding icon — Monitors GPU utilization and pauses a watched workload when it detects sustained external pressure. Keeps background inference jobs from fighting over the GPU when the machine is in active use.

  • metalps metalps iconps, but for the GPU. Shows per-process Metal utilization, VRAM footprint, and device-level statistics on macOS. The visibility layer that makes the other two possible to reason about.

Self-Managed Home Network

This is less "personal cloud" (file sync, productivity apps) and more owning and operating the full stack of a small network: identity, DNS, configuration, and automated remediation — all declarative, all reproducible.

  • dotfiles — Despite the name, this is a Nix configuration for an entire network of machines. Every host is defined as code and deployed with a custom copy-closure tool. The foundation everything else builds on.

  • nix-hapi nix-hapi icon — Declarative API management via Nix expressions. Describe the desired state of external services as pure Nix, and nix-hapi reconciles live state to match. Stateless — no state file, always diffs against what's live.

  • dns-smart-block — Network-level domain blocking informed by machine learning classification. Sits at the DNS layer so it applies to every device on the network.

  • sonify-health sonify-health icon — Turns infrastructure health into ambient sound. Each machine self-reports via percussive heartbeat boops and a continuous stress drone — a Star Trek bridge feel that encodes real meaning into peripheral awareness without requiring visual attention.

  • sytter — IFTTT for a host. Watch for a runaway process and kill it; trigger a script when a USB device is plugged in; turn off Bluetooth when the system sleeps. Any observable host event can trigger any action you configure.

Also Worth Knowing

  • monad-oxide — A Ruby port of Rust's Result and Option types. Bringing explicit error handling to a language that throws everything.

Outside of Code

Tabletop gaming (Warhammer 40K, D&D world-building), 3D printing and OpenSCAD modeling, and tinkering with Gridfinity storage systems.

Pinned Loading

  1. dotfiles dotfiles Public

    Forked from rattboi/dotfiles

    Config files I use

    Nix 7 4

  2. monad-oxide monad-oxide Public

    Ruby port of Rust's Result and Option.

    Ruby 6