Programming Principles: A Summary

I previously wrote about a important concept that I always use when I think about design that can be found here. In this article we’ll explore a summary of the most essential programming principles and practices that significantly influence the approach and processes in the field of software development. These principles, ranging from fundamental programming … 

 

C# Exception Handling Best Practices

Previously I’ve written about exception handling best practices in .Net here and the best practices related to expectation handling in async cases here. But those post have a kind of long format which is not suitable for someone who is short on time. So, in this post I’m going to go through some of the … 

 

C# Entity Framework and LINQ Best Practices

There are a lot of points about best practices when using Entity Framework and LINQ. Sometimes we need to cipher through a lot of information. The goal of this article is to summarize some of the best practices when it comes to using LINQ and Entity Framework in a way that is easy to digest. … 

 

C# Asynchronous and Parallel Programming Best Practices

I’ve already written about Asynchronous and Parallel programming before here and here. This is one of those subjects that can be tricky and is the source of a lot of bugs. But I feel the posts that I’ve written before might be too long or they are too specialized, hence not very approchable. In this … 

 

Rethinking Knowledge and Learning in the Age of AI

I’ve already talked about the career strategies we can adopt to protect ourselves as a software developer in one of my previous article. But in this article I’m going to specifically look at it from the aspect of AI. The role of technology, especially AI and machine learning, in changing how we work and think … 

 

The Power of Simplicity: Doing the Simplest Thing That Could Possibly Work

There’s a famous saying that goes, “Less is more,” a principle that also extends to the world of programming. As a developer, I’ve found the mantra, “Doing the Simplest Thing That Could Possibly Work,” to be a beacon of guidance. This principle advocates for simplicity, advocating the creation of code that does the job in … 

 

Updating NPM Packages: Tools and Strategies

Keeping our frontend dependency for a big front-end project can be a daunting task. It can get challenging and when this happen we better have strategy in place to ease the process. This article intends to describe some strategies and tools that we can use to help us ease the process of keeping our NPM … 

 

Update Strategies For NPM Packages

Keeping a third party dependency of a big front end project can be a challenge. But it can be less challenging if you have a strategy for it. Strategy can be in the form of the tools that we’re using or how often we do it for which type of update. There other posts can … 

 

Duende Identity Server: Risks of Sharing Clients and Tokens

In the past, I leveraged the open-source Identity Server version 4 (Read about my experience with it here). But recently, Identity Server has become proprietary, offering price plans that are not always seen as favorable. Especially if a company wants to support on premise instances of the app as opposed to SAAS. That means a … 

 

Thread Affinity in Parallel Programming Using TPL

Thread affinity refers to the assignment of threads to specific processors or cores on a multi-core CPU. When a thread is bound to a specific processor or core, it is said to have affinity to that processor or core. This is in contrast to thread migration, where a thread can move between different processors or …