stevehocking.co.uk
About stevehocking.co.uk Categories
The Agency Agents: A pre-built agent library
The Agency Agents: A pre-built agent library

Incorporating AI agents when you're not at the start.

Mar 31, 2026

ai copilot jekyll
AI from scratch: How to start a project using GitHub SpecKit
AI from scratch: How to start a project using GitHub SpecKit

From zero to ai hero.

Mar 18, 2026

ai dotnet copilot
Updating WSL on Login
Updating WSL on Login

It's not a better way, it's just a different way

Aug 26, 2025

wsl powershell
Compendium of Knowledge and Helpful Things - Unattended Upgrades
Compendium of Knowledge and Helpful Things - Unattended Upgrades

Stay secure, install and configure `unattended-upgrades`

Jul 23, 2025

compendium-of-knowledge helpful-things unattended-upgrades
Lightly scratching the surface of JSON deserialization in dotnet
Lightly scratching the surface of JSON deserialization in dotnet

Deep dives are so passé

Jun 25, 2025

dotnet json deserialization
A little light performance validation
A little light performance validation

Is this a string value, or... Never mind!

Jun 4, 2025

dotnet benchmarkdotnet performance-testing
Testing the configuration of an AWS API Gateway in a CDK deployment
Testing the configuration of an AWS API Gateway in a CDK deployment

Unit testing IaC? Really...

Mar 1, 2025

aws aws-cdk dotnet unittest
Share SSH Keys between multiple WSL2 Distributions
Share SSH Keys between multiple WSL2 Distributions

Because why stop at one distribution?

Jan 15, 2025

docker ssh wsl keychain
Using Docker Compose with a Dev Container in VS Code
Using Docker Compose with a Dev Container in VS Code

Docker can run more than one container at a time? 🤯

Sep 16, 2024

docker vscode plantuml
The incredible power of cleaning house
The incredible power of cleaning house

How to have AWS Elastic Container Registry (ECR) automatically expire your old images for fun, savings and security

Sep 3, 2024

aws awscli docker security
Bash: Bulk rename some files recursively
Bash: Bulk rename some files recursively

How to 'just' rename some of the files in a directory in a bash shell (and in the child directories)

Jun 16, 2023

bash
AWS: Using the AWS CLI to search within files in an S3 Bucket - Part 2 - the Search Script
AWS: Using the AWS CLI to search within files in an S3 Bucket - Part 2 - the Search Script

How to 'just' search for a file in an S3 bucket

Jun 2, 2023

aws awscli
AWS: Using the AWS CLI to search within files in an S3 Bucket - Part 1 - Cloudformation
AWS: Using the AWS CLI to search within files in an S3 Bucket - Part 1 - Cloudformation

When setting up infrastructure is more straightforward than the 'simple' task you need to perform

Jun 1, 2023

aws cloudformation awscli
Evolving Architecture: Adding value with each change
Evolving Architecture: Adding value with each change

Not just change for changes sake

Jan 31, 2023

evolving-architecture aws
Evolving Architecture [short]: Unit Testing a Cloudfront Function
Evolving Architecture [short]: Unit Testing a Cloudfront Function

It is time to do the right thing

Jan 7, 2023

evolving-architecture aws javascript unittest
Evolving Architecture [short]: Fixing a Cloudfront Distribution with a Function
Evolving Architecture [short]: Fixing a Cloudfront Distribution with a Function

What?!? There's no such thing as a default file?

Dec 27, 2022

evolving-architecture aws aws-cdk cloudfront
Evolving Architecture: Publishing a Jekyll site to AWS using GitHub Actions and AWS CDK
Evolving Architecture: Publishing a Jekyll site to AWS using GitHub Actions and AWS CDK

Moving forward, one step at a time

Dec 22, 2022

evolving-architecture aws aws-cdk github github-actions
Unit testing HttpClient consumers
Unit testing HttpClient consumers

Testing your code that uses HttpClient may not be as hard as you thought

Aug 12, 2021

dotnet unittest
Not all changes to your React components result in events
Not all changes to your React components result in events

