Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
164366 stories
·
33 followers

Grammarpalooza! The 20th anniversary game show extravaganza

1 Share

1235. This week, we're celebrating the 20th anniversary of the "Grammar Girl" podcast with something I've wanted to do for years: our first-ever live game show! We originally streamed Grammarpalooza live on YouTube back in September, and now we're bringing all the wordplay, laughs, and friendly competition to the podcast feed so everyone can play along.


Two teams of our favorite language lovers and fellow word nerds went head-to-head:

  • The Cruciverbal Crusaders: Ben Zimmer (lexicographer and Slate crossword constructor) alongside Emily Moyers and Kyle Imperatore (teen librarians and hosts of the "Butter No Parsnips" podcast).
  • Team MC Grammar: Jess Zafarris (author of "A Miscellany of Weird and Wonderful Facts" and co-host of "Words Unravelled"), Gabe Henry (author of "Enuf Is Enough" and host of pub spelling bees), and sociolinguist Valerie Fridland (author of "Why We Talk Funny").


Here's what they tackled:

  • Fake Definitions: Deliberating over obscure, historical terms like "galactopoton," "curglaff," "snollygoster," and the Old English "uhtceare" to separate the real definition from the fakes.
  • Rhyming Definitions: A fast-paced speed round matching rhyming pairs (from "cheese and breeze" to "ponder and wander").
  • Playing Against the Audience: The teams go up against the live chat to see who can find the most unique words hidden inside the letters of the word CELEBRATION.
  • Foreign Idioms: Decoding colorful phrases from around the world, from Sweden's "having your beard in the mailbox" and Germany's "that's sausage to me" to Italy's "every death of a pope."


A huge thank you to scorekeeper Holly Hutchings, game designer and marketer Rebekah Sebastian, audio maestro Nat Hoopes, gameshow veteran and producer Steven Schapansky, and all our wonderful Grammarpaloozian patrons who submitted questions and tuned in live.


A hearty thank you to the Keepers of the Commas one mysterious Immortal on Patreon. We appreciate your support!

  • Larry Rosenblum
  • Mahala Russell
  • George Wilson
  • Laurel Paul
  • Linda Cox
  • Birna Anna Björnsdóttir
  • Kate Wade


🔗 Share your familect recording in Speakpipe or by leaving a voicemail at 833-214-GIRL (833-214-4475)

🔗 Watch my LinkedIn Learning writing courses.

🔗 Subscribe to the newsletter.

🔗 Find an edited transcript.

🔗 Get Grammar Girl books.


| HOST: Mignon Fogarty

| Grammar Girl is part of the Quick and Dirty Tips podcast network.

  • Audio Engineer: Castria Communications
  • Director of Podcast: Holly Hutchings
  • Advertising Operations Specialist: Morgan Christianson
  • Marketing and Video: Nat Hoopes, Rebekah Sebastian
  • Podcast Associate: Maram Elnagheeb

| Theme music by Catherine Rannus.

| Grammar Girl Social Media: YouTube. TikTok. Facebook. Threads. Instagram. LinkedIn. Mastodon. Bluesky.


Hosted on Acast. See acast.com/privacy for more information.





Download audio: https://sphinx.acast.com/p/open/s/69c1476c007cdcf83fc0964b/e/6ae4d792b478422f911c10dd/media.mp3
Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Finally, Apple Frees us from Domains

1 Share

Domains were never going to work1. And Siri was, unfortunately, always going to remain Siri.

Nobody wanted that, especially developers. Before 27.3, unless your app fit into a blessed domain, there weren’t many opportunities we could take advantage of in our apps. Why? It’s simple:

Apps do not fit into pretty little boxes.

Before iOS 27.3
Predefined Siri Domains Mail Photos Calendar

Apple tried to do two things. They wanted a Siri that understood what our apps could do, and a system broad enough to include apps of every shape and size. But that was never going to happen; we still had to squeeze our apps into boxes Apple picked.

For apps like mine, they tried to achieve both and ended up accomplishing neither.

But lo, with a random post on X, I saw that Apple is finally freeing us from domains. You can supply your arbitrary app intent definitions to the system, and even supply skill files in Markdown to help Siri know how, and when, to use them.

Here’s a concrete example from Elite Hoops. I already have app intents to:

  1. Create a player
  2. Open a team

