Вот и вернулся я в Москву из центра лечебного голодания Улутай (Алтай), где провел последние десять дней, семь из которых совершенно без еды. Планировал псевдонаучно оздоровиться (см. autophagy) и поработать на природе в тишине. С последним почти не сложилось, слишком уж плотное было расписание: массажи, фито-бочки, обертывания, лимфодренажи, зарядки, йога, грязи, бани, пиявки, скандинавская ходьба, купания в реке Катунь и клистир два раза в день . Первые три дня все было хорошо и чая на травах хватало. Четвертый и пятый день были потяжелее: общая слабость и головокружение. На шестой день все нормализовалось, а последние три дня меня "выводили" из голода, угощая соками и кашами. В итоге, за десять дней я сбросил девять килограмм. Все это время я вспоминал заветы Романа Василишина о здоровом питании — похоже, он таки прав.
Через неделю я буду в Нижнем Новгороде, 18-го октября, выступать на Open Source Day, с коротким докладом под названием "Девять Ступеней Open Source Кунг-Фу". Вход бесплатный, приходите, пообщаемся и на докладе и после.
"Тварь ли я дрожащая или право имею?" — о каком именно праве говорил герой романа Ф. М. Достоевского Преступление и наказание?
Anonymous Poll
21%
Право на личное мнение
48%
Право на свободу совести
26%
Право на убийство старушек
5%
Право на любовь
В эти выходные собираемся записать новый выпуск Черно-Белого Айти. Какие новости важно и нужно обсудить? Присылайте, пожалуйста, ссылки.
Через 15 минут стартует прямой эфир с вопросами и ответами, как почти всегда по пятницам, подключайтесь на YouTube и VK.
Who is the maker of your favorite IDE?
Anonymous Poll
56%
JetBrains (IntelliJ IDEA, etc.)
28%
Microsoft (VS, VS-Code)
1%
Apple (Xcode)
7%
Vim.org
1%
Google (Android Studio)
2%
Jon Skinner (Sublime Text)
5%
Other
Только что опубликовали новый 25-й выпуск черно-белого айти, в котором обсудили и Linux, и JetBrains, и WordPress, и биткоин, и налог на бездетность, смотрите на YouTube и на VK (59 минут).
In a few seconds we start Friday Q&A session, please join on YouTube and on VK (this time, in English).
Новое интервью: Никита Соболев, один из наиболее активных open source разработчиков в стране (5.5K followers on GitHub), один из основных контрибьютеров в CPython, основатель wemake.services и просто увлеченный своим делом программист. Смотрите на YouTube и на VK (78 минут). #наши
Через 30 минут подключайтесь к прямому эфиру, на YouTube и на VK (на русском языке).
Несколько недель назад выступал в Неймарк (Нижний Новгород), рассказывал о девяти ступенях карьеры open source программиста, смотрите, что получилось на YouTube и на VK (31 минута).
Do you create Maven plugins once in a while? If you do, you definitely know how painful its testing could be. Even the testing harness provided by Maven team doesn't really help. A few weeks ago I've created Farea, a simple #opensource tool for JUnit5, which makes Maven plugin testing great again:
This test method creates
@Test
void worksAsExpected(@TempDir Path dir) {
new Farea(dir).together(f -> {
f.files()
.file("src/test/java/Hello.java")
.write("class Hello {}".getBytes());
f.exec("compile");
});
This test method creates
pom.xml
in the temporary directory, runs "mvn compile
", and then lets you assert on the result. The beauty of it is that you can run this scenario right from the IDE — it's much faster than maven-invoker-plugin and more readable/maintainable. We start using Farea in eo-maven-plugin (part of EO family).На следующих выходных в субботу 23-го ноября буду выступать на фестивале Формула Будущего в Университете Иннополиса (Казань, Россия). Поделюсь опытом на тему "как программист может одновременно быть еще и немного исследователем". Если вы студент и живете где-то рядом, обязательно приходите: это бесплатно и наверняка будет полезно. Видео доклада будет позже, у меня на YouTube и VK.
Sometimes, we need to inspect the files left by a unit test in a temporary directory. We can't do this, in Maven+JUnit5, if we use the standard @TempDir annotation: temporary directory is destroyed when tests finish. In order to solve this problem I created a tiny Java library that introduces the
@Mktmp
annotation — it works exactly the same way, but keeps the temporary directory in the target/
directory, letting me inspect them when tests finish.If you ask me which single book I would recommend for a junior Java developer to become a senior one, it would be this one: Java Concurrency in Practice by Brian Goetz (currently in Oracle) et al. If you still don't know what to do with the
InterruptedException
after you catch it, this #book will explain (much better than my nine years old blog post).Поздравляю коллег по цеху и самого себя с Днем Преподавателя высшей школы, который празднуют в России уже пятый раз 19-го ноября. Мой скромный опыт преподавания (2 университета, 3 года, 98 лекций, 9 курсов, 25+ курсовых работ, 10+ научных статей в соавторстве со студентами) говорит о том, что работа эта совершенно неблагодарная, но очень приятная. Если бы тем, кто учит программистов, платили также, как платят самим программистам, я был бы профессором и больше никем. Но это не точно.
I need a "DepOps": someone who will regularly upgrade dependencies in our open-source products and release new versions. Apparently, repositories expire over time. In a year or so, without new releases, they become unbuildable and, because of that, not ready for new contributions. Someone, once in a while, has to release, making sure all dependencies are up to date. If you're interested in helping, please text me. This will take a few hours of your time every week.