41554 blogs · [ { "id": "01a087e6-2a6f-7288-980d-315cc31a6e65", "title": "Encrypting Properties with System.Text.Json and a TypeInfoResolver Modifier (Part 2)", "url": "https://www.stevejgordon.co.uk/encrypting-properties-with-system-text-json-and-a-typeinforesolver-modifier-part-2", "published_at": "2026-02-05T15:15:17+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc34b9897", "title": "The Grand Mystery of the Missing 18 Bytes", "url": "https://www.stevejgordon.co.uk/the-grand-mystery-of-the-missing-18-bytes", "published_at": "2026-01-28T15:33:29+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc35fc10f", "title": "Talk: Application Performance Optimisation in Practice (60 mins)", "url": "https://www.stevejgordon.co.uk/talk-application-performance-optimisation-in-practice-60-mins", "published_at": "2026-01-27T16:31:56+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc3988480", "title": "Encrypting Properties with System.Text.Json and a TypeInfoResolver Modifier (Part 1)", "url": "https://www.stevejgordon.co.uk/encrypting-properties-with-system-text-json-and-a-typeinforesolver-modifier-part-1", "published_at": "2026-01-14T15:09:54+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc48805cd", "title": "How dotnet.exe resolves and loads the hostfxr library – Exploring the .NET muxer", "url": "https://www.stevejgordon.co.uk/how-dotnet-muxer-resolves-and-loads-the-hostfxr-library", "published_at": "2024-11-08T10:11:59+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc4a60160", "title": "A Brief Introduction to the .NET Muxer (aka dotnet.exe)", "url": "https://www.stevejgordon.co.uk/a-brief-introduction-to-the-dotnet-muxer", "published_at": "2024-10-25T08:57:43+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc582bee4", "title": "Implementing ASP.NET Core Automatic Span (Activity) Linking for Internal Redirects with Middleware on .NET 9", "url": "https://www.stevejgordon.co.uk/implementing-aspnetcore-span-linking-for-redirects-with-middleware", "published_at": "2024-10-08T07:20:31+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc63fc0f1", "title": "An Efficient Dictionary for IPAddress Tracking using .NET 9 with AlternateLookup and IAlternateEqualityComparer", "url": "https://www.stevejgordon.co.uk/efficient-dictionary-for-ipaddress-tracking-using-net-9-with-alternatelookup-and-ialternateequalitycomparer", "published_at": "2024-10-02T08:58:07+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc73da095", "title": "Receiving GitHub Webhooks When Using the ASP.NET Core Developer Certificate", "url": "https://www.stevejgordon.co.uk/receiving-github-webhooks-when-using-the-aspnetcore-developer-certificate", "published_at": "2024-09-24T09:46:37+00:00" }, { "id": "01a087e6-2a6f-7288-980d-315cc7eb0f1e", "title": "Disabling Recording of an Activity (span) in .NET OpenTelemetry Instrumentation", "url": "https://www.stevejgordon.co.uk/disabling-recording-of-an-activity-span-in-dotnet-opentelemetry-instrumentation", "published_at": "2024-09-18T11:30:07+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab648b45edb", "title": "Understanding System.Diagnostics DiagnosticSource and DiagnosticListener (Part 1)", "url": "https://www.stevejgordon.co.uk/understanding-system-diagnostics-diagnosticsource-and-diagnosticlistener-part-1", "published_at": "2024-03-11T20:03:36+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab649aab732", "title": "Authenticating a .NET GitHub App using a JSON Web Token (JWT)", "url": "https://www.stevejgordon.co.uk/authenticating-a-github-app-using-a-json-web-token-in-dotnet", "published_at": "2024-01-15T13:22:30+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64a81bab0", "title": "Profiling Memory Allocations on Linux using the JetBrains dotMemory Command-Line Profiler", "url": "https://www.stevejgordon.co.uk/profiling-memory-allocations-on-linux-using-the-jetbrains-dotmemory-command-line-profiler", "published_at": "2023-11-30T13:26:57+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64ac72721", "title": "Automating Memory Profiling with the JetBrains dotMemory Profiler API", "url": "https://www.stevejgordon.co.uk/automating-memory-profiling-with-the-jetbrains-dotmemory-profiler-api", "published_at": "2023-11-10T12:24:01+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64b7adac5", "title": "Introducing the new IHostedLifecycleService Interface in .NET 8", "url": "https://www.stevejgordon.co.uk/introducing-the-new-ihostedlifecycleservice-interface-in-dotnet-8", "published_at": "2023-08-09T12:39:17+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64bf47260", "title": "Concurrent Hosted Service Start and Stop in .NET 8", "url": "https://www.stevejgordon.co.uk/concurrent-hosted-service-start-and-stop-in-dotnet-8", "published_at": "2023-05-17T11:44:43+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64c849d8b", "title": "Accessing State in System.Text.Json Custom Converters", "url": "https://www.stevejgordon.co.uk/accessing-state-in-system-text-json-custom-converters", "published_at": "2022-10-18T12:30:04+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64ccb7d67", "title": "Creating, Inspecting and Decompiling the World’s (Nearly) Smallest C# Program", "url": "https://www.stevejgordon.co.uk/creating-inspecting-decompiling-the-worlds-smallest-csharp-program", "published_at": "2022-06-15T08:03:07+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64d930d3c", "title": "Using the Roslyn APIs to Analyse a .NET Solution", "url": "https://www.stevejgordon.co.uk/using-the-roslyn-apis-to-analyse-a-dotnet-solution", "published_at": "2022-04-13T07:52:56+00:00" }, { "id": "01a0d2ae-93d4-72c2-8676-6ab64e549a11", "title": "Custom JSON Serialisation with System.Text.Json Converters", "url": "https://www.stevejgordon.co.uk/custom-json-serialisation-with-system-text-json-converters", "published_at": "2021-12-11T16:20:56+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-31823430e4e9", "title": "Playing with System.Text.Json Source Generators", "url": "https://www.stevejgordon.co.uk/playing-with-system-text-json-source-generators", "published_at": "2021-08-16T12:10:45+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318234780731", "title": "How Does the StringBuilder Work in .NET? (Part 3)", "url": "https://www.stevejgordon.co.uk/how-does-the-stringbuilder-work-in-net-part-3-how-appending-works-and-the-stringbuilder-expands", "published_at": "2021-07-28T12:30:32+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318235773915", "title": "How Does the StringBuilder Work in .NET? (Part 2)", "url": "https://www.stevejgordon.co.uk/how-does-the-stringbuilder-work-in-dotnet-part-2-understanding-the-overhead", "published_at": "2021-07-08T12:52:38+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-31823610c7d7", "title": "How Does the StringBuilder Work in .NET? (Part 1)", "url": "https://www.stevejgordon.co.uk/how-does-the-stringbuilder-work-in-dotnet-part-1-why-do-we-need-a-stringbuilder-and-when-should-we-use-one", "published_at": "2021-07-05T12:20:00+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318236a9afae", "title": "Using DateOnly and TimeOnly in .NET 6", "url": "https://www.stevejgordon.co.uk/using-dateonly-and-timeonly-in-dotnet-6", "published_at": "2021-05-25T12:51:21+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318236e951d8", "title": "Getting Started with GitHub Actions for .NET Developers", "url": "https://www.stevejgordon.co.uk/getting-started-with-github-actions-for-dotnet-developers", "published_at": "2021-05-13T08:25:16+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318237352fde", "title": "String Manipulation in C#: Best Practices", "url": "https://www.stevejgordon.co.uk/string-manipulation-in-csharp-best-practices", "published_at": "2021-05-10T12:58:15+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-3182380d7cd5", "title": "Getting Started with the Roslyn APIs: Writing Code with Code", "url": "https://www.stevejgordon.co.uk/getting-started-with-the-roslyn-apis-writing-code-with-code", "published_at": "2021-03-22T09:26:53+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-318238c4d49e", "title": "ASP.NET Core Dependency Injection: What is the IServiceProvider and how is it Built?", "url": "https://www.stevejgordon.co.uk/aspnet-core-dependency-injection-what-is-the-iserviceprovider-and-how-is-it-built", "published_at": "2021-02-25T09:18:44+00:00" }, { "id": "01a0d2af-4ed6-72b0-bc5d-3182395f8612", "title": "ASP.NET Core Dependency Injection: What is the IServiceCollection?", "url": "https://www.stevejgordon.co.uk/aspnet-core-dependency-injection-what-is-the-iservicecollection", "published_at": "2021-02-16T12:32:59+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814ec25d682", "title": "Dream Big: Three Months in at Elastic", "url": "https://www.stevejgordon.co.uk/dream-big-three-months-in-at-elastic", "published_at": "2021-02-05T11:33:21+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814eca6a627", "title": "How to Become a Better Developer by Asking Questions", "url": "https://www.stevejgordon.co.uk/how-to-become-a-better-developer-by-asking-questions", "published_at": "2021-01-13T11:11:48+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814ed31d894", "title": "Playing with C#9 Top-level Programs, Records and Elasticsearch.NET", "url": "https://www.stevejgordon.co.uk/playing-with-csharp-9-top-level-programs-records-and-elasticsearch-dotnet", "published_at": "2020-12-16T08:51:02+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814ed7f63ff", "title": "Additional HTTP, Sockets, DNS and TLS Telemetry in .NET 5", "url": "https://www.stevejgordon.co.uk/additional-http-sockets-dns-and-tls-telemetry-in-dotnet-5", "published_at": "2020-10-30T13:08:55+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814edfe6166", "title": ".NET Internals: System.Threading.Channels – UnboundedChannel Part 3", "url": "https://www.stevejgordon.co.uk/dotnet-internals-system-threading-channels-unboundedchannelt-part-3", "published_at": "2020-10-14T12:31:28+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814ee8731d7", "title": ".NET Internals: System.Threading.Channels – UnboundedChannel Part 2", "url": "https://www.stevejgordon.co.uk/dotnet-internals-system-threading-channels-unboundedchannel-part-2", "published_at": "2020-10-07T14:32:52+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814eed9b55c", "title": ".NET Internals: System.Threading.Channels – UnboundedChannel (Part 1)", "url": "https://www.stevejgordon.co.uk/dotnet-internals-system-threading-channels-unboundedchannel-part-1", "published_at": "2020-10-06T15:19:05+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814ef572cb4", "title": ".NET Performance Optimisations Don’t Have to be Complex", "url": "https://www.stevejgordon.co.uk/dotnet-performance-optimisations-dont-have-to-be-complex", "published_at": "2020-09-16T12:14:07+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814efafec4d", "title": "Integration Testing ASP.NET Core Applications: Best Practices", "url": "https://www.stevejgordon.co.uk/integration-testing-asp-net-core-applications-best-practices", "published_at": "2020-08-11T11:44:23+00:00" }, { "id": "01a0d2af-c084-72f0-b950-6814f0463eba", "title": ".NET on AWS: Introducing Docker ECS Integration", "url": "https://www.stevejgordon.co.uk/dotnet-on-aws-introducing-docker-ecs-integration", "published_at": "2020-07-20T12:37:46+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eaa051007", "title": ".NET on AWS: Pushing a .NET Docker Image to Amazon ECR", "url": "https://www.stevejgordon.co.uk/dotnet-on-aws-pushing-a-dotnet-docker-image-to-amazon-ecr", "published_at": "2020-07-16T09:47:26+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eaa06a002", "title": "Deep Dive: How is the ASP.NET Core Middleware Pipeline Built?", "url": "https://www.stevejgordon.co.uk/how-is-the-asp-net-core-middleware-pipeline-built", "published_at": "2020-07-14T12:00:21+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eab0265a2", "title": "Architecting a Cloud-Native Service with .NET and AWS", "url": "https://www.stevejgordon.co.uk/architecting-a-cloud-native-service-with-dotnet-and-aws", "published_at": "2020-05-27T12:06:08+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eab1a22a2", "title": "Credential Loading and the AWS SDK for .NET (Deep Dive)", "url": "https://www.stevejgordon.co.uk/credential-loading-and-the-aws-sdk-for-dotnet-deep-dive", "published_at": "2020-05-12T13:05:29+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eab58628d", "title": "Do We Have an Obsession with Ducks in Software Development?", "url": "https://www.stevejgordon.co.uk/do-we-have-an-obsession-with-ducks-in-software-development", "published_at": "2020-04-28T12:24:21+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eabc77b69", "title": "Creating a ReadOnlySequence from Array Data", "url": "https://www.stevejgordon.co.uk/creating-a-readonlysequence-from-array-data-in-dotnet", "published_at": "2020-04-15T11:55:19+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eac56b2ad", "title": "How are .NET APIs Designed?", "url": "https://www.stevejgordon.co.uk/how-are-dotnet-apis-designed", "published_at": "2020-04-06T12:56:38+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eaccf12a7", "title": "Pluralsight #FreeApril: Month-Long Free Access to 7000+ Courses", "url": "https://www.stevejgordon.co.uk/pluralsight-freeapril-month-long-free-trial", "published_at": "2020-04-02T14:16:21+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eadab8a0d", "title": "Sending and Receiving JSON using HttpClient with System.Net.Http.Json", "url": "https://www.stevejgordon.co.uk/sending-and-receiving-json-using-httpclient-with-system-net-http-json", "published_at": "2020-03-31T13:10:46+00:00" }, { "id": "01a0d2b0-33f2-7047-8764-fd2eae066821", "title": "What Are .NET Worker Services?", "url": "https://www.stevejgordon.co.uk/what-are-dotnet-worker-services", "published_at": "2020-03-30T13:28:29+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbd8223ca3", "title": "A Lesson Learnt: Test Explorer Processor Architecture Settings", "url": "https://www.stevejgordon.co.uk/a-lesson-learnt-test-explorer-processor-architecture-settings", "published_at": "2020-03-27T14:02:22+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbd8831261", "title": "Using HttpCompletionOption to Improve HttpClient Performance in .NET", "url": "https://www.stevejgordon.co.uk/using-httpcompletionoption-responseheadersread-to-improve-httpclient-performance-dotnet", "published_at": "2020-03-25T14:27:59+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbd8f475bd", "title": "Building ASP.NET Core Hosted Services and .NET Core Worker Services", "url": "https://www.stevejgordon.co.uk/building-asp-net-core-hosted-services-and-net-core-worker-services", "published_at": "2020-03-23T14:14:06+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbd98ede34", "title": "ASP.NET Core 5 Features – Introducing HttpProtocol", "url": "https://www.stevejgordon.co.uk/asp-net-core-5-features-introducing-httpprotocol", "published_at": "2020-03-18T16:43:00+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbda643874", "title": "Upgrading from ASP.NET Core 3.1 to 5.0 (Preview 1)", "url": "https://www.stevejgordon.co.uk/upgrading-from-asp-net-core-3-1-to-5-0-preview-1", "published_at": "2020-03-17T14:46:59+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbdac1aab2", "title": "Anonymous Aware Middleware with Endpoint Routing and Healthchecks", "url": "https://www.stevejgordon.co.uk/anonymous-aware-middleware-with-endpoint-routing-and-healthchecks", "published_at": "2020-02-13T13:41:39+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbdb5d66eb", "title": "Become a Better Developer by Reading Source Code", "url": "https://www.stevejgordon.co.uk/become-a-better-developer-by-reading-source-code", "published_at": "2020-01-28T14:26:05+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbdbd65314", "title": "C# 8.0: Understanding Using Declarations", "url": "https://www.stevejgordon.co.uk/csharp-8-understanding-using-declarations", "published_at": "2020-01-14T14:42:13+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbdc65a821", "title": "Become a Better Developer Through Blogging", "url": "https://www.stevejgordon.co.uk/become-a-better-developer-through-blogging-part-1", "published_at": "2020-01-08T14:52:33+00:00" }, { "id": "01a0d2b0-96f7-7098-acb2-7bfbdcb06359", "title": "Getting Started with the AWS SDK in .NET Core", "url": "https://www.stevejgordon.co.uk/getting-started-with-the-aws-sdk-in-net-core-part-1", "published_at": "2020-01-07T14:52:17+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd453aa090", "title": "Year in Review 2019", "url": "https://www.stevejgordon.co.uk/year-in-review-2019", "published_at": "2020-01-02T13:42:35+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd462c4926", "title": "HttpClient Connection Pooling in .NET Core", "url": "https://www.stevejgordon.co.uk/httpclient-connection-pooling-in-dotnet-core", "published_at": "2019-11-19T12:55:20+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd46f420d6", "title": "High-Performance Logging in .NET Core", "url": "https://www.stevejgordon.co.uk/high-performance-logging-in-net-core", "published_at": "2019-11-14T13:59:56+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd471201b6", "title": "TimeZoneNotFoundException in Alpine Based Docker Images", "url": "https://www.stevejgordon.co.uk/timezonenotfoundexception-in-alpine-based-docker-images", "published_at": "2019-11-12T13:54:11+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd47ef95f3", "title": "Health Checks with gRPC and ASP.NET Core 3.0", "url": "https://www.stevejgordon.co.uk/health-checks-with-grpc-and-asp-net-core-3", "published_at": "2019-10-15T11:50:31+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd485c784f", "title": "gRPC Response Compression with ASP.NET Core 3.0", "url": "https://www.stevejgordon.co.uk/grpc-response-compression-with-asp-net-core", "published_at": "2019-10-08T12:10:18+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd4933540f", "title": "Server Streaming with gRPC and .NET Core", "url": "https://www.stevejgordon.co.uk/server-streaming-with-grpc-in-asp-dotnet-core", "published_at": "2019-10-02T12:17:37+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd49ad5a33", "title": "Using Configuration and Options in .NET Core and ASP.NET Core Apps", "url": "https://www.stevejgordon.co.uk/using-configuration-and-options-in-dotnet-core-and-aspnet-core-apps", "published_at": "2019-09-25T11:55:09+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd4aab1bdc", "title": "Creating gRPC .NET Core Client Libraries", "url": "https://www.stevejgordon.co.uk/creating-grpc-net-core-client-libraries", "published_at": "2019-09-24T15:57:02+00:00" }, { "id": "01a0d2b1-0959-72e4-beb3-d4bd4adc8231", "title": "An Introduction to SequenceReader", "url": "https://www.stevejgordon.co.uk/an-introduction-to-sequencereader", "published_at": "2019-09-05T11:23:48+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd682c7e5", "title": "An Introduction to System.Threading.Channels", "url": "https://www.stevejgordon.co.uk/an-introduction-to-system-threading-channels", "published_at": "2019-08-20T14:50:42+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd70e291d", "title": "Getting Started with gRPC Client Factory", "url": "https://www.stevejgordon.co.uk/getting-started-with-grpc-client-factory-in-asp-net-core", "published_at": "2019-08-14T16:20:47+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd7ca4ee1", "title": "Using the BodyReader and BodyWriter in ASP.NET Core 3.0", "url": "https://www.stevejgordon.co.uk/using-the-bodyreader-and-bodywriter-in-asp-net-core-3-0", "published_at": "2019-06-27T12:01:31+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd842da0a", "title": "Using High-Performance Techniques to Base64 Encode a GUID", "url": "https://www.stevejgordon.co.uk/using-high-performance-dotnetcore-csharp-techniques-to-base64-encode-a-guid", "published_at": "2019-06-20T12:18:07+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd8b8ba43", "title": "Analysing the Large Object Heap in JetBrains dotMemory", "url": "https://www.stevejgordon.co.uk/analysing-the-large-object-heap-in-jetbrains-dotmemory", "published_at": "2019-05-24T11:42:55+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd8c66291", "title": "Interpreting the .NET Core Memory Timeline in JetBrains dotMemory", "url": "https://www.stevejgordon.co.uk/interpreting-the-dotnet-core-memory-timeline-in-jetbrains-dotmemory", "published_at": "2019-05-23T11:44:42+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd911c737", "title": "Profiling .NET Core Memory Traffic using JetBrains dotMemory", "url": "https://www.stevejgordon.co.uk/profiling-dotnetcore-memory-traffic-using-jetbrains-dotmemory", "published_at": "2019-05-22T11:57:29+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd92b276b", "title": "Creating Strings with No Allocation Overhead Using String.Create", "url": "https://www.stevejgordon.co.uk/creating-strings-with-no-allocation-overhead-using-string-create-csharp", "published_at": "2019-05-17T11:51:32+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfd9f53438", "title": "Demystifying HttpClient Internals: HttpResponseMessage", "url": "https://www.stevejgordon.co.uk/demystifying-httpclient-internals-httpresponsemessage", "published_at": "2019-04-18T11:41:15+00:00" }, { "id": "01a0d2b1-7cc3-72cc-995a-d9dfda8899e8", "title": "Demystifying HttpClient Internals", "url": "https://www.stevejgordon.co.uk/demystifying-httpclient-internals-sendasync-flow-for-httprequestmessage", "published_at": "2019-03-08T13:09:15+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557d1210ee", "title": "Campaigning for a .NET Foundation Board Seat", "url": "https://www.stevejgordon.co.uk/campaigning-for-a-dotnet-foundation-board-seat", "published_at": "2019-03-07T13:06:47+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557d3d10c5", "title": "An Early Look at gRPC and ASP.NET Core 3.0", "url": "https://www.stevejgordon.co.uk/early-look-at-grpc-using-aspnet-core-3", "published_at": "2019-02-26T20:58:55+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557d6abf00", "title": "An Introduction to Optimising Code Using Span", "url": "https://www.stevejgordon.co.uk/an-introduction-to-optimising-code-using-span-t", "published_at": "2019-02-25T16:59:43+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557d950ec6", "title": "HttpClient Creation and Disposal Internals: Should I Dispose of HttpClient?", "url": "https://www.stevejgordon.co.uk/httpclient-creation-and-disposal-internals-should-i-dispose-of-httpclient", "published_at": "2019-02-21T13:30:54+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557e55153f", "title": "Introduction to Benchmarking C# Code with Benchmark .NET", "url": "https://www.stevejgordon.co.uk/introduction-to-benchmarking-csharp-code-with-benchmark-dot-net", "published_at": "2019-02-19T12:37:58+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557ecc28ed", "title": "Motivations for Writing High-Performance C# Code", "url": "https://www.stevejgordon.co.uk/motivations-for-writing-high-performance-csharp-code", "published_at": "2019-02-18T12:40:29+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557ee94a42", "title": "Running AWS S3 (Simple Storage Service) Locally for .NET Core Developers", "url": "https://www.stevejgordon.co.uk/running-aws-s3-simple-storage-service-using-docker-for-net-core-developers", "published_at": "2019-01-25T15:26:12+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557f1b1bd4", "title": "Publishing to AWS Simple Notification Service (SNS) from ASP.NET Core", "url": "https://www.stevejgordon.co.uk/publishing-to-aws-simple-notification-service-sns-from-asp-net-core", "published_at": "2019-01-08T12:52:12+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec557ff989d5", "title": "ASP.NET Core 2.2 – Options Validation", "url": "https://www.stevejgordon.co.uk/asp-net-core-2-2-options-validation", "published_at": "2018-11-07T14:15:18+00:00" }, { "id": "01a0d2b1-cf0c-7151-b0ca-ec5580213fe1", "title": "Passing an ILogger to Polly Policies", "url": "https://www.stevejgordon.co.uk/passing-an-ilogger-to-polly-policies", "published_at": "2018-10-16T11:59:31+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-2878243c2642", "title": "Running AWS DynamoDB Locally for .NET Core Developers", "url": "https://www.stevejgordon.co.uk/running-aws-dynamodb-locally-for-net-core-developers", "published_at": "2018-09-03T12:06:43+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-287824846004", "title": "ASP.NET Core 2.2 First Look – Endpoint Routing (aka Dispatcher)", "url": "https://www.stevejgordon.co.uk/asp-net-core-first-look-at-global-routing-dispatcher", "published_at": "2018-08-17T12:37:30+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-287824b8da7e", "title": "Running a .NET Core Generic Host App as a Windows Service", "url": "https://www.stevejgordon.co.uk/running-net-core-generic-host-applications-as-a-windows-service", "published_at": "2018-08-13T19:21:51+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-2878255e2f98", "title": "Working with Polly – Using the Context to Obtain the Retry Count for Diagnostics", "url": "https://www.stevejgordon.co.uk/polly-using-context-to-obtain-retry-count-diagnostics", "published_at": "2018-07-23T16:31:05+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-287825bbfbae", "title": "HttpClientFactory in ASP.NET Core 2.1 (Part 5): Logging", "url": "https://www.stevejgordon.co.uk/httpclientfactory-asp-net-core-logging", "published_at": "2018-07-09T11:45:18+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-2878265defc9", "title": "IHttpClientFactory Patterns: Using Typed Clients from Singleton Services", "url": "https://www.stevejgordon.co.uk/ihttpclientfactory-patterns-using-typed-clients-from-singleton-services", "published_at": "2018-06-11T12:23:52+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-2878269f37b2", "title": "How to record metrics to DataDog from ASP.NET Core", "url": "https://www.stevejgordon.co.uk/record-metrics-datadog-asp-net-core-aws-ecs", "published_at": "2018-06-04T11:59:15+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-287826c72626", "title": "HttpClientFactory in ASP.NET Core 2.1 (Part 4)", "url": "https://www.stevejgordon.co.uk/httpclientfactory-using-polly-for-transient-fault-handling", "published_at": "2018-06-01T12:55:58+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-287827550817", "title": ".NET South East – May Event", "url": "https://www.stevejgordon.co.uk/net-south-east-new-speakers-night", "published_at": "2018-05-17T12:31:41+00:00" }, { "id": "01a0d2b2-410f-7269-9f6e-2878277c2a67", "title": "ASP.NET Core Dependency Injection – Registering Implementations Using Delegates", "url": "https://www.stevejgordon.co.uk/asp-net-core-dependency-injection-registering-implementations-using-delegates", "published_at": "2018-05-09T17:26:32+00:00" } ] posts Claim your blog
Back to stevejgordon.co.uk
Blog · corpus.blog/blogs/stevejgordon.co.uk/posts

stevejgordon.co.uk

stevejgordon.co.uk

2026

2024

2023

2022

2021

2020

2019

2018