# Swimburger

> Swimburger is Niels Swimberghe's technical blog about .NET, C#, Azure, Cloudflare, web development, PowerShell, and related software engineering topics.

The linked pages are static Markdown representations of the public site. Some legacy articles intentionally preserve rendered HTML for responsive images, syntax-highlighted code, callouts, and embeds.

## Content use and licensing

- Search indexing and use as AI input for responding to user requests are permitted. AI training is not permitted without prior written permission.
- When citing or summarizing an article, attribute Swimburger and link to the article's canonical URL.
- For AI training, bulk access, syndication, or commercial licensing, contact [nswimburger@gmail.com](mailto:nswimburger@gmail.com).

## Start here

- [Home](https://swimburger.net/index.md): Overview and recently published articles.
- [All blog posts](https://swimburger.net/blog/all.md): Complete article listing.
- [Privacy policy](https://swimburger.net/privacy.md): Site privacy, analytics, advertising, and embedded-content practices.

## Topics

- [.NET articles](https://swimburger.net/blog/dotnet/all.md): 82 articles.
- [Azure articles](https://swimburger.net/blog/azure/all.md): 15 articles.
- [Web articles](https://swimburger.net/blog/web/all.md): 13 articles.
- [Umbraco articles](https://swimburger.net/blog/umbraco/all.md): 9 articles.
- [Dynamics articles](https://swimburger.net/blog/dynamics/all.md): 7 articles.
- [PowerShell articles](https://swimburger.net/blog/powershell/all.md): 5 articles.
- [Twilio articles](https://swimburger.net/blog/twilio/all.md): 4 articles.
- [Frontend articles](https://swimburger.net/blog/frontend/all.md): 1 article.
- [Game articles](https://swimburger.net/blog/game/all.md): 1 article.

## Recent articles

- [Create a chatbot in the console with Azure OpenAI and C#](https://swimburger.net/blog/dotnet/create-a-chatbot-in-the-console-with-azure-openai-and-csharp.md): Learn how to create an Azure OpenAI instance and deploy a model to it, how to integrate the Azure OpenAI SDK into your .NET application, and how to use the chat completions APIs to create a chatbot.
- [Change the ServiceLifetime after the service has been added to the .NET ServiceCollection](https://swimburger.net/blog/dotnet/change-the-servicelifetime-after-the-service-has-been-added-to-the-net-servicecollection.md): Learn how to change the lifetime of services already added to a service collection.
- [How to build a URL Shortener with C# .NET and Redis](https://swimburger.net/blog/dotnet/how-to-build-a-url-shortener-with-csharp-dotnet-and-redis.md): Learn how to build a link shortener using C#, .NET, and Redis. You'll be using ASP.NET Core to build the URL forwarder and the System.CommandLine libraries to manage the data.
- [Use XML Literals in Visual Basic .NET to generate TwiML](https://swimburger.net/blog/dotnet/use-xml-literals-in-visual-basic-dotnet-to-generate-twiml.md): Learn how to generate TwiML instructions to respond to texts and voice calls using XML Literals in Visual Basic .NET and ASP.NET Core Minimal APIs.
- [Announcing the Webhook Plugin: Validate your webhooks with the new webhook plugin for the Twilio CLI](https://swimburger.net/blog/twilio/announcing-the-webhook-plugin.md): Emulate webhook requests to test your Twilio webhook applications using the new webhook plugin for the Twilio CLI.
- [How to generate TwiML using Strings in C#](https://swimburger.net/blog/dotnet/how-to-generate-twiml-using-strings-in-csharp.md): Learn how Twilio uses webhooks and TwiML to give you control over how to respond to a call or text message. You can generate TwiML using strings in many ways, and with C# 11 you can now also use Raw String Literals.
- [Use Raw String Literals to generate TwiML in C# 11](https://swimburger.net/blog/dotnet/use-raw-string-literals-to-generate-twiml-in-csharp-11.md): Learn how Twilio uses webhooks and TwiML to give you control over how to respond to a call or text message. You can generate TwiML in many ways, and with C# 11 you can now also use Raw String Literals.
- [Use Visual Studio dev tunnels to handle Twilio Webhooks](https://swimburger.net/blog/dotnet/use-visual-studio-dev-tunnels-to-handle-twilio-webhooks.md): Learn how to develop webhooks on your local machine using Visual Studio dev tunnels and ASP.NET Core.
- [How to create an ASP.NET Core Minimal API with Visual Basic .NET (there's no template)](https://swimburger.net/blog/dotnet/create-an-aspdotnet-core-minimal-api-with-vbdotnet.md): Visual Basic .NET (VB) is not dead, but it's not getting the same amount of love as C# or even F#. Luckily, all that is .NET can be used by all .NET languages including VB, so you can still use ASP.NET Core and Minimal APIs with the VB language.
- [Find your US Representatives and Congressional Districts with SMS and ASP.NET Core](https://swimburger.net/blog/dotnet/find-your-us-representatives-and-congressional-districts-with-sms-and-aspdotnet-core.md): Learn how to create an SMS bot that looks up U.S. Congressional Districts and Representatives using the Google Civic Information API, C#, ASP.NET Core Minimal API, and Twilio SMS.
- [How to Bulk Email with C# and .NET: Zero to Hero ](https://swimburger.net/blog/dotnet/how-to-bulk-email-with-csharp-and-dotnet-zero-to-hero.md): There are many ways to bulk email, each with their own strengths. Learn how to bulk email with C# and .NET using SendGrid.
- [How to test SMS and Phone Call applications with the Twilio Dev Phone](https://swimburger.net/blog/twilio/how-to-test-sms-and-phone-call-applications-with-the-twilio-dev-phone.md): Learn how to use Twilio's brand-new open-source tool, the Twilio Dev Phone, to test your SMS and phone call applications!
- [Provide default configuration to your .NET applications](https://swimburger.net/blog/dotnet/provide-default-configuration-to-your-dotnet-applications.md): Learn how to provide default options into your .NET configuration to reduce redundancy
- [Send Email and SMS from Google Forms using Zapier, SendGrid, and Twilio](https://swimburger.net/blog/twilio/send-email-and-sms-from-google-forms-using-zapier-sendgrid-and-twilio.md): Learn how to forward Google Form data via Email and SMS using Zapier, SendGrid, and Twilio
- [How to better configure C# and .NET applications for SendGrid](https://swimburger.net/blog/dotnet/how-to-better-configure-csharp-and-dotnet-applications-for-sendgrid.md): Learn how to configure your .NET applications better for sending SendGrid emails
- [How to get the full public URL of ASP.NET Core](https://swimburger.net/blog/dotnet/how-to-get-the-full-public-url-of-aspdotnet-core.md): Learn how to get the public full URL of your ASP.NET Core application
- [How to generate absolute URLs in ASP.NET Core](https://swimburger.net/blog/dotnet/how-to-generate-absolute-urls-in-aspdotnet-core.md): Learn how to generate full absolute URLs in C# and ASP.NET Core web applications.
- [How to better configure C# and .NET applications for Twilio](https://swimburger.net/blog/dotnet/how-to-better-configure-csharp-and-dotnet-applications-for-twilio.md): Learn how to use multiple configuration sources, strongly-typed objects, and implement the options pattern in your .NET applications
- [What's new in the Twilio helper library for ASP.NET (v5.73.0 - April 2022)](https://swimburger.net/blog/dotnet/whats-new-in-the-twilio-helper-library-for-aspdotnet-april-2022.md): Learn about what's new and old with the Twilio helper library for ASP.NET in version 5.73.0
- [How to Send SMS without a Phone Number using C# .NET and an Alphanumeric Sender ID](https://swimburger.net/blog/dotnet/send-sms-without-phone-number-using-csharp-dotnet-and-alphanumeric-sender-id.md): You don't always need a phone number to send SMS! Learn how to send text messages using Alphanumeric Sender IDs.