This is how it was before:

Hey Siri, add a player to a team in Elite Hoops.

That’s a real one you can try in Elite Hoops through App Shortcuts today. Siri could run that action and ask for the missing details: team, name, position and jersey number. I could also build a shortcut that added the player and then opened the team.

But I had to wire those steps together. Blegh.

This is what we can do now:

Hey Siri, add Maya to the Tigers in Elite Hoops. She’s a point guard, number 12. Then open that team.

Once I tack on the new macro to expose those actions as tools for Siri, this is the type of stuff the new system is designed to handle: find the Tigers, fill in Maya’s details, add her, then open the team. The coach says what they want, and Siri can choose and combine the actions. And, best of all…

…Apple didn't have to invent a basketball domain first!

And the conversation could keep going — yes, the promises of that commercial are coming to fruition. Say I’ve diagrammed plays with “press break” in their names or notes:

Okay, find my press break plays. We’re running those tonight.

Then, once Siri has found them:

Now email Coach Jones those play notes using Mail.

I wouldn’t need to repeat “Elite Hoops,” rely on fickle phrasing that has to be just right, or even bother listing the plays again. Of course, the context has to come from somewhere: here, I told Siri which plays we’re running tonight. It wouldn’t magically know our game plan just because I added Maya to the roster. And, again, I could already build a shortcut to find and email content before; the new opportunity for us is that now, Siri can put together that workflow conversationally.

And then there’s App Skills, which let us give Siri a Markdown file explaining how to use my app’s actions together. For me, that’d be things like:

  1. What a coach means
  2. When to ask a follow-up
  3. Which actions to use together

For working with a coach’s library, I could write a SKILL.md that looks something like this:

---
name: coaching-library
description: Help coaches find, review, add notes to, and share plays, drills, and practice plans in Elite Hoops.
---
Start with the coach's goal. They may describe a basketball
concept, a practice focus, or a change they want to make
rather than name a specific item or action.

Use the request, conversation, and available onscreen context
to identify the relevant content. Find matches using names,
notes, and other available properties. Carry established
selections into follow-ups; ask when the target is unclear.

Use saved content when reviewing or summarizing the library.
To record coaching feedback, use the edit coaching notes
action. Add to existing notes unless replacement is requested.
Distinguish a reusable drill from its instance in a practice
so feedback goes on the item the coach means.

When sharing, use the selected content's available transferable
representation with the requested destination. Clarify an
ambiguous recipient or selection before proceeding.

Add a Skills Bundle to your app target in Xcode, then put the file here:

Skills.skillsbundle/
└── Skills/
    └── coaching-library/
        └── SKILL.md

Putting it all together, Siri reads the description to decide when the skill applies, then reads the instructions. The app intents still do the work, but now the skill is added guidance. As God intended.

But…dude…..FINALLY! Finally! A direction that makes absolute sense for Siri.

Until next time ✌️

  1. They were never going to work for the app ecosystem at large; the variety is too large to fit into existing definitions. ↩



Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete

.NET R&D Digest (October, 2026)

1 Share

One more month has passed, which means a few things – we are one step closer to the new year (that is nice), we are one step closer to winter (well, here it depends on whether you like winter), and we are in the point of time when new issue of .NET R&D Digest arrives (which is spectacular) 🙂

This issues includes bits of AI, mathematics, performance, non-relational databases, distributed systems, NativeAOT, security, history, .NET and .NET Internals.

I hope you will enjoy it!

AI

  1. Rebuilding the Agent conversation: sessions, turns, thoughts, tools, MCP, skills and summaries, Spying on Claude Code: more lifecycle events, different blind spots and Spying on GitHub Copilot twice: CLI hooks versus VS Code (by Christophe Nasarre)
    Every prompt you write in AI harnesses like Cursor, Claude Code or Copilot CLI triggers much more than just a query to an underlying model. Internally, in many cases, the is something like a dialog between the harness and the model. In the continuation of series, Christophe Nasarre (X, BlueSky) keeps “spying” on the harness to understand and visualise what is happening under the hood.
  2. Navier-Stokes lost in translation: Why Lean verification of AI autoformalisation does not guarantee correct natural language proofs (by Alexander Bastounis, Fabian Circelli, Anders C. Hansen)
    In a last few years it is not uncommon to see stories where AI achieves something incredible. In some of these stories, a prompt results into multi-million SaaS business, in another, AI escapes and finds “zero day” security vulnerabilities which were never noticed by a human, and in some of these stories AI solves biggest math problems. Unfortunately, majority of these stories aren’t verified or sound bigger than they really are. In this paper Alexander Bastounis, Fabian Circelli and Anders C. Hansen focus on the problem of auto-formalised mathematical proofs created by AI and their validity and completeness. The paper is full of mathematics and formulas but the core ideas are still accessible even without mathematical background.

