Welcome

Explore hidden features of tools, procedural generation tips, and software engineering insights.

YAML: anchors and multiline text

‘>-’ and ‘|’ for multiline text; ‘&id’ and ‘*id’ for anchors; ‘«: *anchor’ to merge keys

September 6, 2025 · 3 min ·  yaml GitHub Actions

Build linux shared libraries for distribution

Build the library, strip debug info, manage symbols visibility, etc.

September 2, 2025 · 14 min ·  C++ shared library cmake

Keep 'git blame' clean

Use .git-blame-ignore-revs file

August 23, 2025 · 2 min ·  git gitconfig

Send workflow_dispatch event to not-default branch

gh workflow run manual_workflow.yaml –repo my_org/my_repo –ref side_branch

August 19, 2025 · 1 min ·  GitHub Actions workflow_dispatch

Areas on hexagon grid

FloodFill and Voronoi exploration

June 14, 2025 · 3 min ·  procedural generation hexgrid floodfill voronoi

Covariant types in C++ virtual methods

Return types of methods-overrides may be different

May 1, 2025 · 3 min ·  C++

Mysterious signed operand in a C++ expression

Integral promotion in action

April 24, 2025 · 2 min ·  C++

Unspecified behaviour in std::unordered_set and MacOS SDK

Unspecified behaviour may vary between different STL implementations

December 28, 2024 · 4 min ·  C++ XCode

Global .gitignore

git config core.excludesFile defines global gitignore

December 24, 2024 · 1 min ·  git gitconfig gitignore

Random points in circle with uniform distribution

angle = random(); distance = R * sqrt(random())

July 29, 2024 · 2 min ·  procedural generation