<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Felipe Antolinez's Weblog: linkedin</title><link href="https://antolinez.ch/" rel="alternate"/><link href="https://antolinez.ch/tags/linkedin.atom" rel="self"/><id>https://antolinez.ch/</id><updated>2026-06-03T11:15:00+00:00</updated><author><name>Felipe Antolinez</name></author><entry><title>Anthropic Opus Model Degradation</title><link href="https://antolinez.ch/2026/Jun/3/anthropic-opus-model-degradation/#atom-tag" rel="alternate"/><published>2026-06-03T11:15:00+00:00</published><updated>2026-06-03T11:15:00+00:00</updated><id>https://antolinez.ch/2026/Jun/3/anthropic-opus-model-degradation/#atom-tag</id><summary type="html">
    &lt;p&gt;I know that the following is very unscientific and just "vibes," but in my personal experience, &lt;a href="https://www.linkedin.com/company/anthropicresearch"&gt;Anthropic&lt;/a&gt;'s models have severely degraded since shortly before Opus 4.7 was released about six weeks ago. And my initial impression from the week or so I've spent with 4.8 is that it isn't any better.&lt;/p&gt;
&lt;p&gt;Three months ago, Opus 4.6 was great and highly reliable. However, the performance of the recent 4.7 and 4.8 models is much less reliable for me. They often think for a long time before suddenly speeding up and answering suspiciously quickly. I now also frequently see the model correct itself in the final answer, as if it hadn't already settled on its answer during the reasoning tokens. And the models seem to lose context even in short conversations of no more than a few thousand tokens. For a while, I switched to the Opus 4.6 1M context window model instead of 4.7, but I feel that 4.6 has also degraded in recent weeks, as surprising as that may sound.&lt;/p&gt;
&lt;p&gt;I'm reminded of the time around March/April, when &lt;a href="https://www.linkedin.com/company/anthropicresearch"&gt;Anthropic&lt;/a&gt; admitted that a few changes to the Claude Code harness had degraded its performance. According to their postmortem, the bugs were in the harness, not the model weights or the API. But this time, I don't think it's only the Claude Code harness, because I'm seeing the same problems in the Claude desktop app. Yesterday I asked Opus 4.8 to write some SQL queries for an investigation, a task I've done almost daily for well over a year. I usually provide the table schemas and indices, and the models normally write long, complex queries based on my instructions without trouble. This time, it just wouldn't understand what I needed, and I had to be far more explicit than ever before, even though it was a relatively simple task.&lt;/p&gt;
&lt;p&gt;I wonder whether it's quantization or context compaction because of &lt;a href="https://www.linkedin.com/company/anthropicresearch"&gt;Anthropic&lt;/a&gt;'s compute crunch, or whether the models have been overtrained on benchmarks with very clear task descriptions. But I need models to read between the lines and remember the context of a conversation. Otherwise, I might as well write the SQL query, code, or text myself if I have to be very explicit. I haven't tried any serious workloads on local models yet, and I'm sure I'd be even more frustrated than with the latest Opus models.&lt;/p&gt;
&lt;p&gt;The crazy thing is that I don't want the models to be bad. I'd much rather write about the cool things I'm building with them than about how they've regressed. I genuinely want &lt;a href="https://www.linkedin.com/company/anthropicresearch"&gt;Anthropic&lt;/a&gt; models to be good, and the most frustrating part is knowing they were great just a few months ago, but having no way to access them now.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_i-know-that-the-following-is-very-unscientific-activity-7467896620546674689-RpYZ"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/></entry><entry><title>We Should All Be Using Dependency Cooldowns</title><link href="https://antolinez.ch/2026/May/27/dependency-cooldowns/#atom-tag" rel="alternate"/><published>2026-05-27T11:15:00+00:00</published><updated>2026-05-27T11:15:00+00:00</updated><id>https://antolinez.ch/2026/May/27/dependency-cooldowns/#atom-tag</id><summary type="html">
    &lt;p&gt;Dependency cooldowns are a highly effective way to mitigate supply-chain attacks, which have become a lot more frequent recently. And because it’s such a simple strategy to implement, I think that every project should adopt it.&lt;/p&gt;
&lt;p&gt;Once a malicious release of a popular package is published, the attacker’s window of opportunity is usually less than a week before it’s detected. Therefore, &lt;a href="https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns"&gt;as William Woodruff showed&lt;/a&gt;, adding a one- or two-week cooldown period before adopting any new release would have prevented most of the prominent supply-chain attacks in recent months.&lt;/p&gt;
&lt;p&gt;Implementation in uv for Python is as simple as adding this one line to your &lt;code&gt;pyproject.toml&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;toml
exclude-newer = "1 week"&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Dependabot, Renovate, and pnpm all have equivalent features.&lt;/p&gt;
&lt;p&gt;One common pushback against this strategy is that it stops working if everyone adopts it, but I don’t think this is correct. Compromised releases get caught quickly, not because they are used in a real exploit first, but because there are researchers actively looking for them.&lt;/p&gt;
&lt;p&gt;Dependency cooldowns, of course, don’t catch all supply-chain attacks, but for a one-line config change, they offer a lot of protection.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_we-should-all-be-using-dependency-cooldowns-activity-7465359920830545920-NzXN"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="security"/></entry><entry><title>Note on 15th May 2026</title><link href="https://antolinez.ch/2026/May/15/generative-ner-tagging/#atom-tag" rel="alternate"/><published>2026-05-15T11:25:00+00:00</published><updated>2026-05-15T11:25:00+00:00</updated><id>https://antolinez.ch/2026/May/15/generative-ner-tagging/#atom-tag</id><summary type="html">
    &lt;p&gt;If you're still using BERT-style token classification models for NER tagging in production, you should probably reevaluate.&lt;/p&gt;
&lt;p&gt;Last summer, we replaced our token classification model with &lt;a href="https://www.linkedin.com/company/google/"&gt;Google&lt;/a&gt;'s Gemini 2.5 Flash Lite for NER tagging people, companies, and locations on millions of news articles per day. At first, it felt wrong and overkill to replace a well-established, standard approach with a generative model. However, on our own evaluation datasets, the LLM outperformed every BERT model we had implemented previously because it brings so much more contextual understanding to the task.&lt;/p&gt;
&lt;p&gt;There are a few obvious advantages to using LLMs for NER tagging. For example, LLMs can easily handle text like "Michael and Jennifer Smith" and correctly extract both "Michael Smith" and "Jennifer Smith" as separate people. They are also much better at handling formatting issues and messy edge cases you inevitably encounter in real-world data at scale.&lt;/p&gt;
&lt;p&gt;Deployment is also dramatically simpler: instead of managing model serving infrastructure, you're calling an inference API that you can parallelize and scale easily. Additionally, you automatically benefit from LLMs getting better and cheaper over time without changing anything on your end, provided that you have a solid eval dataset.&lt;/p&gt;
&lt;p&gt;We're now processing close to 1B input tokens and producing 100M output tokens per day on this pipeline alone. The most popular pre-trained NER models on &lt;a href="https://www.linkedin.com/company/huggingface/"&gt;Hugging Face&lt;/a&gt; are still downloaded millions of times per month, which tells me that structured text extraction with LLMs is one of the most underrated applications right now.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_if-youre-still-using-bert-style-token-classification-activity-7461013994934333440-8sWL"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ren"&gt;ren&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/><category term="ren"/></entry><entry><title>Note on 7th May 2026</title><link href="https://antolinez.ch/2026/May/7/data-center-alley/#atom-tag" rel="alternate"/><published>2026-05-07T11:15:00+00:00</published><updated>2026-05-07T11:15:00+00:00</updated><id>https://antolinez.ch/2026/May/7/data-center-alley/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Google Maps screenshot of Ashburn, Northern Virginia, with data centers surrounded by a golf course and suburbs." src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1778153340/blog/rniqhhubcvrjuuqfddv4.png" /&gt;&lt;/p&gt;
&lt;p&gt;Have you ever wondered what “the cloud” actually looks like? It’s a lot more physical than it sounds.&lt;/p&gt;
&lt;p&gt;This Google Maps screenshot shows the so-called “Data Center Alley” in Ashburn, Northern Virginia—a cluster of warehouse-sized data centers located between a golf course and a few suburbs that look like they’re straight out of an American movie. AWS’s famous us-east-1 lives here, along with data centers from &lt;a href="https://www.linkedin.com/company/microsoft/"&gt;Microsoft&lt;/a&gt;, &lt;a href="https://www.linkedin.com/company/google/"&gt;Google&lt;/a&gt;, &lt;a href="https://www.linkedin.com/company/meta/"&gt;Meta&lt;/a&gt;, &lt;a href="https://www.linkedin.com/company/ibm/"&gt;IBM&lt;/a&gt;, &lt;a href="https://www.linkedin.com/company/oracle/"&gt;Oracle&lt;/a&gt;, and many others. According to a frequently cited estimate from the local economic development office, around 70% of the world’s internet traffic passes through here. I have some doubts about whether this estimate is still accurate, but it is likely the world’s largest concentration of digital infrastructure.&lt;/p&gt;
&lt;p&gt;As a software engineer or AI builder, it’s easy to forget that whatever services you call or build on, your code is actually moving photons through optical fibers and electrons across silicon somewhere, drawing real power from an electrical grid. AI is progressing really quickly right now, but the underlying &lt;a href="https://antolinez.ch/2026/Mar/1/context-windows-are-limited-by-atoms-not-bits/"&gt;physical infrastructure imposes constraints on how much of that progress is actually deployable&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_have-you-ever-wondered-what-the-cloud-actually-activity-7458112161786064897-d6kJ"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/infrastructure"&gt;infrastructure&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="infrastructure"/></entry><entry><title>AI Is Not Great at Writing Prompts for Itself</title><link href="https://antolinez.ch/2026/Apr/29/ai-writing-its-own-prompts/#atom-tag" rel="alternate"/><published>2026-04-29T11:15:00+00:00</published><updated>2026-04-29T11:15:00+00:00</updated><id>https://antolinez.ch/2026/Apr/29/ai-writing-its-own-prompts/#atom-tag</id><summary type="html">
    &lt;p&gt;Here is something interesting I've learned in the past few weeks about building AI products: AI is not great at writing prompts for itself. It's a trap I've fallen into repeatedly, and I suspect many others have too.&lt;/p&gt;
&lt;p&gt;It usually goes like this: You start building a feature that uses one or more prompts for an LLM call, agent, or workflow with a coding agent like Claude Code. The first version works, and the output is ok, but not great. So you show your coding agent some examples and tell it what you don't like, and it edits the prompt. Now, the new output is different, and on the exact same task, it's slightly better.&lt;/p&gt;
&lt;p&gt;After repeating this a few times, you convince yourself that the prompt is better than what you started with. However, when you look at it, you realize it's 3x longer than the original. Deep down, you know it still isn't great, but at that point, other priorities take over, and you move on to something supposedly more important.&lt;/p&gt;
&lt;p&gt;The issue is that LLMs love producing tokens. They keep extending the prompt based on your feedback, adding some examples here, and DON'Ts and MUST NOTs all over the place. The LLM also starts decompressing itself, spelling out in more words things it obviously already knows. However, this decompression is overfit to the specific cases you iterated on, so it doesn't generalize well to other cases.&lt;/p&gt;
&lt;p&gt;The only way out is to actually figure out what you want and why, and write it down precisely yourself, which will often cut the prompt by 90%. It's hard work, and you have to spend real brain cycles distilling all your observations into as few precise words as possible. But I think this is the only way to achieve a great result with an AI-based product for a task that isn't easy to verify or write evals for.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_here-is-something-interesting-ive-learned-activity-7455213058366468097-ZXcn"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/><category term="coding-agents"/></entry><entry><title>Note on 15th April 2026</title><link href="https://antolinez.ch/2026/Apr/15/build-your-own-agent-from-scratch/#atom-tag" rel="alternate"/><published>2026-04-15T11:15:00+00:00</published><updated>2026-04-15T11:15:00+00:00</updated><id>https://antolinez.ch/2026/Apr/15/build-your-own-agent-from-scratch/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Screenshot of the first Ren Agent conversation in the terminal" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1776253031/blog/r5pmgrxkxf62z47zcl3x.png" /&gt;&lt;/p&gt;
&lt;p&gt;I think that everyone working in AI should build their own agent from scratch, at least once. Not because it's hard, but because it's surprisingly easy, which is precisely the point.&lt;/p&gt;
&lt;p&gt;Exactly one year ago today, I read &lt;a href="https://www.linkedin.com/in/thorsten-ball-3142b652/"&gt;Thorsten Ball&lt;/a&gt;'s &lt;a href="https://ampcode.com/how-to-build-an-agent"&gt;How to Build an Agent, or: The Emperor Has No Clothes&lt;/a&gt;. In this blog post, which is the single piece of text that most influenced me last year, he shows how to build a fully functional coding agent from scratch in under 400 lines of code.&lt;/p&gt;
&lt;p&gt;Shortly thereafter, we did a one-day hackathon at &lt;a href="https://www.linkedin.com/company/ren-systems/"&gt;Ren Systems&lt;/a&gt;, and by the end of the day, we had our own working agent running in the terminal. We didn't even use &lt;a href="https://www.linkedin.com/company/anthropicresearch/"&gt;Anthropic&lt;/a&gt;'s Claude Code back then, so we actually typed the complete agent code manually.&lt;/p&gt;
&lt;p&gt;Only after building our own agent did I really start to understand what agents are. I had been reading about agents for months, but something fundamentally different clicked in my brain when I saw our own agent interact with the user, interpret the intent, and iteratively choose the right tools to achieve the goal. This emergent behavior is hard to appreciate without experiencing it so directly.&lt;/p&gt;
&lt;p&gt;Agents have become common by now, but I still recommend everyone working in this space to build one from scratch. It sounds almost esoteric, but you have to touch it yourself to really feel what's going on. The moment your agent does something you didn't explicitly program it to do is when the line between deterministic code execution and something that's conscious and thinking starts to blur. You know it's an illusion, but it's a remarkably convincing one.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_how-to-build-an-agent-activity-7450139620438192128-nFa4"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/agentic-ai"&gt;agentic-ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ren"&gt;ren&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/><category term="agentic-ai"/><category term="ren"/></entry><entry><title>Note on 8th April 2026</title><link href="https://antolinez.ch/2026/Apr/8/vibe-coding-vs-agentic-engineering/#atom-tag" rel="alternate"/><published>2026-04-08T11:22:50+00:00</published><updated>2026-04-08T11:22:50+00:00</updated><id>https://antolinez.ch/2026/Apr/8/vibe-coding-vs-agentic-engineering/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Vibe Coding vs. Agentic Engineering" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1775647808/blog/fcssh5epahghsp3ouyr4.png" /&gt;&lt;/p&gt;
&lt;p&gt;Vibe coding and agentic engineering are two terms that come up constantly right now, but are often confused. Both describe building software where AI writes most or all of the code, but there is a fundamental difference.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vibe coding&lt;/strong&gt;, as Andrej Karpathy originally defined it, means building something without looking at the code. You describe what you want, see if it works, and iterate on the vibes without even intending to read or understand the code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agentic engineering&lt;/strong&gt; is something very different. It's not about writing code with agents, but about engineering a system that uses agents to write code that meets specifications and is well-tested. The resulting code needs to match existing patterns in the codebase, adhere to the company's engineering principles, and pass an extensive test suite.&lt;/p&gt;
&lt;p&gt;From what I'm seeing, the best engineering organizations right now are spending a lot of their time on building the machine that writes the code. In practice, this means aligning conventions and patterns throughout the codebase, improving the feedback loop for coding agents, automating review processes, tightening deployment practices, and wrapping LLMs in deterministic workflows.&lt;/p&gt;
&lt;p&gt;At Ren Systems, our team has been putting a lot of work into this. Together with &lt;a href="https://jangiacomelli.com/"&gt;Jan Giacomelli&lt;/a&gt; and Giorgio Nicoli, we have been working on things like fully typing our test suite, writing custom skills for zero-downtime database migrations, implementing custom linters that deterministically check our desired coding patterns and provide feedback to coding agents when they are violated, and building an AI-assisted code review flow trained on our own review comments from many thousands of past code reviews.&lt;/p&gt;
&lt;p&gt;All of this was implemented much more quickly with the help of coding agents, but it required deliberate engineering. As a result, we can now build on our codebase with agents much more quickly, and it is in a much better overall state than it was one year ago.&lt;/p&gt;
&lt;p&gt;There is absolutely a place for vibe coding, even for professional developers. It's great for prototyping, exploring ideas, and internal tooling, where the stakes are low, and you're the only person who gets hurt if it has bugs. But this isn't what companies employ professional software engineers for, and that job isn't going away with AI.&lt;/p&gt;
&lt;p&gt;If you define software engineering as typing out code by hand, then yes, that job is being replaced. But if you define it as engineering the machine that builds production-grade code, software engineers with these skills are going to be more valuable than ever.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_vibe-coding-and-agentic-engineering-are-two-share-7447604808892510208-t9Ld"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/software-engineering"&gt;software-engineering&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/><category term="software-engineering"/></entry><entry><title>Note on 1st April 2026</title><link href="https://antolinez.ch/2026/Apr/1/gitlab-incidents-q1-2026/#atom-tag" rel="alternate"/><published>2026-04-01T10:07:00+00:00</published><updated>2026-04-01T10:07:00+00:00</updated><id>https://antolinez.ch/2026/Apr/1/gitlab-incidents-q1-2026/#atom-tag</id><summary type="html">
    &lt;p&gt;GitLab had 38 public incidents in Q1 2026, up 36% from Q1 2025. March alone had 20, almost one per working day. They even have an active incident as I write this on April 1st, and, sadly, this isn't even an April Fool's joke.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot of GitLab error message" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1775038340/blog/d8ce6blyjbc2rvk1lsuf.png" /&gt;&lt;/p&gt;
