<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Agustin Barrientos</title><description>For frontend engineers who want to get past &quot;it works.&quot;</description><link>https://agustinbarrientos.com/</link><item><title>Building a Router the Back Button Can&apos;t Break</title><link>https://agustinbarrientos.com/writing/senior-eye/navigation-api-router/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/navigation-api-router/</guid><description>How to build a small router on the Navigation API that keeps the URL, the content, focus, and scroll in agreement, even if the user presses Back before a page finishes loading.</description><pubDate>Mon, 05 Oct 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.40 · Bad news for the $200 ChatGPT plan, Sonnet 5.5, and TOCus</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-40/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-40/</guid><description>TOCus is officially out! In AI news, Google announced Gemini 4 Argon, OpenAI had a big DevDay where they announced GPT-6.1 Sol and some bad news for current Pro users, and Anthropic released Claude Sonnet 5.5. Then there&apos;s Firefox 157, CSS corner shapes, an open model that finds browser bugs, vertical wrap in Figma, Gemini&apos;s text-to-speech models, and JavaScript iterators.</description><pubDate>Wed, 30 Sep 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>TOCus: Making TOCus a reality</title><link>https://agustinbarrientos.com/projects/tocus/making-tocus-a-reality/</link><guid isPermaLink="true">https://agustinbarrientos.com/projects/tocus/making-tocus-a-reality/</guid><description>The story from the first pencil sketch on Aug 20 to the official launch on Sep 29: why I built it, the capybara, the 3D scene, translating it, publishing it to the stores, and what comes next.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>TOCus</category></item><item><title>Styling the Native &lt;select&gt; with appearance: base-select</title><link>https://agustinbarrientos.com/writing/senior-eye/customizable-select/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/customizable-select/</guid><description>CSS can finally style a real select, picker and all. The opt-in also takes over the phone&apos;s own picker, so the job is scoping it to the devices where your design is the better one.</description><pubDate>Mon, 28 Sep 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.39 · Claude Opus 5.5, Jev, and Chrome 154</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-39/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-39/</guid><description>Claude Opus 5.5 led Artificial Analysis&apos; tests. I explain what Jev is, the thing everybody is talking about. OpenAI released GPT-6 Sol and Luna, SpaceXAI introduced Grok 4.7, and Xiaomi&apos;s MiMo-V2.6-Pro is now free. Chrome 154 allows embedded frames to resize to fit the page, Lighthouse 13.5 checks support for AI assistants, and Cloudflare added previews for each branch. Google, Anthropic, and OpenAI updated their programming tools, and nine mathematicians will help OpenAI with sharing math research.</description><pubDate>Wed, 23 Sep 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>Responsive Components for Layouts You&apos;ll Never See</title><link>https://agustinbarrientos.com/writing/senior-eye/responsive-components-for-layouts-youll-never-see/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/responsive-components-for-layouts-youll-never-see/</guid><description>Swap a card&apos;s viewport media query for a container query the host establishes, find the breakpoints its content needs, and keep user preferences and product intent in the mechanisms that own them.</description><pubDate>Mon, 21 Sep 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.38 · Safari 27, layouts for foldables, and Gemini voice models</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-38/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-38/</guid><description>Apple put a sale date on its first foldable iPhone, so screens that fold in half are about to get a lot more common. Google&apos;s live voice models went generally available, Firefox changed a scrollbar check that may unhide styles you wrote, OpenAI deleted the line about training on the mathematicians&apos; drafts, Safari 27 reached phones, tablets, and laptops, and Tailwind Labs is joining Shopify.</description><pubDate>Wed, 16 Sep 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>How to Choose a Frontend Technology for the Long Term</title><link>https://agustinbarrientos.com/writing/senior-eye/choosing-a-frontend-technology/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/choosing-a-frontend-technology/</guid><description>A practical way to evaluate a frontend technology as a long-term commitment, from how much of your app it takes over to what replacing it would cost, with my own decision to build on Lit as the example.</description><pubDate>Mon, 14 Sep 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.37 · GPT-6 Astra, AI math proofs, and NVIDIA buys Hugging Face</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-37/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-37/</guid><description>Artificial Analysis swapped the tests behind the model table so every score moved, Chrome 153 shipped camera and microphone as real HTML elements, OpenAI launched GPT-6 Astra and published an AI-written Navier-Stokes proof, Claude, ChatGPT, and Grok broke on the same morning, and NVIDIA signed to buy Hugging Face.</description><pubDate>Wed, 09 Sep 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>How to Get a Developer Job When Entry-Level Seats Are Shrinking</title><link>https://agustinbarrientos.com/writing/senior-eye/how-to-get-a-developer-job-when-entry-level-seats-are-shrinking/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/how-to-get-a-developer-job-when-entry-level-seats-are-shrinking/</guid><description>Payroll data shows 22 to 25 year old developers losing ground while every older group holds. This is the whole plan I give anyone trying to get in, a deployed portfolio held to three checks, what a certification proves that a project can&apos;t, meetups and hackathons in person first, and a search you can diagnose.</description><pubDate>Mon, 07 Sep 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.36 · Claude Fable 5.1, Gemini 3.8 Flash, Chrome 152, and Cursor loses GPT</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-36/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-36/</guid><description>Claude Fable 5.1 took the top of the model table, Gemini 3.8 Flash came in as the fastest model on it, Chrome and Firefox both shipped, OpenAI is cutting Cursor off, and Go, Flutter, and Dart join The Brief.</description><pubDate>Wed, 02 Sep 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>TOCus</title><link>https://agustinbarrientos.com/projects/tocus/</link><guid isPermaLink="true">https://agustinbarrientos.com/projects/tocus/</guid><description>Browser extension that gives you a short breathing pause before opening the websites you choose, so you can notice the impulse and decide what to do next.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>Projects</category></item><item><title>Instant Navigation on a Static Site with Speculation Rules and View Transitions</title><link>https://agustinbarrientos.com/writing/senior-eye/speculation-rules-view-transitions/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/speculation-rules-view-transitions/</guid><description>Speculation Rules can load the next page before the click, and cross-document View Transitions can animate the swap between two real HTML documents. This is how a static site navigates like a single-page app without shipping one, plus the confidence policy that decides which links earn a prerender.</description><pubDate>Mon, 31 Aug 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.35 · A cheaper Sol, Stripe to buy OpenRouter, and JPEG XL</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-35/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-35/</guid><description>OpenAI made its best model cheaper, Stripe is buying OpenRouter, an Amazon for AI models, and Mozilla cleared the way for JPEG XL.</description><pubDate>Wed, 26 Aug 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>Making a Long List Fast: content-visibility vs. Virtualization</title><link>https://agustinbarrientos.com/writing/senior-eye/content-visibility-vs-virtualization/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/content-visibility-vs-virtualization/</guid><description>The two best-known fixes for a slow list solve different problems and cost you different things. Measure which cost you&apos;re actually paying, then keep the DOM with content-visibility: auto or drop it with a virtualizer and rebuild the behaviors that disappear with it.</description><pubDate>Mon, 24 Aug 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.34 · Five new models, GitHub&apos;s long Monday, and Firefox 154</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-34/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-34/</guid><description>Five models entered the weekly table at once, GitHub lost most of a Monday, and Firefox 154 finished two CSS features the other engines already had.</description><pubDate>Wed, 19 Aug 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>How to Read a Security Advisory: CVE, GHSA, CWE, and CVSS in Plain Words</title><link>https://agustinbarrientos.com/writing/senior-eye/security-advisories-dependency-updates/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/security-advisories-dependency-updates/</guid><description>Two official databases scored the same Vite bug 5.3 and 7.5. Read the advisory field by field, untangle CVE, GHSA, CWE, and CVSS, check whether your own system is exposed, and time the update with npm&apos;s release-age gate.</description><pubDate>Mon, 17 Aug 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.33 · Claude&apos;s watermark, Meta&apos;s AI on your laptop, and State of CSS 2026</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-33/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-33/</guid><description>Anthropic explains the invisible watermark Claude will leave in text it generates, Meta ships the Muse Code terminal agent and opens Muse Glimmer&apos;s weights, and the State of CSS 2026 results show what other developers actually ship. Plus a refreshed ARIA in HTML rulebook, 41 Chrome security fixes, and two new rows in the model table.</description><pubDate>Wed, 12 Aug 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>Building an Accordion the Browser Can Search</title><link>https://agustinbarrientos.com/writing/senior-eye/searchable-accordions/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/searchable-accordions/</guid><description>Build an FAQ that stays findable when it&apos;s collapsed, learn which hiding technique to pick by who should still reach the content, and let &lt;details name&gt; and hidden=&quot;until-found&quot; hand discovery back to the browser.</description><pubDate>Mon, 10 Aug 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.32 · AI price crash, CSS :paused, and stacked pull requests</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-32/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-32/</guid><description>OpenAI cuts GPT-5.6 Luna by 80 percent and the model table returns with two models down to pennies a task, Chrome 152 beta ships the CSS media state pseudo-classes, GitHub opens stacked pull requests to every repository, and Safari&apos;s preview build lands Temporal.</description><pubDate>Wed, 05 Aug 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>Let CSS Pick Your Text Color</title><link>https://agustinbarrientos.com/writing/senior-eye/color-token-contract/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/color-token-contract/</guid><description>Build a smart badge whose foreground, border, and tonal dot derive from one accent, and learn which color decisions CSS can own with color-mix(), relative color syntax, light-dark(), and contrast-color(), and which still belong to your design system.</description><pubDate>Mon, 03 Aug 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.31 · Opus 5, safer npm, and the Hugging Face break-in</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-31/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-31/</guid><description>Claude Opus 5 tops the intelligence table for the first time, Kimi K3&apos;s open weights land, GitHub hardens npm and GitHub Actions, Firefox 153, Chrome 151, and Safari 26.6 ship real platform features, and OpenAI confirms its own models broke into Hugging Face during a cyber test.</description><pubDate>Wed, 29 Jul 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>The Four User-Preference Media Queries Your CSS Should Honor</title><link>https://agustinbarrientos.com/writing/senior-eye/user-preference-media-queries/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/user-preference-media-queries/</guid><description>Build one adaptive card and learn to read motion, contrast, forced colors, and pointer input as signals from the user and device, then sort each into requirement, enhancement, or the one signal you can&apos;t depend on yet.</description><pubDate>Mon, 27 Jul 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.30 · Kimi K3, the Fable 5 whiplash, and where your data lives</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-30/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-30/</guid><description>Kimi K3 arrives as the largest open-weight model yet announced, weights due July 27, while Washington reportedly weighs a ban, Fable 5 vanishes for 71 minutes before settling permanently at 50% of limits, OpenAI confirms rare GPT-5.6 file deletions, Grok Build goes open source, and this issue&apos;s intelligence table gains a column for where your data goes.</description><pubDate>Wed, 22 Jul 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>How animation-timeline: scroll() Replaces Scroll JavaScript</title><link>https://agustinbarrientos.com/writing/senior-eye/animation-timeline-scroll/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/animation-timeline-scroll/</guid><description>Build a reading-progress page, delete the JavaScript that only paints, and learn which scroll work still belongs to JavaScript.</description><pubDate>Mon, 20 Jul 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.29 · GPT-5.6 benchmarks, Fable 5 to July 19, TypeScript 7, npm 12</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-29/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-29/</guid><description>GPT-5.6 lands with first benchmarks one point behind Fable 5 at a third of the cost, Anthropic extends Fable 5 on paid plans to July 19, Grok 4.5 ships the same week its CLI is caught uploading whole repos, TypeScript 7.0 goes native without a stable API, and npm 12 stops running install scripts by default.</description><pubDate>Wed, 15 Jul 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>HTML in Canvas: Render Real DOM Inside &lt;canvas&gt;</title><link>https://agustinbarrientos.com/writing/senior-eye/html-in-canvas/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/html-in-canvas/</guid><description>Build the shippable DOM-over-canvas version of a product configurator first, then feature-detect the experimental HTML-in-Canvas path, and learn how a senior decides what the platform owns, what the product still owns, and what fails safely when a frontier API is missing.</description><pubDate>Mon, 13 Jul 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.28 · Sonnet 5, Fable 5, GPT-5.6, ECMAScript 2026, Chrome 150 CSS</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-28/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-28/</guid><description>Anthropic ships Sonnet 5 and extends Fable 5 to July 12, OpenAI takes GPT-5.6 public, Ecma approves ECMAScript 2026, Chrome 150 lands a real CSS batch, and WebKit gives agents an MCP server for Safari.</description><pubDate>Wed, 08 Jul 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>A Date Is Not a Day</title><link>https://agustinbarrientos.com/writing/senior-eye/temporal-time-zones-same-day/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/temporal-time-zones-same-day/</guid><description>Build an event-time component with Temporal and learn why &quot;the same calendar day&quot; is a different question in every time zone, and why an instant, a calendar date, and a duration are different review questions.</description><pubDate>Mon, 06 Jul 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.27 · Figma&apos;s Code Layers, CSS eats more JS</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-27/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-27/</guid><description>Config 2026 puts editable code on the Figma canvas, CSS keeps absorbing work we used to write in JavaScript, and a sharp argument for treating accessibility as an operational capability instead of an audit.</description><pubDate>Tue, 30 Jun 2026 15:00:00 GMT</pubDate><category>The Brief</category></item><item><title>The Modern Tooltip Is a Systems Problem</title><link>https://agustinbarrientos.com/writing/senior-eye/the-modern-tooltip-is-a-systems-problem/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/the-modern-tooltip-is-a-systems-problem/</guid><description>Popover, CSS anchor positioning, and interest invokers turn a tiny UI request into a lesson about layering, placement, triggering, semantics, and fallback design.</description><pubDate>Mon, 29 Jun 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item><item><title>The Brief #26.26 · TypeScript 7.0 goes native, Firefox 152, scroll-triggered CSS</title><link>https://agustinbarrientos.com/writing/brief/the-brief-26-26/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/brief/the-brief-26-26/</guid><description>TypeScript&apos;s Go compiler hits RC, Firefox 152 ships field-sizing, Chrome adds scroll-triggered animations, and ariaNotify lands in the ARIA spec. A platform-heavy week.</description><pubDate>Wed, 24 Jun 2026 15:00:01 GMT</pubDate><category>The Brief</category></item><item><title>Building an Accessible Modal Dialog on the Native &lt;dialog&gt;</title><link>https://agustinbarrientos.com/writing/senior-eye/accessible-modal-dialog/</link><guid isPermaLink="true">https://agustinbarrientos.com/writing/senior-eye/accessible-modal-dialog/</guid><description>What the platform gives you for free in a modal dialog, what&apos;s still your call, and how to build the rest on top of &lt;dialog&gt; in TypeScript.</description><pubDate>Wed, 24 Jun 2026 15:00:00 GMT</pubDate><category>The Senior Eye</category></item></channel></rss>