Massimo Albarello retweeted
There was no TanStack Router for TypeScript CLIs. So I built parsh.
Type-safe end to end. File-based commands. Typo a positional param, the compiler tells you which one. Parent options autocomplete in nested handlers. And more.
90s of the type system catching every drift:
Massimo Albarello retweeted
It's like we dug up a powerful alien artifact and society is humping it while taking selfies
Massimo Albarello retweeted
Replying to @pande_eeshita @ouraring
If you are using @openclaw, highly recommend setting up the @ouraring plugin developed by @rickybloomfield
Massimo Albarello retweeted
We built waclaw to let you host many OpenClaw instances behind a single WhatsApp Business Account.
Good for personal use (one bot, one number) or for companies that want to give each of their users their own AI assistant reachable over WhatsApp.
Open-source repo in the comments
Massimo Albarello retweeted
Web 1.0 came with new channels:
- email, search, link sharing, etc
Web 2.0 too:
- feeds, creators, viral invites, etc
Mobile:
- app stores, SMS invites, vertical vid, mobile ads
What about AI? I’ve been complaining that AI hasn’t come with much. But we’re seeing a big growth channel opening now: Products that are built as APIs/CLIs that can be pulled into new projects by Codex/Claude on the fly
Maybe the “AI-native hotel app” doesn’t mean a mobile booking app with an AI chat panel. It means a CLI that can book a hotel for you, that an AI agent can pull into a bespoke answer or project or into code. Bolting on an AI chat panel is this generation’s weak form of AI. Maybe the full reinvention involves making it agent-first not human-first
and once you start looking at it that way, a lot of existing products suddenly feel mis-specified. they’re built as destinations, but agents don’t want destinations. they want capabilities. composable, callable, reliable capabilities.
So instead of “go to Expedia” or “open the app,” the future interaction is more like: an agent assembles a workflow on the fly. it pulls a flight search tool, a hotel booking tool, maybe a weather model, maybe even your personal preference graph. none of these are full products in the traditional sense. they’re more like endpoints with taste and state.
This flips distribution completely. historically you win by owning the surface area. seo, app store ranking, homepage traffic. in an agent world, you win by being the default callable primitive. the thing that shows up again and again in agent-generated plans because it works, has clean interfaces, and returns structured outputs. distribution shifts from “top of funnel” to “top of call stack.”
And the crazy part is this might actually compress product surface area dramatically. the best products might look more like tight, extremely well-designed CLIs with opinionated defaults rather than sprawling UIs. almost like the stripe api moment, but for everything. imagine if every vertical had a “stripe-level” primitive that agents preferentially use.
there’s also a weird inversion of brand here. humans used to choose brands. now agents will. so the brand becomes partially machine-legible. reliability, latency, error rates, schema clarity. you can almost imagine “agent seo” where the ranking factors are things like success rate across thousands of agent runs, or how easy your tool is to integrate in a chain-of-thought execution loop.
This also suggests a new kind of moat. not just data or network effects, but integration depth with agent ecosystems. if claude or codex or openclaw learns that your tool is the safest way to accomplish X, it gets baked into prompts, templates, maybe even fine-tunes. you become a default. and defaults, historically, are insanely sticky.
The contrarian take is that most current “AI features” are a local maximum. chat panels, copilots, assistants. they’re transitional. the real end state might look closer to invisible infrastructure that agents orchestrate. the ui is just a debug layer for humans to peek into what the agents are doing.
so maybe the new growth channels for ai look like:
- being callable
- being composable
- being reliable at scale in agent loops
- being embedded in agent templates and workflows
- being the default primitive in a given domain
and if that’s right, then the question for any new product isn’t “what’s the ui” or even “what’s the killer feature.” it’s “what’s the minimal, highest-leverage capability we can expose such that agents will repeatedly choose us when building something new.”
Massimo Albarello retweeted
it's time to drop three new #opensource robotic hands! this time with tactile sensors! Tweak it, 3D print it, and use them in your robotics and physical AI research! Here are some wild examples ↓↓↓
Massimo Albarello retweeted
All consumer apps start with no prior understanding of their users - finally they can tap into Instagram's social graph!
For most apps, user value is unlocked only once the app gets an accurate enough understanding of the user. Not anymore!
Massimo Albarello retweeted
EeClaw (@pande_eeshita's @openclaw agent) used her Instagram stories and became more popular than her human.
Eeshita gave EeClaw her Instagram stories, Google searches, and ChatGPT conversations via Fabric.
Seeded her memory, gave her some tools, and got out of the way.
Massimo Albarello retweeted
AI agents are getting incredibly smart. But they still don’t really know you.
Having worked on consumer products powered by Open Banking (@meetcleo) and IoT data (Omnia), @MaxAlbarello and I started onfabric.io at @joinef because we believe something is missing: portable, user-controlled personal context for truly personal AI.
Our belief has deepened as we use agents that show real intelligence but have gaping holes in their understanding of us e.g. ChatGPT does not know which restaurant I posted from last Saturday and Claude has no idea which book I just ordered.
In real life, your preferences don’t develop in neat little boxes, one box for Google, one for Instagram, and one for ChatGPT.
So why does your personal context stay siloed in Google, Instagram, YouTube, ChatGPT and every other app you use?
You might use ChatGPT multiple times a day.
But you also:
- Post your trips on Instagram
- Watch interesting videos on YouTube
- Use Google to search, discover and navigate the web
Right now, each app sees a slice of you. None of them see the whole person.
Fabric changes that.
With Fabric, you can bring rich personal context from your Instagram stories, Google searches, YouTube watch history and more into AI apps like Claude and ChatGPT. So your AIs stop being clueless agents and start feeling more like friends who actually get you.
Context that evolves with you. And moves with you.
Not trapped in Big Tech or Big AI.
Because you should be able to use many AI products all perfectly tailored to you, instead of being forced into using one or two products that lock you in with your context.
Our vision is simple: just like Visa lets you pay anywhere in the physical world with one card, Fabric lets you sign in with your personal context anywhere in the digital world.
If this resonates, sign up at onfabric.io.
And comment “Fabric” to get early access to our beta. I’ll reach out and personally onboard you.
Massimo Albarello retweeted
Banyan wins the best paper award at ACM/IFIP MIDDLEWARE 2024. Congrats to Yann Vonlanthen @yannvon, Jakub Sliwinski @DiscoKobi and Massimo Albarello @MaxAlbarello.
tik-db.ee.ethz.ch/file/2630c…
Massimo Albarello retweeted
I took a $22 Uber ride last night. The driver told me he was receiving $8... that's 36%. Help me understand how that makes sense.
Massimo Albarello retweeted
#ICP security involves different thinking vs proof-of-stake networks, so direct comparisons are hard. Differences include:
1 "Deterministic decentralization" ⬆️ vs simple Nakamoto Coefficients
2 Games of life ⬆️ vs small-game fallacies
3 Hardware ⬆️ vs liquid stake
Big thanks to Justin Bons for his willingness to debate the ICP community on this subject – these days theoretical debate is sorely lacking – but he does not cover these differences in his analysis. He therefore provides a good opportunity for me to draw attention to the differences, and explain them to those interested:
/* Deterministic decentralization */
Decentralization, generally speaking, is a nebulous term that is difficult to measure – should we measure the decentralization of the Bitcoin network by the rather small number of mining pools that might double-spend by colluding, or by the much larger minimum number of individual miners that would need to collude, upon the assumption that miners would leave any pool involved in an attack? Or, should we measure the decentralization of Ethereum using the number of individual virtual validators nodes running in the cloud, or by the number of Big Tech clouds that control them? These are tough questions.
The Internet Computer uses a decentralization framework, which underpins the security of its protocols, known as "deterministic decentralization." This aims to calculate and create decentralization both with more certainty (more security) and also with less replication (more efficiency). It is more nuanced than basic "Nakamoto Coefficient" thinking.
The system is made possible because the network runs under the direct and exclusive control of an advanced permissionless DAO that is integrated into its protocols called the NNS, or "Network Nervous System," which currently has more than $3b of ICP staked and huge numbers of participants (it's the biggest DAO community around today).
The NNS adopts/rejects proposals that do many things, two of which are particularly relevant to decentralization: 1) it hands out "node provider" profiles to those who ask for them, and 2) scales the network by forming and configuring subnet blockchains by adding and removing node machine hardware operated by different node providers.
Node providers obtain profiles by submitting proposals that specify the data centers they will be installing node machines within, which information then gets associated with their profiles. Another type of proposal, which anyone can submit, forms new subnets from existing nodes, or adjust subnets by adding/removing nodes, with the requirement that "deterministic decentralization" is observed.
This involves combining node machines from 1) different node providers, 2) installed in different data centers, which are 3) in different geographies, and 4) different jurisdictions.
The purpose is to create subnets which would require a higher degree of node provider collusion to break, and which are also resilient to e.g. a nuclear bomb hitting data centers in a geography, or a government/regulatory area attack executed within a jurisdiction such as the EU. Some subnets also have special purposes, such as those hosting e.g. bitcoin, and have higher replication factors as needed – security is on a cost/benefit curve and tailored precisely to need.
It is important to compare this to traditional proof-of-stake practice, where validators are anonymous, and mostly run on Big Tech's cloud services. For example, the Hetzner cloud suddenly shutdown 40% of the Solana network, more than 1,000 of its validators, after deciding it didn't want them. By implication, it could also also have taken full control of the network. Further, consider that vast numbers of cloud validators on Ethereum are in practice sometimes created by one operator behind the scenes. Arguably, the cloud providers are the nodes, not the validators they host.
Deterministic decentralization does not depend on having huge numbers of anonymous validators running in the cloud, and I would argue provides more dependable decentralization that is also certainly much more efficient.
If required, the Internet Computer's network protocols allow for very large numbers of nodes to be combined into subnets. Where they are not, it is because analysis performed wrt deterministic decentralization indicates that it would be unnecessarily wasteful.
/* Games of life */
I don't always agree with Nick Szabo's thinking, but one of his pieces that I think is INCREDIBLY insightful and generally important for the crypto industry, and often overlooked, is his post titled "Small-game fallacies."
unenumerated.blogspot.com/20…
Small-game fallacies often occur in proof-of-stake modeling, which assumes that validator behavior is determined exclusively by incentives existing within the narrowly defined constraints of crypto economic systems e.g. that anonymously deposited stake ("collateral") is the primary determinant of validator behavior, including cheating/not cheating. This is incorrect.
Szabo draws attention to the fact that human behavior occurs within the much larger "games of life." For example, most validators won't cheat, not because of fear of losing their stake, but for reasons of personal integrity, professional pride, and fear of retribution (both from others in their industry seeking revenge, and from legal systems that with to punish them for their crimes). These incentives can exert much greater forces than anonymously staked cryptocurrency.
The Internet Computer considers the larger games of life by ensuring, among other things, that node providers (which are typically companies) identify themselves. Those colluding to defraud the network will be subject to much more than the loss of their stake. Indeed, they can be subject to the full force of the law around the world.
As the assets hosted by networks become increasingly valuable, it becomes harder and harder for proof-of-stake advocates to claim that they are sufficiently protected by validator stake. The larger games of life are required.
/* Hardware stake */
The Internet Computer runs on sovereign hardware called "node machines," which are built/purchased by independent "node providers" who install/run them from independent data centers around the world. In the "proof-of" terminology, it is "proof-of-useful-work" (PoUW).
This hardware-based approach is diametrically opposed to proof-of-stake, which typically sees validators running on Big Tech's cloud services, run by anonymous operators, who have joined them to the network staking some amount of cryptocurrency.
As per the preceding section, the thousands of validators running on Amazon Web Services should really be seen as one node, for reasons highlighted by the Hetzner incident, but that's beside the point – what we need to compare here is the *types* of stake involved in proof-of-stake vs Internet Computer nodes.
An ICP node is not joined to the network by staking ICP tokens, but rather by merit of being standardized hardware that can keep up with the nodes it is combined with (and thus not get expelled). This standardized hardware is expensive. It costs $20k+ per node machine (and those wishing to support optimized AI smart contracts will likely find the specs for those nodes will probably exceed $100k).
This hardware is of course a form of stake that the node providers put at risk, and it is not one that is not liquid. The cost fully includes both the cost of acquiring and installing the hardware, and the hosting contracts with data centers. If a node provider is kicked off the network for cheating, or running substandard hardware that can't keep up with the block rate, in practice they will have problems reselling their accumulated hardware, will be unable to recoup setup costs, and will often be stuck with contracts for co-location and bandwidth.
By contrast, a proof-of-stake validator node on Amazon can be spun up and down on a button click. Nothing is staked apart from the cryptocurrency. However, that can be hypothecated using liquid staking – in short, what is actually staked is a much more wooly subject.
While, as explained in the previous section, we believe that the larger games of life trump the small game fallacies of narrowly defined proof-of-stake crypto economic systems – not just in theory but technical practice – we also believe that it's often hard to determine what is actually staked when the stake is cryptocurrency.
We would argue, as with many things in crypto theory, that the truth is far more nuanced that the big brassy theory boilerplates justifying the design of major proof-of-stake networks would suggest.
In summary – the stability of hardware stake, and the forces created by the larger games of life unleashed via intelligent decentralized governance that carefully combines hardware operated by identifiable node providers in a scheme of deterministic decentralization, allows decentralization to be measured and tuned more accurately with far greater predictability, and therefore safety.
Massimo Albarello retweeted
WebSockets are a fundamental tool in a web dev's belt, allowing for real-time two-way communication between clients/servers.
Now ICP canisters can enjoy this kind of communication.
Myself and others have been pushing for this for over 2 years. Amazing job to all involved!
On #ICP, you can now send updates directly from the canister to your users!
Links to SDKs, tutorials and examples at: forum.dfinity.org/t/ic-webso…
Make sure you also follow @ic_websocket!
Massimo Albarello retweeted
On #ICP, you can now send updates directly from the canister to your users!
Links to SDKs, tutorials and examples at: forum.dfinity.org/t/ic-webso…
Make sure you also follow @ic_websocket!





















