~/personal-site/home

Hello there!

I am an engineer and physicist turned blockchain architect. I approach capital markets with a systems-view mindset: to build effective technology, you must first master the environment it operates in.

Currently, I lead digital asset product development at Nasdaq. Driven by a desire to understand the 'full stack' of our financial reality, my focus extends beyond the technology itself to the market structures it serves. By deconstructing the complex machinery of global finance, I apply my understanding of blockchain protocols to the areas where they offer genuine institutional value.

Recently Read

Read

There Is No Antimemetics Division

There Is No Antimemetics Division

qntm
β˜…β˜…β˜…β˜…β˜…
Exit Strategy (The Murderbot Diaries, #4)

Exit Strategy (The Murderbot Diaries, #4)

Martha Wells
β˜…β˜…β˜…β˜…β˜†
The Physics of Wall Street: A Brief History of Predicting the Unpredictable

The Physics of Wall Street: A Brief History of Predicting the Unpredictable

James Owen Weatherall
β˜†β˜†β˜†β˜†β˜†
Rogue Protocol (The Murderbot Diaries, #3)

Rogue Protocol (The Murderbot Diaries, #3)

Martha Wells
β˜…β˜…β˜†β˜†β˜†
Oil Powers: A History of the U.S.-Saudi Alliance

Oil Powers: A History of the U.S.-Saudi Alliance

Victor McFarland
β˜†β˜†β˜†β˜†β˜†
Gideon the Ninth (The Locked Tomb, #1)

Gideon the Ninth (The Locked Tomb, #1)

Tamsyn Muir
β˜…β˜…β˜…β˜…β˜†
Artificial Condition (The Murderbot Diaries, #2)

Artificial Condition (The Murderbot Diaries, #2)

Martha Wells
β˜…β˜…β˜…β˜†β˜†
Memory's Legion: The Complete Expanse Story Collection

Memory's Legion: The Complete Expanse Story Collection

James S.A. Corey
β˜…β˜…β˜…β˜†β˜†
The Way of Kings (The Stormlight Archive, #1)

The Way of Kings (The Stormlight Archive, #1)

Brandon Sanderson
β˜…β˜…β˜…β˜…β˜…
Self-Reliance & Other Essays

Self-Reliance & Other Essays

Ralph Waldo Emerson
β˜…β˜…β˜…β˜…β˜…
The Traitor Baru Cormorant (The Masquerade, #1)

The Traitor Baru Cormorant (The Masquerade, #1)

Seth Dickinson
β˜…β˜…β˜†β˜†β˜†
4000 Weeks

4000 Weeks

Robert Bosman
β˜†β˜†β˜†β˜†β˜†
Flash Boys: A Wall Street Revolt

Flash Boys: A Wall Street Revolt

Michael Lewis
β˜…β˜…β˜…β˜…β˜…
Ancillary Justice (Imperial Radch, #1)

Ancillary Justice (Imperial Radch, #1)

Ann Leckie
β˜†β˜†β˜†β˜†β˜†
All Systems Red (The Murderbot Diaries, #1)

All Systems Red (The Murderbot Diaries, #1)

Martha Wells
β˜…β˜…β˜…β˜…β˜†
Of Blood and Honor

Of Blood and Honor

Chris Metzen
β˜†β˜†β˜†β˜†β˜†
A Desolation Called Peace (Teixcalaan, #2)

A Desolation Called Peace (Teixcalaan, #2)

Arkady Martine
β˜…β˜…β˜…β˜…β˜†
A Memory Called Empire (Teixcalaan, #1)

A Memory Called Empire (Teixcalaan, #1)

Arkady Martine
β˜…β˜…β˜…β˜…β˜†
This Is How You Lose the Time War

This Is How You Lose the Time War

Amal El-Mohtar
β˜…β˜…β˜…β˜…β˜†
The New Lombard Street: How the Fed Became the Dealer of Last Resort

The New Lombard Street: How the Fed Became the Dealer of Last Resort

Perry G. Mehrling
β˜…β˜…β˜…β˜…β˜†
Four Thousand Weeks: Time Management for Mortals

Four Thousand Weeks: Time Management for Mortals

Oliver Burkeman
β˜…β˜…β˜…β˜…β˜…
The Sundering (WarCraft: War of the Ancients, #3)

The Sundering (WarCraft: War of the Ancients, #3)

Richard A. Knaak
β˜…β˜…β˜…β˜…β˜†
The Demon Soul (WarCraft: War of the Ancients, #2)

The Demon Soul (WarCraft: War of the Ancients, #2)

Richard A. Knaak
β˜†β˜†β˜†β˜†β˜†
Age of Ash (Kithamar #1)

Age of Ash (Kithamar #1)

Daniel Abraham
β˜…β˜…β˜…β˜†β˜†
Thinking in Systems: A Primer

Thinking in Systems: A Primer

Donella H. Meadows
β˜…β˜…β˜…β˜…β˜†
Genghis Khan and the Making of the Modern World

Genghis Khan and the Making of the Modern World

Jack Weatherford
β˜…β˜…β˜…β˜…β˜…
Leviathan Falls (The Expanse #9)

Leviathan Falls (The Expanse #9)

James S.A. Corey
β˜…β˜…β˜…β˜…β˜…
Salt: A World History

Salt: A World History

Mark Kurlansky
β˜…β˜…β˜…β˜…β˜…
Daemon (Daemon, #1)

Daemon (Daemon, #1)

Leinad Zeraus
β˜…β˜…β˜…β˜†β˜†
Tiamat's Wrath (The Expanse, #8)

Tiamat's Wrath (The Expanse, #8)

James S.A. Corey
β˜…β˜…β˜…β˜…β˜†
Persepolis Rising (The Expanse, #7)

Persepolis Rising (The Expanse, #7)

James S.A. Corey
β˜…β˜…β˜…β˜…β˜†
Babylon's Ashes (Expanse, #6)

Babylon's Ashes (Expanse, #6)

James S.A. Corey
β˜†β˜†β˜†β˜†β˜†
Essentialism: The Disciplined Pursuit of Less

Essentialism: The Disciplined Pursuit of Less

Greg McKeown
β˜…β˜…β˜…β˜…β˜†
The Information: A History, a Theory, a Flood

The Information: A History, a Theory, a Flood

James Gleick
β˜…β˜…β˜…β˜…β˜…
Nemesis Games (The Expanse, #5)

Nemesis Games (The Expanse, #5)

James S.A. Corey
β˜†β˜†β˜†β˜†β˜†
Astrophysics for People in a Hurry

Astrophysics for People in a Hurry

Neil deGrasse Tyson
β˜†β˜†β˜†β˜†β˜†
Exhalation

Exhalation

Ted Chiang
β˜…β˜…β˜…β˜…β˜†
Cibola Burn (Expanse, #4)

Cibola Burn (Expanse, #4)

James S.A. Corey
β˜…β˜…β˜…β˜†β˜†
Abaddon's Gate (Expanse, #3)

Abaddon's Gate (Expanse, #3)

James S.A. Corey
β˜…β˜…β˜…β˜…β˜…
Caliban's War (Expanse, #2)

Caliban's War (Expanse, #2)

James S.A. Corey
β˜…β˜…β˜…β˜…β˜…
Leviathan Wakes (The Expanse, #1)

Leviathan Wakes (The Expanse, #1)

James S.A. Corey
β˜†β˜†β˜†β˜†β˜†
The Millionaire Next Door (Millionaire Set Book 2)

The Millionaire Next Door (Millionaire Set Book 2)

Thomas J. Stanley
β˜…β˜…β˜…β˜†β˜†
The Stone Sky (The Broken Earth, #3)

The Stone Sky (The Broken Earth, #3)

N.K. Jemisin
β˜…β˜…β˜†β˜†β˜†
The Obelisk Gate (The Broken Earth, #2)

The Obelisk Gate (The Broken Earth, #2)

N.K. Jemisin
β˜…β˜…β˜…β˜†β˜†
Sapiens: A Brief History of Humankind

Sapiens: A Brief History of Humankind

Yuval Noah Harari
β˜…β˜…β˜…β˜…β˜…
The Fate of Food: What We'll Eat in a Bigger, Hotter, Smarter World

The Fate of Food: What We'll Eat in a Bigger, Hotter, Smarter World

Amanda Little
β˜…β˜…β˜…β˜…β˜†
Liar's Poker

Liar's Poker

Michael Lewis
β˜…β˜…β˜…β˜…β˜†
The Fifth Season (The Broken Earth, #1)

The Fifth Season (The Broken Earth, #1)

N.K. Jemisin
β˜†β˜†β˜†β˜†β˜†
Exploring Technology and Social Space (New Media Cultures)

Exploring Technology and Social Space (New Media Cultures)

J. Macgregor Wise
β˜†β˜†β˜†β˜†β˜†
We Have No Idea: A Guide to the Unknown Universe

We Have No Idea: A Guide to the Unknown Universe

Jorge Cham
β˜…β˜…β˜…β˜…β˜†
Morning Star (Red Rising, #3)

Morning Star (Red Rising, #3)

Pierce Brown
β˜…β˜…β˜…β˜…β˜…
Introduction to Electrodynamics

Introduction to Electrodynamics

David J. Griffiths
β˜†β˜†β˜†β˜†β˜†
Golden Son (Red Rising Saga, #2)

Golden Son (Red Rising Saga, #2)

Pierce Brown
β˜†β˜†β˜†β˜†β˜†
Red Rising (Red Rising Saga, #1)

Red Rising (Red Rising Saga, #1)

Pierce Brown
β˜†β˜†β˜†β˜†β˜†
Classical Mechanics

Classical Mechanics

John R. Taylor
β˜†β˜†β˜†β˜†β˜†
Hamlet (Shakespeare Library Classic)

Hamlet (Shakespeare Library Classic)

William Shakespeare
β˜…β˜…β˜…β˜…β˜†
War and Peace

War and Peace

Leo Tolstoy
β˜…β˜…β˜…β˜…β˜†
Experiments in Electric Circuits

Experiments in Electric Circuits

Thomas Floyd
β˜…β˜…β˜…β˜…β˜…
Engineering Economic Analysis

Engineering Economic Analysis

Donald G. Newnan
β˜†β˜†β˜†β˜†β˜†
Engineering Ethics: Concepts and Cases

Engineering Ethics: Concepts and Cases

Charles E. Harris Jr.
β˜†β˜†β˜†β˜†β˜†
The Essentials of Technical Communication

The Essentials of Technical Communication

Elizabeth Tebeaux
β˜†β˜†β˜†β˜†β˜†
El prΓ­ncipe de la niebla (Niebla, #1)

El prΓ­ncipe de la niebla (Niebla, #1)

Carlos Ruiz ZafΓ³n
β˜…β˜…β˜…β˜†β˜†
The Principia: Mathematical Principles of Natural Philosophy

The Principia: Mathematical Principles of Natural Philosophy

Isaac Newton
β˜…β˜…β˜…β˜…β˜…
Elementary Differential Equations with Boundary Value Problems

Elementary Differential Equations with Boundary Value Problems

Charles Henry Edwards
β˜…β˜…β˜…β˜…β˜†
The Backyard Astronomer's Guide

The Backyard Astronomer's Guide

Terence Dickinson
β˜…β˜…β˜…β˜…β˜†
Fiber Optic Communications

Fiber Optic Communications

Joseph C. Palais
β˜…β˜…β˜…β˜…β˜†
A Brief History of Time

A Brief History of Time

Stephen W. Hawking
β˜…β˜…β˜…β˜…β˜…
Programmable Logic Controllers

Programmable Logic Controllers

James A. Rehg
β˜…β˜…β˜…β˜…β˜†
Wireless Communications: Principles and Practice

Wireless Communications: Principles and Practice

Theodore S. Rappaport
β˜…β˜…β˜…β˜…β˜†
Hacking: The Art of Exploitation

Hacking: The Art of Exploitation

Jon Erickson
β˜…β˜…β˜…β˜…β˜†
Snow Crash

Snow Crash

Neal Stephenson
β˜…β˜…β˜…β˜†β˜†
The Well of Eternity (WarCraft: War of the Ancients, #1)

The Well of Eternity (WarCraft: War of the Ancients, #1)

Richard A. Knaak
β˜…β˜…β˜…β˜†β˜†
A Dance with Dragons (A Song of Ice and Fire, #5)

A Dance with Dragons (A Song of Ice and Fire, #5)

George R.R. Martin
β˜…β˜…β˜…β˜…β˜…
A Feast for Crows (A Song of Ice and Fire, #4)

A Feast for Crows (A Song of Ice and Fire, #4)

George R.R. Martin
β˜…β˜…β˜…β˜…β˜…
A Clash of Kings  (A Song of Ice and Fire, #2)

A Clash of Kings (A Song of Ice and Fire, #2)

George R.R. Martin
β˜…β˜…β˜…β˜…β˜…
A Storm of Swords (A Song of Ice and Fire, #3)

A Storm of Swords (A Song of Ice and Fire, #3)

George R.R. Martin
β˜…β˜…β˜…β˜…β˜…
A Game of Thrones (A Song of Ice and Fire, #1)

A Game of Thrones (A Song of Ice and Fire, #1)

George R.R. Martin
β˜…β˜…β˜…β˜…β˜…

Resume

Professional Experience

Director of Product, Nasdaq Digital Assets
March 2025 - Present

Leading Nasdaq's digital assets product strategy and development.

Senior Specialist, Site Reliability Engineer - Nasdaq
March 2023 - March 2025

Manage an AWS cloud environment participating in a multi-party computation (MPC) signing infrastructure.

Oversee and coordinate deployments to production and UAT environments utilizing CI/CD practices (GitLab).

Conduct in-depth troubleshooting by analyzing Kubernetes pods in K9s, reviewing Grafana logs.

Senior Associate, Custody Operations - Gemini
January 2020 - February 2023

Responsible for the management of all digital assets on the Gemini exchange and segregated Custody product (>$30BN in May, 2021).

Operation and management of a fleet of Hardware Security Modules (HSMs). Coordinated and participated in key cloning ceremonies for HSMs.

Education

MS, Applied Physics - New Jersey Institute of Technology
Graduated 2019

NSF Next Generation of Geospace Grant

BS, Electrical & Computer Engineering Technology - NJIT
Graduated 2017

Technical Skills

AWSKubernetesCI/CDPythonLinuxGitDockerCybersecurityBlockchain

Projects

Personal Website

The source code for this website, built with Node.js.

Token Contract Viewer

A web app for deploying simulated token contracts and interacting with their ABIs.

Homelab

hover or click a unit to inspect // tap on mobile

Donnager Dell Precision T7920
tower
 
>
Ubiquiti Dream Machine Pro Network Gateway
>
Ubiquiti 48-Port Switch Managed Switch
>
Canterbury Unraid NAS
>
CyberPower UPS + PDU Power Protection
rack
← select equipment to inspect

Configuration Guides

β–Έ Global Ad-Blocking via Unraid, Pi-hole, and Tailscale 2026-04-04
networkingdnsvpnunraid

Architecture Overview

This setup provides network-wide ad-blocking and custom DNS resolution to all roaming devices connected to a Tailscale mesh network.

The Design Choice: We use Host-Level Subnet Routing rather than a Tailscale Docker Sidecar.

Why: When assigning a Docker container a custom br0 (MACVLAN) IP on Unraid, Docker's virtual network adapter often fails to correctly route Tailscale's internal IPv6 MagicDNS traffic, causing infinite DNS loops or timeouts on Windows clients. Routing the tunnel directly through the Unraid host's native network stack bypasses this restriction entirely.

Phase 1: Unraid Host Preparation

The most critical step. By default, Unraid isolates the host server from talking to containers on custom networks. We must disable this isolation so Tailscale (running on the host) can reach the Pi-hole (running on br0).
  1. Navigate to your Unraid dashboard and go to Settings > Docker.
  2. Toggle Enable Docker to No and click Apply (you must stop the service to edit core settings).
  3. Switch the UI to Advanced View (toggle in the top right).
  4. Locate Host access to custom networks and change it to Enabled.
  5. Toggle Enable Docker back to Yes and click Apply.

Phase 2: Host-Level Tailscale Configuration

We need to configure the Unraid host's Tailscale node to advertise the subnet where the Pi-hole will live.
  1. Open the Unraid Terminal.
  2. Execute the Tailscale up command, specifically appending the --advertise-routes flag for your br0 subnet.
  3. Command: tailscale up --advertise-routes=10.0.10.2/232
  4. (Note: You can make this more permissive to include more IPs in the range using /24 if preferred, but /32 covers just the single IP). Multiple single IPs can be advertised by using --advertise-routes=10.0.10.2/32,10.0.10.3/32

Phase 3: Pi-hole Docker Deployment

Deploying the DNS server. This container remains purely local and does not spin up its own Tailscale instance.
  1. In Unraid, go to the Docker tab and add/edit the Pi-hole container.
  2. Apply the following core network configurations:
  3.   β€’ Network Type: Custom : br0
  4.   β€’ Fixed IP address: 10.0.10.2
  5.   β€’ Use Tailscale (Sidecar): OFF
  6. Ensure ports 53 (TCP/UDP) and 80 (TCP) are mapped correctly.
  7. Click Apply to build and start the container.
  8. Open the Pi-hole Web UI (http://10.0.10.2/admin). (Note: You may need to set the password by opening a console to the container and running pihole setpassword [PASSWORD]).
  9. Go to Settings > DNS.
  10. Under Interface settings, select Permit all origins. (Required because queries will be arriving from 100.x Tailscale IPs, not just the local 10.0 subnet).
  11. Ensure your Upstream DNS Servers are set strictly to public providers (e.g., Cloudflare 1.1.1.1, Google 8.8.8.8). Do not point upstream to your local router.

Phase 4: Tailscale Admin Console

Connecting the mesh network to the newly advertised route and enforcing the DNS policy.
  1. Log into the Tailscale Admin Console on the web.
  2. Approve the Route:
  3.   β€’ Go to the Machines tab and locate your Unraid server.
  4.   β€’ Click the three-dot menu and select Edit route settings.
  5.   β€’ Toggle the 10.0.10.2/32 subnet route to ON.
  6. Enforce Global DNS:
  7.   β€’ Navigate to the DNS tab.
  8.   β€’ Under Nameservers, click Add nameserver > Custom.
  9.   β€’ Enter the exact local IPv4 address of the Pi-hole: 10.0.10.2.
  10.   β€’ Toggle Override local DNS to ON.
  11.   β€’ Ensure MagicDNS is enabled.

Phase 5: Client-Side Troubleshooting (Windows)

Windows OS has an aggressive tendency to prefer local IPv6 DNS servers (provided by local Wi-Fi routers) over the Tailscale IPv4 tunnel, which can cause DNS timeouts even when the architecture is configured correctly.
  1. If a Windows machine refuses to resolve hostnames after completing Phases 1-4:
  2. Flush the OS Cache:
  3.   β€’ Open an Administrator Command Prompt and run: ipconfig /flushdns
  4.   β€’ Check the DNS server you are using by running nslookup
  5.   β€’ Run ipconfig /release and ipconfig /renew to force the OS to pick up the new DNS settings.
  6.   β€’ Restart the Tailscale client app.

Contact

Feel free to reach out through any of these platforms: