自己紹介 · About
I'm a software developer in finance, mostly building infrastructure tooling and making systems talk to each other. I have an eye for detail, or at least an eye for spotting mistakes, and a stubborn belief that things should be done properly, if not first time then eventually. I like simple. I'm also wary of anything that claims to be, and will happily explain why.
作品 · Things I have made
- 解説 Explainer One loop, many searches An interactive explainer showing that breadth-first, depth-first, Dijkstra and A* are one search loop with a single function swapped.
- 解説・ツール Explainer and tool Slider A sliding puzzle solver, with A* and IDA* explained.
- ゲーム Game Bezique A card game.
- ライブラリ Library GeneCodeCS Genetic programming library for .NET. Evolve programs from your own C# methods, compiled in memory.
仕事の外で · Beyond the day job
I like architecture, algorithms and data structures, and the whole journey from design to delivery. I like tests too, the targeted kind that give confidence a codebase does what it claims, catch regressions and make refactoring less alarming. I agree with Dijkstra that testing can show the presence of bugs but never their absence, which is why formal methods fascinate me, even though I have yet to use them in anger. The explainers above are what happens when that interest gets out.
Learning is the hobby the other hobbies hang off. Japan is the big one. I lived there, I still speak some Japanese, and I love the language, the culture, the food and the tea ceremony. Languages in general are a weakness. I play the piano and sing in a choir, and I'm teaching myself the organ and the trombone, neither of which is a quiet instrument to learn badly. I cycle to work, and keep promising myself I'll start running again.