Categories
All posts by category
.NET
- Using Inheritance With FluentValidation 6th April 2024
- Correctly Setting HttpClient BaseAddress 17th March 2024
- Tip - Don't Log Exceptions With Log.Information 23rd February 2024
- Tip - Using JsonSerializationOptions With Refit 2nd August 2023
- Fix - HttpClient Changes Case Of x-request-id Header 21st July 2023
- Projecting Named Tuples In Entity Framework Core 17th July 2023
- Tip - Fluent Validation With Null Values 6th July 2023
- Writing Maintainable, Testable Code That Depends On The Current Time 3rd May 2023
- How To Use C# List Pattern Matching Practically 28th March 2023
- Required Keyword In C# 11 & .NET 7 12th November 2022
- Building URLs In C# Without Concatenation Or Interpolation 15th August 2022
- Using HttpClient To Post JSON In C# & .NET 1st August 2022
- Fix - SSL Provider, error 0 - The certificate chain was issued by an authority that is not trusted 16th May 2022
- About curl And PowerShell 10th May 2022
- Tip - HttpUtility.UrlEncode vs WebUtility.UrlEncode 7th April 2022
- Tip - Updating The Nuget Client 31st March 2022
- 30 Days Of .NET 6 - Day 30 - Simplified Argument Null Checks 21st December 2021
- 30 Days Of .NET 6 - Day 29 - Writing Raw JSON Using Utf8JsonWriter 6th December 2021
- 30 Days Of .NET 6 - Day 28 - JSON Serialization To & From Streams 29th November 2021
- 30 Days Of .NET 6 - Day 27 - Extended Property Patterns 19th November 2021
- 30 Days Of .NET 6 - Day 26 - Sealed ToString() In Records 12th November 2021
- 30 Days Of .NET 6 - Day 25 - Hot Reload 9th November 2021
- .NET 6 Release 9th November 2021
- 30 Days Of .NET 6 - Day 24 - Parallel.ForEachAsync 8th November 2021
- 30 Days Of .NET 6 - Day 23 - Nullable References 4th November 2021
- 30 Days Of .NET 6 - Day 22 - LINQ Default Parameters 2nd November 2021
- 30 Days Of .NET 6 - Day 21 - Constant Interpolated Strings 1st November 2021
- 30 Days Of .NET 6 - Day 20 - Json Property Ordering 27th October 2021
- 30 Days Of .NET 6 - Day 19 - Record Structs 21st October 2021
- .NET 6 Release Candidate 2 Out 18th October 2021
- 30 Days Of .NET 6 - Day 18 - File Scoped Namespaces 18th October 2021
- 30 Days Of .NET 6 - Day 17 - New Timer - PeriodicTimer 12th October 2021
- 30 Days Of .NET 6 - Day 16 - HTTP/3 Support 7th October 2021
- Installing .NET 6 On Linux 7th October 2021
- 30 Days Of .NET 6 - Day 15 - SOCKS Proxy Support 5th October 2021
- 30 Days Of .NET 6 - Day 14 - Implicit Usings 1st October 2021
- 30 Days Of .NET 6 - Day 13 - LINQ Improvements - Chunk 29th September 2021
- 30 Days Of .NET 6 - Day 12 - Collection Count Performance Improvement 28th September 2021
- 30 Days Of .NET 6 - Day 11 - LINQ Improvements - Range Support 24th September 2021
- 30 Days Of .NET 6 - Day 10 - SDK & Runtime Version Checking 23rd September 2021
- 30 Days Of .NET 6 - Day 9 - LINQ Improvements - DistinctBy 22nd September 2021
- 30 Days Of .NET 6 - Day 8 - Control Of Serialization Of Object Cycles 21st September 2021
- .NET 6 Release Candidate 1 Out 21st September 2021
- 30 Days Of .NET 6 - Day 7 - Simpler Web Application Development 14th September 2021
- 30 Days Of .NET 6 - Day 6 - Priority Queue 13th September 2021
- 30 Days Of .NET 6 - Day 5 - Mathematics API Additions 10th September 2021
- 30 Days Of .NET 6 - Day 4 - LINQ Improvements - MaxBy & MinBy 9th September 2021
- 30 Days Of .NET 6 - Day 3 - TimeOnly Type 8th September 2021
- 30 Days Of .NET 6 - Day 2 - Friendly To Newcomers 7th September 2021
- 30 Days Of .NET 6 - DateOnly Type 6th September 2021
- Fix - .NET 6 Not Being Recognized After Install 3rd September 2021
- Conditional Logic In MSBuild 12th November 2020
- Getting Now Playing Information From WQXR In .NET 9th November 2020
- Posting Messages To Microsoft Teams With Code 4th November 2020
- Joining Strings - Part 4 : String.Format 1st July 2020
- Joining Strings - Part 3 : StringBuilder 22nd June 2020
- Joining Strings - Part 2 : String.Concat 15th June 2020
- Joining Strings - Part 1 : The + Operator 28th May 2020
- Decimals, Precision And Scale 28th April 2020
- Controlling Creation Of .NET Core Projects 25th March 2020
.NET 7
- Microsecond Precision In .NET 15th October 2022
- How To Order Classes And Records In C# 14th October 2022
- Tip - Simpler LINQ Ordering In .NET 7 13th October 2022
30 Days Of .NET 6
- 30 Days Of .NET 6 - Day 30 - Simplified Argument Null Checks 21st December 2021
- 30 Days Of .NET 6 - Day 29 - Writing Raw JSON Using Utf8JsonWriter 6th December 2021
- 30 Days Of .NET 6 - Day 28 - JSON Serialization To & From Streams 29th November 2021
- 30 Days Of .NET 6 - Day 27 - Extended Property Patterns 19th November 2021
- 30 Days Of .NET 6 - Day 26 - Sealed ToString() In Records 12th November 2021
- 30 Days Of .NET 6 - Day 25 - Hot Reload 9th November 2021
- 30 Days Of .NET 6 - Day 24 - Parallel.ForEachAsync 8th November 2021
- 30 Days Of .NET 6 - Day 23 - Nullable References 4th November 2021
- 30 Days Of .NET 6 - Day 22 - LINQ Default Parameters 2nd November 2021
- 30 Days Of .NET 6 - Day 21 - Constant Interpolated Strings 1st November 2021
- 30 Days Of .NET 6 - Day 20 - Json Property Ordering 27th October 2021
- 30 Days Of .NET 6 - Day 19 - Record Structs 21st October 2021
- 30 Days Of .NET 6 - Day 18 - File Scoped Namespaces 18th October 2021
- 30 Days Of .NET 6 - Day 17 - New Timer - PeriodicTimer 12th October 2021
- 30 Days Of .NET 6 - Day 16 - HTTP/3 Support 7th October 2021
- 30 Days Of .NET 6 - Day 15 - SOCKS Proxy Support 5th October 2021
- 30 Days Of .NET 6 - Day 14 - Implicit Usings 1st October 2021
- 30 Days Of .NET 6 - Day 13 - LINQ Improvements - Chunk 29th September 2021
- 30 Days Of .NET 6 - Day 12 - Collection Count Performance Improvement 28th September 2021
- 30 Days Of .NET 6 - Day 11 - LINQ Improvements - Range Support 24th September 2021
- 30 Days Of .NET 6 - Day 10 - SDK & Runtime Version Checking 23rd September 2021
- 30 Days Of .NET 6 - Day 9 - LINQ Improvements - DistinctBy 22nd September 2021
- 30 Days Of .NET 6 - Day 8 - Control Of Serialization Of Object Cycles 21st September 2021
- 30 Days Of .NET 6 - Day 7 - Simpler Web Application Development 14th September 2021
- 30 Days Of .NET 6 - Day 6 - Priority Queue 13th September 2021
- 30 Days Of .NET 6 - Day 5 - Mathematics API Additions 10th September 2021
- 30 Days Of .NET 6 - Day 4 - LINQ Improvements - MaxBy & MinBy 9th September 2021
- 30 Days Of .NET 6 - Day 3 - TimeOnly Type 8th September 2021
- 30 Days Of .NET 6 - Day 2 - Friendly To Newcomers 7th September 2021
- 30 Days Of .NET 6 - DateOnly Type 6th September 2021
API
- Using System.Text.Json To Enforce API Logic 20th March 2021
- Getting Now Playing Information From WQXR In .NET 9th November 2020
ASP.NET Core
- Using IIS With ASP.NET Core 3.0 24th May 2020
- Beware Of Controller Name Typos In ASP.NET Core Controllers 11th March 2020
Algorithms
- Cleaner Code With Switch Expressions In C# 29th March 2022
Amazon
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
Azure
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
Business Of Software
- How Long Is A String 17th March 2024
- Why Doesn't Windows Have A Built In Dictionary? 16th May 2023
- Punched In The Face Or In The Stomach 19th July 2022
- Conmen, Charlatans And Software Developers 20th June 2022
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
- If Your Grandmother Had Wheels - She Wouldn't Be A Bicycle - Its ALWAYS Harder Than You Think 12th March 2022
- Standing In A Garage Doesn't Make You A Car - Why You Cant Just "Hire Developers" 10th February 2022
- Coding Is Easy - Any Monkey Can Do It. Software, However Is Very Hard 17th January 2022
- All Sons Are Handsome; All Daughters Are Beautiful - Pitching Enterprise Software 10th January 2022
- About Software Bloat 30th August 2021
- The Value Of Good Documentation 3rd July 2021
- On Career Progression 22nd June 2021
- The Cost Of Adding Features To Software 10th June 2021
- What Do You Actually Agree To When You Accept All Cookies 30th December 2020
- Should all bugs be fixed? 19th April 2020
C#
- A Rose By Any Other Name - Short Circuiting 5th June 2024
- Using Inheritance With FluentValidation 6th April 2024
- Correctly Setting HttpClient BaseAddress 17th March 2024
- Tip - Don't Log Exceptions With Log.Information 23rd February 2024
- Defining Relationships With Enum Attributes For Enum Values In C# 18th August 2023
- Tip - Using JsonSerializationOptions With Refit 2nd August 2023
- Fix - HttpClient Changes Case Of x-request-id Header 21st July 2023
- Projecting Named Tuples In Entity Framework Core 17th July 2023
- Writing Maintainable, Testable Code That Depends On The Current Time 3rd May 2023
- How To Use C# List Pattern Matching Practically 28th March 2023
- Building Directory Paths In C# 14th February 2023
- Writing A Custom DateOnly JSON Deserializer 13th December 2022
- Handling Null And Empty Strings With System.Text.Json - Part 2 21st November 2022
- Required Keyword In C# 11 & .NET 7 12th November 2022
- Microsecond Precision In .NET 15th October 2022
- How To Order Classes And Records In C# 14th October 2022
- Tip - Simpler LINQ Ordering In .NET 7 13th October 2022
- Tip - Using LINQ To Filter A List Of Strings Containing Words In Another List 4th October 2022
- Building URLs In C# Without Concatenation Or Interpolation 15th August 2022
- Using HttpClient To Post JSON In C# & .NET 1st August 2022
- Beware - Mapping Inherited Immutable Classes Using Dapper 25th May 2022
- Fix - SSL Provider, error 0 - The certificate chain was issued by an authority that is not trusted 16th May 2022
- About curl And PowerShell 10th May 2022
- Adding Multiple Items To A HashSet In C# 28th April 2022
- Tip - HttpUtility.UrlEncode vs WebUtility.UrlEncode 7th April 2022
- Cleaner Code With Switch Expressions In C# 29th March 2022
- Maintainability Of Code 11th March 2022
- 30 Days Of .NET 6 - Day 30 - Simplified Argument Null Checks 21st December 2021
- 30 Days Of .NET 6 - Day 29 - Writing Raw JSON Using Utf8JsonWriter 6th December 2021
- 30 Days Of .NET 6 - Day 28 - JSON Serialization To & From Streams 29th November 2021
- 30 Days Of .NET 6 - Day 27 - Extended Property Patterns 19th November 2021
- 30 Days Of .NET 6 - Day 26 - Sealed ToString() In Records 12th November 2021
- 30 Days Of .NET 6 - Day 25 - Hot Reload 9th November 2021
- .NET 6 Release 9th November 2021
- 30 Days Of .NET 6 - Day 24 - Parallel.ForEachAsync 8th November 2021
- 30 Days Of .NET 6 - Day 23 - Nullable References 4th November 2021
- 30 Days Of .NET 6 - Day 22 - LINQ Default Parameters 2nd November 2021
- 30 Days Of .NET 6 - Day 21 - Constant Interpolated Strings 1st November 2021
- 30 Days Of .NET 6 - Day 20 - Json Property Ordering 27th October 2021
- Saving Collections Of Primitives In Entity Framework Core 21st October 2021
- 30 Days Of .NET 6 - Day 19 - Record Structs 21st October 2021
- .NET 6 Release Candidate 2 Out 18th October 2021
- 30 Days Of .NET 6 - Day 18 - File Scoped Namespaces 18th October 2021
- 30 Days Of .NET 6 - Day 17 - New Timer - PeriodicTimer 12th October 2021
- 30 Days Of .NET 6 - Day 16 - HTTP/3 Support 7th October 2021
- Installing .NET 6 On Linux 7th October 2021
- 30 Days Of .NET 6 - Day 15 - SOCKS Proxy Support 5th October 2021
- 30 Days Of .NET 6 - Day 14 - Implicit Usings 1st October 2021
- 30 Days Of .NET 6 - Day 13 - LINQ Improvements - Chunk 29th September 2021
- 30 Days Of .NET 6 - Day 12 - Collection Count Performance Improvement 28th September 2021
- 30 Days Of .NET 6 - Day 11 - LINQ Improvements - Range Support 24th September 2021
- 30 Days Of .NET 6 - Day 10 - SDK & Runtime Version Checking 23rd September 2021
- 30 Days Of .NET 6 - Day 9 - LINQ Improvements - DistinctBy 22nd September 2021
- 30 Days Of .NET 6 - Day 8 - Control Of Serialization Of Object Cycles 21st September 2021
- .NET 6 Release Candidate 1 Out 21st September 2021
- 30 Days Of .NET 6 - Day 7 - Simpler Web Application Development 14th September 2021
- 30 Days Of .NET 6 - Day 6 - Priority Queue 13th September 2021
- 30 Days Of .NET 6 - Day 5 - Mathematics API Additions 10th September 2021
- 30 Days Of .NET 6 - Day 4 - LINQ Improvements - MaxBy & MinBy 9th September 2021
- 30 Days Of .NET 6 - Day 3 - TimeOnly Type 8th September 2021
- 30 Days Of .NET 6 - Day 2 - Friendly To Newcomers 7th September 2021
- 30 Days Of .NET 6 - DateOnly Type 6th September 2021
- Tip - Get Current Date In C# 7th August 2021
- Reducing Bugs And Improving Maintainability Through Better Domain Design 29th July 2021
- Tip - TimeSpan Minutes vs TotalMinutes 11th June 2021
- About Default Interface Impementations 24th May 2021
- The Other Integer Types 24th May 2021
- Fix For The string argument propertyNames cannot be empty 25th April 2021
- Fix For Cannot use LINQ in MatchCollection Regex with .NET Standard 2 10th March 2021
- Handling Null And Empty Strings With System.Text.Json 9th March 2021
- Inheritance In Business Logic Is Likely A Code Smell - Part 1 6th March 2021
- Handling Exceptions With Refit 28th February 2021
- Fix - error CS8805 Program using top-level statements must be an executable 10th February 2021
- Improving HttpClient Requests 21st December 2020
- Beware of HttpClient Header Validations 14th December 2020
- Remote Debugging In VS Code 3rd December 2020
- HTTP Redirects Using HttpClient 23rd November 2020
- Refactoring With Records In C# 21st November 2020
- Getting Now Playing Information From WQXR In .NET 9th November 2020
- Posting Messages To Microsoft Teams With Code 4th November 2020
- Disable SSL Certificate Validation In .NET 31st October 2020
- Querying & Extracing Data From YouTrack 30th October 2020
- Count vs Length vs Any - Checking Collection Emptiness 14th April 2020
- Properties Under The Hood 10th April 2020
- Arguments Handling Across Paradigms 5th April 2020
- Fun With Tuples In C# 7 & Above 21st March 2020
- AsReadOnly() May Not Be Doing What You Think! 11th March 2020
Career
- On Career Progression 22nd June 2021
Dapper
Design
- Writing Maintainable, Testable Code That Depends On The Current Time 3rd May 2023
- Maintainability Of Code 11th March 2022
- Reducing Bugs And Improving Maintainability Through Better Domain Design 29th July 2021
- Using System.Text.Json To Enforce API Logic 20th March 2021
- Inheritance In Business Logic Is Likely A Code Smell - Part 1 6th March 2021
Did You Know
- Did You Know - An Email Body Is Optional 3rd November 2023
Docker
- Fix - Docker Error On Upgrade - aufs storage 25th August 2021
- Fix - Docker For Windows Not Running 9th June 2021
Documentation
- The Value Of Good Documentation 3rd July 2021
EasyNetQ
- Deleting RabbitMQ Queues With EasyNetQ 11th March 2021
Entity Framework Core
- Projecting Named Tuples In Entity Framework Core 17th July 2023
- Saving Collections Of Primitives In Entity Framework Core 21st October 2021
- Fix For The string argument propertyNames cannot be empty 25th April 2021
- Entity Framework Core - Unique Constraits vs Unique Indexes 18th January 2021
- Fix For Entity Framework Core Not Generating Indexes & Constraints 14th January 2021
- Fix For Entity Framework Tools Error 12th January 2021
Epiphanies
- Goodbye Wordpress 25th May 2020
- How Old Is Your Language? 5th May 2020
- Should all bugs be fixed? 19th April 2020
- What Is A Software Company? 19th April 2020
Excel
- Fetching Table Data From Web Pages Using Excel 21st March 2022
- Consuming REST JSON APIs From Excel 11th February 2021
F#
- Beware - F# Doesn't Support C# Types Using Init Modifiers 2nd July 2021
- Extracting Bytes From A F# String 25th April 2020
- Arguments Handling Across Paradigms 5th April 2020
- FizzBuzz In F# 1st April 2020
- Using Nuget In F# Scripts 29th March 2020
Fails
- UI Fails - Oracle VirtualBox 6.1 16th January 2021
Fixes
- Fix - Python - Warning- Ignoring Invalid Distribution 25th May 2022
- Fix - SSL Provider, error 0 - The certificate chain was issued by an authority that is not trusted 16th May 2022
- Fix - Docker For Windows Not Running 9th June 2021
- Fix For The string argument propertyNames cannot be empty 25th April 2021
- Fix For Cannot use LINQ in MatchCollection Regex with .NET Standard 2 10th March 2021
- Fix - error CS8805 Program using top-level statements must be an executable 10th February 2021
- Fix For Entity Framework Core Not Generating Indexes & Constraints 14th January 2021
- Fix For Entity Framework Tools Error 12th January 2021
- Fix For pgAdmin Not Loading 11th January 2021
FluentValidation
- Using Inheritance With FluentValidation 6th April 2024
Gitlab
- Gitlab HTTP Authentication With 2FA 31st May 2021
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
HttpClient
- Correctly Setting HttpClient BaseAddress 17th March 2024
- Fix - HttpClient Changes Case Of x-request-id Header 21st July 2023
- Improving HttpClient Requests 21st December 2020
- Beware of HttpClient Header Validations 14th December 2020
- HTTP Redirects Using HttpClient 23rd November 2020
- Getting Now Playing Information From WQXR In .NET 9th November 2020
Human Nature
- Dogs Will Always Bark - Part I - You Make I Check 5th April 2024
IntelliJ
- Changing The Default Shell In IntelliJ To PowerShell 17th November 2020
Interop
LINQ
- How To Order Classes And Records In C# 14th October 2022
- Tip - Simpler LINQ Ordering In .NET 7 13th October 2022
- Tip - Using LINQ To Filter A List Of Strings Containing Words In Another List 4th October 2022
- Tip - Grouping Correctly In LINQ With VB.NET 2nd October 2022
- Fix For Cannot use LINQ in MatchCollection Regex with .NET Standard 2 10th March 2021
Languages
- How Old Is Your Language? 5th May 2020
- Arguments Handling Across Paradigms 5th April 2020
Libraries
- Tip - Fluent Validation With Null Values 6th July 2023
Linux
- Stop Press - Running Linux GUI Applications In Windows 28th November 2022
- Fix - Docker Error On Upgrade - aufs storage 25th August 2021
- Jekyll, Ruby & OpenSSH 27th May 2020
Lisp
- Arguments Handling Across Paradigms 5th April 2020
MSBuild
- Conditional Logic In MSBuild 12th November 2020
Maintainability
Meta
- Disqus Off 6th April 2021
- Jekyll, Ruby & OpenSSH 27th May 2020
Microsoft Teams
- Posting Messages To Microsoft Teams With Code 4th November 2020
NUnit
- Better Assertion Testing With FluentAssertions 25th July 2021
Nuget
- Using Nuget In F# Scripts 29th March 2020
- Pinning Nuget Package Versions 28th March 2020
Office
- Fetching Table Data From Web Pages Using Excel 21st March 2022
People
- What Do You Actually Agree To When You Accept All Cookies 30th December 2020
Personal Development
- On Career Progression 22nd June 2021
PostgreSQL
- Fix For pgAdmin Not Loading 11th January 2021
PowerShell
- Verifying File Hashes With PowerShell (Update) 13th March 2024
- Sending Teams Messages Using PowerShell 29th July 2021
- Using Curl In PowerShell 19th May 2020
- Touch In PowerShell 16th May 2020
- Getting Your Internet IP Address 11th April 2020
- Verifying File Hashes With PowerShell 19th March 2020
- Copy SSH Key In Windows 10 9th March 2020
PowerUser
- Fetching Table Data From Web Pages Using Excel 21st March 2022
Python
- Fix - Python - Warning- Ignoring Invalid Distribution 25th May 2022
REST
- Consuming REST JSON APIs From Excel 11th February 2021
RabbitMQ
- Deleting RabbitMQ Queues With EasyNetQ 11th March 2021
Records
- Refactoring With Records In C# 21st November 2020
RedGate
- Tip - SQL Server Management Studio - Server Colouring 17th October 2022
Refit
- Tip - Using JsonSerializationOptions With Refit 2nd August 2023
Regex
- Using Regex MatchEvaluators In C# 2nd February 2021
Ruby
- Jekyll, Ruby & OpenSSH 27th May 2020
SQL
- Using 'TRUE' and 'FALSE' For Bit Types In SQL Server 12th March 2022
SQL Server
- Accessing SQL Server Configuration Manager 22nd May 2023
- How To Index A NVarchar(MAX) Table In SQL Server 26th November 2022
- Enabling TCP/IP For SQL Server 19th November 2022
- Tip - SQL Server Management Studio - Constructing Dates 24th October 2022
- Tip - SQL Server Management Studio - Reorder Lines 20th October 2022
- Tip - SQL Server Management Studio - Duplicate Tab 17th October 2022
- Tip - SQL Server Management Studio - Server Colouring 17th October 2022
- Tip - SQL Server Management Studio - Reorder Results 17th October 2022
- Fix - SSL Provider, error 0 - The certificate chain was issued by an authority that is not trusted 16th May 2022
- Using 'TRUE' and 'FALSE' For Bit Types In SQL Server 12th March 2022
- Tip - SQL Server User Defined Table Types - Column Order Matters 24th November 2021
- Decimals, Precision And Scale 28th April 2020
SQL Server Management Studio
- Tip - SQL Server Management Studio - Constructing Dates 24th October 2022
- Tip - SQL Server Management Studio - Reorder Lines 20th October 2022
- Tip - SQL Server Management Studio - Duplicate Tab 17th October 2022
- Tip - SQL Server Management Studio - Server Colouring 17th October 2022
- Tip - SQL Server Management Studio - Reorder Results 17th October 2022
Software
- What Is A Software Company? 19th April 2020
System.Text.Json
- Handling Null And Empty Strings With System.Text.Json - Part 2 21st November 2022
- Using System.Text.Json To Enforce API Logic 20th March 2021
- Handling Null And Empty Strings With System.Text.Json 9th March 2021
Teams
- Fix - Unavailable Resource Error When Posting HTTP Request To Teams 13th August 2021
- Sending Teams Messages Using PowerShell 29th July 2021
Testing
- Better Assertion Testing With FluentAssertions 25th July 2021
The Business Of Software
- Dogs Will Always Bark - Part I - You Make I Check 5th April 2024
Time
- Tip - TimeSpan Minutes vs TotalMinutes 11th June 2021
- Be Clearer With TimeSpans 2nd February 2021
Tips
- Verifying File Hashes With PowerShell (Update) 13th March 2024
- Tip - Don't Log Exceptions With Log.Information 23rd February 2024
- Tip - Fluent Validation With Null Values 6th July 2023
- Tip - SQL Server Management Studio - Constructing Dates 24th October 2022
- Tip - SQL Server Management Studio - Reorder Lines 20th October 2022
- Tip - SQL Server Management Studio - Duplicate Tab 17th October 2022
- Tip - SQL Server Management Studio - Server Colouring 17th October 2022
- Tip - SQL Server Management Studio - Reorder Results 17th October 2022
- Tip - Simpler LINQ Ordering In .NET 7 13th October 2022
- Tip - Using LINQ To Filter A List Of Strings Containing Words In Another List 4th October 2022
- Tip - Grouping Correctly In LINQ With VB.NET 2nd October 2022
- Tip - HttpUtility.UrlEncode vs WebUtility.UrlEncode 7th April 2022
- Tip - Updating The Nuget Client 31st March 2022
- Tip - Get Current Date In C# 7th August 2021
- Tip - Locating Commands In The Path On Windows 14th June 2021
- Tip - TimeSpan Minutes vs TotalMinutes 11th June 2021
- Tip - Making Use Of Windows Terminal Tab Captions 4th May 2021
- Remember To Encode QueryString Data 2nd February 2021
- Be Clearer With TimeSpans 2nd February 2021
- Extracting Bytes From A F# String 25th April 2020
Tools
- Gitlab HTTP Authentication With 2FA 31st May 2021
UI
- Chrome UI Surprises 4th September 2020
UI Fails
- UI Fails - Oracle VirtualBox 6.1 16th January 2021
UX
- Chrome UI Surprises 4th September 2020
Under The Hood
- HTTP Redirects Using HttpClient 23rd November 2020
- Joining Strings - Part 4 : String.Format 1st July 2020
- Joining Strings - Part 3 : StringBuilder 22nd June 2020
- Joining Strings - Part 2 : String.Concat 15th June 2020
- Joining Strings - Part 1 : The + Operator 28th May 2020
- Count vs Length vs Any - Checking Collection Emptiness 14th April 2020
- Properties Under The Hood 10th April 2020
VB.NET
- A Rose By Any Other Name - Short Circuiting 5th June 2024
- Tip - Grouping Correctly In LINQ With VB.NET 2nd October 2022
VS Code
- Remote Debugging In VS Code 3rd December 2020
Validation
- Tip - Fluent Validation With Null Values 6th July 2023
WSL
- Stop Press - Running Linux GUI Applications In Windows 28th November 2022
- Upgrading To WSL 2 10th June 2020
WebAPI
- Consuming REST JSON APIs From Excel 11th February 2021
Windows
- Stop Press - Running Linux GUI Applications In Windows 28th November 2022
- Linux Tools Packaged With Windows 25th May 2022
- Jekyll, Ruby & OpenSSH 27th May 2020
Windows Terminal
- Tip - Making Use Of Windows Terminal Tab Captions 4th May 2021
XUnit
- Better Assertion Testing With FluentAssertions 25th July 2021
YouTrack
- Querying & Extracing Data From YouTrack 30th October 2020