Присоединяюсь к вашему комментарию. Либо я дурак, либо лыжи не едут.
Неделю назад понадобилось переписать относительно простой алгоритм балансировки одного дерева с top-down на bottom-up approach. Тесты покрывающие все возможные пограничные случаи уже имелись. Задача не новая, в Интернете нужный алгоритм уже наверняка был опубликован сотни раз. Просто было очень лень искать и адаптировать его под свои структуры данных.
Жаления делать это руками было очень мало. Начитавшись статей на Хабре о том, что LLM пишут код лучше человека, обрадовался и попробовал скормить задачу OpenCode + Gemini 3.1 Pro. Агент пыхтел минут 20, постоянно натыкаясь на сломанные тесты. В конце концов с задачей справился, но к коду у меня много вопросов. Одно из условий можно сильно оптимизировать, т.к. его часть всегда истина (т.е. там if (cond1 && cond2) и cond2 всегда истина). Переменные использовались без всякого смысла, т.е. например есть переменная “a”, LLM пишет код int b = a; int c = b; прям в двух строках подряд и b больше нигде не используется. Почему бы не сделать сразу int c = a? Количество потребляемой памяти просто запредельное (старый алгоритм потреблял в 5 раз меньше и речь идет о десятках КБ).
Короче ревертнул все изменения и переписал руками :-( Общее впечатление - LLM абсолютно не понимает что делает, но пытается всеми силами это скрыть изображая абсолютную уверенность.
На каком-то моменте в процессе кстати Gemini сломалась и начала выводить свои thinking токены, которые должна по идее прятать. Было очень забавно читать этот поток сознания :-)
Добавить еще несколько тысяч итераций, чтобы замедлить брутфорс для тех, кто в курсе вашего скрипта, сделать длину пароля настраиваемой, изобрести заново какой-нибудь PBKDF2 или лучше Argon2, и будет норм.
Я вам более того скажу, их там несколько и из них рандомно составляются разные комбинации. Вам еще повезло, есть вариант, в котором четвертая строчка гораздо более грубая :-)
Предположу, что Хабр тупо удаляет EXIF, включая информацию о повороте (orientation tag). Хабру этого лучше либо не делать, либо поворачивать изображение по-настоящему.
По пути от вас к получателю куча посредников в виде курьеров, и даже если вы сами решите отнести подарок на руках, вас могут просто не пропустить через границу.
Pro tip для особых параноиков: если купить подарочную карту Amazon и ей же оплатить заказ, то получатель не узнает вашего имени. Если дополнительно отметить галочку "это подарок", то стоимость заказа также останется секретом (при возврате деньги вернутся на вашу подарочную карту). Но не уверен, работает ли это до сих пор.
Так-то Бурум участвует в АДМ с 2012 г. и, когда получатель оказывается рядом, сам разносит подарки под видом курьера (так что если решите когда-нибудь под Новый Год нагрубить своему курьеру, дважды подумайте - возможно, это загримированный @Boomburum, который знает ваш ник на Хабре).
Собственно, поэтому Хабр этим видимо и занялся - у Бумбурума ломка от того, что некому дарить подарки :-)
Извините, но описывать весь алгоритм я здесь не буду. Во-первых, он вам не нужен, во-вторых, на это просто уйдет очень много времени.
Присоединяюсь к вашему комментарию. Либо я дурак, либо лыжи не едут.
Неделю назад понадобилось переписать относительно простой алгоритм балансировки одного дерева с top-down на bottom-up approach. Тесты покрывающие все возможные пограничные случаи уже имелись. Задача не новая, в Интернете нужный алгоритм уже наверняка был опубликован сотни раз. Просто было очень лень искать и адаптировать его под свои структуры данных.
Жаления делать это руками было очень мало. Начитавшись статей на Хабре о том, что LLM пишут код лучше человека, обрадовался и попробовал скормить задачу OpenCode + Gemini 3.1 Pro. Агент пыхтел минут 20, постоянно натыкаясь на сломанные тесты. В конце концов с задачей справился, но к коду у меня много вопросов. Одно из условий можно сильно оптимизировать, т.к. его часть всегда истина (т.е. там if (cond1 && cond2) и cond2 всегда истина). Переменные использовались без всякого смысла, т.е. например есть переменная “a”, LLM пишет код int b = a; int c = b; прям в двух строках подряд и b больше нигде не используется. Почему бы не сделать сразу int c = a? Количество потребляемой памяти просто запредельное (старый алгоритм потреблял в 5 раз меньше и речь идет о десятках КБ).
Короче ревертнул все изменения и переписал руками :-( Общее впечатление - LLM абсолютно не понимает что делает, но пытается всеми силами это скрыть изображая абсолютную уверенность.
На каком-то моменте в процессе кстати Gemini сломалась и начала выводить свои thinking токены, которые должна по идее прятать. Было очень забавно читать этот поток сознания :-)
Добавить еще несколько тысяч итераций, чтобы замедлить брутфорс для тех, кто в курсе вашего скрипта, сделать длину пароля настраиваемой,
изобрести заново какой-нибудь PBKDF2 или лучше Argon2, и будет норм.https://habr.com/ru/companies/habr/articles/864150/
@Boomburum собирается опубликовать официальный анонс
По заявкам телезрителей:
Заголовок спойлера
Если я правильно все посчитал, то:
Заголовок спойлера
По городам статистики нет, только по странам.
Перепутал, 8-ая строчка. Там "хрен и падла с севера". Вроде еще было что-то про гниду, но сейчас не найду.
Я вам более того скажу, их там несколько и из них рандомно составляются разные комбинации. Вам еще повезло, есть вариант, в котором четвертая строчка гораздо более грубая :-)
В топе Хабра ("читают сейчас") висит статья "DNSSec: Что такое и зачем" от 2011 года XD
Предположу, что Хабр тупо удаляет EXIF, включая информацию о повороте (orientation tag). Хабру этого лучше либо не делать, либо поворачивать изображение по-настоящему.
@Boomburum
Об этом нужно попросить свой почтовый сервер, а не нас :-) Он отказывается принимать от нас уведомления.
Пост хвастовства подарками!
https://habr.com/ru/companies/habr/articles/784048/
По пути от вас к получателю куча посредников в виде курьеров, и даже если вы сами решите отнести подарок на руках, вас могут просто не пропустить через границу.
Pro tip для особых параноиков: если купить подарочную карту Amazon и ей же оплатить заказ, то получатель не узнает вашего имени. Если дополнительно отметить галочку "это подарок", то стоимость заказа также останется секретом (при возврате деньги вернутся на вашу подарочную карту). Но не уверен, работает ли это до сих пор.
А это, кстати, идея! :-)
Да ппц вообще, мы тут сидим с глобусом и гуглим, какие страны из зарегистрировавшихся с кем дружат и с кем воюют. Выглядит это примерно как-то так:
Так-то Бурум участвует в АДМ с 2012 г. и, когда получатель оказывается рядом, сам разносит подарки под видом курьера (так что если решите когда-нибудь под Новый Год нагрубить своему курьеру, дважды подумайте - возможно, это загримированный @Boomburum, который знает ваш ник на Хабре).
Собственно, поэтому Хабр этим видимо и занялся - у Бумбурума ломка от того, что некому дарить подарки :-)
А как же тогда получить значок "Тролль"?
Ну нет, когда мы об удобстве задумаемся, то сделаем еще отдельное поле для населенного пункта XD