Month in review: February 2026
Things that happened I've installed https://github.com/johncmunson/claude-code-transcripts which is handy for copying formatted content from Claude Code into Obsidian. (I installed this rather than S

Search for a command to run...
Things that happened I've installed https://github.com/johncmunson/claude-code-transcripts which is handy for copying formatted content from Claude Code into Obsidian. (I installed this rather than S

Azure DevOps has two types of wikis: Code wikis (Git-backed) - which you can clone Project wikis (non-Git) - stored in Azure DevOps' internal storage The Azure DevOps UI gives you the URL to clone

Background I’m a long-time user of GitHub Copilot as a professional programmer, as my employer gave me access when we first started trialling its use in our company. I’ve used it mainly through Rider, which is the IDE I generally prefer, although I h...

Things that happened From a technical point of view, the main thing that happened in January is that I got access to Claude Code and have been playing around with that. I hope to write up my thoughts soon. Things I learnt I’ve published a number o...

I knew that typescript supports a type being a specific string, rather than the string type, so (for example) a function parameter can only receive the string “foo” and not a different string. Today I learnt that this can be done by using the as cons...

I’m far from a command line wizard, but am gradually picking up more tricks and tips as time goes by. I recently found a styling bug I was confident I’d introduced in the previous few commits, but I wasn’t sure which one. In the past I’ve used git bi...

I’ve recently been given access to Claude Code at work, so I’ve been trying it out to see how I get on with it. I tend to run it from a Windows Command Prompt, and I’ve noticed that it keeps creating files named nul with 0KB size. Worse, when I try t...

I recently hit an interesting gotcha with some code in a C# codebase i was working with. It baffled me because I didn’t understand how this could compile. MyClass.Foo has a getter but no setter, yet an instantiated MyClass can have the Foo property s...

Summary I was editing a run configuration in Rider and needed to add several environment variables to it. There’s a button in the dialogue to paste them in, but no guidance regarding the format of the data, and no feedback if you paste the wrong form...