.NET

  1. Performance Improvements in .NET 11 – .NET Blog (by Stephen Toub)
    Every year, there is a new version of .NET and every year there is a new, amazing post by Stephen Toub about all the performance improvements. There is no way to describe the content of this post without jumping too much into details, that is why I won’t try to do so. All I can say is: if you are interested in .NET, care about performance and want to know how things work internally, then this post is definitely for you. Highly recommended to read.
  2. DuckDB.NET 1.5.6.1: Reading Data Up to 12× Faster | Giorgi Dalakishvili (by Giorgi Dalakishvili)
    It is not an uncommon opinion that we no longer need to know implementation details or think about every byte of information. Allocations are cheap (everyone says that), there are GB of RAM and TB of disk space. However, when it comes to performance, every detail and every byte matters. In this post Giorgi Dalakishvili (X, BlueSky) describes how he significantly improved the performance of DuckDB.NET by stripping down extra virtual table lookups, removing unnecessary boxings, and reworking the code to benefit from tiered compilation. If you like posts about performance and want to learn something new about .NET internals, then this post is definitely for you.
  3. Your Distributed Lock Expired. Your Code Didn’t. (by Patrick Kearns)
    When we talk about synchronisation between threads or processes running on the same machine, there are multiple ways to “lock” shared resources and perform certain operations safely. When it comes to synchronising the work of multiple machines the situation becomes much more complicated. In this post Patrik Kearns analyses a very common distributed locking scenario where one of the workers “comes back” after a long delay to finish the job, which already have been finished by its successor. The post includes the description of the situation, analysis of the possible solutions and diagrams / code snippets for better visualisation.
  4. Building File-Based Apps in .NET: A Complete Guide With Multi-File Support (by Anton Martyniuk)
    Ability to quickly write tiny but functional applications was always a privilege of the “script” languages. “Enterprise” languages like C# usually required a lot of ceremonies like project files, compile configurations and so on. .NET had a long way of stripping down these ceremonies: new project files which do not enumerate files, new CLI instruments which allow to quickly build the project without an IDE, directory wide properties to propagate global configuration and much more. Finally, after many years, .NET arrived to the point where all you need to write an application is a file. In this post Anton Martyniuk provides a comprehensive guidance on how to write fully functional single file applications, which can do something simple, use packages, or be a web applications.
  5. How to Model Relationships in NoSQL Databases (by Anton Martyniuk)
    For many year, in .NET projects, the default database choice was always a relational database (which is, by the way, great in many scenarios). This lead to a situation where almost all .NET developers know how to work with relational databases. They developed an intuition for modelling the relationships and overcoming the performance issues. Unfortunately, when it comes to non-relational databases, these skills and intuition don’t work well because of the fundamentally different rules. In this post Anton Martyniuk describes the most common approaches of how to model relationships in the non-relational databases (one to one, one to many and so on). Every approach is accompanied by detailed description, potential constraints and code snippets. As always the post is very practical and can be easily used as a cheatsheet.
  6. Stripping extra dependencies in .NET NativeAOT apps using linker substitutions (by Andrew Lock)
    If you look at the size of iPhone application during one of the regular updates, you might have a feeling that no one cares about the binary size anymore. Partially, it is true. Software developers definitely pay much less attention to the binary size than it was before. However, there are still a lot of scenarios where binary size is important and luckily for us, there are still software engineers who pay attention to this 🙂 In .NET, the best way to reduce binary size is to compile the app using Native AOT with trimming. In this post Andrew Lock (X, BlueSky) describes an interesting case (updating the library to a new version lead to a significant increase in binary size) and demonstrates how you can approach such problems (including mentioning of the tools for that). As always, the post is very detailed and full of code snippets.
  7. Intro to Passkeys: The future of authentication, Passkeys in .NET 10 Blazor Apps with ASP.NET Identity, Deep Dive: Relying Party ID & origin (Passkeys) and Using ASP.NET Core Passkeys for Second Factor Authentication (by Maarten Balliauw)
    The more sophisticated our digit life becomes the more “real” it starts to be, and the more security it requires. Today, we have passwords, which are no longer the securest way to protect things, we have 2FA, which also doesn’t protect us from every possible attack. So, security specialists invest more time to invent new, safer (at least they say so) ways to authenticate. One of the latest things in this area are “passkeys”, a fishing free way to authenticate yourself using a cryptographic power of the device. In these four posts Maarten Balliauw (X, BlueSky) describes what “passkey” is, why it is seen as a next generation of security, how you can share “passkeys” and how you can support them in ASP.NET.
  8. The hidden trap of fixed buffers in C# (by Kevin Gosse)
    C# is a managed language where memory safety is guaranteed by the compiler and the runtime … until … you start writing unsafe code 🙂 In this post Kevin Gosse (X, BlueSky) describes an interesting case of how use of fixed buffers inside the struct can lead to unexpected memory corruption. As always, the post is an interesting deep dive into the .NET internals mixed with performance tricks.