Your expectation may be being matched by mistake

May 10, 2021

javascript react
React Higher Order Components (HOC) - Unknown Event Handler Property - Solved!!!
React Higher Order Components (HOC) - Unknown Event Handler Property - Solved!!!

Unknown event handler property... will be ignored 👀

May 3, 2021

react javascript
Compendium of Knowledge and Helpful Things - Friday 8th January, 2021
Compendium of Knowledge and Helpful Things - Friday 8th January, 2021

A run down of the things that I have found to be helpful and interesting this week

Jan 8, 2021

compendium-of-knowledge helpful-things
Run Jekyll in a VS Code Dev Container
Run Jekyll in a VS Code Dev Container

WSL2, docker, linux, ruby, jekyll, my! my! my!

Sep 22, 2020

docker wsl jekyll
Build and Deploy an Azure Function using Github Actions
Build and Deploy an Azure Function using Github Actions

Free CI/CD

Jun 10, 2020

azure azure-function github-actions
Create a Docker Layered Build .net core Applications
Create a Docker Layered Build .net core Applications

I feel the need, the need for speed!

Jun 4, 2020

docker dotnet unittest
Build and Deploy a React App to Azure Blob Storage using Github Actions
Build and Deploy a React App to Azure Blob Storage using Github Actions

Free CI/CD

Jun 2, 2020

azure azure-blob-storage react github-actions
Use the connection string
Use the connection string

I am a developer. I am one with the connection string, and the connection string will guide me.

Apr 19, 2020

connectionstring sqlserver eventstore mongodb dotnet
Stop! You may not want to squash and commit...
Stop! You may not want to squash and commit...

Yes it gets rid of cruft, but so does rebase

Apr 5, 2019

git
What is event sourcing?
What is event sourcing?

Why shoud I care? And will it make me tea and toast in the morning?

Feb 24, 2019

events eventstore eventsourcing
Events events events!!!
Events events events!!!

What even are events?

Feb 14, 2019

events eventstore
Docker Networking - create and connect
Docker Networking - create and connect

When localhost, 127.0.0.1 or ::1 just aren't good enough

Feb 13, 2019

docker
Spin up k8s and run your Docker image
Spin up k8s and run your Docker image

You got your Docker image into Azure, now you have to run it in a container for it to be actually of use...

Jan 30, 2019

docker azure
Use Edge In-Private from Visual Studio
Use Edge In-Private from Visual Studio

What Microsoft giveth with one hand occasionally makes you facepalm.

Jan 25, 2019

visualstudio
Bulk updates to files using Powershell
Bulk updates to files using Powershell

Sometimes you just have to do some bulk updating on some files.

Jan 7, 2019

powershell
Deploying a docker image to Azure
Deploying a docker image to Azure

You've made something useful, now make use of it!

Dec 19, 2018

docker azure
Useful docker commands
Useful docker commands

Some useful commands when working with docker

Dec 12, 2018

docker
Dockerize an ASP.NET Core Blog
Dockerize an ASP.NET Core Blog

Setting off on the way to exploring some cloud services

Oct 23, 2018

dotnet docker
Using Powershell to interrogate xml
Using Powershell to interrogate xml

What to do when confronted with 100,000 lines of technobabble

Oct 5, 2018

powershell xml
Building an interactive service with .NET Core 2.1
Building an interactive service with .NET Core 2.1

Exploring whats new with .NET Core 2.1 whilst also exploring how to make services a bit friendlier

Jul 20, 2018

dotnet autofac serilog rabbitmq
The Pit of Success
The Pit of Success

Because the Guided Busway to Success isn't as emotive or intriguing, also it's not just for developers!

Jun 1, 2018

leadership team
How not to write SQL statements
How not to write SQL statements

Your TSQL statements might be around a lot longer than you expect...

May 11, 2018

legacy maintenance sqlserver
Are you the best developer, or the lead developer?
Are you the best developer, or the lead developer?

There is a difference, but not everyone realises it.

May 8, 2018

team leadership
Building a Windows Service to run scheduled tasks the more sensible way - The long awaited Part 2!
Building a Windows Service to run scheduled tasks the more sensible way - The long awaited Part 2!

