Skip to content

2019

Health checks in ASP.NET core

Notes and thoughts on the out-of-the box Health check feature.

Thoughts on creating a healthy team through code-reviews

Code reviews/peer reviews are an essential part of the daily routine in an engineering team. When done with the right spirit, they can foster true collaboration and a team environment where everyone is engaged.

Event driven applications on AWS with C# and .NET Core

Building loosely coupled applications using C# and .NET Core on AWS

Using Function-as-a-Service aka Serverless with AWS and .NET

Building loosely coupled applications using C# and .NET Core on AWS

A look at the leading tools for build automation for .NET Projects

.

NOSQL or RDBMS? Is that the right question to ask?

I often hear developers debate passionately on how one of NOSQL database is the silver-bullet for scalable applications/services. The reality isn't so black and white after all.

Cake Build for .NET Core

Using the awesome Cake build scripting system for .NET Core projects.

Designing a .NET Core Host that lives only as long as required

Designing a .NET Core Host that lives only as long as required.

SQL Server connection pooling

Understanding SQL Server connections, connection pooling and optimisation

Ensuring your configuration is strongly typed and can be validated at application start

.NET Core comes with IConfiguration, `IOptions<T>` and `IOptionsMonitor<T>`. Combining these, one can create strongly typed configuration for every class/service whilst ensuring that valid config is provided at app start.

Entity Framework Core Lessons

Lessons learned whilst using (and misusing) Entity Framework Core.

Using docker as a self contained and portable development environment

Use docker to build and debug ASP.NET Core apps

Using the Specification pattern to compose readable, extensible, maintainable and testable queries

Scenario - you are working on a module that requires complex queries on data and you want the queries to be flexible enough for future changes and at the same time properly encapsulate query logic. Specification pattern is the example

Handling Date and Time with Timezone awareness correctly in .NET

The DateTime type isn't enough for an application that needs to work with different timezones. You want a consistent way of handling date/time on the server and on the client.

2018

Leveraging built-in Dependency injection in .NET Core

The built-in DI in .NET core is good enough for most application. This post covers common scenarios that an application requires and how to accomplish them using the default DI framework.

Notes on QUIC - a transport layer protocol being developed by Google

2017

Understanding Hosting in .NET Core

Understand what Hosting is, why should one use hosting and what problems it solves

Concepts in .NET Core

Some key concepts in .NET Core, gotchas and changes from .NET Classic

An analysis of Twelve-Factor app methodology for developing software as a service

Understand how to use async and await for efficient code and avoid surprises.

async await best practices

Understand how to use async and await for efficient code and avoid surprises.

Seemingly Tricky concepts in C#

Trying to make sense of C# concepts that seem trick at first

Unknown

Thoughts and opinions about unit tests

I've gathered my thoughts, experiences and opinions about unit testing in this blog.

Azure Service bus with dotnet core

Better Csharp Linq

Making [Cake](https://cakebuild.net) run on Mac using dotnet core

Choosing right collection type in .NET

Creating a custom project template for use with dotnet CLI

Collection Types in C#, when to use what

My attempt at developing a mission for my life an career

How to generate a client (and optionally a mock server) for a REST API

Using HttpClient properly

How to write functional tests for ASP.NET Core API

Learning resources and notes from my experience with [Go lang](https://golang.org)

Logging, monitoring and observability in 2019

Logging, monitoring and observability in 2019 for .NET applications

Inter-process Communication in Microservices

Understanding deployment with Octopus Deploy

Setting up a Teamcity CI pipeline using docker containers

Testing a processing pipeline built using MediatR

Thinking architecturally