Новая лекция из ВШЭ, о философии автоматизированных тестов, зачем они нужны, когда их нужно создавать, когда удалять, и почему mocking frameworks это зло.
👍56
Just published a new post on my blog, about the layout of unit tests: how to do it right, while most of us do it wrong.
👍22👎2
This week I start teaching a new course in Innopolis University (Russia, Kazan) for their 3rd year BSc students. The title of the course is "Practical Program Analysis". I will try to explain the theory and then demonstrate by example how it doesn't work works in my own products.
👍73❤10
I just released a new package to CTAN: naive-ebnf. It may help you render EBNF in a simple plain text format. It may be more convenient than rendering a formal grammar with the help of LaTeX commands directly. The sources are in GitHub: yegor256/naive-ebnf (pull requests and stars are welcome).
👍17❤1
Transhumanism Inc. (2021) — роман Виктора Пелевина, в котором есть все, к чему готовит нас мировое правительство глубинное государство: социо-импланты, био-холопы, телеги в центре Москвы, фемы-человекини и нейро-страпоны. Запомнилось: "По закону холопы должны были постоянно ходить в масках вне зависимости от эпидемиологической обстановки".
👍54❤9👎8
Новая лекция из ВШЭ, с примерами интеграционного тестирования в нескольких моих проектах (Java и Ruby). Постарался показать наиболее интересные и сложные случаи, где unit-тестирования недостаточно.
👍46❤7
This is the first lecture (81 minutes) from the series of ten, which I'm teaching now in the Innopolis University, for BSc students. This one is about formal grammars. My primary objective in this course is to make boring stuff understandable, both for the students and for myself.
👍47❤4
Just published the second lecture (82 minutes) of the PPA course ("Practical Program Analysis") in Innopolis University, about syntax analysis. I briefly explained what Yacc/Bison tools are for, how ANTLR is better, and how we use the latter in the compiler of EO.
👍15❤6
As you probably remember, I was organizing Software Quality Award in 2015, 2016, 2017, 2018, 2019, and 2020 (six years in a row, $16K donated). The last two years I was too busy to promote it properly, to put together a team of reviewers, to evaluate results, and so on. I feel sorry about this. It's time to put this valuable activity back to life. I'm looking for a volunteer, who will do all the organizational part of the work. I will only make the final decision about the winners and will give the money for the prizes. If you are interested, text me directly: @yegor256.
👍20
A research paper, which I co-authored, was published today in the IEEE Access journal. In this work we presented a method of clustering of software repositories and its application to 1659 GitHub repositories. Long story short, it seems to be possible, by just looking at 28 software metrics, to tell which category/cluster this repository belongs to, for example: in active development, sudden peak of activity, the disillusionment stage, and so on. We intent to use the result of this research in solving the problem of automation of software engineering (robots that help programmers).
👍49❤4
Новая лекция из курса о качестве программных проектов, который я заканчиваю читать в ВШЭ. Постарался объяснить, в чем отличие NFR от функциональных требований, и предложить методы их тестирования.
👍34❤4
Just published the third lecture (80 minutes) of the "Practical Program Analysis" course, about contextual analysis: how to turn a concrete syntax tree into an abstract syntax tree and what is the purpose of such a transition.
👍29❤3
Media is too big
VIEW IN TELEGRAM
I didn't recommend you good movies for a while. Here is a very good one: A Serious Man (2009) by Coen Brothers. It's that kind of a movie: the more you watch it the better it becomes.
👍32❤2
The 4th lecture (80 minutes) from the "Practical Program Analysis" course is published. It's about formal semantics: operational and denotational. I tried to explain how it's possible to formalize a programming language.
👍33
Еще одна лекция из курса о качестве software projects, для студентов ВШЭ, в этот раз о тестировании "второго порядка" — тестах, которые тестируют тесты.
👍33❤2
The fifth lecture just published (81 minutes) of the PPA course (Innopolis University), about abstract machines and their applicability to the analysis of programs.
👍20
Make a guess, how many lines of C++ code constitute HotSpot (a Java virtual machine that is being developed by Oracle for over 20 years)?
Anonymous Poll
16%
85,000
20%
850,000
38%
8,500,000
26%
85,000,000
👍11❤4
If you are a tech startup founder based in Russia, I can connect you with people in Fortune-100 tech giant who make seed investments (up to $5M) in Russia. Text me.
PS. Zero-revenue startups are very welcome.
PS. Zero-revenue startups are very welcome.
👍53❤2