<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Khalid Abuhakmeh</title><description>Customer Success Engineer at Duende Software. Microsoft MVP. Content Creator. Opinions are my own.</description><link>https://khalidabuhakmeh.com/</link><item><title>A .NET 5.0 Guide: From Idea To NuGet Package</title><link>https://khalidabuhakmeh.com/posts/a-dotnet-five-guide-from-idea-to-nuget-package/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/a-dotnet-five-guide-from-idea-to-nuget-package/</guid><description>As technology evolves and we progress as a community, I notice that older blog posts erode in their helpfulness. One of the topics I find myself constantly h...</description><pubDate>Tue, 23 Nov 2021 00:00:00 GMT</pubDate></item><item><title>A Software Developer&apos;s Guide: Moving To Windows From macOS</title><link>https://khalidabuhakmeh.com/posts/a-software-developers-guide-moving-to-windows-from-macos/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/a-software-developers-guide-moving-to-windows-from-macos/</guid><description>macOS is excellent, but you might need to use Windows as your primary development environment. Learn how to make the transition from an experienced developer.</description><pubDate>Sat, 16 Nov 2019 00:00:00 GMT</pubDate></item><item><title>Access Background Services From ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/access-background-services-from-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/access-background-services-from-aspnet-core/</guid><description>Learn how to access a IHostedService instance from an ASP.NET Core HTTP Request.</description><pubDate>Thu, 29 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Add a Property to the Top-level Statements Program class</title><link>https://khalidabuhakmeh.com/posts/add-a-property-to-the-top-level-statements-program-class/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-a-property-to-the-top-level-statements-program-class/</guid><description>How to add a property to a top-level statement Program class</description><pubDate>Tue, 06 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Add Custom Database Functions For Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/add-custom-database-functions-for-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-custom-database-functions-for-entity-framework-core/</guid><description>Learn to integrate database functions into your Entity Framework Core DbContext to help increase app performance. The post includes code and sample.</description><pubDate>Thu, 09 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Add EF Core Migrations to .NET Aspire Solutions</title><link>https://khalidabuhakmeh.com/posts/add-ef-core-migrations-to-dotnet-aspire-solutions/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-ef-core-migrations-to-dotnet-aspire-solutions/</guid><description>Adding new EF Core migrations to a solution powered by .NET Aspire</description><pubDate>Tue, 08 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Add Headers To A Response In ASP.NET 5</title><link>https://khalidabuhakmeh.com/posts/add-headers-to-a-response-in-aspnet-5/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-headers-to-a-response-in-aspnet-5/</guid><description>Learn to add any HTTP header to an ASP.NET response. Helpful for building HTTP APIs. The post includes C# code samples.</description><pubDate>Tue, 20 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Add MS SQL Server JSON Support To Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/add-ms-sql-server-json-support-to-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-ms-sql-server-json-support-to-entity-framework-core/</guid><description>Adding JSON_VALUE and JSON_QUERY to an Entity Framework Core DbContext instance using MS SQL Server</description><pubDate>Tue, 11 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Add Svelte To ASP.NET Core Projects</title><link>https://khalidabuhakmeh.com/posts/add-svelte-to-aspnet-core-projects/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/add-svelte-to-aspnet-core-projects/</guid><description>Learn to integrate Svelte components into an existing ASP.NET Core web application in this step-by-step guide.</description><pubDate>Thu, 22 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Adding a Readme to NuGet Package Landing Pages</title><link>https://khalidabuhakmeh.com/posts/adding-a-readme-to-nuget-package-landing-pages/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/adding-a-readme-to-nuget-package-landing-pages/</guid><description>Using the PackageReadmeFile in PropertyGroup to show your readme on NuGet.org</description><pubDate>Tue, 04 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Adding Alt Text To Twitter Images Using C#</title><link>https://khalidabuhakmeh.com/posts/adding-alt-text-to-twitter-images-using-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/adding-alt-text-to-twitter-images-using-csharp/</guid><description>Using Twitter&apos;s V2 API to add alt text programmatically to tweeted images</description><pubDate>Tue, 12 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Adding Clarity To .NET Minimal Hosting APIs</title><link>https://khalidabuhakmeh.com/posts/adding-clarity-to-dotnet-minimal-hosting/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/adding-clarity-to-dotnet-minimal-hosting/</guid><description>Using deconstruction to add more clarity to .NET&apos;s minimal hosting apis.</description><pubDate>Tue, 11 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Adding Experimental HTTP Methods To ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/adding-experimental-http-methods-to-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/adding-experimental-http-methods-to-aspnet-core/</guid><description>Adding Experimental HTTP Methods to Minimal API endpoints and ASP.NET Core MVC</description><pubDate>Tue, 18 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Alpine.Js Polling ASP.NET Core APIs For Updates</title><link>https://khalidabuhakmeh.com/posts/alpinejs-polling-aspnet-core-apis-for-updates/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/alpinejs-polling-aspnet-core-apis-for-updates/</guid><description>Using Alpine.Js with JavaScript to poll an ASP.NET Core API endpoint</description><pubDate>Tue, 24 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Animate A Mic Drop With Xamarin.Forms</title><link>https://khalidabuhakmeh.com/posts/animate-a-mic-drop-with-xamarin-dot-forms/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/animate-a-mic-drop-with-xamarin-dot-forms/</guid><description>Learn to use Xamarin.Forms animation API to animate emojis. A great beginner&apos;s getting-started guide with .NET C# code sample. 🎤</description><pubDate>Tue, 15 Sep 2020 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Localization Jump Start</title><link>https://khalidabuhakmeh.com/posts/aspdotnet-core-localization-jump-start/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspdotnet-core-localization-jump-start/</guid><description>Learn to integrate localization into your ASP.NET Core applications to reach a broader web audience. It&apos;s called the WORLD WIDE WEB for a reason.</description><pubDate>Tue, 22 Sep 2020 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core 6 MVC Upgrade System.Text.Json Serialization Issues</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-6-mvc-upgrade-systemtextjson-serialization-issues/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-6-mvc-upgrade-systemtextjson-serialization-issues/</guid><description>Upgrading ASP.NET Core MVC apps can surface JSON serialization issues. Learn how to fix them.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core and Chunking HTTP Cookies</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-and-chunking-http-cookies/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-and-chunking-http-cookies/</guid><description>Using the ChunkingCookieManager to chunk HTTP Cookies in ASP.NET Core</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Display Description Tag Helper</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-display-description-tag-helper/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-display-description-tag-helper/</guid><description>An ASP.NET Core Tag Helper to Use the DisplayAttribute Description for HTML UI elements</description><pubDate>Tue, 20 Dec 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Interview Questions and Answers</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-interview-questions-and-answers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-interview-questions-and-answers/</guid><description>A set of hypothetical questions to ask during an ASP.NET Core developer position</description><pubDate>Tue, 19 Apr 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core IOptions Configuration</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-ioptions-configuration/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-ioptions-configuration/</guid><description>Learn how we can use the IOptions interface in an ASP.NET application to read from configuration files.</description><pubDate>Tue, 02 Feb 2021 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core JavaScript Collocated TagHelper</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-javascript-collocated-taghelper/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-javascript-collocated-taghelper/</guid><description>An asp.net core tag helper to reference collocated javascript files automatically</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Middleware Registration</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-middleware-registration/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-middleware-registration/</guid><description>Explore a new approach to registering middleware in your ASP.NET Core apps. Learn about the upsides and downsides of this unique method.</description><pubDate>Sat, 02 Nov 2019 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Minimal API Endpoint Filters</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-minimal-api-endpoint-filters/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-minimal-api-endpoint-filters/</guid><description>An introduction to IEndpointFilter for ASP.NET Core Minimal APIs</description><pubDate>Tue, 28 Jun 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core PDF Previews and Downloads</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-pdf-previews-and-downloads/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-pdf-previews-and-downloads/</guid><description>Tell me if you&apos;ve heard this one before. You spend months working with UI and UX experts, building what you think is the</description><pubDate>Tue, 21 Nov 2023 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core Placeholder Images with ImageSharp</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-placeholder-images-with-imagesharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-placeholder-images-with-imagesharp/</guid><description>Using SixLabors.ImageSharp.Web to create a placeholder service in ASP.NET Core</description><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core, SSR Web Components, and Enhance Wasm</title><link>https://khalidabuhakmeh.com/posts/aspnet-core-ssr-web-components-and-enhance-wasm/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-core-ssr-web-components-and-enhance-wasm/</guid><description>Using Enhance Wasm to bring server-side rendered web components to ASP.NET Core</description><pubDate>Tue, 14 May 2024 00:00:00 GMT</pubDate></item><item><title>ASP.NET Docker Gotchas and Workarounds</title><link>https://khalidabuhakmeh.com/posts/aspnet-docker-gotchas-and-workarounds/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/aspnet-docker-gotchas-and-workarounds/</guid><description>I&apos;ve recently been working with [Docker](https://docker.com) deployments to get my ASP.NET Core applications into the hands of more developers. The whole exp...</description><pubDate>Tue, 16 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Automate Your Blog With GitHub Actions</title><link>https://khalidabuhakmeh.com/posts/automate-your-blog-with-github-actions/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/automate-your-blog-with-github-actions/</guid><description>Use GitHub Actions to automate processes and timed tasks to add functionality to your static site generator and blog. Straightforward, fun, and powerful.</description><pubDate>Mon, 03 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Avoid C# 9 Record Gotchas</title><link>https://khalidabuhakmeh.com/posts/avoid-csharp-9-record-gotchas/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/avoid-csharp-9-record-gotchas/</guid><description>C# 9 brings with it Record types. Learn about the caveats when applying this type to your codebase to avoid any potential pitfalls. C# examples included.</description><pubDate>Tue, 22 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Azure Functions On macOS With JetBrains Rider</title><link>https://khalidabuhakmeh.com/posts/azure-functions-on-macos-with-jetbrains-rider/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/azure-functions-on-macos-with-jetbrains-rider/</guid><description>Find out how to run an Azure Emulator on macOS when developing using Azure Functions. Works whether you are using .NET, JavaScript, or other supported languages.</description><pubDate>Tue, 30 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Base64 Encoding With C#</title><link>https://khalidabuhakmeh.com/posts/base64-encoding-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/base64-encoding-with-csharp/</guid><description>Learn to encode and decode string values into their Base64 representations. Useful for API use cases. See how to use it with the Spotify API.</description><pubDate>Thu, 14 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Battling Spam In Your ASP.NET Core Applications with Akismet</title><link>https://khalidabuhakmeh.com/posts/battling-spam-in-your-aspnet-core-applications-with-akismet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/battling-spam-in-your-aspnet-core-applications-with-akismet/</guid><description>Utilizing Akismet in your ASP.NET Core applications can help reduce unsolicited and unwanted form spam. Follow this guide and reduce junk today.</description><pubDate>Sat, 04 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Using Bebop With A C# TCP Server</title><link>https://khalidabuhakmeh.com/posts/bebop-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/bebop-with-csharp/</guid><description>Learn to use efficient communication transport protocol Bebop in your .NET applications. Build a C# TCP server and client that communicate using Bebop.</description><pubDate>Thu, 11 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Being More Productive With The JetBrains Rider Debugger</title><link>https://khalidabuhakmeh.com/posts/being-more-productive-with-the-jetbrains-rider-debugger/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/being-more-productive-with-the-jetbrains-rider-debugger/</guid><description>The JetBrains Rider debugger is different yet powerful. Learn how to utilize its features to be the most productive developer you can be in this quick guide.</description><pubDate>Thu, 30 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Blackout Tuesday</title><link>https://khalidabuhakmeh.com/posts/blackout/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/blackout/</guid><description>Black Lives Matters. Donate at https://blacklivesmatter.com/</description><pubDate>Tue, 02 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Blazor and Cancelling Asynchronous Calls With CancellationTokenSource</title><link>https://khalidabuhakmeh.com/posts/blazor-and-cancelling-asynchronous-calls-with-cancellationtokensource/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/blazor-and-cancelling-asynchronous-calls-with-cancellationtokensource/</guid><description>Learn to cancel Tasks with CancellationTokenSource in Blazor apps.</description><pubDate>Tue, 20 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Blazor HTML Forms, Submitting, and Antiforgery Tokens</title><link>https://khalidabuhakmeh.com/posts/blazor-html-forms-submitting-and-antiforgery-tokens/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/blazor-html-forms-submitting-and-antiforgery-tokens/</guid><description>Understanding HTML forms in Blazor Server-side Rendering Scenarios</description><pubDate>Tue, 28 May 2024 00:00:00 GMT</pubDate></item><item><title>Blazor JavaScript Isolation, Modules, and Dynamic C#</title><link>https://khalidabuhakmeh.com/posts/blazor-javascript-isolation-modules-and-dynamic-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/blazor-javascript-isolation-modules-and-dynamic-csharp/</guid><description>Explore JavaScript module isolation using ASP.NET and Blazor. Learn to isolate JavaScript code to avoid module conflicts. C# and JS sample code included.</description><pubDate>Tue, 24 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Blazor&apos;s CSS isolation ::deep issue and solution</title><link>https://khalidabuhakmeh.com/posts/blazors-css-isolation-deep-issue-and-solution/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/blazors-css-isolation-deep-issue-and-solution/</guid><description>Fixing the ::deep pseudo-selector for Blazor CSS isolation</description><pubDate>Tue, 19 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Boost ASP.NET Core Performance with Static Content</title><link>https://khalidabuhakmeh.com/posts/boost-aspnet-core-performance-with-static-content/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/boost-aspnet-core-performance-with-static-content/</guid><description>Use a command-line tool to generate ASP.NET Core endpoints to static HTML files.</description><pubDate>Tue, 29 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Bridging The .NET Cross-Platform Divide With Docker</title><link>https://khalidabuhakmeh.com/posts/bridging-the-dotnet-cross-platform-divide-with-docker/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/bridging-the-dotnet-cross-platform-divide-with-docker/</guid><description>This post will explain the use of Docker containers to build a truly cross-platform development experience. Learn about databases, cloud emulators, and more.</description><pubDate>Fri, 20 Dec 2019 00:00:00 GMT</pubDate></item><item><title>Build A Giphy Search With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/build-a-giphy-search-with-aspnetcore/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/build-a-giphy-search-with-aspnetcore/</guid><description>Learn to use the GIPHY REST API to build an ASP.NET Razor pages application. The sample app will allow us to search for our favorite memes.</description><pubDate>Tue, 17 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Build .NET Search Experiences With Lunr-Core</title><link>https://khalidabuhakmeh.com/posts/build-dotnet-search-experiences-with-lunr-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/build-dotnet-search-experiences-with-lunr-core/</guid><description>Using Lunr and Lunr-Core to build search experiences for .NET apps</description><pubDate>Tue, 31 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Building A More Inclusive Microsoft Valuable Professional Program</title><link>https://khalidabuhakmeh.com/posts/building-a-more-inclusive-microsoft-valuable-professional-program/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/building-a-more-inclusive-microsoft-valuable-professional-program/</guid><description>The Microsoft Valuable Professional program is an opaque and befuddling awards process. This article proposes changes that could help grow the program in more inclusive ways.</description><pubDate>Mon, 20 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Building a Persistent Counter with Alpine.Js</title><link>https://khalidabuhakmeh.com/posts/building-a-persistent-counter-with-alpinejs/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/building-a-persistent-counter-with-alpinejs/</guid><description>Using the JavaScript library Alpine.Js to recreate the Blazor Counter example</description><pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Building HTML with C#</title><link>https://khalidabuhakmeh.com/posts/building-html-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/building-html-with-csharp/</guid><description>[Hypertext Markup Language][html] is the first programming language many of us learn. Like chess, it&apos;s easy to learn but can take a lifetime to master. Its d...</description><pubDate>Thu, 13 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Building Mono-Repositories With GitHub Actions</title><link>https://khalidabuhakmeh.com/posts/building-mono-repositories-with-github-actions/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/building-mono-repositories-with-github-actions/</guid><description>Building a monorepo with GitHub Actions build script.</description><pubDate>Thu, 01 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Bulk Import Records Into SQLite With C#</title><link>https://khalidabuhakmeh.com/posts/bulk-import-records-into-sqlite-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/bulk-import-records-into-sqlite-csharp/</guid><description>Importing millions of records into SQLIte as quickly as possible</description><pubDate>Tue, 19 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Calculate the Moon Phase With C#</title><link>https://khalidabuhakmeh.com/posts/calculate-moon-phase-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/calculate-moon-phase-with-csharp/</guid><description>Learn to use .NET to calculate the current phase of the moon. Given a hemisphere and a date, we can estimate and display the phase using emojis—all samples in C#</description><pubDate>Tue, 06 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Capitalize First Letter Of Words With C#</title><link>https://khalidabuhakmeh.com/posts/capitalize-first-letter-of-words-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/capitalize-first-letter-of-words-with-csharp/</guid><description>Learn to use C# and .NET&apos;s TextInfo and CultureInfo to capitalize words appropriately according to locale. Efficiently and effectively solve this vexing problem.</description><pubDate>Tue, 05 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Chain Actions, Funcs, and Predicates In .NET</title><link>https://khalidabuhakmeh.com/posts/chain-lambdas-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/chain-lambdas-in-dotnet/</guid><description>Learn this obscure behavior of C# Lambdas that allows developers to chain multiple calls together. A fun post for all .NET developers.</description><pubDate>Thu, 14 May 2020 00:00:00 GMT</pubDate></item><item><title>Change C# Record Comparison with Source Generators</title><link>https://khalidabuhakmeh.com/posts/change-csharp-record-comparison-with-source-generators/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/change-csharp-record-comparison-with-source-generators/</guid><description>Using Source Generators we can modify C# records&apos; value comparison</description><pubDate>Tue, 31 May 2022 00:00:00 GMT</pubDate></item><item><title>Checked and Unchecked Arithmetic Operations in .NET</title><link>https://khalidabuhakmeh.com/posts/checked-and-unchecked-arithmetic-operations-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/checked-and-unchecked-arithmetic-operations-in-dotnet/</guid><description>Avoiding OverflowException when using arithmetic operations</description><pubDate>Tue, 27 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Client-side Image Previews With JavaScript</title><link>https://khalidabuhakmeh.com/posts/client-side-image-previews-with-javascript/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/client-side-image-previews-with-javascript/</guid><description>Using FileReader to process an image client-side for a preview</description><pubDate>Tue, 05 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Coding The Road Runner Loop Meme</title><link>https://khalidabuhakmeh.com/posts/coding-the-road-runner-while-loop-meme/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/coding-the-road-runner-while-loop-meme/</guid><description>Using C#, we code the road runner meme in a bright and colorful console app—a great post for beginners just learning C#.</description><pubDate>Tue, 17 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Combining 11ty Static Site Generator with ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/combining-11ty-static-site-generator-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/combining-11ty-static-site-generator-with-aspnet-core/</guid><description>Combining 11ty Static Site Generator with ASP.NET Core for maximum awesomeness.</description><pubDate>Tue, 21 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Common Files In A .NET Solution</title><link>https://khalidabuhakmeh.com/posts/common-files-dotnet-solution/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/common-files-dotnet-solution/</guid><description>Learn about the most common files you might encounter in a .NET solution and what they mean.</description><pubDate>Thu, 04 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Common Use Cases For .NET Reflection</title><link>https://khalidabuhakmeh.com/posts/common-usecases-for-dotnet-reflection/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/common-usecases-for-dotnet-reflection/</guid><description>Explore common usages for .NET reflection and when and where to use this essential feature set. Includes accessing private fields, invoking methods, and more.</description><pubDate>Tue, 08 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Community Question: Working With Data In An HTTP API</title><link>https://khalidabuhakmeh.com/posts/community-question-working-with-data-in-an-http-api/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/community-question-working-with-data-in-an-http-api/</guid><description>Explore a proposed solution to a Reddit community question with working examples and benchmarks. A fun experiment with multiple outcomes.</description><pubDate>Thu, 11 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Compress Strings With .NET and C#</title><link>https://khalidabuhakmeh.com/posts/compress-strings-with-dotnet-and-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/compress-strings-with-dotnet-and-csharp/</guid><description>Use Brotli and Gzip compression in .NET to reduce string sizes.</description><pubDate>Tue, 28 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Conditionally Apply LINQ Clauses</title><link>https://khalidabuhakmeh.com/posts/conditionally-apply-linq-clauses/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/conditionally-apply-linq-clauses/</guid><description>Learn this technique, which will help you apply LINQ filters based on a boolean condition. The C# extension works with Entity Framework and more.</description><pubDate>Thu, 07 May 2020 00:00:00 GMT</pubDate></item><item><title>Confirmation Dialogs with Htmx and SweetAlert</title><link>https://khalidabuhakmeh.com/posts/confirmation-dialogs-with-htmx-and-sweetalert/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/confirmation-dialogs-with-htmx-and-sweetalert/</guid><description>Using the SweetAlert library to show a nicer confirmation dialog when using Htmx</description><pubDate>Tue, 20 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Consuming .NET WebAssembly From JavaScript in the Browser</title><link>https://khalidabuhakmeh.com/posts/consuming-dotnet-webassembly-from-javascript-in-the-browser/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/consuming-dotnet-webassembly-from-javascript-in-the-browser/</guid><description>Showing how to load a .NET WASM file in a browser host and using the functionality from JavaScript</description><pubDate>Tue, 06 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Consuming SOAP APIs In .NET Core</title><link>https://khalidabuhakmeh.com/posts/consuming-soap-apis-in-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/consuming-soap-apis-in-dotnet-core/</guid><description>Learn to connect to legacy protocol SOAP using modern .NET Core and C#. It is easier than you think it is, and there&apos;s code to prove it.</description><pubDate>Thu, 26 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Contribute To The Top 10 Impactful .NET OSS Projects 2020</title><link>https://khalidabuhakmeh.com/posts/contribute-top-ten-impactful-dotnet-oss-2020/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/contribute-top-ten-impactful-dotnet-oss-2020/</guid><description>Find out which .NET open source projects are making a significant impact in 2020 on the community and how you can help contribute to all these fantastic projects.</description><pubDate>Tue, 23 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Convert A C# Object To Almost Any Format</title><link>https://khalidabuhakmeh.com/posts/convert-a-csharp-object-to-almost-any-format/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/convert-a-csharp-object-to-almost-any-format/</guid><description>Learn to convert your C# objects to JSON, XML, YAML, CSV, and TOML. It&apos;s easier than you think, and it opens up a world of possibilities.</description><pubDate>Sat, 05 Oct 2019 00:00:00 GMT</pubDate></item><item><title>Create a Twitter Share Liquid Tag For Jekyll</title><link>https://khalidabuhakmeh.com/posts/create-a-twitter-share-liquid-tag-for-jekyll/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/create-a-twitter-share-liquid-tag-for-jekyll/</guid><description>One of the benefits of using a static site generator is the infinite room for customization. The burden of using a static site generator is the endless room ...</description><pubDate>Tue, 07 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Create A Zip File Using .NET</title><link>https://khalidabuhakmeh.com/posts/create-a-zip-file-using-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/create-a-zip-file-using-dotnet/</guid><description>Create a ZIP file with .NET and C# with working examples.</description><pubDate>Tue, 16 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Create Context-based Programming Models with .NET 6</title><link>https://khalidabuhakmeh.com/posts/create-context-based-programming-models-with-dotnet-6/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/create-context-based-programming-models-with-dotnet-6/</guid><description>Use top-level statements, global usings, program type, and source generators to create context-based programming models.</description><pubDate>Tue, 04 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Create .NET Objects without Calling The Constructor</title><link>https://khalidabuhakmeh.com/posts/create-dotnet-objects-without-calling-the-constructor/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/create-dotnet-objects-without-calling-the-constructor/</guid><description>Use System.Runtime.CompilerServices to create an object instance without calling the constructor</description><pubDate>Tue, 26 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Creating Frictionless Projects For Contributors</title><link>https://khalidabuhakmeh.com/posts/creating-frictionless-projects-for-contributors/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/creating-frictionless-projects-for-contributors/</guid><description>Help .NET development teams plan solutions that help make team members more productive and happy. Follow these guidelines to optimize your chances for success.</description><pubDate>Tue, 14 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Creating Random Numbers With .NET Core</title><link>https://khalidabuhakmeh.com/posts/creating-random-numbers-with-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/creating-random-numbers-with-dotnet-core/</guid><description>Use .NET Core to generate both quick and cryptographically random numbers. The approach works in both C# and F# and across all versions of .NET Core.</description><pubDate>Fri, 25 Oct 2019 00:00:00 GMT</pubDate></item><item><title>C# 9 Covariant Return Types</title><link>https://khalidabuhakmeh.com/posts/csharp-9-covariant-return-types/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/csharp-9-covariant-return-types/</guid><description>Explore the differences between covariance and covariant in C# 9. We&apos;ll try and understand these concepts together in this detailed post.</description><pubDate>Thu, 17 Dec 2020 00:00:00 GMT</pubDate></item><item><title>C# Converting Bytes To Kilobytes and Beyond</title><link>https://khalidabuhakmeh.com/posts/csharp-converting-bytes-to-kb-mb-gb-and-tb/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/csharp-converting-bytes-to-kb-mb-gb-and-tb/</guid><description>Using System.Math to convert bytes to kilobytes, megabytes, gigabytes, and terabytes.</description><pubDate>Tue, 02 Aug 2022 00:00:00 GMT</pubDate></item><item><title>C# Pattern Matching Quick Guide And Examples</title><link>https://khalidabuhakmeh.com/posts/csharp-pattern-matching-quick-guide-and-examples/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/csharp-pattern-matching-quick-guide-and-examples/</guid><description>With each new release of C#, **pattern matching** improves for C# developers. While developers do not widely use pattern matching today, we&apos;ll likely see its...</description><pubDate>Tue, 15 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Use C# Preprocessor Directives</title><link>https://khalidabuhakmeh.com/posts/csharp-preprocessor-directives/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/csharp-preprocessor-directives/</guid><description>Learn to use .NET preprocessor directives in your C# apps to enable and disable specific code branches during compilation. Helpful when targetting multiple platforms.</description><pubDate>Thu, 06 Aug 2020 00:00:00 GMT</pubDate></item><item><title>C# Records, the With Keyword, and Reference Types</title><link>https://khalidabuhakmeh.com/posts/csharp-records-the-with-keyword-and-reference-types/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/csharp-records-the-with-keyword-and-reference-types/</guid><description>reference types on records can cause some strange bugs. Learn to avoid them in this post.</description><pubDate>Tue, 18 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Cursor Paging With Entity Framework Core and ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/cursor-paging-with-entity-framework-core-and-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/cursor-paging-with-entity-framework-core-and-aspnet-core/</guid><description>Use a cursor-based approach to page EF Core results from a SQL database</description><pubDate>Tue, 12 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Customize The Authorization Pipeline In ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/customize-the-authorization-pipeline-in-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/customize-the-authorization-pipeline-in-aspnet-core/</guid><description>Using implementations of IAuthorizationHandler, IAuthorizationMiddlewareResultHandler, and more to customize the aspnetcore authorization pipeline</description><pubDate>Tue, 06 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Decrypt Secrets Into ASP.NET Core MVC Action Arguments Using Action Filters</title><link>https://khalidabuhakmeh.com/posts/decrypt-secrets-into-aspnet-core-mvc-action-arguments-using-action-filters/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/decrypt-secrets-into-aspnet-core-mvc-action-arguments-using-action-filters/</guid><description>Mapping decrypted secrets from a query string into action method parameters using action filters.</description><pubDate>Tue, 06 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Dependency Injection with Avalonia UI Apps</title><link>https://khalidabuhakmeh.com/posts/dependency-injection-with-avalonia-ui-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dependency-injection-with-avalonia-ui-apps/</guid><description>Using dependency injection in your .NET Avalonia UI application</description><pubDate>Tue, 11 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Deserialize Mastodon User XML RSS feeds with .NET</title><link>https://khalidabuhakmeh.com/posts/deserialize-mastodon-user-xml-rss-feed/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/deserialize-mastodon-user-xml-rss-feed/</guid><description>Using XmlSerializer you can deserialize a Mastodon user&apos;s rss feed. C# classes are provided in this post.</description><pubDate>Tue, 10 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Diagnosing Memory Leaks in Azure App Services with PerfView</title><link>https://khalidabuhakmeh.com/posts/diagnosing-memory-leaks-in-azure-app-services-with-perfview/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/diagnosing-memory-leaks-in-azure-app-services-with-perfview/</guid><description>Nasty memory leaks can cost you time and money, especially in the cloud. Learn how to diagnose memory issues in Windows Azure using Perfview and memory dumps.</description><pubDate>Sun, 27 Jan 2019 00:00:00 GMT</pubDate></item><item><title>DOM Parsing, Query Selectors, and JavaScript with AngleSharp</title><link>https://khalidabuhakmeh.com/posts/dom-parsing-query-selectors-and-javascript-with-anglesharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dom-parsing-query-selectors-and-javascript-with-anglesharp/</guid><description>We use AngleSharp to investigate HTML, use query selectors to find DOM elements, and execute JavaScript, all from .NET and C#. Code samples included.</description><pubDate>Tue, 29 Dec 2020 00:00:00 GMT</pubDate></item><item><title>.NET 5 Source Generators Jump Start</title><link>https://khalidabuhakmeh.com/posts/dotnet-5-source-generators-jump-start/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-5-source-generators-jump-start/</guid><description>Get started with .NET 5&apos;s source generators. Included in this post are the steps necessary to get them working with a solution, along with JetBrains Rider.</description><pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate></item><item><title>.NET 8 Interceptors</title><link>https://khalidabuhakmeh.com/posts/dotnet-8-interceptors/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-8-interceptors/</guid><description>.NET 8 preview 6 introduces a preview feature of interceptors</description><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 TimeProvider and Unit Tests</title><link>https://khalidabuhakmeh.com/posts/dotnet-8-timeprovider-and-unit-tests/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-8-timeprovider-and-unit-tests/</guid><description>Using dotnet 8 TimeProvider and FakeTimeProvider to test existing date and time based code.</description><pubDate>Tue, 25 Jul 2023 00:00:00 GMT</pubDate></item><item><title>.NET Class Diagrams In JetBrains Rider with PlantUML</title><link>https://khalidabuhakmeh.com/posts/dotnet-class-diagrams-in-jetbrains-rider-with-plantuml/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-class-diagrams-in-jetbrains-rider-with-plantuml/</guid><description>How to use .NET CLI Tools with JetBrains Rider and PlantUML to create C# Class Diagrams</description><pubDate>Tue, 04 Oct 2022 00:00:00 GMT</pubDate></item><item><title>.NET Core 3.0 AllowSynchronousIO Workaround</title><link>https://khalidabuhakmeh.com/posts/dotnet-core-3-dot-0-allowsynchronousio-workaround/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-core-3-dot-0-allowsynchronousio-workaround/</guid><description>Some libraries for ASP.NET Core are yet to embrace an async approach. Learn how to opt into synchronous code execution for legacy dependencies.</description><pubDate>Tue, 28 Jan 2020 00:00:00 GMT</pubDate></item><item><title>.NET Core Tab Completion With Zsh</title><link>https://khalidabuhakmeh.com/posts/dotnet-core-tab-completion-with-zsh/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-core-tab-completion-with-zsh/</guid><description>Users of Zsh will learn how to enable tab completion for the .NET CLI.</description><pubDate>Thu, 23 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Writing .NET Database Integration Tests</title><link>https://khalidabuhakmeh.com/posts/dotnet-database-integration-tests/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-database-integration-tests/</guid><description>Learn the best way to test your database-driven applications using integration testing. See how easy it is to test SQL using .NET and XUnit.</description><pubDate>Tue, 31 Mar 2020 00:00:00 GMT</pubDate></item><item><title>.NET Debugger.Launch for macOS and Linux</title><link>https://khalidabuhakmeh.com/posts/dotnet-debugger-launch-for-macos-and-linux/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-debugger-launch-for-macos-and-linux/</guid><description>An alternative to Debugger.Launch for macOS and Linux .NET apps</description><pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate></item><item><title>.NET MAUI App Stopped Working -- HELP!</title><link>https://khalidabuhakmeh.com/posts/dotnet-maui-app-stopped-working-help/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-maui-app-stopped-working-help/</guid><description>Troubleshooting tips for .NET MAUI development</description><pubDate>Tue, 28 Mar 2023 00:00:00 GMT</pubDate></item><item><title>.NET MAUI Development Environment Set Up Walkthrough</title><link>https://khalidabuhakmeh.com/posts/dotnet-maui-development-environment-set-up-walkthrough/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-maui-development-environment-set-up-walkthrough/</guid><description>Walking through the setup of a new .NET MAUI development environment for macOS</description><pubDate>Tue, 21 Mar 2023 00:00:00 GMT</pubDate></item><item><title>.NET One-line Scoped Initializers with Dependency Injection</title><link>https://khalidabuhakmeh.com/posts/dotnet-one-line-scoped-initializers-with-dependency-injection/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-one-line-scoped-initializers-with-dependency-injection/</guid><description>An extension method for IServiceProvider to do one-line initialization for ASP.NET Core and .NET apps</description><pubDate>Tue, 13 Sep 2022 00:00:00 GMT</pubDate></item><item><title>.NET OSS Docs With MarkdownSnippets</title><link>https://khalidabuhakmeh.com/posts/dotnet-oss-docs-with-markdownsnippets/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-oss-docs-with-markdownsnippets/</guid><description>Learn to use MarkdownSnippets to generate .NET documentation from existing code. The most straightforward approach to building documentation with a build pipeline.</description><pubDate>Tue, 15 Dec 2020 00:00:00 GMT</pubDate></item><item><title>.NET Source Generators: Finding Class Declarations</title><link>https://khalidabuhakmeh.com/posts/dotnet-source-generators-finding-class-declarations/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-source-generators-finding-class-declarations/</guid><description>Use ISyntaxReceiver to find class declarations in a Roslyn Compilation instance.</description><pubDate>Tue, 03 Aug 2021 00:00:00 GMT</pubDate></item><item><title>.NET Tasks, List&apos;s ForEach, and Problems</title><link>https://khalidabuhakmeh.com/posts/dotnet-tasks-lists-foreach-and-problems/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-tasks-lists-foreach-and-problems/</guid><description>Using List.ForEach can cause issues when paired with async/await</description><pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate></item><item><title>.NET Watch Launch Setting Profile For ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/dotnet-watch-launchsetting-for-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dotnet-watch-launchsetting-for-aspnet-core/</guid><description>A launch settings profile for dotnet-watch useable everywhere</description><pubDate>Tue, 25 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Dumb Developer Tricks - Fizz Buzz with C# 12 and Polly</title><link>https://khalidabuhakmeh.com/posts/dumb-developer-tricks-fizz-buzz-with-csharp-12-and-polly/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dumb-developer-tricks-fizz-buzz-with-csharp-12-and-polly/</guid><description>Using .NET C# 12 and Polly to solve the famous Fizz Buzz coding problem</description><pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Dynamic Htmx Islands with ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/dynamic-htmx-islands-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/dynamic-htmx-islands-with-aspnet-core/</guid><description>Using TagHelpers to create an Htmx-powered Islands implementation for ASP.NET Core</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core and ASP.NET Core Cycle Issue and Solution</title><link>https://khalidabuhakmeh.com/posts/ef-core-and-aspnet-core-cycle-issue-and-solution/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/ef-core-and-aspnet-core-cycle-issue-and-solution/</guid><description>Learn to avoid a cyclical serialization issue that developers will commonly experience when attempting to return an EF Core entity in an ASP.NET response.</description><pubDate>Tue, 09 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Analyzing U.S. Phone Numbers In Elasticsearch</title><link>https://khalidabuhakmeh.com/posts/elasticsearch-indexing-of-us-phone-numbers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/elasticsearch-indexing-of-us-phone-numbers/</guid><description>Working with Elasticsearch and United States phone numbers can be tricky. Learn how to write analyzers that give users the best search results every time.</description><pubDate>Sat, 23 Sep 2017 00:00:00 GMT</pubDate></item><item><title>End-to-End Tests With ASP.NET Core, XUnit, and Playwright</title><link>https://khalidabuhakmeh.com/posts/end-to-end-test-with-aspnet-core-xunit-and-playwright/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/end-to-end-test-with-aspnet-core-xunit-and-playwright/</guid><description>Write end-to-end tests for ASP.NET Core apps using XUnit and Playwright</description><pubDate>Tue, 24 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Endpoint Debugging in ASP.NET Core 3 Applications</title><link>https://khalidabuhakmeh.com/posts/endpoint-debugging-in-asp-dot-net-core-3-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/endpoint-debugging-in-asp-dot-net-core-3-applications/</guid><description>Use this Razor Pages technique to display all registered endpoints in your ASP.NET Core application. No more guessing if that endpoint is reachable or not.</description><pubDate>Sun, 12 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Enhance ASP.NET Projects With JetBrains Annotations</title><link>https://khalidabuhakmeh.com/posts/enhance-aspdotnet-projects-with-jetbrains-annotations/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/enhance-aspdotnet-projects-with-jetbrains-annotations/</guid><description>Learn to use JetBrains Annotations in your codebase to enhance your ReSharper and Rider experiences. You&apos;ll be amazed at how much your developer experience can improve.</description><pubDate>Thu, 28 May 2020 00:00:00 GMT</pubDate></item><item><title>Enrich HTML With ASP.NET Razor TagHelpers</title><link>https://khalidabuhakmeh.com/posts/enrich-html-aspnet-razor-taghelpers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/enrich-html-aspnet-razor-taghelpers/</guid><description>Learn to use ASP.NET Razor tag helpers to add dynamic HTML at compile time. This approach can cut down on tedious HTML work in favor of a conventional one. C# included.</description><pubDate>Thu, 08 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Entity Framework 6 Multiple Result Sets with Stored Procedures</title><link>https://khalidabuhakmeh.com/posts/entity-framework-6-multiple-result-sets-with-stored-procedures/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-6-multiple-result-sets-with-stored-procedures/</guid><description>Working with Entity Framework 6, stored procedures, and result sets can dramatically improve your application&apos;s performance. Learn how in this post.</description><pubDate>Fri, 23 Oct 2015 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core 5 Interceptors</title><link>https://khalidabuhakmeh.com/posts/entity-framework-core-5-interceptors/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-core-5-interceptors/</guid><description>Learn to use Entity Framework Core 5 interceptors to inspect and alter the behavior of LINQ queries. Useful for logging scenarios. C# code included.</description><pubDate>Thu, 07 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core 5 Value Converters</title><link>https://khalidabuhakmeh.com/posts/entity-framework-core-5-value-converters/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-core-5-value-converters/</guid><description>Explore Entity Framework Core 5 value converters and how they can allow for complex types to be used as part of a DbContext definition. It can also increase the performance of queries.</description><pubDate>Thu, 25 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core 7: Filtering on JSON Arrays</title><link>https://khalidabuhakmeh.com/posts/entity-framework-core-7-filtering-on-json-arrays/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-core-7-filtering-on-json-arrays/</guid><description>JSON support in Entity Framework Core and filtering on JSON collections in Microsoft SQL Server</description><pubDate>Tue, 06 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core ConnectionStrings For .NET Apps</title><link>https://khalidabuhakmeh.com/posts/entity-framework-core-connectionstrings-for-dotnet-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-core-connectionstrings-for-dotnet-apps/</guid><description>How to configure some of the most popular database providers with Entity Framework Core.</description><pubDate>Tue, 05 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Entity Framework Core Conversions for Logical Domain Types</title><link>https://khalidabuhakmeh.com/posts/entity-framework-core-conversions-for-logical-domain-types/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/entity-framework-core-conversions-for-logical-domain-types/</guid><description>Using .NET EF Core Converters to map logical domain types to database columns</description><pubDate>Tue, 13 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Event Queues and Buffering Functions with JavaScript</title><link>https://khalidabuhakmeh.com/posts/event-queues-and-buffering-functions-with-javascript/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/event-queues-and-buffering-functions-with-javascript/</guid><description>Using JavaScript, an event queue that executes functions on a timed interval</description><pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate></item><item><title>ExceptionDispatchInfo And Capturing Exceptions</title><link>https://khalidabuhakmeh.com/posts/exceptiondispatchinfo-and-capturing-exceptions/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/exceptiondispatchinfo-and-capturing-exceptions/</guid><description>Learn to use the ExceptionDispatchInfo class to hold exceptions and then throw them at a later time. Useful for scenarios where devs want to run clean up before crashing.</description><pubDate>Tue, 10 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Faster .NET Database Integration Tests with Respawn and xUnit</title><link>https://khalidabuhakmeh.com/posts/faster-dotnet-database-integration-tests-with-respawn-and-xunit/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/faster-dotnet-database-integration-tests-with-respawn-and-xunit/</guid><description>How to speed up database integration tests using Respawn and xUnit class fixtures</description><pubDate>Tue, 26 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Fibonacci Sequences with Kotlin, C#, and F#</title><link>https://khalidabuhakmeh.com/posts/fibonacci-sequences-with-kotlin-csharp-and-fsharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fibonacci-sequences-with-kotlin-csharp-and-fsharp/</guid><description>Using different programming languages like C#, F#, and Kotlin to generate the Fibonacci sequence</description><pubDate>Tue, 29 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Find Prime Numbers With C# 9</title><link>https://khalidabuhakmeh.com/posts/find-prime-numbers-with-csharp-9/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/find-prime-numbers-with-csharp-9/</guid><description>A fun beginner tutorial that even experts can enjoy. Learn to find Prime numbers using C#.</description><pubDate>Thu, 21 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Find The Next Number In A Sequence With C#</title><link>https://khalidabuhakmeh.com/posts/find-the-next-number-in-a-sequence-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/find-the-next-number-in-a-sequence-with-csharp/</guid><description>Using C# and a bit of logic, we can find the next number in any given sequence. Useful for generating a collection of data for your .NET apps.</description><pubDate>Tue, 19 May 2020 00:00:00 GMT</pubDate></item><item><title>Five Critical Things To Do Before Working With 11ty</title><link>https://khalidabuhakmeh.com/posts/five-critical-things-before-working-with-11ty/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/five-critical-things-before-working-with-11ty/</guid><description>Five pieces of knowledge I wish I knew before working with 11ty, the JavaScript-based static site generator. Get a jump start using this fantastic tool.</description><pubDate>Thu, 02 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Five of the Most Common Kinds of NuGet Packages</title><link>https://khalidabuhakmeh.com/posts/five-of-the-most-common-kinds-of-nuget-packages/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/five-of-the-most-common-kinds-of-nuget-packages/</guid><description>Looking through NuGet.org, these are the most common kinds of packages</description><pubDate>Tue, 21 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Fix Blurry Ubuntu Display In A Parallels Virtual Machine</title><link>https://khalidabuhakmeh.com/posts/fix-blurry-ubuntu-display-parallels-vm/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-blurry-ubuntu-display-parallels-vm/</guid><description>Having the wrong settings can make Ubuntu Linux seem blurry in a Parallels VM. Learn how to fix that in this guide.</description><pubDate>Tue, 13 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Fix .NET Dependencies With Monkey Patching</title><link>https://khalidabuhakmeh.com/posts/fix-dotnet-dependencies-with-monkey-patching/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-dotnet-dependencies-with-monkey-patching/</guid><description>Learn about monkey patching in .NET and how we can use it to address issues in third-party dependencies. An added benefit is reducing the tension between OSS consumers and maintainers.</description><pubDate>Thu, 18 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Fix .NET ICU Build Issues In GitHub Actions</title><link>https://khalidabuhakmeh.com/posts/fix-dotnet-icu-build-issues-in-github-actions/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-dotnet-icu-build-issues-in-github-actions/</guid><description>Learn three ways to fix .NET build failures in GitHub Actions workflows</description><pubDate>Tue, 20 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Fix .NET MAUI MissingEntitlement and Provisioning Profiles Issues</title><link>https://khalidabuhakmeh.com/posts/fix-dotnet-maui-missingentitlement-and-provisioning-profiles-issues/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-dotnet-maui-missingentitlement-and-provisioning-profiles-issues/</guid><description>Fix an issue deploying iOS apps to iOS simulator with .NET MAUI</description><pubDate>Tue, 30 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Fix Missing OpenAPI Elements From ASP.NET Core Minimal API Apps</title><link>https://khalidabuhakmeh.com/posts/fix-missing-openapi-elements-from-aspnet-core-minimal-api-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-missing-openapi-elements-from-aspnet-core-minimal-api-apps/</guid><description>When OpenAPI definitions for Minimal API endpoints disappear, this is likely the problem.</description><pubDate>Tue, 21 May 2024 00:00:00 GMT</pubDate></item><item><title>Fix Unable To Resolve DbContextOptions For EF Core</title><link>https://khalidabuhakmeh.com/posts/fix-unable-to-resolve-dbcontextoptions-for-ef-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fix-unable-to-resolve-dbcontextoptions-for-ef-core/</guid><description>Create and apply EF Core migrations from a .NET Class library</description><pubDate>Tue, 23 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Flatten Strings with Regex.Replace</title><link>https://khalidabuhakmeh.com/posts/flatten-strings-with-regex-replace/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/flatten-strings-with-regex-replace/</guid><description>Learn to flatten strings using Regex and remove tabs, spaces, and return carriages from .NET string instances. Code included in the post.</description><pubDate>Tue, 19 Jan 2021 00:00:00 GMT</pubDate></item><item><title>FormattableStringFactory and Formats</title><link>https://khalidabuhakmeh.com/posts/formattablestringfactory-and-formats/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/formattablestringfactory-and-formats/</guid><description>Explore how to format strings in .NET and C# with FormattableStringFactory. String interpolation uses this type, and so can you.</description><pubDate>Tue, 27 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Fun: Leaderboard Output Using C# Pattern Matching</title><link>https://khalidabuhakmeh.com/posts/fun-leaderboard-output-using-csharp-pattern-matching/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fun-leaderboard-output-using-csharp-pattern-matching/</guid><description>Using C# Pattern Matching To Translate integers into human-readable position display values.</description><pubDate>Tue, 07 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Fun With Custom Interpolated String Handlers</title><link>https://khalidabuhakmeh.com/posts/fun-with-custom-interpolated-string-handlers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/fun-with-custom-interpolated-string-handlers/</guid><description>Using C# and .NET InterpolatedStringHandler to write custom string interpolation handlers.</description><pubDate>Tue, 09 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Generate ASP.NET Core OpenAPI Spec At Build Time</title><link>https://khalidabuhakmeh.com/posts/generate-aspnet-core-openapi-spec-at-build-time/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-aspnet-core-openapi-spec-at-build-time/</guid><description>Use Swashbuckle CLI to statically generate OpenAPI Specifications at build time</description><pubDate>Tue, 26 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Generate Links To ASP.NET Core Map Endpoints</title><link>https://khalidabuhakmeh.com/posts/generate-links-to-aspnet-core-map-endpoints/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-links-to-aspnet-core-map-endpoints/</guid><description>How to generate links using LinkGenerator within ASP.NET Core&apos;s Map endpoints.</description><pubDate>Tue, 13 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Generate Outputs with Razor Engine in .NET Core</title><link>https://khalidabuhakmeh.com/posts/generate-outputs-with-razor-engine-in-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-outputs-with-razor-engine-in-dotnet-core/</guid><description>Use the .NET Razor View Engine to generate output whether you&apos;re using ASP.NET or not. Works from console apps, background services, and web APIs.</description><pubDate>Tue, 10 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Generate QR Codes With C#</title><link>https://khalidabuhakmeh.com/posts/generate-qr-codes-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-qr-codes-csharp/</guid><description>Explore programmatically generating QR codes with C# and .NET for use in xamarin.forms mobile apps and ASP.NET web applications. C# example code included.</description><pubDate>Thu, 29 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Generate Sitemaps for All of ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/generate-sitemaps-for-all-of-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-sitemaps-for-all-of-aspnet-core/</guid><description>Generate sitemaps for all programming paradigms found in ASP.NET Core</description><pubDate>Tue, 01 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Generate YouTube Timestamp Links with C# 11</title><link>https://khalidabuhakmeh.com/posts/generate-youtube-timestamp-links-with-csharp-11/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generate-youtube-timestamp-links-with-csharp-11/</guid><description>Using C# 11 features to generate YouTube timestamp links</description><pubDate>Tue, 27 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Generating Bogus HTTP Endpoints with ASP.NET Core Minimal APIs</title><link>https://khalidabuhakmeh.com/posts/generating-bogus-http-endpoints-with-aspnet-core-minimal-apis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generating-bogus-http-endpoints-with-aspnet-core-minimal-apis/</guid><description>Using NuGet Packages like AutoBogus with ASP.NET Core to build prototyping HTTP APIs. Skip the boilerplate.</description><pubDate>Tue, 14 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Generic C# Methods with Enum Constraints for .NET</title><link>https://khalidabuhakmeh.com/posts/generic-csharp-methods-with-enum-constraints-for-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/generic-csharp-methods-with-enum-constraints-for-dotnet/</guid><description>Using generic constraints when the argument is an enum in C# and .NET</description><pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Get A Property Name From a .NET Lambda Expression</title><link>https://khalidabuhakmeh.com/posts/get-a-property-name-from-a-dotnet-lambda-expression/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/get-a-property-name-from-a-dotnet-lambda-expression/</guid><description>Learn how to use .NET lambda expressions to retrieve a PropertyInfo and property name.</description><pubDate>Tue, 17 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Get C# Metadata From a Call Site</title><link>https://khalidabuhakmeh.com/posts/get-csharp-metadata-from-a-callsite/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/get-csharp-metadata-from-a-callsite/</guid><description>Using Caller Attributes to get information about callsite</description><pubDate>Tue, 18 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Get Tweet Engagements Using .NET and C#</title><link>https://khalidabuhakmeh.com/posts/get-tweet-engagements-using-dotnet-and-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/get-tweet-engagements-using-dotnet-and-csharp/</guid><description>Using Linq to Twitter to retrieve all engagements (likes, retweets) from a tweet</description><pubDate>Tue, 24 May 2022 00:00:00 GMT</pubDate></item><item><title>Using LINQ and Getting Chunky With .NET</title><link>https://khalidabuhakmeh.com/posts/getting-chunky-with-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/getting-chunky-with-dotnet/</guid><description>Use .NET System.Linq and Chunk to create a Chunks collection for data loading processes</description><pubDate>Tue, 16 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Getting Started with EF Core, PostgreSQL, and TimescaleDB</title><link>https://khalidabuhakmeh.com/posts/getting-started-with-ef-core-postgresql-and-timescaledb/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/getting-started-with-ef-core-postgresql-and-timescaledb/</guid><description>Integrating EF Core with a PostgreSQL database and TimescaleDB in a .NET project</description><pubDate>Tue, 20 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Getting Started With .NET Localization</title><link>https://khalidabuhakmeh.com/posts/getting-started-with-net-localization/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/getting-started-with-net-localization/</guid><description>Find a new audience for your .NET applications by learning to localize your user interface. Learn what it takes, and be surprised how easy it is to achieve.</description><pubDate>Tue, 24 Mar 2020 00:00:00 GMT</pubDate></item><item><title>GIFs in Console Output Using ImageSharp and Spectre.Console</title><link>https://khalidabuhakmeh.com/posts/gifs-in-console-output-imagesharp-and-spectreconsole/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/gifs-in-console-output-imagesharp-and-spectreconsole/</guid><description>Rendering GIFs to console output using .NET OSS and C#</description><pubDate>Tue, 09 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Add GitHub OpenID Auth For ASP.NET Core Apps</title><link>https://khalidabuhakmeh.com/posts/github-openid-auth-aspnet-core-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/github-openid-auth-aspnet-core-apps/</guid><description>Add GitHub OpenID Connect Auth for an ASP.NET Core application</description><pubDate>Tue, 02 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Global Endpoint Filters with ASP.NET Core Minimal APIs</title><link>https://khalidabuhakmeh.com/posts/global-endpoint-filters-with-aspnet-core-minimal-apis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/global-endpoint-filters-with-aspnet-core-minimal-apis/</guid><description>Minimal API endpoint filters for ALL the Minimal API endpoints</description><pubDate>Tue, 24 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Great App Search Checklist</title><link>https://khalidabuhakmeh.com/posts/great-app-search-checklist/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/great-app-search-checklist/</guid><description>Are you thinking about adding search to your app? Start here and get a comprehensive list of ideas and considerations before you start to write code.</description><pubDate>Sun, 22 Sep 2019 00:00:00 GMT</pubDate></item><item><title>Great .NET Documentation with Astro, Starlight, and MarkdownSnippets</title><link>https://khalidabuhakmeh.com/posts/great-dotnet-documentation-with-astro-starlight-and-markdownsnippets/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/great-dotnet-documentation-with-astro-starlight-and-markdownsnippets/</guid><description>Using Starlight powered by Astro to write great .NET Documentation</description><pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate></item><item><title>A Guide To Making An Open Source Project Your Primary Income</title><link>https://khalidabuhakmeh.com/posts/guide-open-source-primary-income/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/guide-open-source-primary-income/</guid><description>Make your open source project your primary source of income by following these guidelines. It won&apos;t be easy, but it might help you achieve your dreams.</description><pubDate>Tue, 04 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Handle HTTP Status Codes With Razor Pages</title><link>https://khalidabuhakmeh.com/posts/handle-http-status-codes-with-razor-pages/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/handle-http-status-codes-with-razor-pages/</guid><description>Learn to return HTTP status codes from your ASP.NET Razor Pages applications. Proper semantics can help crawlers find their way around your app.</description><pubDate>Tue, 04 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Handle Exceptions With ASP.NET Core ExceptionHandlerMiddleware</title><link>https://khalidabuhakmeh.com/posts/handling-aspnet-core-exceptions-with-exceptionhandler-middleware/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/handling-aspnet-core-exceptions-with-exceptionhandler-middleware/</guid><description>Learn to use the ExceptionHandlerMiddleware to handle exceptions in ASP.NET Core applications.</description><pubDate>Tue, 30 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Health Checks for ASP.NET Core and Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/health-checks-for-aspnet-core-and-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/health-checks-for-aspnet-core-and-entity-framework-core/</guid><description>Using the Health Checks package to add health checks to asp.net core applications</description><pubDate>Tue, 23 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Hosting Two ASP.NET Core Apps In One Host</title><link>https://khalidabuhakmeh.com/posts/hosting-two-aspnet-core-apps-in-one-host/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/hosting-two-aspnet-core-apps-in-one-host/</guid><description>Learn how to host two or more ASP.NET Core applications within one console application host. It&apos;s easier than you might think.</description><pubDate>Tue, 09 Mar 2021 00:00:00 GMT</pubDate></item><item><title>How Many Threads Does My .NET App Have?</title><link>https://khalidabuhakmeh.com/posts/how-many-threads-does-my-dotnet-app-have/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-many-threads-does-my-dotnet-app-have/</guid><description>Determining how many threads are available in your .NET application using C#</description><pubDate>Tue, 22 Nov 2022 00:00:00 GMT</pubDate></item><item><title>How To Add A View To An Entity Framework Core DbContext</title><link>https://khalidabuhakmeh.com/posts/how-to-add-a-view-to-an-entity-framework-core-dbcontext/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-add-a-view-to-an-entity-framework-core-dbcontext/</guid><description>Adding a SQL View to an Entity Framework Core DbContext with a database migration.</description><pubDate>Tue, 23 Mar 2021 00:00:00 GMT</pubDate></item><item><title>How to add HTTP headers to Blazor Components with RazorComponentResult</title><link>https://khalidabuhakmeh.com/posts/how-to-add-http-headers-to-blazor-components-with-razorcomponentresult/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-add-http-headers-to-blazor-components-with-razorcomponentresult/</guid><description>Setting HTTP headers in responses for RazorComponentResult used with Blazor components</description><pubDate>Tue, 07 May 2024 00:00:00 GMT</pubDate></item><item><title>How To Add Models To ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/how-to-add-models-to-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-add-models-to-aspnet-core/</guid><description>Learn what a Model is and how it relates to ASP.NET Core, MVC, Razor Pages, Endpoints, and Blazor.</description><pubDate>Thu, 15 Apr 2021 00:00:00 GMT</pubDate></item><item><title>How To Build A Basic HTTP API With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/how-to-build-a-basic-http-api-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-build-a-basic-http-api-with-aspnet-core/</guid><description>Building a basic HTTP API with ASP.NET Core and .NET 5 with code on GitHub.</description><pubDate>Thu, 25 Mar 2021 00:00:00 GMT</pubDate></item><item><title>How To Display .NET Collections with the Oxford Comma</title><link>https://khalidabuhakmeh.com/posts/how-to-display-dotnet-collections-with-the-oxford-comma/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-display-dotnet-collections-with-the-oxford-comma/</guid><description>An extension method to display string values in an Oxford comma format</description><pubDate>Tue, 03 Oct 2023 00:00:00 GMT</pubDate></item><item><title>How To Encrypt ASP.NET Core Route Parameters</title><link>https://khalidabuhakmeh.com/posts/how-to-encrypt-aspnet-core-route-parameters/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-encrypt-aspnet-core-route-parameters/</guid><description>Uses ASP.NET Core interfaces to encrypt and decrypt route parameters</description><pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate></item><item><title>How To Fix .NET Nullability Warnings For Guarded Members</title><link>https://khalidabuhakmeh.com/posts/how-to-fix-dotnet-nullability-warnings-for-guarded-members/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-fix-dotnet-nullability-warnings-for-guarded-members/</guid><description>Using the System.Diagnostics.CodeAnalysis namespace to quiet nullability warnings in C# code.</description><pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate></item><item><title>How To Fix Feature Folders View Errors with JetBrains Annotations (Rider and ReSharper)</title><link>https://khalidabuhakmeh.com/posts/how-to-fix-feature-folders-view-errors-with-jetbrains-annotations-rider-and-resharper/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-fix-feature-folders-view-errors-with-jetbrains-annotations-rider-and-resharper/</guid><description>Feature Folder views change the default location of views. Learn how to fix it for JetBrains tooling</description><pubDate>Tue, 26 Sep 2023 00:00:00 GMT</pubDate></item><item><title>How to Integrate HTMX and Shoelace Web Components</title><link>https://khalidabuhakmeh.com/posts/how-to-integrate-htmx-and-shoelace-web-components/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-integrate-htmx-and-shoelace-web-components/</guid><description>HTMX doesn&apos;t recognize shoelace web components as inputs. Learn how to fix it in this post.</description><pubDate>Tue, 05 Mar 2024 00:00:00 GMT</pubDate></item><item><title>How To Map A Route in an ASP.NET Core MVC application</title><link>https://khalidabuhakmeh.com/posts/how-to-map-a-route-in-an-aspnet-core-mvc-application/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-map-a-route-in-an-aspnet-core-mvc-application/</guid><description>A Beginner&apos;s guide to adding a route to an ASP.NET Core MVC web application.</description><pubDate>Tue, 07 Sep 2021 00:00:00 GMT</pubDate></item><item><title>How to Map SQL Results To Any Object Using Entity Framework Core 8</title><link>https://khalidabuhakmeh.com/posts/how-to-map-sql-results-to-any-object-using-entity-framework-core-8/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-map-sql-results-to-any-object-using-entity-framework-core-8/</guid><description>Entity Framework 8 and the use of SqlQuery to map results to any C# object</description><pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate></item><item><title>How To Pick The Right Constructor When Using ActivatorUtilities In .NET</title><link>https://khalidabuhakmeh.com/posts/how-to-pick-the-right-constructor-when-using-activatorutilities-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-pick-the-right-constructor-when-using-activatorutilities-in-dotnet/</guid><description>Using ActivatorUtilities and attributes to pick the right constructor on object creation</description><pubDate>Tue, 13 Aug 2024 00:00:00 GMT</pubDate></item><item><title>How To SSR Web Components In ASP.NET Core using TagHelpers</title><link>https://khalidabuhakmeh.com/posts/how-to-ssr-web-components-in-aspnet-core-using-taghelpers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-ssr-web-components-in-aspnet-core-using-taghelpers/</guid><description>Using ASP.NET Core Tag Helpers to prerender the HTML in custom web components</description><pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate></item><item><title>How To Use Blazor Server-Rendered Components with HTMX</title><link>https://khalidabuhakmeh.com/posts/how-to-use-blazor-server-rendered-components-with-htmx/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-blazor-server-rendered-components-with-htmx/</guid><description>Using Blazor Static Server Rendered components with HTMX to create clientside experiences.</description><pubDate>Tue, 23 Jan 2024 00:00:00 GMT</pubDate></item><item><title>How To Use Embedded Resources in .NET</title><link>https://khalidabuhakmeh.com/posts/how-to-use-embedded-resources-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-embedded-resources-in-dotnet/</guid><description>Working with Embedded Resources in .NET</description><pubDate>Tue, 10 Oct 2023 00:00:00 GMT</pubDate></item><item><title>How to use Entity Framework Core in ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/how-to-use-entity-framework-core-in-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-entity-framework-core-in-aspnet-core/</guid><description>A beginners guide from start to end to getting ASP.NET Core and Entity Framework Core working together.</description><pubDate>Tue, 07 Feb 2023 00:00:00 GMT</pubDate></item><item><title>How to use IAsyncEnumerable with Blazor Stream Rendering</title><link>https://khalidabuhakmeh.com/posts/how-to-use-iasyncenumerable-with-blazor-stream-rendering/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-iasyncenumerable-with-blazor-stream-rendering/</guid><description>IAsyncEnumerable with Blazor Stream Rendering for improved ASP.NET Core performance</description><pubDate>Tue, 16 Jan 2024 00:00:00 GMT</pubDate></item><item><title>How to use No-Class Frameworks to Move Fast in Style</title><link>https://khalidabuhakmeh.com/posts/how-to-use-no-class-frameworks-to-move-fast-in-style/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-no-class-frameworks-to-move-fast-in-style/</guid><description>No-class CSS frameworks make it simpler to style and evolve an existing HTML UI</description><pubDate>Tue, 12 Mar 2024 00:00:00 GMT</pubDate></item><item><title>How to use Regular Expressions and Match Evaluators in .NET</title><link>https://khalidabuhakmeh.com/posts/how-to-use-regular-expressions-and-match-evaluators-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-use-regular-expressions-and-match-evaluators-in-dotnet/</guid><description>Using the RegEx.Replace method with MatchEvaluator</description><pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate></item><item><title>How to Write a .NET Markdig Extension for Markdown Processing</title><link>https://khalidabuhakmeh.com/posts/how-to-write-a-dotnet-markdig-extension-for-markdown-processing/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/how-to-write-a-dotnet-markdig-extension-for-markdown-processing/</guid><description>Markdown is a powerful writing format with simplicity at its core. It&apos;s no surprise that it is as popular as it is since</description><pubDate>Tue, 02 Jan 2024 00:00:00 GMT</pubDate></item><item><title>HTML Buttons Are Under-Appreciated In ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/html-buttons-are-under-appreciated-in-asp-dot-net-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/html-buttons-are-under-appreciated-in-asp-dot-net-core/</guid><description>Learn to use HTML buttons to supercharge your ASP.NET application. Understand what buttons users clicked with minimal changes to the ASP.NET programming model.</description><pubDate>Thu, 19 Mar 2020 00:00:00 GMT</pubDate></item><item><title>HTML Datalist for ASP.NET Core Inputs</title><link>https://khalidabuhakmeh.com/posts/html-datalist-for-aspnet-core-inputs/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/html-datalist-for-aspnet-core-inputs/</guid><description>In my last blog post, I discussed range inputs. This time, we&apos;ll examine a tag helper that adds support for the HTML element of `datalist`.</description><pubDate>Tue, 09 Jul 2024 00:00:00 GMT</pubDate></item><item><title>HTML Range Inputs with ASP.NET Core TagHelpers</title><link>https://khalidabuhakmeh.com/posts/html-range-inputs-with-aspnet-core-taghelpers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/html-range-inputs-with-aspnet-core-taghelpers/</guid><description>Using ASP.NET Core Tag Helpers to generate HTML range inputs with attribute values</description><pubDate>Tue, 02 Jul 2024 00:00:00 GMT</pubDate></item><item><title>HTML Web Components with Vanilla JavaScript and ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/html-web-components-with-vanilla-javascript-and-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/html-web-components-with-vanilla-javascript-and-aspnet-core/</guid><description>HTML Web Components with Vanilla JavaScript and ASP.NET Core</description><pubDate>Tue, 06 Feb 2024 00:00:00 GMT</pubDate></item><item><title>HTML5 Validation for ASP.NET Core Models and Razor Views</title><link>https://khalidabuhakmeh.com/posts/html5-validation-for-aspnet-core-models-and-razor-views/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/html5-validation-for-aspnet-core-models-and-razor-views/</guid><description>using HTML 5 validation in ASP.NET Core Razor Pages and MVC</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate></item><item><title>HTMX and ASP.NET Core Swapping Techniques</title><link>https://khalidabuhakmeh.com/posts/htmx-and-aspnet-core-swapping-techniques/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-and-aspnet-core-swapping-techniques/</guid><description>Learn HTMX swapping techniques and how they work with ASP.NET Core.</description><pubDate>Tue, 28 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Htmx and Playwright Tests in C#</title><link>https://khalidabuhakmeh.com/posts/htmx-and-playwright-tests-in-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-and-playwright-tests-in-csharp/</guid><description>Hook into Htmx lifecycle events to improve Playwright tests</description><pubDate>Tue, 24 Sep 2024 00:00:00 GMT</pubDate></item><item><title>HTMX, ASP.NET Core, and Bootstrap Modals</title><link>https://khalidabuhakmeh.com/posts/htmx-aspnet-core-and-bootstrap-modals/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-aspnet-core-and-bootstrap-modals/</guid><description>Using Bootstrap Modals with ASP.NET Core Razor and HTMX</description><pubDate>Tue, 11 Jul 2023 00:00:00 GMT</pubDate></item><item><title>HTMX Boosts and ASP.NET Core Anti-Forgery Tokens</title><link>https://khalidabuhakmeh.com/posts/htmx-boosts-and-aspnet-core-anti-forgery-tokens/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-boosts-and-aspnet-core-anti-forgery-tokens/</guid><description>Dealing with issues that come with using HTMX and ASP.NET Core anti-forgery tokens</description><pubDate>Tue, 27 Jun 2023 00:00:00 GMT</pubDate></item><item><title>HTMX Requests with ASP.NET Core Anti-Forgery Tokens</title><link>https://khalidabuhakmeh.com/posts/htmx-requests-with-aspnet-core-anti-forgery-tokens/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-requests-with-aspnet-core-anti-forgery-tokens/</guid><description>Pass anti-forgery tokens on every HTMX Request to an ASP.NET Core backend</description><pubDate>Tue, 21 Dec 2021 00:00:00 GMT</pubDate></item><item><title>HTMX With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/htmx-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/htmx-with-aspnet-core/</guid><description>With all the momentum behind frontend frameworks, it&apos;s often easy to forget that server-side rendering (SSR) is a mature approach to delivering fast and reli...</description><pubDate>Tue, 07 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Hypermedia Lite For ASP.NET Core HTTP APIs</title><link>https://khalidabuhakmeh.com/posts/hypermedia-lite-for-aspnet-core-http-apis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/hypermedia-lite-for-aspnet-core-http-apis/</guid><description>Learn to pick and chose the best parts of the Hypermedia approach for your ASP.NET Core solutions. Code samples help guide you step-by-step.</description><pubDate>Wed, 29 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Dispose Resources Asynchronously With IAsyncDisposable</title><link>https://khalidabuhakmeh.com/posts/iasyncdisposable-dispose-resources-asynchronously/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/iasyncdisposable-dispose-resources-asynchronously/</guid><description>Learn to dispose of expensive resources asynchronously using IAsyncDisposable.  Avoid deadlocks and thread contention when disposing of objects.</description><pubDate>Tue, 25 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Image Style Transfer With C#, ONNX, and ImageSharp</title><link>https://khalidabuhakmeh.com/posts/image-style-transfer-with-csharp-onnx-and-imagesharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/image-style-transfer-with-csharp-onnx-and-imagesharp/</guid><description>Using the ONNX runtime and model zoo to transfer style onto input images</description><pubDate>Tue, 01 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Implement A Webhook Framework With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/implement-a-webhook-framework-with-aspnetcore/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/implement-a-webhook-framework-with-aspnetcore/</guid><description>Explore building an HTTP webhook framework for use in ASP.NET Core web applications. Process JSON payloads and possibly acknowledge with a response.</description><pubDate>Thu, 12 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Implement Kotlin&apos;s withIndex in C#</title><link>https://khalidabuhakmeh.com/posts/implement-kotlins-withindex-in-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/implement-kotlins-withindex-in-csharp/</guid><description>Learn to implement Kotlin&apos;s withIndex in .NET and C# for a more powerful foreach loop approach. Includes C# extension method and code sample.</description><pubDate>Thu, 15 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Improve Entity Framework Core Performance</title><link>https://khalidabuhakmeh.com/posts/improve-entity-framework-core-performance/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/improve-entity-framework-core-performance/</guid><description>Learn to improve the query performance of your Entity Framework Core queries using these techniques. Disabling object tracking can improve response performance significantly.</description><pubDate>Thu, 11 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Increase ASP.NET File Upload Limits</title><link>https://khalidabuhakmeh.com/posts/increase-file-upload-limit-for-aspdotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/increase-file-upload-limit-for-aspdotnet/</guid><description>ASP.NET ships with file upload limits of 4MB and 30MB for ASP.NET Core. Learn how to increase these limits to allow users to upload more substantial file sizes.</description><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title>Increase Performance with Complex Types in Entity Framework Core 8</title><link>https://khalidabuhakmeh.com/posts/increase-performance-with-complex-types-in-entity-framework-core-8/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/increase-performance-with-complex-types-in-entity-framework-core-8/</guid><description>Entity Framework Core 8 complex types to increase performance and reduce the number of tables</description><pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Initialize ASP.NET Core TagHelpers with Shared Data</title><link>https://khalidabuhakmeh.com/posts/initialize-aspnet-core-taghelpers-with-shared-data/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/initialize-aspnet-core-taghelpers-with-shared-data/</guid><description>Use the tag helpers infrastructure to initialize all tag helpers of a type</description><pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Injecting Services Into ASP.NET Razor Views</title><link>https://khalidabuhakmeh.com/posts/injecting-services-into-aspdotnet-views/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/injecting-services-into-aspdotnet-views/</guid><description>Learn to inject application services into your Razor Pages, a technique that&apos;s useful for simple pages. This ASP.NET technique is essential for new and experienced developers alike.</description><pubDate>Tue, 14 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Install Tailwind CSS With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/install-tailwind-css-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/install-tailwind-css-with-aspnet-core/</guid><description>Learn to combine the power of utility-first CSS framework TailwindCss and ASP.NET Core. A step-by-step guide anyone can follow.</description><pubDate>Tue, 23 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Installing and Uninstalling .NET Templates</title><link>https://khalidabuhakmeh.com/posts/installing-and-uninstalling-dotnet-templates/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/installing-and-uninstalling-dotnet-templates/</guid><description>Using the dotnet-cli to install and uninstall .NET template packages</description><pubDate>Tue, 26 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Interesting Technology Tips - Vol. 1</title><link>https://khalidabuhakmeh.com/posts/interesting-technology-tips-vol-1/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/interesting-technology-tips-vol-1/</guid><description>5 interesting technology tips for application developers</description><pubDate>Tue, 21 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Intersperse Values for Enumerable Collections</title><link>https://khalidabuhakmeh.com/posts/intersperse-values-for-enumerable-collections/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/intersperse-values-for-enumerable-collections/</guid><description>Implementing an intersperse method for enumerable collections</description><pubDate>Tue, 10 Sep 2024 00:00:00 GMT</pubDate></item><item><title>JavaScript Import Maps For ASP.NET Core Developers</title><link>https://khalidabuhakmeh.com/posts/javascript-import-maps-for-aspnet-core-developers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/javascript-import-maps-for-aspnet-core-developers/</guid><description>How to use JavaScript Import maps in your ASP.NET Core web applications</description><pubDate>Tue, 30 May 2023 00:00:00 GMT</pubDate></item><item><title>A New Adventure In JetBrains Developer Advocacy</title><link>https://khalidabuhakmeh.com/posts/jetbrains-developer-advocate/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/jetbrains-developer-advocate/</guid><description>As of 2020, Khalid Abuhakmeh joined the developer advocacy group at JetBrains, focusing on .NET technologies and tools like ReSharper, Rider, and others.</description><pubDate>Thu, 13 Feb 2020 00:00:00 GMT</pubDate></item><item><title>JetBrains Rider Command Line Tricks</title><link>https://khalidabuhakmeh.com/posts/jetbrains-rider-commandline-tricks/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/jetbrains-rider-commandline-tricks/</guid><description>Use JetBrains Rider&apos;s hidden command line functionality to get the most out of the product. Open files, compare differences, and more.</description><pubDate>Tue, 07 Apr 2020 00:00:00 GMT</pubDate></item><item><title>JSON in HTML Attributes With ASP.NET Core TagHelpers</title><link>https://khalidabuhakmeh.com/posts/json-in-html-attributes-with-aspnet-core-taghelpers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/json-in-html-attributes-with-aspnet-core-taghelpers/</guid><description>Output unencoded JSON into an HTML attribute with double quotes and single quotes</description><pubDate>Tue, 14 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Kick Ass With ASP.NET Core, Vue Components, and Parcel</title><link>https://khalidabuhakmeh.com/posts/kick-ass-with-aspnet-core-vue-components-and-parcel/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/kick-ass-with-aspnet-core-vue-components-and-parcel/</guid><description>Learn to combine ASP.NET Core, Vue.js, and Parcel package management to build a modern full-stack development app. Follow along in this detailed guide.</description><pubDate>Fri, 22 Nov 2019 00:00:00 GMT</pubDate></item><item><title>Have Fun With LINQ Expression Visitors</title><link>https://khalidabuhakmeh.com/posts/linq-expression-visitors/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/linq-expression-visitors/</guid><description>LINQ expression visitors allow .NET developers to inspect and understand what&apos;s happening in a LINQ expression. See examples of how to apply them to your LINQ code.</description><pubDate>Tue, 21 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Load YouTube Embed Videos When Needed With JavaScript</title><link>https://khalidabuhakmeh.com/posts/load-youtube-embed-videos-with-javascript/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/load-youtube-embed-videos-with-javascript/</guid><description>Using IntersectionObserver to load YouTube videos on demand, eliminating the blocking of the critical rendering path</description><pubDate>Tue, 04 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Enjoy Local Development with Tye, Docker, and .NET</title><link>https://khalidabuhakmeh.com/posts/local-dev-with-tye-docker-and-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/local-dev-with-tye-docker-and-dotnet/</guid><description>Project Tye is Microsoft&apos;s local cluster for .NET developers. Tye knows .NET solutions, and this tutorial will show devs how to ease local development using Docker.</description><pubDate>Fri, 17 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Logging Trace Output Using ILogger in .NET Applications</title><link>https://khalidabuhakmeh.com/posts/logging-trace-output-using-ilogger-in-dotnet-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/logging-trace-output-using-ilogger-in-dotnet-applications/</guid><description>Logging System.Diagnostics.Trace output using ILogger in .NET and ASP.NET Core</description><pubDate>Tue, 15 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Looking At System.IO.Path</title><link>https://khalidabuhakmeh.com/posts/looking-at-system-io-path/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/looking-at-system-io-path/</guid><description>Learn the not-so-secret secrets of .NET&apos;s System.IO.Path type. Use this type to get extensions of files, get full paths, and more. C# code is included.</description><pubDate>Tue, 03 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Loop Around Index with C# Collections</title><link>https://khalidabuhakmeh.com/posts/loop-around-index-with-csharp-collections/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/loop-around-index-with-csharp-collections/</guid><description>Use math to predictably loop around index a .NET C# collection</description><pubDate>Tue, 08 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Manage Vite Assets Like A Pro</title><link>https://khalidabuhakmeh.com/posts/manage-vite-assets-like-a-pro/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/manage-vite-assets-like-a-pro/</guid><description>Manage Vite Assets into specific directories and process assets from HTML</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate></item><item><title>Measuring Unicode String Lengths with C#</title><link>https://khalidabuhakmeh.com/posts/measuring-unicode-string-lengths-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/measuring-unicode-string-lengths-with-csharp/</guid><description>Using System.Globalization.StringInfo to get string lengths from Unicode characters</description><pubDate>Tue, 29 Aug 2023 00:00:00 GMT</pubDate></item><item><title>MemoizR - Declarative Structured Concurrency for C#</title><link>https://khalidabuhakmeh.com/posts/memoizr-declarative-structured-concurrency-for-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/memoizr-declarative-structured-concurrency-for-csharp/</guid><description>MemoizR .NET C# sample for declarative structured concurrency library</description><pubDate>Tue, 19 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Minimal API Validation with FluentValidation</title><link>https://khalidabuhakmeh.com/posts/minimal-api-validation-with-fluentvalidation/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/minimal-api-validation-with-fluentvalidation/</guid><description>Using FluentValidation to add validation to ASP.NET Core Minimal APIs</description><pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate></item><item><title>MiniWord - Microsoft Office Word Templating</title><link>https://khalidabuhakmeh.com/posts/miniword-microsoft-office-word-templating/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/miniword-microsoft-office-word-templating/</guid><description>Using Microsoft Word and mail merge functionality from C# and .NET using MiniWord with OpenXML.</description><pubDate>Tue, 22 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Modeling Most SQL Relationships In Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/modeling-most-sql-relationships-in-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/modeling-most-sql-relationships-in-entity-framework-core/</guid><description>Learn to model SQL relationships using Entity Framework Core Code-First and C#.</description><pubDate>Tue, 06 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Module Initializers In C# 9</title><link>https://khalidabuhakmeh.com/posts/module-initializers-in-csharp-9/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/module-initializers-in-csharp-9/</guid><description>Explore how we can use C# 9&apos;s ModuleInitializerAttribute in any .NET application to run code before any other code has had a chance to execute.</description><pubDate>Thu, 05 Nov 2020 00:00:00 GMT</pubDate></item><item><title>MoonSharp - Running Lua Scripts in .NET</title><link>https://khalidabuhakmeh.com/posts/moonsharp-running-lua-scripts-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/moonsharp-running-lua-scripts-in-dotnet/</guid><description>How to run Lua scripts in a .NET application using MoonSharp</description><pubDate>Tue, 07 Nov 2023 00:00:00 GMT</pubDate></item><item><title>More Efficient Deletes With Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/more-efficient-deletes-with-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/more-efficient-deletes-with-entity-framework-core/</guid><description>Using EF Core&apos;s Change Tracker to generate DELETE SQL Statements and eliminate a database round-trip</description><pubDate>Tue, 01 Nov 2022 00:00:00 GMT</pubDate></item><item><title>More HTTP Methods In ASP.NET Core HTML Forms</title><link>https://khalidabuhakmeh.com/posts/more-http-methods-aspnet-core-html-forms/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/more-http-methods-aspnet-core-html-forms/</guid><description>Learn to support HTTP methods like GET, POST, DELETE, PUT, and more in your ASP.NET web applications. The post includes a C# code and sample project.</description><pubDate>Thu, 30 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Multi-tenancy with ASP.NET Core and FinBuckle.Multitenant</title><link>https://khalidabuhakmeh.com/posts/multi-tenancy-with-aspnet-core-and-finbuckle-multitenant/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/multi-tenancy-with-aspnet-core-and-finbuckle-multitenant/</guid><description>Using FinBuckle.Multitenant</description><pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Multiple File Drag and Drop Upload with ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/multiple-file-drag-and-drop-upload-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/multiple-file-drag-and-drop-upload-with-aspnet-core/</guid><description>Building a multiple-file upload HTML element for use in ASP.NET Core apps</description><pubDate>Tue, 17 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Multiple Result Sets With .Net Core and SQL Server</title><link>https://khalidabuhakmeh.com/posts/multiple-result-sets-with-net-core-sql-server/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/multiple-result-sets-with-net-core-sql-server/</guid><description>Explore how enabling multiple result sets MARS can increase SQL Server performance in your .NET applications, which is especially helpful for Entity Framework developers.</description><pubDate>Sat, 09 Nov 2019 00:00:00 GMT</pubDate></item><item><title>MVVM With Xamarin.Forms and JetBrains Rider</title><link>https://khalidabuhakmeh.com/posts/mvvm-with-xamarin-forms/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/mvvm-with-xamarin-forms/</guid><description>Find out how to implement Model-View-ViewModel and work with Xamarin.Forms using JetBrains Rider. One of the best Xamarin.Forms experience available to developers.</description><pubDate>Thu, 17 Sep 2020 00:00:00 GMT</pubDate></item><item><title>My Favorite JetBrains Rider Themes</title><link>https://khalidabuhakmeh.com/posts/my-favorite-jetbrains-rider-themes/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/my-favorite-jetbrains-rider-themes/</guid><description>Explore some of the amazingly crafted themes JetBrains Rider has to offer. Customize your development experience with these favorite Rider IDE themes.</description><pubDate>Thu, 20 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Reading The Past, Present, and Future Of .NET Through NuGet</title><link>https://khalidabuhakmeh.com/posts/nuget-past-present-future-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/nuget-past-present-future-dotnet/</guid><description>We&apos;ll take a high-level look at what some NuGet metrics mean for the .NET OSS ecosystem&apos;s future.</description><pubDate>Fri, 07 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Use Oakton and API Explorer To View API Routes From .NET CLI</title><link>https://khalidabuhakmeh.com/posts/oakton-and-apiexplorer-to-view-routes-dotnet-cli/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/oakton-and-apiexplorer-to-view-routes-dotnet-cli/</guid><description>Learn to build an exciting .NET CLI route debugging experience using the OSS library Oakton. Investigate registered endpoints in your ASP.NET app.</description><pubDate>Thu, 04 Jun 2020 00:00:00 GMT</pubDate></item><item><title>OhMyZsh GitHub CLI Command Completion</title><link>https://khalidabuhakmeh.com/posts/ohmyzsh-github-cli-command-completion/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/ohmyzsh-github-cli-command-completion/</guid><description>Learn to enable OhMyZsh tab completion for GitHub CLI for an improved command-line experience.</description><pubDate>Tue, 01 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Output CSV Results to Console Table in Rust</title><link>https://khalidabuhakmeh.com/posts/output-csv-results-to-console-table-in-rust/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/output-csv-results-to-console-table-in-rust/</guid><description>Using Rust to read a comma-separated value file and rendering the results in a console</description><pubDate>Tue, 09 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Override Razor Pages Routes From Razor Class Libraries</title><link>https://khalidabuhakmeh.com/posts/override-razor-pages-routes-from-razor-class-libraries/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/override-razor-pages-routes-from-razor-class-libraries/</guid><description>Override routes for ASP.NET Core Razor Pages from Razor Class Libraries</description><pubDate>Tue, 16 May 2023 00:00:00 GMT</pubDate></item><item><title>Paging Through Git Commits Like A Wizard</title><link>https://khalidabuhakmeh.com/posts/paging-through-git-commits/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/paging-through-git-commits/</guid><description>Add GIT aliases that allow you to move to the first, previous, next, and last commit on a branch within a repository. Great to use for speakers, demos, and tutorials.</description><pubDate>Thu, 05 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Parse Markdown Front Matter With C#</title><link>https://khalidabuhakmeh.com/posts/parse-markdown-front-matter-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/parse-markdown-front-matter-with-csharp/</guid><description>Learn to parse markdown files with existing frontmatter using .NET and C#. Useful when integrating ASP.NET with a static site generator like Jekyll or 11ty.</description><pubDate>Thu, 25 Jun 2020 00:00:00 GMT</pubDate></item><item><title>HTTP Range Requests and Partial Responses With ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/partial-range-http-requests-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/partial-range-http-requests-with-aspnet-core/</guid><description>Learn to use ASP.NET Core&apos;s HTTP Range request headers in multiple ways.</description><pubDate>Tue, 22 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Passing Table-Valued Parameters From .NET To SQL Server</title><link>https://khalidabuhakmeh.com/posts/passing-table-valued-parameters-from-dotnet-to-sql-server/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/passing-table-valued-parameters-from-dotnet-to-sql-server/</guid><description>Table-Valued Parameters can dramatically increase a developer&apos;s ability to write records to SQL Server when combined with stored procedures. See how in this post with code.</description><pubDate>Fri, 15 Nov 2019 00:00:00 GMT</pubDate></item><item><title>Ping a Server Using C#</title><link>https://khalidabuhakmeh.com/posts/ping-a-server-using-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/ping-a-server-using-csharp/</guid><description>Use the .NET Ping type to ping a server. Helpful for determining a server is listening for incoming requests. C# code included.</description><pubDate>Tue, 05 May 2020 00:00:00 GMT</pubDate></item><item><title>Play Audio Files With .NET</title><link>https://khalidabuhakmeh.com/posts/play-audio-files-with-net/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/play-audio-files-with-net/</guid><description>Follow along as we look for approaches to play audio on all major operating systems using .NET and C#. Code samples and links included.</description><pubDate>Thu, 31 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Playing The Super Mario Bros. Theme With C#</title><link>https://khalidabuhakmeh.com/posts/playing-the-super-mario-bros-theme-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/playing-the-super-mario-bros-theme-with-csharp/</guid><description>We explore playing the Super Mario Brother&apos;s theme song using a C# console application in this fun post. An excellent exercise for beginners and folks learning .NET.</description><pubDate>Tue, 16 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Polymorphic Serialization with .NET System.Text.Json</title><link>https://khalidabuhakmeh.com/posts/polymorphic-serialization-with-dotnet-system-text-json/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/polymorphic-serialization-with-dotnet-system-text-json/</guid><description>So you&apos;ve decided you needed to use inheritance within your object model but are struggling to serialize all the data present on the instances of the types. ...</description><pubDate>Tue, 30 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Preventing Duplicate Web Requests To ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/preventing-duplicate-web-requests-to-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/preventing-duplicate-web-requests-to-aspnet-core/</guid><description>We can prevent processing duplicate requests using entity framework core unique constraints and asp.net middleware.</description><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Program The Game Of Life With C# and Emojis</title><link>https://khalidabuhakmeh.com/posts/program-the-game-of-life-with-csharp-and-emojis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/program-the-game-of-life-with-csharp-and-emojis/</guid><description>Learn to program Conway&apos;s game of life using C# and emojis in this fun beginner tutorial.</description><pubDate>Thu, 18 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Programming SVGs with C#</title><link>https://khalidabuhakmeh.com/posts/programming-svgs-with-csharp-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/programming-svgs-with-csharp-dotnet/</guid><description>Using SVGs to create template-based iamges using C# and .NET</description><pubDate>Tue, 24 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Raw SQL Queries With Entity Framework Core 5</title><link>https://khalidabuhakmeh.com/posts/raw-sql-queries-with-ef-core-5/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/raw-sql-queries-with-ef-core-5/</guid><description>Learn how to utilize SQL with your Entity Framework Core 5 DbContexts and entities. Additionally, add OSS project Dapper for extra goodness.</description><pubDate>Thu, 04 Mar 2021 00:00:00 GMT</pubDate></item><item><title>RazorSlices - Razor Views with ASP.NET Core Minimal APIs</title><link>https://khalidabuhakmeh.com/posts/razorslices-razor-views-with-aspnet-core-minimal-apis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/razorslices-razor-views-with-aspnet-core-minimal-apis/</guid><description>RazorSlices is an OSS package aiming to bring Razor views to ASP.NET Core Minimal API implementations.</description><pubDate>Tue, 17 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Read And Convert QueryCollection Values In ASP.NET</title><link>https://khalidabuhakmeh.com/posts/read-and-convert-querycollection-values-in-aspnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/read-and-convert-querycollection-values-in-aspnet/</guid><description>When working with ASP.NET, we&apos;ll be dealing with query string parameters. Use the QueryCollection type to parse and build query strings quickly.</description><pubDate>Thu, 01 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Read and Write Excel Spreadsheets With C#</title><link>https://khalidabuhakmeh.com/posts/read-write-excel-spreadsheets-with-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/read-write-excel-spreadsheets-with-csharp/</guid><description>Learn to use C# and ExcelMapper to read and write from excel files including xslx extensioned files.</description><pubDate>Tue, 27 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Reading RSS Feeds With .NET Core</title><link>https://khalidabuhakmeh.com/posts/reading-rss-feeds-with-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/reading-rss-feeds-with-dotnet-core/</guid><description>Syndication feeds are an essential part of internet infrastructure. Learn how to read, and process RSS feeds from C# and .NET Core. Code is included.</description><pubDate>Thu, 06 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Real-time Charts with ASP.NET Core, SignalR, and Chart.js</title><link>https://khalidabuhakmeh.com/posts/real-time-charts-with-aspnet-core-signalr-and-chartjs/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/real-time-charts-with-aspnet-core-signalr-and-chartjs/</guid><description>Using ASP.NET Core, SignalR and Chart.js to create real-time charts in a web application</description><pubDate>Tue, 25 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Recursive Data With Entity Framework Core and SQL Server</title><link>https://khalidabuhakmeh.com/posts/recursive-data-with-entity-framework-core-and-sql-server/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/recursive-data-with-entity-framework-core-and-sql-server/</guid><description>Using Common Table Expressions with Entity Framework Core to retrieve Recursive Data Structures.</description><pubDate>Thu, 08 Apr 2021 00:00:00 GMT</pubDate></item><item><title>Parse Redis-CLI Connection URI To Use With StackExchange.Redis</title><link>https://khalidabuhakmeh.com/posts/redis-cli-connection-uri-with-stackexchangeredis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/redis-cli-connection-uri-with-stackexchangeredis/</guid><description>Using an extension method to parse a redis-cli connection uri to use with the StackExchange.Redis NuGet package.</description><pubDate>Tue, 27 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Register MAUI Views and ViewModels with Scrutor</title><link>https://khalidabuhakmeh.com/posts/register-maui-views-and-viewmodels-with-scrutor/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/register-maui-views-and-viewmodels-with-scrutor/</guid><description>Using Scrutor to scan for Views and ViewModels in a MAUI application using CommunityToolkit.Mvvm</description><pubDate>Tue, 31 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Remember ASP.NET Request Culture Using Middleware</title><link>https://khalidabuhakmeh.com/posts/remember-aspnet-request-culture-using-middleware/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/remember-aspnet-request-culture-using-middleware/</guid><description>Use this ASP.NET Core middleware to remember a user&apos;s culture between requests. Important when localizing your web application for multiple regions.</description><pubDate>Thu, 24 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Remove Rows From Razor HTML Tables</title><link>https://khalidabuhakmeh.com/posts/remove-rows-from-razor-html-tables/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/remove-rows-from-razor-html-tables/</guid><description>Let users remove rows from HTML tables in your Razor powered ASP.NET applications. The post includes Razor and C# samples.</description><pubDate>Thu, 03 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Request Features And ASP.NET Core 3</title><link>https://khalidabuhakmeh.com/posts/request-features-aspnet-core-3/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/request-features-aspnet-core-3/</guid><description>Use ASP.NET Core&apos;s Request Feature to provide essential functionality during the lifetime of an HTTP request. In this post, you&apos;ll learn when and how to use them.</description><pubDate>Sat, 19 Oct 2019 00:00:00 GMT</pubDate></item><item><title>Resolve Multiple Types In ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/resolve-multiple-types-in-aspnetcore/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/resolve-multiple-types-in-aspnetcore/</guid><description>Learn to use ASP.NET Core&apos;s built-in dependency injection to resolve multiple types of the same interface. Useful for many implementations and scenarios.</description><pubDate>Thu, 19 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Resolve Services In ASP.NET Core Startup</title><link>https://khalidabuhakmeh.com/posts/resolve-services-in-aspnet-core-startup/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/resolve-services-in-aspnet-core-startup/</guid><description>Several approaches to resolve registered services within the Startup class of your ASP.NET Core application.</description><pubDate>Thu, 18 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Responsive Images Crash Course for ASP.NET Core Developers</title><link>https://khalidabuhakmeh.com/posts/responsive-images-crash-course-for-aspnet-core-developers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/responsive-images-crash-course-for-aspnet-core-developers/</guid><description>An introduction to responsive images for ASP.NET Core Developers</description><pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Rethinking OSS Attribution In .NET</title><link>https://khalidabuhakmeh.com/posts/rethinking-oss-attribution-in-net/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/rethinking-oss-attribution-in-net/</guid><description>Read this opinion of how .NET can make OSS attribution a first-class concept in building and deploying applications. Please read and comment.</description><pubDate>Tue, 12 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Robots.txt Middleware For ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/robotstxt-middleware-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/robotstxt-middleware-aspnet-core/</guid><description>SEO is essential, especially for ASP.NET Core apps. Use this straightforward middleware to get SEO crawlers to behave the way you want them to.</description><pubDate>Sat, 28 Sep 2019 00:00:00 GMT</pubDate></item><item><title>Running NPM Scripts From A .NET Core Process</title><link>https://khalidabuhakmeh.com/posts/running-npm-scripts-from-a-dotnet-core-process/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/running-npm-scripts-from-a-dotnet-core-process/</guid><description>Learn to combine NPM scripts with a .NET Core process to utilize the best that both ecosystems have to offer. You&apos;ll be surprised how easy and powerful this trick is.</description><pubDate>Sat, 30 Nov 2019 00:00:00 GMT</pubDate></item><item><title>Running SQL Server Queries In Docker</title><link>https://khalidabuhakmeh.com/posts/running-sql-server-queries-in-docker/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/running-sql-server-queries-in-docker/</guid><description>Learn to start and connect to a MS SQL Server instance running in a Docker container</description><pubDate>Tue, 08 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Running Vite with ASP.NET Core Web Applications</title><link>https://khalidabuhakmeh.com/posts/running-vite-with-aspnet-core-web-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/running-vite-with-aspnet-core-web-applications/</guid><description>Using Vite.AspNetCore to run Vite in an ASP.NET Core application</description><pubDate>Tue, 02 May 2023 00:00:00 GMT</pubDate></item><item><title>Save Your C# Keystrokes With Tuples</title><link>https://khalidabuhakmeh.com/posts/save-your-csharp-keystrokes-with-tuples/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/save-your-csharp-keystrokes-with-tuples/</guid><description>Using the C# Tuple type can help reduce the amount of code you write. Learn how, in this article, exploring the new class.</description><pubDate>Tue, 11 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Scriban for Text and Liquid Templating in .NET</title><link>https://khalidabuhakmeh.com/posts/scriban-for-text-and-liquid-templating-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/scriban-for-text-and-liquid-templating-in-dotnet/</guid><description>Using Scriban, a .NET Library, for text templating and Liquid templating</description><pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Search Experiences For Your ASP.NET Core Apps With Elasticsearch</title><link>https://khalidabuhakmeh.com/posts/search-experiences-for-your-aspnet-core-apps-with-elasticsearch/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/search-experiences-for-your-aspnet-core-apps-with-elasticsearch/</guid><description>Learn the first steps in building an Elasticsearch search experience into your ASP.NET applications. It&apos;s easier than you think, and your users will love it!</description><pubDate>Sat, 14 Sep 2019 00:00:00 GMT</pubDate></item><item><title>Understand Searched Locations For The Razor View Engine And ASP.NET</title><link>https://khalidabuhakmeh.com/posts/searched-locations-razor-view-engine-aspdotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/searched-locations-razor-view-engine-aspdotnet/</guid><description>Learn where the ASP.NET view engine searches to find views for your MVC actions. This knowledge can help diagnose rendering issues in your .NET apps.</description><pubDate>Thu, 21 May 2020 00:00:00 GMT</pubDate></item><item><title>Searching For New Adventures In Software Development</title><link>https://khalidabuhakmeh.com/posts/searching-for-new-adventures-in-software-development/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/searching-for-new-adventures-in-software-development/</guid><description>After five years of management of a software development team, it&apos;s time to move on. Lessons learned are shared.</description><pubDate>Mon, 27 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Secrets of a .NET Professional</title><link>https://khalidabuhakmeh.com/posts/secrets-of-a-dotnet-professional/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/secrets-of-a-dotnet-professional/</guid><description>Find out what over a decade of being a .NET professional has taught me and learn from my journey. The advice in this post might help you avoid some pitfalls.</description><pubDate>Tue, 11 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Security Scanning Your .NET Core Applications</title><link>https://khalidabuhakmeh.com/posts/security-scanning-dotnet-core-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/security-scanning-dotnet-core-applications/</guid><description>Learn how to scan your .NET applications for security vulnerabilities using a FREE NuGet package to integrate with your continuous integration processes.</description><pubDate>Tue, 18 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Seed Entity Framework Core With Bogus Data</title><link>https://khalidabuhakmeh.com/posts/seed-entity-framework-core-with-bogus/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/seed-entity-framework-core-with-bogus/</guid><description>Are you struggling to find sample data? Use Bogus to generate relevant data for your Entity Framework powered apps. Generate millions of records in a few lines of C#.</description><pubDate>Tue, 16 Jun 2020 00:00:00 GMT</pubDate></item><item><title>Sentiment Analysis With C#, ML.NET, and Oakton Commands</title><link>https://khalidabuhakmeh.com/posts/sentiment-analysis-with-csharp-mldotnet-and-oakton-commands/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sentiment-analysis-with-csharp-mldotnet-and-oakton-commands/</guid><description>Learn to build a command-line tool for machine-learning-powered sentiment analysis using ML.NET and .NET OSS project Oakton. Code included.</description><pubDate>Tue, 28 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Serialize Interface Instances With System.Text.Json</title><link>https://khalidabuhakmeh.com/posts/serialize-interface-instances-system-text-json/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/serialize-interface-instances-system-text-json/</guid><description>Learn to use Microsoft&apos;s System.Text.Json library to serialize .NET interfaces. You&apos;ll learn about JsonConverter. C# code included.</description><pubDate>Tue, 29 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Server-Sent Events in ASP.NET Core and .NET 10</title><link>https://khalidabuhakmeh.com/posts/server-sent-events-in-aspnet-core-and-dotnet-10/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/server-sent-events-in-aspnet-core-and-dotnet-10/</guid><description>Using .NET 10&apos;s Server-Sent Events TypedResults in Minimal APIs</description><pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Sharing Auth Cookies With YARP, IdentityServer, and ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/sharing-auth-cookies-with-yarp-identityserver-and-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sharing-auth-cookies-with-yarp-identityserver-and-aspnet-core/</guid><description>Sharing authentication cookies in a distributed application with aspnet.core, YARP, and IdentityServer</description><pubDate>Tue, 23 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Sharing Information Between Vue Components With A Bus</title><link>https://khalidabuhakmeh.com/posts/sharing-information-between-vue-components/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sharing-information-between-vue-components/</guid><description>Learn to use Vue.js web disparate components in your ASP.NET apps while also building an approach to share data between them in this detailed post.</description><pubDate>Tue, 25 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Shoelace Web Components with ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/shoelace-web-components-with-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/shoelace-web-components-with-aspnet-core/</guid><description>Shoelace Web Components within ASP.NET Core Apps</description><pubDate>Tue, 27 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Simple Redirects With ASP.NET Core Endpoints</title><link>https://khalidabuhakmeh.com/posts/simple-redirects-with-aspnet-core-endpoint-routing/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/simple-redirects-with-aspnet-core-endpoint-routing/</guid><description>Adding extension methods for Redirect on IEndpointRouteBuilder for a better Redirect API</description><pubDate>Tue, 10 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Simplify DisplayName Calls In Razor Views</title><link>https://khalidabuhakmeh.com/posts/simplify-displayname-calls-in-razor/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/simplify-displayname-calls-in-razor/</guid><description>Use Razor view helpers to simplify the display name of collections within your view model. Right cleaner Razor syntax with this approach.</description><pubDate>Tue, 26 May 2020 00:00:00 GMT</pubDate></item><item><title>Sisk - An Alternative .NET HTTP Server</title><link>https://khalidabuhakmeh.com/posts/sisk-an-alternative-dotnet-http-server/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sisk-an-alternative-dotnet-http-server/</guid><description>Sisk is an alternative HTTP server for the .NET ecosystem, separate from ASP.NET Core.</description><pubDate>Tue, 15 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Six Famous Artists Quotes That Apply To Programming</title><link>https://khalidabuhakmeh.com/posts/six-famous-artists-quotes-that-apply-to-programming/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/six-famous-artists-quotes-that-apply-to-programming/</guid><description>Learn about six famous artists and how their philosophies can relate to the profession of software development today.</description><pubDate>Thu, 27 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Solve For The Next DayOfWeek From DateTime</title><link>https://khalidabuhakmeh.com/posts/solve-for-the-next-dayofweek-from-datetime/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/solve-for-the-next-dayofweek-from-datetime/</guid><description>Using the DateTime class in .NET we calculate the next occurrence of a day of the week.</description><pubDate>Tue, 11 May 2021 00:00:00 GMT</pubDate></item><item><title>Solving .NET JSON Deserialization Issues</title><link>https://khalidabuhakmeh.com/posts/solving-dotnet-json-deserialization-issues/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/solving-dotnet-json-deserialization-issues/</guid><description>Solving Deserialization issues in .NET when it comes to JSON HTTP APIs and responses.</description><pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Solving The &quot;Confirm Form Resubmission&quot; Problem</title><link>https://khalidabuhakmeh.com/posts/solving-the-confirm-form-resubmission-problem/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/solving-the-confirm-form-resubmission-problem/</guid><description>As a web developer, learn when and why the &quot;confirm form resubmission&quot; dialog appears. Also, learn techniques to avoid it once and for all. You won&apos;t regret it.</description><pubDate>Sat, 31 Oct 2015 00:00:00 GMT</pubDate></item><item><title>Sort Data With ASP.NET Core and Query Strings</title><link>https://khalidabuhakmeh.com/posts/sort-data-with-aspnet-core-and-query-strings/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sort-data-with-aspnet-core-and-query-strings/</guid><description>Learn techniques to give users the ability to sort on-page data in ASP.NET web applications. C# code samples and guidance included.</description><pubDate>Thu, 16 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Speed Up ASP.NET Core JSON APIs with Source Generators</title><link>https://khalidabuhakmeh.com/posts/speed-up-aspnet-core-json-apis-with-source-generators/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/speed-up-aspnet-core-json-apis-with-source-generators/</guid><description>Using System.Text.Json source generators from .NET 6 to improve JSON API performance</description><pubDate>Tue, 28 Feb 2023 00:00:00 GMT</pubDate></item><item><title>SQL Polling Listener For Azure SQL and Other SQL Databases</title><link>https://khalidabuhakmeh.com/posts/sql-polling-listener-for-azure-sql-and-other-sql-databases/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/sql-polling-listener-for-azure-sql-and-other-sql-databases/</guid><description>Find changes in your Azure SQL database using a custom polling mechanism that will make your .NET code react to data changes so much easier.</description><pubDate>Thu, 20 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Start PowerShell Faster With This One Trick</title><link>https://khalidabuhakmeh.com/posts/start-powershell-faster-with-this-one-trick/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/start-powershell-faster-with-this-one-trick/</guid><description>Learn to increase the startup performance of a PowerShell command-line instance. Get hours of your life back and run more scripts while you&apos;re at it.</description><pubDate>Sun, 08 Dec 2019 00:00:00 GMT</pubDate></item><item><title>Starting A Blog - Tips and Guide</title><link>https://khalidabuhakmeh.com/posts/starting-a-blog/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/starting-a-blog/</guid><description>Get essential guidance on starting a technical blog, regardless of your tech of choice. Learn the dos and don&apos;ts of blogging about technology.</description><pubDate>Mon, 11 May 2020 00:00:00 GMT</pubDate></item><item><title>State Machines, Light Switches, and Space Travel with Stateless and .NET 8</title><link>https://khalidabuhakmeh.com/posts/state-machines-light-switches-and-space-travel-with-stateless-and-dotnet-8/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/state-machines-light-switches-and-space-travel-with-stateless-and-dotnet-8/</guid><description>Using Stateless to build finite state machines in .NET</description><pubDate>Tue, 04 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Static Abstract Members In C# 11 Interfaces</title><link>https://khalidabuhakmeh.com/posts/static-abstract-members-in-csharp-11-interfaces/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/static-abstract-members-in-csharp-11-interfaces/</guid><description>Using C# 11 preview feature of Static Abstract Members</description><pubDate>Tue, 01 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Stop Entity Framework Core Performance Issues With Interceptors</title><link>https://khalidabuhakmeh.com/posts/stop-entity-framework-core-performance-issues-with-interceptors/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/stop-entity-framework-core-performance-issues-with-interceptors/</guid><description>Using Entity Framework Core&apos;s interceptors to catch performance issues before its too late</description><pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Storing Dynamic User Data With Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/storing-dynamic-user-data-with-ef-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/storing-dynamic-user-data-with-ef-core/</guid><description>Using two strategies to store dynamic user data into a relational table with EF Core</description><pubDate>Tue, 14 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Stream Music Into Any Video Conference</title><link>https://khalidabuhakmeh.com/posts/stream-music-into-any-video-conference/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/stream-music-into-any-video-conference/</guid><description>macOS users will learn how to stream audio into any video conference. Great for virtual parties and online karaoke.</description><pubDate>Thu, 26 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Streaming Vs. Buffered Results With Entity Framework Core 5</title><link>https://khalidabuhakmeh.com/posts/streaming-vs-buffered-results-with-entity-framework-core-5/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/streaming-vs-buffered-results-with-entity-framework-core-5/</guid><description>Learn the differences between streaming and buffering query results when using Entity Framework Core 5. The results might surprise you.</description><pubDate>Tue, 02 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Strongly-Typed Markdown for ASP.NET Core Content Apps</title><link>https://khalidabuhakmeh.com/posts/strongly-typed-markdown-for-aspnet-core-content-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/strongly-typed-markdown-for-aspnet-core-content-apps/</guid><description>Creating a class that can strongly type YAML frontmatter for C#</description><pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Submitting A Dictionary To An ASP.NET MVC Action</title><link>https://khalidabuhakmeh.com/posts/submitting-a-dictionary-to-an-asp-net-mvc-action/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/submitting-a-dictionary-to-an-asp-net-mvc-action/</guid><description>Model-binding a dictionary (key-value pairs) in an ASP.NET MVC is more straightforward than you think. Learn how, in this short and complete post.</description><pubDate>Thu, 10 Sep 2015 00:00:00 GMT</pubDate></item><item><title>Supercharge Blogging With .NET and Ruby Frankenblog</title><link>https://khalidabuhakmeh.com/posts/supercharge-blogging-with-frankenblog/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/supercharge-blogging-with-frankenblog/</guid><description>Explore the powerhouse combination of Ruby, .NET, and .NET OSS to create a blogging starter kit. These tools are for this blog, and you can use them today.</description><pubDate>Thu, 24 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Ace Switch Expressions in C# 8</title><link>https://khalidabuhakmeh.com/posts/switch-expressions-in-csharp-8/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/switch-expressions-in-csharp-8/</guid><description>Learn all you need to know about C# 8 switch expressions. The post includes in-depth C# examples.</description><pubDate>Tue, 13 Oct 2020 00:00:00 GMT</pubDate></item><item><title>System.Text.Json JsonConverter Test Helpers</title><link>https://khalidabuhakmeh.com/posts/systemtextjson-jsonconverter-test-helpers/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/systemtextjson-jsonconverter-test-helpers/</guid><description>A set of extension methods to test JsonConverter Test Helpers</description><pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Taming Your .NET Twitter Bots With Rules</title><link>https://khalidabuhakmeh.com/posts/taming-your-dotnet-twitter-bots-with-rules/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/taming-your-dotnet-twitter-bots-with-rules/</guid><description>Understanding Twitter Data to make your bots behave properly to user interaction</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Testing ASP.NET Core 6 Apps</title><link>https://khalidabuhakmeh.com/posts/testing-aspnet-core-6-apps/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/testing-aspnet-core-6-apps/</guid><description>Using WebApplicationFactory to test ASP.NET Core 6 applications</description><pubDate>Tue, 22 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Testing ASP.NET Core FastEndpoints</title><link>https://khalidabuhakmeh.com/posts/testing-aspnet-core-fastendpoints/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/testing-aspnet-core-fastendpoints/</guid><description>Writing unit tests for the ASP.NET Core web framework FastEndpoints using XUnit</description><pubDate>Tue, 03 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Testing Typesense search with Testcontainers and .NET</title><link>https://khalidabuhakmeh.com/posts/testing-typesense-search-with-testcontainers-and-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/testing-typesense-search-with-testcontainers-and-dotnet/</guid><description>Spin up Typesense in a Docker container for .NET testing with xUnit</description><pubDate>Tue, 12 Dec 2023 00:00:00 GMT</pubDate></item><item><title>The Curious Case of .NET ConcurrentDictionary and Closures</title><link>https://khalidabuhakmeh.com/posts/the-curious-case-of-dotnet-concurrentdictionary-and-closures/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/the-curious-case-of-dotnet-concurrentdictionary-and-closures/</guid><description>ConcurrentDictionary.GetOrAdd has an overload to avoid closures</description><pubDate>Tue, 18 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Understand .NET C#&apos;s == Operator and Equals Method</title><link>https://khalidabuhakmeh.com/posts/the-difference-between-equals-equals-operator-and-equals-method-in-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/the-difference-between-equals-equals-operator-and-equals-method-in-csharp/</guid><description>Learn the difference between C#&apos;s the == operator and the Equals method and when to utilize each. Being a better developer starts with revisiting the basics.</description><pubDate>Sun, 01 Sep 2019 00:00:00 GMT</pubDate></item><item><title>The Difference Between HTML and URL Encode In .NET</title><link>https://khalidabuhakmeh.com/posts/the-difference-between-html-and-url-encode-in-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/the-difference-between-html-and-url-encode-in-dotnet/</guid><description>Learn the differences between HTML and URL encoding using .NET and the WebUtility class.</description><pubDate>Tue, 25 May 2021 00:00:00 GMT</pubDate></item><item><title>The Importance Of Branding Projects</title><link>https://khalidabuhakmeh.com/posts/the-importance-of-branding-projects/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/the-importance-of-branding-projects/</guid><description>Learn to increase visibility for your OSS project by focusing on branding techniques. We&apos;ll take a look at a few projects and initiatives in the .NET space.</description><pubDate>Tue, 08 Sep 2020 00:00:00 GMT</pubDate></item><item><title>The Privilege of .NET Tooling Choices</title><link>https://khalidabuhakmeh.com/posts/the-privilege-of-dotnet-tooling-choices/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/the-privilege-of-dotnet-tooling-choices/</guid><description>How I choose the right .NET development tools for me and my development team</description><pubDate>Tue, 13 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Power Up Jekyll With Thor Commands</title><link>https://khalidabuhakmeh.com/posts/thor-commands-for-jekyll/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/thor-commands-for-jekyll/</guid><description>As a Jekyll blogger, use Ruby and Thor commands to supercharge your blogging experience. Add commands that help queue up posts for a schedule and more.</description><pubDate>Thu, 12 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Top Five Configuration Options For .NET Core</title><link>https://khalidabuhakmeh.com/posts/top-five-configuration-options-for-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/top-five-configuration-options-for-dotnet-core/</guid><description>Picking the right configuration provider for an ASP.NET Core web app can be critical. Learn about the top 5 configuration options to help make the best choice.</description><pubDate>Tue, 03 Sep 2019 00:00:00 GMT</pubDate></item><item><title>Troubleshooting .NET Blazor WASM Debugging</title><link>https://khalidabuhakmeh.com/posts/troubleshooting-dotnet-blazor-wasm-debugging/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/troubleshooting-dotnet-blazor-wasm-debugging/</guid><description>Working through Blazor WASM Debugging issues for JetBrains Rider and Visual Studio</description><pubDate>Tue, 30 Aug 2022 00:00:00 GMT</pubDate></item><item><title>Tunneling VNC Through SSH on macOS</title><link>https://khalidabuhakmeh.com/posts/tunneling-vnc-through-ssh-on-macos/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/tunneling-vnc-through-ssh-on-macos/</guid><description>Learn the basics of tunneling VNC remote viewing through an SSH tunnel on macOS. This post is a step-by-step guide that&apos;s perfect for anyone learning or refreshing their knowledge.</description><pubDate>Thu, 28 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Turning Off macOS Universal Shortcuts</title><link>https://khalidabuhakmeh.com/posts/turn-off-macos-universal-shortcuts/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/turn-off-macos-universal-shortcuts/</guid><description>Universal shortcuts can get in the way of other app&apos;s shortcuts. Learn to turn off annoying shortcut keys like voice over, spotlight, and screenshots when using other apps.</description><pubDate>Thu, 09 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Understand Reading From A File Using C#</title><link>https://khalidabuhakmeh.com/posts/understand-reading-from-a-file-using-csharp/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/understand-reading-from-a-file-using-csharp/</guid><description>Find out what .NET and C# are doing when you read data from a file on disk. An in-depth article to help beginners to experienced developers.</description><pubDate>Thu, 02 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Understand The .NET 5 Runtime Environment</title><link>https://khalidabuhakmeh.com/posts/understand-the-dotnet-five-runtime-environment/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/understand-the-dotnet-five-runtime-environment/</guid><description>Learn to use the .NET 5 RuntimeInformation class to learn more about your .NET application&apos;s environment-processors, operating system, and more.</description><pubDate>Thu, 03 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Unit Test 11ty Pages With Vitest and Typescript</title><link>https://khalidabuhakmeh.com/posts/unit-test-11ty-pages-with-vitest-and-typescript/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/unit-test-11ty-pages-with-vitest-and-typescript/</guid><description>Unit testing 11ty JavaScript templates with Vitest and Typescript</description><pubDate>Tue, 25 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Unit Tests For Legacy Systems with .NET 6</title><link>https://khalidabuhakmeh.com/posts/unit-tests-for-legacy-systems-with-dotnet-6/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/unit-tests-for-legacy-systems-with-dotnet-6/</guid><description>Global usings and stubs make for easier legacy system unit tests in .NET 6</description><pubDate>Tue, 22 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Update HTML Elements with Htmx Triggers and ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/update-html-elements-with-htmx-triggers-and-aspnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/update-html-elements-with-htmx-triggers-and-aspnet-core/</guid><description>Using HX-Trigger response headers you can force UI elements to update when server changes occur</description><pubDate>Tue, 22 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Upgrade Your .NET Console App Experience</title><link>https://khalidabuhakmeh.com/posts/upgraded-dotnet-console-experience/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/upgraded-dotnet-console-experience/</guid><description>Find .NET libraries that can take your console app experience from drab to WOW! In this post, we&apos;ll go through some hidden gems of the OSS .NET community.</description><pubDate>Tue, 03 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Upload A File Using ASP.NET Core</title><link>https://khalidabuhakmeh.com/posts/upload-a-file-using-aspdotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/upload-a-file-using-aspdotnet-core/</guid><description>Learn to upload all files using ASP.NET and multipart HTML Forms. Upload many user files with relative ease. Code samples included.</description><pubDate>Thu, 16 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Use ASP.NET With Turbolinks 5</title><link>https://khalidabuhakmeh.com/posts/use-aspnet-with-turbolinks-5/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/use-aspnet-with-turbolinks-5/</guid><description>Learn to use the popular JavaScript library Turbolinks with an ASP.NET web application. Enhance an existing web app with little to no JavaScript.</description><pubDate>Thu, 22 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Use NEO4J To Find The Shortest Path</title><link>https://khalidabuhakmeh.com/posts/use-neo4j-to-find-the-shortest-path/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/use-neo4j-to-find-the-shortest-path/</guid><description>Use the graph database, NEO4J, to find the shortest path between any two nodes. Code samples included.</description><pubDate>Tue, 28 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Use Range and Index In C# 8</title><link>https://khalidabuhakmeh.com/posts/use-range-and-index-in-csharp-8/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/use-range-and-index-in-csharp-8/</guid><description>Explore .NET types Range and Index and how they can help when working arrays. See working examples in C#.</description><pubDate>Thu, 27 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Use Select Dropdown In ASP.NET Razor</title><link>https://khalidabuhakmeh.com/posts/use-select-dropdown-in-aspdotnet-razor/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/use-select-dropdown-in-aspdotnet-razor/</guid><description>Learn to utilize the Select dropdown in your ASP.NET Core applications with C# models. An approach that JUST WORKS with ASP.NET MVC or Razor pages.</description><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Use TempDataAttribute For Clean Code</title><link>https://khalidabuhakmeh.com/posts/use-tempdataattribute-for-clean-code/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/use-tempdataattribute-for-clean-code/</guid><description>Learn to utilize the TempDataAttribute in an ASP.NET application to keep a codebase clean of code smell. Works in ASP.NET MVC and Razor Pages. See C# samples.</description><pubDate>Tue, 01 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Using ASP.NET Core MVC Value Providers With Minimal APIs</title><link>https://khalidabuhakmeh.com/posts/using-aspnet-core-mvc-value-providers-with-minimal-apis/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-aspnet-core-mvc-value-providers-with-minimal-apis/</guid><description>Using ASP.NET Core MVC mechanisms to enhance model binding in Minimal API apps</description><pubDate>Tue, 10 May 2022 00:00:00 GMT</pubDate></item><item><title>Using .NET To Validate JSON with JSON Schema</title><link>https://khalidabuhakmeh.com/posts/using-dotnet-to-validate-json-with-json-schema/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-dotnet-to-validate-json-with-json-schema/</guid><description>Using .NET OSS project NJsonSchema to validate JSON using C#.</description><pubDate>Tue, 14 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Using Environment Variables In Your .NET Core Builds</title><link>https://khalidabuhakmeh.com/posts/using-environment-variables-in-your-dotnet-core-builds/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-environment-variables-in-your-dotnet-core-builds/</guid><description>Reading Environment variables during .NET Core builds can help change the build artifacts. Learn how simple it can be for continuous integration scenarios.</description><pubDate>Sat, 25 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Using LibMan To Manage Client-Side Dependencies</title><link>https://khalidabuhakmeh.com/posts/using-libman-to-manage-client-side-dependencies/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-libman-to-manage-client-side-dependencies/</guid><description>Using LibMan (Library Manager) with ASP.NET Core apps to manage client-side dependencies like JavaScript libraries.</description><pubDate>Tue, 29 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Using LINQ to Build A World Travel Itinerary</title><link>https://khalidabuhakmeh.com/posts/using-linq-to-build-a-world-travel-itinerary/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-linq-to-build-a-world-travel-itinerary/</guid><description>Use the language integrated query Zip method to combine two collections in this fun yet informative tutorial. Add a new feature of LINQ to your skillset.</description><pubDate>Thu, 16 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Using SQL Server Cursors with Entity Framework Core</title><link>https://khalidabuhakmeh.com/posts/using-sql-server-cursors-with-entity-framework-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-sql-server-cursors-with-entity-framework-core/</guid><description>Using Microsoft SQL Server Cursors with the Entity Framework Core APIs.</description><pubDate>Tue, 17 May 2022 00:00:00 GMT</pubDate></item><item><title>Using StringBuilder To Replace Values</title><link>https://khalidabuhakmeh.com/posts/using-stringbuilder-to-replace-values/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-stringbuilder-to-replace-values/</guid><description>StringBuilder.Replace can be an easy performance boost to updating existing strings</description><pubDate>Tue, 20 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Using XML Documentation With ASP.NET Core Minimal API Apps and OpenAPI</title><link>https://khalidabuhakmeh.com/posts/using-xml-documentation-with-aspnetcore-minimal-api-apps-and-openapi/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/using-xml-documentation-with-aspnetcore-minimal-api-apps-and-openapi/</guid><description>Adding Custom documentation to Minimal API apps and Open API schema in ASP.NET Core</description><pubDate>Tue, 27 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Validating Connection Strings on .NET Startup</title><link>https://khalidabuhakmeh.com/posts/validating-connection-strings-on-dotnet-startup/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/validating-connection-strings-on-dotnet-startup/</guid><description>Using ValidateOnStart to test connections to connection string configuration settings.</description><pubDate>Tue, 07 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Validating SSL Certificates With .NET ServicePointManager</title><link>https://khalidabuhakmeh.com/posts/validating-ssl-certificates-with-dotnet-servicepointmanager/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/validating-ssl-certificates-with-dotnet-servicepointmanager/</guid><description>Learn multiple solutions for un-validated certificate exceptions in your .NET code by implementing this simple C# solution.</description><pubDate>Fri, 11 Apr 2014 00:00:00 GMT</pubDate></item><item><title>Verify User File Uploads With .NET</title><link>https://khalidabuhakmeh.com/posts/verify-user-file-uploads-with-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/verify-user-file-uploads-with-dotnet/</guid><description>Using .NET, verify the data found in uploaded files matches the extension given by the user. Critical to mitigating malicious attacks against your web apps.</description><pubDate>Tue, 21 Apr 2020 00:00:00 GMT</pubDate></item><item><title>VestPocket: File-based Data Storage for AOT .NET Applications</title><link>https://khalidabuhakmeh.com/posts/vestpocket-file-based-data-storage-for-aot-dotnet-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/vestpocket-file-based-data-storage-for-aot-dotnet-applications/</guid><description>VestPocket is a single file data storage using System.Text.Json for JSON serialization</description><pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate></item><item><title>View Transitions API with ASP.NET Core and HTMX</title><link>https://khalidabuhakmeh.com/posts/view-transitions-api-with-aspnet-core-and-htmx/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/view-transitions-api-with-aspnet-core-and-htmx/</guid><description>Using HTMX in ASP.NET Core Razor Pages and MVC to transition smoothly between pages with View Transitions</description><pubDate>Tue, 09 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Vogen and Value Objects with C# and .NET</title><link>https://khalidabuhakmeh.com/posts/vogen-and-value-objects-with-csharp-and-dotnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/vogen-and-value-objects-with-csharp-and-dotnet/</guid><description>Using Value Objects in C# code generated by Vogen</description><pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Watching More Files With Dotnet Watch For Static Sites</title><link>https://khalidabuhakmeh.com/posts/watching-more-files-with-dotnet-watch-for-static-sites/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/watching-more-files-with-dotnet-watch-for-static-sites/</guid><description>Configure dotnet watch to observe more than the default set of file extensions. This article shows how changes to JS, JSON, CSS, and HTML files will rebuild.</description><pubDate>Wed, 22 Jan 2020 00:00:00 GMT</pubDate></item><item><title>What is HSTS and why is it in my ASP.NET Core app?</title><link>https://khalidabuhakmeh.com/posts/what-is-hsts-and-why-is-it-in-my-aspnet-core-app/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/what-is-hsts-and-why-is-it-in-my-aspnet-core-app/</guid><description>What is HTTP Strict Transport Security and why is it in ASP.NET Core</description><pubDate>Tue, 18 Jun 2024 00:00:00 GMT</pubDate></item><item><title>What Is Razor - ASP.NET</title><link>https://khalidabuhakmeh.com/posts/what-is-razor-aspnet/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/what-is-razor-aspnet/</guid><description>We&apos;ll explore the question, what is Razor and how it relates to ASP.NET</description><pubDate>Tue, 04 May 2021 00:00:00 GMT</pubDate></item><item><title>What Should I Dispose with .NET Database Connections?</title><link>https://khalidabuhakmeh.com/posts/what-should-i-dispose-with-dotnet-database-connections/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/what-should-i-dispose-with-dotnet-database-connections/</guid><description>Looking at disposing of DbConnection, DbDataReader, and DbCommand in .NET</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Working With .NET Console Host Lifetime Events</title><link>https://khalidabuhakmeh.com/posts/working-with-dotnet-console-host-lifetime-events/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/working-with-dotnet-console-host-lifetime-events/</guid><description>Learn to work with `IHostBuilder` and `IHostApplicationLifetime` to run worker services in .NET 5 and greater</description><pubDate>Tue, 18 May 2021 00:00:00 GMT</pubDate></item><item><title>Working With .NET 6&apos;s PriorityQueue</title><link>https://khalidabuhakmeh.com/posts/working-with-dotnet-six-priorityqueue/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/working-with-dotnet-six-priorityqueue/</guid><description>Learn about .NET 6 PriorityQueue data structure and how to set priority using IComparer.</description><pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Working with Rust Libraries from C# .NET Applications</title><link>https://khalidabuhakmeh.com/posts/working-with-rust-libraries-from-csharp-dotnet-applications/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/working-with-rust-libraries-from-csharp-dotnet-applications/</guid><description>I&apos;ve been on a Rust learning journey lately, and it&apos;s had me thinking about how I can consume Rust libraries from</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Work With Xamarin.Forms And Lottie Motion Graphics</title><link>https://khalidabuhakmeh.com/posts/working-with-xamarin-forms-and-motion-graphics/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/working-with-xamarin-forms-and-motion-graphics/</guid><description>Learn to integrate Lottie motion graphics into your Xamarin.Forms applications to add some visual excitement. Included are sample code and GitHub repo.</description><pubDate>Thu, 10 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Write And Use IEqualityComparer in C#</title><link>https://khalidabuhakmeh.com/posts/write-and-use-iequalitycomparer/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/write-and-use-iequalitycomparer/</guid><description>Learn to use the .NET interface IEqualityComparer to build custom comparison code. The interface can help with defining logical equality for unique circumstances.</description><pubDate>Tue, 14 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Write Unit Tests With F# and XUnit</title><link>https://khalidabuhakmeh.com/posts/write-unit-tests-with-fsharp-and-xunit/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/write-unit-tests-with-fsharp-and-xunit/</guid><description>Learn to use F# syntax to write terse XUnit tests for your .NET applications.</description><pubDate>Thu, 30 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Write Xamarin.Mac Apps With JetBrains Rider</title><link>https://khalidabuhakmeh.com/posts/write-xamarin-mac-apps-with-jetbrains-rider/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/write-xamarin-mac-apps-with-jetbrains-rider/</guid><description>Learn to use JetBrains Rider to build a .NET Xamarin powered mac native application. The post includes a C# sample project and GitHub Repository.</description><pubDate>Thu, 23 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Writing a Cross-Platform Clock App With Avalonia UI and NXUI</title><link>https://khalidabuhakmeh.com/posts/writing-a-cross-platform-clock-app-with-avalonia-ui-and-nxui/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/writing-a-cross-platform-clock-app-with-avalonia-ui-and-nxui/</guid><description>Using Avalonia UI to build a cross-platform .NET clock app for Window, macOS, and Linux using NXUI.</description><pubDate>Tue, 18 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Writing a String Numeric Comparer with .NET 9</title><link>https://khalidabuhakmeh.com/posts/writing-a-string-numeric-comparer-with-dotnet-9/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/writing-a-string-numeric-comparer-with-dotnet-9/</guid><description>Comparing and sorting string values with numbers in them with .NET 9</description><pubDate>Tue, 07 Jan 2025 00:00:00 GMT</pubDate></item><item><title>XUnit Tests, JetBrains Rider, and Counting Until Failure</title><link>https://khalidabuhakmeh.com/posts/xunit-tests-jetbrains-rider-and-counting-until-failure/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/xunit-tests-jetbrains-rider-and-counting-until-failure/</guid><description>Using JetBrains Rider &apos;Run Selected Tests Until Failure&apos; and XUnit to count iterations until failure</description><pubDate>Tue, 23 May 2023 00:00:00 GMT</pubDate></item><item><title>Generate YouTube Thumbnails with ImageSharp and .NET Core</title><link>https://khalidabuhakmeh.com/posts/youtube-thumbnails-imagesharp-dotnet-core/</link><guid isPermaLink="true">https://khalidabuhakmeh.com/posts/youtube-thumbnails-imagesharp-dotnet-core/</guid><description>Using .NET Core and ImageSharp, we can generate social media cards to promote our content on blog posts and YouTube channels.</description><pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate></item></channel></rss>