~ whoami

Matthew Lake_

Software developer. c# and .NET by day, Go in the evenings. I write about the things I hit while building, and keep a running devlog of work in progress.

$ ls devlog --recent all →
2026-09-14 Writing FNV-1a by Hand go
$ ls posts all →
2026-09-12
Fixing the Same Bug Three Times

I spent an evening adding player input to my game, and most of it went on one bug that kept coming back wearing a different hat. The lesson turned out to be about something C# gives you for free.

#go#gamedev
2026-09-05
What Writing an Entity System in Go Taught Me About C#

A pointer to an entity seemed like the obvious thing to hand out. It was not, and working out why sent me back to the C# documentation rather than the Go.

#go#gamedev
2026-08-26
Why My Game Thinks 64 Times a Second

Letting the player's computer decide how fast the game runs causes problems. Picking my own rate turned out to be more interesting than I expected.

#go#gamedev
2026-08-22
Why I Am Writing a Game From Scratch in Go

Leaving the engine, the framework and the AI code generation behind to build a puzzle platformer by hand, and what Go's value semantics taught me in the first week.

#go#gamedev
2023-02-13
Using scoped services in Background / Hosted Services (C#)

Hosted services are singletons. Here is how to reach for a scoped dependency like an EF context without fighting the container.

#dotnet
2021-07-25
How To Implement a TipTap WYSIWYG Editor in Laravel Livewire

Building a small app that wires a headless TipTap editor into a Livewire component, end to end.

#php#laravel