Technology and Friends

Unofficial, machine-generated summaries, as of 2026-11-09.

Kevin Griffin on Using AI to Manage a Legacy Code Base [EPISODE 931]
  • An undocumented legacy system was orphaned when its sole developer died. Griffin took on a small company whose technical partner had built a product over 20 years in Visual Basic 6 and old .NET Framework, leaving no documentation and no source control, only 14 dated copies of code folders on his development machine.
  • He used the AI agent to understand existing code, not write new code. Claude helped him inventory the developer machine, and turned the company's tutorial videos and a recorded walkthrough with the non-technical partner into a map of what the product does; that work turned up several servers nobody knew about, including a support site hosted on a home server whose full disk Claude diagnosed in minutes.
  • None of the saved code copies matched what was in production. They located the real source by searching the machine for the production executable's hash with PowerShell scripts, and it now lives in a GitHub repo; Griffin ships small fixes for support tickets, using Claude skills he wrote to cover VB6.
  • Modernization is a business decision, not a technical one. The owners are weighing a rewrite against selling to a competitor; Griffin says AI could produce a modern proof of concept, but migrations remain risky, and this customer base could be moved one customer at a time.
  • Write down how things work before you are suddenly gone. He keeps a shared repo of code plus operational notes so the client is not exposed to his own absence, and recommends source control, documentation and a shared team password manager, since AI works far faster when the pieces are findable.
Matthew Renze on Best Practices When Working With AI Agents [EPISODE 930]
synopsis

Renze argues that getting good results from AI agents is mostly about managing their context and their decisions, and that old software engineering discipline still applies, rechecked wherever agents differ from people.

Research. He studies cognitive architectures for LLM agents: planning, self-reflection and memory modules borrowed from how brains work. An agent explores combinations, runs as many as 70-plus experiments a week, and picks follow-ups, while he supervises and steers it. He targets gaps between academia and industry, often alignment and interpretability work nobody funds.

Sessions and memory. He keeps sessions under about 200,000 tokens to avoid decoherence and context rot, and prefers summarizing step by step to compaction, which can silently drop rules. Episodic, semantic and procedural memories are built from processed session files.

Skills. Procedures repeated three or more times become skills. A discovery meta-skill finds the candidates, and skills log their own errors so they improve.

Multiple agents. He runs three to five agents at once and sees juggling them as a skill of its own. To cut interruptions, agents escalate uncertain decisions through a cross-vendor second opinion, a third model and one round of debate before reaching him. He describes a spectrum from chatbots through agentic workflows to persistent autonomous agents and multi-agent "agencies".

Practice. He has barely written code since January. Unguided agents write bloated, over-defended code; given classic best practices they write well, and he only rethinks a practice when agents' different constraints break it.

  • AI agents can run semi-supervised research on improving agents. Renze, an AI researcher pursuing a doctor of engineering at Johns Hopkins, has an agent keep a backlog of hypotheses about cognitive-architecture modules, generate agent variants, and test them on cost per task, accuracy, decoherence and alignment; some weeks it runs 70-plus experiments while he steers it in daily discussions.
  • Keep sessions well short of the context window. His first rule is to stay under about 200,000 tokens, roughly 20% of a million-token window, because long sessions bring decoherence after around 100 steps and "context rot"; auto-compaction at 80-90% can drop early rules such as "don't delete the database".
  • Anything done more than about three times should become a skill. He builds persistent episodic, semantic and procedural memory from processed session files, promotes repeated procedures into skills, uses a discovery meta-skill to find repeated tasks, and has skills record their own failures so they improve over time.
  • Agents should settle most decisions without the human. His decisions skill has the main agent (Opus 5.5) consult a cross-vendor model in Codex, then Fable 5.1 if they disagree, then hold one round of debate before deferring to him; he says he cannot personally juggle more than three to five agents at once.
  • Classic software engineering practices mostly still work for agents. He says he has written essentially no code since about January because coding agents became "superhuman" given guidance like keep-it-simple and don't-repeat-yourself; his rule is to try the old practice first and only rethink it where agents' different constraints break it.
Elisavet Kyritsi on Tech for Non-Enterprise Customers and Individuals [EPISODE 929]
  • AI tooling is reaching individuals and small businesses as easily as enterprises. Kyritsi, a global technical partner manager at GitHub in Amsterdam after 20-plus years in enterprise telecom and lottery systems, says this is the first time her work connects to her friends' everyday lives; she credits ease of deployment and distributor partners serving SMB customers.
  • Enterprises need governance; small businesses need leverage and return on investment. Large customers focus on governing agentic development workflows across hundreds of developers, while an SMB wants a team of two or three to work like ten or fifteen, with spending that makes sense.
  • A business user's working prototype beats a requirements workshop. She set up the GitHub Copilot app with Work IQ for a friend on a pharmaceutical company's go-to-market team and built agents for event tracking; she encouraged the friend to hand the prototype to her internal developers, opening communication rather than creating shadow IT.
  • Token economics is where partners add the most value. Usage-based billing and model choice confuse price-sensitive customers; she cites a partner in India and a bank that considered cutting off its whole team's access until an analysis of the previous month's usage streamlined it to the customer's satisfaction.
Jon Skeet on UK Election Tracking [EPISODE 928]
  • Skeet is building a long-running UK election tracker as a hobby. It began in the few weeks before the 4 July 2024 general election to compare MRP seat predictions and commentator Sam Freedman's calls with results; he bought election2029.uk for about $25, then election.uk for over $1,000 on joining Trainline as a distinguished engineer after leaving Google. The next election is scheduled for 2029; he doubts rumours of 2027.
  • The site is deliberately written without AI, as a longitudinal experiment. He wants to judge in 2029 whether that was a mistake; elsewhere, on Noda Time, he says Claude took 10 minutes and many tokens to fix a test by changing a greater-than to greater-than-or-equal, which he concedes would have taken him longer to find.
  • The stack is plain .NET on serverless Google Cloud. It is ASP.NET Core on .NET 10 with Razor Pages that have no code-behind and injected, separately tested view models, plain JavaScript with Plotly and no CSS framework; it runs on Cloud Run, Cloud Build and Firestore with OpenTelemetry, and he ported it to AWS S3 and Lambda in under a week.
  • The poll averages are intentionally simple rather than smoothed. Trend lines linearly interpolate each provider's two nearest polls and average across providers, showing no average where only one provider exists; he contrasts Wikipedia's smoother lines, which he feels assume more than the data shows. Fake results appear only on a clearly bannered staging site.
  • The site is tiny and should scale cheaply. It sets no cookies, the home page is about 10 KB, all data loads in a second or two, and a load test of the postcode search at around 600 QPS scaled to only two instances; he expects real traffic only once an election is called.
Javier Lozano on Tech Career Paths [EPISODE 927]
synopsis

Lozano argues that a technologist gets past the career ceiling by adding business understanding and a sharper specialty, but that relationships and giving back matter more than any skill.

Staying technical as an owner. He runs Lozano Tech, a .NET and Azure consultancy in Des Moines, and still does the work himself. Small means nimble but stretched across clients. He prizes clients who become partners and trusted advisors, a trust built by delivering and owning stumbles. AI acts as his "ambitious intern", and he tells clients he uses it.

The management detour. Giard raises the case-study founder who will not stop doing the work. Lozano spent two or three years as a manager of managers before going independent 12 years ago, reading business and management books, and that lets him talk P&L with a CIO and focus on making clients look good.

Breaking the ceiling. As technology fragments into niches, he advises building on what you are good at, APIs in his case, and shifting into adjacent areas such as security or AI. Working across AWS and Azure, he finds the code largely the same.

Influence and giving. Influence, built by pairing and coaching rather than handing out answers, has proved worth more than knowledge. Silverlight faded but its relationships lasted. Citing the prayer of St. Francis, he describes running the community side of .NET Conf, held 10-14 November, and the Des Moines .NET user group since 2004. Giard adds his group's 10-minute lightning talks; both see speaking practice as a way through the ceiling.

  • A one-person consultancy lets its owner stay technical. Lozano runs Lozano Tech, a .NET and Azure consultancy in Des Moines, and still delivers work himself; he values clients who grow into partners seeking his advice, a trust earned by delivering, and notes his company "has no yearly budget" because every dollar must be won.
  • Clients pay for the solution design, not the AI use. He calls AI an "ambitious intern" that eases a solo owner's capacity limit, and tells clients openly that he uses it.
  • Time in management made him a better technologist. Before going independent 12 years ago he spent two or three years as a manager of managers living in Outlook and Excel, and says that lets him now discuss P&L and goals with a CIO.
  • Break a career ceiling by specializing, not abandoning technology. As the field fragments into AI, identity, API and cloud niches, he advises doubling down on a strength and shifting into an adjacent specialty such as security or AI, partnering for the weak spots, as he does for user interfaces.
  • Relationships and influence outlast any technology. Silverlight faded but the people he met through it remain; he pays help forward by running the community side of .NET Conf (10-14 November) for seven or eight years and the Des Moines .NET user group he helped found in 2004, giving newcomers the mic.
Gaines Kergosien on AI Governance, Security, and Adoption Challenges [EPISODE 926]
  • The hardest part of AI adoption is mindset, not tool choice. Kergosien, who builds pilot-interface and weapons-management software for aircraft at L3Harris, says defense contracting came late to AI and its hurdles are privacy, safety, quality control and augmenting rather than replacing people. He argues engineers who distrust AI output because they "don't understand it" should ask it, treating it as an iterative tool to question designs rather than a one-shot answer machine.
  • His employer answered the data-leak fear by hosting its own models. Kergosien says L3Harris runs its own GPT services in an isolated, high-security cloud environment unavailable to outside parties, encrypted at rest and in flight, with access controlled through a LiteLLM gateway. He contrasts this with public services whose terms of use allow them to do things with your data.
  • Existing software quality controls apply unchanged to AI work. Pull requests, peer review, developer and QA testing, automated and regression tests, and test-driven development all still hold, and AI can add an analysis step before peer review begins. On his own novel he uses Codex with Claude as an adversarial reviewer and compares where they agree and disagree; he adds that a high-end model such as Fable is not needed for every task.
  • An AI-caused spill will be judged harder than a human one. Kergosien explains that information unclassified on its own can become classified when combined, exactly the kind of connection AI is good at making; a human doing this is treated as a normal mistake, an AI doing it raises whether AI should be used at all. He has not had one yet but calls it almost inevitable, so the defence is preparation, verification, impact control and "being able to show your work."
  • A Codex or Claude Code project can hold a team's knowledge. Outside classified settings, Kergosien recommends building one up over time with what the team knows about the client, solution and users, then handing it to new engineers for onboarding and daily work as living documentation. Giard adds his own uses: having AI document code and locate where in a large inherited codebase a change belongs.
Julie Lerman on Pottery [EPISODE 925]
  • Lerman left software partly because she had little left to say. She says she considered herself retired from June 2024, keeping one client part-time, after COVID-era isolation and growing doubts about AI, which she now wants nothing to do with. A keynote she gave at DDD Melbourne in March 2024 on whether AI would take developer jobs would, she says, have needed all its research redone only a few months later.
  • A pottery shop seen on a trip brought her back to clay. In Lisbon in June 2024, at a Docker Captains meeting, she found a shop full of wood-fired pottery, her "great love," and decided to make pots again; she had stopped around 1991 after a failed attempt at full-time potting. Since then she has taken community-studio classes and workshops with visiting Japanese potters, and set up a home studio in a three-season porch with a new electric kiln, a refurbished electric wheel and a mechanical treadle wheel.
  • Glaze bonds because it soaks into porous, partly fired clay. Lerman describes throwing, letting pieces stiffen to "leather hard," then trimming the foot and attaching pulled handles. Her electric kiln bisque-fires to about 1,800°, leaving the clay hard but not fully vitrified, so glaze absorbs into it and melts into glass in a second firing at about 2,200°.
  • Wood firing can make an unglazed pot shine through ash alone. Her wood kiln firings reach about 2,200–2,300°, and a large unglazed piece from a September firing came out shiny from wood ash landing on it. That kiln was stoked for 100 hours, roughly 48 of them held between about 2,100° and 2,150° ("soaking").
  • Her technology years show up as curiosity and missing community. Asked whether software helped, Lerman says she misses her friends and impacting people's lives, and wants to explain hard-to-understand ideas in the clay community, though not by teaching lessons. She also wants to learn the chemistry of clay and glazes; Giard frames this as the curiosity that made her a successful consultant.
Michael Collier on Durable Agents [EPISODE 924]
  • Durable agents persist state so long workflows survive a restart. Collier, a principal architect at a consulting firm, says in-memory agent state is lost if the hosting compute goes down, and LLM outputs are non-deterministic, so they should be saved rather than rerun. A durable agent stores conversation history, tool interactions and workflow position externally and picks up where it left off.
  • The Durable Task extension replaces hand-built checkpointing in Agent Framework. With Microsoft Agent Framework alone, Collier says, the developer must define checkpoints, save them (Cosmos DB, a file system) and detect errors to rehydrate from them. The durable task extension instead hands this to the managed Durable Task Scheduler service with an opt-in call (he recalls something like "as durable agent"), running agents as durable entities.
  • Durable Functions orchestrations can mix deterministic steps with agents. For businesses with fixed sequences, Collier lines up activity functions and AI agents in one orchestration triggered by a Service Bus message, Event Hubs event, HTTP or timer. This keeps determinism over the order of calls while each agent solves its part non-deterministically.
  • It deploys like any Azure Function. Collier's steps are to provision the Durable Task Scheduler, put its connection string in the function, install the SDK and deploy through CI/CD; Microsoft Foundry hosted agents can host the code instead, still backed by the scheduler. The scheduler runs free locally as a Docker image, and in Azure comes as a cheaper consumption tier or a more expensive tier with more scale.
  • Scale-to-zero lets workflows wait on humans without rerunning agents. If an approval sits for a week while someone is on vacation, compute shuts down and rehydrates from the state store when they respond. Collier stresses that an earlier agent is not rerun, avoiding both the cost and a potentially different result.
Brian Hitney on Fabric Apps [EPISODE 923]
  • Fabric's case is one governed platform instead of integrated pieces. Hitney, a Microsoft partner solution architect and Giard's teammate, describes Fabric as Microsoft's SaaS data and analytics platform spanning warehouses, lakehouses, real-time and unstructured data, with Power BI now part of it. He argues the recurring problem with earlier platforms such as Synapse Analytics was integrating, governing and securing separate data and application layers.
  • Fabric Apps exist because Power BI only reads data. First shown at FabCon Atlanta, Fabric Apps are deployed into Fabric to inherit its security, governance and accessibility. Hitney says Fabric now holds operational databases, creating demand for apps that write data or trigger actions, which a Power BI report cannot do.
  • Rayfin ships agent skills so coding assistants build apps without guessing. The SDK, CLI and backend-as-a-service lives in a GitHub repo containing skills for Claude Code, GitHub Copilot and others, which Hitney says prevents hallucination about a new tool. Apps are written in TypeScript and become React apps; npx rayfin up compiles and deploys them to Fabric, and they can be run locally first.
  • Knowing the data model matters more than knowing TypeScript. Hitney says he barely knows TypeScript himself; what counts is knowing the entities in Fabric that the app connects to and the outcome wanted. Giard puts it as business knowledge outweighing technical knowledge, which Hitney accepts.
  • His demos took minutes, though the product is in preview. A plant-operations app showed live sensor data, dispatching maintenance, work orders and an "ask advisor" button that sends telemetry to Foundry, which recommends actions from manuals, service history and parts inventory. A Kanban-like Technology and Friends app took "only a couple of minutes"; Fabric Apps were in preview at recording, with no timeline he knew of.
Julie Downey on Dragon Copilot [EPISODE 922]
  • Dragon Copilot adds ambient AI documentation to Dragon Medical One. Downey, a Microsoft partner development manager in health and life sciences, traces the line from Dragon NaturallySpeaking to the cloud-based Dragon Medical One, which she says about 500,000 physicians and providers use for clinical dictation. Dragon Copilot keeps that front-end speech and adds ambient documentation and other AI features.
  • The AI drafts the note but the clinician owns it. With the patient's permission, a phone or laptop microphone records the visit, and AI trained on millions of encounters separates clinically pertinent content from small talk to draft a note. Downey stresses the provider reviews, edits and signs it and remains responsible for decisions, and that the product is built on Microsoft's responsible-AI principles.
  • The selling point is clinician retention, not staff cuts. Downey cites burnout and "pajama time," hours of evening paperwork that push providers toward early retirement amid a staff shortage. She says customers measure time savings of 15–30%, and argues this makes healthcare "more human" by letting doctors be present in the visit and home for dinner.
  • Adoption has moved from pilots to broad rollout. Downey says rollouts typically start with a 10–100 provider pilot for the first few months, then spread with little training beyond perhaps a 3-minute overview video. Her own ENT, she recounts, told her this week that the technology had come "leaps and bounds over the past six months."
  • The recorded data could feed coding, risk detection and research. Downey lists voice biometrics for spotting mental-health or neurological risk markers, real-time medical coding to speed billing, and analytics for quality metrics and research, calling this barely scratched at the time of recording. She expects future expansion through specialist partners rather than Microsoft alone.
Pete Rodriguez on Hybrid AI [EPISODE 921]
  • Running some work locally and bursting to the cloud beats either alone. Rodriguez, who works for Microsoft, says a simple prompt like "what's the capital of France" doesn't need a frontier model you pay for by the token. Local models can handle some tasks, and he points to techniques that route each prompt by its nature. He sets this against frontier scale: a trillion-parameter open-weight model such as Kimi K3 would need at least 1.75 TB of VRAM to self-host, which only cloud rental makes practical.
  • Local hardware can pay for itself against a token bill. GitHub Copilot can be configured to use a local model, and Rodriguez says a device that handles a developer's or a team's typical workload might save money over the cloud bill in the end. The host frames it as shifting operating cost to capital cost, so you have to do the math. Rodriguez adds that cloud prices are a moving target, since frontier providers keep releasing models with different efficiency.
  • Unified-memory machines are what make large local models feasible. Rodriguez says the RTX 5090 launched at a $2,000 MSRP and now sells for well over $5,000, and Nvidia's CUDA tooling is the most mature. He describes the Dell GB10 (an Nvidia DGX Spark) with 128 GB shared between CPU and GPU, which one partner clustered in a pair, and similar devices at about $4,000–5,000. He also mentions a 256 GB Apple machine at about $10,000 with a 512 GB one coming, and 405-billion-parameter models at home for $15,000. At the low end, Copilot+ PCs like his Surface Pro 11 run 7–10 billion-parameter models on an NPU without killing the battery, and quantized models can run on a card with about 8 GB of VRAM. He expected Microsoft to announce pricing within a week or two for Surface Laptop Ultras built on a chip similar to the GB10's.
  • Privacy, predictable cost and latency are the other reasons to go local. He says some customers in healthcare, manufacturing and legal still cannot deploy to the cloud. He puts local-network latency under 1 ms against roughly a dozen milliseconds to a nearby Azure region, a figure he says he has not measured recently. He warns that local results still have to be checked for accuracy, because output you can't trust is worthless however cheap it is.
  • The risk of a local agent is what it can reach. Rodriguez says the danger is less the model than an agent you didn't write, running with access to your files, email and calendar. His example is an agent he considered building to add 12 choir rehearsal dates to his calendar. As a mitigation he cites Microsoft execution containers, in preview and on GitHub, which isolate an agent at the level of a single process, a whole multi-agent session, or its own micro-VM.
Sam Basu on Lowering AI Workflow Barriers for .NET Developers [EPISODE 920]
  • Developers must still understand their code even when agents write it. Basu, who joined Uno Platform in developer relations about a year before recording, says you need to know how the software works architecturally because an AI workflow can "have a bad day" or be down, and every pull request or app-store listing carries your name, not the agent's.
  • AI adoption is a spectrum, and nobody should be forced along it. Basu says Uno is "very AI forward" but keeps manual coding on any IDE as a first-class path; his advice to enterprise developers is to keep doing what is stable while periodically checking whether their practices still make sense, since AI without context and tools is "a lot of power… behind a blindfold".
  • Uno's open-source core targets nearly every platform from one .NET codebase. He describes the 15-plus-year-old stack as a single shared .NET codebase reaching iOS, Android, Windows, macOS, Linux, embedded systems, wearables and all browsers via WebAssembly, usable from Visual Studio, VS Code or Rider; Uno Platform Studio is the family of design and AI tools built on top of it.
  • A cross-platform .NET app can now start in the browser with nothing installed. Basu says a prompt sets an agent spinning up a full .NET project client-side, shown as an interactive mobile or desktop app that you can refine by prompting or with a manual design surface, then export to a local IDE or a terminal agent such as GitHub Copilot, Codex or Claude. The local route remains a single command-line tool, uno-check, run once in PowerShell or bash to fetch the platform SDKs.
  • Uno's agent differs from Copilot by being specialised and context-fed. Asked how it compares with GitHub Copilot in Codespaces, Basu calls Copilot a generic multi-purpose agent, while Uno's agent builds only Uno Platform .NET apps and is equipped with skills and MCP tools so agentic workflows "fall into a pit of success". The captions end mid-answer here, so the rest of his explanation is not in the text.
Karen Lopez on Vector Search in SQL Databases [EPISODE 919]
  • Vector search matches on meaning, and that extra power costs money. Lopez, an independent data management and governance consultant, explains that a model turns text into embeddings, numeric representations of its concepts, and SQL Server ranks rows by similarity; more dimensions give finer granularity at higher cost, 1,536 being the common starting point, and any one embedding must fit SQL Server's roughly 8,000-byte row limit. She says not to use it for exact-word lookups that regular search handles.
  • SQL Server's older search options each carry their own cost. She lists LIKE, where a leading wildcard defeats the index and forces a table scan; Soundex, a phonetic letter-plus-three-digits code whose algorithm was first patented in 1918 and supports only English; full-text search (from "2016 or something like that"), which needs its word catalog kept updated; and the fuzzy search new in 2025, which handles word stems and other languages using about 50 words of surrounding context but no LLM.
  • Store embeddings in a separate table, not a column on the source row. Lopez's setup is: enable preview features (which many organizations' governance won't yet allow), create a credential, connect to an embedding model in Azure Foundry or a local one, then use the new vector data type and a DiskANN nearest-neighbour index; a separate table, unlike Microsoft Learn's examples, keeps embedding metadata and allows several model variants side by side. She expects initial loads to be embedded outside production, and calls hybrid search, combining vector similarity with ordinary filters like region or date, "the key to the future" because filtering first makes queries more affordable.
  • Every row must be embedded by the same model, version and service. Lopez compares mixing models to encrypting rows with different keys: the embeddings stop being comparable, so any change means regenerating all of them. For new and changed rows she notes the SQL Server blog recommends triggers, which DBAs dislike, and offers Azure Functions, change data capture or change event streaming instead; a casual research set might refresh nightly, while a symptoms-to-diagnosis database would need it instantly.
  • Model choice matters most, and her small demo model shows the limits. In her roughly 120-row NASA abstracts demo, a small model maps "moon" to lunar and Artemis papers, treats astronaut, cosmonaut and taikonaut alike, crosses languages and absorbs typos, but returned poor results for Cyrillic and Chinese spellings, which she attributes to its grounding in a handful of mostly Romance languages. Very large models of up to about 30,000 dimensions require chunking long documents into roughly 500-word rows, and she cites recent changes to Copilot business models as the lesson to size the model to the need.
Ashley Janelle on UX and AI [EPISODE 918]
  • Hiring managers now expect UX designers to work with AI. Janelle, who founded and runs a UX boot camp, says companies want to know which AI tools a candidate uses in research, strategy and design to work efficiently, and that designers who have been inside one job for three or four years will find the market has changed.
  • Every UX solution should be checked for AI that improves it. She has students write "AI" with "better, smarter, faster" beneath it and test each against their finished design, citing the AI summary TikTok shows on a live stream before you open it, and search suggestions that complete a partial query.
  • Prompt-to-app tools suit early concepts, not final design or learning. Figma, free and used in her program for seven years, remains the main tool; she steers students away from Lovable, Figma Make and chatbot design tools such as ChatGPT's and Claude's, because UX rests on research into human psychology that a chatbot cannot connect even when fed it. Giard draws his own parallel to generated code, which he uses but does not fully trust without understanding it.
  • AI's real gain is showing users rough concepts much earlier. Janelle says these tools let her generate early wireframes from a set of parameters before research is done, so users have something to react to at the start rather than only after strategy and design; she notes this was possible before, but is now much easier.
  • Leaner teams in 2026 reward generalists over specialists. In her view AI is an enhancement rather than a replacement, but because it speeds work, companies now expect one designer to cover research, management, design and content roles that used to be separate; she urges designers to learn every part of UX and to include AI in the solutions in their portfolios.
Guilherme Nogueira on How Neurodiversity and AI Can Create More Inclusive Workplaces [EPISODE 917]
  • Autistic hyperfocus is both his strength and his main difficulty. Nogueira, an autistic partner solutions architect for AI and data at Microsoft covering the Americas from São Paulo, says that when he can go deep he produces, tests and documents very fast. The cost is that a topic keeps coming back "like a cached memory" when he must switch to another, and a group where several people talk at different paces is hard to follow.
  • A quiet, dedicated workspace is non-negotiable for him. He keeps his own desk away from family noise, with no television or sounds, and wears noise-reduction earphones there and in loud places such as supermarkets. The hardest part, he says, is an interruption like a knock on the door, which cannot be closed like a browser window and has to be resolved before he returns to his focus.
  • AI assistants have made work lighter for neurodiverse people. Nogueira says copilots organize his many meetings and prepare him beforehand, and that if he does the grounding and data preparation he can trust the output. He also cites inclusion software that uses AI to translate between pictograms, images and text as a new way to communicate.
  • His own noise sensitivity shapes how he builds AI systems. He tries to keep distractions from "infecting" the system's contextual reasoning and to put clear signals in the output, so users can see the evaluations behind it and trust it. Transparency about what data a system used is, for him, the precondition for that trust.
  • He expects hyper-personalized AI to serve different neurodiverse needs. His example is that noise is his problem while other autistic people struggle with touch or close social interaction, and he believes AI can adapt to each. Outside technology he says he is optimistic that people are becoming more empathetic toward neurodiverse people.
Hilary Weaver on Coding and Testing [EPISODE 916]
  • Her senior QA role had drifted away from writing code. Weaver says she was laid off on 6 July from her senior quality engineer job at Xbox, where she worked on Microsoft Flight Simulator from July 2022 to the end of December and shipped Flight Simulator 2024, then on automation for an unreleased experimental game. On Flight Simulator the job became more like a PM's, deciding what to automate while the tech team wrote it; her one-hour-a-week coding goal produced small utilities such as one that alphabetized large JSON files so they could be compared in Beyond Compare.
  • Test automation covers anything a user can do in the application. She describes data-generation scripts, UI automation such as logging into a site or teleporting a game character to capture performance metrics, and API testing, which she has taught in a course and day-long workshops. Her tools include a C# HTTP library, Selenium, Playwright, the old Microsoft Coded UI, a Windows driver for desktop apps, and Unity and Unreal Engine tooling, with custom frameworks built on SDKs where nothing exists.
  • Returning to coding after years away feels daunting. Her API course, up for five years through Ministry of Testing, was written on .NET Core 2.1, so she had to catch up on C# versions up to 10, which at times felt "like a whole new language." She says GitHub Copilot is sometimes confidently wrong, so she writes code the old way and asks Copilot to modernize it to see the comparison, and she struggled with a basic HackerRank C# test because she feels rusty. Giard contrasts his own habit of letting Copilot write the first draft.
  • Relearn by picking one application and setting goals against it. Her advice is to use an app you can test without raising alarms — one at work, one you build, or one AI builds — then decide whether you want UI tests, API tests or CI/CD pipelines and write that automation; she says a project beats practice exercises. She is using this to learn Claude Code, and is building a tracker for her family's Star Wars figure collection to cover API, UI and database work.
  • Updating her old demo app was itself useful practice. For a talk at BrowserStack Breakpoint she brought a to-do app built from Microsoft's ASP.NET tutorials up from 2.1 to .NET 9, replacing deprecated or removed pieces. Giard adds his own story of a .NET 1.1 upgrade that led him to Michael Feathers's book on making legacy code testable, such as safely splitting a thousand-line method.
Alan Braz on How Gen AI Changes the Way We Work [EPISODE 915]
  • Generative AI will not replace software engineers. Braz, a solutions architect at IBM Consulting with 20 years at IBM and 25 in IT, says coding is only about 15–20% of the job, and reducing the profession to it is like reducing a doctor to writing prescriptions. When Giard points out that AI can do part of the other 80% too, Braz agrees: it now writes the documentation and unit tests he found worst, and generates Mermaid flowcharts from the code that he says do not hallucinate because they are built bottom-up, and that he can update just by pointing it at the changed files.
  • Seniors gain the most because they can judge output fast. Having done the work manually, he says, seniors can validate quickly, but today's code assistants write like juniors — verbose, with redundant functions — and he feels overwhelmed by the volume of code and PRs, which take far longer to review than text. His tips to students were to build communication and critical-thinking skills and to propose solutions, since repetitive tasks are automated first; he also builds custom agents to review generated work.
  • Humans are needed at every stage, not just one loop. He recalls a MongoDB solution architect telling his podcast in 2022 that the role was dead with LLMs, and says it is not. As evidence of missing human review he cites, as reported cases, a consulting report for an Australian city council that contained raw LLM response text and a news article that ended with the model's offer to rewrite it.
  • Juniors should use AI to learn, not to deliver. Braz says fundamentals like data structures will hold for the next 10–20 years, and that remote work costs juniors the quick in-person "can you help me" from a senior. He holds that one hour of pairing with a person beats eight hours with Claude Code, while Giard argues AI can stand in when no senior is available.
  • He learned working Spanish by talking to an AI while driving. Assigned to a project in Peru with no Spanish, he used his weekly 2–3 hour drive to São Paulo to have the AI teach him AI agent architecture in Spanish and correct everything he said. He says the feedback was that his Spanish improved a lot, and that it gave him the specific vocabulary he needed to present to the customer.
Brad Henderson on the Illinois Quantum Park [EPISODE 914]
  • Chicago is betting on quantum as the next computing wave. Henderson, who leads the nonprofit P33, frames the QPU as the successor to the CPU and GPU, and says that 7–8 years ago the science looked validated enough to move into scale-up engineering and commercialization. He gives two goals: applications (he cites a BCG estimate of about $850 billion of problems the first fault-tolerant machines could solve, in oncology, materials and fertilizer) and the local economy, which he puts at a possible 10,000–30,000 jobs and $30–40 billion of investment, centred on the former US Steel site on the far South Side.
  • The park's first building is up; computers arrive next. Ground was broken last September on a roughly 440-acre site with four to five large buildings announced or planned; PsiQuantum's facility had its shell up in about 6 weeks, will hold its next-generation photonics machine and office space for about 205 people, and a cryogenic plant from Europe has been delivered. Henderson says the stacks will be assembled over about the next 6 months and the facility becomes operational in 2027, with about 15 other quantum partners expected on the park.
  • Quantum machines need low vibration, heavy power and near-space cold. He says the old US Steel substation supplies the power, and the helium cooling (from European makers such as Linde and Air Liquide) will be one of the largest installations in quantum computing's history, shared with other DARPA performers.
  • The money comes from every level of government plus private credit. Henderson cites about $500 million from a quantum-specific state bill and another $500 million from the governor's capital bill, county and city grants, the University of Illinois paying for one building, operating money from U Chicago and Northwestern, venture and debt financing (he says the park did one of the country's first credit transactions of this kind, as data-center lenders such as Blue Owl look at quantum), federal grants, and partners from Canada, France, the UK, Australia and Israel.
  • He argues the site will end up environmentally better than it began. It is an R&D and manufacturing campus rather than a data center, state funds are paying to remediate the steel site under Illinois EPA monitoring, and he relays the "prevailing view" that working quantum computers would use less energy than CPUs and GPUs. He also stresses building the quantum supply chain (lasers, interconnect, refrigeration) on the park to compete with China, backed by a recent US Commerce Department EDA Tech Hub award for a supplier building.
Dave Voyles on Automating Software Development and Deployment with AI Agents [EPISODE 913]
synopsis

Voyles argues that a developer should stop firing off one-off prompts and become a manager of agents running a full software life cycle, with deterministic, high-quality output coming from tiny context files, staged checkpoints and tiered models rather than from any one clever prompt.

From chat to pipeline. He describes moving from browser questions to CLI and IDE agents, and says the base instruction files (claude.md, agents.md) give consistency but no guard rails or life cycle. His framework reproduces the request-intake and spec process he ran at Xbox.

The checkpoints. A short "grilling" skill questions him to agreement, the agent drafts a templated tech spec with t-shirt-sized tasks, a tool called Lavish shows a local page for choosing features and priorities 0–3, and medium-or-larger tasks are split down to small.

The agents. Claude Fable plans and fills a GitHub board; a Sonnet orchestrator assigns Haiku workers, Haiku reviewers and a security reviewer, then opens a pull request. Giard objects to auto-merge without a human; Voyles agrees no setup is secure and blocks merges to main with GitHub's $4-a-month plan.

Cost and memory. He says the trick to low token use is minimal context plus an Obsidian-style vault the agents read and annotate. On Claude's $200 Max plan he runs several projects all day without hitting the cap; local models on an RTX 5090 fell short in his tests.

Beyond code. The framework stays closed until personal details are stripped. He cites a law-firm job cutting 1 million emails to about 100,000 relevant ones, and offers himself to employers.

  • Agents should know just enough, and know where to look. Voyles keeps claude.md small because every new prompt loads it, costing tokens and context and inviting hallucination; extra detail (SSH instructions, machine aliases, links between repos) lives in an Obsidian-style vault of indexed folders the agents consult and add pointers to as they learn. He credits the small context with letting him run two or three projects all day on Claude's $200-a-month Max plan without nearing the cap, after pay-as-you-go cost "a fortune"; local models on his RTX 5090 are "not quite there".
  • His framework turns the old Xbox intake process into agent checkpoints. A "grilling" skill (one he did not write, about five or six lines) questions him until they agree; the agent writes a tech spec from his Microsoft/Xbox template with t-shirt-sized tasks; a tool called Lavish serves a local web page where he picks features and priorities 0–3; anything medium or larger is broken down to small or extra small so any engineer could execute it.
  • A big model plans, a middle model orchestrates, cheap models work. He uses Claude Fable ("just came out") for planning and loading tasks onto a GitHub board, a Sonnet orchestrator, and Haiku sub-agents as workers, reviewers and a security reviewer checking for keys, environment files and personal data before a pull request, which can auto-merge if he sets the flag. The framework is still closed while he removes his personal details; he estimated release in a couple of weeks.
  • No agent setup is truly locked down, so lock main at GitHub. Responding to the host's discomfort with auto-merge, Voyles says anyone claiming their agents are secure is lying or does not understand, citing an article from the day before about an agent going off the rails; his fix is GitHub's $4-a-month plan, which blocks merges to main without his approval.
  • The same approach works outside engineering. Voyles, who is job-hunting after Microsoft and Xbox, describes a law-firm job sorting 1 million emails from a 20-year-old inbox down to about 100,000 relevant ones, flagging privileged and junk mail without deleting or changing anything, work people had been doing by hand.
Bruno Borges on Different Ways to User Microsoft Copilot [EPISODE 912]
  • The simplest Copilot workflow is assigning a GitHub issue to it. Borges, who works in developer relations at GitHub/Microsoft promoting these tools, describes the cloud coding agent on github.com picking up an assigned issue and drafting a pull request, which the developer refines through conversation in the PR, reviews carefully, then merges to trigger CI/CD.
  • AI-drafted code should get two human reviewers, not one. He argues the author of the intent is biased ("it's working, so I don't need a thorough review"), and that before AI every change already had two reviewers, because writing code is itself continuous reviewing; keeping two humans preserves that count.
  • Use the CLI for parallel, long-running agents and the IDE for focus. Borges says agent tasks can take 5 minutes or 50, so background research suits terminal windows, while reviewing, debugging and business logic suit the IDE; the CLI also works with repos hosted outside github.com. He still uses the CLI for quick jobs such as purging old off-topic social posts and a Namecheap DNS skill he published in the awesome-copilot repo.
  • The new Copilot app sits between CLI and IDE. It does not edit code, but gives a visual, mouse-driven multi-agent, multi-repo view with guidance hints, and has been his go-to for about 3–4 months; he says GitHub is converging the app, the CLI and the IDE plugins on the same agent harness behind Copilot CLI.
  • Canvas extensions let AI build small in-repo tools inside the app. Released about a month before the 8 July 2026 recording, they load in a side panel and can start AI sessions through the Copilot SDK; his example is an AI-generated page comparing browser-rendered SVGs with PNGs from his Java library and rival converters, without publishing to a marketplace. He expects this customization ecosystem to drive adoption, and calls building on the SDK itself a case-by-case decision.
Paul DeCarlo on Making Music with AI [EPISODE 911]
synopsis

DeCarlo ends up arguing that small, cheap edge hardware plus agents has made ambitious creative projects available to anyone, and that the payoff is personal joy, not mass appeal: an audience of one is enough, and nobody yet knows where the limits are.

Small devices, big memory. Continuing the previous episode, he contrasts a desktop GPU with 32 GB of VRAM at "a couple grand" with his Nvidia Jetson Orin, whose unified memory gives 128 GB in a hamburger-sized box. The cost is ARM and Tegra, where compiling accelerated libraries meant dependency hell and help from Nvidia friends.

From confidence to proof. Two weeks of failing to port Whisper by hand gave way to an agent finishing in 20 minutes. It tested itself, swapped a useless sine wave for generated speech, checked three Whisper variants and confirmed the GPU was in use. DeCarlo says code-based work, unlike legal work, lets an agent prove its result. Giard says it did what a human would, faster.

The album. Using OpenClaw, he ported an audio-generation model to the Jetson and built a multi-agent "music production agency" with judge agents. With it he extended Alan Parsons' Poe album, and also turned Tool into New Orleans jazz-funk. Ex-bandmates object; Giard asks for transparency about AI's role.

Rediscovery. Re-scoring an obscure Japanese spaceship game as jazz-funk and putting it back into the game, he says, recovered the feeling of first encountering it. Giard links this to a Beatles remix that made familiar songs fresh, and to AI as a learning aid.

Getting started. Get tokens, ask questions and see where it breaks down.

  • Small unified-memory devices can hold bigger models than desktop GPUs. DeCarlo says the desktop card he saw has 32 GB of VRAM and costs "a couple grand", so 128 GB takes four of them, while his hamburger-sized Nvidia Jetson Orin, about 4 years old, has 128 GB shared by CPU and GPU. The catch is ARM and Nvidia Tegra, where porting accelerated libraries was tribal knowledge he used to get from friends at Nvidia.
  • An agent solved in 20 minutes what defeated him for two weeks. Porting Whisper to the Jetson, the agent built the Docker image, then proved it worked: after a sine-wave test returned nothing, it generated speech with another open-source tool, checked all three Whisper variants, and verified GPU acceleration. DeCarlo calls this "the difference between confidence and proof", available to technologists because code can be tested; Giard says it is what a human would do, only faster.
  • He used a multi-agent setup to extend an Alan Parsons concept album. With OpenClaw he ported an open audio-generation model to the Jetson and set Poe poems missing from Tales of Mystery and Imagination, such as Annabel Lee, to music, using a researcher-lyricist agent, a generator agent and talent-show-style judge agents. His former Tool tribute-band mates say it is not real music; he compares that to nobody telling a vibe coder they did not write the code, and Giard adds that AI use should be disclosed.
  • Remixing what you love can restore the joy of first hearing it. He regenerated the soundtrack of an obscure 1990s Japan-only spaceship game as jazz-funk and reassembled the game with it, and says an audience of one is enough to justify the project. Giard adds that stripping out stems to learn parts shows AI can make people smarter.
  • Start by getting tokens and asking until it breaks. His advice to newcomers is to decide what to create, push the AI toward it and see where it fails, because "we actually don't know where that wall is yet"; he says he does not put full faith in its answers.
Paul DeCarlo on How Agentic AI Unleashes Creativity [EPISODE 910]
synopsis

DeCarlo's conclusion is that agentic AI frees the mind: problems that used to follow him on dog walks, into bed and into the shower now get solved with an agent, so he can enjoy the real world with an "empty head". He says the creative half of the argument still awaits a follow-up episode.

The science. Drawing on a talk he gave at Agent Con in Panama, he traces transformers to the 2017 "Attention Is All You Need" paper. Citing Sergey Brin, he says the expected scaling wall has not arrived: more data, parameters and compute still improve models. Agents multiply inference through an observe–reason–plan–act–reflect loop, and GPUs, built for games' matrix math, make that possible.

Creativity scales too. He calls rising creativity an emergent property of that scaling, citing a Pixar-style proposal trailer, meshy.ai's photo-to-3D models and a sculptor selling mash-up figures. Giard compares worries about laziness to past fears about calculators and writing, and sums up the point as grunt work freeing people for creative work. DeCarlo says that is the right track, but the real question is what to do with the extra time.

The light bulbs. In early 2025 his cloud-dependent Sengled bulbs died. A Reddit user who was a program manager, not a developer, used ChatGPT and existing protocol work to build ESP8266 firmware and a loader. To DeCarlo, that was one person doing an organization's work by knowing how to ask.

Human in the loop. Fixing new-in-box bulbs that the firmware missed, his Copilot agent had him flip switches and climb stairs about 10 times, and pointed out that Ethernet would keep it connected while his Wi-Fi joined the bulb. He says agents need a human's guidance and real-world feedback rather than full autonomy.

  • Transformer models have not yet hit a scaling wall. DeCarlo traces modern agentic AI to the 2017 Google paper "Attention Is All You Need" and relays Sergey Brin's point that the expected limit never came: more data, parameters and compute keep producing better models, which he says explains plans such as Meta's data center "half the size of Manhattan".
  • Agents run on GPUs because games made GPUs good at matrix math. He explains a neural network as a weighted graph that reduces to matrices, and an agent's observe–reason–plan–act–reflect loop as many repeated inference passes, so video-game hardware ended up driving AI's hardware side.
  • He argues creativity scales with compute, an emergent property of agents. His examples are people whose ideas outrun their skills: a man who made a Pixar-style trailer to propose, sites like meshy.ai that turn a photo into a printable 3D model, and a trained sculptor at his antique mall selling mash-up figures. Giard counters the "AI makes us lazy" charge with calculators and writing; DeCarlo's version of the payoff is the freed time and head space.
  • One non-developer with ChatGPT revived a dead smart-bulb ecosystem. When Sengled bulbs stopped working in early 2025, a Reddit user who told DeCarlo he was a program manager, not a developer, used ChatGPT chats and others' protocol reverse-engineering to build custom ESP8266 firmware plus a loader shim. DeCarlo calls it one person doing "arguably the work of an organization", and says the key skill was knowing how to ask.
  • Agents work best with a human in the loop, not fully autonomous. Extending that fix for new-in-box bulbs bought for about $3 a pair on eBay, DeCarlo's Copilot agent had him flip a light switch five times and make about 10 trips upstairs to test each attempt, and suggested Ethernet when joining the bulb's Wi-Fi cut its own connection. He says problems that once followed him on dog walks and into the shower now get solved, leaving him less distracted.
Jeff Fritz on Copilot for App Modernization [EPISODE 909]
  • Teams skip upgrades because the payoff isn't immediately visible. Fritz says a move such as .NET 7 to .NET 8 costs hours of investigation and hand-tuning with no obvious ROI. Those who follow the industry see faster frameworks and lower memory use, so more applications fit on fewer servers and in containers, cutting the bill. Meanwhile each skipped version makes the eventual migration a bigger "mountain".
  • Modernizing means rewriting code, not bumping version numbers. Fritz lists changed identity and security practices, EF Core features absent from EF6, moving hand-written ADO.NET to ORM and repository patterns, OpenTelemetry with Aspire, and cloud resiliency (multiple instances, Front Door, Redis caching, Service Bus queuing). He says the old deterministic Upgrade Assistant relied on find-and-replace and struggled when code didn't match its patterns, while Copilot can write code, check builds, look up documentation and use skills that encode those patterns.
  • The modernization agents assess, plan, then execute, with a human checkpoint. Fritz's tool set, the GitHub Copilot Modernization Agents, runs on Copilot in Visual Studio, VS Code, GitHub and the command line. The plan is an English markdown file the developer can edit before anything runs, for example to impose an in-house standard of Newtonsoft.Json over System.Text.Json. Execution can happen on a separate git branch, and progress is checked off in task markdown files on disk so a stopped or cloud run can resume. Fritz says that whatever model wrote the code, "I'm the one responsible for it running in production."
  • The team now targets whole portfolios, not single applications. Fritz says his team has focused on this for about the last six months, because organizations hold back because their applications are integrated with each other and must keep working. A command-line tool scans and modernizes a whole portfolio, and a companion tool called "command center" tracks assessments, plans and execution across applications, with the agents working independently but coordinating where needed.
  • Fritz's employer claims large savings and wide version coverage. Fritz, who works on the product at Microsoft, reports 70–80% cost and time savings in the migration process, citing customers including Xbox, Bing and Ford from his Build session. He says support reaches back to .NET Framework 2, covers Web Forms to Blazor on .NET 10 with .NET 11 next, and moves Java up to versions 25 and 26. It ships as an extension for Visual Studio 2026 and VS Code and is documented on Microsoft Learn under "App Mod" or "GHCP modernization".
Mike Amundsen on AI Coaches That Amplify Expertise [EPISODE 908]
  • AI should make people better, not just produce one-shot output. Amundsen says one-shot tools that turn inputs into an OpenAPI document, a spec or a Node.js app shrank his own contribution to "whatever the machine thought". He now writes "coaches" that converse with the user and check whether to continue. He says that is how he learned his company's style guide.
  • A coach follows a teaching loop and fits in one file. Amundsen modelled it on how a mentor works: rather than giving the answer, it sets a slightly hard problem and then helps correct the attempt. Each coach is a single self-contained markdown file attached to or pasted into ChatGPT, Claude, smaller models or even Ollama, and all follow a similar templated flow.
  • Tedious, exact artifacts go to deterministic tools, not the LLM. Amundsen says generating an OpenAPI document is too tedious to leave to a stochastic model, so the coaches emit configuration or output files for tools, mostly CLIs he sometimes builds himself. Tests need a tool such as Bruno or Postman to be useful.
  • Generative AI doesn't know the creative process, so users must impose it. Amundsen describes three stages: brainstorming, refinement, execution. He says AI is good at brainstorming, though only with ideas someone has already had, and does not know when to stop and move to refinement; at execution it yields a usable prototype, not production work. Giard adds that many humans are also bad at time-boxing; Amundsen's coaches use a seven-step process with explicit stopping points.
  • Cheap prototypes should raise quality, not just speed. Amundsen argues AI makes it affordable to try a few more experiments before the final one, and that output improves with the extra feedback. His O'Reilly book "AI Driven API Design" makes chapters out of coach exercises; he says he uses AI little in the writing itself because of copyright issues. An early release of at least four chapters is planned for July, with the full book hoped for by the end of the calendar year.
Fabio Padua on Using AI to Increase Productivity [EPISODE 907]
  • One prompt built and deployed a conference sessions site. Padua, who has been at Microsoft for four years, gave the new GitHub Copilot app a JSON file of Build session data, and it created a repo, built the app and set up deployment to Azure. He puts the time at about five minutes at one point and "10 minutes tops" at another. The app ran a team of about 15 agents under a "director". His only manual step was copying the Azure static web app token into the repo's GitHub Actions secrets.
  • An internal agent tool matched conference sessions to a partner. Padua says Scout, an internal Microsoft tool built on the open-source OpenClaw, ran parallel agents that read his site and researched the partner Solo Network. When Playwright failed, they fell back to simulated mouse and keyboard input. They picked 16 best-fit sessions, built a table with links and levels, and drafted an email offering a 30-minute call. He has done this for three partners, in Portuguese where he remembered to ask.
  • Agents act as you, so limit what they may do. Padua advises running OpenClaw in a virtual machine you can destroy and letting it only draft, never send or auto-reply to email, citing stories of agents deleting emails or a whole operating system. He had Copilot write a PowerShell deploy script for him to review rather than letting it deploy through the Azure MCP server tied to his credentials, to avoid unwanted resources and costs.
  • Copilot digs answers out of dense internal documentation. Padua uses Microsoft 365 Copilot to summarize meetings he missed and to draft LinkedIn posts. Searching the documentation this way, he found why a partner lacked the Anthropic model quota it expected in Foundry: he says those models work only under an EA contract, and the customer was on CSP. He also tries competitors' tools, such as OpenAI's DALL-E, Anthropic and Perplexity, because customers ask his opinion of them.
  • AI amplifies technical knowledge rather than replacing it. Padua argues that results depend on the user knowing what they want to do, and that AI then delivers "the best of the people can do with a prompt". Giard adds that the agents narrate their failures and change approach, as when Playwright failed, which he says is what a person would do, only faster.
Peter Laudati on The Eat Jersey Challenge [EPISODE 906 ]
synopsis

Laudati, a Microsoft solution specialist, ends up arguing that AI works best for him as a builder of deterministic tools, not a generator of content. GitHub Copilot built the map site for his food challenge without his writing a line of code, and it is now building the command-line tools he hopes will clear his video backlog. He says it got there only because he prompted with a programmer's precision.

