Perfecting the art of espresso brewing
Ninety-nine years in Florence, and almost every part of the modern espresso machine traces back to one workshop.
Writing
Ninety-nine years in Florence, and almost every part of the modern espresso machine traces back to one workshop.
An AI coding agent turned a 10,500-line SwiftUI app into a fully native Android app — same backend, same UX, Material Design throughout. Here is what the port decided, what it deliberately did not port, and the two bugs a real user found.
Nautilus has a great interview with David Samson, author of The Sleepless Ape. His claim: we are the shortest-sleeping primate on the planet, our sleep is mostly fine, and the eight-hour rule was never biology — it was a labor negotiation.
Creatine is the most-studied supplement on the shelf and the internet has decided it is also a nootropic. The evidence says something narrower and more interesting: it works when your brain is under stress, and mostly does nothing when it isn't.
A 397 billion parameter mixture-of-experts model does not fit in RAM. It turns out it does not need to. Flash-MoE streams experts off the SSD four at a time, and on an M5 Max it runs at twice the speed the authors reported.
AI generates interfaces now. That makes your design system the most important thing in your codebase. But only if it is strict. A loose design system is an invitation for the model to improvise, and it will accept that invitation every single time.
Daniel Miessler's Companies Are Just a Graph of Algorithms says every business is a pipeline of steps, and AI will compress those steps until companies shrink. Clean framing. But it stops one node short of itself.
Roughly 2% of people have green eyes — and not a single one of them has any green pigment in their iris.
There's a conversation happening right now about AI fatigue, and most of it misses the point.
Zak Knill argues in a recent post that LLMs and agents are breaking the 20-year-old stateless web, and that we're missing a routing primitive to address running processes. The diagnosis is right. The primitive isn't missing from technology, it's missing from the average web developer's toolbox.
Hungarian-American psychologist who spent his life answering one question: what makes a life feel worth living, from the inside? He answered it with one word. Flow.
The frontier labs are racing to build the smartest models. But the open models are catching up. And the on-device ones are catching up too. The endgame isn't who wins the race. It's that the race stops mattering.
Dario Amodei said in January that AI would do most or all of what software engineers do within 6 to 12 months. The hiring data so far says the opposite.
Figma won by being the easiest design tool of its generation, but its canvas-first architecture has quietly held the web back for over a decade. The handoff isn't a workflow, it's a bug. And a whole generation of designers is now siloed inside a tool that drifted away from the medium it was supposed to design for.
Imagine thinking you can sing. You love it, practice constantly, even audition. Then one day you record yourself and realize you're terrible. The scary part isn't being bad. It's having been completely blind to it. That's the core fear: what if your taste itself is broken, and you can't even tell?
Working with Ed on a new web app today taught me something about how constraints—real ones, not suggestions—accelerate collaboration. Not the kind of constraints that limit creativity, but the kind that eliminate entire categories of decisions before they become discussions.
...instead of failing to succeed.
It's all about feedback. And feedback has to be direct and honest and also not intentionally harmful.
There is a fascinating archetype in the modern workplace: the genius that cannot and will not fit into traditional employment structures. These are the people companies desperately need but can rarely keep.
Low-ego people are almost entire focused on solving the problem, almost never care about appearance or credit while doing so.
This is going to be a funny one, in some ways. It was for me.
Every few years, I buy a new phone. I am typically an iPhone user, so last year I bought the 16 Pro Max. Overall, great experience, but I also bumped into a few unforseen issues.
A recent study from MIT concluded that despite enterprises pouring $30-40 into generative AI initiatives, 95% of these projects yield no measurable impact. Adoption is widespread—many organizations are experimenting with AI tools—but only about 5 % of pilots reach production with meaningful results.
In this insightful article by Remy Sharp, a web professional since 1999, he explores the various factors that contribute to good and bad web design, drawing from his extensive experience attending design, user experience, and developer conferences for over 15 years.
This article discusses how AI, while capable of handling basic tasks, cannot replace skilled professionals who focus on quality, craftsmanship, and meaningful experiences. It emphasizes that AI is better suited as a tool to augment skilled workers rather than replace them, particularly in areas requiring expertise, creativity, and human understanding.
In his 1983 talk at the International Design Conference in Aspen, Steve Jobs articulated a powerful vision for the future of personal computing. He saw the computer not just as a tool, but as a new medium of communication, on par with the book, the telephone, and the television. Just as each of these mediums had shaped the way we communicate, Jobs believed that the personal computer would profoundly transform our lives.
I have found this guide of productivity again: Pmarca Guide to Personal Productivity so I wanted to write down my version of it.
I have been shiping most of my Go apps with Kamal for a while now. I am sharing the main config files I am using, with two different apps: this blog and a object storage service.
The paper, mentioned in the title, addresses the inherent challenges of the widely adopted microservices architecture in cloud computing, including performance bottlenecks, versioning issues, and increased complexity in application management. While microservices offer scalability, fault tolerance, and agile deployment, they also introduce significant overheads, making applications difficult to manage, reason about, and evolve.
I have been using web components instead of other libraries and their components for about an year now. They have a few key features, like built-in hydration, use of Shadow DOM or not, depending on your preference, that are indispensable in the UIs that I build.>
I found a post today that shows in detail what their potential is and how exactly they are being used to build an actual product.
Even though it's only January, this year has already been very interesting for me. And since most of these interesting things are products on the web, and me being unhappy with design tooling for web products, I decided to build something different, something that fills in my needs primarily, but perhaps is able to help others as well.
Still in very early stage, today I am putting it partially out there for interested folks to provide feedback or even subscribe to progress notifications.
But first, let me tell you what it is.>
Let’s add a different color to the styles of external links, regardless if they open in a new tab or not:
a[href^="http"]::after {
color: var(--color-secondary-1);
}
I have a bold claim: there is a responsive CSS Grid / Flexbox combo layout that can be used to build almost any web layout. At least I haven’t found any layout I wanted to build and couldn’t.
Ahmad did two great reviews of the Threads app. Quite a few interesting CSS or unusual CSS technniques there.
Client component hydration has been a trendy topic these days. Some frameworks like Next, Astro and others are already doing it.
It is not common knowledge that we can achieve a very similar result with pure SSR and declarative shadow DOM.
All typefaces have been instructed to display their ligatures, by default, like this:
body {
font-variant-ligatures: normal;
font-feature-settings: "liga" 1, "dlig" 1, "hlig" 1, "clig" 1, "calt" 1;
}
On occasion we need to present a summary of content while allowing the user to deep dive if they want to. The details element is a great way to do this, with good browser support as well. Let's see how.
Many times we need to show a modal to the user, to ask for confirmation, or to show some additional information in a manner which covers the rest of the page user interface. The dialog element is a great way to do this, and it is supported by all major browsers.
a hover statesAll a elements on this page have a customised hover effect. Here's how to achive that:
a:hover {
text-decoration: underline;
text-decoration-thickness: .1em;
text-underline-offset: .15em;
text-decoration-color: var(--color-secondary-1);
}
Implementing a consistent brand across various devices and channels has never been easy. The diversity of connected devices and their screen sizes is also not helping simplify the process.
Let's take a stab at how we could improve this.
Previously I shared a very basic example of Go routing. Let's see how we can improve that a little.
The last several years of web development have been going into a direction of needlessly over-engineering even simplest tasks.
Maybe it's time to get back to the basics, to use simple solutions for simple tasks. Let's touch on how I think we should be approaching initial web product development.
In my first not post I mentioned and example of something I find quite interesting in the recent CSS features,that is the has() selector. And while I was preparing to write something about it, which I mightstill do, here's a great article on Smashing Magazine written by Stephanie Eckles about this exact topic.
I have recently been reading a lot given that I had a lot of time on my hands. Many of my readings have been about my work, what I'm passionate about in my work — how to build amazing experiences on the web and native platforms.
So I have quickly put together this not blog to share not posts here. Read along if you're curious what this crazy idea is about.