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

Open Source in Focus: .NET Projects and the Tools Behind Them

1 Share

At JetBrains, we love seeing the developer community grow and thrive. That’s why we support open-source projects that make a real difference – the ones that help developers learn, build, and create better software together. We’re proud to back open-source maintainers with free licenses and contribute to initiatives that strengthen the ecosystem and the people behind it.

In this edition of the Open Source in Focus blog posts series, we spotlight four projects across the .NET ecosystem – each is a good reminder that developer experience is what makes ambitious projects sustainable over time.

Avalonia UI: Cross-platform .NET UI toolkit

Avalonia is an open-source, cross-platform UI framework for building .NET applications. It was launched in 2013 as an attempt to reimplement WPF as an open-source project and has grown steadily over time. The team notes it started gaining mindshare in 2021 and has continued to see significant adoption growth since then.

Our contributors work on all supported desktop platforms: we have some working on macOS full time, some on Linux, and some on Windows. The only IDE that works on all of these platforms is JetBrains Rider. It’s an additional bonus that Rider also has the best Avalonia XAML support out there.

Steven Kirk, Avalonia creator

What’s next: The team’s goal is to keep pushing Avalonia to be “the leading .NET UI toolkit.” They’ve recently released Avalonia Accelerate with phased rollout plans – the first phase includes new Developer Tools, Media Player, and native WebView controls. Later phases will include a packaging tool, a GUI designer, and more. The team is also working on v12, with more news expected in the coming months.

MudBlazor: .NET-first Blazor component library

MudBlazor started when its founders were contributing to other Blazor component libraries and ran into architectural limitations and instability – coding felt like fighting against hidden JavaScript logic, and there was no extensive unit test coverage. 

The creators set out to build a developer-friendly .NET component library, with most functionality written in C#, using JavaScript only when absolutely necessary. The result is a library with 90% test coverage, designed to be stable, well-tested, and easy to debug.

ReSharper has been incredibly helpful in spotting issues in MudBlazor: NullReferenceExceptions, unused values, expressions that are always null, etc. I rely heavily on the Unit Test Explorer and Localization Manager.

Additionally, dotMemory and dotPeek have been invaluable tools for us, especially in tricky cases when users report performance issues or large memory usage. These tools were particularly helpful in improving the performance of our popover system, which had previously experienced problems.

Artyom Melnikov, MudBlazor maintainer

For me personally, ReSharper with its included test runner is the most important tool when working on MudBlazor. It’s a huge productivity booster, as it automatically adds usages, suggests simplifications, highlights unused code, and underlines potential errors. I use it extensively for refactoring whole files or projects. My favorite key combination is Ctrl+T, which lets you jump to a certain type. In a big source base like MudBlazor, this saves a huge amount of time.

Also, dotCover played a huge role for us in our efforts to increase test coverage. I used it to discover untested code regions and to measure the coverage of methods, classes, or entire modules quickly and effectively.

Meinrad Recheis, MudBlazor co-creator

What’s next: The team describes MudBlazor as “very mature”, with an emphasis on keeping complexity limited and the library maintainable by a small team. They expect substantial refactoring ahead to address internal design issues – and say they can do it safely thanks to ReSharper and high test coverage.

LINQ to DB: LINQ-based data access library

The first code that eventually became LINQ to DB dates back to 2002. It started as a simple object mapper and later evolved into a library called BLToolkit. After LINQ support arrived in .NET, the team built a custom LINQ provider and, in 2012, redesigned the approach by extracting the LINQ-related parts into a standalone library: LINQ to DB, which is now a mature, high-performance data access library.

JetBrains IDEs play a critical role in our daily workflow. Rider and ReSharper help us keep our large and complex codebase clean and consistent. Their static analysis, code inspections, and navigation features make it easy to spot issues early and refactor safely. They’re especially helpful when dealing with complex expression tree transformations and query generation logic. 

DataGrip is our go-to tool for interacting with databases during development and debugging. Its support for multiple RDBMSs and rich SQL capabilities align perfectly with LINQ to DB’s multi-database nature, making testing and validation much smoother. 

For testing and performance, we rely on dotCover to ensure our unit tests provide thorough coverage of edge cases and expression scenarios. dotMemory helps us detect and fix memory leaks and inefficiencies, which is especially important for long-running data operations. dotTrace has been instrumental in turning LINQ to DB into the high-performance library it is today. Without it, we simply couldn’t have optimized the expression translation pipeline and query execution paths to the level they are at now.

Igor Tkachev, LINQ to DB creator

What’s next: The team is working on improving the expression tree translation engine to support more advanced LINQ constructs and custom expressions. Better diagnostics, deeper Roslyn-based source generation, and more consistent cross-database behavior are also on the roadmap. Long-term, the team aims for tighter integration with modern .NET features and better usability in async and high-throughput scenarios – without compromising performance.

PeachPie: PHP compiler for .NET

PeachPie (originally called Phalanger) began nearly 20 years ago as an experimental effort to translate PHP into Common Intermediate Language and run it on the .NET runtime, with the hypothesis that this could improve performance and security. Today, the team notes that people use PeachPie for hybrid apps in PHP and C#, including scenarios like WordPress on the frontend with a C# backend in a single project.

We’re experimenting with Rider, trying to support PeachPie PHP/.NET applications in the IDE, providing IntelliSense, design-time analyses, debugging via CLR Debugger, etc.

Jakub Míšek, PeachPie creator

What’s next: Future development is focused on big-picture milestones, such as getting Laravel or Symfony to run on .NET, supported by the smaller functionality, library work, and bug fixes needed along the way.


From our perspective, the most encouraging pattern across these stories is how much maintainability depends on everyday developer ergonomics: safer refactors, strong diagnostics, fast navigation, and tooling that helps teams validate changes with confidence. 

If you’re using any of these projects, consider sharing feedback, filing an issue, or contributing a small improvement – Rider is free for open-source development and ready to help you code, collaborate, and contribute. 

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

The logos, ethos, and pathos of your LLMs

1 Share
Ryan is joined by Professor Tom Griffiths, the head of Princeton University’s AI Lab, to dive into findings from his new book The Laws of Thought, which explores the history of the philosophy, mathematics, and logic that underlie artificial intelligence, and scientists' efforts to describe our minds using mathematics.
Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Building a safer digital future, together

1 Share

As we mark Safer Internet Day 2026, we’re reflecting on a simple but enduring principle: safety must be designed into online services, not bolted on. Microsoft’s work in this space spans more than two decades—from technology solutions like PhotoDNA to our investments in responsible gaming, public-private partnerships, and empowering users through education. This foundation guides our approach as we help individuals and families navigate a rapidly evolving landscape shaped by new technologies and new risks and as we innovate with next-generation AI offerings. At a moment when 91% of people tell us they worry about harms introduced by AI, our commitment to responsible innovation has never been more important—especially for our youngest users.

Read on for more about our longstanding efforts to create a safer digital environment, plus key findings from our Global Online Safety Survey and new examples of our work to empower families and communities through tools, research, and educational resourcesincluding the latest release in Minecraft Education’s CyberSafe series 

Ten years of safety research 

2026 marks the tenth year of our annual Global Online Safety Survey research. For a decade, we have invested in surveying teens and adults around the world about their experiences and perceptions of life onlineaiming to provide fresh insights to support our collective work. That’s 130,000+ interviews across 37 countries, with the results available on our website. Ten years later, respondents tell us that they feel more connected and more productive, but less safe online.  

This year’s Global Online Safety Survey also highlights the complexity of the digital environment young people now inhabit. Teens’ exposure to risk rose again, with hate speech (35%), scams (29%), and cyberbullying (23%) among the most commonly experienced harms. At the same time, teens demonstrated striking resilience: 72% talked to someone after experiencing a risk, and reporting behavior increased for the second consecutive year. But worries abouthe misuse of AI continueunderscoring again why safety-by-design for AI is essential, not optional. Find the full results and country-level summaries here. 

Year on year, the research has told a story of evolving online safety risks and of the real-world impact. In 2026, the call to action is more urgent than everunless industry can deliver safe and age-appropriate experiences, young people risk losing access to technology. At Microsoft, spanning across our teams from Windows to Xbox, we have sought to continuously evolve our approach and to lead industry in advancing tailored and thoughtful safety solutions  

Evolving to meet the moment 

Looking ahead, we know we need to continue to build strong guardrails to tackle acute risks and to leverage our experience while being informed by new research, new perspectives, and new technologiesThe application process closed yesterday for our first AI Futures Youth Councilto be comprised of teens from across the US and EUWe’re looking forward to bringing those teens together soon for a first meeting to get their direct feedback on the role they want emerging technology to play in their lives and how we can best support their safety.  

Microsoft has partnered with Cyberlite on a second youth-centered initiative to understand how teens aged 13–17 are engaging with AI companions. Through codesign workshops with students in India and Singapore, we’re capturing young people’s own perspectives on the benefits, risks, and emotional dimensions of AI use—insights that will directly inform educational resources for teens, parents, and educators. Early findings from the first workshop in December 2025 show that young people value AI as a judgment free space while also recognizing the tradeoffs: privacy risks, overreliance, and erosion of critical thinking loom larger for them than bad advice.  

We’re also thinking about how we define safety in the next era of Windows, leveraging the Family Safety controls that have been integrated for over a decade. As many countries have raised the local age for digital consent, more parents will have the option to enable parental controls for teens up to the age of 18—leveraging these tools as part of a holistic approach to digital parenting. And to help parents set up and understand Family Safety, we’ve developed a short new guide. 

Safety is also about transparency, empowerment, and education. At Xbox, bringing the joy of gaming to everyone means remaining transparent about the many ways we innovate so players, parents, and caregivers can feel confident that Xbox continues to be a place for positive play. You can read more about our recently published Xbox Transparency Report and the tools and resources available to players on the Xbox Wire blog 

We’re also excited to announce the latest release in Minecraft Education’s CyberSafe series: CyberSafe: Bad Connection? This series of immersive Minecraft worlds and educational resources is free and helps translate complex risks into fun learning experiences that meet young people in their favorite blocky world. Bad Connection?—the fifth in the series—reflects our commitment to evolving to meet new and challenging risks, with a focus on tackling serious risks related to online recruitment and radicalization. Learn more about how to access this new Minecraft world here.  

The CyberSafe series has reached more than 80 million downloads since 2022 through a partnership between Minecraft Education, Xbox, and Microsoft, helping a generation of young players build the agency, resilience, and digital citizenship they need to navigate an increasingly online world. As part of our commitment to ensure people have the knowledge and skills they need to benefit from technology and stay safe, Microsoft Elevate is empowering educators and students with tools and guidance to build safer, more responsible digital habits, recognizing that AI is transforming how people learn, work, and connect. Our commitment to helping young people access technology safely is also why we’ve partnered with organizations, like the National 4-H Council to prepare young people for an AI-powered world through AI literacy and digital safety curriculum and game-based learning with Minecraft Education. 

As we look ahead, our goal is clear: build technology that is safe by design, guided by evidence, and informed through partnership. The internet has changed profoundly over the past decade, and so too have the expectations of the people who use it. Safer Internet Day is a reminder that progress requires sustained collaboration across industry, civil society, researchers, and families.

—  

Global Online Safety Survey Methodology 

Microsoft has published annual research since 2016 that surveys how people of varying ages use and view online technology. This latest consumer-based report is based on a survey of nearly 15,000 teens (13–17) and adults that was conducted this past summer in 15 countries examining people’s attitudes and perceptions about online safety tools and interactions. Responses to online safety differ depending on the country. Full results can be accessedhere. 

 

The post Building a safer digital future, together appeared first on Microsoft On the Issues.

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

#715 – Shiny New Pebble with Eric Migicovsky

1 Share