The challenge. He and his wife, empty nesters, are eating in all 564 New Jersey towns, an idea borrowed from a former coworker doing Massachusetts' 351. About three years in, they have eaten in 287 towns, 87 of them before the challenge started. Friends pushed them to go public about a year ago. One early reel reached about 70,000 views when they had 50 followers, and they now have about 20,000 across Facebook and Instagram.

The map site. Commenters kept asking "come to my town", so he wanted a clickable map. In two or three hours with Copilot, using Claude, he went from plan mode to a static React site on GitHub Pages, with a mapping library he believes is Leaflet. Copilot made four or five tries before it found a source of town boundary polygons. He rejected its suggestion of Cosmos DB in favour of a JSON file. Unprompted, it shrank the logo, which it named as the page's biggest performance cost. He says it fought the CSS by trial and error, just as he would have.

Specificity as the skill. Laudati calls natural language "the ultimate programming abstraction", but says results go off the rails without precise prompts. His example is the script that converts his Excel tracking sheet to JSON, run by a GitHub Action whenever he pushes the sheet.

The video backlog. Each 60–90 second video takes 10–12 hours, and about 150 towns are still unpublished. Early AI images drew criticism, so he cut back. He gave Copilot a three-page write-up of his editing steps and got a 10-phase plan back. One of the seven tools he has scaffolded so far now generates each opening map animation in 15–20 seconds, and he has published the tools on GitHub.

  • The goal is a meal in every town in the state. Laudati and his wife are eating their way through New Jersey, which has 564 official towns, against Massachusetts' 351, where a former coworker, Chris Bowen, and his wife started the idea. About three years in, they have eaten in 287 towns, including 87 visited before the challenge began. Some towns have no restaurant at all, and one is only a members-only golf course with about six homes.
  • Video editing, not visiting, is the bottleneck. Each 60–90 second video takes him 10–12 hours, so he averages about one a month. Post 129 was the latest, with roughly 150 towns still unpublished; Giard calculates one a month would take 48 years. Since going public about a year ago, one early video drew about 70,000 views when they had 50 followers. They now have about 20,000 followers across Facebook and Instagram, and town videos usually reach around 100,000 views.
  • An AI coding agent built the interactive map; he wrote no code. Laudati says it took two or three hours on a Friday night with GitHub Copilot, using Claude, starting in plan mode, where he rejected technologies he did not want. The result is a static React site on GitHub Pages using a mapping library he believes is Leaflet. Copilot made four or five tries before finding a source for town boundary polygons. He overrode its suggestion of Cosmos DB, which he says is expensive, in favour of a JSON file, and unprompted it flagged the oversized logo as the page's biggest performance cost.
  • Natural language is the newest abstraction, but it needs programmer-level specificity. Laudati argues English has become "the ultimate programming abstraction" over machine code. He says results go "off the rails" unless prompts are precise. His example is the AI-built script that turns his long-kept Excel tracking sheet into the site's JSON, run by a GitHub Action whenever he pushes the sheet.
  • AI should build deterministic tools, not generate the content. AI-generated images in early videos drew criticism from artistic commenters, so he cut back; he says 95% of what they publish is him talking over their own photos and footage. He fed a three-page write-up of his manual editing steps to Copilot, which produced a 10-phase plan. Of the seven tools he has scaffolded, the finished one is a command-line map-animation generator that makes each opening zoom in 15–20 seconds and can batch all 564 towns. He says the tools are on GitHub under what he thinks is the MIT license.
Sailaja Mantripragada on AI Governance [EPISODE 905]
  • Copilot did not create the permissions problem; it exposed it. Mantripragada, who says she spent 15–20 years as a SharePoint and Power Platform specialist at the SEC, Freddie Mac, Blue Cross Blue Shield and Gilead, likens AI to switching the lights on in a messy room: overshared, ungoverned data that sat unnoticed is now surfaced, as when an intern asks a new agent for "the strategy for the next 2 years" and gets an HR site's documents.
  • Every agent should pass an intake review before it is built. Her "just-in-time AI governance framework" records who is building it, the approver, the business case and the intent as an audit trail, then on a button click checks the named data sources through the Graph API, Purview and SharePoint Advanced Management for overshared or orphaned sites, sensitive data and DLP settings, returning either a remediation plan or an approval. She says it runs inside the customer's tenant on a Teams/SharePoint site, covers SharePoint, OneDrive and Dataverse so far, is built largely in Power Automate, and is currently available only by hiring her firm, Low Code Power, with general availability a goal.
  • Proactive governance beats leaving it to auditors after the fact. Her tagline is "build fast, govern faster": citizen developers need a "driver's manual" up front rather than a ticket later, and she says that when AI goes wrong the repercussions now reach the CEO, not just the IT director. She calls Microsoft's Agent 365, which she says went generally available on May 1st, the coming go-to for reporting on workflows and usage but "slightly reactive"; she ties auditability needs to the EU AI Act and the NIST AI RMF.
  • Start with one or two high-effort workflows and a few champions. She picks the most manual, time-consuming work, found by talking to the domain teams, because quick results drive adoption. Her example is an R&D tax credits firm whose customer-vetting document has about 25 fields: a Copilot agent plus an agent flow, added for deterministic results, now fills a Word template with a company profile on one click.
  • Her readiness assessment begins by documenting the environment as-is. She describes spending the first week on the customer's environments, workflows, infrastructure and licences, documenting the as-is and to-be process, then using Purview, the M365 and Power Platform admin centres and SharePoint Advanced Management reports to find exposures such as sites open to everyone or missing security groups.
Cory House on Generative AI Coding Tools and Processes [EPISODE 904]
  • He will never write code again without AI help. House says he feared AI would break his flow but now stays in flow more, because he rarely gets stuck for the hour or two that used to end in an angry walk. He has used GitHub Copilot, Cursor, Codex and Claude Code and mostly uses Claude Code, partly because as a workshop teacher and speaker he wants the tool most people use; he was sceptical of a CLI but now likes the large text window and @-file completion.
  • Keep the instructions file nearly empty and push specialisms into skills. He no longer uses Claude Code's init, saying it generates a bloated file; everything in that file is sent with every request, yet little of it is relevant to every request, so he lets the agent grep on demand and writes lazy-loaded skills (accessibility testing, security auditing) for repeated tasks. For the same reason he clears context regularly: carried-over conversation burns tokens, lowers quality and can colour a feature with an unrelated earlier discussion.
  • Humans could not review all the generated code, so AI reviewed it. On a six-week trial to build a rewards site and CMS, his team produced an app with over 90% test coverage and "not quite 100,000 lines"; heads-down teammates on Max plans hit usage limits, though he did not. GitHub Copilot reviewed the Claude-written code, a Claude skill read and answered Copilot's comments, and House read Claude's replies to decide; he says velocity expectations now force teams to dial back human review.
  • Anthropic's tools are eager; OpenAI's Codex is more thorough. In his reading, Claude reads between the lines and gets code out quickly, which suits iterating as code gets cheaper, while Codex asks more questions and plans to one-shot the task, which may suit people who would rather not review. He values Copilot for not being a walled garden: it can run one code review through Google, Anthropic and OpenAI models and then compare them.
  • Work in small pieces he can read, with one or two agents. He tried handing an agent a whole backlog and rejects it, because he is responsible for every pull request he merges and wants to watch the agent's direction as it works. He favours small, clear tickets in the lean limit-work-in-progress sense, and asks the AI to compare a ticket with its mock-up, which often turns up disagreements to settle with the product owner.
Harald Fianbakken on Microsoft Sovereign Cloud [EPISODE 903]
  • Sovereign cloud is a range of offerings, not one product. Fianbakken, a Microsoft program manager for disconnected operations, says geopolitical instability has made sovereignty top of mind for customers, and Microsoft now offers public sovereign cloud, private sovereign cloud and national partner clouds to meet different requirements.
  • Public sovereign cloud is mostly policy applied to ordinary Azure. He describes it as Azure policies and governance frameworks, such as bringing your own encryption keys and "sovereign landing zones" that extend Azure landing zones; the simplest example is a data-residency policy assigned to the management group hierarchy so every service keeps data in the customer's geography.
  • Private sovereign cloud puts Azure Local under the customer's control. It runs on the customer's or a trusted partner's premises, either connected to an Azure region or fully disconnected with no outbound connectivity, with only a subset of public-cloud features. He argues it serves the "last mile", such as health services that must keep running if internet access is cut for a long period, and cites regional data-centre outages from recent Middle East conflicts; he recommends designing critical workloads to fall back from public cloud to connected Azure Local to fully air-gapped.
  • Going fully disconnected adds burdens customers rarely anticipate. Customers must buy and plan the hardware and failover capacity across sites, and run their own PKI and time servers because they cannot depend on public services. To decide what goes where, he says to map applications against risk appetite and regulation, asking for example whether the country could be cut off from a hyperscaler for 12 months.
  • National partner clouds are run by entities independent of Microsoft. Besides the US government cloud he calls Fairfax, he names Bleu in France and Delos in Germany, serving approved government customers with a subset of features; he says independence from Microsoft is a European requirement and that they are fully isolated from Microsoft's data centres.
Vlad Avesalon and Alex Nova on world.org and the World App [EPISODE 902]
  • Bots are taking over the internet, so humans need proof of personhood. The guests, who say they are helping World (world.org) gain exposure in the Midwest, argue that more than half the internet is already browsed by AI agents and traffic is heading toward about 99% bots. They present World ID as a "priority lane" for humans and a way to tie an agent acting for someone to that person uniquely.
  • An iris scan issues a credential without World holding the data. The "orb" camera scans the irises, which they say have less than a one-in-a-billion chance of matching anyone else's, converts the image to a hash that is split across databases so it cannot be traced back to a person, and issues a World ID stored on the phone. By their account it is a one-time scan, likened to a biometric RSA key, and each application gets its own account identifier, so apps cannot link a user across services.
  • Credentials let apps check claims without seeing the underlying data. A passport can be added, with driver's licences "eventually"; they say World ID is integrated with Tinder in Japan, where a zero-knowledge proof confirms a user is over 21 without revealing the birthday.
  • Developers can build on World's existing base of verified users. They cite close to 39 million people onboarded in over 160 countries and a World ID SDK usable in standalone apps or in mini apps published inside the World app. Their own aim is to educate and help local developers, including with funding, and they invite people to partner through sohuman.us to operate orbs locally.
  • A payments network sits on top of the verified identities. They say users can send money through World chat to anyone with the app, including in Mexico or Japan, as a digital US dollar the recipient converts to local currency, pitched against scams on services like Cash App or Venmo.
Brady Gaster on Squad and a Multi Agent AI [EPISODE 901]
synopsis

Gaster ends up arguing that agent work goes best as a small, coordinated team of specialists with narrow knowledge, strict failure rules and file-based memory, and that this is what Squad, his open-source framework on GitHub Copilot CLI, provides.

The experiment. Gaster, now in Azure app modernization at Microsoft, built Squad one weekend. He compared one agent, five generalists and a team of specialists on a snake-game prompt. The specialists wrote about 20% less code with fewer, broader tests and were 18–20% more efficient than the generalists, who grabbed each other's work and hallucinated. The single agent did worst.

How the team runs. A coordinator is always needed. The team hires agents it lacks. Gaster recommends turning on the lockout policy, which is off by default: after a set number of failures an agent is barred from a task, and every success is written to disk as a lesson. He keeps agents' knowledge boxed in, since more context makes them forget.

Memory and crashes. All memory is Markdown, written constantly by a Scribe agent, so a squad can resume after the CLI crashes. Giard notes the files live in source control. Agents will not move pasted secrets into files. A SQLite-backed storage abstraction was just committed, and longer-term memory is under experiment. After about a month, Gaster has squads clear their context and hold a restructuring meeting.

Tools and getting started. Sub-agents cannot reach MCP tools, so the coordinator calls them on their behalf. There is no roadmap. Gaster expects growth "inside more than outside", with security teams interested. The project has 29 contributors. Install with npm install -g of the squad-cli package and run squad init. Avoid the bare squad REPL, which will be deprecated, and use the Squad agent in Copilot CLI or VS Code, in autopilot mode.

  • A team of specialist agents beat generalists and a single agent. Gaster, who works at Microsoft on GitHub Copilot app modernization, says he gave the same "build a snake game using Aspire" prompt to one agent, a team of five generalists and a team of specialists each fed its own large Markdown knowledge file (on App Service, Container Apps, Aspire, Functions). The single agent produced about 2,000 lines and 80 tests slowly and badly; the specialists wrote about 20% less, cleaner code with fewer tests that covered more, and ran 18–20% more efficiently than the generalist team on average over repeated test runs.
  • Generalists fight over work and hallucinate; specialists stay in lane. Gaster says generalists have a "hungry hungry hippo" effect, grabbing any task and hallucinating because they carry too much knowledge, while a specialist tester will not write code. A coordinator is always required, and the team can "hire" new agents when it finds a gap: on a Swift app it asked for a front-end designer, then a marketing agent.
  • Turn on the lockout policy; Gaster says it stops hallucinations. It is off by default and set with an instruction such as "set it to two": after two failed attempts at a task, as judged by a tester agent (his example is Playwright checking a colour), that agent is barred from it, others try, and if none can do it the team hires one. When the task passes, every agent writes what it learned to disk so the error is not repeated.
  • Squad's memory is just Markdown files, written constantly. A "Scribe" agent in every squad writes decisions to files, so after a Copilot CLI crash (which Gaster says hits him once or twice a day) the squad can say where it was and resume; Giard adds that the files are checked into source control, so later developers see the decisions. Agents refuse to move a secret pasted into chat because it would land in a file; a storage abstraction with a SQLite vector store, built by Dina Berry after Jeff Fritz asked for one, was committed the night before recording, and longer-term-memory experiments are planned.
  • Refresh the team after about a month of work. Squad starts with no more than about five members; Gaster tells a long-running squad to clear its context, report how much it cleared, then hold a candid meeting on its performance and restructuring. His overloaded Git agent "Kobayashi" was let go and the team asked for two replacements, one for CI/CD without Git ops and one for Git ops without CI/CD.
Episode 900: A Celebration of Friends!
  • Episode 900 is a montage of guests' closing lines, not an interview. It strings together dozens of past guests riffing on the show's "technology and friends" sign-off, with no host questions and no single topic; the only speaker who names himself is Jeff Fritz.
  • The common thread is that tech careers are built on friendships. Several guests credit conferences, speaking and user groups with friendships worldwide, one dating it to publishing and speaking from the late '90s and saying their company was founded on working with friends, and an entrepreneur advises starting a company with friends who share your vision and principles.
  • A minority of clips warn about AI and technology's risks. These include "Friends don't let friends use GenAI technology without some safeguards", "Friends don't let friends build irresponsible technology", that technology can isolate as well as connect, and one tongue-in-cheek claim that AI has eaten the speaker's friends. Others argue developers need to understand AI to set guardrails.
  • One guest argues the GUI made computing antisocial. The speaker says clicking gave nobody anything to show colleagues, while PowerShell scripts got shared, admired and repaid in gratitude ("I owe Bruce a beer"), and that this restored the social joy of computing.
Eldert Grootenboer on Reliability in Azure Messaging [EPISODE 899]
  • Single-region redundancy is now automatic and free. Grootenboer, the product manager for Azure Service Bus, says every message is stored as three copies on different racks in one data center, or in three data centers miles apart in regions with availability zones. Customers no longer have to enable zone redundancy themselves.
  • Geo-replication gives a hot standby, not active-active reads. The now-GA feature for Service Bus and Event Hubs lets one namespace name a primary and a secondary region; the secondary is invisible until promoted. He says Service Bus cannot read from both regions because each receive is a read plus a write, so consistency across regions would be very hard; for Event Hubs, whose clients control where they read in a stream, reading from both regions is being designed and he expects it in "months, maybe a year".
  • Choose synchronous if data matters most, asynchronous if uptime does. Synchronous replication waits for the secondary to commit, giving RPO zero, but adds cross-region latency (he cites a customer pairing Australia with Western Europe) and makes the application unreachable if either region goes down, since there is no quorum with one secondary. Asynchronous commits on the primary at once with minimal added latency, keeps running if the secondary fails, and lets the customer set a maximum replication lag.
  • Size the maximum replication lag to your real failover time. He says the maximum is a ceiling, not the expected loss: customers in production with normal throughput typically see 30 seconds to 2 minutes of lag, and incoming requests are throttled only when the maximum is hit. Setting it to 5 minutes when a failover takes at least 30 leaves you facing the same throttling as synchronous mode.
  • Promotion stays in the customer's hands, planned or forced. A planned promotion cuts incoming traffic, replicates outstanding data first, then switches DNS, so clients reconnect without changes; a forced one switches immediately and loses unreplicated data. Microsoft keeps control with the customer because it can see only whole-region outages, while customers also fail over for problems in other components, to move regions or to test; a Microsoft-initiated failover is being considered, with no specific plans.
Jeffrey Snover on Unifying AI at Harvard [EPISODE 898]
  • The three AI camps talk past each other and need a translator. Snover, who retired in January after 45 years in the industry and becomes a research fellow at Harvard's Berkman Klein Center from March (recorded 27 February 2026), names accelerationists ("all gas, no brake"), safetyists and skeptics. His hypothesis is that they use the same words for different things, and his project is to build a taxonomy of their belief systems and map between them, sorting disagreements Descartes-style into goals and values, data and facts, or methods.
  • He is building a "point of viewer" for policymakers and journalists. It would load a document and attach clickable chips showing which camps agree or strongly disagree with each point and why, so readers form their own view from the arguments; taxonomies are pluggable so the tool could cover energy policy or other subjects. He calls it a stretch goal and says he started vibe coding it with Claude Opus 4.6, which he finds "shockingly good" but not 100%, with PDF rendering still a problem.
  • His earlier risk taxonomy is the precedent, now easier with LLMs. He says the head of SRE at Google recruited him to replace the loss budget with a risk budget, since some loss is tolerable (a failed search retried) and some is not (delivering a VM to Walmart). Google's practices were "locally brilliant" but siloed between search and cloud; unifying them into a risk taxonomy was arduous work that language models now make much easier.
  • Treat an LLM as a language tool inside a solution. He says the model-plus-REPL picture is outdated: like a parser or report generator, an LLM is a component you drive and whose output you use, for instance to judge whether two things are similar. He cites Gemini grounding answers in Google's search knowledge graph, and defines architecture as "the art of deciding when two things should be one and one thing should be two."
  • America's recurring turmoil ends when broken institutions are reinvented. He takes this from George Friedman's The Storm Before the Calm, the book he says he has recommended most in three years: institutions and socioeconomic contracts are inventions that break down, Americans turn on each other until someone reinvents them, and calm returns over 10 to 15 years. He cites the 101st and 82nd Airborne in Detroit in 1967 and over 4,000 domestic bombings a year in the early 1970s as past turmoil now forgotten.
Ken Versaw on How to Manage AI-First Software Development Teams [EPISODE 897]
synopsis

Versaw holds that an AI-first team is worth running but delivers less than the hype: measured gains lag individual anecdotes, team-level efficiency does not come free, and the change reshapes roles, story sizes and the backlog while raising worries about future skills. He is not pessimistic about jobs.

Measuring. At Nelnet his teams measured velocity, cycle time, defects and deployment frequency before and after adoption. Sprints still close about 40 points; cycle time is improving, but not dramatically. Making the team stronger than the sum of individuals is, he says, his biggest unsolved problem.

Roles. He sees three contributor roles: product vision, analysts writing stories and test cases, and engineers prompting and reviewing, aiming at about 90% generated code. Senior engineers resist; he insists, and says users do not go back.

How work changes. A team that tried to reach 100% generation, discarding wrong output and fixing the prompt, found tokens are not free and small fixes are quicker by hand. Larger stories give better results, and developers now outrun product design.

Worries and jobs. He fears weaker mentoring, atrophying coding skills and an end to new patterns; Giard asks how reviewers recognize good code without having written bad. His employer has made no layoffs but may hire less, and he finds AI easier to learn than earlier shifts.

  • Measured AI gains are real but well short of the hype. Versaw, a software engineering manager over about three teams at Nelnet in Lincoln, Nebraska, says they measured velocity, cycle time, defect rate and deployment frequency before adopting AI and after. Individuals report large speed-ups, but the metrics show smaller gains: sprints still close about 40 story points, possibly with more done per point, and cycle time is falling less than individual accounts suggest.
  • Individual contributors are narrowing to three roles, with engineers as reviewers. He lists people who decide what to build, analysts who write stories, acceptance criteria and test cases, and engineers who prompt and own code quality, with a target of about 90% (perhaps 95%) generated code. Senior engineers whose identity is writing code resist becoming reviewers, but he says once people use the tools hand-written boilerplate feels like drudgery, and nobody has asked to stop.
  • Bigger stories now produce better generated code. He calls it reversing the old goal of breaking stories as small as possible: models do better with more context. One developer merged three related stories into one PR to avoid the overhead and it worked out better.
  • Developers are catching up with product design. Because product design remains human and creative, his teams have started working on lower-priority backlog items while waiting for stories, which he did not foresee. He suggests the ratio of product designers to developers may need to rise.
  • He worries about mentoring, skill atrophy and the end of new patterns. If graduates only review code, he asks how they will learn, and whether in 10 years people will still be able to write it, comparing it to no longer memorizing phone numbers. He also wonders whether anyone will invent new patterns like the Outbox pattern he learned four years ago; Giard adds that models would end up trained on their own output.
Chris Woodruff and Joe Guadagno on morespeakers com [EPISODE 896]
  • The site aims to bring younger speakers back to conferences. Woodruff says morespeakers.com the idea came from a late-night conversation at DevSum in Stockholm with Scott Hunter, a Microsoft vice president, about the rising average age of conference speakers. Woodruff's explanation is that would-be younger speakers are making YouTube and Twitch content from home instead; he started the site last August or September as a marketplace connecting new speakers with experienced mentors.
  • The first unconstrained AI-generated build was unmaintainable. Guadagno says Woodruff's Claude Code version worked, but its three feature sets, built from different prompts, looked "like three different engineers built it," so nothing more could be added. He refactored it piece by piece into something that looks like a rewrite, and the repo now carries agents, commands and instructions for Claude Code, GitHub Copilot and JetBrains Junie to keep generated code within set patterns.
  • The site is server-rendered but built to behave like a SPA. Woodruff chose HTMX on ASP.NET Core Razor Pages to make a server-side app behave like a SPA, swapping page sections with HTML returned from page handlers. Everything runs on Azure: Guadagno lists App Service, Azure Functions processing queued sign-up emails sent through Azure Communication Services, Azure SQL, and blob storage for speaker images not yet in use, with .NET Aspire setting up the open-source project's development environment.
  • Mentorship requests are capped and need the mentor's consent. Guadagno says users register as new or experienced speakers, which only changes a profile badge; anyone can request a mentor, but only two at a time, and the mentor can decline. Matched pairs get each other's email for now; a calendar and a moderator-matching feature suggested by Steve Smith, modelled on CodeMash's speaker-help program, are ideas for later.
  • Traction is weak, mostly experienced speakers, and time is the constraint. Woodruff says they have done little marketing and still need to work out where aspiring speakers are, and they are asking for contributors. Giard suggests targeting people who give the 10-minute lightning talks his Chicago cloud computing user group recently started, and Woodruff offers to reach user groups through his seat on the .NET Foundation board and its newsletter.
Sarang Brahme on Industrial Scale Agentic AI in Hospitality and Restaurant Analytics [EPISODE 895]
  • The project analyzes guest reviews for restaurant chains across North America. Brahme, a principal architect in Longview Systems' AI practice, says hospitality runs on thin margins with performance that varies by location, shift, season and crowd. The system ingests reviews from Google, Yelp and the client's proprietary table devices, which ask about 10 to 15 rated questions per venue plus a free-text verbatim section.
  • One sentiment score per review cannot capture mixed verdicts. Reviews run from two words to ten lines and often praise one thing while faulting another, so the model extracts entities per objective (food might score 0.9, service 0.5) and weights them. He contrasts this with standard NLP, which returns a single score between zero and one per sentence.
  • Agents answer the questions BI reports cannot. He says the clients already have BI showing what happened; agents let managers ask open questions in plain English, such as who earns the most tips in a California region on a Sunday evening, or what past Super Bowls meant for a nearby restaurant. Two further agents generate tasks for staff from reviews and point-of-sale data, and write a personalized response to each reviewer.
  • The framework is built for industrial-scale concurrent use, not demos. Brahme says it targets 5,000 to 10,000 concurrent users across the US and Canada, and lists Microsoft Fabric as primary storage, the Microsoft Agent Framework, a Databricks medallion architecture and a containerized UI on Azure. Access is scoped by role, from restaurant manager to managing director, and kept separate between customers; he calls it one of the first agentic systems at this industrial scale, possible only through Microsoft's framework.
  • It is an MVP under evaluation, with full features expected by summer. Work began last summer; he says the client's internal beta users called plain-English, repeatable answers a game changer. Next is opening it to 100 to 500 evaluators, then general availability, and adding more review platforms, an events database (Super Bowl, World Cup matches) and weather and demographic data.
