On the Etiquette of Pull Request Comments
Commenting on a pull request is fraught with potential pitfalls. Here is a short guide to the etiquette of writing pull request comments.
Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger
Commenting on a pull request is fraught with potential pitfalls. Here is a short guide to the etiquette of writing pull request comments.
I am very thankful for being awarded as an Open UK 2022 Honouree. Open UK is an organisation funded by tech companies to lobby the UK government in favour of open source.
How I started live streaming my learnings on C#, .NET, ASP.NET Core and beyond to YouTube and Twitch.
How to optimally configure Open Telemetry traces for ASP.NET Core enriched with lots of extra information.
I tried using C# 10 implicit using statements and found that they had a fatal flaw which meant you couldn't use them under certain circumstances
The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script
You can now create .NET Boxed projects directly from Visual Studio. Here's a short post showing you how.
What is the correct level of code coverage for your project and what tools are best for quickly writing unit and integration tests for a frontend application.
Web components have certain gotchas with relation to custom elements and CSS. This post goes through them all and shows how you can avoid them.
Getting to grips with CSS is difficult. This post describes some general rules of thumb that can guide you down the right path to success.
Grouping and Sorting CSS properties can make your CSS easier to read and helps with consistency in a team environment. There is no correct answer but something is better than nothing.
How to optimally export Open Telemetry metrics, logs, and traces for .NET to Jaeger.
The basics of how to configure Open Telemetry metrics, logs, and traces for ASP.NET Core and export the traces.
How to use the Open Telemetry specification, tools and SDK's used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) using .NET and ASP.NET.
.NET SDK updates are released every few weeks. In this post, I talk about how you can automate them.
The fastest way to create a new NuGet package project and get it published with all the bells and whistles like continuous integration (CI) builds and drafted release notes.
Using MinVer is the easiest way to version your NuGet packages and DLL's using semantic versioning (SemVer).
If you're of North African, Middle Eastern or South Asian origin, you have to send up to 90% more job applications than your white counterparts in the United Kingdom. This level of discrimination has been unchanged since the 1960's.
Use figlet fonts, ASCII art and browser console themes to spice up your browser console.
I choose a static site generator from among a long list including Jekyll, Gatsby, Statiq, Hugo, VuePress, Next.js, Nuxt.js and Gridsome.
Mocking services using Moq while integration testing ASP.NET Core applications in memory.
What the 'dotnet new' CLI command could be if some effort was spent on developing it. I compare it to other templating engines and suggest ideas.
It's difficult to know if your 'dotnet new' based project will work if they have lots of options, in this post I show how to unit test them.
Best practices for configuring Git in the .gitattributes file. Configuring CRLF and LF line endings. Configuring Git Large File System (LFS) for binary files.
My experiences of cloning and working on the Windows OS Git repository.
How to secure your ASP.NET Core Docker image by setting the file system to be read-only. First in a series of blog posts covering Docker image security.
.NET Boxed mapper is an object to object mapper that is simpler and faster than Automapper and makes zero allocations of memory, thus making the garbage collector do less work.
ASP.NET Core a large developer base, a large number of GitHub projects, Stack Overflow questions, bloggers and companies who use it. It's a mature platform.
A comparison between PluralSight, LinkedIn Learning, Frontend Masters, Egghead.io, YouTube and other resources for software developers.
How to optimally configure a HttpClient using the new HttpClientFactory API in ASP.NET Core 2.1 for best performance, usability, resiliency and easy of use.
How to build a URL containing dynamic query arguments using the ASP.NET Core QueryHelpers.AddQueryString method. A hidden gem in ASP.NET Core.
How to optimally configure your Entity Framework Core DbContext for best performance, resiliency and easy debugging for the developer.
How to migrate an existing database to use Entity Framework Core 2.1 Seed Data to insert static data into your tables while using migrations.
.NET Boxed is a set of project templates with batteries included, providing the minimum amount of code required to get you going faster.
The dotnet watch tool is a file watcher for dotnet that restarts the application when changes in the source code are detected. You can use dotnet watch in Visual Studio by using the launchSettings.json configuration file.
How to write code while you sleep using tools like Stack Overflow, GitHub and forums effectively.
Learn how to write your Webpack configuration file using TypeScript to get intellisense and how to exclude Webpack 1 syntax from your TypeScript typings.
How to run the ELK-B Stack, made up of ElasticSearch, Kibana, Filebeat, Metricbeat and Heartbeat using Docker and Docker Swarm.
A guide to using the Docker Visualizer, Portainer and Sonatype Nexus Docker images to help manage a Docker Swarm.
How to use Docker Labels with Docker run, Docker compose and Docker Swarm. Also talk about naming conventions and the Open Containers Initiative (OCI) spec.
How to use a read-only file system in Docker to secure your Docker containers using the docker run CLI command and Docker compose or docker swarm.
How to use and implement Cache-Control, Cache-Control Immutable, E-Tag, Last-Modified and If-Modified-Since Caching HTTP headers in ASP.NET Core.
An .editorconfig file helps define and maintain consistent coding styles between different editors and IDEs for files with different file extensions.
Keeping up with the changes in the software development industry always feels like a losing battle.
Schema.NET is Schema.org objects turned into strongly typed C# POCO classes for use in .NET.
Move your ASP.NET Core MVC action method logic into lazily loaded commands using the command pattern, to reduce Controller complexity.
How to add feature selection to your dotnet new template using symbols (bool, string, choice, computed) and pre-processor directives.
I show how to make the new Visual Studio 2017 .NET Core based csproj XML concise and pretty for hand editing.
Learn how to use Cake, AppVeyor and Travis CI continuous integration build systems to perform cross-platform DevOps for .NET Core based projects.
How to create project templates using dotnet new and the template.json file. How to share project templates by creating NuGet packages.