Welcome Eric Migicovsky of Pebble!

  • Pebble is back after Eric worked with Google to open source PebbleOS and he reaquired the naming rights
  • Eric returns to the hardware space after 7 years, including working at yCombinator, a famous accelerator for early stage startups, and on Beeper, a cross platform app for messaging.
  • While discussing the difficulties of hardware project, Chris brought up a recent post about a high wattage lamp project HN
  • One thing Eric likes about hardware projects vs software is that “hardware projects can be done” as in they have a defined end state
  • A more recent project is a smart ring – The Index 01.
  • The non-replaceable battery is driven by the product specs, also the need for reliability
  • The ring doesn’t immediately need to be in range of a phone, it syncs the memory after the fact
  • Pebble is no longer a VC backed startup with a subscription model, so that changes a lot of constraints
  • Initially they sold 2 million watches, and 250 million in sales
  • Eric is driven by “gadgets”. He read “pen computing” and “popular mechanics” as a kid
  • Consumer companies vs other types (and why Eric likes the former)
  • Pebble went through different phases
  • The team spent 6 months in China, designing the first consumer version and working directly with factories
  • CTO of (original) Pebble, Andrew Witte, was a somewhat early guest of The Amp Hour
  • How much did the China ecosystem drive design decisions?
  • There was no such thing as a smartwatch factory (but are there ever now!)
  • The book Apple in China is supposed to be a great read and mirrors the Pebble Experience
  • We heard from Chrissy Meyer when she was on the show about working with the Apple Watch manufacturing proces
  • Water proof methods codeveloping in China
  • It’s an interative process of submerging designs in a glass vessel with pressure and bubbles seep out of the device at different points
  • The remedy? According to Eric: “More Glue” 😀
  • Eric shares his process on a YouTube channel called Tick Talk (not to be confused with the shortform video site)
  • There is a video with the CEO of SiFli, makers of the Bluetooth chip that is in the most recent Pebble devices
  • One interesting feature is a custom bus to the Sharp-made ePaper-like screen used onboard
  • FreeRTOS pebble OS
  • What is PebbleOS?
  • It’s targeted at an m33 class ARM chip and the kernel is FreeRTOS
  • The bluetooth stack is nimBLE
  • Eric went back and forth on whether to port to Zephyr for the Bluetooth stack and hw support from vendors like Nordic Semiconductor
  • The Index 01 ring is Dialog Semiconductor (now part of Renesas) part
  • One challenge is that rings have different sizes…so they mill the rings based on orders. The larger rings get an extra battery!




Download audio: https://traffic.libsyn.com/theamphour/TheAmpHour-715-EricMigicovsky.mp3
Read the whole story
alvinashcraft
52 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

How bored tourists invented an Olympic sport. Centigrade or Celsius? Piqua

1 Share

1158. This week, we go full Winter Olympics, tracing the origin of "ski," "luge," "toboggan," and more. Then, we look at why we say "Celsius" instead of "centigrade."

🔗 Join the Grammar Girl Patreon.

🔗 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.

🔗 Take our advertising survey

🔗 Get the edited transcript.

🔗 Get Grammar Girl books

| HOST: Mignon Fogarty

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

  • Audio Engineer: Dan Feierabend, Maram Elnagheeb
  • 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: YouTubeTikTokFacebook. ThreadsInstagramLinkedInMastodonBluesky.


Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.





Download audio: https://dts.podtrac.com/redirect.mp3/media.blubrry.com/grammargirl/stitcher.simplecastaudio.com/e7b2fc84-d82d-4b4d-980c-6414facd80c3/episodes/8963a25b-af55-464f-97dd-0a50cd6f2b4c/audio/128/default.mp3?aid=rss_feed&awCollectionId=e7b2fc84-d82d-4b4d-980c-6414facd80c3&awEpisodeId=8963a25b-af55-464f-97dd-0a50cd6f2b4c&feed=XcH2p3Ah
Read the whole story
alvinashcraft
52 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

How to Set Up Claude Code with Microsoft Foundry Models on macOS

1 Share

Introduction

Building with AI isn't just about picking a smart model. It is about where that model lives. I chose to route my Claude Code setup through Microsoft Foundry because I needed more than just a raw API. I wanted the reliability, compliance, and structured management that comes with Microsoft's ecosystem. When you are moving from a prototype to something real, having that level of infrastructure backing your calls makes a significant difference.

The challenge is that Foundry is designed for enterprise cloud environments, while my daily development work happens locally on a MacBook. Getting the two to communicate seamlessly involved navigating a maze of shell configurations and environment variables that weren't immediately obvious.

I wrote this guide to document the exact steps for bridging that gap. Here is how you can set up Claude Code to run locally on macOS while leveraging the stability of models deployed on Microsoft Foundry.

Requirements

Before we open the terminal, let's make sure you have the necessary accounts and environments ready. Since we are bridging a local CLI with an enterprise cloud setup, having these credentials handy now will save you time later.

  1. Azure Subscription with Microsoft Foundry Setup - This is the most critical piece. You need an active Azure subscription where the Microsoft Foundry environment is initialized. Ensure that you have deployed the Claude model you intend to use and that the deployment status is active. You will need the specific endpoint URL and the associated API keys from this deployment to configure the connection.
  2. An Anthropic User Account - Even though the compute is happening on Azure, the interface requires an Anthropic account. You will need this to authenticate your session and manage your user profile settings within the Claude Code ecosystem.
  3. Claude Code Client on macOS - We will be running the commands locally, so you need the Claude Code CLI installed on your MacBook. 

Step 1: Install Claude Code on macOS 

The recommended installation method is via Homebrew or Curl, which sets it up for terminal access ("OS level"). 

Option A: Homebrew (Recommended)

brew install --cask claude-code

Option B: Curl

curl -fsSL https://claude.ai/install.sh | bash

Verify Installation: Run claude --version. 

Step 2: Set Up Microsoft Foundry to deploy Claude model

Navigate to your Microsoft Foundry portal, and find the Claude model catalog, and deploy the selected Claude model.

[Microsoft Foundry > My Assets > Models + endpoints > + Deploy Model > Deploy Base model > Search for "Claude"]

In your Model Deployment dashboard, go to the deployed Claude Models and get the "Endpoints and keys". Store it somewhere safe, because we will need them to configure Claude Code later on.

Configure Environment Variables in MacOS terminal:

Now we need to tell your local Claude Code client to route requests through Microsoft Foundry instead of the default Anthropic endpoints. This is handled by setting specific environment variables that act as a bridge between your local machine and your Azure resources.

 

You could run these commands manually every time you open a terminal, but it is much more efficient to save them permanently in your shell profile. For most modern macOS users, this file is .zshrc.

 

Open your terminal and add the following lines to your profile, making sure to replace the placeholder text with your actual Azure credentials:

export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_API_KEY="your-azure-api-key"
export ANTHROPIC_FOUNDRY_RESOURCE="your-resource-name"
# Specify the deployment name for Opus
export CLAUDE_CODE_MODEL="your-opus-deployment-name"

 

Once you have added these variables, you need to reload your shell configuration for the changes to take effect. Run the source command below to update your current session, and then verify the setup by launching Claude:

source ~/.zshrc
claude

 

If everything is configured correctly, the Claude CLI will initialize using your Microsoft Foundry deployment as the backend.

Once you execute the claude command, the CLI will prompt you to choose an authentication method. Select Option 2 (Antrophic Console account) to proceed.

This action triggers your default web browser and redirects you to the Claude Console. Simply sign in using your standard Anthropic account credentials.

 

After you have successfully signed in, you will be presented with a permissions screen. Click the Authorize button to link your web session back to your local terminal.

Return to your terminal window, and you should see a notification confirming that the login process is complete. Press Enter to finalize the setup.

 

You are now fully connected. You can start using Claude Code locally, powered entirely by the model deployment running in your Microsoft Foundry environment.

Conclusion

Setting up this environment might seem like a heavy lift just to run a CLI tool, but the payoff is significant. You now have a workflow that combines the immediate feedback of local development with the security and infrastructure benefits of Microsoft Foundry.

One of the most practical upgrades is the removal of standard usage caps. You are no longer limited to the 5-hour API call limits, which gives you the freedom to iterate, test, and debug for as long as your project requires without hitting a wall.

By bridging your local macOS terminal to Azure, you are no longer just hitting an API endpoint. You are leveraging a managed, compliance-ready environment that scales with your needs. The best part is that now the configuration is locked in, you don't need to think about the plumbing again.

You can focus entirely on coding, knowing that the reliability of an enterprise platform is running quietly in the background supporting every command.

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