Brian McKeiver on Improving Developer Workflow with AI [EPISODE 894]
  • Chained sub-agents now build his agency's CMS React components. McKeiver, co-owner of a Grand Rapids digital agency that builds on the Kentico .NET CMS and hosts on Azure, says MCP servers connect VS Code or Cursor to the user stories in their project-management tool and to the Figma design system. One agent questions the user story for gaps and drafts a plan with the developer, another screenshots the Figma design and picks styles, others pull the reusable component library, and once approved the agents write the React, Tailwind and tests and verify them. He says work that took days, or "two days of effort", now takes minutes, or 20 minutes.
  • Getting there took heavy context, including deliberately bad examples. He says roughly the last month and a half to two months went into custom instructions: Kentico's own documentation MCP server, because the niche CMS is poorly known to models, plus three code files of what never to do (missing caching and security) and the agency's starter MVC template with its 10 base widgets. Model choice was trial and error, from GPT-5 to Opus and Sonnet today, sometimes splitting planning and execution between models.
  • Start with the simplest component and build up. The team began with a basic card (image, text, "learn more" link) rather than a filterable, sortable search-results page, because the more complex the component, the more base information the agents need.
  • Agents still fail on complexity, design systems and token budgets. By default an agent re-creates a blue as a fresh hex code instead of using the one already defined, so the team adds explicit steps forcing reuse. The process is token-heavy: developers hit subscription limits and asked leadership for higher tiers. He holds that a human must still check output and approve steps, and that developers become orchestrators whom these tools "will never replace".
  • Hourly billing no longer fits, and he has no replacement yet. Asked about 20 billable hours shrinking to one, McKeiver says the agency is "literally struggling" to move from hourly rates to charging for value. His stated goal for the year is more complex scenarios with fewer approvals, and ultimately marketing sites delivered in days rather than months by talking to an AI; he says the system needs a couple more months before it is ready.
Fidel Guzman on Emotional Intelligence, Tactical Empathy, and Storytelling [EPISODE 893]
  • Emotional intelligence means reading yourself and the room, then naming it. Guzman, a training and development manager at ION Group, defines it as checking and grounding your own emotional state before a meeting and reading the other person's cues. When someone seems distracted or unhappy with a deal, he says, call it out ("it looks like this deal isn't what you were expecting"), a technique he used in retail and says works in everyday conversation too.
  • Technology is making workplaces transactional and impersonal. He lists the causes: a tech-first mindset prioritizing speed over nuance, virtual fatigue (cameras off, Microsoft Teams avatars hiding emotional cues), cross-functional and cultural friction, data overload where AI-gathered facts arrive without stories, and few professionals trained in empathy and storytelling.
  • Disengagement carries concrete costs, not just soft ones. Guzman names employees feeling unseen, misalignment and silos, turnover driven by lack of trust, ideas that never gain traction, and innovation decline where failing is not safe. Giard adds that these carry monetary penalties, and recalls a manager whose stock response to mistakes was asking whose idea it was, and who then got no new ideas.
  • Facts tell, stories sell. He frames any meeting as problem, climax and solution, and structured his own answers that way in the interview. His reason is that people may forget the story but remember the emotion it made them feel.
  • Lead with stories, listen actively, and make the human ask. His fixes start with leaders: build emotional intelligence into leadership development, open meetings with personal check-ins, and let technology handle tasks while humans handle meaning. His tips are to start with a story, listen to engage rather than respond, validate feelings by recapping them, ask open-ended why and how questions, and watch tone online. To get colleagues' cameras on, as Giard asks, he advises a sincere, authentic request and keeping the meeting interactive.
Rod Christensen and Roan Weigert on AI Pipelines and Rocket Ride [EPISODE 892]
  • AI projects stall on tool choice and on reaching production. Christensen, Rocket Ride's chief architect, says teams commit to a framework or model and find 30 days in that it falls short. Even in the best case, he says, a week of development is followed by three weeks to two months fighting deployment, scaling and threading problems that only appear in production.
  • A drag-and-drop canvas replaces hand-written glue code. Inside VS Code, Cursor or Windsurf, developers connect boxes from about 120 connectors (about 20 of them LLM modules) and call the result through TypeScript, JavaScript or Python SDKs; Christensen says an audio-transcription service from a webhook node takes about five minutes. Weigert, in developer relations, says his own vibe-coded RAG chatbots grew into glue code he had to throw away after one to five days, where the same pipeline on the canvas is about 6 hours' work.
  • The engine handles concurrency and version matching for deployment. Christensen says matching module versions is hard (Whisper alone comes in 10 configurations) and calls LangChain and LangFlow single-threaded, while the engine handles 256 concurrent inference streams. Pipelines deploy either as a generated Docker image or to the company's cloud service, which manages modules and scaling under SLAs.
  • The engine is being open-sourced under a separate foundation. Christensen says the engine was split out of the parent's roughly seven-year-old data-management product: a foundation owns the IP and patents, and Rocket Ride Inc. hosts the software for a token-based subscription in builder, pro and enterprise tiers, with enterprise support and integrations kept out of the open source. Recorded at the end of January, they said the product and landing page launch on March 1, with Discord as the hub for events until then.
  • Shared GPUs beat renting your own unless you keep it busy. Christensen's case for the hosted service is that a rented GPU runs 24/7 for perhaps 2 minutes a day of use, while the service's model server shares a large GPU pool and can even be faster. He says self-hosting only wins if you peg the GPU constantly; Giard frames it as the classic rent-versus-buy.
Rachel Appel on Dark Patterns [EPISODE 891]
  • Dark patterns are design choices that steer users against their interests. Appel, a JetBrains developer advocate in Germany, defines them as UI and UX choices that coerce, trick or deceive people into choices they would not make with full information. Some are mere bad design copied from big sites without thought, and she warns of a growing body of legislation, especially in the consumer-protective EU, plus US lawsuits.
  • The online playbook: blocked cancellations, sneaked subscriptions, disguised permissions. Her Audible cancellation was refused by an email saying her reason was unacceptable; Giard's stamp purchase silently became a $5-a-month subscription he caught three months later. Other examples she gives are warranties added to carts, notification prompts saying "press allow to prove you're not a robot", false scarcity, cookie pop-ups, and guilt-trip opt-outs like "No, I don't want 15% off". She says elderly relatives are hit hardest.
  • Physical stores use them too, on a sliding scale. She says grocery stores place children's items at children's eye level (she once wrote shelf-scanner code for a food manufacturer), casinos trap people, and IKEA's stores route and tire shoppers while its website has no dark patterns. Giard and Appel agree good versus bad is not binary.
  • They work by hijacking the brain's autopilot. Appel cites Robert Cialdini's principles of persuasion and his "click, whirr" effect: because people cannot consciously weigh every decision, the right trigger sets them off. Her examples are 99-cent pricing, Amazon A/B-testing how far apart a struck-through and a sale price sit, the mere exposure effect, and decision fatigue.
  • Dark patterns cost more later, and developers can refuse them. She cites estimates that they can cost up to three times their gain in complaints, ill will and refunds, from a talk by Harry Brignull and a collaborator. Her remedies are for developers to push back on marketing's requests, QA to add them to quality metrics, a part-time ethics committee to review products, and an attorney to check them; deceptive.design keeps a "wall of shame" of examples.
Rachel Appel on Retro AI and How Algorithms from the Commodore 64 Era Still Apply [EPISODE 890]
  • AI is far older and broader than LLMs. Appel, a JetBrains developer advocate, objects to "AI" being used to mean an LLM, especially ChatGPT, and to the claim it came out of nowhere. Recommendation engines and car-factory robotics run on classic computer-science algorithms, and she argues that once people get used to an AI they stop calling it AI, which she expects will happen to LLMs too.
  • Pattern matching underlies all of it, LLMs included. She says transformer architectures still match patterns at bottom, so "fancy autocorrect" under-hypes LLMs while the marketing over-hypes them.
  • A Commodore 64 book already ran core AI algorithms. Her talk draws on AI Projects for the Commodore 64, published in 1985 for a machine with 64K of RAM and no hard drive; her husband retyped its samples into her GitHub repo, which runs in an emulator, and similar books are on archive.org. Its programs include Towers of Hanoi (recursion, state representation), the Knight's Tour via Warnsdorff's rule or backtracking (which she says could guide a Roomba), tic-tac-toe that reapplies winning moves as basic reinforcement learning, an Eliza-style chatbot, and a logic program that infers a cat is not a chihuahua.
  • The book already warned against treating chatbots as people. She quotes it saying people took Eliza seriously and shared personal feelings with it, and telling readers to beware that attitude. She ties this to humans anthropomorphizing machines, and says an LLM reflects us back by applying patterns to our own internet data.
  • What is new is data and compute, which deserve thrift. Appel, and Giard with her, credit cheap compute and storage for today's LLMs, while she notes data centers draining water and power grids in some communities. She points to DeepSeek as working within limited resources and argues for revisiting classic algorithms and the C64-era habit of counting bits, rather than throwing hardware at problems, to make AI cheaper.
Tim Rayburn on How AI Resets the Agile Manifesto [EPISODE 889]
  • Tools no longer slow down interactions, so that trade-off weakens. Rayburn, a vice president of consulting at Improving who helps lead its AI practice, says the manifesto discounted tools because heavyweight processes of the time slowed shipping, while tools like Claude Code now work at the level of conversation; he still warns against outsourcing human judgment.
  • Comprehensive documentation is now the route to working software. He argues a full description of intended behaviour is "a few short steps away" from executable code, and that with users getting software in hours or days, the theory-of-constraints bottleneck may move from development to product owners knowing what they want. He wants agents given access to Jira or Azure DevOps so they can read context and kick unclear work back to a human.
  • AI adoption will push consulting from billable hours to value pricing. Rayburn calls this his most heretical view: "customer collaboration over contract negotiation" assumed vendors had equal capabilities, but a long-trusted vendor that does not adopt AI may become the slowest option. He predicts value-based pricing, and says that if he is wrong the alternative is higher hourly rates to cover the overhead between ever-shorter projects; Giard notes the old difficulty of defining value.
  • Cheap planning brings the good plan back. Rayburn says responding to change is now table stakes: because documents can be regenerated quickly, he says teams can plan and respond to change both, and predicts shorter iterations and more kanban-style boards, possibly ending rigid sprints. He proposes new pairs of values: human judgment over AI capability, and clarity of intent over implementation speed — he would rather wait a week for the product owner's intent to be clear.
  • Improving trains every developer to hand agents business-level tasks. He describes a five-point AI maturity scale: office workers stop at chatting, most developers plateau at giving agents scoped technical tasks, and Improving's minimum target is handing an agent a full user story to break down itself, which needs far more words per story than the old "post-it note" habit. He urges viewers to try spec frameworks such as OpenSpec and Spec Kit or heavier agile-style agent frameworks, which he says are yielding fast, high-quality output on Improving's teams.
Brian McKeiver on Microsoft Foundry [EPISODE 888]
  • Foundry's renames track a widening scope, not just marketing. McKeiver, co-owner of the Grand Rapids Microsoft-stack agency BizStream (25 years in business, about 100 clients), traces it from Azure cognitive services to Azure Cognitive Search, Azure AI Search with semantic search, Azure AI Studio for about a year, and then Microsoft Foundry once agents arrived; Giard frames it as a unified AI platform absorbing separate products, and McKeiver agrees.
  • A Foundry project assembles a working agent in the browser without code. He describes picking from thousands of models with cost estimates, adding knowledge sources for RAG (Azure AI Search, blob storage, Fabric, Foundry IQ), MCP tools, memory, guardrails and content safety, and reaching a playground within minutes. He relays that Microsoft guarantees a private deployment's data does not leave the tenant.
  • An agent removed about 90% of a manufacturer's manual order entry. For a Michigan manufacturing client whose staff hand-keyed PDF purchase orders and invoices, BizStream combined an agent with Azure Document Intelligence and an API call into the internal system; staff now only verify the extracted data on screen.
  • Agents need your business vocabulary spelled out in system instructions. Connecting BizStream's third-party CRM through its new MCP server took "about four clicks", but the agent had to be told that "lost" maps to three or four CRM statuses (e.g. 3, 4 and 5). He says a Foundry build can be opened in C# or Python code for customization and published to Teams or Microsoft 365 Copilot, which Giard calls its selling point over low-code tools.
  • Expect to keep relearning the tooling. McKeiver warns Microsoft may add features at any time, around Build or Ignite, and hopes "Foundry" is a name that sticks for a while.
Sam Basu on Developer Productivity with Contextual AI [EPISODE 887]
  • Some development tasks are no longer worth doing first by hand. Basu, a developer advocate at Uno Platform (an open-source stack for running one .NET codebase on mobile, desktop and the web via WebAssembly), says AI is quicker and better at them, while humans keep a hand in the loop and own the architecture.
  • Agents ground themselves by delegating to tools over MCP. He describes agents as orchestrators over models such as GPT-5, Sonnet, Opus and Gemini, and MCP — started by Anthropic and now joined by Microsoft and Google — as the API layer letting them hand tasks to tools and check current docs before answering, his remedy for hallucination.
  • Uno's app MCP gives coding agents "eyes and hands" to verify work. Besides a docs-and-project-setup MCP server, Uno runs a local server alongside the app being built that exposes seven or eight tools: screenshots, clicking buttons, typing text and reading the visual tree. An agent that builds a login screen can then check its own result instead of guessing.
  • Instructions files set standards; skills give agents step-by-step recipes. He says recurring mistakes belong in an instructions file the agent always reads (naming, how to make HTTP calls), while a skill is a "recipe card" for a task, such as checking the docs and the API response, building a data model and then mapping a UI to it.
  • Treat agents as peer programmers that work while you sleep. With guardrails, agent-run unit and UI tests, and a human reviewing the pull request, Basu says you get "almost a clone of yourself", at a cost in tokens and money.
Akash Dubey on Microsoft Learn [EPISODE 886]
  • Authoritative docs beat blogs, because outdated guidance is a security risk. Dubey, who works on the Microsoft Learn content team for Azure storage, compute, migrate and Azure AI, says unofficial forums and personal blogs cannot be verified, while each Learn article is tested, validated and assembled across multiple teams; Giard recalls Microsoft documentation 20-odd years ago as sparse and incomplete.
  • Ask Learn replaces keyword search with scenario questions and cited answers. Signed in at article level on learn.microsoft.com, a user can describe a problem (a small shop migrating heavy video and image files to Azure) without knowing the jargon and get step-by-step answers with references; he says it runs on the same technology as the Learn MCP server.
  • The Learn MCP server is free, but some chat clients charge for it. It is a remote server that grounds clients like Claude, ChatGPT, Copilot and VS Code in Learn content, with setup steps in a Microsoft Learn MCP GitHub repo. Dubey says ChatGPT needs a paid license such as Plus to add it, and the free Claude desktop only connects to local MCP servers; Learn content is free, while Giard says his recent certification exam cost $99.
  • Organizations can pull Learn into their own training systems. He points to the Learn Catalog API for importing module and learning-path metadata into an LMS, organizational reporting for learners' progress and completion data, and Viva Learning for surfacing training in Teams.
Dan Rey on Windows Recall [EPISODE 885]
  • Recall is browser history for everything on your screen. Rey describes the Windows 11 preview feature as periodic screenshots across all applications, roughly every 20–30 seconds by an algorithm he cannot explain, with no audio; it needs a Copilot+ PC with at least 40 TOPS. He first saw it at Ignite 2024 in Chicago while on the Surface team, got access in spring 2025 and has run it since summer 2025.
  • Users set storage, retention and exclusions up front. He believes the default storage is 25 GB (he set 150 GB on a 300 GB drive) and the default retention 90 days. It skips content it deems sensitive, and an excluded app such as a confidential Excel workbook blocks capture of its whole monitor; websites can be excluded, capture paused until tomorrow, and single snapshots or all of an app's snapshots deleted.
  • Microsoft answered privacy concerns with local, encrypted, opt-in storage. Rey says snapshots stay encrypted on the device behind Windows security sign-in, the feature is off unless you opt in, and his employer can disallow it by default or choose to pilot it.
  • OCR makes the screenshots searchable, unlike a folder of your own. He searched his history for "David" and found matching snapshots, and used the timeline to recover code Jeffrey Snover, the inventor of PowerShell, briefly shared in a 31 December meeting he had not screenshotted; snapshots also link back to the saved file.
  • Recall's future is uncertain until its value outweighs comfort concerns. Rey compares it to browser history, which people once distrusted and now accept; Giard adds his own view that society chose convenience over privacy long ago.
Joe Guadagno on Application Insights and Azure Monitor [EPISODE 884]
  • Monitoring tells you about failure before a customer's call does. Guadagno lists the reasons: spotting outages before a customer reports them, security, per-user performance (one user waiting 30 seconds where others wait 15), and proving SLAs such as 99.99% uptime; Giard adds that without data a "feels slow" complaint cannot be tested.
  • Azure Monitor covers whole systems, including code outside Azure. Formerly App Insights and then Application Insights, the suite monitors VMs, databases and app services, and through SDKs can take telemetry from an Android app or a third-party DLL. Guadagno says Microsoft built it to monitor Azure internally before selling it; Giard says its ADX database ran internally for about five years before he heard of it.
  • Turn telemetry on early, start high-level, and keep looking. He says CPU overhead is negligible and the real cost is data volume and time spent sifting, so begin at warning and info level and drill down as you learn the system. Review it weekly or monthly, since a query fine on 100 local records can slow on 100 million in production.
  • Traces exposed a slow partner call behind a flood of error emails. On one team getting 100,000 "error" emails a day, the emails nobody could act on were split into a new monitoring filter and categorized, revealing 25,000 a day from one routine. A partner call taking over a second, at a couple of hundred thousand calls a minute, was tying up threads, so a reported database problem was not the database.
  • The application map shows live latency per dependency. Besides portal charts, KQL queries, alerts (e.g. responses over 200 ms or more than three errors a minute), Visual Studio and Rider plugins, and snapshot debugging of a running Azure service, he favours the map: it showed a 10 ms database link against a 600 ms external API call and is his quickest way into an unfamiliar app.
Bernadette Atanga on The Cost of Emotional Suppression in Tech Leadership [EPISODE 883]
  • Emotional suppression is taught, and it crosses cultures. Atanga, a physician in internal medicine and pediatrics for 30 years, almost 20 of them with the VA, says patients from tech arrive with insomnia, high blood pressure or stress, and underneath she finds suppression learned from boyhood ("men don't cry"). She has seen it in Africa, where she was born, in Europe, where she went to medical school, and in the US. She says women who move into traditionally male spaces such as tech are expected to suppress as well, and she argues that society empowered women and children but "forgot the men".
  • Tech promotes people into management without the emotional skills. Atanga says people are promoted for their core skill, such as coding, and leadership training then targets measurable, box-checking goals rather than handling their own and others' emotions. People quit over a toxic environment or a poor manager, not over the job, and she ties burnout and resignations to this. Giard adds the company's side: turnover means expensive retraining and no continuity.
  • Suppressed emotion builds pressure that surfaces later as illness or divorce. She points to leaders who "drop dead at work" and couples who divorce after 30 years of marriage once one of them retires. People get checkups for back or knee pain, she says, but nothing checks emotional health until a crisis. Her analogy is a balloon: suppressing does not push the feeling down, it inflates the balloon until it pops.
  • Feelings drive thinking, and thinking drives behaviour. Using the "feel, think, behave" arrow from her talk, Atanga says people feel justified in acting on a feeling about a colleague, so the fix is to ask where that feeling came from. If it is justified, as with a person who is always aggressive, she says to set boundaries that still let the team be productive. She says tech teams are now more diverse and tech is everywhere, citing a keynote from Little Caesars at Michigan DevFest, so leaders end up working with people unlike themselves.
  • The fix is a no-fault culture change, brought in from outside. Atanga says the culture created the problem, so no one should be blamed, and workplaces should make healthy expression and time to heal acceptable, as a sports team rests an injured player. She says bereavement leave averages about three days, and her residency gave three, or five if travel was over 5,000 miles. Another employer gave none, so the time came out of sick leave. She says employees avoid in-house counsellors because using one identifies them, and divorce can make colleagues read a person's performance as slipping. Employers therefore bring in outside speakers like her to give everyone tools, with personal help available beyond that.
Ankita Guha Biegas on Neural Networks and PyTorch [EPISODE 882]
  • Use neural networks when data outgrows classical machine learning. Guha Biegas, a data analyst programmer at Freudenberg, says forecasting one household's next energy bill from its smart meter is a job for ordinary machine learning. Forecasting a whole area's usage calls for deep learning, which trains in batches in parallel on GPUs, so you can inspect, debug and fine-tune before training finishes. She names multimodal data (image, audio, video, language) as the main use, because RGB data is so costly to process.
  • Accuracy that is too high is a warning sign. On her battery work she used available PyTorch models for survival analysis of lithium-ion cells, and says they gave accurate results about 80% of the time on new data. She treats accuracy that is too high as a red flag that the model is overfitting.
  • Watch training visually, not just as console metrics. Her Michigan DevFest workshop trained a convolutional network with PyTorch on the Fashion-MNIST dataset: 60,000 grayscale training images in 10 classes such as coat, sandal and ankle boot. She logged the run to TensorBoard. She says she is a visual learner and that accuracy and precision figures in a console do not show a boss how far a problem is from solved. Clicking into TensorBoard's live graph of the network let her "go inside the black box", see when the model learns each class, and compare learning rates and momentum against the loss.
  • Check class balance with TensorBoard's projector before the model overfits. She used its principal component analysis view, coloured by label, to see how the 10 classes are spread and whether some are fed far more than others; the variance shown was 54.7. She says this matters more when a dataset has over 100 classes. She has not tried the UMAP or t-SNE views.
Tim Moore on AI for Founders [Episode 881]
  • Founders should chain existing commercial AI rather than build models. Moore's company had for nine years let authors add interactivity to training video. He says that when AI arrived it daisy-chained commercial AIs to replace the human author, instead of building large or small language models or agents. He argues that tools like Microsoft Copilot, which he likens to having "a five-year senior Microsoft developer" at your side, cut the capital and time needed to reach a product, which he says should be a "minimally lovable product" rather than an MVP. His route in is to ask ChatGPT how to use it in your business, experiment (calling it iterating, not failure), and bring in an integrator once you hit the limits of your own skills.
  • The best funding is sales, then non-dilutive money. Moore, an entrepreneur in residence at an angel fund, says the Michigan Founders Fund pre-accelerator coaches founders on AI and pitch decks and then gives them $15,000. He says the only catch is the founder's time. He recommends Black Tech Saturdays, which he says publishes a weekly list of grants, funds, programs and pitch competitions with their deadlines, and a LinkedIn reporter on Michigan startup events.
  • Without an AI policy, employees are already leaking your data. He says staff use ChatGPT on their phones when you are not looking, and that without a subscription what you tell it is used to train it and can reach other users. He recommends a private instance trained only on company data, which he calls a "small language model". He claims ChatGPT 5.1 or ChatGPT for business is HIPAA compliant out of the box, which he says speeds a founder's time to market.
  • His fund sees greenfield in women's health and manufacturing tech. As examples Moore cites a product that uses light to detect UTIs, and a founder whose product he says won just under about $500,000 in Michigan pitch competitions. He also cites a portfolio company using AI to design headlights for Humvees and army tanks. He predicts Michigan will be a hub for manufacturing and drone manufacturing over the next couple of years, defining a drone as anything that flies, crawls, rolls or swims. He also points to platforms that manage drone swarms and agents, saying people must get used to non-human entities such as his own AI auto-attendant, which his family asked him to remove.
  • Argue with AI and check it with other sources. At Thanksgiving Moore asked ChatGPT whether Westland Mall or the city of Westland came first; it answered emphatically with dates, and his son's Google search showed it was wrong. He says to use AI to backcheck AI and to push back on bad answers. He also tells people to skip "please" and "thank you", because the extra tokens use electricity and water.
Michele Leroux Bustamante on Cloud Security at Scale [EPISODE 880]
synopsis

Leroux Bustamante, who runs a cloud consultancy and founded the authorization product Policy Server, argues that security at scale has to be built layer by layer from the design stage: topology, identity, authorization, platform, then verification. Doing it late, or with dev unlike prod, costs more.

Identity. She says first find out where each user population lives: consumers in a CIAM directory, corporate users in Entra ID, and enterprise tenants reached by home realm discovery, with social logins added to cut friction. She calls missing MFA the leading cause of breaches and names passkeys as its most accessible form.

Authorization. Roles in tokens bloat them and multiply; she cites 200 roles reducible to about 20. The app should own the rules, or a central product (her own, or OPA) should hold them where audit matters.