&lt;p&gt;Looking at their status page history, there is a consistent pattern: a code change gets deployed, breaks production, the team identifies the bad MR, and has to revert it. CI/CD pipelines are the most frequently affected component, and the incidents are noticeably impacting our development workflow.&lt;/p&gt;
&lt;p&gt;I get it, these things happen to us too. Having to revert bad code changes every now and then is part of working on a complex real-world production system. But what makes this difficult to accept isn't just the trend itself. GitHub's status page is arguably even worse, but at least GitHub appears to be consistently ahead on AI features. GitLab appears to be getting the worst of both worlds: increasing instability without access to the latest capabilities, such as the Claude Code integration. If you're going to break things, you should at least be shipping something valuable and exciting regularly.&lt;/p&gt;
&lt;p&gt;I think there's a real question here about whether the industry has crossed a threshold where the speed of shipping with AI tools has outpaced existing deployment systems' ability to catch problems before they reach production. The irony is that GitLab's product is literally about helping teams ship code safely. If the company that builds the CI/CD platform is struggling with this, it might be an early signal that everyone needs to rethink how deployment safety scales when AI dramatically increases the pace of change.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_gitlab-had-38-public-incidents-in-q1-2026-share-7445049051235958785-Vqgw"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/devops"&gt;devops&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="devops"/><category term="ai"/><category term="coding-agents"/></entry><entry><title>Note on 26th March 2026</title><link href="https://antolinez.ch/2026/Mar/26/ai-side-quests-productivity/#atom-tag" rel="alternate"/><published>2026-03-26T13:09:00+00:00</published><updated>2026-03-26T13:09:00+00:00</updated><id>https://antolinez.ch/2026/Mar/26/ai-side-quests-productivity/#atom-tag</id><summary type="html">
    &lt;p&gt;One big danger of AI tools in the workplace is how much easier they make it to pursue side quests.&lt;/p&gt;
&lt;p&gt;Side quests used to be self-regulating. You'd think "wouldn't it be cool to try this?", estimate the effort at half a day, and move on. Now you tell yourself "it takes only five minutes", and decide to just go for it out of curiosity, but it's of course never just five minutes.&lt;/p&gt;
&lt;p&gt;The result is that you can get to the end of a day having completed ten low-priority items on your todo list very efficiently, while making zero progress on the one high-priority item that needed your attention most. Your only real defense is knowing what the highest-priority item on your list is and holding yourself accountable for making progress on it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7442920655416860672"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="coding-agents"/></entry><entry><title>Note on 17th March 2026</title><link href="https://antolinez.ch/2026/Mar/17/em-dashes-ai-writing-tell/#atom-tag" rel="alternate"/><published>2026-03-17T13:00:00+00:00</published><updated>2026-03-17T13:00:00+00:00</updated><id>https://antolinez.ch/2026/Mar/17/em-dashes-ai-writing-tell/#atom-tag</id><summary type="html">
    &lt;p&gt;Em-dashes have become a telltale sign of AI-generated text, which has created some funny side effects.&lt;/p&gt;
&lt;p&gt;I now frequently see correct and incorrect usage of hyphens and dashes mixed in the same piece of text. This happens when someone revises a piece of AI-generated text but doesn't understand the difference between hyphens, en-dashes, and em-dashes.&lt;/p&gt;
&lt;p&gt;It's also pretty obvious that some people have started find-replacing all em-dashes with single hyphens (-) or double hyphens (--) to hide that they used AI. Which, of course, is its own tell.&lt;/p&gt;
&lt;p&gt;But this still doesn't hide the most obvious giveaway, which isn't the em-dash itself. LLMs almost always put spaces around em-dashes: word — word instead of word—word. My guess is that models are heavily trained on news data, where the AP style guide, most commonly used in journalism, recommends spaces around em-dashes. Books and most professional writing use them without spaces.&lt;/p&gt;
&lt;p&gt;So if you're taking your writing seriously, there's no way around learning how to use hyphens, en-dashes, and em-dashes correctly. I wrote a short post explaining the differences on my blog: &lt;a href="https://antolinez.ch/2026/Mar/16/hyphens-and-dashes/"&gt;Hyphens and Dashes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_hyphens-and-dashes-activity-7439657136714010625-6Cjc"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/writing"&gt;writing&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="writing"/><category term="ai"/></entry><entry><title>Note on 25th February 2026</title><link href="https://antolinez.ch/2026/Feb/25/kofman-sycophancy-llms/#atom-tag" rel="alternate"/><published>2026-02-25T13:00:00+00:00</published><updated>2026-02-25T13:00:00+00:00</updated><id>https://antolinez.ch/2026/Feb/25/kofman-sycophancy-llms/#atom-tag</id><summary type="html">
    &lt;p&gt;Is this where LLMs picked up their famous sycophantic phrase and behavior?&lt;/p&gt;
&lt;p&gt;Currently reading &lt;em&gt;Conscious Business&lt;/em&gt; by Fred Kofman, a classic on values and authentic communication at work, and stumbled across this on page 57.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Page 57 of Conscious Business by Fred Kofman, with the phrase &amp;quot;You are absolutely right.&amp;quot; highlighted." src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1772107394/blog/ezhhcnjkc2m0g6byatx0.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_is-this-where-llms-picked-up-their-famous-activity-7432046778071441408-JPyN"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On &lt;a href="/books/kofman-conscious-business/"&gt;Conscious Business&lt;/a&gt; by Fred Kofman&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/management"&gt;management&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/><category term="management"/></entry><entry><title>Note on 17th February 2026</title><link href="https://antolinez.ch/2026/Feb/17/coding-agents-secrets-env-files/#atom-tag" rel="alternate"/><published>2026-02-17T13:00:00+00:00</published><updated>2026-02-17T13:00:00+00:00</updated><id>https://antolinez.ch/2026/Feb/17/coding-agents-secrets-env-files/#atom-tag</id><summary type="html">
    &lt;p&gt;If you're using Claude Code or other coding agents, check whether they have access to your secrets. Many developers assume .env files are protected by default, but they are not.&lt;/p&gt;
&lt;p&gt;In Claude Code, the interactive permission prompt is the only barrier, and it's easy to click through without thinking. To fix this, you can add a deny rule in your global Claude Code settings (see screenshot).&lt;/p&gt;
&lt;p&gt;It takes 30 seconds to set up, and it's the kind of thing you only think about after something goes wrong.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Claude Code deny rule settings for .env files" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_1200,f_auto,q_auto/v1771322887/blog/voqrtneqejletnz8gxyi.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_if-youre-using-claude-code-or-other-coding-activity-7429510021409054721-Lby_"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/><category term="security"/></entry><entry><title>Note on 10th February 2026</title><link href="https://antolinez.ch/2026/Feb/10/llms-recommender-system-moat/#atom-tag" rel="alternate"/><published>2026-02-10T13:00:00+00:00</published><updated>2026-02-10T13:00:00+00:00</updated><id>https://antolinez.ch/2026/Feb/10/llms-recommender-system-moat/#atom-tag</id><summary type="html">
    &lt;p&gt;For the first time, you can build a competitive recommender system without a single user.&lt;/p&gt;
&lt;p&gt;The playbook behind the flywheel of many of the most powerful companies has been: build a platform, measure engagement data, identify patterns, and make better recommendations to attract more users. That's the network effect that made Google, Meta, and Amazon so hard to compete with.&lt;/p&gt;
&lt;p&gt;But LLMs have a compressed representation of that same knowledge from training on vast amounts of the internet. So to overcome the cold-start problem, you no longer need to measure and train on years of engagement data from your own users.&lt;/p&gt;
&lt;p&gt;Now you can just give an LLM some context of a user, for example, their social media profile, to get high-quality recommendations. It's a fundamentally different entry point to personalization, one that doesn't depend on scale.&lt;/p&gt;
&lt;p&gt;Are LLMs about to break the recommender-system moat?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_for-the-first-time-you-can-build-a-competitive-activity-7426977006300401665-ulAx"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/></entry><entry><title>Note on 3rd February 2026</title><link href="https://antolinez.ch/2026/Feb/3/openclaw-proactive-ai/#atom-tag" rel="alternate"/><published>2026-02-03T14:00:00+00:00</published><updated>2026-02-03T14:00:00+00:00</updated><id>https://antolinez.ch/2026/Feb/3/openclaw-proactive-ai/#atom-tag</id><summary type="html">
    &lt;p&gt;OpenClaw took the internet by storm last week. It's obviously a security nightmare, but its viral success confirms something I've believed for a while: most AI products today are fundamentally limited by requiring too much agency from their users.&lt;/p&gt;
&lt;p&gt;There's real demand for AI that works for you, not just with you. A system that monitors, anticipates, and acts proactively instead of waiting for your next prompt. &lt;/p&gt;
&lt;p&gt;At Ren Systems, we've been building exactly this kind of product: AI that works on behalf of the user and surfaces what matters before they ask for it. There's something almost magical when an AI system works this way.&lt;/p&gt;
&lt;p&gt;Proactive AI is where the next value unlock lies. But building it in a way that's secure and compliant isn't something you can prompt out of Claude Code overnight.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_openclaw-took-the-internet-by-storm-last-activity-7424436553776537600-EZU_"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/agentic-ai"&gt;agentic-ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ren"&gt;ren&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/claws"&gt;claws&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="agentic-ai"/><category term="ren"/><category term="claws"/></entry><entry><title>Three Principles for Using Coding Agents Effectively</title><link href="https://antolinez.ch/2026/Jan/27/in-my-experience-only-three-things-matter-for-usi/#atom-tag" rel="alternate"/><published>2026-01-27T14:00:00+00:00</published><updated>2026-01-27T14:00:00+00:00</updated><id>https://antolinez.ch/2026/Jan/27/in-my-experience-only-three-things-matter-for-usi/#atom-tag</id><summary type="html">
    &lt;p&gt;In my experience, only three things matter for using coding agents effectively:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clarity of mind about what you want.&lt;/li&gt;
&lt;li&gt;The ability to put it into words precisely.&lt;/li&gt;
&lt;li&gt;A system to verify the outcome and improve.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first two are harder than they sound. If you don't know what you want, that's fine, but be conscious of it. Use the agent to gain clarity, don't just let it run when you're still figuring things out.&lt;/p&gt;
&lt;p&gt;For the third, give your agent a way to check its own work. A robust feedback loop with type checkers and robust tests turns guessing into learning.&lt;/p&gt;
&lt;p&gt;Model choice, prompting tricks, and context management are far less important.&lt;/p&gt;
&lt;p&gt;None of this is specific to AI. These are the same skills that make people effective in general: clarity, communication, and the ability to learn from mistakes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_in-my-experience-only-three-things-matter-activity-7421899908070236160-zcmV"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/></entry><entry><title>Note on 23rd January 2026</title><link href="https://antolinez.ch/2026/Jan/23/y2k-bug-for-llms/#atom-tag" rel="alternate"/><published>2026-01-23T14:00:00+00:00</published><updated>2026-01-23T14:00:00+00:00</updated><id>https://antolinez.ch/2026/Jan/23/y2k-bug-for-llms/#atom-tag</id><summary type="html">
    &lt;p&gt;LLMs had a rough start to 2026.&lt;/p&gt;
&lt;p&gt;Last week, our AI agent told a user their Monday meeting was on Sunday. The reason? In 2025, January 12th was a Sunday—and that's what the model learned during training.&lt;/p&gt;
&lt;p&gt;We're seeing this pattern across many date-related tasks: models confidently inferring the wrong day of the week, or hallucinating years that weren't in the input text.&lt;/p&gt;
&lt;p&gt;The obvious fix is to inject today's date into every prompt. However, that's not always what you want. For example, if you're extracting dates from text, adding context about "today" can bias the output and cause hallucinations of its own.&lt;/p&gt;
&lt;p&gt;Is this the new Y2K bug we'll have to deal with every January? Or will future models be more robust to year transitions?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7420465558715846657/"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/></entry><entry><title>Note on 13th January 2026</title><link href="https://antolinez.ch/2026/Jan/13/ai-coding-tools-attachment/#atom-tag" rel="alternate"/><published>2026-01-13T14:00:00+00:00</published><updated>2026-01-13T14:00:00+00:00</updated><id>https://antolinez.ch/2026/Jan/13/ai-coding-tools-attachment/#atom-tag</id><summary type="html">
    &lt;p&gt;One of the hardest adjustments to AI coding tools has nothing to do with prompting. It's overcoming your attachment to code.&lt;/p&gt;
&lt;p&gt;When you write code by hand, you accumulate emotional investment with every line. Throwing it away feels like a waste. So you keep patching, extending, and defending code in reviews that should have been discarded.&lt;/p&gt;
&lt;p&gt;Use AI to break this pattern and don't fall into the attachment trap. Code becomes cheap enough to be treated as exploration rather than construction. Prototype quickly, build your mental model, and find the simplest solution that solves your problem. Then start fresh with clarity.&lt;/p&gt;
&lt;p&gt;The developers who get the best results aren't the fastest prompters. They're the ones who know when to start over, and when to walk away entirely.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_one-of-the-hardest-adjustments-to-ai-coding-activity-7416841565261963264-dhk1"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/></entry><entry><title>Note on 6th January 2026</title><link href="https://antolinez.ch/2026/Jan/6/being-generative/#atom-tag" rel="alternate"/><published>2026-01-06T14:00:00+00:00</published><updated>2026-01-06T14:00:00+00:00</updated><id>https://antolinez.ch/2026/Jan/6/being-generative/#atom-tag</id><summary type="html">
    &lt;p&gt;The most important work skill in today's age of AI is, ironically, being generative.&lt;/p&gt;