Adding in Quartz.Net and doing some actual scheduling! What a time to be alive!

Mar 27, 2018

topshelf quartz.net autofac serilog
Building a Windows Service to run scheduled tasks the more sensible way - Part 1
Building a Windows Service to run scheduled tasks the more sensible way - Part 1

Topshelf, Quartz.Net, Autofac and Serilog; Oh My! What a time to be alive!

Dec 9, 2016

topshelf quartz.net autofac serilog
Enabling Jenkins to build GitHub Enterprise Pull Requests
Enabling Jenkins to build GitHub Enterprise Pull Requests

Taking some of the load out of code reviews

Oct 13, 2016

github jenkins
How to destroy the performance of an SQL query, and then bring it back
How to destroy the performance of an SQL query, and then bring it back

But it's only a FLAG!!!

Sep 9, 2016

sqlserver performance
Running Jekyll on Windows Subsystem for Linux
Running Jekyll on Windows Subsystem for Linux

Yuh, Jekyll, on Windows, without errors!

Sep 7, 2016

jekyll windows bash wsl
Implementing an AverageTimer32 Performance Counter in .NET
Implementing an AverageTimer32 Performance Counter in .NET

Use just one performance counter to monitor performance, not with new AverageTimer32 Performance Counters

Dec 8, 2015

dotnet perfmon performance-counter
Authentication and Authorization: Integrating Active Directory
Authentication and Authorization: Integrating Active Directory

Who are you? You want to do what? Why should I believe you?

Nov 18, 2015

authentication authorization active-directory dotnet
Managing updates to legacy system databases
Managing updates to legacy system databases

Change log? Model? It's all about the tools!

Nov 13, 2015

legacy maintenance database
Dealing with emergency fixes on poorly understood legacy systems
Dealing with emergency fixes on poorly understood legacy systems

If these things were easy everyone would be doing it

Nov 5, 2015

legacy maintenance
Why am I getting a 500.19 from IIS when my xml isn't malformed?
Why am I getting a 500.19 from IIS when my xml isn't malformed?

What? These URLRewrite rules?

Nov 2, 2015

iis jenkins octopus-deploy
Setting up keychain for bash on a linux server
Setting up keychain for bash on a linux server

Because it's nice to not enter your SSH passwords everytime you log on.

Sep 23, 2015

ubuntu linux bash keychain ssh
Using JSPM with the Visual Studio (VS) 2015 Release Candidate (rc)
Using JSPM with the Visual Studio (VS) 2015 Release Candidate (rc)

Because sometimes it's good to use the stuff that isn't available by default.

May 1, 2015

javascript jspm visualstudio
Why is my Javascript RegExp doing that?! The g flag...
Why is my Javascript RegExp doing that?! The g flag...

Some people, when confronted with a problem, think 'I know, I'll use regular expressions'. Now they have two problems.

Apr 29, 2015

javascript regexp
Setting up aliases in bash
Setting up aliases in bash

Aliases, they make life so much simpler, use them!

Apr 16, 2015

jekyll chocolatey linux bash
'Cloning' an object in javascript
'Cloning' an object in javascript

Sometimes you need an exact copy of a javascript object, here is one way to do that.

Mar 24, 2015

javascript
Mocking a fluent interface 'automatically' in Moq
Mocking a fluent interface 'automatically' in Moq

Fluent interfaces and objects can be useful and self documenting in certain situations, e.g. builders. However setting up a mock in a unit test can be very painful.

Nov 20, 2014

dotnet moq
Setting up an Ubuntu Server VM in Windows 8 Hyper-V
Setting up an Ubuntu Server VM in Windows 8 Hyper-V

Configuring Hyper-V, setting up the vm, installing Ubuntu Server, and finally configuring the server.

Jul 13, 2014

windows hyper-v ubuntu

subscribe via RSS

stevehocking.co.uk

  • stevehocking.co.uk
  • steve@stevehocking.co.uk
  • /steve-codemunkies
  • /stevenhocking
  • /stevehocking