Joshua García Nieves
Computer Engineering · Puerto Rico

Joshua
García Nieves

I run my home's infrastructure like production, rebuild machines from the firmware up, and write down what broke - including when it was me.


01 - The work

Three projects, one way of working

Each section below is a real system I built or maintain, written up the way I would hand it to a teammate: what the problem was, what I measured, what I ruled out, and what is still open. Every number on these pages came from the machine, not from memory.


02 - Method

How I work

I measure before I act

Every case on this site started with a measurement, not a configuration change. Several of them ended up proving me wrong, and that is a result too.

I decompose before I replace

A summary number hides its parts. Splitting defects by hours, or a bed error into tilt and residual, turned an expensive purchase into a free adjustment more than once.

I verify state, not responses

An "ok" means a message was accepted. A kill switch is only tested by taking the tunnel down; a saved setting is only real once I read it back.

I use identifiers that don't move

Disks by world-wide name and serial, firmware by the build timestamp the machine reports. A name that changes between reboots identifies nothing.

I separate failure domains

Routing, compute and storage live on different hardware on purpose. It is the principle that has most often kept one problem from becoming two.

I write my mistakes down with names

Wrong hypotheses stay in the documentation next to the data that killed them. Those are the entries I actually re-read.

I reason through physical analogies

A shared trunk is a hydraulic bottleneck, RAID parity is spare thread on a bolt, a warped plate is not fixed by shimming. The analogy is how I decide between an adjustment and a replacement.

I rank open work by the cost of failure

Each project ends with what is still open, ordered by what it costs if it fails - not by how easy it is to close.


03 - Technologies

Stack

Virtualization & storage
Proxmox VEKVM / QEMULXCPCIe passthroughZFSTrueNAS SCALENFSSMART / smartd
Networking
802.1Q VLANOPNsenseRouterOSPolicy-based routingNAT · firewallWireGuardTailscaleDHCP · DNS
Services & observability
Docker ComposeImmichJellyfinFrigateOllamaNetdataUptime KumaNUT (UPS)
Firmware & electronics
Marlin 2.1.4PlatformIOSTM32 (Cortex-M3)G-codeBLTouchUART over USBSoldering · continuity testing
Analysis & design
Least-squares plane fittingResidual analysisSHA-256 verificationFusion 360OrcaSlicer
Systems & tools
Linux (Debian · Arch)BashsystemdSSHGitJekyllPython (learning)

04 - Contact

Get in touch

I'm looking for a summer internship or co-op in IT infrastructure, networking or systems while I finish my degree. The resume below leaves out my phone number; the full version, and detailed operational documentation for any of these systems, are available on request.

imjoshuagarcia1212@gmail.com