I’m on an email list. Great content. They send a good one that prompts me to ask a question in-response.
Their reply? “I talk about that in my service [link]”
Totally lost me in that moment.
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.
Alex Standiford
The newly adjusted pieces worked SO well. They printed easily thanks to the flats, still work just as well, and printed much nicer. This thing makes winding up my kite tail A LOT easier. Really happy with this design.
Alex Standiford
The tail crank design definitely works, although I had some issues with the quality of my prints. I’m re-designing the cranks now to be easier to print on their side, and just a scoshe smaller so they fit into the holes easier.
But functionally-speaking, this works great!
I changed the design of the crank to have flats on either end. This makes it a lot easier to print on its side, which will not only make the cranks stronger, but also a lot easier to print. This should fix the quality issues I had.
Currently, event bindings are supported using a callback. Ready::class => [ [‘action’ => ‘init’, ‘transformer’ => function () { $ready = null; if (!self::$initRan) { $ready = new Ready(); self::$initRan = true; } return $ready; }] ], This tends to be overly terse, and require calls like this in cases where you want to encapsulate the logic: $saleTransformerCallback = fn($orderId, $orderData) => $this->container->get( SaleTriggeredTransformer::class )->getSaleTriggeredEvent($orderId, $orderData); SaleTriggered::class => [ [‘action’ => ‘action’, ‘transformer’ => $saleTransformerCallback], ], It would be much nicer if it were possible to do this, instead: SaleTriggered::class => [ [‘action’ => ‘action’, ‘transformer’ => SaleTriggeredTransformer::class], ], Would…
Alex Standiford
If I can get the printer to do it, I’m going to try and print this little setup as a portable tail winder. The handles come out and fit inside the winder, and then you can strap the whole thing together as a single compact piece.
Why We’re Saying Goodbye to Mutators The Mutator package, while well-intentioned, has become a source of unnecessary complexity in our development workflow. What started as an attempt to create a flexible data transformation system has instead created a maze of interfaces, adapters, and callbacks that obscure the true intent of our code. The Problem with Mutators Our current Mutator pattern introduces: A Better Path: Event-Driven Mutations Instead of wrestling with complex Mutator interfaces, we’re embracing a more intuitive approach: Simple, Direct Event Transformations class UserRegisteredEvent implements Event { private string $email; private string $name; public function setEmail(string $email): self {…
The heart of the nomadic approach is that your code should be free to travel and adapt, like a digital nomad who can work from anywhere. The existence of a core package actually contradicts this fundamental principle. Here’s why: The solution is to break down the core package into focused, independent tools that developers can use as needed. Each piece should solve a specific problem in making code more portable, without creating dependencies on PHPNomad itself. Think of PHPNomad more like a travel guide than a destination. It should show you how to write code that can travel well, not…
Alex Standiford
Ripped off a bandaid today. Finally got around to properly tagging all PHPNomad packages, and setting all of them up in Packagist. Currently at 40 repositories, so I needed to get ahead of this before it got out of hand.
Join 300+ founders learning to build their business together. Short, useful emails on partner-led growth and sane operations.
3d Printing (24) Affiliate Program (22) ai (95) Blogging (23) brewery (21) Business (26) cast iron (36) Charlie (19) craftbeer (78) css (23) design (30) Disc Golf (64) Entrepreneurship (27) family (25) goodmorning (21) html (18) javascript (21) kiting (39) Leela (19) Maria (44) marketing (35) music (46) North Carolina (32) outdoor cooking (30) outer banks (34) photo (20) php (34) Project Cornhole Board (18) Project Media Center (18) Project Novatorius (68) Project PartnerShip (19) Project PHPNomad (30) Project Siren (144) Project Standiford Blog (49) retail (28) Ricardo (22) Ricardo Wrecked (18) RV Life (236) travel (116) Underpin (20) Vermont (20) WCUS (69) WCUS2024 (32) WooCommerce (21) WordPress (446)
Join 300+ founders learning to build their business together. Short, useful emails on partner-led growth and sane operations.