Platform. Her short list for Azure: a web application firewall up front, separate networks for data, managed identities and Private Link. Giard says he has moved fully to managed identities over the past 12 months, and she adds that expired keys take sites down.

Verification. She uses NIST CSF's six categories, scored one to four for a CISO, with Defender and Sentinel. They are useless unless someone acts on them. AI helps digest reports, but hallucinations keep a human in the loop.

Closing advice. Plan security inside the SDLC early, and make dev match prod's security posture so the pain is not discovered in QA.

  • Authorization belongs in the application, not the identity system. Leroux Bustamante says putting roles or permissions in the token bloats it until it gets blocked, and multiplies roles: she has seen systems with 200 roles that permission-based design could cut to about 20. She advises letting the app own the rules, or centralizing when there are many apps and governance, audit and role history matter, using a product such as her own Policy Server ("shameless plug") or the open-source Open Policy Agent (OPA).
  • Missing MFA is the number one cause of breaches. She ranks the options: email is "a terrible idea", SMS is extremely common, banks included, but no longer preferred, authenticator apps and FIDO keys such as YubiKey suit technical users, and passkeys are now the most accessible form for consumers.
  • A web application firewall in front is the first platform control. For an Azure deployment she recommends turning on a WAF via Front Door or App Gateway to catch the OWASP top-10 failures, putting data on a separate network from app services, using Private Link, and using managed identities everywhere so no secrets are stored. She says she has heard of many sites that went down because a key rotation was not known in advance and simply expired.
  • Measure posture against NIST CSF, and staff the monitoring. She maps tools such as Defender and Sentinel to the framework's six categories and gives a CISO a dashboard scoring each from one to four, but says turning those tools on without someone acting on the output is useless. When Giard asks about AI for digesting reports, she says it saves time but can hallucinate, so a human must stay in the loop "for a while".
  • Dev should match prod's security posture from the start. She sees customers whose dev environments differ from production and who lock developers out of logs and audit trails in upper environments; the pain then lands in QA, and developers get blamed for delays such as an API gateway that exists in QA but not in dev. Her case is to shift left: plan security in the SDLC up front, because product owners "don't sell security features" and budgets often rise only after something goes wrong.
Carlos Robles on Developer Tools for SQL Server [EPISODE 879]
  • Microsoft is retiring Azure Data Studio to focus on VS Code. Robles, a principal product manager on Microsoft's SQL developer experiences team, says the retirement was announced in February "this year" and that by the end of February next year there will be no patches, updates or new development. His reason is cost: ADS is a fork of VS Code, and maintaining both was too taxing when VS Code has, by his figure, more than 50 million daily users.
  • The MSSQL extension is deliberately not a drop-in replacement. Robles puts the shared experience at "probably 90%". Some habits break (F5 opens the debugger in VS Code rather than running a query, though key bindings can be remapped), and ADS's admin extension with SQL Agent and SQL Profiler is not coming over, because the team targets the developer persona and cut features whose adoption was low; he says Agent and Profiler are highly requested and something might be done via GitHub Copilot.
  • The extension, out since 2017, got real investment only from November 2024. Robles says the push began at Ignite in November 2024 with a new UI (connection dialog, query results, query plan analyzer, table designer), then schema compare and a schema designer that edits tables visually and emits the T-SQL; the UI went GA in May alongside GitHub Copilot support.
  • Copilot gets database context through an @mssql chat participant. In ask mode it needs an open connection; in agent mode the agent discovers the extension's tools itself, lists connections, picks the server and database and acts, sometimes wrongly unless hinted. It runs on the SQL Tools Service back end, and Robles says Microsoft stores no prompts or PII and has no telemetry beyond reported errors and thumbs-up/down ratings.
  • The roadmap closes the ADS gap, then makes AI proactive. Shipped recently: SQL Server containers in a couple of clicks (SQL Server 2025 reached public preview in May) and browsing and provisioning SQL databases in Fabric. Planned or under consideration: backup and restore, edit data, DACPAC export/import, a table explorer, Azure SQL provisioning, AI offering help when a query runs over two minutes, Copilot in the schema designer, and Data API builder integration; he stresses none of it is set in stone and asks for feedback.
Jennifer Wadella on The 7 Deadly Sins of Management [EPISODE 878]
synopsis

Wadella holds that there is no recipe for good management, only a list of things never to do, each paired with a situational opposite to aim for.

Never rules from bad managers. Wadella says her career was shaped more by her many terrible managers than her two or three good ones, and that every team differs, so prohibitions travel better than prescriptions.

The seven sins. Homophily, hiring people like yourself; delegation aversion; carbon copying, her charge against Dave Ramsey's EntreLeadership; reticence, withholding feedback; ingratiation, chasing being liked; self-absorption, forgetting that ICs lack the manager's big picture; and pride, expecting obedience because of title.

Giard's objection. Giard argues one can avoid every sin and still fail, citing his worst Microsoft manager, who took Radical Candor as his bible yet criticised everything and ignored acted-on feedback. Wadella agrees nuance is needed, recommending Thanks for the Feedback and First, Break All the Rules, the Gallup-data study linking management to company success.

The opposites. Heterophily; conscious delegation with clear frameworks; custom coaching; being forthcoming, with immediate feedback about actions; authenticity with boundaries, likened to parenting; consideration of others' information; and humility through servant leadership. Giard adds an MBA case of the founder whose do-it-all skills fail at 100 employees.

  • Managers who won't delegate cannot scale a team. Wadella, director of front-end engineering at Interplay Learning, calls delegation aversion a deadly sin and prescribes "conscious delegation": deliberately choosing tasks to hand off, within a framework and clear expectations, which she says should take a large share of a manager's time.
  • Trying to make copies of yourself stifles your people. She attacks Dave Ramsey's EntreLeadership for its aim of creating copies of the entrepreneur; her alternative is "custom coaching" to each person's own strengths. Giard adds that what makes an entrepreneur successful differs from what makes a good employee.
  • Withholding feedback to stay liked short-changes your team. Against reticence she prescribes being forthcoming: feedback should come immediately, never saved for a mid-year or year-end review, and should address actions and outcomes, not attributes.
  • Chasing popularity fails; boundaries help engineers execute. Against ingratiation she sets authenticity, arguing that guardrails give even highly autonomous engineers a framework to weigh trade-offs, the way a themed prompt cures writer's block; "you're not here to be their friend."
  • Managers forget their reports can't see the big picture. She calls self-absorption the sneakiest sin: a manager holds the picture on the puzzle box while ICs hold only pieces, and frustration that they "just won't do this thing" follows; the remedy is consideration of what information and priorities each person is working with.
Jimmy Bogard on Monetizing Open Source Software [EPISODE 877]
synopsis

Bogard ends three months into charging commercial users for AutoMapper and MediatR, with about 100 customers and the projects, by his account, self-sustaining and actively developed again.

Origins. Both libraries came out of Headspring around 2008: AutoMapper mapped rich domain models to per-screen DTOs by convention, MediatR packaged the isolated handler pattern the firm repeated across projects. The firm open-sourced them rather than sell them and sponsored his time between engagements.

Losing the sponsor. Going solo in 2020, he found his spare time went to finding clients. About five years in his GitHub activity was nearly nil, and he decided to make paying users fund development.

Choosing a model. After talking to some 20 people in the .NET community, he rejected premium tiers and chose a dual licence: free below a revenue limit, paid above it. A business-development contact called the usual $1 million too small, so he set $5 million, priced on value to teams and licensed per team, not per developer.

Enforcement. Only production use needs a licence, and a bad key only triggers log messages; he will not degrade builds or production, trusting most users.

Running a product company. He built a storefront on SaaS services over about nine months, from September of last year through a 2 April announcement to launch three months later, while consulting full time; enterprises then asked to pay by invoice.

  • AutoMapper and MediatR began as reusable code from consulting work. Bogard says AutoMapper (around 2008) answered a project expected to have about a thousand screens, each with its own DTO, by mapping through naming conventions, which also ended the team's bike-shedding over names; MediatR wrapped the isolated use-case handler pattern he saw across his firm's half a dozen to ten concurrent projects. Headspring, where he was employee number six, built them off the books and open-sourced them rather than sell them.
  • Going independent removed the projects' only sponsor. He left Headspring a week before the 2020 COVID lockdown (it later sold to Accenture) and found his non-billable time went to finding work, not open source; about five years in, his GitHub graph was almost all black, with activity mostly limited to issues filed after each new .NET release.
  • He chose a dual licence with a $5 million revenue limit. It is free for smaller companies, solo developers and non-commercial use; he rejected a premium-features model because peers said the free tier keeps shrinking. A business-development contact said $1 million is the usual threshold but too small, in his reckoning about five or six developers, so he picked $5 million by feel, priced on value to teams rather than build cost, and licenses whole teams, not individual developers.
  • Enforcement is log messages only, and only for production. An invalid, missing or expired key produces log messages and nothing else: he says degrading developer experience, or production on a lapsed key, would make him delete such a package himself, and that people who want to get around it will anyway.
  • Selling a product is far more transactional than consulting. He stitched SaaS services into his own storefront, spent about nine months from first looking (September of last year) through the 2 April announcement to a launch three months later, while consulting full time, and immediately faced requests to pay by invoice. Three months in he reports about 100 customers, enough to meet his goal of self-sustaining projects, with a Discord server for licensees coming.
Kathryn Grayson Nanz on Usability Testing [EPISODE 876]
  • Developers make design decisions and benefit from seeing users. Grayson Nanz, a design and developer advocate at Progress (Kendo UI for React and Vue) who started as a graphic designer, says developers fill gaps where a company has only one or two designers, writing microcopy and shaping flows mid-code; usability testing is arguably not their responsibility, but closing the loop with users makes for better software.
  • A technically perfect app can still be unusable. She separates usability testing from QA-style testing: you isolate one task or flow (creating an account, a search), ask a user to do it while thinking aloud, and watch for where they get stuck, confused or pleased; her example is asking how someone would search for a flight from Asheville to Boston, which people solve in many different ways.
  • A handful of users is enough to surface patterns. With four or five testers, an issue showing up three or four times is a good indicator of a problem flow. She cites a Nielsen Norman study proposing three rounds of about five users each (about 15 in total), which she recalls as catching roughly 80–85% of issues in the first round, fixing them, and catching the rest in later rounds with diminishing returns.
  • Usability testing cannot be automated. Unlike unit tests there is no expected output, only observed patterns and reactions, and one person failing a task does not make the design wrong; she recommends a facilitator plus a separate observer, because two people can read the same silence as struggling or as thinking. Eye-tracking and heat-mapping tools mainly pay off at scale, such as testing a hundred people.
  • Start small: a webcam, a microphone and a device suffice. She says teams fear it needs budget and time, but talking to even one or two people is more than before, and like accessibility it is a spectrum rather than an on-off switch. She points to her own O'Reilly video course on usability testing for non-usability professionals.
Sam Gomez on AI Agents [EPISODE 875]
  • Agents act on their own; assistants only guide you. Gomez, head of AI at a medium-sized consulting company, contrasts agents with traditional automation such as console apps or robotic process automation (RPA), which follow structured flows for every scenario you can anticipate; an agent takes action from its prompt and the tools you give it, with as much independence as you choose.
  • Document-heavy, low-judgment work is the ideal agent use case. His example is processing invoices or other PDFs, extracting information and then acting on it, such as creating a service ticket or entering data in another database: work humans do now that needs little human intelligence.
  • Azure AI Foundry's agent service is his recommended no-code start. He says you can build agents in the portal without code, add MCP servers, combine them with Azure Functions or Logic Apps, and inspect each agent's threads and actions to adjust prompts and tools; SDKs let you call the same agents from code later. He names LangGraph as an orchestration option for teams already on LangChain.
  • Use an agent only where simpler automation won't do. He compares the AI rush to microservices, from which some organizations are now moving back to monoliths; pick a business scenario with good ROI first, and prefer a traditional approach for "if this then that" logic, where LLM costs are hard to estimate compared with counted API calls, or where results must be identical every time.
  • Plan resources for fast change and for responsible use. He warns that Foundry SDKs are likely to change quickly with breaking changes that can stop agents working, that the field is too new for Stack Overflow to help (he points to Microsoft's docs and a Foundry Discord), and that solutions need content-safety safeguards and care not to expose sensitive data.
Jayson Street on Hacking and Social Engineering [EPISODE 874]
  • "Hacker" describes a way of thinking, not a criminal. Street rejects "white hat" and "black hat" as stigmatizing, arguing that nobody asks for an ethical dentist; he counts artists, inventors and scientists as hackers because they try what the world says is not done.
  • Social engineering works by keeping targets on autopilot. He makes a situation seem only slightly odd, such as claiming to run a "USB audit" from headquarters. In a bank he robbed abroad (on video) he compromised the first machine within 15 seconds; a teller who rightly refused passed him to a manager without briefing him, each assumed the other had vetted him, and the manager escorted him to every machine in the building.
  • Discomfort and sympathy beat promises of prizes. In a password-reset video check he says he posed as a tearful man packing up his dead stepfather's house, and the help desk reset the password, because people want off a call about death or illness. He calls a help-desk worker who held to policy for 40 minutes one of his best wins.
  • The real work is turning the breach into a lesson. He says he mimics an adversary so staff remember what one looks like, and tells them "I wasn't testing you, I was teaching you"; he puts positive reactions at about 99% overall and almost 100% in person. He now uses AI for convincing fake websites that pass web filters, phishing pretexts, local colloquialisms for blending in, and voice cloning and deepfakes built from a single CEO interview.
  • Treat any odd request as a "child in the road." He argues that, as with driving on autopilot, the brain flags anomalies, and you should then stop and verify out of band: put the caller on hold, contact the sender directly, and blame management's policy to stay polite. Against deepfaked calls he recommends analog code words, like the laminated card of 12 monthly words his former bank mailed clients each December for wires over $100,000.
J Tower on Over engineering Software Projects [EPISODE 873]
synopsis

Tower's position is that most over-engineering is complexity built for problems a team does not have, and that the cure is less technique than discipline: whole-team agile review, simplicity rules and proven tools.

Where the talk comes from. His talk, "Avoidifying Overcomplexification", began with his first consulting job 20-odd years ago, a SaaS product whose Oracle layer could be swapped out but never was. Giard adds his own case of a swappable ORM whose architect had left.

The problems. Tower lists over-abstraction; developer gold plating, which he calls more dangerous than scope creep because it is secret, illustrated by an unneeded email-template editor; lasagna architecture, up to 15 layers, answered by vertical slices and libraries like MediatR; rolling your own logging or message queues instead of community-tested tools; and shiny object syndrome, adopting microservices without weighing simplicity or consistency. Giard raises over-customizing packages like SAP; Tower, who sells custom software, says it pays only where it protects a differentiator.

The solutions. First, agile with everyone at the table and releases monthly or more often rather than yearly. Then KISS and YAGNI; proven solutions, with new tech saved for proofs of concept; and "DRY in a WET way", copying code twice and abstracting on the third use, because shared code for two callers tends to fill with branches as their needs diverge. Last, the principle of least astonishment applied to code: he once inherited an ASP.NET MVC app with its controller conventions reconfigured and controllers scattered, which he says invites bugs and slows any new team.

  • Abstracting for swaps that never come only adds cost. Tower, owner of Trailhead Technology Partners, traces his talk to his first consulting job 20-odd years ago, a dot-com SaaS product built on Oracle so the database layer could be swapped for SQL Server or MySQL; it was swapped zero times, while adding work, testing and surface for bugs. He calls this over-abstraction, often driven by having once been burned by something that could not be swapped.
  • Developer gold plating is worse than scope creep because it's hidden. Business-driven scope creep is visible to everyone, but developers adding unrequested features do it behind the curtain, so the team never decides on it. His example: after users kept asking for email text changes, the same team built a WYSIWYG template editor into its next system, which never needed it. His fix is an agile process with code reviews, and an integration environment stakeholders can use between Trailhead's at-least-weekly meetings.
  • Layers for layers' sake make the most common change hardest. In "lasagna architecture" changing one feature means touching every layer; he has seen apps with 15, with objects that exist only to spin up other objects. His remedy is vertical slice architecture, keeping code that changes together in one place, with libraries such as MediatR.
  • Don't roll your own solved problems; customize only for differentiators. An in-house logging, identity or message-queuing system loses to community tools tested by hundreds of thousands of users, misses hard parts like retries and guaranteed delivery, and is unknown to new hires. He turns away requests for custom warehouse or logistics packages, but backs custom software where an off-the-shelf ERP would force a company to give up what sets it apart, such as a superior customer experience.
  • Chasing conference trends ignores the trade-offs every choice carries. Shiny object syndrome is adopting microservices after an hour's talk without knowing it costs simplicity and immediate consistency, because Uber or Google use it, "even though we only have 100 users". He advises proven tools with documentation, community and a hiring pool, and keeping bleeding- edge tech for proofs of concept.
Karl-Henrik Nilsson on Software Archaeology [EPISODE 872]
synopsis

Nilsson ends up arguing that long-successful companies sitting on neglected software need architecture driven by business decisions: map what is in production, define "legacy" as scheduled for removal, dig into each kept application with evidence before interviews, and pay down whichever kind of debt matters now.

What an architect does. Once a dream job, he now sees architecture as working within reductions set by the business, such as customer satisfaction, mergers and acquisitions, and budget and time. Quality attributes follow from the question "why": a firm growing by acquisition needs extensible APIs to integrate the software it buys.

The portfolio. At Microsoft he met companies with 25–30 years of applications, some without source code. Expensive portfolio suites disappointed him; Excel, with Entra ID-backed owner drop-downs and full running cost including support staff, does the job. The aim is a decision about each application.

Legacy and life cycles. "Legacy" carries no information, like his late-evening conference bit about local beer, so he requires a deletion date for anything called that, and tags each app retire, maintain, modernize or improve, plus how strategic it is.

The dig. "Software archaeology" partly sounds good for conferences, he admits, but it fits: deciding what to dig up. His template covers release dates, source location, hosting, dependencies, logging, documentation and knowledge gaps, ending in a recommendation. Server evidence comes first because it jogs memories. Limits such as a $1 million ceiling or a realistic uptime target shape the answer; he mocks claims of five nines from one basement server.

Handing it to developers. C4 diagrams as code, retroactive ADRs, and a census of technical, documentation, knowledge, security and operational debt. His blog is carl-henrik.se.

  • An application portfolio is just an inventory, and Excel beats suites. Nilsson, a software architect at Gulf Agency Company (about 8,500 people in 300 offices across 56 countries), says he paid too much for expensive portfolio software before settling on Excel. He records name, owners, life cycle stage, hosting, tests, tech stack, users and running cost, syncs Entra ID into a sheet so owners are picked from drop-downs and leavers show up, and counts people as cost: one firm's 25 apps ran $1.6 million a year in cloud spend plus 28 support staff doing daily data fixes.
  • "Legacy" should mean only that a removal date exists. He argues the word implies low quality and changes how people treat code, so in his shop calling something legacy means naming a date to delete it; otherwise it is production software. Each app gets a stage (retire, maintain, modernize or improve) and a rating of how strategic it is, since "back office" systems like ERP or CRM may be how a company reaches customers.
  • Inspect the servers before interviewing anyone. He has moved interviews to the last step: first he gets onto hosting environments and uses basic directory listings to find the first and last file dates, so he can prompt people with specifics like a 5 June 1999 update. Decisions then run on limits: "you don't know what a yes is, but you know what a no is", so a $1 million ceiling for making an app production-worthy frames the options, as does whether it truly needs five nines.
  • Version-control the architecture and record decisions after the fact. He draws Simon Brown's C4 diagrams as code with Structurizr, keeping them with the source and pinging owners when they go stale. He writes architectural decision records (title, status, context, decision, consequences, after Michael Nygard's template) retroactively from people's stories, flagged as written by someone not present, which later explain choices such as a framework passed over because it did not yet exist.
  • Find which debt must be paid today, not just technical debt. Beyond code-level technical debt he lists documentation, knowledge, security (will it pass an audit?) and operational debt such as missing monitoring or CI/CD, and says to pay off what matters now rather than poorly written code that has run fine for 20 years.
Arthur Doler on Code Archaeology [EPISODE 871]
synopsis

Doler's position is that inherited code should be treated as an artifact built by people with reasons, and that surveying, digging into its history and analyzing it before changing anything is what lets a team modify it safely or know when it truly needs a teardown.

The mindset. Consultancies mostly get broken existing systems. A bingo-betting app taught him that multiplexed file descriptors made sense in the dial-up era. He asks "why" repeatedly, out of curiosity and empathy for developers squeezed by time or business mandates.

Survey. His hourglass moves from the humans who use the app and their goals, to the system's parts, to the code walked line by line, then back up to the system and to the humans' original goal. Each picture starts as a draft he expects to correct; the bingo architecture arrived on a napkin. Execution flow diagrams track calls between services and the database.

Extraction. Borrowing archaeology's dig through the "matrix", he reads written documentation, gathers oral history, spots external history from frameworks like Redux or MVC, and uses git history to learn each author's taste, so deviations expose constraints.

Analysis. Strata date the code: one current app still runs VB ASPX beside Backbone, Redux and React layers. Asking about staffing and client pressure completes the story of how it got that way.

Before progression. Only refactoring for understanding, uncommitted, comes before changes. Skipping the work means rewrites rediscover forgotten business rules as regressions; Giard says unarticulated edge cases bit him as a consultant. Doler points to The Programmer's Brain, Fowler's Refactoring and Michael Feathers' Working Effectively with Legacy Code.

  • Code that looks insane usually had a reason when written. Doler, a developer at the Omaha consultancy Aperture for nearly 11 years, cites a bingo-betting system begun before he graduated in 2003, whose C code multiplexed file descriptors instead of using sockets; it made sense once he learned the bars originally connected to the parlor by dial-up modem. He says code archaeology starts from curiosity and empathy, since almost all developers care about their craft but face time pressure and arcane business mandates.
  • Survey in an hourglass: humans, system, code, then back out. First list who uses the app and their goals (for the bingo system, the player and the clerk who enters tickets), then map the system's parts, then walk the code line by line from the first piece users touch, noting calls such as to the database without following them yet. He treats each picture as wrong at first (the bingo architecture came on a napkin) and recommends execution flow diagrams.
  • Extraction digs through written, oral, external and version-control history. Documentation is almost certainly partly wrong; colleagues' memories are undersold; libraries leave fingerprints, so Redux-style boilerplate reveals past Redux use; and git history tied to usernames shows each developer's taste, so code that departs from it points to an outside constraint.
  • Analysis reads the strata and the forces on the team. One app he works on still runs Visual Basic ASPX, a Backbone and Marionette layer, JavaScript with Redux, and TypeScript, React and TanStack Query as separate deployments stitched together, each layer dating its code. He asks project managers and product owners about staffing and pressures, such as a client threatening to leave, when the code was written.
  • Understand the code before changing or rewriting it. He allows uncommitted "refactoring for understanding" from Felienne Hermans' The Programmer's Brain, such as turning a nested ternary into if-else. He says rewriting without understanding brings a stream of acceptance failures and regressions for conditions that still hold, like the report one user needs twice a year, though sometimes the analysis concludes a section is a tear-down.
Arunava Majumdar on AI and an Automation Platform [EPISODE 870]
  • His platform generates code from patterns, not from the LLM. Majumdar, who left IBM in January after 24 years (he headed its Center for Advanced Studies), describes his startup's Open Development Platform: a pattern engineering tool rooted in UML and CASE ideas, with a process engine and a multi-agent framework built on Google's ADK and MCP. He says LLMs only handle requirements and communication, so generated code stays consistent through to production, and the model can be swapped locally or in the cloud.
  • Research needs knowledge graphs and citations, not just summaries. His Research Net pipeline downloads papers from arXiv, parses them with IBM Research's open-source Docling, and feeds an NLU pipeline that builds a knowledge graph and vector database for RAG, so a researcher can, for example, correlate reference genomes across papers and cite exact sections. His laptop demo processed only three documents because of compute.
  • Pattern only the variants, and ship standard patterns. Rather than patterning every property, the platform comes with defaults (React with shadcn on the front end, Java APIs, Ollama for local models) that he says take a few days to adapt. A UK client, Robin, prompted a feature that maps Excel logic to variants and loads data into an in-memory database for SQL, so column changes alter the mapping rather than the code.
  • The roadmap is aggressive, and AI helps build it. He says Research Net was registered around May, MVP 0.1.0 came on 5 August, 0.2.0 was due at the end of September and a third release at the end of November, with a well-defined product by March. He uses ChatGPT, saying its latest version hallucinates less, Copilot, and Lovable for initial UI code that his team refactors into its MVC patterns so Lovable is no longer needed.
  • Startups get the platform free until they raise funding. He plans to charge licenses after funding and hopes to partner with Microsoft, Google and Amazon on startup cloud credits. He is also joining a legal-tech company as CTO to build on the platform, and describes planned projects in genomics with a Harvard professor and a game-based mental-health data tool with a Swedish researcher.
Jennifer Reif on Graphs, Graph Databases, and Neo4j [EPISODE 869]
  • Graph databases make multi-hop connection queries simple and fast. Reif, a developer advocate at Neo4j since 2018, says a graph database stores data as a network of nodes and relationships, which Neo4j keeps as a graph down to the disk layer. Deeply nested, multi-hop queries are feasible elsewhere, she says, but more complicated and less performant than with native graph storage, which also surfaces connections that other structures hide.
  • Social networks, fraud and recommendations are the core use cases. She names how people connect and how groups form or break apart; fraud detection, where fraud rings show up as anti-patterns against normal transaction networks; and recommendation engines built from what similar people bought or watched.
  • In generative AI, graphs add connected context to retrieval. She describes graph RAG, where retrieved information is expanded with related entities, paths and patterns from a graph before going to the LLM, alongside deeper data-science work on graph neural networks.
  • Learning a new data paradigm is worth it before you need it. She had no graph background when Neo4j recruited her and says graphs made easy the things she had been struggling with in other databases. Developers already stretched by AI should still add tools so they can pick the right one in six months or five years. As Neo4j's differentiator she cites its age (a Java library from 2007, a company from 2010) and its range of tooling.
  • Start with free hands-on resources and try other databases too. She recommends Neo4j's free, self-paced GraphAcademy courses and its free cloud instance, and urges comparing database types on the same problem, since the time spent pays off in business value and expertise.
Mihai Tataran on Testing and Evaluating Generative AI Solutions [EPISODE 868]
  • Evaluation is how to win back users' trust in generative AI. Tataran, CEO of a Romanian consultancy now part-owned by private equity and focused on generative AI for mid-to-large enterprises, says LLMs were built to generate text that need not be accurate, so users who expect determinism decide they are "stupid". He suggests reasoning models (o1 being the first) for questions with definite answers, and evaluation to show how accurate a solution is; an AI at 70–80% can beat a human process at 50–60% if it comes with explainability and exceptions.
  • GenAI is scored against thresholds, not passed or failed. Unlike unit tests, evaluation runs datasets and scores KPIs such as coherence, fluency, relevance, reliability and safety from 0 to 1 or 1 to 5, with thresholds set from a governance framework such as NIST's AI Risk Management Framework. His examples: unsafe responses below 0.1%, relevance of 90–98% or sometimes 70%, and 70–90% for fraud flags in banking, where explained probabilities cut back-office time.
  • Evaluate the whole solution; architecture improves grounding beyond RAG. He says LLMs already have benchmarks, so what matters is the system around them. RAG only feeds the top-ranked documents, perhaps five, when the nuance sits in the seventh, so for scattered, conflicting bank policies he uses a multi-agent "deep research" loop in which LLMs rewrite the query, summarize and judge the summary until the answer is good enough.
  • Red teaming finds attacks a software tester would never write. He uses Azure AI Foundry's evaluations and the AI Evaluation SDK, with built-in metrics like intent and custom evaluators, and the AI Red Teaming Agent, built on the open-source PyRIT. His example is a refused request to rob a bank that an LLM will answer once its characters are randomized.
  • Re-run evaluations continuously, because performance drifts. He calls for an MLOps-style feedback loop, re-evaluating monthly, quarterly or yearly depending on the case, since data and user behaviour change for reasons you cannot foresee.
Sam Nasr on Data Cleansing [EPISODE 867]
  • Treat all data as bad until cleansed. Nasr, a Microsoft-stack developer and trainer who runs Cleveland-area user groups, calls cleansing the most time-consuming and most valuable part of machine learning, since the model is built on it. It covers normalizing structure, validating values, handling missing values and removing duplicates; how long it takes "depends" on the source and on access to a subject matter expert.
  • How data was collected can bias it before any scrubbing. When his volunteer groups offered an Amazon gift card draw for signing up to interest buckets, people entered every bucket and then showed no interest when called; standing over someone's shoulder likewise skews a review positive. Spreadsheets used as enterprise systems let users enter anything. Biased rows can be thrown out if few or identifiable, guided by a subject matter expert and the model's objective.
  • Missing values can be inferred, imputed, averaged or dropped. He reverse-engineers obvious gaps, such as a missing surname when only one Sam works in engineering, and uses MICE (multiple imputation by chained equations, numeric only and an API call in Python), PCA or probabilistic PCA, or mean, median or mode, comparing model runs to see which performs best. Dropping rows raises how much of the dataset you lose; Giard adds that it can remove an entire source.
  • Whether duplicates are bias depends on the training columns. Repeat purchases by one customer are legitimate, but duplicate records can force a bias into the model. He removes duplicates last, because trimming, reformatting and case changes reveal more of them.
  • Validate even structured data against what is possible. His examples are a female-only medical procedure recorded for a male and values outside a fixed list. His tools are Excel charts to spot outliers, SQL Server Management Studio for min and max, SQL Server's cleansing tools and Python libraries, as the building blocks of an automated cleansing pipeline.
Ted Neward on Writing Prose [EPISODE 866]
synopsis

Neward argues that precise, plain prose, written before any presentation, is a core engineering skill that school never teaches and seniority demands. His prescription: write the argument out, strip judgment words and repetition, use the active voice, and ground claims in data.

Why it matters. Neward, a liberal-arts graduate now at Capital One and a guest lecturer at the University of Washington, says the higher an engineer goes, the more the job is influence through writing. Giard frames poor communication as a ceiling on a code-only career.

The six-pager. Neward's talk opened with silent reading, borrowed from Amazon's six-pager: six pages fill 20 minutes of reading, the first third of a meeting. He holds that talking through an idea without writing it is intellectually cheap.

Precision. Delete adjectives and adverbs, restoring one only to resolve ambiguity; "simple" and "easy" are value judgments that alienate readers who disagree. Say things once: unlike a speaker, a writer gets no live feedback, and readers can reread.

Voice and tone. The passive voice ("Mistakes Were Made") obscures how a failure happened; blameless culture can use the active voice. Avoid sarcasm and prose that draws attention to itself.

Data and anecdata. Neward's Maven example shows a few complaints prompting a measurement, and he cites a study of GitHub commit logs that found C draws the most profanity.

  • Writing ability, not code, sets how far engineers rise. Neward, now a senior distinguished engineer (an individual-contributor rank) in Capital One's architecture group, says computer science curricula test code but never teach writing, yet seniority means influencing others through email, white papers and conference abstracts. He cites a Capital One senior engineer who had not expected communication to matter more the further he got; Giard frames it as a ceiling on a code-only career.
  • Writing an argument out first beats presenting it. Neward took Amazon's six-pager from the book "Working Backwards": Bezos banned PowerPoint because a good presenter can make a bad idea look feasible and a bad one can sink a good idea. Six pages is what an average adult reads in 20 minutes, so the first third of an hour-long meeting is silent reading with red-pen notes returned to the author. He opened his talk with about 15 minutes of reading a roughly four-page essay, and calls presenting without writing first "intellectually cheap".
  • Delete adjectives and adverbs that carry value judgments. "Simple" and "easy" in framework docs add reader effort and leave anyone who finds it hard feeling stupid or angry; state what the thing does instead. His method is to delete every adjective and adverb, then restore one only where ambiguity appears, drawing on Stephen King's "murder your darlings" and a Seattle-area colleague's book on the PR FAQ framework.
  • Blameless culture does not require the passive voice. "The site was broken by changes made by a developer" hides how one change could break production, which is what engineers need to find out; "David's change broke the website" plus the new safeguard is clear without blame. He also advises against sarcasm and flowery prose: prose should carry the information and then drop away.
  • Data should test intuition, and intuition should direct the data. Neward's example: three or four Capital One developers calling Maven terrible is "anecdata", insignificant out of thousands, but a cue to count projects using Maven and pull requests touching build scripts. He cites Bezos's line that where data disagrees with the customer the customer is probably right, and says architects should treat developers as their customers and ask them.
Jennifer Marsman on NLWeb [EPISODE 864]
  • NLWeb aims to put LLM-style questioning on every website. Marsman, a principal engineer in Microsoft's office of the CTO, describes it as both an open web protocol and an open-source implementation, recently moved from Microsoft's GitHub to its own organization because it "doesn't need to be run by Microsoft". Its founder, Guha, who invented RSS and RDF, frames it as part of an "agentic web" usable by humans and agents alike; her own complaint is a grocery site that returns refried beans for a green-beans search.
  • It answers by retrieving from your own catalog, curbing invented items. Data comes in from any RSS feed or a specific JSON format, gets embedded into a vector database, and queries run retrieval-augmented generation over it; it works best on collections such as recipes, playlists or product inventories, leaning on schema.org-style structure. She says it will always return something from the actual catalog, while conceding it is not 100% hallucination-free.
  • Embeddings, model and vector database are all swappable. Several providers for each are supported, including Qdrant and Azure AI Search for storage, and none needs Microsoft technology. She believes Qdrant is the default store because it runs locally, is unsure of the other defaults, and notes that someone from Hugging Face contributed support for any Hugging Face model.
  • Every NLWeb site automatically exposes an MCP server. The server, called "ask", takes natural language and answers from the site's data, so any MCP client, such as Claude Desktop or VS Code, can query it. Guha's comparison is that NLWeb is to MCP as HTML is to HTTP: separate layers that should evolve independently.
  • Partners are trialling it, but she stops short of calling that production. It was announced in Kevin Scott's keynote at Build 2025 with travel, recipe and retail partners; when Giard said companies were using it in production, she answered "I wouldn't say production production". She invites outside contributions and says the team is hiring a senior and a principal engineer.
Steve Smith on How Generative AI is the New Offshoring [EPISODE 865]
  • Replacing developers with AI repeats the early-2000s offshoring mistake. Smith says companies offshored to developers costing about one-tenth of US rates, then reshored after quality fell, owing to time zones, communication and culture rather than skill. Fast copy-paste code built technical debt until a feature that took a week in year one took three months by around year five, plus three more of bug-chasing.
  • The hidden cost is maintainability, not rework. Giard recalls clients arguing they could redo cheap work nine times and still profit; Smith answers that unmaintainable code makes every next feature cost more, growing "exponentially", and that rewriting under live customers is hard whether agents or humans do it.
  • Agents excel at small greenfield work but falter on enterprise complexity. He says a to-do app that would take him 10 hours takes one with coding agents, but on a large codebase he can spend eight hours going back and forth, and agents sometimes do exactly what the prompt forbids. Unlike a junior developer, the AI does not learn from that time, and friends running agents on five monitors become the bottleneck reviewing output that a non-programmer could not judge.
  • Today's $20-a-month pricing is unlikely to last. His forecast: vendors are spending investor money to win market share and cannot profit at that price, so costs could reach $200 a month (which he says Claude already charges), $2,000 or $20,000, at which point companies will ask how many developers the bill would have paid for.
  • Use AI for grunt work and experiments, not as a panacea. He calls it promising and uses it constantly, for example to summarise half a dozen changed files into a commit message. His article on the subject uses Fantasia's sorcerer's apprentice, drowning in water his brooms fetch, as the image of teams drowning in poor AI-written code.
Guy Royse on Ham Radios [EPISODE 863]
synopsis

Royse presents ham radio as a century-old, decentralised, still-technical hobby whose real point is resilience: with a licence, a battery, a radio and a wire in a tree, an operator can talk around the world and carry messages out of a disaster when the internet and cell networks fail.

Where the name comes from. "Ham" derives from telegraphy: an operator's keying style was their "fist", and poor amateurs were "ham-fisted". Royse uses the ARRL, the hobbyists' advocacy body, and its annual handbook to show how old the culture is.

What operators do. Beyond listening and casual "rag chewing", his club runs a weekly net in which a net controller logs call signs and calls on each operator in turn, since only one can talk at a time. Traffic nets relay radiograms verbatim, which he frames as emergency practice; Giard raises the 9/11 internet overload, and Royse says emergency services also reserve part of the cell network.

How signals travel. Antennas run about half a wavelength. VHF and UHF reach the horizon; HF bounces off the ionosphere, so a 40-metre antenna is 20 m of wire strung into a tree. Reach depends on conditions.

Hardware. A $25, 5-watt Baofeng reaches the horizon, or 60–70 miles via Columbus's main repeater; his roughly $1,200, 100-watt rig adds HF. The radios are analog in the sense a CD is, with digital modes layered on top, and Morse code's narrow bandwidth lets about 20 watts reach the world against about 100 for voice.

Getting in. He came through web SDRs and licensed to join the data modes. He recommends YouTube, chosen for context, and ARRL.org for clubs and exams.

  • "Ham" comes from telegraphers' "ham-fisted", not an acronym. Royse, a developer advocate at Redis, explains that telegraph operators called an operator's keying style their "fist", so unskilled amateurs were "hams", a slur the community later adopted. The hobby's age shows in terms like "rag chewing" and "Elmer" (a mentor), and in the ARRL handbook, published yearly for over a century; his copy is the 100th-anniversary edition.
  • Message-relay nets are practice for disasters. In traffic handling, operators relay a "radiogram" word for word through several intermediaries to its recipient, which Royse says lets someone in a hurricane zone get "I'm alive" messages out with only a battery and a radio. Giard raises websites failing on 9/11; Royse adds that emergency services also lock down part of the cell network in a crisis, shrinking capacity just as traffic surges.
  • A battery, a radio and wire in a tree can reach worldwide. Antennas should be about half a wavelength: 2-metre signals (144–148 MHz in the US) reach only the horizon, while lower HF frequencies bounce off the ionosphere, so a 40-metre-band antenna is 20 m of wire, hoisted with an arborist's throw or his club's air-powered tennis-ball launcher. He says a 100 amp-hour battery lets him transmit for two days, and he reaches the eastern US easily from central Ohio, depending on ionospheric conditions.
  • Gear ranges from a $25 handheld to a $1,200 HF rig. His 5-watt Baofeng handheld covers 2 m and 70 cm and reaches the horizon, or about 60–70 miles through Columbus's biggest repeater atop a state office building; repeaters are usually bought by local hams and placed on towers such as a fire department's. His 100-watt rig adds HF, and he says Morse code needs less bandwidth than voice's roughly 3 kHz, so about 20 watts reaches anywhere on CW against about 100 for voice.
  • Start with YouTube and the ARRL. Royse came in through web-hosted software-defined radios, then needed a licence to join the digital modes he heard; he likens radio to vinyl, a decentralised, physical way of connecting. He warns that many videos are "all trees, no forest", and points to ARRL.org for clubs, licence exams and practice tests.
Sarah Dutkiewicz on EventStorming [EPISODE 862]
  • EventStorming builds a shared understanding from past-tense domain events. Dutkiewicz, a senior trainer at NimblePros, runs it as a workshop, in a room or on Miro, where participants write orange sticky notes for what happened ("searched for golf ball display case", "payment received"), in no order at first. They then deduplicate, which is where she sees a shared "ubiquitous language" from domain-driven design form, and place the events on a timeline.
  • An outside facilitator draws out what insiders do not know. She says the facilitator should not be tied to office politics and works with the people who have questions and the people who know the process. In one e-commerce checkout session, a miscalculation blamed on the ERP service turned out to lie in a tax system the ERP called, which the ERP admins did not know about but one IT administrator did; a pink note for the system and a yellow note for that person now show whom to ask.
  • Colours matter for process and system design, not the big picture. She plays down colours in big-picture sessions because people get attached to them, then adds yellow for users and personas, pink for external systems, blue for present-tense commands, green for read models and purple for conditions; pain points officially go reddish, but she uses black in Miro to keep them distinct. With developers the colours map to code: aggregates, read models to DTOs, commands to command handlers, and events to an event store.
  • Big-picture sessions are time-boxed to about three hours. She says that fits a morning or afternoon window and leaves room for breaks, with multiple sessions if needed. The outputs are pain points and unknowns to take forward; she also applies it to inherited code, new systems and a "people experience" view covering users, customers and developers, and is currently building a project from its results.
  • Running it early beat traditional requirements gathering for one practitioner. She recounts a community member she looks up to telling her that, after hearing her talk, he ran EventStorming before getting far into a customer engagement, with better results and a more engaged customer. For learning more she points to eventstorming.com, books in progress by Alberto Brandolini and Paul Rayner, and NimblePros' webinars.
Stacey Mulcahy on Educating Ourselves to use AI Effectively [EPISODE 861]
  • Keeping pace and staying relevant are the main learning obstacles. Mulcahy, who works on AI adoption in Microsoft's Garage, says significant model, research or tooling updates land every week, so a skill can change before it is learned. She adds that generative AI is non-deterministic: in place of looking answers up in the docs, users must stay the human in the loop and think critically.
  • Start with curiosity and one repetitive task of your own. She recommends carving out even 15 minutes each morning to try something, and aiming first at a productivity gain on something done again and again, rather than generic tutorials. Early tools that disappoint get abandoned, she says, but they change fast enough to be worth revisiting. Asked by Giard, she says the same advice applies to non-technologists. Giard adds his own example of learning ASP.NET about 25 years ago by building a site for his favourite sports team.
  • You only learn its limits by using it painfully. Her closing advice is to "eat the dog food": use the tools for every question, from photographing something to ask what it is to finding hidden gems on vacation. She proposes committing to a week of non-stop use, then deciding, and says that if you cannot name what is painful in a tool, you are not using it enough.
  • AI evolves jobs rather than taking them, with humans directing. Mulcahy says the people who see it this way collaborate with the systems as "creative director", bringing strategy and critical thinking while handing off predictable, formatted work such as weekly reports. Her example is suggesting that her brother, a teacher, build a lesson-plan format to iterate on so he can spend more time on his students.
  • Over-reliance and unmet expectations are two separate problems. Over-reliance means skipping critical thinking. She speculates, while saying she does not know what the research shows, that it may erode writing and communication skills, which she calls vital because a good communicator is probably a good prompter. Unmet expectations come from multi-system tasks such as producing a newsletter: interoperability is only starting to be addressed by protocols like MCP. Until then, getting an agent to do it all may mean writing some code.
Mike Shelton on PostgreSQL and AI [EPISODE 860]
  • Extensions let PostgreSQL add features without touching its core. Shelton, a Microsoft partner solution architect on the host's team focused on the data platform, says this extension model is what lets the open-source database adapt quickly. He says it is the route by which its AI capabilities arrive.
  • The managed Azure offering takes over routine maintenance. Shelton describes Azure Database for PostgreSQL flexible server as platform as a service: minor version upgrades are applied for you, while a major upgrade (his example is 16 to 17) is the customer's decision. He also cites compute SKUs that scale up and down, the ability to stop the server to save resources, a query store for query patterns, and a VS Code extension tied to GitHub Copilot, which he says was in preview at recording.
  • High availability and recovery come from zones, replicas and backups. A standby in a second availability zone is kept as a synchronous copy for failover. Read replicas, including in another region, are asynchronous with some lag, and serve read scale-out and disaster recovery through a failover you initiate. Backups are automatic, with retention of 1 to 35 days and a default of 7.
  • pgvector adds vector-database capabilities to a relational database. Shelton says the extension stores embeddings, runs similarity search and indexes them with IVFFlat or HNSW. On Azure there is also DiskANN, an index type he says Microsoft developed, which boosts performance and recall while optimizing resources. The "vector database" framing is Giard's restatement, which Shelton accepts.
  • Azure adds in-database embedding calls and accelerators for AI patterns. An Azure AI extension lets the database call Azure OpenAI to create embeddings, and other Azure AI services for tasks such as sentiment analysis. Solution accelerators cover GraphRAG using the AGE graph extension and semantic reranking of similarity-search results. For learning, he points to the Azure Database for PostgreSQL blog, Microsoft Learn modules and POSETTE, a Microsoft-sponsored virtual conference that had just taken place.
Sudeep Goswami on Traefik [EPISODE 859]
  • Rewriting from scratch in Go has stood the test of time. Goswami, CEO of Traefik Labs, says the project began as open source in 2016 to expose Docker Swarm containers as services securely. The founder and CTO, Emil, rejected existing approaches and wrote it natively in Go for its lightweight, container-friendly, modular design. Goswami claims 3.3 billion downloads and over 800 contributors nearly 10 years on.
  • Traefik runs natively wherever containers run. He lists Docker and Docker Swarm, K3s, k3d, minikube, MicroK8s, and the managed AKS, EKS, GKE and OKE, plus HashiCorp Nomad and VMs. Having started before Kubernetes, the company says it moved from being cloud-native in the Docker era to being Kubernetes-native.
  • The product is three tiers, and upgrading takes one command. The open-source tier is a reverse proxy and L4–L7 load balancer, typically used as a Kubernetes ingress controller. The paid API gateway centralizes authentication and authorization through OIDC/OAuth identity providers, and adds distributed certificate management, rate limiting, and Azure Key Vault and HashiCorp Vault integration. API management adds versioning, governance, a developer portal and observability for businesses that monetize APIs. Moving from open source to the gateway is one Helm chart command, under a minute with a license key, upgrading in place with configuration preserved.
  • An AI gateway is an extension of the API gateway. Goswami argues that AI workloads are increasingly deployed in Kubernetes as microservices and consumed as APIs. So Traefik released AI gateway functionality inside the API gateway tier, and applies API management's governance, observability and portal to AI workloads too.
  • A community-built firewall shows the open-source-to-paid path. He says a community pull request added a web application firewall based on OWASP's Coraza through a Wasm interface, released within about four months under quarterly release cycles. Traefik then built a higher-performance version for the paid gateway. He sees an awareness gap: people still think of Traefik as only open source. His parting message is the security of the gateway tier and the governance of the management tier.
Jerry Nixon on Using an MCP Server to Add OpenAI to an Application [EPISODE 858]
  • Don't let a model write raw SQL against your database. Nixon, who works on Microsoft's SQL team, says a model is like "a four-year-old genius" that means well but can mis-join or drop a table to satisfy a request. His architecture puts Data API builder, a REST endpoint over SQL that won't run those operations, between the database and an MCP server that wraps it. The demo stack is a Blazor app, Azure OpenAI (chosen so data stays inside Microsoft's security commitments), Azure App Service and Azure SQL Database.
  • The MCP client quietly hands the model tools to answer from. As Nixon describes the flow, the client attaches the tool list to the user's prompt. The model picks a tool such as "list customers by size" and its filter parameters, the client calls Data API builder, and Data API builder writes the T-SQL. He says the added latency is small, and because the chain runs in the user's context, the user only gets data they could already reach.
  • Tool descriptions are a token-budget trade-off each developer must tune. Each tool is a method decorated with attributes describing keys, columns and parameters, with examples of OData $filter strings. He relies on the model already knowing OData. He believes the evolving MCP spec currently allows about 1,024 tokens for all of a server's tools. He says around 20 tools overwhelms a model (Claude perhaps 30–40), so he prefers small, specific servers over "one MCP server to rule them all".
  • AI-enabled apps may become read-only screens, with the model making changes. In his insurance demo, built on five tools, "John's name is actually Marcus" updated the right customer's first name from conversational context. A single message about Samantha's email from last Tuesday changed her surname, added a $1,000 wedding-ring property policy effective the first of next month, and logged a communication record. Nixon argues a model can be made to follow business rules a user might skip, cutting UI and retraining work when processes change.
  • The separate MCP server is meant to fold into the API layer. Nixon says the team hopes to build MCP directly into Data API builder, "by end of the year maybe", to add an MCP-enabled setting alongside the existing REST and GraphQL switches. Developers would choose which tools are exposed and control token flow back to the model. The separate-server architecture works today.
Jerry Nixon on SQL Server Extension for VS Code [EPISODE 857]
  • Developer SQL tooling is being consolidated into one editor extension. Nixon, on the SQL team for about three years, admits Microsoft confused developers about which tool to use. Azure Data Studio is now deprecated and its work is moving into the MSSQL extension for VS Code. SQL Server Management Studio stays the Windows-only superset for DBAs. The extension will remain partly a subset of SSMS, plus developer tooling such as database projects and container work.
  • The extension spins up local database containers with no Docker knowledge. With Docker Desktop installed, a wizard checks prerequisites, pulls or reuses the Linux image, and offers SQL Server 2025, 2022, 2019 or 2017. It sets the SA password and creates a connection. Nixon changes the port to 1234 to avoid clashing with a local install on 1433. An Azure SQL Database image is planned "sometime next year". He says SQL Server 2025, then in CTP and expected GA at year end, is almost identical in function to Azure SQL DB.
  • The preview features are aimed at year-end, with acknowledged slippage. He demos a JSON/DSL-based schema designer, and schema compare between two databases that generates a sync script. "Chat with this database" opens Copilot with context on the database's tables and objects. A built-in MCP tool can push proposed schema changes into the designer for visual review before they are committed. Nixon says the goal is end of 2025 and "some things aren't going to make it".
  • Database projects with a human review gate are the recommended deployment. Nixon lists three routes: schema compare from local to Azure, a database-first project of DDL scripts kept in Git and published, and publishing through .NET Aspire. He prescribes the database project: deploy to UAT automatically, but have a person review the generated script before production. Real databases have hundreds or thousands of objects. Pre-built GitHub and Azure DevOps pipeline actions exist for this.
  • Unit-test database objects the way you test code. Nixon argues a stored procedure is just a method, with inputs, outputs and sometimes state changes. Tests should catch its regressions and run in CI/CD. He says this applies to any database, not just SQL Server.
