Trash empty.
- Domain
- Album Promo Design
- Medium
- Print / Digital
I buy a lot of cd's based on their concept, intent, visual presentation, or when deemed unclassifiable. This Charles Curtis concept was one of those albums.
The album is made of 4 tracks, each track can be played alone, or in combination with others from two to all 4 played simultaneously, ideally on 4 seperate soundsystems so you can get lost in the vibratous middle.
The design concept was obvious, create four points of emination and have them intersect. Sound waves colliding, and creating new textures in their various points of interaction.
- Domain
- Album Packaging
- Medium
- Print / Digital
Illustrating the visual feeling of an album when there is a lot of inherent and unique texture is a real gift. This I wanted there to be some focal element that would almost feel as if it was morphing or moving when it is simply printed on the cover.
Looping the forms into an escher style illustration created a feeling of cyclical habit that I liked for this package.
The record was a limited release 12" vinyl, I am not sure it ever came out in CD.
- Medium
- Web App
- Stack
- HTML / CSS / JS / Claude Code
A few years ago, a friend asked me to rethink the recipe format for his startup. Ads aside, the problem was clear: cooking online means constantly scrolling through clutter to find what you need; and once you're in the procedure, quantities have vanished back up into the ingredient list.
My solution combines everything. Serving size adjusts all quantities dynamically. The shopping list and mise en place double as checklists. And the procedure itself weaves quantities into the narrative; so if you haven't pre-portioned everything (I never do), you're not hunting back up the page.
Recipe ingestion and parsing is handled by the Claude API, which accepts either a URL or raw text and structures it into the format. The design is mine; the build was vibe-coded with Claude Code.
Building a DIY Robust NAS Using Old Towers and a Mac Pro
Instead of buying a proprietary NAS appliance like Synology or QNAP, you can use a repurposed tower case as a dumb drive enclosure connected via a SAS HBA card to a powerful host machine running TrueNAS Scale. The host machine handles all compute, ZFS, and networking. The tower is just a powered metal box with drives and fans.
The Host Machine — Mac Pro 2012
The 2012 Mac Pro (dual Xeon, 64GB RAM) is an ideal TrueNAS host. The 64GB RAM gives ZFS a large ARC cache so frequently accessed data is served directly from RAM. A Samsung 850 EVO SSD handles the TrueNAS boot drive, kept separate from storage pools. After removing an unused USB 3.0 expansion card, PCIe slot 2 is free for the HBA. Native gigabit ethernet gets upgraded to 2.5GbE via an Intel I225 PCIe card. TrueNAS Scale installs bare metal — free, ZFS native, full web UI, and built-in remote access tools.
The Drive Enclosure — Repurposed Tower Case
A Corsair 500R picked up at a PC recycler (RE-PC, Seattle) for $60 serves as the drive enclosure. It has 6 native 3.5" drive bays plus 4 x 5.25" optical bays, which convert to 3.5" drive bays via 3D printed adapters — printed free on a Bambu printer using files from Makerworld. That gives 10 total drive capacity. The case came with 10 fans pre-installed. No motherboard is needed — the PSU is jumped permanently using a paperclip bridging pin 16 (PS_ON) to any ground pin on the 24-pin ATX connector. Fans are powered via existing Molex bridge cables already in the case.
The Connection — LSI 9300-16i HBA
The LSI 9300-16i is a PCIe 3.0, 16-port, 12Gb/s SAS/SATA host bus adapter running in IT mode — meaning drives pass directly through to TrueNAS with no hardware RAID layer in between. ZFS sees individual drives, which is essential. Four SFF-8643 to 4x SATA breakout cables run from the HBA in the Mac Pro to the drives in the tower. The card handles both SAS and SATA drives natively, and 16 ports covers the current build plus a future second enclosure for expansion.
ZFS Pool Architecture
RAIDZ2 provides 2-drive fault tolerance, equivalent to RAID6. One important ZFS constraint: the pool is fixed at creation — you cannot add single drives to expand an existing vdev. Expansion happens by adding entirely new vdevs that join the existing pool. Multiple separate pools are preferable to one large pool for failure isolation — a drive failure in one pool has zero effect on others. ZFS checksums every block on every read, detecting and healing silent bit rot automatically. With 64GB RAM, hot data is served at RAM speed from the ARC cache. Get your drive count right before building — vdev size is permanent.
Drive Strategy
Enterprise SAS drives from data center decommissions cost significantly less than consumer NAS drives because they carry no Synology compatibility premium. Seagate Exos and HGST Ultrastar pulls offer enterprise duty cycles at lower prices. SMART check every drive before committing to a pool — the critical attributes are IDs 5 (reallocated sectors), 187 (uncorrectable errors), 197 (pending sectors), and 198 (offline uncorrectable). Synology DSM can SMART scan drives installed in bays without adding them to a volume, making it a convenient triage tool. Keep drive sizes uniform within a vdev, but mix vdev sizes freely across pools. Buy extra identical model drives as cold spares while the price and availability hold.
Network — 2.5GbE Local
A NETGEAR MS308 8-port 2.5GbE switch replaces the aging Airport Extreme. An Intel I225-V PCIe card upgrades the Mac Pro's built-in gigabit to 2.5GbE. A Cable Matters USB-C to 2.5GbE adapter connects the M3 MacBook Pro. At 2.5GbE, local transfers run at ~300MB/s versus gigabit's 125MB/s — a meaningful improvement for large Capture One catalog work. Existing Cat5e/6 cabling supports 2.5GbE so no rewiring is needed.
Remote Access — Tailscale
Tailscale is a free WireGuard-based VPN. Install it on TrueNAS and the Synology backup unit. Both appear on the same private network regardless of physical location, with no port forwarding required. A nightly rsync job from TrueNAS to the offsite Synology runs automatically over the Tailscale tunnel, encrypted and zero-config.
Backup Architecture
The Freedom Unit is the Mac Pro running TrueNAS with the Corsair 500R drive enclosure — the primary photo archive. The Primary Unit is the original DS1513+ with DX513 expansion, loaded with 7x 6TB WD Red drives, acting as the nightly rsync backup target. Eventually, the Primary Unit moves offsite to a different city for genuine disaster recovery. Initial sync happens locally over the fast local network, then the unit ships to its remote location. After that, only daily changes sync — minimal bandwidth. A critical reminder: RAID is not a backup. The offsite Synology is the actual backup.
Key Lessons
The decade of Synology drive failures wasn't primarily a hardware problem — it was an environment problem. Stacked units in a hot room with poor airflow created correlated drive failures over years. Separating units side by side, lowering their placement, and improving airflow makes a dramatic difference. PC recyclers like RE-PC in Seattle are excellent sources for cases, PSUs, and fans at a fraction of new cost. Enterprise SAS drives from data center decommissions are better and cheaper than retail NAS drives. A Bambu 3D printer can produce drive bay adapters for free. And while Synology's SHR is proprietary in name, it's built on standard Linux MD RAID — data is recoverable on any Linux system with all drives present, using mdadm to reassemble the array.