WATCH & LEARN

  1. The Root of the Root of All Evil (by Casey Muratori⁠)
    “Premature optimisation is the root of all evil” this is a famous quote which usually comes up (or at least used to usually come up) in many performance related discussions. Everyone understands it differently, some use it to justify “unoptimised” code (well, because it is too early to optimise anything), some use it to prevent hard-core optimisations (well, because sometimes they aren’t needed), and some definitely use it in a way I can’t even think of. However, to really grasp the idea of this famous quote it is important to understand the time and the context when it was first used. In this very long video (more than two hours) Casey Muratori (X, BlueSky) does a great historical tour into the past or computer science history to find the source of the “root of all evil”. The presentation is very interesting and highly recommended to watch.


Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete

BONUS AI Makes Starting Work Easy, But Flow Still Finishes It With Liz Rettig

1 Share

BONUS: AI Makes Starting Work Easy, But Flow Still Finishes It

AI is changing software teams, but Liz Rettig brings the conversation back to flow, strategy, and the discipline of finishing. In this BONUS episode, Vasco and Liz explore how Scrum Masters can use AI to make policies visible, help teams manage WIP, support Product Owners, and keep the organization focused on valuable slices instead of faster output alone.

From Anthropology To Kanban And AI

"As a Scrum Master, you're an anthropologist because you're watching people and you're recording how they are working."

 

Liz starts with her path from anthropology to Scrum Mastering, agile coaching, and professional Kanban training. That background matters because her work has always been about observing how people interact with systems. AI did not replace that skill. It made the system easier to see. In one client engagement, a team adopting an agentic framework also needed agile ways of working around that new capability. Liz saw that AI could help teams reach forecasting, strategy, and board-reading conversations much faster than before, as long as the human system was still designed with intent.

AI Helps Teams See Flow Earlier

"This is a tool that can help me get teams further quicker than ever before."

 

Liz describes AI as a practical accelerator for visibility. Instead of spending months collecting and cleaning data by hand, teams can use AI-enabled tools to surface the information already living in Jira, code repositories, customer feedback, and flow metrics systems. That changes the coaching conversation. Scrum Masters and agile coaches no longer need to persuade teams that the data could exist. They can bring the data into the room and ask what it means for the way work is moving.

Starting Is Free, Finishing Is Still The Discipline

"Starting is free with AI, and I get into that pickle all the time too."

 

The central warning from Liz is simple: AI makes it easier to start work, but it does not automatically make teams finish the right work. She connects this directly to Kanban practices: limit work in progress, watch aging work, make policies explicit, and help the team focus on moving existing items before pulling more into the system. Liz has used AI hooks, skills, commands, and team rules to remind people when they are about to break their own policies. The point is not to block people blindly. The point is to make the tradeoff visible, capture why the team chose to break a WIP limit, and bring that evidence into retrospectives.

Scrum Masters Can Put Team Policies Into The AI System

"Everybody has the ability to run it, and I expect everybody on the team to run it."

 

