Desktop agents + Omarchy = bad for services revenue for Mac & Windows.
1/ today we're rolling out Muse, our new personal ai assistant. Muse is always-on, wicked fast, can use a browser, connect to your apps, and is designed to be secure.
try it now: muse.ai.
Seems to me one could simply run this locally on your machine. Your local config (and auth) is only S3. Don’t need a shared server.
Git at Scale (by cursor) has been one of the most interesting blog posts i've read in a while. It came right when I was frustrated with Shopify's internal git system.
As an exercise, I've implemented it over the weekend as open source. It's a single rust binary that you can point at any S3 type object store. It uses WAL and CAS primitives and requires no other data store.
It also implements bundle-uri so large git repos (like our mono) are very fast to download as a chain of static bundles. Also comes with basic familiar UX.
github.com/tobi/walgit
A cloudy day is only around SPF 2. Deceptive!
grok.com/share/bGVnYWN5LWNvc…
Glass is around SPF 10.
grok.com/share/bGVnYWN5LWNvc…
That Choosin’ Texas song has me charmed, but I was introduced to it because I follow the song’s guitar player on the YouTube: youtu.be/p1yFiRvqeNI
God’s Comic, Green Shirt, Clubland, All This Useless Beauty, Taking My Life In Your Hands, No Action
Clean electric guitars sound dirtier than other instruments. It’s a raspy thing in the best of circumstances.
If you know the story of the rock band Rush and have seen the YouTube videos from the tour this week, they will bring a tear to your eye. Anika Nilles is a hero.
When city surfaces cool off at night, it’s almost all black body radiation, not air cooling. grok.com/share/bGVnYWN5LWNvc…
Very true.
Databases do a lot caching (from disk mostly) and keep it consistent, even when we aren’t paying attention. If at all possible, just use the database. Optimize the queries.
Databases have also figured out the hard parts of replication: transactions and ordering. Hit a database secondary if you don’t wanna hit the primary. There is exactly one dimension of inconsistency, which is time.
Third, use an analytics database if you want aggregation. Accept the time delay and design for it.
Almost never, in my opinion, is “database data in Redis/memory” the right answer, unless you are very tolerant of inconsistency.
Cache invalidation is hard because the moment you copy data to make a system faster, you create two truths that can drift apart:
- One is the real data,
- one is the saved fast version.
"Just update the cache when data changes" is practically useless advice.
That only sounds clean if you ignore delays, failures, race conditions, multiple services, retries, out-of-order events, and users reading data while writes are still moving through the system.
In general, you need rules for
- when the fast version is still safe,
- when it must be replaced,
- who decides that,
- what happens when that decision is late, lost, or wrong.
Cache invalidation is a constant trade between speed and correctness, and people often pretend they can fully have both.
My Unicode libraries were the fastest in town for years, but it looks like @aymanbagabas @charmcli has a new faster one. Had to happen eventually.
github.com/charmbracelet/xun…
I am doing this. Switch models for each review btw!
Friend asks for best New Pornographers songs for Neko Case vocals. My response is: brother, how much time you got.
Intuitively, yes, but it might be like the human programmer experience with strong types/compilers.
On the one hand, LLMs are not very deterministic. So if we see strong types as adding back that determinism, this is compelling.
Furthermore, strongly typed languages can exhaust humans, who are just trying to get something done. The LLM won’t get tired, and will give us a stronger, correcter program than we would otherwise have gotten.
OTOH! Type enthusiasts (I am one) have begrudgingly learned that dynamic languages can be every bit as correct as static languages. On that same other hand, high-level languages look like English, on which the LLMs were trained. Perhaps some transfer learning happens.
Overall, I’m on the side of Greg’s hypothesis, but I also know it might not actually net out to be true.
Indeed true but only in retrospect. I know a small handful of programmers that can do correct and optimal in one pass.
Also, I am learning that the market rewards existence first, and performance maybe third or fourth.














