SOLID Principles

Hardcoding. Have your cake and eat it

One of the core principles of software that is drummed into new developers is 'Don't Hardcode anything'. What if I told you that it's OK to hardcode things? What if I told you that in some circumstances hardcoding is the RIGHT way to proceed?. Read More ›

c# · GetHashCode · VS2017 · VS2019 · .Net

GetHashCode() the easy way

Remembering the most appropriate way to calculate a hashcode was always difficult. But not anymore Read More ›

angular · signalr · realtime · asp-net-core

SignalR - Why? Because its easy

SignalR has been around for a few years now (since 2013), offering real-time notifications to our .Net applications. Read More ›

angular · rxjs · behavioursubject

RxJS refactor: BehaviourSubjects

Using RxJS BehaviourSubjects to tidy up our code and remove tight coupling between the Template and the component, whilst also providing hooks to trigger data updates. Read More ›

angular · environment-variables

Angular6 Runtime environment Variables

Setting environment variables in your Angular application is pretty straight forward. But, what about when you want to set those variables at runtime depending on the environment you are running in? Read More ›

angular

Ng directive Thought Experiment

ngLet directive to resolve an async observable binding without having to use ngIf to hide content Read More ›

angular · rxjs · async

Angular: arrrgh... too many async bindings

Redundant async bindings will trigger excess invocations of your observable. This simple technique, lets you remove those excess subscriptions Read More ›

angular · rxjs

RxJS: Using CombineLatest() + StartWith() to remove code duplication

Using CombineLatest and StartWith (and DebounceTime) RxJS operators to remove code complexity and duplication when fetching paged search results Read More ›