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.
A few years ago a soon to be Tea Shop asked me to do their logo, labels, business cards etc. The name of the tea shop would be Bardo.
Bardo in Tibetan Buddhism refers to the gap between lives, the time after death and before rebirth. Going one step further, including the concept of the Tibetan Wheel of Life it seemed quite clear that the label should be a circle. To simplify a life cycle to a clock face, I decided it was most appropriate to have the period of Bardo to begin at midnight, and to end somewhere before dawn. This helped to inform that the name Bardo would follow the wheel, and occupy that liminal space between the end of one day and the dawn of the next.
I worked at The New York Times Magazine and T: The New York Times Style magazine for 2 years as a freelance designer. During that time I was able to work on a ton of feature stores, several covers, and many special issues. The special issues were always exciting as it was a time to create a new world within the magazine.
The image above is a cover I did for a story on International Supreme Court Rulings, We had an illustration option that was not working out so on the day we had to send this to press I was asked to create a new option. I had the idea of making the globe out of tiles of colors, and then I went to the copy dept and had them get me a list of relevant words and phrases to the story that I could populate into some of the tiles.
One day my friend Andy said he had a problem, He had been obsessively collecting hot sauce bottles for decades, he had a girlfriend now and they were moving around quite frequently, he needed to docuemnt his collection before getting rid of the physical bottles.
I sent him a link to a small usb-powered product photo booth and a basic tripod for his iphone. I told him to photograph every bottle head-on and send me all of the photos.
My goal in this exercise was to avoid spending hours processing hundreds of images and laying them out in InDesign, my goal was to automate as much of this book as possible.
I setup an action in Photoshop to key out all the bottles and made a black background and white background option, then I designed the shell of the book in master pages with pagination and other elements, then using a script I had InDesign populate the document, placing one image per page into the book, and I designed the front and end matter. Midjourney had just been released a few weeks prior so the illustrations are very very early AI illustrations that worked out well enough to utilize.
The Book wound up being 345 pages, we printed it via lulu.com and a copy goes for about $130.
- 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.