• ext-whisper: PHP-Native Audio Transcription

    ext-whisper: PHP-Native Audio Transcription

    ext-whisper runs Whisper speech-to-text inside the PHP process via whisper.cpp — transcripts plus timestamped segments, no Python, no API, no audio leaving your machine.

  • ext-turbovec: A Vector Index Inside Your PHP Process

    ext-turbovec: A Vector Index Inside Your PHP Process

    ext-turbovec brings quantized vector search inside the PHP process — TurboQuant 4-bit compression, SIMD kernels, SQL-friendly ids, and filtered search that gets faster, not worse.

  • ext-infer: Local LLM Inference, Natively in PHP

    ext-infer: Local LLM Inference, Natively in PHP

    ext-infer is a PHP extension that runs GGUF models inside the PHP process — chat, completions, and embeddings with no Python sidecar and no remote API. Here’s the tour.

  • Beware

    Beware

    The other day while catching up on social media, I came across a bizarre ad on Facebook. It claimed there was a survey hosted by Dick’s Sporting Goods that would give you a fancy cooler backpack for free. Given this particular Yeti backpack usually goes for $350, I was intrigued. There’s no way this could be legitimate and, despite living in the age of AI slop ads, the ad copy didn’t immediately feel like slop. Maybe there was something here… Down the rabbit hole The very first thing I noticed when clicking through to the survey was the expiration timer.…

  • The Case for Local AI: Keep Your Data and Your Models Close

    The Case for Local AI: Keep Your Data and Your Models Close

    The default AI architecture ships your data to someone else’s computer. The case for local-first AI — governance, economics, latency — and why PHP is finally ready for it.

  • Seeing in 1,024 Dimensions: How UMAP Makes Embeddings Visible

    Seeing in 1,024 Dimensions: How UMAP Makes Embeddings Visible

    Embeddings live in a thousand dimensions; your screen has two. How UMAP flattens embedding space into a readable map — what it preserves, what it distorts, and how to read it honestly.

  • From Keywords to Concepts: Semantic Search in Laravel with pgvector

    From Keywords to Concepts: Semantic Search in Laravel with pgvector

    The post version of my PHP Tek talk: retrofitting meaning-aware search into a Laravel app with PostgreSQL and pgvector — architecture, code, and production lessons from DailyMedToday.

  • Meaning as Geometry: What Embeddings Actually Are

    Meaning as Geometry: What Embeddings Actually Are

    Embeddings turn language into coordinates, where distance equals meaning. This is the foundation everything else in this series builds on — explained without the math degree.

  • Rebuilding a Dead iPod Game

    Rebuilding a Dead iPod Game

    I loved a 2009 game called Artificial Life. It simulated real-time evolution of protozoa. I took a crack at rebuilding a modern, in-browser version based on that experience. The new version features emergent behaviors, predator-prey dynamics, and a dynamic ecosystem.

  • Hiking Keauhou

    Hiking Keauhou

    I took 2 nights out of a family vacation to backpack across the Ka‘ū Desert Wilderness on the slopes of Kilauea in Hawai’i Volcanoes National Park. It was totally worth it.