-
The MCP server is the new landing page.
Product discovery is moving into Claude, ChatGPT, and Cursor. For a founder, an MCP server isn’t an integration anymore. It’s the first touchpoint.
-
Better Async Support in WordPress With PHPNomad + Action Scheduler
What’s Changed A sore spot in WordPress is background tasks. Yes, it’s been solved several times, but to this day, there’s still a fair bit of scaffolding that goes just into making it possible to do. That’s why I’m so excited that I’ve published a new update to PHPNomad’s WordPress integration to finally leverage the tasks integration that I’ve been using for several months in non-WordPress solutions. This update makes it possible to use PHPNomad to dispatch asynchronous tasks consistently, and reliably in WordPress in exactly the same way it’s done outside of WordPress. This update comes in the 3.0…
-
A Better Task Dispatch Integration
I spent some time re-building the abstractions for background tasks in PHPNomad, but this time it’s through the lens of a Redis integration.
-
Refactor WordPress integration to remove TaskScheduler in favor of new task system
Summary The phpnomad/tasks package has been rewritten in v2.0.0 to introduce a modern, dependency-injection-friendly, platform-agnostic task system. This update deprecates the legacy TaskScheduler and CanScheduleTasks model and replaces it with a new, unified architecture centered around: This issue proposes refactoring the WordPress integration to fully adopt the new task system. Why The current WordPress integration schedules tasks using TaskScheduler, which is tightly coupled to the now-deprecated CanScheduleTasks API. That implementation is: Bringing the WordPress integration in line with the new task model will simplify the codebase, improve maintainability, and ensure consistency across all platform integrations. What Needs to Happen Compatibility…
-
I Released a 2.0.0 of PHPNomad Tasks
Introduction This release introduces a new task system built on the unified TaskStrategy interface. The previous task execution model relied on CanScheduleTasks, which was tightly coupled to time-based, WordPress-style scheduling. It used string intervals and closures, and did not support modern queue systems or dependency injection. The new model introduces a clean, declarative, platform-agnostic task architecture that mirrors PHPNomad’s event system, but is purpose-built for executing units of background work using real task classes and handlers. Why This Changed The legacy task system: This update unifies all dispatching and handler mapping into a single strategy: TaskStrategy. This model supports immediate…
-
PHPNomad As A Static Site Generator
PHPNomad’s documentation site is now being built using…PHPNomad!
-
Change Datastore Methods to Use Generators
The current datastore interface returns arrays for collection methods which leads to memory and performance issues in REST implementations where N+1 queries are sometimes unavoidable. By changing these methods to use generators, we can process items as they arrive and maintain constant memory usage regardless of collection size, creating a more efficient implementation without sacrificing usability.
-
Restructuring Datastore Events in PHPNomad
We’re moving datastore events out of the database layer and into the datastore layer while also splitting operation traits into paired versions (with and without events) to give developers more control over event emission. This change breaks backward compatibility but creates a more flexible, truly nomadic system where developers can choose exactly which operations should emit events rather than being forced into a one-size-fits-all approach.
-
Remove Concrete Container Solution and Create Integrations With DI Libraries
I have come to realize it’s likely time to pivot away from PHPNomad’s simple container system, and embrace integrating with existing solutions, instead.
-
Portable Kite Tail Winder
I needed a better way to wind up my kite tail, so I designed something to help me. You can download the file and print your own.