RSSAmplifier

Blog

Muhammad Rehan Saeed

Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger

rehansaeed.comRSS feed ↗102 posts

Latest posts

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.

I Was Awarded as an Open UK Honouree

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.

Live Streaming .NET

How I started live streaming my learnings on C#, .NET, ASP.NET Core and beyond to YouTube and Twitch.

Optimally Configuring Open Telemetry Tracing for ASP.NET Core

How to optimally configure Open Telemetry traces for ASP.NET Core enriched with lots of extra information.

The Problem with C# 10 Implicit Usings

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

The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script

.NET Boxed Visual Studio Integration

You can now create .NET Boxed projects directly from Visual Studio. Here's a short post showing you how.

Code Coverage & Frontend Testing

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 Component Custom Element Gotchas

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.

CSS General Rules of Thumb

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.

A System for Grouping & Sorting CSS Properties

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.

Exporting Open Telemetry Data to Jaeger

How to optimally export Open Telemetry metrics, logs, and traces for .NET to Jaeger.

Open Telemetry for ASP.NET Core

The basics of how to configure Open Telemetry metrics, logs, and traces for ASP.NET Core and export the traces.

Deep Dive into Open Telemetry for .NET

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.

Automating .NET Security Updates

.NET SDK updates are released every few weeks. In this post, I talk about how you can automate them.

The Fastest NuGet Package Ever Published (Probably)

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.

The Easiest Way to Version NuGet Packages

Using MinVer is the easiest way to version your NuGet packages and DLL's using semantic versioning (SemVer).

Racism in Software Development & Beyond

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.

Spicing up your Browser Console

Use figlet fonts, ASCII art and browser console themes to spice up your browser console.

Choosing a Static Site Generator

I choose a static site generator from among a long list including Jekyll, Gatsby, Statiq, Hugo, VuePress, Next.js, Nuxt.js and Gridsome.

ASP.NET Core Integration Testing & Mocking using Moq

Mocking services using Moq while integration testing ASP.NET Core applications in memory.

What dotnet new Could Be

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.

Unit Testing dotnet new Templates

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.

.gitattributes Best Practices

Best practices for configuring Git in the .gitattributes file. Configuring CRLF and LF line endings. Configuring Git Large File System (LFS) for binary files.

Git Cloning the Windows OS Repo

My experiences of cloning and working on the Windows OS Git repository.

Securing ASP.NET Core in Docker

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.

A Simple and Fast Object Mapper

.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.

Is ASP.NET Core now a Mature Platform?

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.

PluralSight vs LinkedIn Learning vs FrontendMasters vs Egghead.io vs YouTube

A comparison between PluralSight, LinkedIn Learning, Frontend Masters, Egghead.io, YouTube and other resources for software developers.

Optimally Configuring ASP.NET Core HttpClientFactory

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.

ASP.NET Core Hidden Gem - QueryHelpers

How to build a URL containing dynamic query arguments using the ASP.NET Core QueryHelpers.AddQueryString method. A hidden gem in ASP.NET Core.

Optimally Configuring Entity Framework Core

How to optimally configure your Entity Framework Core DbContext for best performance, resiliency and easy debugging for the developer.

Migrating to Entity Framework Core Seed Data

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

.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 Revisited

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.

Writing Code while Asleep

How to write code while you sleep using tools like Stack Overflow, GitHub and forums effectively.

Writing your Webpack configuration in TypeScript

Learn how to write your Webpack configuration file using TypeScript to get intellisense and how to exclude Webpack 1 syntax from your TypeScript typings.

Useful Docker Images - Part 2

How to run the ELK-B Stack, made up of ElasticSearch, Kibana, Filebeat, Metricbeat and Heartbeat using Docker and Docker Swarm.

Useful Docker Images - Part 1

A guide to using the Docker Visualizer, Portainer and Sonatype Nexus Docker images to help manage a Docker Swarm.

Docker Labels in Depth

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.

Docker Read-Only File Systems

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.

ASP.NET Core Caching in Practice

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.

A Very Generic .editorconfig File (Updated)

An .editorconfig file helps define and maintain consistent coding styles between different editors and IDEs for files with different file extensions.

Keeping Up With Software Development

Keeping up with the changes in the software development industry always feels like a losing battle.

Structured Data using Schema.NET

Schema.NET is Schema.org objects turned into strongly typed C# POCO classes for use in .NET.

ASP.NET Core Lazy Command Pattern

Move your ASP.NET Core MVC action method logic into lazily loaded commands using the command pattern, to reduce Controller complexity.

dotnet new Feature Selection

How to add feature selection to your dotnet new template using symbols (bool, string, choice, computed) and pre-processor directives.

Cleaning Up CSPROJ

I show how to make the new Visual Studio 2017 .NET Core based csproj XML concise and pretty for hand editing.

Cross-Platform DevOps for .NET Core

Learn how to use Cake, AppVeyor and Travis CI continuous integration build systems to perform cross-platform DevOps for .NET Core based projects.

Custom Project Templates Using dotnet new

How to create project templates using dotnet new and the template.json file. How to share project templates by creating NuGet packages.

Muhammad Rehan Saeed · RSS Amplifier