Jeremy Miller on Lessons Learned from Building a Public Open-Source Tool [EPISODE 856 ]
  • Contact with real users was his failed framework's biggest lesson. Miller calls FubuMVC, his early-2010s alternative .NET web framework, a "colossal failure" that cost "a couple man years". He blames too little contact with its users. His company, Jasper FX Software, now builds the "Critter Stack": Marten, a PostgreSQL-backed event store and document database, and Wolverine, a messaging, mediator and HTTP framework he pitches as a "clean architecture killer". Working with customers' codebases showed him the friction points. Functional-programming-minded users pushed Wolverine toward plain handler functions and pure business logic with no repositories. The rise of modular monoliths forced changes against design choices made 10 years ago. He says the next big work, handling concurrency (parallel across groups, sequential within one, like an invoice), comes from the problems users raise today.
  • Write documentation from day one and keep it mechanically in sync. Early StructureMap docs went stale when he replaced its fluent API, and he says people were angry at him "for years". Marten, started about 10 years ago, had docs from the outset. Its code samples are pulled into markdown from real sample or test code by the MarkdownSnippets tool, so they track the API. He now structures docs around the problems users are solving rather than the framework's own terms. He is borrowing the "duplex book" format of the old Martin Fowler books: flowing tutorials that link out to detailed pages.
  • Answer angry users with "how do you wish it was?" Miller says users usually arrive on Discord or GitHub already frustrated. Asking how they would phrase or design it sometimes yields a pull request of "two or three new sentences", and those add up. Every docs page has a link straight to its markdown file on GitHub so readers can suggest edits.
  • A tool should "just work" on day one with sensible defaults. A former colleague's "time to login screen" metric measures how fast a newcomer gets from a clean clone to a running app. FubuMVC failed it: infinitely configurable, and likened in feedback to Bowser, "fast, but really slow to get going". Marten, given an open PostgreSQL database, checks its tables and columns and applies the schema delta on first use. Conventions such as treating an Id property as the identity can be overridden.
  • Short, pointed exception messages are a major usability gain. Miller says FubuMVC's long middleware call stack buried the real error under framework noise. Wolverine's short call stack points straight at the middleware or the user's code that threw. He calls this one of its biggest advantages over FubuMVC.
Scott Hanselman on New Technology and Old Friends [EPISODE 855]
  • A podcast turns "pick your brain" requests into a lasting artifact. Hanselman, who started Hanselminutes in April 2007, says a coffee meeting "dissipates like a mist", while an episode persists and can be transcribed and shared. For roughly the last three years he has asked guests whether they are in a good headspace to record. Over a few hundred shows, about five said no and rescheduled.
  • AI semantic search let him query his own past opinions. At Build he and Yina Arenas built an AI chat search over his transcripts, covering more than a thousand episodes. Asked how his views on AI evolved, it answered that he has been "consistently cautiously optimistic but concerned about the ethics". He agrees, while noting his questions may have biased it.
  • AIs are people-pleasing interns, not fact generators. Hanselman says models are eager to give the answer a leading question implies and can confirm a user's bias, so sources must be checked. He cites a Mark Russinovich demo: telling a model the host won a podcast award gets an ungrounded model to invent ceremony quotes. A web-grounded model that finds no evidence can then be "gaslit" into accepting it.
  • Use AI as a research assistant, not as the author. Hanselman's wife, a nurse, was offended when told to have ChatGPT write a coworker's recommendation, because it cheapens it. Giard says an AI draft of a colleague's feedback reminded him of contributions he had forgotten or never knew, which he then wrote in himself. Hanselman endorses gathering facts this way but asks whether letting AIs write and read letters just cuts people out, calling these ethical rather than technical questions. Giard adds that he accepts AI for outlines, grammar and style but keeps the thinking his own.
  • Early-career people should work one layer below their usual level. Hanselman's examples: open a laptop and add RAM, use the command line, or write some C if you only write JavaScript. He suggests running a model locally with LM Studio, the AI Toolkit for VS Code or Foundry Local, in airplane mode, and watching whether it uses the CPU or GPU. His barbecue story: an overheated iPhone charged at one watt until he set it on an ice-covered plate and it rose to 25 watts, as shown by a USB-C cable with a wattage screen.
Laurent Bugnion on Coordinating Hands on Labs [EPISODE 854]
  • The conference's hands-on labs drew heavy repeat attendance. At Build, Bugnion, in Microsoft developer relations, was technical co-lead of the in-person labs workstream. There were 48 unique 75-minute labs on provided devices, each led by one or two speakers with proctors. Each ran twice and the most popular ran a third time: 99 sessions over three and a half days. More than 4,000 lab seats were filled, and the average lab attendee did three labs. He says 75 minutes is long enough to go deep without crowding out the rest of the conference.
  • Labs offer access to product experts that home learning cannot. Labs are tied to breakout sessions and keynote announcements so attendees can code on just-released technology. Bugnion says some labs are offered on demand afterward. Being there adds product-group engineers and expert proctors to answer questions.
  • Months of preparation and selective vetting come before the labs. Bugnion puts it at three to four months: serious work starts around February for a May conference. Room and budget set the lab count, and an internal call for content drew about 100 proposals. Technical experts, including James Montemagno and Scott Hanselman, helped pick about half. Labs run on a vendor's virtualization platform, Microsoft buys its own Azure subscriptions and licenses, and MVPs help test. Bugnion says few labs had technical problems and credits the testing and Microsoft's near-weekly release cadence, which means labs build on stable products.
  • MCP and agent labs were the most popular. A lab on using MCP with function apps was the only one with MCP in its title and got an extra session added on the fly after turning many people away. Bugnion says agent labs generally were in demand, including Copilot Studio labs taken by non-technical coworkers. He notes the product UI changed on the conference's first day, forcing a scramble.
  • The next fix is matching attendees to the right lab level. These are ideas only, nothing implemented. Bugnion says the session catalog conveys too little for people to choose well, and some Ignite lab attendees had no GitHub account. He floats shorter, less technical labs (what GitHub is, how to commit and open a pull request) and scenario-driven content over product tours, which he expects to be the trend. Work is already under way on Ignite in San Francisco in November and the AI Tour.
Tommy Falgout on Bad AI in a Box [EPISODE 853]
  • Bad AI in a Box inverts AI to make it approachable. Falgout's portable black box, which he demoed on stage at Microsoft Build, offers bad advice, fake facts, cocktails, conspiracies and insults (Monty Python, Shakespeare, French, German, Spanish) via a knob-and-button menu on a 20x4 display. A Python script on a single-core Raspberry Pi Zero W, chosen because larger Pis draw too much power, sends a prompt to Azure OpenAI and prints the answer on a thermal printer, all in a 3D-printed case.
  • A box that stalls loses its audience, so it never waits. Falgout says people lose interest if nothing happens within about 5 seconds. The box tethers to his phone for connectivity, and an offline mode prints a pre-canned response if the cloud takes more than two or three seconds or returns nothing.
  • Asking for bad advice runs straight into responsible-AI guardrails. Falgout found Azure's content filtering withholding some responses because he was asking for harmful output, so he worked with content colleagues, added a disclaimer to the printout at the suggestion of in-house OpenAI specialists, and screens risky outputs himself, such as fake facts about Microsoft and Satya Nadella at Build. He does no grounding, since there is no truth to hit; instead he shapes output through the system prompt (for example, a bartender asked to make a really bad drink) and changes the prompts for each conference.
  • A fortune-printer hobby kit gave the idea its hook. Falgout's first version, built after an internal OpenAI hackathon, was a bad-advice website that "didn't really catch on"; adapting an Adafruit project that printed pre-canned fortunes on a thermal printer is what drew people in, first on the KubeCon vendor floor about a year and a half before recording. The code, 3D-printing files and a bill of materials are open source on GitHub, and he invites forks; the Adafruit kit is discontinued, so he sourced the printer from China, and two boxes now exist.
  • Making it wireless was the hardest part, and it was hardware. The thermal printer draws a large current spike, so powering it through the Pi rebooted the Pi, while lowering the draw left prints too faint because the printer burns the paper. Falgout went through about five batteries before finding one with two separate USB ports, one each for printer and Pi, and says the tight form factor, including a vertically mounted battery held with Velcro for air travel, changed how he thinks about physical design.
Dee Peterson on An M365 Copilot Success Story [EPISODE 852]
  • One bank's Copilot rollout reached near-total adoption within a year. Peterson, a Microsoft customer success account manager covering banking, says the customer, a Midwest bank with a 10,000-person workforce using M365 Copilot with company and web data, started a pilot about a year before recording and has activated over 1,000 licenses at about 97% adoption. She reports use in its call center, finance and IT teams, and quotes the customer calling Copilot "a game changer" and an SVP calling it "my new best friend".
  • Addressing oversharing fears unblocked the rollout. The bank's initial restrictions came from security concerns, such as whether an employee could use Copilot to find the CEO's salary; Peterson says Microsoft's security controls and configuration, plus third-party solutions, resolved them. She credits the speed, in an industry Giard calls slow to adopt, to the account team's trusted-advisor relationship, contrasting organizations that build in-house chat tools until they find they are not getting the benefits.
  • One team's visible success spread demand across the bank. Peterson says the finance team was among the first to embrace it, using prompts to pull data from various files into dashboards of trends, forecasts and volume, work she puts at one to three days without Copilot. Seeing that team's results, others wanted to use it too.
  • Structured programs, not the tool alone, drove the adoption. After the bank's AI council approved the tool, Microsoft's AI Experience Accelerator put it in a room with peers from other banks to identify use cases and rank them short, medium or long term; around October of the prior year the customer asked for a "promptathon", an on-site prompt-design hackathon led by Microsoft's subject matter experts. A partner was brought in to roll out at scale because the bank did not want to take six months.
  • The rollout's estimated value is deliberately conservative. Peterson says a Microsoft business-outcome engagement put the potential value at $21 million, from time saved, process automation and customer-service impact, and that the real number was "probably bigger". She describes the next step, already starting, as custom agents built in Copilot Studio for specific business processes.
Peter Van Vliet on Separating the Development Model From the Deployment Model [EPISODE 851]
  • Decide monolith versus microservices at deployment, not during development. Van Vliet's talk "Architectural Uncertainty: Build Schrödinger's App" argues that an application is in every state at once while it is being built, and the deployment moment is the "measurement" that settles it: one monolith, a few services or many, chosen by configuration.
  • This only works if the code is a properly modular monolith. He treats modules as non-distributed microservices, drawn on the same boundaries and loosely coupled so they can be split off and spread across a network; tight coupling breaks it. He uses feature-based vertical slices, but says each slice is still layered (presentation, business logic, persistence), so it can be split horizontally too, such as gathering every feature's presentation components onto one server to act as a backend-for-frontend.
  • His team's Jitar splits an application at runtime, from configuration alone. Van Vliet says Jitar ("just-in-time architecture") is an open-source distributed JavaScript runtime, deliberately not a framework, because a framework would mean rebuilding the application around it. It follows JavaScript's explicit imports and exports, places modules on the servers the configuration names, and turns a call between modules on different machines into a remote procedure call. Each configured segment becomes its own bundle, which he says is mostly built into a Docker image and deployed on Kubernetes, with more instances added for a segment under load.
  • The main payoff he reports is simpler, safer development. Instead of spinning up mocks or every dependent service to test one microservice, developers run the whole application with one command, and modules call each other directly with no service contracts to keep up to date, so a change by one team shows up for the others at once.
  • Jitar is experimental and has not reached version 1.0. Van Vliet says the team is still working out its value proposition and gathering feedback from conference talks, and had no clear answer yet on plugging it into an Azure DevOps pipeline. He points to jitar.dev and to Comify, the team's demo comic-based social media platform.
Damian Synadinos on Trust [EPISODE 850]
  • Trust rests mostly on faith, but not only on faith. Synadinos says most definitions of trust involve faith or belief. Between blind faith and hard evidence he puts familiarity (an unbroken history of earlier trust) and authority (a boss or someone held in high regard).
  • Risk decides whether trust is enough. Where the outcome could be catastrophic, or something bad is very likely, he says trust may be insufficient and actions should rest on more than faith. Where even the worst case is a "nothing burger", or very unlikely, trust is fine. The host offers his own pair of examples: lending someone a dollar against running an unknown executable that could compromise his network.
  • Gathering evidence is costly and sometimes impossible. It takes effort, time and maybe money. Synadinos's example is bridges and elevators: failure could kill you, but you cannot interview their engineers, so you rely on faith. Trying to verify everything would mean analysis paralysis, so he calls trust a heuristic that lets the brain reach sensible conclusions without enough evidence.
  • Skepticism is also wrong when misapplied. His flowchart, which he says is the slide audiences like best: pressing questions on a low-risk matter reads as cynical or jaded, while failing to question a high-risk one, such as plugging in an unknown flash drive, leaves you naive and easily manipulated. He says he gives people tools for striking the balance case by case rather than an answer.
  • He built the "Trust but Verify" talk around misinformation and AI. He says he is despondent at seeing family and friends fooled, over-trusting some sources and under-trusting others. He moved the topic into a technology conference keynote by applying it to AI, which yields a mix of true and false information. Giard, who works for Microsoft, says the "Copilot" name is apt because it keeps the human as pilot. Synadinos closes his talk with a line from Wes Moore: "I want skepticism to be your companion and not your captor."
Glenn F Henriksen on Deliberate Software Development [EPISODE 849]
  • Backlogs cost work without delivering customer value. Henriksen, who runs the technical side of a legal-tech startup, made the case in a Copenhagen DevFest talk pairing "ditch your backlog" with Shape Up, which his startup uses. He says it drew workshop requests from companies. Raw user stories are "placeholders for communication" whose context has faded or gone by the time anyone discusses them, and grooming and reprioritizing them is effort taken from the customer.
  • Backlogs also trap teams in cognitive biases. He names recency bias (newer items get more attention), the IKEA effect (people overvalue items they put work into) and the sunk-cost fallacy (we specced it, so we must build it). His answer is that nothing is more wasteful than building the wrong thing, which also costs the chance to build the right one.
  • Every choice should have a stated reason, including keeping the status quo. Henriksen, who has taught software engineering at a local university for about 12 years, points to the repository pattern (which he dislikes) and Scrum as things adopted on a book's authority. Appeal to authority is fine for a beginner, he says, but not with 5–10 years of experience. His team started with MediatR, then weighed Wolverine and the "Critter Stack" and Steve Smith's endpoints library, and kept MediatR for reasons it stated. Keeping something because there is no time to change is also deliberate, he says, as long as you see that you are making a decision.
  • He cites Microsoft's Go-based TypeScript compiler as a deliberate choice. He reports that the rewrite promises up to 10 times the speed. By his account, Anders Hejlsberg explained that the team evaluated many languages and chose Go for native code and a style close enough to TypeScript's for a near one-to-one port, where C# would have meant a new paradigm. Henriksen adds that the developers were TypeScript people, so they had to learn something either way.
  • Unexamined stacks lead into the "COBOL trap". He gives COBOL banks whose developers are retiring, AngularJS, .NET Framework and a system built on Delphi as examples of postponing a problem that hits hard when it comes. Staying put can be fine if the reasons are named. Each reason is smaller than the whole problem and can be removed one at a time toward a destination. He applies the same deliberateness to jobs, promotions and friendships.
Richard Campbell on the Current State of Energy Production [EPISODE 848]
synopsis

Campbell argues that low-carbon energy is further along than the pessimistic messaging suggests but well behind its goals, that no single source will win, and that nuclear's passive-shutdown designs offer low-carbon baseload the US risks losing the skills to build.

Progress and price. He puts the world about a third of the way to non-carbon energy and the likely warming at two to two and a half degrees, down from the Kyoto-era four. Wind and solar are now the cheapest power by levelized cost, at roughly $25 and $23–24 per megawatt-hour, but they are not baseload.

The grid and storage. Small, uncontrollable sources broke a strictly top-down industry: rooftop solar around Sydney overloads the grid at midday and can be disconnected. Grids cope with 10–20% adoption; beyond that needs storage, which at grid scale he says means pumped hydro.

Regional mix. Every area he has studied gets 1–5% from burning agricultural waste; mountainous, rainy British Columbia has cheap hydro, and flat farmland suits tall wind turbines.

Commitments and financing. Asked by Giard, who works for Microsoft, about its carbon pledges, he warns of greenwashing and says data centres need round-the-clock baseload. Combined-cycle gas, at about $40, is the quick option; higher interest rates hurt plants that must be fully built before earning, unlike solar and wind farms that grow in blocks.

Nuclear. Giard dates the loss of faith to Three Mile Island; Campbell says the weapons-proliferation movement mattered more, since light water reactors bred plutonium. Passive-shutdown designs would have spared Fukushima units 1–3, he says. Vogtle's two reactors in 2024 were the first new US ones in 40 years, with none planned after them.

  • Decarbonisation has progressed further than its advocates' gloomy messaging admits. Campbell cites an argument that the world is about a third of the way to non-carbon-emitting energy; the Kyoto-era projection of a four-degree rise is "off the table", though he says the 1.5-degree target will be missed and the outcome is somewhere between two and two and a half degrees. Straight-line projections look worse than real curves, which twist and accelerate.
  • Wind and solar are now cheapest, but not baseload power. Measured by levelized cost of energy, he puts wind at about $25–26 per megawatt-hour and solar at $23–24, against roughly $40 for combined-cycle natural gas. Because they generate only when wind or sun allow, rooftop solar in New South Wales now destabilises the grid at midday, and Sydney's power company can disconnect a home's panels; he says the real change of the past 20–30 years is grid command and control moving from top-down to two-way.
  • Adoption is hitting a wall without storage, best done by pumped hydro. He says grids cope with 10–20% rooftop adoption but going higher needs more storage and transfer; residential solar is expensive per unit of power, with a 5–20 year payback depending on electricity prices. At grid scale he names pumped hydro as the cost-effective store, citing an Australian university study that found many hills with water at the bottom where a reservoir could be dug at the top.
  • Goals are well behind schedule, and costlier money made baseload harder. Data centres draw tens of megawatts around the clock and need baseload; he points to Microsoft's Quincy sites beside two hydroelectric plants. Gas, nuclear and coal plants must be fully built before earning anything, which recent inflation and interest rates punished, whereas a solar farm can connect its first 20 of 1,500 acres, or a wind farm its first 10 or so turbines, and grow from revenue. He warns corporate claims involve measurement games and "greenwashing".
  • Nuclear stalled over weapons proliferation more than over accidents. Campbell says light water reactors won because they bred plutonium — about 200 pounds from a 50-ton assembly over two years — and that the US has not reprocessed fuel since the Ford administration stopped it, while France does. Newer passive-shutdown designs cool themselves without pumps; by his account Fukushima units 1–3 failed because they lacked it and their diesel generators were in flooded basements. The two Vogtle reactors in Georgia, operational in 2024, were the first new US reactors in 40 years, but with no further plans he expects the skills to decay; he suggests the US might need about 20 built over 10–15 years.
Adi Polak on AI Agents and the Necessary Data Infrastructure [EPISODE 847]
  • RAG grounds an LLM in facts by two retrieval patterns. Polak, who heads developer advocacy at Confluent, distinguishes term retrieval, long available in Elasticsearch and OpenSearch but requiring the user to know the exact term, from embedding retrieval, which searches vectors by similarity so the user need not.
  • An agent is given a goal and tools, not steps. On start-up it discovers its tools (query templates, databases, web search, logs), a planner LLM decides what to run, and a judge agent checks the result. In her example of projecting three months of sales for a fashion collection, the judge sends the answer back because it ignored marketing-campaign data. Triggers need not be human: a build error can start a code assistant's agentic process.
  • Agents are microservices and need an event broker. She argues production agent systems face the old microservices problem of lost requests, solved by an immutable log such as Apache Kafka. Apache Flink then filters, joins and enriches events in real time — for instance dropping build-error events for a user who has switched that help off — and its stateful processing plus Kafka's storage can serve as the agents' short- and long-term context.
  • Exactly-once processing matters more because LLMs are non-deterministic. Temperature makes the same question yield different answers, so a duplicated event can produce repeated or contradictory suggestions. Flink's external two-phase commit protocol gives exactly-once guarantees across Flink and Kafka.
  • Confluent is adding agent-oriented features, some proprietary. Polak says the two-phase commit on both Flink and Kafka "works really, really well", and Flink now exposes richer exception context. Confluent's proprietary Flink AI lets customers register a model (such as OpenAI models on Azure) and use it as a transformer inside a Flink job, for repetitive tasks like transcripts or SQL generation, without a separate microservice.
Maarten Balliauw on Identity Management in NET [EPISODE 846]
  • ASP.NET Core offers three authorization models; policies scale best. Balliauw separates authentication (proving who you are, e.g. via the built-in cookie handler that sets an encrypted cookie) from authorization (what that identity may do). Role-based checks are simplest; claims-based checks add properties but bloat the cookie in complex systems; policy-based authorization lets you write custom requirements, such as a database lookup, and combine policies.
  • OpenID Connect extends OAuth for proving login to APIs. In a microservices setup the client sends the user to an authorization server, which returns a signed token the client passes to each API; he says OpenID Connect adds the token format, signing mechanisms and refresh rules on top of OAuth. Because ASP.NET Core ships the client side, it works with any compliant server, such as Duende IdentityServer or Entra ID. He recommends Microsoft's ASP.NET Core authentication docs to start, and reading the OAuth and OpenID specifications to understand the design choices.
  • IdentityServer is an SDK for building your own identity provider. Balliauw, head of customer success at Duende Software, describes its product as a way to "build your own Entra ID". His reasons to use it: reusing an existing user store, avoiding a hosted SaaS service, plugging custom logic into every step of the flow, and configuring industry profiles such as the financial-grade API's proof of possession.
  • Single-page apps should not hold tokens in the browser. He says a token in local storage can be fished out by anyone with some IT background and used against the API, and proof of possession does not help because its key would also sit in the browser. The backend-for-frontend pattern, which Duende also sells as BFF, keeps tokens on the hosting server, which proxies API calls and handles refresh, while the browser uses only a cookie — more secure and, he says, a much simpler client programming model.
  • Dynamic grants and passkeys are the changes he is watching. A grant-management spec in progress would let users add or remove consented access, such as a second bank account, without discarding existing tokens. He is "a big fan" of passkeys: a per-site key pair on a trusted device means no stored passwords, nothing useful in a breach "at least until quantum computers become a big thing", and revocation by deleting a public key.
Trinh Tran on Windows Accessibility Tools [EPISODE 845]
  • Accessibility matters to everyone because disability is often temporary or situational. Tran, a Microsoft partner technology strategist and 12-year stroke survivor with low and double vision, cites about 1.6 billion disabled people, roughly one in four adults, and distinguishes permanent (blindness), temporary (an eye infection) and situational (sun glare) disability. He says Microsoft built its tools in at the design phase, and that he first assumed he could not do his job until he found them.
  • Built-in speech tools work both ways and help anyone multitask. Windows Dictation (Windows+H) turns speech into text, which he uses because left-side weakness makes him a slow typist; Narrator reads text aloud for his low vision. Read Aloud, in Microsoft 365 apps and Edge, reads email or web pages and, he says, in the sender's accent — an Australian trainer's email came in an Australian voice.
  • Small display settings make the screen trackable. He enlarges the mouse pointer (to size 4; Giard uses 7 to find it across multiple monitors), the text size, or overall display scaling (he runs 175% on a 27-inch screen), and mentions high contrast, a blinking cursor and Magnifier for zooming into part of the screen.
  • Microsoft also makes adaptable hardware. He points to the Microsoft Accessible Mouse, which takes add-on parts to fit the user's hand, and the Xbox Adaptive Controller, which lets people who could not use a standard controller play.
  • Dictating to Copilot lets you prompt AI like talking to a person. He dictated a long, unproofread prompt for a three-day Seattle and Microsoft-campus itinerary; he says Copilot, which he says runs GPT-4o, interpreted it despite his atypical speech, then revised the plan when he replied conversationally. To find accessibility tools, he suggests asking Copilot or searching "Windows accessibility".
