The recording of my #RailsWorld 2026 talk where I introduced the reactivity in ReActionView v0.6 is now live on the @rails YouTube channel:
https://t.co/JCEaOpAbio
Kamal 2 is getting close. Huge upgrade coming. Support for multiple apps on a single server, auto-provisioning of Let's Encrypt SSL certs, better secrets, faster deploys, aliases, and much more. This is the key to unlocking amazing deployment on any VPS / bare metal box.
After months of work and validation from Google, I’m proud to announce that the integration of Foodracers with Reserve with Google is now live! All our merchants are now linked from Google Maps to our platform. 🎉
𝗪𝗵𝘆 𝗱𝗼𝗲𝘀 𝗚𝗼𝗼𝗴𝗹𝗲 𝗿𝗲𝗰𝗼𝗺𝗺𝗲𝗻𝗱 𝗠𝗼𝗱𝘂𝗹𝗮𝗿 𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗵𝘀 𝗶𝗻𝘀𝘁𝗲𝗮𝗱 𝗼𝗳 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀?
In the last decade, we have seen a massive trend of using microservices everywhere. We were building systems for a few hundred or thousand users and wanted to know how to make a system for millions of users. This was over-engineering and needed to be corrected. Why it was wrong? Because the development lasted long and we created incredibly complex systems, hard to maintain. This is especially true for startups that must go fast and stay simple.
A recent paper by authors from Google found that most of their developers split binaries for one of the following reasons: it improves performance, fault tolerance, and abstraction boundaries and allows for flexible rollouts.
Yet, splitting applications into microservices has its challenges:
🔸 𝗜𝘁 𝗵𝘂𝗿𝘁𝘀 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲. The overhead of serializing data and sending it across the network is increasingly becoming a bottleneck
🔸 𝗜𝘁 𝗵𝘂𝗿𝘁𝘀 𝗰𝗼𝗿𝗿𝗲𝗰𝘁𝗻𝗲𝘀𝘀. It is incredibly challenging to reason about the interactions between every deployed version of every microservice.
🔸 𝗜𝘁 𝘁𝗮𝗸𝗲𝘀 𝘄𝗼𝗿𝗸 𝘁𝗼 𝗺𝗮𝗻𝗮𝗴𝗲. Rather than having a single bi-nary to build, test, and deploy, developers must manage 𝑛 different binaries, each on their release schedule.
🔸 𝗜𝘁 𝗳𝗿𝗲𝗲𝘇𝗲𝘀 𝗔𝗣𝗜𝘀. Once a microservice establishes an API, it becomes easier to change by breaking the other services that consume the API.
So, they proposed the following approach:
𝟭. 𝗪𝗿𝗶𝘁𝗲 𝗺𝗼𝗻𝗼𝗹𝗶𝘁𝗵𝗶𝗰 𝗮𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻𝘀 that are modularized into logically distinct components. A component is a long-lived agent, similar to an actor.
𝟮. 𝗟𝗲𝘃𝗲𝗿𝗮𝗴𝗲 𝗮 𝗿𝘂𝗻𝘁𝗶𝗺𝗲 𝘁𝗼 𝗱𝘆𝗻𝗮𝗺𝗶𝗰𝗮𝗹𝗹𝘆 and automatically assign logistical components to physical processes based on execution characteristics. So, if both components are in the same OS process, they are called regular method calls, but if they are co-located, calls are executed as RPCs over the network. Runtime decides whether these modules should be collocated or moved to different machines (and scaled, etc.).
𝟯. 𝗗𝗲𝗽𝗹𝗼𝘆 𝗮𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻𝘀 𝗮𝘁𝗼𝗺𝗶𝗰𝗮𝗹𝗹𝘆, preventing different versions of an application from interacting.
This approach consists of two main parts: a programming model with abstraction that allows developers to write modularized applications and a runtime for building, deploying, and optimizing these applications. They claim that it reduces application latency by up to 15x and costs by up to 9x by simplifying application management and deployment.
If you want to check the framework implementing the approach from the paper, check https:// serviceweaver. dev/.
What do you think about this approach? Does it look like EJBs or CORBA?
#microservices
Apple is protecting its App Store racket with the same kind of indignant entitlement that characterized Microsoft during its darkest monopoly days. They’re in full “cut off the air supply” mode in Cupertino, pursuing Epic for a $73m legal bill in a lawsuit they partially lost. But the red midst of vindictiveness is blinding Apple’s view of history, and making them repeat the mistakes it took Microsoft two decades to undo.
It’s the ultimate monopoly irony too. Apple owes its entire modern existence to the fact that the DOJ was breathing down Microsoft’s neck in the late 90s. This legal threat made Microsoft desperate to prop up a semi-credible alternative to their Windows and Office monopolies, and Apple fit the bill perfectly. A basket case of a company, with an irrelevant, shrinking marketshare, in dire need of a lifeline.
So in 1997, Microsoft invested $150m into Apple, and promised to bring Office and Internet Explorer to the Mac. Back then, these were crucial monopolies without which any platform would struggle. This saved Apple, but it didn’t save Microsoft.
In Redmond, they were still bent on total domination. At the height of its monopoly power over the internet, Microsoft had an incredible 94% marketshare. It used this marketshare to seriously slow down the evolution of the internet, as it continued to perceive it as a threat to the Windows and Office cash cows. And it worked. They really did slow down the evolution of the internet, and even disbanded the IE team, once total domination was assured.
But Microsoft’s brutish tactics also managed to turn an entire generation of developers against them. And the bill for that didn’t come due until Windows Phone. Nobody, and I mean nobody, wanted to lift a finger to help Microsoft gain a foothold in mobile. The wounds from the late 90s and early 2000s were still fresh in many developers minds. So many cheered as Apple went from underdog, favored by developers for their embrace of Unix roots in their operating system, to the dominant player on a new platform.
Microsoft has had to work hard to undo that poisoned relationship ever since, and under Satya Nadella, seems to have broadly succeeded in that mission. Microsoft is no longer developer’s enemy #1, Apple is.
Now that’s not a universal statement, just like it wasn’t for Microsoft. There are hardcore Apple stans who will defend every atrocious monopoly abuse they commit, just like there were hardcore Microsoft stans doing the same in 2000. But the vibe has swapped. I don’t know of many developers brewing a burning hatred for Microsoft these days, but I know plenty of developers who feel like that about Apple.
Apple would be wise to study the long arc of Microsoft’s history. Learn that you can win the battle, say, against Epic, and end up losing the war for the hearts and minds of developers. And that while the price for that loss lags beyond the current platform, it’ll eventually come due, and they’ll rue the day they chose this wretched path.
This article says to use YAML instead of JSON for LLM output format. Gains: save tokens and response time. Have you ever tried? https://t.co/QUdNST1UYN
The big new feature coming in Turbo 8 is morphing. We've put together an example app showing exactly the value it brings over using Turbo Streams, and just how simple it is to create a high-fidelity UI with no custom JS or Turbo hooks at all. https://t.co/oSfd0XUR52
🔴 HOTWIRE COOKBOOK from #RailsWorld is now live!
Here's a collection of ⭐️⭐️⭐️ michelin-grade recipes that use 🥦Turbo Drive, 🍅Frames, 🍒Streams, and 🍆Stimulus as ingredients 🤌
👨🏻🍳 Watch here, young chef! https://t.co/SY1zyadWTM