Duarte O.Carmo's articles
Episodes
#63 Retrospectiva #3
24 Dec 2025
Contributed by Lukas
A year-end Retrospectiva from Lisbon: we made a last-minute Christmas trip with our newborn after a passport scramble, and I look back on a packed tw...
#62 From NutriBench to Taralli: How far can you take a prompt?
22 Dec 2025
Contributed by Lukas
I walk through how I used the NutriBench dataset and DSPy to rigorously evaluate and improve Taralli’s calorie estimation, moving beyond “vibes”...
#61 Retrospectiva #2
24 Nov 2025
Contributed by Lukas
In this month’s Retrospectiva, I share the joyful news of Allegra’s arrival, the release of my DeepSeek book, and a pared‑down tool stack that ...
#60 Book release: DeepSeek in Practice
16 Nov 2025
Contributed by Lukas
Back in May this year, my longtime friend Alex reached out and asked me if I wanted to collaborate with him on a book about DeepSeek. I would l...
#59 TTS still sucks
09 Nov 2025
Contributed by Lukas
or at least the open versions of it. I have this very stupid rule. A couple of years ago I decided to turn this blog into a podcast. At the time, I de...
#58 Retrospectiva #1
30 Oct 2025
Contributed by Lukas
Welcome to Retrospectiva. Retrospectiva is a monthly update about what I’ve been up to. In the age of LLMs, I’ve heard many argue that it’s hard...
#57 Faísca: The modern LLM stack in a single script
14 Oct 2025
Contributed by Lukas
Why do this? A small dataset of news headlines GPT2 in PyTorch Pre-training headlines in Portuguese Supervised fine-tuning (SFT) on Portuguese from...
#55 Drowning in News
04 Oct 2025
Contributed by Lukas
The world moves fast, faster every day. For those who work with technology - and even those who don't - it's hard to keep up with the news. But I've a...
#59 Common misconceptions about AI
06 Sep 2025
Contributed by Lukas
It's that time of year again. As usual, we took a couple of weeks off and came south: a bit of Portugal, a bit of Italy, a lot of friends and family...
#58 A Benchmark for language models on European Portuguese
20 Jul 2025
Contributed by Lukas
A couple of weeks ago in Lisbon, I went to a friend's birthday dinner. In front of …
#57 MCPs are mostly hype
05 Jun 2025
Contributed by Lukas
..but they can also be a lot of fun. If you work in tech, I'd say there's a 98% chance you've heard about it. MCPs are the future of agents, MCPs will...
#56 Evals are all you need
03 May 2025
Contributed by Lukas
Last month, I built an app called Taralli. It was fun to close the loop and get it out there. Still - there was an elephant in the room: "...[calorie...
#55 Taralli: Home-Cooked Food Tracking Without the BS
06 Apr 2025
Contributed by Lukas
For years, I never really cared about what I ate, how much I ate, or when I ate it. But sometime late last year, I finally decided to listen to Vitto....
#54 Goodbye Kindle, I don't think I'll miss you
28 Mar 2025
Contributed by Lukas
Even though it never really replaced physical books for me, I've been a big Kindle user for many years. The ability to take hundreds of books with m...
#53 You also hate SQL? Let the LLM handle it
08 Mar 2025
Contributed by Lukas
Last year I made an effort to speak less and learn more. However, I still had the opportunity to present at a couple of conferences. One of them was P...
#52 Simple AI tools
17 Feb 2025
Contributed by Lukas
Last week over lunch, Pedro was telling me how he uses Perplexity to improve the way he searches around the web. He mentioned we're entering a phase w...
#51 What the hell Is GPQA, anyway?
14 Jan 2025
Contributed by Lukas
In the period of the generative AI boom, everything is happening all at once. Every day a new model comes out, every week a billion dollar company tea...
#50 RAG tricks from the trenches
29 Dec 2024
Contributed by Lukas
Some context Our data: A controversial dataset A stupid simple vector store Plain RAG Complicating things: Hybrid Search What if we ask for a summa...
#49 An ode to the Marathon
16 Dec 2024
Contributed by Lukas
I'm flying over the Atlantic just between France and Spain for my yearly Christmas trip back to Lisbon. For some reason, I just remembered the blog po...
#48 Upgrading this website's podcast with F5-TTS
11 Nov 2024
Contributed by Lukas
For the past year, this website's podcast companion has been running on a text-to-speech model called XTTS-v2. It's not horrible. And those who have h...
#46 Classification in the age of LLMs: The emoji problem
06 Oct 2024
Contributed by Lukas
For the past years Vitto and I have used Tricount to track our shared expenses. The app is actually pretty good, but there’s one small thing that...
#45 Around Iceland in 6 days
30 Aug 2024
Contributed by Lukas
For a short summer break, Vitto challenged me to visit Iceland with her. As someone that is used to going south for the summer - this sounded stupi...
#44 Tanda Runner: A personalized running dashboard
22 Jul 2024
Contributed by Lukas
Tanda Runner is a web app that shows me the things I care most about when preparing my next marathon. I've also added a running coach/agent desig...
#43 Do things that don't scale
06 Jun 2024
Contributed by Lukas
I'm lucky enough to work with some pretty talented folks. During a recent offsite, one of them gave a completely improvised talk. He had just gotten b...
#42 How I self-host in 2024
28 Apr 2024
Contributed by Lukas
I'm a sucker for side projects. There's nothing quite like building something to learn about it. Over the last 5+ years I've accumulated a little over...
#41 The best keyboard I've ever had
22 Apr 2024
Contributed by Lukas
There I was. Ready to click the big blue purchase button. 350 Euro, for a keyboard (!) Asking Vitto multiple times: is this really worth it? Should...
#39 NewsHavn: Danish news, in English
26 Feb 2024
Contributed by Lukas
Conversas de café. Literally translated, means "coffee shop conversations". An upcoming election, the weather next week, a corruption scandal, a new...
#38 mistral-doc: Fine-tuning an LLM on my ChatGPT conversations
09 Feb 2024
Contributed by Lukas
Step-by-step instructions to do it yourself If you ever read this blog, you probably already know by now. For the past couple of months, I've been try...
#36 Self-hosting my personal LLM (but not quite)
21 Jan 2024
Contributed by Lukas
ChatGPT is now part of our daily lives. A quick question, an extra input, some quick feedback, I always reach for it. AGI or not AGI, I certainly can'...
#35 Rebuilding /photos
02 Jan 2024
Contributed by Lukas
A couple of years ago, I decided to remove all my photos from Instagram. I wanted something for myself. Something that suited what I needed. The resul...
#34 You can now listen to this blog
08 Dec 2023
Contributed by Lukas
One of my favorite Portuguese columnists has this weird thing about his column. Maybe it's more common than I thought. For every piece he publishes, h...
#33 Should you go into management consulting? Maybe
08 Nov 2023
Contributed by Lukas
A couple of days ago, someone shared this John Oliver video with me. In it, he shows all the ways McKinsey is a terrible organization. Not a minute in...
#32 Changelog neural search
06 Oct 2023
Contributed by Lukas
Search is one of the most important breakthroughs of the internet. Some are saying a list of blue links is not enough - and that AI will overthrow sea...