Categories
All posts by category
.NET
- 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
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 Swtich 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
- On Career Progression 22nd June 2021
Business Of Software
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
C#
- 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 Swtich 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
Design
- 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
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
- 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 - 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
Gitlab
- Gitlab HTTP Authentication With 2FA 31st May 2021
- What Amazon AWS Local Zones Mean For ICT In Kenya 18th April 2022
HttpClient
- 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
IntelliJ
- Changing The Default Shell In IntelliJ To PowerShell 17th November 2020
Interop
LINQ
Languages
- How Old Is Your Language? 5th May 2020
- Arguments Handling Across Paradigms 5th April 2020
Linux
- 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
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
- 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
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
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
- 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
Software
- What Is A Software Company? 19th April 2020
System.Text.Json
- 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
- 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
- The Cost Of Adding Features To Software 10th June 2021
- What Do You Actually Agree To When You Accept All Cookies 30th December 2020
Time
- Be Clearer With TimeSpans 2nd February 2021
TimeSpan
- Tip - TimeSpan Minutes vs TotalMinutes 11th June 2021
Tips
- 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
VS Code
- Remote Debugging In VS Code 3rd December 2020
WSL
- Upgrading To WSL 2 10th June 2020
WebAPI
- Consuming REST JSON APIs From Excel 11th February 2021
Windows
- 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