DHH on why he does not have 15 minutes for a “quick call”

Not a fan of video content, but I know this sentiment exactly. A 15 minute meeting at 13:00 can ruin an entire day of deep work. It goes back to the difference between makers schedule and managers schedule - meetings cost makers more. Funny enough, I reflected on my experience today, and 2 x 5 minute interruptions in person in the office was significantly less disuptive than a chat message “do you have 15 minutes for a quick call”. Food for thought.

When I politely decline scheduling a ‘quick call’

The Architect Elevator

Participated in the workshop, great stuff. Gregor has seen it all, and can challenge your thinking like few others. I come away energized and with lots of food for thought, in the areas of political capital and how to spend it, ways to expand the solution space and how to be high level with depth - to name but a few. I had a blast, colleagues were not quite as enthusiastic though (too many anecdotes for their taste), so YMMV. If you are a fan of the books, definitely go.

Azure Dev Summit

Microsoft returned to Europe with a developer conference, and it was a great one. Portugal is lovely (first time there), and there was loads of great content. Standout sessions were

  • Filip W’s session on patterns for Small Language Models (and fine tuning them)
  • Safia Abdalla’s mini-workshop on re-implementing ASP.NET Core Minimal API (the framework) from scratch (2 hours!)
  • Bart De Smet’s session on implementing a C# feature in the Roslyn compiler (1 hour!)

and a great workshop (with demo of Sustineo) about the new (LLM) Agents framework and LLM agents in general by Seth Juarez

GH-500 ESI Training

Triple-up on training, I did the GH-500 workshop virtually with a Microsoft trainer today. Strange pacing in the material, some of it very basic, some of the stuff around CodeQL very deep and difficult to grasp in a few overloaded slides, but the trainer did his best to make it work. And I walked away with a better idea of how MS virtual training works.

The labs were somewhat broken (e.g. “do not introduce the synthetic bug in main but make a branch and a PR” … “fix the bug you introduced in main”), but I found it interesting that they were automated with GitHub Actions, that analyzed your progress and updated the lab instructions based on this.

I previously did the MS Learn test exam for GH-500, and it seems way too easy compared to something like AZ-204. Not sure if this reflects the actual exam, but maybe I should give it a shot…

Paperless-ngx

I have long considered scanning my old physical documents to PDF. Paperless-ngx offers a web interface for ingestion/OCR/tagging of scanned documents (and other document types), and might be a useful part of that.

Paperless-ngx

The Doom loop

Not as in “Knee-deep in the dead”, but as in what happens when you try to get frontier models to solve problems for which their training data was insufficient. E.g. non-tool assisted multiplication, representing unusual imagery like “a wine glass filled to the brink” or esoteric application code. Fortunately (?) there is a lot of boilerplate involved in development still…

The Doom loop

Net Promoter Score

NPS is getting more and more traction, but I cannot help but wonder if cultural bias or survey fatigue is setting up organizations for disappointment and false conclusions…

Macrodata Refinement Keycaps (from Severance)

Finished watching Severance today, and I found out you can get a set of matching Macrodata Refinement-style keycaps. I like the retro style, but they are expensive, and I use blank keycaps

Cline + Grok Code Fast 1

I am vibe coding an new version of my PhoneShare app, that I use to capture and LLM summarize links from social media (which mostly happens on LinkedIn these days after Twitter imploded).

The app started out from a oneshot with M365 Copilot + GPT-5 which sorta worked, but I had little luck when I tried to follow up with GitHub Copilot, Senatus and the free GPT-1 / GPT-5-Mini models (my Premium model requests are provided by work, so I do not want to use that for hobby projects). It seemed to be stuck in “the Doom loop”. So I was looking for alternatives.

After a quick look at market leader Cursor, which I considered subscribing to, I found Cline, specifically the terminal coding agent. And it turns out that currently, usage with grok-code-fast-1 is completely free (even though Elon went crazy, I do not mind spending his money on tokens) The results were pretty good - it picked up on the Senatus plan, found the failing tests GPT-5 had created and, given appropriate number of “fix the tests” inputs, it did. Since the new architecture is a complete split of a static web app Front End with configureable backend, I might publish the repo when I am done. But I guess I should look at the actual code first :-)

ORAS - use container registries for non-container-image artifacts

As part of my thinking on how to replace Octopus with GitHub flows, there is a need to store binaries with metadata (and perhaps other artifacts like SBOM) between the build and release stages (as per Build Binaries Only Once)

Some workloads naturally use container images for this, but since I use .NET and Azure App Service a lot, simple zip deployment is often all that is needed. I have seen examples of using GitHub Releases for this purpose, and while it works, I would really like to store binaries in a single place (like the Octopus feeds), with the ability to apply my own retention policies and access control, separate of source access.

That lead me to ORAS which offers the ability to store arbitrary files as versioned container registry repositories. You install it with

winget install oras

then authenticate with

oras login <container registry url>

push the file(s) with something like

oras push <container registry url>/my-application:1.1.1001 --artifact-type application/zip --annotation "org.opencontainers.image.title=My Deployment artifacts" --annotation "..." MyApplication.1.1.1001.zip

and can then download it where you need to deploy it with

oras pull <container registry url>/my-application:1.1.1001

I have only scratched the surface here, but it looks very promising.

Yet another password generator

I use a lot of passwords still, and while there are plenty of generators out there, I figured that making one myself could be a fun vibe coding exercise. I had Copilot / Sonnet create the code, and M365 Copilot security review it, to arrive at the final solution. It is deliberately kept simple, ~450 lines of unminified Javascript, and all additional resources used (Pico CSS and some custom styles) are also kept unminified for easy review. In addition, a CSP policy prevents loading anything off-origin just in case.

(yet another) Secure Password Generator

Unregistry - skip the container registry

More to my taste than the ephemeral registry I wrote about previously is Unregistry, where you make the daemon on the remote end where you want your image to end up host a registry you can push the (missing layers of the) container image to. I do not have a use case right now, but one to look into next time I am dabbling with containers at home (via David Fowler)

Unregistry

MCP as generic, non-agent plugins

Another lens to view MCP as “USB-C for APIs”, a universal interface, allowing your non-agentic apps to piggyback on the huge amount of functionality being exposed as MCP servers. Some of the comments predicts impending collapse, when the MCP server vendors sour on the value proposition for them in exposing their functionality and data this way.

MCP: An (Accidentally) Universal Plugin System