Telegram Web Link
There is a new post on my blog: A Disabled Test In Lieu of a Bug Report. I suggest here that reporting a bug by a bug report may in most cases be replaced with a direct contribution to the code base with a "disabled" unit test — this will save time of the codebase maintenance team and increase the chanсes of solving the problem faster.
О полетах дронов и прочей политике мы говорим в группе @szdne (по-русски)
Новый 19-й выпуск черно-белого айти, 60 минут
I just published a new blog post: The Hidden Dangers of Method Overloading. I argue that even though method overloading is a very popular and convenient technique in object-oriented design, it may lead to problems with code readability and then to bugs.
Just published a new post on my blog: Is Two-Step Initialization a Solution or a Symptom? In a nutshell, I believe that if you need to initialize an object in two (or more steps), it's an obvious indicator of design issues.
Next week, I will be speaking at the AI IN 2023 conference in Innopolis University (Kazan, Russia). The topic is titled: "Robots vs. Programmers" (30 minutes). I will try to show how AI/GPT is being used now by programmers, how it may be used in the nearest future, and how I hope it will be used in far future. The speech will be video recorded and published later, but I still suggest attending the event. I have a few 50% discount promo codes, text me if interested.
The sixth lecture about OOP just published, about NULL references and why they negatively affect code quality. Watch: 82 minutes.
Новая статья на моем полит-блоге, о либерализме, свободе и демократии: Спасти дракона
The seventh lecture about OOP just published (out of eight), about type casting and reflection, which are claimed to be bad design choices in Java and other OO languages. Watch: 79 minutes.
Here is my first practical application of ChatGPT: I added English translations to all articles in my Russian blog post. For example, open this page, you will see a red link on top of the page. Click it and it will lead you to another page, written in English. This page was generated by ChatGPT during the deployment of the site to GitHub Pages. The script that generates it is here.
New post on my blog: The Double-Blind Review Is What Makes Decisions Fair. I suggest avoiding decision making meetings and organize a decision making process in every software team/company.
In two weeks I will start teaching a new course in Innopolis University (Kazan, Russia): "Project Management Beyond Agile". The main objective of this course is to teach students to comprehend the core principles of project management as outlined by PMBOK, not forgetting the spirit of Agile. There will be 10 lectures, in English. I will try to video-record all of them.
You probably know about Puzzle Driven Development (PDD) — a methodology for the decomposition of software development problems, that we actively use in our projects since 2010. Even though PDD helps us decompose larger tasks into smaller ones (known as "puzzles"), the question has been remained unanswered: which puzzles must be resolved first? In other words: how to prioritize tasks in a backlog? A few days ago, a research paper, which I co-authored, has been published in IEEE Access magazine: Automatically Prioritizing Tasks in Software Development. In this research we suggested an ML-based method for task prioritization, which appeared to be more precise than a few existing methods.

We are looking for researchers to join our team. If you are a student and need a topic for your diploma work, text me: @yegor256
In two weeks, I will start teaching a new course at HSE University (Moscow, Russia) titled "Software Quality Metrics" (24 lectures). I will explain to students how quality can be measured, the purpose of this, the pitfalls, and so on. This time, I will change the examination method for my students. There will be no exam. Instead, they will need to conduct research and then publish research papers to earn good marks. The entire course will be video recorded and uploaded to YouTube. I hope the course will be in English. Stay tuned :)
New post on my blog: Fast Tests Help Humans, Deep Tests Help Servers. I suggest splitting automated tests into “fast” and “deep,” and then allowing humans to run the former while servers run the latter.
The eighth (the last) lecture in the course about OOP has been published in my YouTube channel. It is about inheritance and polymorphism. Also, at the end of the lecture I did a quick analysis of the Java code that I use at the interviews (never did this before). I hope that Innopolis students and you all liked the course. Watch this last one: 81 minutes.
Remember I told you about my first experiment with ChatGPT, where the AI helped me translate my Russian blog to English. I've made one step further and created a new Jekyll plugin, which you can use to translate your blog to any languages you like. See how it translates this page of my technical blog to Russian and Chinese. How do you like the quality of translation?

Of course, I will appreciate a GitHub star from you :)
Новая статья на моем политическом блоге: Война за иммигранта. ChatGPT generated English version is here.
Let me remind you that you can follow me not only in Facebook, LinkedIn, Twitter, YouTube, and GitHub, but now also in VK.
Let me promote a scientific event organized by our friends in Innopolis University and A.P. Ershov Institute of Informatics Systems: Annual Workshop on Program Semantics, Specification and Verification: Theory and Applications. Think about sending your work to them, the CFP submission deadline is the 23rd of September. Best papers will be published in MAIS journal, indexed by Google Scholar.
2025/07/04 14:00:56
Back to Top
HTML Embed Code: