41554 blogs · [ { "id": "01a08768-2fe5-70b4-85ec-982df9f6cab1", "title": "Vibe Coding vs Coding with AI", "url": "https://www.darrenhorrocks.co.uk/vibe-coding-vs-coding-with-ai/", "published_at": "2026-06-30T12:59:17+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfaf382cc", "title": "Why I Built My Own Solar Forecasting Tool (To Destroy My Energy Bills)", "url": "https://www.darrenhorrocks.co.uk/why-i-built-my-own-solar-forecasting-tool/", "published_at": "2026-06-12T21:17:01+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfb0fc626", "title": "Amazon Q is Indescribably Bad", "url": "https://www.darrenhorrocks.co.uk/amazon-q-is-terrible/", "published_at": "2026-06-12T11:53:44+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfb641207", "title": "Windows 10 Is Dying, but Gaming (and working) on Linux Is Easy", "url": "https://www.darrenhorrocks.co.uk/windows-10-dying-but-gaming-and-working-linux-easy/", "published_at": "2025-10-07T09:08:00+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfc631286", "title": "Why Event Driven Systems Are Not That Hard", "url": "https://www.darrenhorrocks.co.uk/why-event-driven-systems-are-not-that-hard/", "published_at": "2025-09-16T11:42:34+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfca640f2", "title": "How to Upgrade Windows 10 to Windows 11 on Unsupported Hardware (Step-by-Step with Rufus)", "url": "https://www.darrenhorrocks.co.uk/how-to-upgrade-windows-10-to-windows-11-unsupported-hardware-stepbystep-with-rufus/", "published_at": "2025-09-11T12:25:45+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfcc53725", "title": "Why UUIDs Beat Integers as Primary Keys (And Why Performance Isn’t the Issue)", "url": "https://www.darrenhorrocks.co.uk/why-uuids-beat-integers-as-primary-keys-and-why-performance-isnt-issue/", "published_at": "2025-09-08T21:53:04+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfdae2bf6", "title": "The Lie You Are Being Told About AI and Junior Developers", "url": "https://www.darrenhorrocks.co.uk/lie-you-are-being-told-about-ai-junior-developers/", "published_at": "2025-08-19T12:32:57+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfdba82a8", "title": "The C# Mistake You're Probably Making with Memory", "url": "https://www.darrenhorrocks.co.uk/c-mistake-youre-probably-making-with-memory/", "published_at": "2025-08-19T12:22:21+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfe3f1e58", "title": "Don't Buffer, Stream! How IAsyncEnumerable Solves API Performance Issues", "url": "https://www.darrenhorrocks.co.uk/dont-buffer-stream-how-iasyncenumerablet-solves-api-performance-issues/", "published_at": "2025-08-18T10:34:34+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dfe91285e", "title": "Most Unit Tests Are a Waste of Time, but You Need to Write Them Anyway", "url": "https://www.darrenhorrocks.co.uk/most-unit-tests-are-waste-time-but-you-need-to-write-them-anyway/", "published_at": "2025-07-26T19:03:53+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dff165e80", "title": "Snap Unsnapped: Why Ubuntu's Packaging Isn't the Universal Dream You Were Promised", "url": "https://www.darrenhorrocks.co.uk/snap-unsnapped-why-ubuntus-packaging-isnt-universal-dream-you-were-promised/", "published_at": "2025-07-22T20:38:31+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982dff4bbbbd", "title": "Why Leetcode Style Interview Tests Are Bullshit", "url": "https://www.darrenhorrocks.co.uk/why-leetcode-style-interview-tests-are-bullshit/", "published_at": "2025-06-09T08:24:04+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982e004989df", "title": "The Darker Side of Tech Layoffs (it's darker than it seems)", "url": "https://www.darrenhorrocks.co.uk/darker-side-tech-layoffs-its-darker-than-it-seems/", "published_at": "2025-05-14T11:56:37+00:00" }, { "id": "01a08768-2fe5-70b4-85ec-982e013e3431", "title": "AI is Making Developers Lazy: RIP Core Coding Skills", "url": "https://www.darrenhorrocks.co.uk/ai-making-developers-lazy-rip-core-coding-skills/", "published_at": "2025-05-07T11:53:44+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca57cd01f", "title": "The Optimisation Lie: Why Your 'Optimised' Code Might Still Be Slow", "url": "https://www.darrenhorrocks.co.uk/optimisation-lie-why-your-optimised-code-might-still-be-slow/", "published_at": "2025-05-01T08:57:02+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca670caf3", "title": "The Dirty Secret of Clean Code: When Breaking Programming Principles Makes You a Better Developer", "url": "https://www.darrenhorrocks.co.uk/dirty-secret-clean-code-when-breaking-programming-principles-makes-you-better-developer/", "published_at": "2025-04-08T12:02:53+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca6f68078", "title": "AI Is Smart Because You Are Stupid", "url": "https://www.darrenhorrocks.co.uk/ai-is-smart-because-you-are-stupid/", "published_at": "2025-03-30T20:55:08+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca7697eb9", "title": ".NET Aspire - Microsoft's Attempt at Infrastructure as Code", "url": "https://www.darrenhorrocks.co.uk/net-aspire-microsofts-attempt-at-infrastructure-as-code/", "published_at": "2025-03-28T10:21:43+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca799275d", "title": "Understanding Garbage Collection - How the dotnet Garbage Collector Works", "url": "https://www.darrenhorrocks.co.uk/understanding-garbage-collection-how-dotnet-garbage-collector-works/", "published_at": "2025-02-05T13:27:20+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca7e2b829", "title": "Why C# Developers Should Also Learn Rust, and What It Can Teach Them", "url": "https://www.darrenhorrocks.co.uk/why-csharp-developers-should-learn-rust-and-what-it-can-teach-them/", "published_at": "2025-01-19T17:02:14+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca89f232d", "title": "Why Frontend Software Development Is Needlessly Complex, When It Does Not Need to Be", "url": "https://www.darrenhorrocks.co.uk/why-frontend-software-development-needlessly-complex-when-it-does-not-need-to-be/", "published_at": "2025-01-02T14:08:41+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca905cee0", "title": "Linux Is NOT the Developers Paradise You Have Been Told It Is", "url": "https://www.darrenhorrocks.co.uk/linux-not-developers-paradise-you-have-been-told-it/", "published_at": "2024-12-11T10:55:23+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ca92007ee", "title": "Why Do Open Source Applications Often Have Less Polished UIs Than Commercial Software", "url": "https://www.darrenhorrocks.co.uk/why-open-source-ui-design-sucks/", "published_at": "2024-12-05T23:02:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caa05bcfa", "title": "My Top 6 Productivity Tools as C# Developer", "url": "https://www.darrenhorrocks.co.uk/my-top-6-productivity-tools-as-c-sharp-developer/", "published_at": "2024-12-04T13:56:23+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caa5f67ec", "title": "Why C# Should Be Your First Language and is the Best Programming Language for Beginners", "url": "https://www.darrenhorrocks.co.uk/why-c-sharp-should-be-your-first-language/", "published_at": "2024-12-03T23:41:41+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caab44055", "title": "How To: Create a Basic GraphQL API with dotnet in C#", "url": "https://www.darrenhorrocks.co.uk/how-to-create-basic-graphql-api-with-dotnet-c-sharp/", "published_at": "2024-11-09T19:10:09+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cab244f5a", "title": "SOLID Design Principles Rust (with examples)", "url": "https://www.darrenhorrocks.co.uk/solid-principles-rust-with-examples/", "published_at": "2024-10-25T09:31:56+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cabc1904c", "title": "Why Rust and Its Memory Safety Lulls Developers Into a False Sense of Security, Leading to More Serious Bugs", "url": "https://www.darrenhorrocks.co.uk/why-rust-its-memory-safety-lulls-developers-into-false-sense-security/", "published_at": "2024-10-02T22:49:04+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cabef20b2", "title": "Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 100", "url": "https://www.darrenhorrocks.co.uk/stop-designing-web-applications-for-millions/", "published_at": "2024-09-15T21:05:07+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cac7698fa", "title": "Why Copilot is Making Programmers Worse at Programming", "url": "https://www.darrenhorrocks.co.uk/why-copilot-making-programmers-worse-at-programming/", "published_at": "2024-09-11T10:47:58+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cace3cbea", "title": "Five Reasons Visual Studio is Better than Rider", "url": "https://www.darrenhorrocks.co.uk/five-reasons-visual-studio-better-than-rider/", "published_at": "2024-09-11T09:57:38+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cad69d711", "title": "Five Reasons Rider is Better than Visual Studio", "url": "https://www.darrenhorrocks.co.uk/five-reasons-rider-better-than-visual-studio/", "published_at": "2024-09-11T09:57:17+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cae362ca5", "title": "The Single Best and Worst Things About Popular Programming Languages", "url": "https://www.darrenhorrocks.co.uk/single-best-worst-things-about-popular-programming-languages/", "published_at": "2024-09-11T09:37:49+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cae90754d", "title": "HTTP Server Tutorial in Rust", "url": "https://www.darrenhorrocks.co.uk/rust-http-server-tutorial/", "published_at": "2024-07-23T21:11:39+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caea5ff42", "title": "Why GraphQL is Better Than Basic REST and SOAP APIs", "url": "https://www.darrenhorrocks.co.uk/why-graphql-better-than-basic-rest-soap-apis/", "published_at": "2024-06-04T13:35:03+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caf5e368d", "title": "Save KSP2 - An Open Letter to Take-Two and CEO Strauss Zelnick", "url": "https://www.darrenhorrocks.co.uk/save-ksp2-an-open-letter-to-taketwo-strauss-zelnick/", "published_at": "2024-06-01T22:03:32+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4caf64d89b", "title": "Why is AI Such a Polarising Subject? Does it Change Everything? Or Nothing?", "url": "https://www.darrenhorrocks.co.uk/why-ai-such-polarising-subject-does-it-change-everything/", "published_at": "2024-05-15T10:45:14+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cafed232b", "title": "PirateSoftware is a Hypocrite - Helldivers 2 and Security", "url": "https://www.darrenhorrocks.co.uk/piratesoftware-hypocrite-helldivers-2-security/", "published_at": "2024-05-03T09:14:38+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb090a5b1", "title": "Stop Using string.ToLowerInvariant() to Compare Strings. InvariantCulture Comparisons are Slow", "url": "https://www.darrenhorrocks.co.uk/stop-using-stringtolowerinvariant-to-compare-strings-invariantculture-slow/", "published_at": "2024-03-07T11:29:49+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb0a6525e", "title": "Respecting the Clock: Unveiling the Time-Wasting Pitfalls in Professional Software Development", "url": "https://www.darrenhorrocks.co.uk/respecting-clock-unveiling-timewasting-pitfalls-professional-software-development/", "published_at": "2024-01-10T11:00:47+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb1202fee", "title": "Why are Women so Underrepresented in Software Development?", "url": "https://www.darrenhorrocks.co.uk/why-are-women-so-underrepresented-software-development/", "published_at": "2023-11-30T09:33:04+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb20f9baf", "title": "Whats New in ML.NET 3.0", "url": "https://www.darrenhorrocks.co.uk/whats-new-mlnet-30/", "published_at": "2023-11-28T09:23:19+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb24f5dc6", "title": "Mastering Backend Development in C#: 5 Essential Skills", "url": "https://www.darrenhorrocks.co.uk/mastering-backend-development-c-5-essential-skills/", "published_at": "2023-11-24T21:15:20+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb297f245", "title": ".NET Chiseled Containers: A Revolution in Deployment Efficiency", "url": "https://www.darrenhorrocks.co.uk/unveiling-net-chiseled-containers-revolution-deployment-efficiency/", "published_at": "2023-11-21T15:02:35+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb324afa8", "title": "Asynchronous Programming in C#: A Practical Guide", "url": "https://www.darrenhorrocks.co.uk/asynchronous-programming-c-practical-guide/", "published_at": "2023-11-21T08:45:42+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb343850c", "title": "C# Design Patterns: A Practical Guide", "url": "https://www.darrenhorrocks.co.uk/c-sharp-design-patterns-practical-guide/", "published_at": "2023-11-20T20:25:34+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb37ff61d", "title": "Exploring What's New in C# 12", "url": "https://www.darrenhorrocks.co.uk/exploring-whats-new-c-12/", "published_at": "2023-11-14T21:15:20+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb406f933", "title": "Optimizing SQL Queries in Entity Framework Core", "url": "https://www.darrenhorrocks.co.uk/optimizing-sql-queries-entity-framework-core/", "published_at": "2023-11-12T07:29:50+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb4c2d3ed", "title": "The Dual Nature of Artificial Intelligence: Strengths and Limitations", "url": "https://www.darrenhorrocks.co.uk/dual-nature-artificial-intelligence-strengths-limitations/", "published_at": "2023-11-11T07:21:53+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb5ae70e6", "title": "From Chaos to Clarity: The Tale of PHP and .NET Naming", "url": "https://www.darrenhorrocks.co.uk/from-chaos-to-clarity-tale-php-net-naming/", "published_at": "2023-11-10T07:24:39+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb65e6c11", "title": "Why is AI So Bad at Financial Trading When Computers Are Just Better at Maths", "url": "https://www.darrenhorrocks.co.uk/why-ai-so-bad-at-financial-trading-when-computers-are-just-better-at-maths/", "published_at": "2023-11-09T07:16:20+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb66aab94", "title": "Solving Common Database Performance Bottlenecks", "url": "https://www.darrenhorrocks.co.uk/solving-common-database-performance-bottlenecks/", "published_at": "2023-11-08T07:11:49+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb706fefe", "title": "Mastering Git: Tips and Tricks for Version Control", "url": "https://www.darrenhorrocks.co.uk/mastering-git-tips-tricks-version-control/", "published_at": "2023-11-07T07:01:41+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb7f26dfd", "title": "Image Recognition with C# and AI: A Practical Guide", "url": "https://www.darrenhorrocks.co.uk/image-recognition-with-c-ai-practical-guide/", "published_at": "2023-11-06T07:01:41+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb8abb295", "title": "Unleashing the Power of C#: Integrating AI for Intelligent Applications", "url": "https://www.darrenhorrocks.co.uk/power-ai-c-applications/", "published_at": "2023-11-05T18:00:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cb955c1fc", "title": "Setting Up Bitlocker With SSD/NVME Hardware Encryption (it can be faster than no encryption at all)", "url": "https://www.darrenhorrocks.co.uk/setting-up-bitlocker-with-ssd-hardware-encryption/", "published_at": "2023-10-24T10:23:23+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cba188046", "title": "Best Practices for Exception Handling in C#", "url": "https://www.darrenhorrocks.co.uk/best-practices-exception-handling-c-sharp/", "published_at": "2023-10-18T07:35:32+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cba2d1684", "title": "Effective Code Reviews in a Development Team", "url": "https://www.darrenhorrocks.co.uk/effective-code-reviews-development-team/", "published_at": "2023-10-17T07:28:37+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cba6b5037", "title": "Building a Cross-Platform Desktop App with .NET MAUI", "url": "https://www.darrenhorrocks.co.uk/building-crossplatform-desktop-app-with-net-maui/", "published_at": "2023-10-16T08:22:56+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbaaca088", "title": "Efficient Debugging with Visual Studio", "url": "https://www.darrenhorrocks.co.uk/efficient-debugging-visual-studio/", "published_at": "2023-10-14T08:00:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbacf01bc", "title": "Unit Testing vs Manual Testing", "url": "https://www.darrenhorrocks.co.uk/unit-testing-vs-manual-testing/", "published_at": "2023-10-13T21:24:09+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbbc654c3", "title": "Essential Things Every Professional Software Developer Should Know", "url": "https://www.darrenhorrocks.co.uk/essential-things-every-professional-software-developer-should-know/", "published_at": "2023-10-06T08:34:35+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbbd7bdec", "title": "Comparing GraphQL and OData: Which is Best and When?", "url": "https://www.darrenhorrocks.co.uk/comparing-graphql-odata/", "published_at": "2023-10-05T09:24:40+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbc25d016", "title": "Why Your Language Choice Doesn't Matter as Good Programmer", "url": "https://www.darrenhorrocks.co.uk/why-your-language-choice-doesnt-matter-as-good-programmer/", "published_at": "2023-10-03T08:26:20+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbd2389c9", "title": "Choosing the Right IDE: Visual Studio vs. JetBrains Rider", "url": "https://www.darrenhorrocks.co.uk/choosing-right-ide-visual-studio-vs-jetbrains-rider/", "published_at": "2023-10-03T07:49:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbd7b76ea", "title": "Embracing TypeScript: The Advantages Over Raw JavaScript", "url": "https://www.darrenhorrocks.co.uk/embracing-typescript-advantages-over-raw-javascript/", "published_at": "2023-10-02T07:41:59+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbe377c13", "title": "Evaluating Go: Why It Might Not Always Be a Suitable Replacement for C++", "url": "https://www.darrenhorrocks.co.uk/evaluating-go-why-it-might-not-always-be-suitable-replacement-c/", "published_at": "2023-10-01T07:12:53+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbf0a14dd", "title": "Debunking the Rust Hype: Why It's Not Always a Good Replacement for C++", "url": "https://www.darrenhorrocks.co.uk/debunking-rust-hype-why-its-not-always-good-replacement-c/", "published_at": "2023-09-30T07:10:13+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbf4a226b", "title": "Unraveling the Causes of Burnout in Software Developers and Strategies for Prevention", "url": "https://www.darrenhorrocks.co.uk/unraveling-causes-burnout-software-developers-strategies-prevention/", "published_at": "2023-09-29T07:45:04+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cbfca57c7", "title": "Embracing Efficiency: Shorter Work Hours for Software Developers (And everyone else)", "url": "https://www.darrenhorrocks.co.uk/embracing-efficiency-shorter-work-hours-software-developers/", "published_at": "2023-09-28T08:24:41+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc029d2d7", "title": "Mental Health in Tech: Prioritizing Employee Wellbeing for Enhanced Productivity", "url": "https://www.darrenhorrocks.co.uk/mental-health-in-tech/", "published_at": "2023-09-27T07:00:13+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc0723587", "title": "Enhancing Unity Game Performance with Universal Render Pipeline (URP)", "url": "https://www.darrenhorrocks.co.uk/enhancing-unity-game-performance-with-universal-render-pipeline-urp/", "published_at": "2023-09-26T09:35:44+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc0cd2f6f", "title": "Feedback Culture: Constructive Criticism vs. Destructive Blame in Software Companies", "url": "https://www.darrenhorrocks.co.uk/constructive-criticism-vs-destructive-blame-in-software-companies/", "published_at": "2023-09-25T07:10:43+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc15c6c4e", "title": "What is the difference betwen Promises and Observables in angular?", "url": "https://www.darrenhorrocks.co.uk/what-difference-betwen-promises-observables-angular/", "published_at": "2023-09-24T07:52:45+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc17d7ac5", "title": "Navigating Moral Dilemmas in Software Development", "url": "https://www.darrenhorrocks.co.uk/navigating-moral-dilemmas-in-software-development/", "published_at": "2023-09-23T07:00:42+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc22398f1", "title": "Securing ASP.NET Core Applications Against SQL Injection Attacks with Microsoft SQL Server", "url": "https://www.darrenhorrocks.co.uk/securing-asp-net-core-against-sql-injection-attacks/", "published_at": "2023-09-22T20:23:32+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc2573684", "title": "Understanding the Gap between Sales and Software Development in Software Companies", "url": "https://www.darrenhorrocks.co.uk/the-divide-understanding-the-gap-between-sales-and-developers/", "published_at": "2023-09-21T08:09:31+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc2b149b1", "title": "Working with Entity Framework Core in C#", "url": "https://www.darrenhorrocks.co.uk/working-with-entity-framework-core/", "published_at": "2023-09-21T08:00:46+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc2f21f3f", "title": "Building Marlin 2.0.x Firmware for Ender 3 3D Printer and Ender 3 Clones", "url": "https://www.darrenhorrocks.co.uk/building-marlin-firmware-for-ender-3-3d-printer/", "published_at": "2023-09-20T15:58:05+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc3eb6135", "title": "When Does Automating Away a Coworkers Job Cross The Line into Bullying", "url": "https://www.darrenhorrocks.co.uk/when-is-automating-away-a-job-considered-bullying/", "published_at": "2023-09-20T07:00:10+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc44fa71f", "title": "Time Series Anomaly Detection with ML.NET in C#", "url": "https://www.darrenhorrocks.co.uk/anomaly-detection-ml-net/", "published_at": "2023-09-19T13:47:33+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc52c6c87", "title": "Company Culture: \"No Blame\" vs \"Know Blame\"", "url": "https://www.darrenhorrocks.co.uk/company-culture-no-blame-vs-know-blame/", "published_at": "2023-09-19T08:00:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc53b9b6f", "title": "How a Zero Trust Policy Hampers Software Developer Productivity", "url": "https://www.darrenhorrocks.co.uk/how-zero-trust-hampers-software-developers/", "published_at": "2023-09-18T07:19:18+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc564e707", "title": "The Pitfalls of Overmanaging Software Developers", "url": "https://www.darrenhorrocks.co.uk/the-pitfalls-of-overmanaging-software-developers/", "published_at": "2023-09-15T10:03:54+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc5a4bb74", "title": "Linus Tech Tips, Gamers Nexus, Ethics and Responsibility", "url": "https://www.darrenhorrocks.co.uk/linus-tech-tips-gamers-nexus-ethics-and-responsibility/", "published_at": "2023-08-15T13:04:59+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc69f5d91", "title": "5 Reasons C# Is Better Than Java", "url": "https://www.darrenhorrocks.co.uk/5-reasons-c-sharp-is-better-than-java/", "published_at": "2023-08-15T12:59:17+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc71f3c59", "title": "Yes You Can Block Elon Musk on Twitter", "url": "https://www.darrenhorrocks.co.uk/yes-you-can-block-elon-musk-on-twitter/", "published_at": "2023-07-28T20:21:46+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc7e0e207", "title": "How to Become a Better Software Developer With These GitHub Repos", "url": "https://www.darrenhorrocks.co.uk/become-a-better-developer-with-these-github-repos/", "published_at": "2023-07-26T09:23:44+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc81a6d20", "title": "New and Interesting Features in C# 12", "url": "https://www.darrenhorrocks.co.uk/whats-interesting-in-csharp-12/", "published_at": "2023-07-12T23:08:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc8a52ec8", "title": "Creating Windows and Linux background services in dotnet 6.0/7.0", "url": "https://www.darrenhorrocks.co.uk/dotnet-7-background-worker-services/", "published_at": "2023-07-02T21:00:00+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc8bd6ab6", "title": "C# Basics: Generate Random Numbers", "url": "https://www.darrenhorrocks.co.uk/csharp-basics-generate-random-numbers/", "published_at": "2023-07-01T10:27:32+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cc99c0140", "title": "How To: Move Windows 11 Taskbar/Start Menu Back to the Left", "url": "https://www.darrenhorrocks.co.uk/how-to-move-windows-11-taskbar-back-to-the-left/", "published_at": "2022-10-30T20:47:13+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4cca00187d", "title": "Native pico-sdk ILI9341/ILI9342 display drivere library for Raspberry Pi Pico in C++", "url": "https://www.darrenhorrocks.co.uk/native-pico-sdk-ili9341-ili9342-for-raspberry-pi-pico/", "published_at": "2022-09-19T19:08:23+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccade7370", "title": "Native pico-sdk mpu6050 accelerometer and gyroscope library for Raspberry Pi Pico in C++", "url": "https://www.darrenhorrocks.co.uk/native-pico-sdk-mpu6050-for-raspberry-pi-pico/", "published_at": "2022-09-19T19:08:23+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccb8eb3de", "title": "Native pico-sdk BMP280 temperature sensor and air pressure sensor library for Raspberry Pi Pico in C++", "url": "https://www.darrenhorrocks.co.uk/native-pico-sdk-bmp280-for-raspberry-pi-pico/", "published_at": "2022-09-18T21:38:46+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccb930018", "title": "C# Basics - Deep Copy Object Tree", "url": "https://www.darrenhorrocks.co.uk/csharp-basics-deep-copy-object-tree/", "published_at": "2022-07-01T10:26:06+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccc2e5f73", "title": "C# Basics: Loop Through a Dictionary", "url": "https://www.darrenhorrocks.co.uk/csharp-basics-loop-through-dictionary/", "published_at": "2022-04-27T10:25:28+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccc76b328", "title": "C# Basics: What is the difference between 'string' and 'System.String'", "url": "https://www.darrenhorrocks.co.uk/csharp-basics-difference-between-string-system-string/", "published_at": "2022-04-27T10:25:13+00:00" }, { "id": "01a08768-2fe6-71d3-9ecb-4c4ccc9692b8", "title": "C Sharp 11 Raw String Literals", "url": "https://www.darrenhorrocks.co.uk/c-sharp-11-raw-string-literals/", "published_at": "2022-04-25T21:59:26+00:00" } ] posts Claim your blog
Back to The Angry Dev · Darren Horrocks explains various Programming and DevOps practices, with some guides, explanations and ramblings from a sometimes angry man
Blog · corpus.blog/blogs/darrenhorrocks.co.uk/posts

The Angry Dev · Darren Horrocks explains various Programming and DevOps practices, with some guides, explanations and ramblings from a sometimes angry man

darrenhorrocks.co.uk

2026

2025

2024

2023

2022