Askepit Hub
Articles
February 26th, 2026
Build ffmpeg for Windows
Recently I had to build ffmpeg on Windows using the MSVC compiler. And let me tell you — I nearly died. The official documentation for building the project on Windows is hopelessly outdated.
February 25th, 2026
C++ penny pinching
Recently at work we ran into high memory consumption in a game. It was caused by storing a large amount of terrain information and tile properties that the game needs for various gameplay calculations. A very common problem, and it hits especially hard with large arrays or matrices of significant dimensions.
September 28th, 2025
How in Earth do you write these retrospective articles of yours?
There’s this type of article on blogs — you read it and think: how the hell was this written? The material is big, long, with lots of code, and the code evolves along the way, gets better. The author shows execution results, runs, benchmarks.
September 27th, 2025
Heads or tails. C++ edition
John Edmund Kerrich is known as the man who flipped a coin 10,000 times to test the law of large numbers in practice. It's not reliably known how long that tedious experiment took...
May 5th, 2025
Making bots play cards endlessly, part II
We continue forcing bots to play cards endlessly in the desperate hope of shaking out the optimal settings for our card game. The first part of this epic saga is here. Highly recommended reading — otherwise, keeping up with the context will be a pain.
March 4th, 2025
Making bots play cards endlessly, part I
So there I was, doing what I love—messing around with writing mini-games that no one but me would ever see. This time, I was tinkering with a card game, a knockoff of Inscryption. Well, more like a pale imitation with vague goals and even vaguer prospects.
November 28th, 2024
Writing plugins for Obsidian, part II
I'm not a chess player, but I'm interested in it :) I have notes with chess sketches. And I'm definitely not alone in this, since right now there are three plugins in the Community plugins section that allow displaying a chessboard with pieces in a note.
November 27th, 2024
Writing plugins for Obsidian, part I
After all the hype around Notion, people scattered in all directions, but somehow most ended up looking toward Obsidian. Internet was flooded with articles about Obsidian and plugins for Obsidian.
November 20th, 2024
constexpr Game of Life
For over a decade now, C++ has had constexpr, a feature that allows programmers to dump part of the workload onto the compiler. When I first encountered it, it blew my mind—imagine the compiler crunching some pretty complex calculations before the program even runs!
August 6th, 2024
Multithreading in games
Modern games are rich in content, gameplay mechanics, and interactivity. A lot happens on the screen all at once—the world feels alive, responsive, and even without active player involvement, life continues to simmer, with multiple events unfolding simultaneously. Let’s dive into the details of how this diversity of in-game events is implemented and find out what role multithreading plays in all this, and how many cores a typical game needs.
August 2nd, 2024
Punk riff generator
Once upon a time, maybe five years ago, I decided I wanted to play a sound in the browser. I don’t even remember the exact task or what I was trying to achieve—most likely just messing around with different samples, maybe programming a track.
February 25th, 2024
Git in conditions of extreme branch atomicity
How are your branches organized in Git? What do they look like, and what size are they? Below, I'll tell you how to restrict yourself within limits and then deal with the consequences using a nifty life hack.
February 19th, 2024
Voronoi, Manhattan, random
This is a story about how to never quite finish a project, yet gain a ton of experience and have no regrets. So, we had one programmer, one artist, an absolute lack of understanding of the workflow, an unfamiliar game engine, and a desire to create something. If you're curious about the mixup of Voronoi diagrams, a special case of Minkowski distance, polygon transformations, procedural generation, and noise—all wrapped up in a beautifully stylized package—this is the right place for you to read.
January 18th, 2024
Utilizing Git to make Rust development even sweatier
Rust was created to make programmers suffer, right? So why not make git collaborate with Rust and make it all even more hardcore? Actually, the article is more about git than Rust, so if you're not particularly familiar with Rust, don't hesitate — the narrative will be more about the development flow than the language itself. Rust was chosen for the article mainly for its convenient package manager `cargo`, which makes the storytelling more laconic and illustrative.
January 15th, 2024
What we lack in C++
C++ has been evolving rapidly for the past decade and more. Nevertheless, in our codebases, there are still numerous helper files and classes that aim to fill the gaps in the language's standard library. How did we end up with these helper files, and when will this ever end?