James Newton-King ♔

James Newton-King ♔

@james.newtonking.com

Principal Software Engineer ASP.NET. Author of Newtonsoft.Json.

1.1K followers34 following155 posts

James Newton-King ♔ reposted

Your AI agent just took 45 seconds to answer a simple question. Was it the model? A slow tool call? A retry loop? #OpenTelemetry is making it easier to find the answers with semantic conventions for generative AI. Learn more in today's post! opentelemetry.io/blog/2026/ge...

opentelemetry.ioInside the LLM Call: GenAI Observability with OpenTelemetryYour AI agent just took 45 seconds to answer a simple question. Was it the model? A slow tool call? A retry loop? Every time an application calls an LLM, a chain of model calls, tool invocations, and…

1999 install shiny new NVIDIA TNT2 windows 98 boots first try (miracle) launch Quake III Arena demo hardware acceleration ON fps go brrrr install Winamp it really whips the llama's ass queue up Prodigy.mp3 alt-tab between frags and vibes future has arrived

Aspire 💫@aspire.dev

Modernizing our CLI install 💞

Upgrading a 10-year-old website with AI 🤖 🚀 .NET Framework → .NET 10 🌐 ASP.NET MVC → ASP.NET Core 🗄️ Entity Framework 6 → EF Core 10 🎨 Bootstrap 3 → Bootstrap 5 ⚡ Sync → Async 💎 KnockoutJS → KnockoutJS (perfection doesn't change)

A CLI‑based MCP server that uses stdio transport instead of HTTP transport solves these problems. It's easier to get started and use. In the long term, we'll probably add APIs to the dashboard to fetch telemetry data and deprecate the dashboard MCP.

Aspire 13.1 new dashboard features, day 7: Small QoL improvement: when logs are associated with a Gen AI span, a button to open the visualizer is shown ✨ No need to jump to the traces page, making the Gen AI visualizer easier to discover ⛵️

Aspire 13.1 new dashboard features, day 4: Bug fixes! 🐞 🌐 Status code middleware no longer interfers with API calls 💫 Interaction service can open a dialog when the dashboard is first loaded 🤡 Trace detail page doesn't error when a span duration is 24+ days (2^32 ms)

Aspire 13.1 new dashboard features, day 3: Resource health checks now show when they last ran ❤️‍🩹 This change removes uncertainty when viewing the dashboard: Yes, your resource is still broken, and no, Aspire hasn't stopped checking it 🙃

Aspire 13 new dashboard features, day 6: Introducing the Aspire MCP server. Integrate Aspire into your dev AI eco-system. 🚀 Observe resources (health status, endpoints, etc) 🪄 Debug with real-time console logs 📊 Investigate dev-time telemetry ⚙️ Execute resource commands

Aspire 13 new dashboard features, day 5: The interaction service just got a major upgrade ⚡ 💫 Dropdowns can now accept text — in other words, ComboBox inputs. 🔄 Supports dynamic data loading for cascading dropdowns. See it in action in the Azure provisioning dialog 🚀

Aspire 13 new dashboard features, day 3: Big perf gains when displaying traces with thousands of spans: 📂 Don’t refetch trace if it hasn’t changed 🔍 Use dictionary lookups to turn O(n) → O(1) 🧠 Cache calculations Large traces (10k+ spans) now update in sub-second time!

Aspire 13 new dashboard features, day 2: New dashboard accent colors. 🎨 They're now more FluentUI-ish (saturation++) with custom tweaks for light and dark themes. Dark blue is no longer almost invisible on a dark background 🤓

James Newton-King ♔ reposted

.NET Aspire ❌ Aspire ✅🤌🏼 we're officially rebranding - starting with our shiny new website, aspire.dev 💫 join us for a special edition #AspiriFriday to wrap up the week and celebrate with the team! see you there 🎃

Aspire 9.5 new dashboard features, day 10: Introducing the Gen AI Visualizer ✨ Collate and summarize AI telemetry: 🗃️ Explore input and output messages 🚀 JSON/XML payloads highlighted and indented 🖼️ Preview Markdown and multimodal content (e.g. images)

Aspire 9.5 new dashboard features, day 9: Span details now show the destination of a span 📍 For database calls, HTTP requests, or RPC calls, Aspire matches the target address to a resource and displays it as a clickable link 🔗

Aspire 9.5 new dashboard features, day 6: Traces pages now have a type filter 🔎 - a quick way to find traces and spans for the selected operation type. For example, choose Messaging 📬 to see only traces from your app that interact with RabbitMQ.

Aspire 9.5 new dashboard features, day 5: The dashboard selects the best duration unit based on its length: Long → seconds (s) Short → milliseconds (ms) Very short → microseconds (μs) In 9.5 you'll see seconds more often, with microseconds shown only to avoid 0.00ms.

Fun AI use: Updating the accent colors in the Aspire dashboard to be more Fluent design-ish. AI tasks: 🎨 Tweak the existing color scheme to follow Fluent 🌃 Output light are dark optimized colors 🌐 Generate HTML page to preview

I released a new version of Newtonsoft.Json (13.0.4). It's mostly bug fixes and minor improvements. Notably trim/AOT incompatible APIs are annotated. You'll get a clear warning that serialize/deserialize isn't supported in trimmed/AOT published apps. github.com/JamesNK/Newt...

github.comRelease 13.0.4 · JamesNK/Newtonsoft.JsonNew feature - Annotated for trim/AOT (in)compatibility New feature - Added support for using Index with JArray Change - Avoid LINQ expression trees in .NET 6+ reflection Fix - Fixed handling of emp...

Aspire 9.5 new dashboard features, day 1: The trace detail page gets some quality-of-life improvements: 🏷️ Span names are clearer, with resources split into their own column 🪵 Logs are now shown in the waterfall chart. Hover for a tooltip, or click for full details

Aspire 9.4 new dashboard features, day 8: The Aspire dashboard now supports .NET 10. The dashboard runs on whatever .NET version is installed on your machine, so it must stay backward (and forward) compatible with all Aspire targets: .NET 8, .NET 9, and now .NET 10 previews 🔥

"But my .NET 10 apps already worked with Aspire." Yes, they did. But this change affects what .NET version the dashboard runs on. Previously, you needed the .NET 8 or 9 runtime installed. Now, the dashboard runs with just .NET 10 on your machine 🤓

Aspire 9.4 new dashboard features, day 7: A common bug with command-line arguments is passing a single argument with spaces when multiple are expected 💥 The dashboard now adds quotation marks around arguments containing spaces for clarity 📝

Aspire 9.4 new dashboard features, day 4: The trace detail page gets some quality-of-life improvements: 📊 The name column is wider to show more detail ℹ️ Header trace details now collapse to prevent wrapping

Aspire 9.4 new dashboard features, day 3: We've fixed many race conditions and thread safety bugs ⏱️💥 These issues were rare (1 in 1000 chance of modifying data or clicking a button at just the wrong time, etc), but the dashboard has a lot of users. They add up at scale.