&lt;p&gt;AI removed the execution bottleneck. So the new constraint is how quickly you can generate ideas worth building—and whether you actually build them or get stuck in possibilities. I first heard this advice an episode of Lenny's podcast with Replit's founder Amjad Masad in November 2014.&lt;/p&gt;
&lt;p&gt;Following this advice has served me well in 2025. I stopped reading about Claude Code and tested it myself, then convinced our engineering team to adopt it. When I saw an opportunity for an AI email assistant, we built Ren Agent instead of strategizing about it.&lt;/p&gt;
&lt;p&gt;So if you need a resolution for 2026: AI is generative. Make sure you are too.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_the-most-important-work-skill-in-todays-activity-7414304992108511232-Ywpm"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/></entry><entry><title>Note on 22nd December 2025</title><link href="https://antolinez.ch/2025/Dec/22/nlp-with-transformers-book/#atom-tag" rel="alternate"/><published>2025-12-22T14:00:00+00:00</published><updated>2025-12-22T14:00:00+00:00</updated><id>https://antolinez.ch/2025/Dec/22/nlp-with-transformers-book/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Natural Language Processing with Transformers book by O'Reilly, placed on an Advent wreath with orange candles" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_800,f_auto,q_auto/v1771191333/blog/p164cafdmt5a7ckqmrok.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Looking for a last-minute gift for someone technical who wants to get into AI, or an entry point for yourself?&lt;/p&gt;
&lt;p&gt;I highly recommend "Natural Language Processing with Transformers" by Lewis Tunstall, Leandro von Werra &amp;amp; Thomas Wolf. It's a practical guide to training and scaling transformer models, written by the people who built the library at Hugging Face.&lt;/p&gt;
&lt;p&gt;This is where I learned the fundamentals of modern transformer models a few years ago, and despite being from 2022, the notes I took while reading the book remain the resource I go back to most on the topic.&lt;/p&gt;
&lt;p&gt;Happy Holidays!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_looking-for-a-last-minute-gift-for-someone-activity-7408874451011911680-qyT5"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/books"&gt;books&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="books"/></entry><entry><title>Note on 16th December 2025</title><link href="https://antolinez.ch/2025/Dec/16/bandolino-gpt-jagged-intelligence/#atom-tag" rel="alternate"/><published>2025-12-16T14:00:00+00:00</published><updated>2025-12-16T14:00:00+00:00</updated><id>https://antolinez.ch/2025/Dec/16/bandolino-gpt-jagged-intelligence/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img src="https://res.cloudinary.com/dc7ady43d/image/upload/w_800,f_auto,q_auto/v1771191232/blog/fmoxkl0s6ly8vq5ozhkt.jpg" alt="A Bandolino puzzle with a maze asking whether the dog can reach the bone" style="max-width: 400px; width: 100%; display: block; margin: 0 auto;"&gt;&lt;/p&gt;
&lt;p&gt;Last weekend, my son was working on a Bandolino puzzle where he had to match questions to answers with a piece of string.&lt;/p&gt;
&lt;p&gt;OpenAI just released GPT–5.2 last week, claiming it "performs at or above human expert level" across vision, math, and physics benchmarks [1]. I was curious how long it would take GPT–5.2 to solve it—it failed completely.&lt;/p&gt;
&lt;p&gt;How can such a powerful model fail at a task that a four-year-old solved in under a minute after seeing it for the first time?&lt;/p&gt;
&lt;p&gt;Andrej Karpathy coined the term "jagged intelligence" for this phenomenon [2]. LLMs can solve complex problems that seem hard to humans while failing at tasks that seem trivially easy. Unlike human intelligence, where abilities tend to correlate and develop together, LLM capabilities are jagged and unpredictable.&lt;/p&gt;
&lt;p&gt;To put it another way: while these models are extremely powerful, they can't be trusted.&lt;/p&gt;
&lt;p&gt;What does this imply for deploying LLMs in production settings?&lt;/p&gt;
&lt;p&gt;(1) Benchmarks give you no guarantees—you have to evaluate models on your own tasks.&lt;/p&gt;
&lt;p&gt;(2) Your overall system has to be tolerant of these jagged edges. Use LLMs for the tasks that they are good at and keep a human in the loop on all critical decisions.&lt;/p&gt;
&lt;p&gt;(3) You have to take security extremely seriously. Meta's "Agents Rule of Two" is a great framework for AI agent security that is simple to remember and apply in practice [3].&lt;/p&gt;
&lt;p&gt;At Ren Systems, we leverage LLMs extensively to create value for our users. But it's always our users who ultimately take action.&lt;/p&gt;
&lt;p&gt;What's one lesson you've learned deploying LLMs in production?&lt;/p&gt;
&lt;p&gt;(References/links in first comment below)&lt;/p&gt;
&lt;p&gt;References/links&lt;/p&gt;
&lt;p&gt;[1] Introducing GPT-5.2 – https://openai.com/index/introducing-gpt-5-2/&lt;/p&gt;
&lt;p&gt;[2] Andrej Karpathy on jagged intelligence – https://x.com/karpathy/status/1816531576228053133&lt;/p&gt;
&lt;p&gt;[3] Meta's Agents Rule of Two – https://ai.meta.com/blog/practical-ai-agent-security/&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_last-weekend-my-son-was-working-on-a-bandolino-activity-7406694799694516224-thV6"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/llms"&gt;llms&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="ai"/><category term="llms"/></entry><entry><title>Note on 9th December 2025</title><link href="https://antolinez.ch/2025/Dec/9/mr-rate-as-proxy-metric/#atom-tag" rel="alternate"/><published>2025-12-09T14:00:00+00:00</published><updated>2025-12-09T14:00:00+00:00</updated><id>https://antolinez.ch/2025/Dec/9/mr-rate-as-proxy-metric/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Merge Requests merged graph with Claude Code label and a question mark suggesting acceleration" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_800,f_auto,q_auto/v1771191172/blog/ijl9gobfw0loyhpibcye.png" /&gt;&lt;/p&gt;
&lt;p&gt;Last week, I posted about AI coding tools and engineering productivity. It got more attention than expected and sparked a debate in comments I didn't anticipate: Is the merge request rate a good measure of productivity?&lt;/p&gt;
&lt;p&gt;Fair question. Here's my take:&lt;/p&gt;
&lt;p&gt;I used the rate of merged MRs as a proxy metric for productivity. Like all proxies, it's imperfect, but I think it's better than most alternatives, at least in our case.&lt;/p&gt;
&lt;p&gt;If you can break a complex feature or refactoring into multiple small, independent MRs, that's not gaming a metric. That's good engineering. Your reviewers will thank you, and your users will benefit. More power to you!&lt;/p&gt;
&lt;p&gt;If you're gaming a metric, or worried that others are, the issue isn't the metric. It's your company culture.&lt;/p&gt;
&lt;p&gt;So yes, for our company at our current stage, with our team and culture, I believe the rate of merged MRs is a useful signal for engineering velocity.&lt;/p&gt;
&lt;p&gt;For what it's worth: at Ren Systems, we don't measure engineers by MR rate or any similar metric. Neither individually, nor collectively. I shared this observation as a quantifiable measure of the acceleration we feel as a team in our daily work.&lt;/p&gt;
&lt;p&gt;But this debate is secondary to my main point: I wasn't claiming AI made us magically faster. The observation was that our merge rate increased. The argument was that strong foundations are the reason we're accelerating.&lt;/p&gt;
&lt;p&gt;Are AI tools contributing? Probably. But they're not the cause. They're the amplifier.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_last-week-i-posted-about-ai-coding-tools-activity-7404157957623459840-kPhw"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/></entry><entry><title>Note on 2nd December 2025</title><link href="https://antolinez.ch/2025/Dec/2/agentic-coding-tools-foundations/#atom-tag" rel="alternate"/><published>2025-12-02T14:00:00+00:00</published><updated>2025-12-02T14:00:00+00:00</updated><id>https://antolinez.ch/2025/Dec/2/agentic-coding-tools-foundations/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Merge Requests merged throughput graph showing acceleration after adopting Claude Code" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_800,f_auto,q_auto/v1771191014/blog/teglnhb4ru1hqi6gmyhu.png" /&gt;&lt;/p&gt;
&lt;p&gt;Since our engineering team adopted Anthropic's Claude Code in June, we're shipping code to production over 50% faster.&lt;/p&gt;
&lt;p&gt;Do AI coding tools make developers more productive or is it all hype? I think that's the wrong question. The real question is: do you have the foundation to use them well?&lt;/p&gt;
&lt;p&gt;Teams with solid architecture, test harnesses, and reliable CI/CD are accelerating. Teams without those fundamentals are drowning in code they can't trust.&lt;/p&gt;
&lt;p&gt;At Ren Systems, our engineering team spent years building those foundations, thanks to the hard work of people like &lt;a href="https://jangiacomelli.com/"&gt;Jan Giacomelli&lt;/a&gt; and Giorgio Nicoli. Now that investment is compounding.&lt;/p&gt;
&lt;p&gt;Have AI coding tools made us 10x more productive? No. But we're shipping more, with confidence, and nobody's losing sleep. Features that used to take months now ship in days. Our Salesforce integration, on our sales team's wishlist for years, took one week to build.&lt;/p&gt;
&lt;p&gt;AI coding tools don't replace good engineering. They amplify whatever's already there.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_since-our-engineering-team-adopted-anthropics-activity-7401621273056870400-ZOaX"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/coding-agents"&gt;coding-agents&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/ai"&gt;ai&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="coding-agents"/><category term="ai"/></entry><entry><title>Note on 25th November 2025</title><link href="https://antolinez.ch/2025/Nov/25/ren-culture/#atom-tag" rel="alternate"/><published>2025-11-25T14:00:00+00:00</published><updated>2025-11-25T14:00:00+00:00</updated><id>https://antolinez.ch/2025/Nov/25/ren-culture/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;img alt="Lionel Hertig putting the Ren Systems sticker onto our first mailbox in Switzerland" src="https://res.cloudinary.com/dc7ady43d/image/upload/w_800,f_auto,q_auto/v1771191088/blog/wbl1bh9yskq0tabigzn9.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Six years ago, I defended my PhD thesis at ETH Zürich. Since then, I've been helping build an AI product at Ren Systems that thousands of users rely on every day to strengthen their relationships.&lt;/p&gt;
&lt;p&gt;This photo is from my first day: Lionel Hertig sticking our company name onto the mailbox of our first office, two desks in the space of Rockstar Recruiting AG (rockstar.jobs). That moment taught me something Lionel emphasized from day one: start scrappy and iterate fast.&lt;/p&gt;
&lt;p&gt;Being the first employee meant more than building the product. It meant shaping Ren's culture and values alongside Canay Deniz and Lionel Hertig. One of our core values besides "be fast" is to "be systematic"—a principle Mike Hayes drilled into us and that immediately resonated with me. We move fast and systematically: write down the problem, logic, and conclusion; share proactively with the team; then iterate. Perfect is the enemy of done.&lt;/p&gt;
&lt;p&gt;Lionel and Canay took a big bet on me. Working at an early-stage startup is a grind, and we learned many lessons the hard way. But together with a great team, we built this product from scratch, and seeing it used by thousands of users every day makes every hard lesson worth it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/felipeantolinez_six-years-ago-i-defended-my-phd-thesis-at-activity-7399084881227665409-BWLg"&gt;View the original LinkedIn post&lt;/a&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://antolinez.ch/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/culture"&gt;culture&lt;/a&gt;, &lt;a href="https://antolinez.ch/tags/employee-1"&gt;employee-1&lt;/a&gt;&lt;/p&gt;



</summary><category term="linkedin"/><category term="culture"/><category term="employee-1"/></entry></feed>