<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on The Pro Amateur</title><link>http://mmozgovoy.dev/posts/</link><description>Recent content in Posts on The Pro Amateur</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 25 Jul 2026 10:10:20 +0900</lastBuildDate><atom:link href="http://mmozgovoy.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>💡 Visions of the Future</title><link>http://mmozgovoy.dev/posts/the-visions-of-the-future/</link><pubDate>Sat, 25 Jul 2026 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/the-visions-of-the-future/</guid><description>Sadly, I started devoting too much blogging time to the current agenda, but we’re living in interesting times, and I am not immune to ongoing debates. One thing that bugs me is the general negative sentiment toward modern trends and forces driving them. Folks like Elon Musk get as much hatred as second-rate dictators and war criminals, and technological advances are seen as plainly &amp;#34;evil&amp;#34; rather than merely &amp;#34;disruptive&amp;#34; or &amp;#34;potentially dangerous&amp;#34;.</description></item><item><title>💡 The Mindset of the Team Lead</title><link>http://mmozgovoy.dev/posts/the-mindset-of-the-team-lead/</link><pubDate>Fri, 12 Jun 2026 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/the-mindset-of-the-team-lead/</guid><description>Let me acknowledge that I usually skip articles of &amp;#34;why I started/stopped/use X&amp;#34; sort, because thanks, keep me posted, we are all deeply interested in your experience. And yet we are in the middle of generative AI storm of a kind, and it would be weird and silly to avoid discussing personal experience in a personal blog.
Social media reveals many extreme views belonging to the generalized &amp;#34;LinkedIn&amp;#34; and &amp;#34;Homepages&amp;#34; camps.</description></item><item><title>💡 Predestination and Foreknowledge</title><link>http://mmozgovoy.dev/posts/predestination-and-foreknowledge/</link><pubDate>Fri, 11 Jul 2025 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/predestination-and-foreknowledge/</guid><description>I somewhat belatedly realized that my little essay on free will would benefit from a short discussion of predestination, how it is different from foreknowledge, and how free will can be imagined in a deterministic world.
It seems that the current free will debate within scientifically accepted worldview is mostly about definitions and feelings. Someone like Dennett says, free will is X, and we all possess it. Someone like Harris replies, yes, I possess X, but this is not really free will.</description></item><item><title>💡 On Free Will</title><link>http://mmozgovoy.dev/posts/on-free-will/</link><pubDate>Thu, 03 Jul 2025 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/on-free-will/</guid><description>The problem of free will is one of those ever-tempting, evergreen topics that one simply cannot avoid sooner or later. I vividly remember my first realization (somewhere in my teens, I guess) that the laws of physics are deterministic, so our lives are hardly more &amp;#34;free&amp;#34; than trajectories of balls on a pool table. Later, I was pleased to learn that quantum mechanics suggests our world is in fact stochastic, so human destinies are not really cast in stone.</description></item><item><title>💡 On Blogging</title><link>http://mmozgovoy.dev/posts/on-blogging/</link><pubDate>Sat, 29 Mar 2025 09:30:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/on-blogging/</guid><description>Looks like I still can’t get the hang of regular blogging. There are people who write nearly every day, posting bite-size yet interesting pieces of texts. Some manage to write longer posts, maybe twice a week or so. How do they do it?
Granted, you do need free time to write, something that I sorely lack these months. In addition, blogging should feel like a welcome change from everyday chores, but in my case writing (papers, books, emails) takes maybe a half of my spare time.</description></item><item><title>⚙️ A New Way to Shoot Yourself in the Foot with vcpkg</title><link>http://mmozgovoy.dev/posts/vckpg-shoot/</link><pubDate>Thu, 08 Aug 2024 15:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/vckpg-shoot/</guid><description>I have a long history of C++ programming that far predates any commercial software development I participated in. My feeling is a strange mixture of geniune love and Stockholm syndrome: started with BASIC, I had C as my first &amp;#34;serious&amp;#34; language. After all, real programmers’s don’t use Pascal, so whatever experiences I had with Pascal, they don’t count. After C, going into C++ programming was a natural direction, especially at that time (late 90s).</description></item><item><title>🎤 Neterpenie</title><link>http://mmozgovoy.dev/posts/neterpenie/</link><pubDate>Fri, 16 Feb 2024 18:56:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/neterpenie/</guid><description>Российская Федерация — государство-червь, государство-пидор. — Олег Кашин Yuri Trifonov’s novel &amp;#34;Neterpenie&amp;#34; (&amp;#34;The Impatient Ones&amp;#34;) is not the easiest reading. It is a classic Russian work in a sense that it is full of human misery, and hardly any hope. &amp;#34;Neterpenie&amp;#34; can be translated as &amp;#34;impatience&amp;#34;, but with a strong flavor of &amp;#34;not being able to stand something anymore&amp;#34;.
The novel is devoted to the activities of &amp;#34;revolutionary socialist&amp;#34; or simply terrorist organization Narodnaya Volya, ultimately resulted in the assassination of Alexander II.</description></item><item><title>💡 Event-Driven Architecture</title><link>http://mmozgovoy.dev/posts/event-driven-architecture/</link><pubDate>Wed, 31 Jan 2024 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/event-driven-architecture/</guid><description>Objects as Building Blocks Not sure whether we are already past the era of holywars like &amp;#34;objects vs functions&amp;#34;. The typical response to a holywarish statement of this kind today seems to be &amp;#34;it depends on the task&amp;#34;, which is both correct and boringly trivial, lacking much insight. Programming languages do converge, adopting interesting tools from any source, and we can’t say anymore that classes is a signature of an OOP language while lambdas are found in functional languages only.</description></item><item><title>🎤 On Unity Debacle</title><link>http://mmozgovoy.dev/posts/on-unity-debacle/</link><pubDate>Tue, 19 Sep 2023 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/on-unity-debacle/</guid><description>I prefer writing about tech stuff rather than commenting ongoing news, but thinking about tech takes time and spare brain power, and I am short on both these months. On the other hand, my blog break is becoming uncomfortably long, and I thought I’d jump at the chance to pen this quick piece just for fun, or maybe as a way to evaluate my talents at predicting the future. Let’s see whether my judgement holds up in a few years.</description></item><item><title>🎤 Lorenzo vs Michelangelo</title><link>http://mmozgovoy.dev/posts/lorenzo-vs-michelangelo/</link><pubDate>Thu, 30 Mar 2023 10:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/lorenzo-vs-michelangelo/</guid><description>It’s interesting to watch both the development of modern AI instruments like ChatGPT or Midjourney and human reaction to this process. Most commenters tend to discuss wide implications for our economy, society, job market, etc. I think many of these talks are highly speculative, but it is completely normal to try forecasting the future, even when the grounds for such predictions are shaky.
It’s fun to read such opinion pieces and imagine ourselves being somehow involved in certain tectonic processes (whether they are going to happen any time soon or not).</description></item><item><title>💡 Cooperative Wingspan</title><link>http://mmozgovoy.dev/posts/cooperative-wingspan/</link><pubDate>Mon, 27 Mar 2023 15:10:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/cooperative-wingspan/</guid><description>Today’s note is inspired by my short experience with a cooperative variant of the board game Wingspan. Wingspan is designed as a competitive game, where each player tries to score as many points as possible by collecting certain combinations of bird cards. In order to build a combination, the player needs to spend various resources that can be obtained on each turn. By adding new birds to the current combination, the player also becomes more efficient in obtaining resources, so resources will buy you more birds, and birds will buy you even more resources.</description></item><item><title>💡 Upgrading a Java Project After 20 Years</title><link>http://mmozgovoy.dev/posts/upgrading-java-project/</link><pubDate>Tue, 04 Oct 2022 14:56:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/upgrading-java-project/</guid><description>Intro One of the projects I hope to start soon is a game-like environment for teaching and learning concurrent programming. It has a very vague relation to an earlier system CPV, which I created for my graduation thesis around 2002. While collecting notes for the upcoming project, I thought it’s a good chance to review CPV to recall how it actually works, make sure it can be run on a modern computer, and possibly recycle some code.</description></item><item><title>🎤 Autumn Mood</title><link>http://mmozgovoy.dev/posts/autumn-mood/</link><pubDate>Sun, 02 Oct 2022 14:56:20 +0900</pubDate><guid>http://mmozgovoy.dev/posts/autumn-mood/</guid><description>Хорошо, что нет Царя. Хорошо, что нет России. Хорошо, что Бога нет.
Только желтая заря, Только звезды ледяные, Только миллионы лет.
Хорошо — что никого, Хорошо — что ничего, Так черно и так мертво,
Что мертвее быть не может И чернее не бывать, Что никто нам не поможет. И не надо помогать.
Георгий Иванов, 1930 г.</description></item><item><title>🧪 Winograd Schemas</title><link>http://mmozgovoy.dev/posts/winograd-schemas/</link><pubDate>Sun, 28 Aug 2022 10:11:40 +0000</pubDate><guid>http://mmozgovoy.dev/posts/winograd-schemas/</guid><description>Today’s little essay has no goal other than to be mildly amusing and somewhat informative. We’ll talk about Winograd schemas and other challenges related to the evaluation of computer’s ability to understand natural language texts.
Let me state first that I belong to a somewhat &amp;#34;lower excitement&amp;#34; camp of AI enthusiasts. I tend to believe there is no other-worldly magic in human intelligence, and eventually we’ll be able to build something resembling our brains and even surpassing them.</description></item><item><title>💡 How to Organize Workspaces</title><link>http://mmozgovoy.dev/posts/organize-workspaces/</link><pubDate>Sat, 02 Jul 2022 10:11:00 +0900</pubDate><guid>http://mmozgovoy.dev/posts/organize-workspaces/</guid><description>Intro This is one of my reflective notes that merely help me to organize my thoughts rather than offer polished solutions suitable for a broad range of scenarios. Still, I hope I am about to discuss an important topic, and my take on it might have some value.
There is a huge topic of &amp;#34;productivity&amp;#34;, &amp;#34;project management&amp;#34; and so on. In turn, it can be divided into subtopics like &amp;#34;organizing knowledge&amp;#34;, &amp;#34;managing a team&amp;#34;, &amp;#34;working with assignments&amp;#34;.</description></item><item><title>🎤 Solar Matter</title><link>http://mmozgovoy.dev/posts/solar-matter/</link><pubDate>Wed, 29 Jun 2022 13:13:40 +0900</pubDate><guid>http://mmozgovoy.dev/posts/solar-matter/</guid><description>[The author] confesses he dropped a book several times when reading historical sources, and threw away his feather in disgust not because of the thought that Ivan IV could exist, but because of realization that there was a society that could look at him without disgust. — A. K. Tolstoy, &amp;#34;Prince Serebrenni&amp;#34; There are experiences in life when you know something in theory, but don’t get overly emotional about it.</description></item><item><title>💡 Static Methods are Rarely Static</title><link>http://mmozgovoy.dev/posts/static-methods-are-rarely-static/</link><pubDate>Mon, 30 May 2022 01:06:31 +0900</pubDate><guid>http://mmozgovoy.dev/posts/static-methods-are-rarely-static/</guid><description>To Mark or Not to Mark In today’s short note I want to reflect a bit on my (former?) habit of marking member functions static if they do not access instance data. For me it was the same as marking them const (in case of C++) if they do not modify anything inside their objects. Now I believe these scenarios are different and should be approached differently.
The difference between const and non-const functions is rooted in the fundamental idea of command-query separation.</description></item><item><title>🧪 How Classifiers Misclassify</title><link>http://mmozgovoy.dev/posts/how-classifiers-misclassify/</link><pubDate>Wed, 02 Mar 2022 01:06:30 +0900</pubDate><guid>http://mmozgovoy.dev/posts/how-classifiers-misclassify/</guid><description>Recently I’ve been watching a talk by Vint Cerf on the topic of AI vs human intelligence. One part of this talk reminded me of an anecdote from my own experience, which I am going to share today.
The relevant video fragment starts at 20:54, where Dr. Cerf explains adversarial neural networks and how they trick image classifiers into mistaking kittens for firetrucks or making other unbelievably dumb recognitions. His basic point is simple: each entity in a network is represented with an N-dimensional vector, and the job of the algorithm is to make sure that similar vectors appear nearby, so we can reliably separate the clusters of different object types.</description></item><item><title>🎤 Some Reflections on War and Future</title><link>http://mmozgovoy.dev/posts/some-reflections-on-war-and-future/</link><pubDate>Sat, 26 Feb 2022 13:13:40 +0900</pubDate><guid>http://mmozgovoy.dev/posts/some-reflections-on-war-and-future/</guid><description>A vague title of this piece is deliberate: there is no single clear message I am going to send, but I think I am ought to express some feelings and share my thoughts on the ongoing events. In most cases I am inclined to let the things settle down and discuss them later, as I am quite a slow thinker, and it takes time for any consistent picture to form in my head.</description></item><item><title>🧪 The Art of Titles</title><link>http://mmozgovoy.dev/posts/the-art-of-titles/</link><pubDate>Mon, 27 Dec 2021 11:13:40 +0900</pubDate><guid>http://mmozgovoy.dev/posts/the-art-of-titles/</guid><description>A few weeks ago we had a lab meeting, where a student was presenting his summary of a paper he had read earlier. While in general his talk was OK, it was obvious he had difficulties extracting the essence of the paper. His talk was based on a fairly accurate section-by-section summary of the original text, so it was hard for us to figure out which of these parts really captured the authors&amp;#39; primary contribution.</description></item><item><title>🔧 DIY Minesweeper Board Game</title><link>http://mmozgovoy.dev/posts/diy-minesweeper/</link><pubDate>Sun, 05 Dec 2021 15:11:50 +0900</pubDate><guid>http://mmozgovoy.dev/posts/diy-minesweeper/</guid><description>Intro Let’s have a less serious post this time for a change. Today I will explain how to create your own Minesweeper board game from simple materials, mostly cardboard.
Surprisingly, an obvious idea of creating a sort of &amp;#34;real-life&amp;#34; version of Minesweeper has left little trace on the net. I can mention a couple of projects like Post-it Minesweeper and Minesweeper with tactile interface. The first approach is cute, but it’s really just a one-time fun; the second one is a bit too large-scale and serious, and it relies on electronics.</description></item><item><title>🧪 Why Go To Statement Considered Harmful?</title><link>http://mmozgovoy.dev/posts/why-go-to-considered-harmful/</link><pubDate>Tue, 30 Nov 2021 10:13:40 +0900</pubDate><guid>http://mmozgovoy.dev/posts/why-go-to-considered-harmful/</guid><description>A Quick Intro I needed to cite Dijkstra’s famous 1968 letter the other day, and finally had an easy chance to read it through. It would have been shame not to do it, given its modest size.
There are many &amp;#34;folk beliefs&amp;#34; in our trade, as Bossavit’s book shows, that turn out to have quite a weak foundation. Currently, the &amp;#34;go to debate&amp;#34; is not on the table at all, as most modern languages have abandoned this operation (and it is used very sparingly anyway even when it is available).</description></item><item><title>⚙️ Visual Studio Code: Python Setup</title><link>http://mmozgovoy.dev/posts/vs-code-python-setup/</link><pubDate>Sun, 10 Oct 2021 10:11:50 +0900</pubDate><guid>http://mmozgovoy.dev/posts/vs-code-python-setup/</guid><description>The Python Experience It took me a while to sit down and write this post, because I was actively experimenting with the VS Code setup for Python. I used it before, naturally, but having to write about something forces me to do my homework and make sure there are no obvious flaws in the suggestions I propose. Thus, I had to double-check all the tools and extensions I use for Python, and confirm that my setup is current.</description></item><item><title>⚙️ Visual Studio Code Setup</title><link>http://mmozgovoy.dev/posts/vs-code-setup/</link><pubDate>Thu, 07 Oct 2021 10:11:43 +0900</pubDate><guid>http://mmozgovoy.dev/posts/vs-code-setup/</guid><description>Choosing the Editor As I mentioned in one of my previous notes, an integrated development environment is something very natural for me. I feel more comfortable using &amp;#34;the whole package&amp;#34; rather than thinking about compiling, linking, debugging, profiling, UI building, etc. as about separate activities requiring separate tools. And yet, the &amp;#34;IDE approach&amp;#34; isn’t universal. I can’t have a full-fledged IDE for every language I use, and I don’t really need all the tools related to this or that technology.</description></item><item><title>💡 Matryoshka Architecture</title><link>http://mmozgovoy.dev/posts/matryoshka-architecture/</link><pubDate>Tue, 21 Sep 2021 01:06:31 +0900</pubDate><guid>http://mmozgovoy.dev/posts/matryoshka-architecture/</guid><description>One of the Faces of Complexity Today I am planning to write on a topic that is addressed literally in every book on software engineering. Yet I believe that too many projects (including my own) need more attention to some of the most basic ways of fighting complexity. Complexity is, yeah, a complex phenomenon, discussed in numerous sources, including a highly influential Brooks’s No Silver Bullet essay. Recently I wrote about Black, which insists on code made up of short lines.</description></item><item><title>💡 Representing the World with Objects: a Telling Exercise</title><link>http://mmozgovoy.dev/posts/representing-the-world-with-objects/</link><pubDate>Sun, 12 Sep 2021 23:11:40 +0900</pubDate><guid>http://mmozgovoy.dev/posts/representing-the-world-with-objects/</guid><description>The Adventure Begins I am not happy with this title, but the whole topic popped up a bit suddenly, and I decided to jot down some thoughts, while they are still fresh. It is going to be a little story about a very innocuous-looking tiny exercise that turned out to be more difficult than I anticipated, and thus made me thinking about the hardships of translating our common language into programming language concepts, say, using OOP.</description></item><item><title>⚙️ Experiencing Black</title><link>http://mmozgovoy.dev/posts/experiencing-black/</link><pubDate>Thu, 09 Sep 2021 15:11:43 +0900</pubDate><guid>http://mmozgovoy.dev/posts/experiencing-black/</guid><description>On Code and Formatting Styles One of my long-term goals is to setup a powerful development environment that would make the most of today’s technology. As someone who grew up using QuickBasic and C++Builder, I could never understand deliberate efforts to rely on simple text editors and command-line compilers. To me, it is like claiming that the past 20 or 30 years of toolmaking gave us nothing worthy of attention.</description></item><item><title>⚙️ Managing Python with Poetry</title><link>http://mmozgovoy.dev/posts/managing-python-with-poetry/</link><pubDate>Mon, 06 Sep 2021 14:47:03 +0900</pubDate><guid>http://mmozgovoy.dev/posts/managing-python-with-poetry/</guid><description>The Problem Python is a very reasonable &amp;#34;default&amp;#34; language of choice for a variety of tasks. At least on desktop platforms, it makes sense to start with Python and see how it goes. Unfortunately, along its way to popularity it lost much of the simplicity that made it fun in the first place. An especially egregious aspect of Python is its poor backward compatibility. In practice it means that your codebase will only reliably work with a specific version of Python interpreter.</description></item></channel></rss>