I know Cluely is a controversial company (def not my cup of tea either), and lot of people like to dunk on Roy, and a16z for funding them (in hindsight), but my unpopular take is that I actually applaud a16z for investing in Cluely:
> a16z was the first firm to go hard (and public) on the “distribution is all you need” thesis
> Roy was the best, and I would say even to this day probably one of the best founders to do it. When we talk about ragebaiting as a founder strategy, he’s still the universal yardstick
> $15M is objectively a lot of money, but a small amount relative to a16z’s AUM to make an experimental bet, and put money where their mouth is
It’s fair to say that their entire thesis around distribution and ragebait as a strategy was wrong (on multiple levels), however a16z developed their own thesis, found the best founder pursuing it, and made a real bet on it. Part of proper early-stage VC is to make bets on theses you believe in but may prove to be incorrect in the future, and I don’t think most firms have the guts to run their shop like that (i.e. go out on a limb for something they independently believe). So credit to a16z
A man in Australia asked his agent (Claude running on OpenClaw) to book him a spot in a popular gym class. The agent found a software vulnerability that let it book the class weeks further ahead than should have been possible. When the user then asked if it could move him up the waitlist, the agent discovered the API had no authorisation checks on cancelling other people’s reservations, so it cancelled the person in the first spot and moved him up the list.
Some people will call this misalignment, but his agent was perfectly aligned to him - it was only trying to help its user get what he wanted. The most important thing about this story, in my opinion, is that it gives you a window into what is about to start happening on a massive scale once millions of people have an agent trying to get their beloved users the best seats, bookings, appointments or reservations through absolutely any means necessary.
i would rather be an optimist and work hard than a pessimist posting about why things won't work.
it's much more difficult and the most likely path is failure, but society fails if people don't try.
no amount of "it will never work" essays will drive society forward.
I'm curious why there aren't more inference providers like Featherless that let users subscribe for a fixed amount of inference capacity instead of charging by tokens.
Imagine the pricing worked like this:
- A provider dedicates hardware costing C/month to serve K concurrent sessions of a particular open-weight model.
- They charge roughly (margin × C) / K per month for one reserved concurrent session.
Each subscriber gets:
- 1 dedicated concurrent inference session
- unlimited tokens
- a fixed context budget
- predictable latency
Basically, you're renting a slice of inference capacity rather than buying tokens.
This feels like a much more natural pricing model for me.
Featherless is the closest thing I've found so I tried it but it's too slow and laggy for any real coding.
Am I missing something? Or are there providers already doing this well?
Memory cost and capacity are significant issues for AI accelerators.
Unlike game rendering, model inference can have a deterministic memory access pattern. You don’t need “random access memory” at all for model weights, and you could tolerate cold-start latencies in the multiple milliseconds, as long as continuous reads were delivered at the necessary bandwidth.
NAND flash is over 100 times cheaper per GB than HBM, so there should be opportunity there, even after giving a flash controller a 1024 bit interface with HBM bandwidth.
You could make a specialized pin protocol that just supported pipelined transfer of full 16KB+ pages from the flash to program-managed accelerator scratchpad memory and improve per-pin performance over HBM, but it might be more convenient to make it still look like a true random access memory with very fragile performance characteristics, where anything but sequential reads falls off a 1000x+ performance cliff.
That has the advantage of automatically using existing cache hierarchies, and providing a natural path to update the flash memory with new model weights. With the stream-to-scratch interface, code has to be completely rewritten before it works at all, while the ram-emulation interface will start off just extremely slow, and you can incrementally sort out the changes for full performance.
There may be cases where there isn’t enough scratchpad SRAM to hold the weights for a layer, which might force you to deploy the old optical drive optimization technique of duplicating data in multiple places on a sequential read to avoid seeking, but there would be capacity to burn.
It might be possible to do something like cuda graph capture to record a memory access trace and have everything magically remapped to a linear sequence, but deploying programmer / agent elbow grease to manage transfers and access in a scratch ram ring buffer would be lower risk.
A split memory system consisting of some channels of flash and some channels of HBM will probably be suboptimal compared to a uniform memory, but it could be much cheaper, and allow much larger models to be run.
I think th case is strong for inference, but you have to stretch more for training. You can still linearize all the weight memory accesses, both reads and writes, but flash memory would quickly wear out from the writes, even if they were all perfectly page aligned. Replacing low-latency HBM with massively parallel cheap(er) DRAM at high latency might still be a worthwhile cost savings.
@jpschroeder - Lower kv cache memory = More concurrent sessions can be served per gpu
- Better token generation efficiency = More tokens generated per second per gpu
Those two combined leads to much lower token price
@jpschroeder Besides larger batch size on larger GPU clusters, DeepSeek put a lot of effort to maximize inference efficiency for V4 models.
You should read their reports:
- Optimize KV cache memory https://t.co/lagdcWdeKl
- Optimize token generation efficiency https://t.co/MF963yXNAl
Fork your dependencies, trim them to only your use case, never update unless it breaks for your users. I’ve been vocal about this for 10+ years. I’ve always said that updating is way riskier than latent bugs (which can be tracked and CVEs monitored).
If you are updating a dependency, it’s on you to analyze every single commit in the full transitive set of dependencies. If you dont see anything compelling, dont update!
I remember at HashiCorp once in awhile an engineer would try to update a dep or replace a DIY lib with an external one and id always ask “show me the commit we need.” Dont update for the sake of it.
Feeling pretty swell about this mentality with all the supply chain attacks happening.
We post-trained a 3B model with RL to beat Opus on spreadsheet retrieval. Faster, cheaper, more accurate.
- If a piece of your agent loop is narrow, verifiable, and highly repeatable, a tiny trained model might beat the frontier.
- The application layer is still early and new verticals are opening fast. Cheap domain specialists orchestrated by a frontier model that only spends tokens on judgment is a bet worth watching.
If you feel lost, build something.
A business. Your body. A skill set. Anything that gives you a reason to learn and focus.
Don't worry about choosing the right thing. Don't think about how difficult it will be.
Just start moving forward and you'll find a path that feels right
A lot of software engineers work hard, but their work does not stack.
They do one bug here, one dashboard there, one random API there. Good work, but no story. And promotion usually goes to the person with a story.
The smarter way to choose projects is this:
Pick work that compounds.
That means:
1. It teaches you a deeper part of the system
2. It is visible to multiple teams
3. It solves a painful business problem
4. It creates follow-up work where you become the obvious owner
5. It can be explained as a journey, not a one-off task
A friend of mine did this really well.
His company had a huge monolith. Everybody complained about it. Slow deploys. Tight coupling. Random breakages. Teams stepping on each other. Everyone knew it was a problem, but most people only wanted to work on safe tickets around it.
He picked one feature from that monolith and said: let me take this end to end and move it into a service properly.
At first, people thought it was just another backend task. It was not.
To do it well, he had to understand: how the old module worked, which tables it touched, what hidden side effects existed, what downstream consumers depended on it, how auth, logging, retries, deployment, metrics, alerts, rollback all worked.
For almost 1 year, that one project kept stacking.
First he wrote the extraction plan. Then interfaces. Then data contracts. Then dual writes. Then shadow traffic. Then observability. Then gradual cutover. Then cleanup of old code. Then docs for other teams to repeat the pattern.
By the end of it, he had not just “migrated one feature”.
He had built: a migration playbook, a reusable service template, credibility with senior engineers, trust with management, and a promotion case that wrote itself.
That is what stacked work looks like.
One project became: technical depth + cross-team visibility + business impact + leadership signal.
That is how you should think too as a software engineer.
Do not just ask: “What ticket can I finish this sprint?”
Ask: “What project, if I own it well, will make next year’s bigger opportunities naturally come to me?”
That is how careers compound.