Sunday 12 November 2023

Docker cheatsheet

Attach to a running container:
docker exec -i -t <container> /bin/bash

Run networking tools:
docker run -d praqma/network-multitool --name netshoot
docker exec -it netshoot /bin/bash

Thursday 9 November 2023

Git cheatsheet


Create a taggit tag -a 1.0.0 -m "First release"
Delete a remote taggit push --delete main 1.0.0


Remove all commit history and set the code as the only commit
git checkout --orphan newBranch
git add -A  # Add all files and commit them
git commit
git branch -D master  # Deletes the master branch
git branch -m master  # Rename the current branch to master
git push -f origin master  # Force push master branch to github
git gc --aggressive --prune=all     # remove the old files

Thursday 2 November 2023

Durable Functions vs Bespoke Event Sourcing

 You can write an application that uses Event Sourcing using code like the asos-eventsourcing and SimpleEventStore.

However, you can take advantage of the built-in event sourcing capabilities of Durable Functions.

Wednesday 2 August 2023

Open TTD settings


Settings > Interface > General > Close window on right-click: on

Settings > Disasters/Accidents > Vehicle breakdowns: none

Settings > Localisation > Speed units: Imperial (mpg)

Settings > World Generation > Road vehicles: Drive on left

Settings > Limitations > Vehicles never expire: on

Settings > Environment > Authorities > Allow buying exclusive transport rights: off


BRTrains v2

British Town Names

Get an app to open this 'ms-gamingoverlay' link error

Whenever I loaded OpenTTD on a locked-down machine it raised the error 

"Get an app to open this 'ms-gamingoverlay' link"

This was because Windows had detected a game had been loaded and started to invoke XBox Game features - such as the Game Bar and the ability to record video. However the PC was locked down through policy and these features were unavailable. Clicking on the "Browse Microsoft Store" link wouldn't work because the Windows Store was removed by policy.

This article helped.

Creating the DWORD registry key


and setting the value to 0 fixed it.

Thursday 22 June 2023

Removing X-Frame-Options in ASP.NET MVC Core 7

I had an ASP.NET Core 7 App that used forms.

And I actually WANTED it to be used within an iFrame.

As soon as you add a form to a Web App, the server immediately starts returning X-Frame-Options: SameOrigin in all requests.

I tried a variety of means to remove this, including:


            app.Use(async (context, next) =>
                context.Response.Headers.Add("Bob", "Hello");
                await next.Invoke();


The Bob header was being added, but X-Frame-Options stubbonly remained.
In the end I found the solution was to use:

// Remove X-Frame-Options, allowing Framing
            builder.Services.AddAntiforgery(options =>
                options.SuppressXFrameOptionsHeader = true;

Saturday 17 June 2023

Transferring domains to Google

I decided to leave 123-reg after they chose to upgrade their email services and removed catch-all email forwarding. I found a slight issue when transferring Nominet (.uk) domains to Google. The transfer process requires Google to send a handshake email to the registrant's email address, requesting them to approve the transfer. However, if you don't have a gmail address registered, you don't seem to get an email. So it is important to set the registrant's contact email to a Gmail address first, before setting the IPS tag.