Rob Conery on Productivity Features in GitHub Copilot [EPISODE 844]
  • Copilot just shortens the search, Stack Overflow, copy-paste loop. Conery, who works on developer outreach for Microsoft's VS Code team, answers the "garbage code" complaint by noting that Stack Overflow answers need the same human vetting; trouble starts when Copilot is asked to do too much. Giard adds his own view that imperfect code getting you 80% of the way is still a big saving.
  • Custom instructions pre-prompt every request and shrink your prompts. A markdown file of instructions in a .github folder is prepended to every request in edits, chat and inline chat. Conery keeps it a terse bulleted list of standards (two spaces, brace placement, class naming) and adds example code in fenced blocks, such as a Sequelize user class or nested test blocks, which Copilot follows; output stays non-deterministic. Detail moved into the instructions means a prompt can be as short as "make the data access layer".
  • Edits plus strong instructions get about 95% there, in small steps. Edits changes files across a working set and shows per-change diffs to accept or reject. In his demo it turned a five-item spec into a SQL schema, which he then used itself as an instruction to generate a Sequelize data access layer "nearly perfect", missing only a file reference or two. He credits his boss Burke Holland with the rule of very small steps, and admits he could retry his demo until it worked.
  • Agent mode runs steps in series and corrects its own errors. Then available only in VS Code Insiders, which updates as often as twice a day, it took his prompt to initialise a Node project, install packages and create a GitHub repo with the GitHub CLI, pausing for "Continue" at each step. He says it installs a missing CLI itself and fixes compiler errors in typed languages such as C# or TypeScript; he had no release timeline.
  • Next edit suggestions propagate a change through the rest of the code. Renaming a Point class to Point3D prompts a diff adding a Z coordinate and updating later calculations; Holland's video shows it carrying a string changed to an enum through C# code. Conery was unsure whether it had reached regular VS Code yet.
Mads Torgersen on Designing a Programming Language [EPISODE 843]
  • Knowing a language's design culture helps you trust it. Torgersen, lead designer of C# at Microsoft (visiting in 1999, joining in 2005), says users choosing a language should look at how much it evolves, how open it is and its track record on developers' problems, as with any vendor.
  • C# must keep evolving or become legacy, without ever breaking code. He calls the team "on the aggressive side" of language evolution, adding large features when warranted even though nothing can be removed. With billions of lines of C# in use, much of each feature's work is fitting it in without breaking customers or clashing with existing features, while trying not to follow fads.
  • Designing in the open is overwhelmingly positive, despite visible heartbreak. He calls the change "98% positive". Ideas arrive mainly as user-reported problems on the language-design GitHub repo and accumulate until the signal justifies investment. Users watch features get prototyped then shelved, but he says openness makes the conversation human-to-human; Giard's version is that it is easy to hate Microsoft but hard to hate Mads.
  • Competing languages are healthy competition and a source of ideas. He would only stop evolving C# if it "can't turn this next corner"; so far it has, including trimming ceremony in response to newer languages. Borrowing, such as index and range support after Python's easy indexing, "borders on stealing but we all do it".
  • His proudest contribution is async/await. He drove the feature to end error-prone asynchronous programming, and is most proud that many other languages adopted it.
Andy and Kristin Looney on Fluxx [EPISODE 842]
synopsis

The Looneys present Fluxx as a programming language for people: a small rule engine Andy keeps extending, which after 30 years and four and a half million copies funds the Looney Pyramids, the game system they consider their best creation.

NASA. They met at NASA in 1986. Kristin designed VLSI chips that let a small cage replace a giant computer; Andy wrote telemetry software, a file-transfer tool, and later Hubble coprocessor code.

Why Fluxx. Pyramid molds would have cost $10,000 or more, so Kristin asked for a card game; Andy's memo followed on 24 July 1996.

Rules as code. Andy says computers do exactly what they are told while humans skim rules. Fluxx starts with "draw one, play one" and lets cards rewrite the rules mid-game. Each of some 45–46 themed versions has tended to add something — creepers, two-clause surprises, dangers, secrets — and Solo Fluxx, after 20 years, is being retrofitted into every edition.

Who it is for. Luck lets anyone win until the end; hardcore gamers resent that. They decline artificial "new" editions for collectors.

The pyramids. Pyramid Arcade holds 22 games, including John Cooper's pure-strategy Homeworlds. A textbook calls Andy a game systems designer; fans have made hundreds of games, and translations are licensed to foreign publishers.

  • The Looneys came to games from NASA engineering. They met at NASA in 1986: Kristin designed VLSI chips starting as a co-op student in 1985, and Andy wrote telemetry software, a file-transfer tool for a real-time OS, and later code for a Hubble coprocessor. Andy, whose father helped found Goddard in 1959, stayed eight years; Kristin, a little longer.
  • Fluxx exists because they could not afford pyramid molds. Custom injection molds would have cost $10,000 or more, so Kristin asked for a card game; Andy wrote the memo describing it on 24 July 1996. They say it has run 30 years, sold four and a half million copies, spans about 45–46 versions, and is what "makes us all of our money".
  • Andy treats game rules as software run on humans. Each card is like code that supersedes others, play starts with "draw one, play one", and themed versions forced new card types: creepers for Zombie Fluxx, surprises with in-turn and out-of-turn clauses so every card stays playable, the secret in the upcoming Mystery Fluxx. Word Fluxx has 51 keepers against the usual 22, and Solo Fluxx, cracked after 20 years, meant retrofitting every edition to one to six players.
  • Luck is deliberate, so anyone can win until the end. They say the balance lets geeks and their non-gamer families play together, at the cost of hardcore gamers' dislike. They also tell fans loudly when only packaging changes, as with Monty Python Fluxx's licensor-required box, rather than manufacture collectible versions.
  • The pyramids are a game system rather than one game. Pyramid Arcade bundles 22 games: 20 by Andy, Kristin's Volcano, and Homeworlds by Andy's childhood friend John Cooper, a no-luck strategy game Andy says rivals chess, with a medal for beating him awarded 21 times. Fans have made hundreds of pyramid games, foreign publishers license translations (Fluxx is in at least a dozen languages), and several titles play online at Board Game Arena.
Edward Thomson on Privacy and Security with Generative AI [EPISODE 841]
  • Package suggestions from coding assistants are a supply-chain risk. Thomson gives three reasons: models can favour popular packages over good ones (he says the most popular Python OAuth package is no longer maintained and points users elsewhere), they know nothing of vulnerabilities found after their training date, and they can hallucinate packages. He cites security research in which a researcher registered a package a model had hallucinated, so the model then pointed users to a package the researcher owned. He says a malicious actor could do the same.
  • CodeGate sits on the developer's machine, between the IDE and the model. Thomson's employer Stacklok started work on it at the end of 2024 as an open-source project. Its first feature checks the packages a model suggests against the data set behind Stacklok Insight, which tracks CVEs and maintenance across ecosystems such as npm and cargo, and shows a security warning in the IDE. He says most prompt gateways run on a remote server, while this one runs locally. Asked about revenue, he says that for now there is none: no services or freemium tier, just building the project and its community.
  • Assistants upload context the developer does not control, including secrets. Thomson's example is a .env file holding API keys for a staging server or database. The assistant may send it as context, and .gitignore does not stop that. Even if the vendor is trusted, he does not want the data leaving the machine, passing through a corporate inspecting proxy or ending up in a log file. He also notes that some vendors promise not to train on context only on their paid plans. CodeGate replaces such values with tokens before sending and swaps them back on the way in. He says Stacklok is extending this from API keys and secrets to PII such as email addresses.
  • Developers verify AI output less as they grow used to it. Thomson says that in talks with developers, senior ones "trust but verify", checking suggested packages with scoring tools or the registry, and some use Copilot in place of a search engine. Less experienced and "AI native" developers trust the output more. Giard adds that deadline pressure also cuts vetting, and he frames Copilot's "co" as a reminder that the developer is still the pilot. CodeGate is pitched as automating that manual vetting step.
  • CodeGate workspaces route each project to its own model and prompts. Thomson's examples: Copilot for JavaScript and Ruby, a different model for COBOL, or ChatGPT for documentation if it handles English better. A workspace can also add a project-specific prompt, such as one for Next.js and React or one for Ruby.
Mark Tinderholt on GitHub AT AT and Terraform [EPISODE 840]
  • The module automates the click-ops of setting up cloud operations. Tinderholt, who works in Azure Core Engineering, describes the GitHub AT-AT as an opinionated Terraform module library: running terraform apply locally, with access to GitHub, Azure and Entra ID, creates a GitHub repo holding Terraform HCL code and GitHub Actions YAML, and sets up Entra ID federated identity credentials so those workflows can reach Azure. He calls it "using Terraform to Terraform": it uses the GitHub, Entra ID and Azure providers to drive those control planes rather than to provision VMs.
  • One foundation supports radically different release motions. Besides the basic "starter app", he has extensions for Azure Functions, a Jekyll static website and a VM workload that builds a Packer image and deploys it to an Azure VM. He runs his own blog, marktinderholt.com, on the Jekyll module (a pull request triggers a pipeline that publishes to Azure Storage) and stood up a Minecraft server with the VM module.
  • The generated workflows build in a standard Terraform GitOps process. He says the GitHub Actions let you run a plan manually to check drift, or follow the full flow: open a pull request, review the plan it shows, and apply on merge, using pre-compiled plans. A team that already has a repo can pull it in with a Terraform data source and pass it to the module instead of having it created.
  • Isolation is built in but optional, "choose your own adventure". Because Terraform state, kept in an Azure storage account, can hold sensitive values, he recommends isolating production and non-production backends. Multi-subscription support also brokers RBAC so each environment's identity holds only the privileges it needs there; someone just kicking the tires can skip both.
  • It suits teams adopting Git flow, not lone wolves. He says little Terraform knowledge is needed, but users must know Git and work through feature branches and pull requests; someone working alone is probably better off running Terraform locally. He is the sole contributor but open to pull requests, publishes the module on registry.terraform.io, and says a sibling Azure DevOps AT-AT exists but has not been published in a while, though users have asked him to bring the GitHub version's features back to it.
Alvin Ashcraft on Microsoft Learn [EPISODE 839]
  • Microsoft Learn is now the umbrella for all Microsoft developer content. Ashcraft, who writes Windows developer docs for Microsoft Learn, says it grew out of MSDN and TechNet via Microsoft Docs, and now covers documentation, training modules and learning plans, certification prep and practice tests, and a Q&A site that Microsoft support staff also monitor. He describes a new "adaptive learning" feature in which AI builds a learning plan of modules and docs from what a user says they want to learn.
  • The docs are written and shipped exactly like code. Ashcraft says content is mostly Markdown with some YAML, kept in GitHub repos (some API repos in Azure DevOps); once new APIs land in a Windows SDK build, a process generates empty Markdown stubs that writers fill in from the product team's API spec, then a pull request goes to product-team or peer reviewers, with GitHub Copilot now also available as a reviewer for typos. The site is built with the open-source DocFX plus Markdown extensions, and writers use VS Code with the public Learn Authoring Pack for preview and linting.
  • Stale pages are archived out of search, and links are policed. Ashcraft says outdated docs first move to archive repos where they stay reachable by URL but drop out of Google and Bing indexes. A weekly Power BI report emails him the broken links in his area, and monthly "freshness" batches take top-viewed articles not updated in a while, 10 or 15 a week, to re-check.
  • Readers can fix pages themselves or send feedback. Ashcraft says each page's pencil icon opens the GitHub source so a reader can submit a PR entirely in the browser, routed to the page owner; the thumbs-up/down button takes anonymous feedback without a GitHub login; and open-source products such as .NET keep GitHub issues open, which he prefers because it allows back and forth. His team triages issues, feedback and PRs weekly, prioritizing by how wrong the content is and how complex the fix.
  • EU regulation is partly behind better Windows API documentation. After Giard says Microsoft docs were mocked 20 years ago and have improved over the last 10, Ashcraft says part of the improvement in the last couple of years was forced by EU rules requiring a certain level of documentation for all Windows APIs, with possible fines, which makes API coverage a high priority for his team.
Chris Ayers on Dev Containers and Codespaces [EPISODE 838]
  • Dev containers standardize a whole dev environment in one config file. Ayers says containers, unlike VMs, share a Linux kernel and so are small, fast and immutable; the dev container spec at containers.dev turns that into a config that names a language base (Python, .NET, Java, Go), extensions, ports and tools such as the Azure CLI, supported by VS Code, JetBrains and GitHub. He argues it makes onboarding "a couple of clicks" instead of weeks of requisitioning and installing software.
  • Checking the dev container into the repo ends version conflicts. Ayers says the config lives in the repo's .devcontainer folder, so everyone gets the same tool versions, extensions and formatting settings without NVM or virtual-environment workarounds, and VS Code offers to open it automatically. Nearly all his own repos have one, and he cites CPython and Home Assistant as major projects that use them.
  • Codespaces is the same dev container, hosted in the cloud. Ayers says opening a repo in a Codespace spins up a dev container and connects browser or local VS Code to it, with port forwarding and debugging, which removes the local dev container's shortcoming of needing Docker and a powerful machine. GitHub accounts get free monthly minutes, and sizes range from 2 to 16 cores, so a Chromebook can drive a 16-core, 64 GB machine for ML work.
  • Without a config you get a universal image; with one, full control. Ayers says Codespaces defaults to a universal image with recent Java, Node, Python, .NET, Go and Rust, but will use a repo's own devcontainer.json. VS Code's "add dev container files" command picks a base (Ubuntu, Alpine), layers tools such as kubectl or Terraform, and sets lifecycle hooks on start or rebuild; Dependabot can flag outdated dev container components.
  • Start with Microsoft's "try" sample repos and the free docs. Ayers recommends installing the VS Code Dev Containers extension and cloning the "try dev containers" repos (Rust, Java and others), where breakpoints in the container hit from the desktop browser. He points to the VS Code and GitHub Codespaces documentation, containers.dev for the spec and integrations, and JetBrains' own docs.
Burton Smith on 5 Questions to Get You Started with UX [EPISODE 837]
  • Who is the user: the user is the hero, you are Yoda. Smith, a software engineer of about three years at Microsoft building an internal design system's component library, says his users are the developers consuming it, not end customers, and that DX and CX are subsets of UX that non-designers wrongly treat as someone else's problem. Teams cast themselves as Luke Skywalker and showcase their product, when their job is to help the user succeed; Giard offers his own early failure of building data-entry forms that mirrored relational tables, so users had to learn referential integrity to delete a customer.
  • State what they want and how you help, repeatedly. Smith's second and third questions overlap: users skimming search or ChatGPT results are in "fast survival mode", so any ambiguity in what you solve gets missed and the message has to be broadcast "over and over". Whether they adopt the product, he says, depends on how well you articulate their success story with them at the centre.
  • Question four asks what you need back from the user. Smith says it is not the usage instructions but the business outcome the builder needs (a purchase, an email sign-up, clean data, acknowledgement that secures funding), and conflating it with what the user wants leads to frustrated experiences. His example is a grocery store such as Kroger trading loyalty-card discounts for customer data; Giard frames the split as question two being the user's needs and question four the provider's.
  • Question five: incentives are sometimes the experience, sometimes explicit. A clean way to solve the problem can be incentive enough, as with Stripe's developer experience, Smith says, but asking for money or personal information usually needs an explicit exchange like the loyalty card.
  • Expect to get the answers wrong first, then iterate. Smith says elaborate personas from UX workshops are usually wrong, which is fine if you ship an MVP, learn, and re-ask the questions with each release; low engagement signals a wrong problem or wrong users. Users also prescribe solutions (as in the "very apocryphal" Henry Ford "faster horse" line), and he tells a story of an office that answered slow-elevator complaints by installing mirrors rather than a costly faster motor.
Randy Pagels on GitHub Advanced Security [EPISODE 836]
  • Security should be the developer's job, built into the workflow. Pagels, a GitHub trainer and DevOps architect at Xebia who helps customers adopt GitHub Copilot and GitHub Advanced Security, cites unpatched code as behind about 60% of data breaches and says about 75% of applications have at least one flaw. His case for "shift left" is that a vulnerability fixed on the developer's desktop costs far less than one found in QA, UAT or production, and that developers should not throw code over a wall to security experts.
  • Dependency scanning catches flaws buried layers deep in open-source packages. He says 80–90% of packages in use are open source, and vulnerabilities can sit six or seven layers down, as Log4j did. Scans run against GitHub's advisory database, rate the threat from critical down to informational, and open a pull request with a fixed version; they also open pull requests for newer, vulnerability-free versions, and the alert dismisses itself once the threat is gone.
  • A committed secret cannot be deleted away; revoke it instead. Secret scanning checks every branch and every commit in history, so removing the secret leaves it in the history; Pagels says to revoke it, update the code, leave history alone and dismiss the alert by hand. Patterns come from about 120 partners such as Microsoft, Google and Amazon, organisations can add custom regex patterns (which Copilot can write), and push protection blocks secrets from being pushed at all, with a bypass that needs an admin's approval.
  • CodeQL looks for execution paths, not just static code patterns. Code scanning turns the application into a semantic database and runs free, open-source queries written by security experts against it for flaws such as SQL injection and cross-site scripting. He says the default setup auto-detects languages, needs no CodeQL knowledge and covers about 80% of known threats, while advanced setup produces an editable YAML workflow for custom queries. Copilot Autofix proposes the fix; he says it needs no Copilot license and currently works only for code scanning, not secrets. Advanced Security is free on public repos but generally not on private organisational ones.
  • Campaigns keep an initial flood of alerts from being ignored. Pagels says turning Advanced Security on produces an overwhelming number of alerts and that customers tend to turn on too much too fast. A campaign, which he calls fairly new, targets one slice, such as 100 SQL-injection alerts, with a due date, then the next. He recommends turning on push protection first to stop new secrets, then running campaigns to burn down the existing ones.
Brian Hitney on Real Time Intelligence with Microsoft Fabric [EPISODE 835]
  • Fabric's value is removing the integration work between data components. Hitney, a Microsoft partner solution architect on the host's team, describes Microsoft Fabric as a SaaS stack folding in the Synapse data warehouse, Spark, and Stream Analytics-style eventing around one storage model, OneLake, with a common security model. He says integration was "usually the bulk" of the work before; Giard calls it plumbing to get out of the way of the business problem.
  • Hot and cold paths can now blur toward near real time. Hitney explains Lambda architecture as a hot path (sensor data streaming every second) and a cold path (store orders batched daily as a CSV), and asks why orders cannot be ingested continuously. Real time has been avoided because it needs an always-on connection and risks losing data when it drops; a combined pattern sends order headlines to a live sales dashboard while the full batch remains the "golden record" in the warehouse.
  • Real-time intelligence is a pick-and-choose suite, not one product. RTI, recently renamed from "real-time analytics", comprises event streams (Fabric's counterpart to Azure Stream Analytics) to route and transform streams, KQL databases held in an event house, a real-time hub and dashboards, and Data Activator to send a Teams message or email when data leaves a range. Hitney stresses the dashboards are really near real time, lagging "several moments".
  • KQL is now an operational database feeding medallion architectures. He says the Kusto Query Language database, built read-only for telemetry and log analytics, gained updates and deletes "several months back", and people now use it for bronze (raw, untouched), silver (cleansed) and gold (semantic models for Power BI) layers. Unlike a single-step ETL job, keeping each stage lets you see and rerun the data, and KQL backs its data in Delta Parquet, the same format as the lake house and warehouse.
  • Newcomers should start with a workshop focused only on RTI. Hitney points to the Fabric engineering team's "Real-Time Intelligence in a Day", which covers only RTI rather than everything, plus self-paced labs and his team's ad hoc workshops; he promised links for the show notes, which the captions do not contain.
Blaize Stewart on RAG Apps [EPISODE 834]
  • RAG retrieves outside data and searches by idea, not keyword. Stewart, an Azure consultant, defines retrieval-augmented generation as fetching data not embedded in the model from a database or search, then having an LLM summarize, answer or analyze it. His example: a search for Atlanta can return material on Marietta or the Georgia Aquarium that never names the city, which makes RAG "a research accelerator".
  • RAG's main business use is searching large regulated document stores. Beyond public-web RAG such as ChatGPT backed by Bing, he says businesses use it on internal historical data and policy manuals nobody has memorized, with heavy uptake in law, medicine, insurance, banking and fintech.
  • The out-of-the-box build is easy; the edge cases are hard. Azure AI Studio can ingest and index documents with Azure Cognitive Search and even generate the chat UI "without a lot of fuss". It gets harder when context spans a whole connected corpus, or offline, as with a field engineer's laptop: you must cut the data down, run a local vector database, and above all find an LLM, small or large, that runs on a workstation and fits the scenario.
  • Embeddings are how data is both stored and searched. An embedding model turns text into the model's representation of its ideas; documents are embedded into a vector database, a prompt is embedded to search it, and the original text of the hits goes to a separate LLM for the answer.
  • Both low-code and code-first tooling exist; vendor docs teach best. Stewart likes AI Studio for quickly standing up endpoints for OpenAI and Hugging Face models and for PromptFlow, a drag-and-drop workflow editor. In code he names Python's LangChain, with vector stores such as Milvus, Qdrant or Postgres on Cosmos DB, and Semantic Kernel for .NET. He calls the Azure Docs samples one of the best resources and plugs his own YouTube channel, including a fully in-browser RAG app he says is not yet a good idea in practice.
Michael Feathers on Working with Legacy Code [EPISODE 833]
  • Legacy code is code without tests, and the code supplies expected values. Feathers chose the definition because good test coverage tells you quickly whether a change broke something; without it you are "hunting in the dark". To test code you do not understand, he puts in a dummy expected value such as zero, runs it, and plugs in whatever comes back, so the test records current behaviour. He says writing the tests is usually easy and breaking dependencies enough to get them in place is the hard part, so tests should go as close as possible to what you are about to change, sometimes spanning four or five classes.
  • After a refactoring bug, fear can make a codebase decay faster. The business reason to refactor, he says, is that code people cannot understand slows them down and leads to wrong changes. But a couple of refactoring bugs can lead management to stop it, and the resulting caution lets things get worse at an accelerating pace. Teams have to accept a few errors early, aiming for fewer over time, and refactor the areas they care about aggressively.
  • Temporary instance variables and throwaway tests can unlock huge methods. For methods of 1,000–2,000 lines with up to 15 levels of indentation, which refactoring tools only partly handle, he saves intermediate state from five or six lines into instance variables and writes tests against them, then deletes the variables and tests once the refactoring is done. For large classes, his book suggests sketching which methods depend on which methods and data to find classes to extract, which in statically typed languages can be done before any tests exist.
  • AI-generated tests are useful because passing tests characterise behaviour. Feathers says he resisted at first, since writing tests is how you build understanding, but a generated test that passes is correct in the sense that it pins current behaviour, and it can be kept or deleted. He calls chunk size the hardest problem: generating hundreds of tests or classes leaves you 10 minutes to half an hour reviewing output, so he breaks work into pieces that fit in his head, and treats hallucination as a reason to keep a human in the loop.
  • Change concentrates in few files, so small improvements pay back quickly. He shows teams a plot of each file's commit count, sorted, where some files get 500-odd commits over a project's life and others one or two. On that basis he argues a 3-million-line codebase is in practice more like a 500-line one, so improving what you touch, the "scout rule", soon returns the benefit and helps morale.
Venkat Subramaniam on The Evolution of Java [EPISODE 832]
  • Java has outlasted the usual decade of popularity through its community. Subramaniam says most languages stay popular for about 10 years, and calls Java the ecosystem (JVM, JRE, language, tools) and the people more than the language; its 30th year is "next year" at recording. Java began as a way to run applets in the new browsers, the applet died out, and it pivoted to become a back-end technology, which he says it mostly remains, including cloud native.
  • Decoupling release from development made Java agile again. He says he criticised Java heavily around 2010, receiving emails saying "I hate you because you hate Java", and saw Java 5 to Java 8 as its stagnant period until Java 8 brought functional programming. Java now ships every March and September, is at version 23 with 24 due in March 2025, and no longer promises features in advance, which he says used to make releases years late. Features ship in the next release once ready, after two to 12 years of work: virtual threads took 12, type inference five.
  • Java is a language of implementation, not innovation. With more than 10 million programmers and billions of devices, and banks that equate Java with performance and stability, he argues it "cannot say oops", so it adopts ideas proven in smaller languages. He says it asks three questions of each: is it feasible in the JVM, is it useful to day-to-day programmers, and what will it make harder to do in the future.
  • Virtual threads make asynchronous code look synchronous. He argues callbacks avoid blocking but create "callback hell" and accidental complexity, especially in exception handling. Virtual threads are separate from the underlying carrier threads, like riders and horses: an application can create millions of virtual threads, and one blocked on I/O releases its carrier thread for other work, so code is written as before but scales far better.
  • Kotlin is a "cocktail" of many languages. He says its designers learned from C#, Java, Python, Ruby and others, which is why he sees no surprise in Google embracing it. He calls it multi-platform, running on the JRE and compiling to WebAssembly and JavaScript, and multi-paradigm, supporting imperative, object-oriented and functional styles. He agrees with the host that Android has moved somewhat towards Kotlin.