Liz does not keep the AI-enabled flow tools as a coaching black box. She works with teams to define their policies, then embeds those policies into the tools the team uses every day. A daily board walk can highlight aging work, blocked items, WIP issues, and the topics worth discussing in the daily review of flow or daily Scrum. This shifts the Scrum Master's work away from repeating reminders and toward helping the team interpret what they see. AI becomes a way to make the team's agreements visible and repeatable.

Leaders Still Need Outcome Conversations

"Everybody wants more faster."

 

Liz is clear that many organizations begin AI adoption with an output goal: more stories, more work items, more projects, less time. One client moved from roughly 75 items per month to around 400. That created a new and more important question: are those 400 items connected to the value the organization actually wants? Liz explains how AI helped reorganize work around objectives, key results, epics, and delivery data so leadership could see how throughput was being spent. The useful conversation was not "how much more did we do?" It was "how much of our capacity went to strategy, bugs, maintenance, and the work we said mattered?"

The Constraint Moves Left

"The constraint that we're finding is having the right work that aligns to the strategy ready in our backlog."

 

When delivery gets faster, the bottleneck often moves toward product strategy, customer discovery, and backlog readiness. Liz saw teams capable of shipping far more work than before, but the business was not always ready with the strategic work it wanted delivered. That makes Product Owners more important, not less. AI can help with the administrative side: checking whether a ticket already exists, turning customer conversations into well-structured work items, and keeping Jira cleaner. But Liz argues that Product Owners still need time to talk with customers, shape direction, and decide what is worth building.

Smaller Slices Matter More With AI

"Now we've just built the wrong thing faster."

 

Liz pushes back on the idea that AI makes big upfront specifications or waterfall thinking attractive again. If teams use AI to build large batches faster, they can also waste budget faster. Her answer is smaller valuable slices, delivered incrementally, with feedback built into the way the team works. She has used AI to help break epics into customer-facing slices rather than functional layers. That matters because the team can validate learning earlier, change direction cheaply, and keep the work connected to customer value.

About Liz Rettig

Liz Rettig is founder of Lil Agile Monster and a Professional Kanban Trainer. She helps teams use Kanban, flow metrics, and real data to improve predictability. Her work spans healthcare, insurance, marketing, portfolio Kanban, and AI-assisted delivery. LinkedIn: lizrettig-agilecoach.

 

You can link with Liz Rettig on LinkedIn, visit Lil Agile Monster, and explore Liz's Kanban Playbook.





Download audio: https://traffic.libsyn.com/secure/scrummastertoolbox/20261105_Liz_Rettig_Thu.mp3?dest-id=246429
Read the whole story
alvinashcraft
4 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Abundant Intelligence at the Midwest AI Summit Part 2

1 Share

How do organizations decide what AI should do, where to set boundaries, and when to keep humans in control? In this episode, Don Barger of the International Mission Board shares how establishing an AI charter helped define what the organization would and wouldn't use AI for. Mark Lay of Noblis explores four key decisions for managing AI across an organization, from delegation and accountability to technical debt. And Darren Taillie of Aerocore Technologies walks through how his team uses AI agents, text-to-SQL, and vision models to improve data access and automate work order verification.

Featuring: 

Links:

Sponsors:

  • SerpAPI: A Web Search API that gives developers real-time, structured access to search engine results. Visit serpapi.com/practicalai to get started for free and get 250 searches every month. 

Resources and Events:

Chris’s new book The Art of Swarming will be published soon, written to be the seminal foundational book for the fledgling swarming industry, defining the principles and architecture that enable autonomous agentic UxS swarms with emergent distributed embodied intelligence.





Download audio: https://pscrb.fm/rss/p/dts.podtrac.com/redirect.mp3/media.transistor.fm/1b301bdc/b7154aa0.mp3
Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Discord to Drop Electron and React Native, Rewriting Its Clients in Rust With GPUI

1 Share

Discord's co-founder and CTO has outlined plans to drop Electron and React Native and rewrite the entire client in Rust, using GPUI for the desktop interface. An early screen of the new Discord Phoenix client shows memory usage of 290.2MB.

Key points

  • What happened: Discord announced plans to drop Electron and React Native and fully rewrite its desktop and mobile clients using Rust and GPUI
  • Why it matters: The current Electron version has grown to consume 1–2GB of memory continuously, prompting tests of automatic restarts at 4GB. Adopting GPUI means moving to rendering without a browser engine

Read the full article on Joho no Todai · Japanese original

Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories