Skip to content

#code

Modifying a File Locally Without Updating the Remote Git Repository
Modifying a File Locally Without Updating the Remote Git Repository

Have you ever needed to modify a file locally without committing the changes to the remote repository?

A Binary Search Implementation
A Binary Search Implementation

The binary search algorithm quickly searches a large array of numbers, it’s often referred to as divide and conquer.

The Benefits of Using a Build Framework
The Benefits of Using a Build Framework

Continuous Integration (CI) and/or Continuous Delivery (CD) is the norm on software projects these days. There are many build servers such as Azure DevOps, Team…

Tools and Resources I Commonly use to Develop Software
Tools and Resources I Commonly use to Develop Software

Below is a collection of tools, libraries, and resources I commonly use.

NVarchar Vs Varchar
NVarchar Vs Varchar

Each engineer defining a new string column decides: Do I use nvarchar or do I use varchar?

Changing a React Input Value from Vanilla Javascript
Changing a React Input Value from Vanilla Javascript

Changing a React input value from vanilla Javascript is not as simple as you might think.

When to Use The FromService Attribute
When to Use The FromService Attribute

The [FromServices] attribute allows method level dependency injection in Asp.Net Core controllers.

C# 8 - Nullable Reference Types
C# 8 - Nullable Reference Types

Microsoft is adding a new feature to C# 8 called Nullable Reference Types. Which at first, is confusing because all reference types are nullable… so how this di…

9 Guidelines for Creating Expressive Names
9 Guidelines for Creating Expressive Names

Naming is subjective and situational, it’s an art, and with most art, we discover patterns. I’ve learned a lot through the reading of other’s code. In this arti…

With or Without Curly Braces?
With or Without Curly Braces?

There’s a heated debate around single statements and whether they should have curly braces or not.

Understanding Begins with Expressive Names
Understanding Begins with Expressive Names

Understanding code is the first step to modifying it.

Codifying the Secret Sauce
Codifying the Secret Sauce

Codifying the secret sauce is instrumental in writing maintainable and successful applications.

Garbage Collection Types in .Net Core
Garbage Collection Types in .Net Core

Memory management in modern languages is often an afterthought. For all intents and purposes, we write software without nary a thought about memory. This serves…

You Are Not Your Code
You Are Not Your Code

Your code reflects neither your beliefs, nor your upbringing, nor your character.

The 5 Different Meanings of the Question Mark in C#
The 5 Different Meanings of the Question Mark in C#

In C# the question mark has 5 meanings as of C# 8.

The Collection Comparer, Finding the Differences Between Two Collections
The Collection Comparer, Finding the Differences Between Two Collections

Have you had to compare two collections and execute some logic based on whether the item is in the source collection, in the comparing collection or in both? Ye…

Implementing Request Caching in ASP.Net Core
Implementing Request Caching in ASP.Net Core

At some point in an application’s development, usually, fairly early on, you realize the application is slow. After some research, the culprit is, unnecessarily…

Running Await in a Constructor
Running Await in a Constructor

If you must run code in a constructor. I’d look for a different way, but if you must, here’s one way.

Workaround for 'Template parse errors;' in Angular
Workaround for 'Template parse errors;' in Angular

This was one of the more frustrating issues with Angular 2/4/+. It’s not an issue with Angular 2/4/+ per se, but with how webpack bundles the supporting HTML fi…

Examining the Case for Switch Statements
Examining the Case for Switch Statements

For nearly 50 years, the switch statement (also known as the case statement) has been an integral part of programming. In recent years, however, some are claimi…

4 Practices to Lowering Your Defect Rate
4 Practices to Lowering Your Defect Rate

Writing software is a battle between complexity and simplicity. Striking balance between the two is difficult. The trade-off is between long unmaintainable meth…

Index Fragmentation in SQL Azure, Who Knew!
Index Fragmentation in SQL Azure, Who Knew!

I’ve been on my project for over a year and it has significantly grown as an application and in data during the year. It’s been nonstop new features. I’ve rarel…

Proofing a Concept and Growing the Code
Proofing a Concept and Growing the Code

In a recent conversation, a friend mentioned he creates proof of concepts and then discards them after testing their viability. I’ve done the same in the past.…

Securing AngularJS with Claims
Securing AngularJS with Claims

At some point an application needs authorization. This means different levels of access behave differently on a web site (or anything for that matter). It can b…

3 Reasons Why Code Reviews are Important
3 Reasons Why Code Reviews are Important

A great code review will challenge your assumptions and give you constructive feedback. For me, code reviews are an essential part in growing as a software engi…

5 Steps for Coding for the Next Developer
5 Steps for Coding for the Next Developer

Most of us probably don't think about the developer who will maintain our code. Until recently, I did not consider him either. I never intentionally wrote obtus…

Implementing Transparent Encryption with NHibernate Listeners (Interceptors)
Implementing Transparent Encryption with NHibernate Listeners (Interceptors)

Have you ever had to encrypt data in the database? In this post, I’ll explore how using nHibernate Listeners to encrypt and decrypt data coming from and going i…

Calling Stored Procedures with Code First
Calling Stored Procedures with Code First

One of the weaknesses of Entity Framework 6 Code First is the lack of support for natively calling database constructs (views, stored procedures… etc). For thos…

Conditional Sql parameters with nHibernate
Conditional Sql parameters with nHibernate

The problem is a the nHibernate’s `CreateSqlQuery` needs a complete sql string to be created, but you can’t create a string until you’ve evaluated the parameter…

Crystal Reports 13 Maximum Report Processing Limit Reached Workaround
Crystal Reports 13 Maximum Report Processing Limit Reached Workaround

In the Visual Studio 2012 version of Crystal Reports 13 there is a threshold that throttles concurrent reports, this also includes subreports, to 75 reports acr…

Considerations When Throwing Exceptions
Considerations When Throwing Exceptions

There is an underlining philosophy in this system that nulls are bad. In most cases where a null can be generated an exception is thrown. At first I did not see…

Creating a Generic Type at Runtime
Creating a Generic Type at Runtime

To use a runtime type with an IOC container like StructureMap to find a generic implementation, create the generic type using `MakeGenericType` and then retriev…