Dmitry /Undefined Behavior/ Sviridkin Profile picture
#НетВойне C/C++, Rust, Python, Algorithms & Data Structures, DSP, Graph Theory. std::raise(SIGSEGV) Nekrolm@techhub.social
Jul 15, 2023 20 tweets 5 min read
Знаете, что самое смешное? Что чувак-практик пришел и вкинул говно с UB, спокойно хреначащее за границы строки, крашащесе со сегфолтом


Руки бы за такое оторвать https://t.co/YF7CTfp5Ke https://t.co/UbCXc0lAjQgodbolt.org/z/64GxvWbqG

Image В предположении, что после выравнивания указателя до 128 в в буффере будут 128 * n байт (возможно мусорных после \0) -- это, конечно, оптимальное решение.
May 8, 2023 4 tweets 1 min read
Время дежурства в выходной день закончилось — началось время страданий Image BEGIN YOUR CONFESSION:

Ну, у меня сегодня пейджер орал из-за моего же теста. Удобно
May 7, 2023 4 tweets 1 min read
Завтра я узнаю, с каким звуком орет корпоративное приложение-пейджер.

Я специально не стал открывать настройки его сирены — пусть будет сюрпризом В oncall инструкции сказано, что сначала надо будет сделать глубокий вдох-выдох, досчитать до десяти, а потом уже открывать тикет с алярмой
May 7, 2023 12 tweets 3 min read
Ладно, я "прошел". И вот мой краткий обзор:

Концептуально игра очень прикольная и интересная: мануал для игры, который находишь в процессе игры не по порядку страниц дает очень классный эффект "вау, а че так можно было?" при первом прохождении без интернетов этих ваших Пазлы, которые надо решать с помощью листочка бумаги и ручки (ну или в пейнте, как вам удобно) — тепло и лампово
"Финальный" (а так же многие похожие на него в процессе) пазл как бы интересный, но после того как его решаешь на бумаге начинается адская кпопкодолбежка
Mar 24, 2023 5 tweets 1 min read
Мне приходится использовать совершенно долбанутый инструмент для нагрузочного тестирования.

И похоже что нагрузить этот инструмент способен только его пользователя У него дохрена параметров, половина из них не дружит друг с другом (документация об этом умалчивает). Он может работать в "распределённом" режиме: но в нем постоянно что-то отваливается без какой-либо вменяемой диагностики:
Exception "У меня слишком много сообщений в очереди"
Feb 22, 2023 4 tweets 1 min read
Наконец-то: запустил тесты к сишному js рантайму и получил сегфолт. Всё было не зря А самое главное: все ж по инструкции сделал. А оно всё равно где-то наебенилось
Feb 22, 2023 4 tweets 1 min read
До 30 лет мне, конечно, еще далеко, но сны об использовании магии уже начинаются. Как, например, в подростковом возрасте эротические сны должны быть, только эти про магию.

Почему-то, правда, у этой магии странный opengl-like голосовой API. Так, например, для телепортации Васи в Италию, нужно установить контекст, прокричав
- Бери Васю
- Смотри на Италию
и потом активировать процесс, проорав:
- УХОДИ!

Сложно в общем. Определенно нужно открыть школу магии
Feb 19, 2023 9 tweets 3 min read
Спустя 4 месяца, я наконец-то дошел да гайд парка.

Пока ни о чем не жалею:
У входа стоит мужик и орет:
GIVE YOUR LIFE TO THE GOD
BECAUSE OUR LIFE IS TOO SHORT Потрогал траву. Больше тут, похоже, делать особо нечего
Feb 18, 2023 5 tweets 1 min read
Я долго думал над тем, где это можно использовать. И придумал следующий вариант:

Допустим, вы ненавидите людей. И вам надо запретить им пользоваться каким-то методом шаблонного класса... Поскольку вы ненавидите людей, вам нужен способ сделать это максимально неявно и чтоб пользователь никогда не понял, в чем у него ошибка.
Feb 13, 2023 5 tweets 1 min read
Нажал кнопочку "activate deploy for stage Prod"

Страшно. Я всё еще его не наебенил полностью Грохнулось, кажись. Не могу больше тестировать.

Я у мамы QA
Feb 12, 2023 4 tweets 1 min read
Это мой любимый C++ мем из всего cppreference А любимый он потому, что это этот код все равно не работает по-нормальному ни с чем кроме ASCII
Feb 12, 2023 4 tweets 1 min read
Мне очень нравится, что с каждым выходом нового стандарта C++, выходят разные доклады с заголовками:

- Используем/осваиваем новые фичи БЕЗОПАСНО Ну знаете, всё новые фичи C++ всегда нацелены на повышение безопасности. Поэтому вот:
Доклад, книга, видео, учебный курс, посвящённые тому, как этими новыми фичами пользоваться правильно.

Потому что ими можно пользоваться неправильно. И будет UB. Кстати, удобный API у нас с UB
Feb 12, 2023 5 tweets 2 min read
Funny thing here is that advocates in replies refer to
string::replace.
en.cppreference.com/w/cpp/string/b…
But string::replace doesn't solve the problem:

You need, first, somehow find a position of the original substring. And `replace` will actually replace only this one occurrence Users want to write

s.replace("a", "b")

instead they have to write

while (auto pos = s.find("a"); pos != npos) {
s.replace(pos, length ("a"), "b");
}

But this is ineffective, so...