Pinned Tweet
There's no single place to find out what's happening in Buenos Aires.
So I built one: an AI agent you can ask "what are some fun events going on this weekend?” and it answers with real events.
Stop jumping between Instagram, WhatsApp, and 6 event apps.
Try it → baeventos.com
Is this how agentic code review is typically done? I thought it was common to give the reviewing agent context eg the ticket for the task.
Replying to @danielendara
i think you can get into overfitting or "overcooking" a PR by going through multiple rounds of abstract code review from agents. the reviewers likely have 0 context around your goals and intent, and they tend to pick up things that don't matter or steer the authoring agent in the wrong direction. and the author agent is usually too sycophantic and will accept and all feedback without really thinking about whether it makes sense
Surprised at how effective caffeine tolerance breaks are. It's just so hard to see how the constant use affects your physiology while you're still in it.
Hanif Carroll retweeted
We asked GPT-6 Astra to edit Qwen3.5-0.8B weights to improve math.
It directly changed only 0.016% of weights, fixing 0.8B's reasoning loops & improving math up to 6x and even instruction following 3x, without gradients or training.
We call this Weight-Space Programming: frontier LLMs can now natively read/write neural network weights! 🧵
Blog: rikiyat.github.io/blog/weigh…
I've finally found it: beef hot dogs in Buenos Aires!
Went to Matt's last night, and it was everything that I was missing about hot dogs in the US. They're soooo good. AND they have Blue Moon!
Hanif Carroll retweeted
Replying to @daniel_271828
Dunning-Kruger was the scientist, you mean “Dunning-Kruger’s monster”
AI slop will always be reserved for the people who take the first output that AI gives them, having given them little or no direction.
It’s what the models default too.
If you curate the output, then it should no longer be slop.
A couple thoughts after trying Claude again for the first time since Fable was released:
Desktop app is WAY better than before. Feels like they actually care about readability now.
Claude is not very thorough. It's constantly asking me to check or do things myself. Or it claims it did something that it didn't. Or it chooses to speculate rather than looking something up.
That last point is very strange to me because I've read so many people say "GPT does exactly what you tell it to, but Claude understands your intent even if you don't express it well."
After using Dots for a little while, I think I understand the appeal of Hermes and OpenClaw that I missed before.
Dots isn’t quite there yet, though. It works for the most part, but there are some simple things that they need to fix, mostly around permissions.
So, I’m giving Hermes another shot. Third time’s the charm!
Someone has rebuilt Adobe-style creative software from scratch and made it free for anyone to use.
I strongly support open source software, and I want to see it succeed. But I think open source software has an uphill battle replacing big paid apps, given its history.
Historically, the people who build open source software haven't invested much in how the software feels to use, and people will always pay for convenience. Convenience is screens that make sense. It's an error message that tells you what to do next, instead of a long string of letters and numbers that assumes you already know what it means.
A small team can absolutely beat a big company on price. But the ones that succeed will usually treat the experience of using the software as the product, not an afterthought.
That takes taste, and AI won't supply it. AI makes software faster to build, but it doesn't settle how the software feels to use. Ask an AI tool to design a screen and it packs in everything it can, so getting to something simple takes several rounds and a lot of effort. Knowing what to remove is the taste people keep talking about, and building it is the investment open source has to make.
That's why I'd like to see user experience professionals and open source engineers work together more. It seems like an easy win for everyone.
"Start from the outcome" is good advice until the outcome is too open-ended to act on. When that happens, I think you're better off starting with what you already have.
I've been building Casamo, a tool that checks Airbnb and Booking listings for things remote workers need on a multi-week stay. Its goal is "help people book housing for their trip." It's a good goal, but what does that actually look like?
In this particular case, the answer started with a bug. Codex was dogfooding Casamo's bedroom filters, and the room counts turned out to be unreliable. While it fixed that, I asked if it could check for any other information we were disregarding.
Between Airbnb and Booking there was a lot to work with: per-room bed configurations, bathroom counts, room size, cancellation policies, and the exact unit and dated offer. Before extending the Booking extraction, I asked Codex: "is there anything new that we could do with this new information for both platforms?"
It came back with a bunch of ideas, including:
- Sleeping capacity from the actual bed layout, separate from the advertised guest count.
- Comparing an Airbnb listing against the exact Booking unit and dated offer.
- Compiling requirements like "no sofa bed" into structured checks against listing fields.
- Host questions only for facts the listing omits or contradicts.
I don't think I'd have gotten any of that by staring at "help people book housing." It came from asking what I could do with the data I already had. It's worth trying next time a goal feels too vague to build from.
#1 Alfajor overall
(that I've tried in Buenos Aires)
It's not the absolute tastiest, but it's SO good and you can find it literally anywhere.
Neden has grown from a plugin to its own desktop app!
It's been fun slowly improving it over time. I typically use it to watch this show when I eat, so I have a few short opportunities each day to use it and find opportunities for improvement.
This method of development is nice because it naturally inserts pauses in the development cycle, which allow you to look at the app with fresher eyes than if you were to work on it nonstop.
I’ve thought about this throughout my career as a software engineer: how do people without a technical background judge whether an engineer can do the job they need done?
Years of experience with a particular language or framework often become the shortcut. Hiring managers can compare years of experience, but that comparison can undervalue an experienced engineer who could learn a different technology quickly.
Learning another language’s syntax is often a relatively small task for an experienced engineer, though learning a framework and its ecosystem can take longer.
I recently read a discussion about moving software between programming languages that brought me back to this hiring problem.
I think AI makes learning and working with unfamiliar technologies easier, which makes me question how much weight we should give to experience with the exact language or framework a company uses.
If years with a particular technology tell us less, what should someone without a technical background use to judge an engineer’s ability?
I don’t know what the answer is. But I think AI will force us to find one more quickly than we would have otherwise.
The article that prompted this reflection:
ghuntley.com/readable/
I was reading Geoffrey Huntley’s article about the future of programming languages in the age of AI, and it prompted me to look into a distinction I hadn’t fully appreciated: type inference vs. type checking.
So I asked AI to explain it to me.
Type inference is when the compiler figures out types you haven’t written down. For example, it can work out that a function returns a number from its implementation.
Type checking verifies that your code is consistent with the types expected of it, whether those types were written explicitly or inferred. For example, verifying that a function you annotated as returning a number actually does return a number.
A language can do both. But requiring every type to be inferred automatically can limit how expressive its type system is. More expressive systems may need annotations, or even proofs, to check particular properties of your code.
Inference saves us from writing repetitive annotations. But if a coding agent can supply those annotations or proofs, the effort of writing them may matter less when choosing a language.
That raises an interesting question: If AI is writing more of our code, should we prioritize languages that are easier to read and write, or languages that make it easier to verify correctness?
That’s an important distinction to keep in mind as we reconsider our tools for this new era of software engineering.
Personally, I think we’re going to continue moving towards languages that make it easier to verify correctness. We’ve already seen this with the amount of new developer tools projects using Rust, whereas in the past they may have used Python or Typescript.
The article that prompted this exploration:
ghuntley.com/readable/
A few weeks ago I started making a media player plugin that would help me with language learning.
I decided to make a plugin for IINA because I thought vibe coding my own media player would have been too time consuming and difficult.
I was wrong.










