Posts
The various thoughts and ramblings of a Solution Architect, Trail runner and student of Leadership
Tech Debt or Velocity Tax? Unpacking the Metaphor
A friend proposed reframing tech debt as a 'Velocity Tax'. The more I picked it apart, the more I realised the metaphor matters, but maybe not in the way I first thought.
Story Points: Whats the point?
Story Points are awesome... Except for the 99% of the time they are point-less.
Will AI take my job
With the same hype as Web3 had in 2022, we are seeing a surge in the popularity of AI, not only are we seeing the familiar surge of snake oil salesmen aiming to make a quick buck or two (million), but were are seeing a perceived threat to our day-to-day livelihood. Here are my personal reasons as to why I'm not concerned about losing my job to AI.
Finding my Why
What do I want to be when I grow up? At 41 years old, I still can't answer this question. But I am getting close.
My UTA100 Journey - Part 3
From the beginning of my UTA100 journey I set myself the following goals: Base: Finish; Target: 20hrs; Stretch: 18hrs. After an extended training season, in …
My UTA100 Journey - Part 2
Ok, so it turns out that yes I am more stupid than I gave myself credit for (see part 1). Suckered into an event that I know is impossible unless I commit 100% …
My UTA100 Journey - Part 1
Yesterday I completed something that I have long thought I would never be able to achieve, and not only did I finish it, but I smashed all my expectations. The …
.NET MAUI Community Toolkit
The .NET MAUI Community toolkit is a package of reusable .NET MAUI components and elements, that just don't belong in the .NET MAUI framework, but are common enough that many people are asking for them. The purpose of this post isn't to dive deep into the technical aspects or event the usage of the toolkit (the docs do a great job of that), It's more to help shine a light on the wonderful work the community is putting in to help grow the .NET MAUI ecosystem.
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?.
Lessons from a successful project
Lessons learnt after recently completing a successful project
GetHashCode() the easy way
Remembering the most appropriate way to calculate a hashcode was always difficult. But not anymore
New years goals
I've never been one to set myself new years resolutions, not for any particular reason, I just don't. However, last year I set myself several goals and/or challenges.
SignalR - Why? Because its easy
SignalR has been around for a few years now (since 2013), offering real-time notifications to our .Net applications.
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.
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?
Ng directive Thought Experiment
ngLet directive to resolve an async observable binding without having to use ngIf to hide content
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
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
Welcome
It’s time to stop procrastinating… For many years now I’ve spoken on many occasions with colleagues about the importance of keeping a blog, …