Pull to refresh
242
0
Anton Fedorov @datacompboy

Программист / сисадмин (Sr. SRE)

Send message

Дайте угадаю, в пачке мест в битлокере есть что-то типа useKey() { memcpy(); decrypt(); memset(); }, благодаря чему ключ остаётся в памяти... Как сказал бы @Andrey2008, "надо было пользоваться PVS-Studio" :D

Я так понимаю, всё же профиль "запуск локальный и для кода, который и так разработчик обрабатывает" предполагает, что если только что-то внезапно совсем плохо не окажется, то обработка должна быть на уровне времени работы компилятора, то есть "медленно, но терпимо".

Я помню игрался с триальной версией PVS на большом проекте -- время проверки было где-то 60% от времени полной компиляции. То есть можно было сходить за кофе -- но не на обед :)

Просто краевые случаи на которых распухают ASTы это самые тривиальные вещи -- (((((((((((((((((((((((((((((((((((((((((((2+2)))))))))))))))))))))))))))))))))))))), if() else if() else и так далее -- когда бинарность дерева начинает кусаться. И сколько бы не пытался их обойти {я собственноручно грамматики многократно перепиливал чтоб 2+2+2+2+2 сворачивалось в ('+', [2, 2, 2, 2, ...]) вместо ('+', 2, ('+', 2, ('+', 2, ('+', ...))))} -- а всё равно где-нибудь встретишь ужасы типа цепочки в 100500 ифов, и по очереди то out-of-mem, то out-of-stack, то просто на бэктрекинге на минуты зависает из-за квадратичного нежданчика.

И да, встречается в живом коде, не только синтетика.

А если интересно синтетику на которой можно пошатать деревья разбора и обхода их -- советую подглядеть в глубинные тесты у ZetaSQL: этим подходом я очень много яблок с деревьев стряс, заодно убедил избавиться от javacc :))

В очередной раз стало интересно: а как у вас с разбором вещей типа цепочки ифов, после автогенераторов?

if (test1) { ... } else
if (test2) { ... } else
... (100500 cases)

Графы в памяти не разбухают? Анализатор не начинает тормозить как Гомер после пива? :D

"Не в даваясь в подробности" и вводим тета-большое и о-большое, обозвав о-большое "пойдёт для печати".

А ничего, что тета-большое это средняя сложность алгоритма, а о-большое это худший случай, это РАЗНЫЕ термины? Лучше бы не вдаваясь в подробности не упоминали тета-большое, чем наврать.

Поиск работает то есть термин существует. Может и не словарный -- но распространённый.

Другие это как минимум openai, gemini

Вопрос как он понимает пользователя.

Другие -- понимают

Именно поэтому ни одна сетка не может нарисовать часы показывающие что-то другое.

Но более-менее справляются, если просить сетку сгенерировать аналоговые часы в SVG

Песочные часы он рисует просто чудесные:

Hidden text

И отлично понимает физику процесса и что от него хотят:

Hidden text

В целом, он провалил все классические тесты на понимание при рисовании.

Кто на ком стоял?

Можно еще попросить пиццу вверх тормашками, 24-часовые часы со стрелками, либо стандартные аналоговые часы показывающие 14:27...

Ух какой запас вкуснотищи! На чай! С козинаками!

Поискал утилиту типа LZEXE

UPX есть под все платформы

Это объясняет обилие DVI торчалок и HDD в корзине :)

Использовать длину в символах вместо длины в байтах... :)
Там, чтобы при обрезании не получать поломанных символов...

Практическое применение -- обход проверки на длину строки, чтобы вызвать buffer overflow или просто стриггерить DoS вызванный медленной обработкой данных

Книга - лучший подарок! 🤣
А уно вообще интересный зверь, напоминает что-то из детства, что игралось обычной колодой... 👍

Издательство не виновно ни в чем -- в книгах оригинал пишется, даже ISBN исходной книги зачастую. Тут вопрос к СММ отделу %)

Information

Rating
3,419-th
Location
Zürich, Zürich, Швейцария
Date of birth
Registered
Activity

Specialization

Specialist
Lead