About
I’m a systems administrator at Marchex by day, an adjunct instructor at WSU Tech by evening, and someone who keeps reaching for the same tool to solve both: PowerShell.
Day to day Link to heading
PowerShell is my main tool. Most of my time goes into building production automation services around the Microsoft stack — module design with proper public/private boundaries, dependency injection, structured logging with correlation IDs, Azure integrations through the Az SDK and Key Vault. I lean on PowerShell because it gives me both the shell ergonomics for ad-hoc work and a real language for shipping services that have to keep running unattended. Pester for tests, manifests with versioned deps, supply-chain-aware about what I pull in.
Teaching Link to heading
I teach Network+ as an adjunct at WSU Tech. Forcing yourself to explain how a packet actually gets from one host to another, to a room of students who haven’t built the mental model yet, is the best forcing function I’ve found for honest understanding. It also keeps me close to the next generation of folks coming into the field, which I value more than I expected to when I started.
How I think about systems Link to heading
I tend toward systems thinking — looking at the boundaries, contracts, and feedback loops between components rather than the components themselves. I’d rather have a small set of well-shaped pieces with clear interfaces than a clever monolith. I lean functional: data flowing through transformations, immutability where it doesn’t fight the platform, explicit error propagation over exceptions thrown across boundaries. Most of the time, the trouble I’ve seen comes from fuzzy contracts between subsystems, not bad algorithms.
Where I’m headed Link to heading
I’m working toward cloud security, with a particular interest in securing AI workloads and the surrounding infrastructure. Marchex sells AI products, which means I get exposure to what running this stuff in production actually looks like — the messy parts that don’t show up in conference talks. The longer arc is detection engineering and AI security in environments where the threat model is still being worked out in public.
What I’m exploring Link to heading
F# is the new exploratory interest. The pitch I keep coming back to: detection engineering wants correctness guarantees more than it wants raw performance, and most security tooling lives in single-process workloads where you don’t need distributed-framework gymnastics. Discriminated unions for typed detection rules, exhaustive pattern matching on admission decisions, total functions by default — that’s a much better fit for “did we cover every case the analyst cares about?” than dynamically-typed glue. There’s almost no F# content in the security space right now, and that gap is part of what makes it interesting.
The split I’m settling into: PowerShell for Microsoft integrations (Graph, Defender, Sentinel, Entra), F# for the correctness-critical logic underneath.
If any of this is your thing, the social links above are the best way to reach me.