1. Куча / Говнокод #29238

    0

    1. 1
    Именно поэтому я за «PHP» #9

    #1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
    #2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
    #3: https://govnokod.ru/26832 https://govnokod.xyz/_26832
    #4: https://govnokod.ru/27539 https://govnokod.xyz/_27539
    #5: https://govnokod.ru/28267 https://govnokod.xyz/_28267
    #6: https://govnokod.ru/28443 https://govnokod.xyz/_28443
    #7: https://govnokod.ru/28746 https://govnokod.xyz/_28746
    #8: https://govnokod.ru/28856 https://govnokod.xyz/_28856

    Запостил: nepeKamHblu_nemyx, 02 Марта 2026

    Комментарии (100) RSS

    • Доброй ночи.

      Этот оффтоп сгенерирован автоматически.

      Индекс оффтопов: https://index.gcode.space/.
      Зеркала Говнокода и полезные ресурсы:
      * https://govnokod.xyz/ (альтернативный Говнокод)
      * https://gcode.space/ (read-only зеркало Говнокода)
      * https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
      * https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
      * https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)

      Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
      Остерегайтесь подделок. Берегите себя и своих близких. Кок!
      Ответить
    • Зачем нужны разные оффтопы, если МАКАКА всё равно срёт в случайный?
      Ответить
      • Для равномерного росперделегния
        Ответить
      • MAKAKA и не в оффтопы тоже срёт. Я раньше думал, что он срёт через телеграмовского бота, поэтому такая ерунда получается. Оказалось, что Макака просто ебанутый. Дикий зверь, что с него взять.
        Ответить
        • ПОДНАСРЕМ
          ЛА ЛА ЛА ЛА ЛА
          Ответить
          • Что хочу, то вытворяю,
            Мне глядят с опаской вслед,
            И никто вокруг не знает,
            Несу я пользу или вред,
            Ведь
            Ответить
        • Да забаньте простым ифом старые посты, либо по локации в нджинксе.
          Ответить
          • Зачем?
            Ответить
            • Тогда я не буду читать ваши бесконечные тёрки.
              Ответить
              • Не вижу связи. Макака и в новых постах беспорядочно накладывает.
                Ответить
                • Ты видел в новых постах вебкилла?
                  Ответить
                  • Ты смешиваешь две проблемы:

                    1. MAKAKA срёт в случайных постах случайными комментами. Например, в старом, давно перекатанном (!!!) пиздец-офтопе может спросить что-то про маршрутизацию в Линукс.
                    2. MAKAKA срет фразой "поднасрём" в комментариях в фейковому веб-киллу, и они плодятся.

                    Какую из двух проблем ты хочешь решить?
                    Ответить
                    • Является ли первое проблемой?
                      Ответить
                      • Когда в старых пиздец-оффтопах спрашивает про маршрутизацию, не такая уж проблема. Но Макака может засрать оффтопом новый топик, посвящённый конкретному коду.
                        Ответить
                        • Я бы по очереди решал.
                          Ответить
                          • Интересно, что в дискусии участвует три гостя. Учитывая количество людей на говнокоде, я предпологаю, что один из них — MAKAKA.
                            Ответить
    • https://www.windowslatest.com/2026/03/02/microsoft-gets-tired-of-microslop-bans-the-word-on-its-discord-then-locks-the-server-after-backlash/

      > Microsoft blocks the word Microslop on its Copilot Discord, bans users, and locks channels after backlash, showing tensions around its AI push

      Какой багор )))
      Ответить
    • Я, как известно, тверской-кобенской.
      Я тверщик-кобенщик пропутинщик!
      Ответить
      • Да это у нас по всей чеховской-кибальчеховской все-все знают
        Ответить
        • Происхождение: Популярна в среде программистов, комментирующих коды на указанном ресурсе, как минимум с 2017-2020 годов.
          Значение: Используется как ироничная отсылка к вымышленному месту («местности», «району»), где все всё знают, своеобразная «деревня», где распространяются слухи или очевидные факты.
          Контекст: Обычно употребляется в фразах вроде: «Это вся Чеховская Кибальчеховская знает» или «У нас на чеховской-кибальчеховской».
          Вероятно, это искажение или творческое переосмысление какого-то выражения, ставшее популярным в узком кругу IT-сообщества.
          Ответить
      • Именно поэтому ты за PHP?
        Ответить
    • У чела с паролем 1234 взломали вордпресс
      https://www.linkedin.com/posts/activity-7434610146674315265-ivvH

      #MAKAKA
      Ответить
      • во-первых у МАКАКА 123, а не 1234: это все знают.
        во-вторых "Join LinkedIn now — it’s free!".


        ха-ха, прикол, если не читали -- скорее читайте:
        http://192.168.0.12/rzhaka/prikol.txt
        Ответить
      • you are absolutely right
        Sometimes I wonder what the hell I am doing on this website.
        Ответить
    • лоулевел бляди, c какого размера структуры вы бы стали передавать её по ссыкле, а не по значению?
      больше 64 бит?

      (семантика мне похуй, мне чисто прочитать данные один раз)
      Ответить
      • У нас 128 точно передают по значению, дальше не знаю
        Ответить
        • я думаю что сейчас и 256 не проблема, с регистрами-то
          Ответить
          • Я тоже так думаю. Там регистров жопой жуй в каловой конвенции x64.

            Уболтали, пишу над своей структурой дерайв копи.
            Ответить
            • А если в функцию много аргументов передать нужно, то как будешь регистрировать?
              Ответить
              • Ты пишешь WinAPI, где надо передавать двадцать аргументов, из которых пять reserved, пять deprecated, в пяти всегда нули, в оставшихся пяти — полезная информация?
                Ответить
                • в расте это выражается енуами (таггд юнион) причем он exhaustive: компилятор проверяет

                  у раста правда приятная эргономика, довольно много всего проверятся статически, и при этом перформанс норм
                  Ответить
              • я сделаю структуру, и передам её. А уж как ее передать -- решит компилятор
                семантически я ее туда мувну, наверное (если только там не реально мегабайт данных -- тогда точно указатель укажу)
                Ответить
        • инью, а у вас вот прямо конвенцией прописано до какого размера передавать?
          Ответить
          • Написано, что string_view нужно по значению передавать, он и есть 128
            Ответить
            • Там внутри указатель на начало строки, и количество символов, два числа по 64 на 64 архитектуре? Типа слайсов?
              Ответить
      • С большого. Ходьба по указателю — это тяжёлая операция, в отличие от копирования нескольких регистров.
        Но если у тебя конь-венция, то нужно быть осторожным: может выйти так, что конпелятор тебе всё равно сделает ссылку под капотом, просто не на оригинальную структуру, а на её копию в стеке вызывающей функции.
        Ответить
        • Потрошить сруктуру на части это очень плохо
          раск же до сих пор прагма
          Ответить
        • Да вроже не должен. У меня там лежит 32 (или 64 в случае винды) бита плюс один битовый флажок. Это вровняется в 64 (в 128 в случае винды: какой багор, блядь, сколько я места проебаю впустую!) и я имею вполное право написить сверху derive(Copy).

          Компилятор может конечно начать пихать туда ссылку в рамках оптимихзации, но мне кажется для этого я должен под 16-ти битный таргет начать его собрать, не?

          Если что, мне похуй на таргеты кроме x64 и aarm64.

          Кстати, а какие конвенции на армах? Как там что передается? Тоже через регистры?
          Ответить
          • ps: понятно
            x0-x8	Volatile	Parameter/Result scratch registers

            v0 to v7: Argument values passed to and results returned from a subroutine.

            дохуя и трохи
            Ответить
          • хоба, на винде не нужен 64, оказывается: хватит u32 тоже
            заябись просто
            Ответить
            • А может и флажок в жо 32 бита влезет?
              Ответить
              • Да ты знаешь, по честноку конечно влезет, бо мне хватило бы и 31 бита. Но я ебал такие фигурные выпиливания, я же не дум пишу под P5.
                Ответить
              • ладно, ничего лучше я уже сегодня не увижу
                https://pbs.twimg.com/media/HCSVUTaXQAEELkU?format=jpg&name=medium
                Ответить
          • Растовые конвенции лень читать, поигрался с «Godbolt»: u64 + bool передаётся через джва регистра, а вот u64 + u64 + bool уже передаётся ссылкой. Рельный пример: https://godbolt.org/z/crhfnbP5n.

            #[derive(Copy, Clone)]
            pub struct Foo {
                x: u64,
                y: u64,
                flag: bool,
            }
            
            #[derive(Copy, Clone)]
            pub struct FooSmall {
                x: u64,
                flag: bool,
            }
            
            #[unsafe(no_mangle)]
            pub fn do_something(foo: Foo, num: u64) -> u64 {
                if foo.flag {
                    foo.x + foo.y
                } else {
                    num * 2
                }
            }
            
            #[unsafe(no_mangle)]
            pub fn do_something_small(foo: FooSmall, num: u64) -> u64 {
                if foo.flag {
                    foo.x + 42
                } else {
                    num * 2
                }
            }


            do_something:
                    mov     rcx, qword ptr [rdi + 8]
                    add     rcx, qword ptr [rdi]
                    cmp     byte ptr [rdi + 16], 0
                    lea     rax, [rsi + rsi]
                    cmovne  rax, rcx
                    ret
            
            do_something_small:
                    lea     rcx, [rdi + 42]
                    lea     rax, [rdx + rdx]
                    test    esi, esi
                    cmovne  rax, rcx
                    ret
            Ответить
            • ща попробую понять, что тут написано, my assembler is a bit rusty (pun intended)

              do_something_small:
              В регистр rcx суем значение регистра rdi плюс 42 (о, этот вековой abuse lea, который вообще не для этого)
              В регистр rax суем квадрат rdx (какая спекуляция!)

              проверяем регистр esi (делая самому на себя AND), и если там один, то кладем 1 в битик ZF регистра CFLAGS (иначе там будет 0)

              Если ZF=0 (тоесть в esi был 0) то кладем в rcx rax.

              похоже что:
              1. rdi -> foo.x
              2. rdx -> num
              3. esi -> foo.flag

              (забавно, что он представил структуру как два флага)
              Что за конвенция такая?

              >The first six integer or pointer arguments are passed in registers RDI, RSI, RDX,

              The calling convention of the System V AMD64 ABI is followed on Solaris, Linux, FreeBSD, macOS, and is the de facto standard among Unix and Unix-like operating systems.

              понятно.
              Ответить
              • (часть 2): do_something
                в rcx кладем говно, на которое указывает rdi со смещением 8 байт (втолрое u64 число)
                добавляем то, на что указывает сам rdi (первое u64 число)

                проверяем -- не ноль ли по смещению на что указывает rdi + 16 (это указатель на флаг, он идет после двух восьмибайтовых u64)
                ссли ноль, то кладем в rax rcx, и дальше как раньше

                ну-тоесть он в rdi загруиз адрес структуры:
                1. u64
                2. u64
                3. bool

                Как было сказано выше
                >The first six integer or pointer arguments are passed in registers RDI, RSI, RDX,
                Это System V AMD64 ABI

                Да Гост, ты прав
                Ответить
                • Абьюз LEA — древний трюк. В 80386 к нему добавили абьюз scale-index-base, с помощью которого можно умножать на 2, 4, 8 и при желании на 3, 5, 9.

                  Меня больше позабавило неленивое вычисление: тут обе ветви вычисляются сразу, а только потом принимается решение, какой из результатов оставить. Какая защита от тайм-атаки )))
                  Ответить
                  • Мне кажется, это попытка распараллелить (хотя это мог бы сделать и сам ЦП), а за одно соблюсти референс локалити. Если ты уже разыменовал RDI, то вероятнто и *(RDI+8) у тебя в кеше болтаетcя, нет повода его проёбывать.

                    Это, кстати, может и не раст делает, а LLVM вообще.
                    Ответить
                    • Скорее всего это, плюс уменьшение нагрузки на бранч-предиктор: современные процессоры крайне не любят джампы, поэтому компилятор счёл, что одна лишняя «lea» (или разыменование «rdi», которое всё равно гарантированно пойдёт в L1 кэш после предыдущего-то) будет дешевле, чем полноценный прыжок.

                      И да, это 100% сделал «LLVM», «Rust» такими низкоуровневыми оптимизациями занимается.
                      Ответить
                      • Кстати, в первых x86 инструкции cmovne не было, потому все были вынуждены джампать, но так как там и микроопсов не было -- мы ничего не теряли
                        Ответить
                        • CMOV появились в P6. Ни в MMX, ни в AMD K6 их не было.
                          Ответить
                          • Это знаменитый таргет i686?
                            Вот как тогда без такие финтифлюшки делали? Джампали кондиционно?
                            Ответить
                            • Были SETZ, SETNZ, SETC, SETNC и прочие, которые устанавливали регистр в 1 или в 0, ещё с 80386.

                              Ещё была cmpxchg, назначение которой сходу не вспомню. Погуглил: сравнивает аккумулятор с первым операндом. Если равны, затирает первый аргумент значением второго, иначе затирает аккумулятор значением первого. Сложно.

                              Но компиляторы зачастую не знали ни того, ни другого.
                              Ответить
                              • cmpxchg мне кажется стал полезен только вместе с LOCK для атомарности в многопоточке
                                Ответить
                                • Да, только с lock в многопоточке его и использовали.
                                  Ответить
    • Почему сера не сера?
      Ответить
      • цыганка?

        и кстати, не творог, а творог!
        Ответить
        • сеерааааааа
          были тваи губы жолтые как мёд
          Ответить
          • Мне кажется, у тебе чексумма в памяти профейлилась, или у тебя вовсе ECC не было, и нейтрино пролетел.. какие желтые губы, она что, цеплёнок?
            Ответить
          • На Сьере Леоне поют соловьи, о нашей крепкой, Михалыч, мужской любви
            Ответить
          • Прощай, еврейка Сара,
            Чёрная, словно смоль.
            Ответить
      • а какая она? синяя что ли?
        Ответить
    • В 2018 году в Новосибирске вскрыли банку говяжьей тушёнки 1978 года.
      Ответить
    • Колорады
      https://ic.pics.livejournal.com/antimantikora/4732936/1866290/1866290_800.jpg
      Ответить
    • Какая свобода )))



      Если подменить регион, то измерят температуру тела. А так, я использую его для измерения комнатной температуры и температуры на улице, перед тем как туда выйти (можно делать как и высунув в окно, так и по окну). Всё работает идеально точно, сравнивал с термометром и погрешности или нет, или в основном менее одно градуса. Ну и удобно намерить для себя оптимальную температуру напитков и еды, чтобы не обжигаться, и уже потом проверять как немного времени прошло и еда остыла. В общем, кайф.
      Ответить
    • Claude Code deletes developers' production setup, including its database and snapshots — 2.5 years of records were nuked in an instant


      Nuken in de keuken
      Ответить
    • Что за сайт "Пахом кейтеринг"?
      Ответить
      • Покушать приносят?
        Ответить
        • Сладкого хлеба?

          https://joyreactor.cc/post/1539240
          Ответить
          • Я смотрю у тебя у самого нету доступа на пахом кейтеринг, раз пользуешься помоечным джойреактором цц?
            Ответить
            • У меня есть доступ на https://throwable.website/ зато
              Ответить
      • доставка выпечки, что непонятного-то?
        Ответить
    • Дорогие девушки сайта govnokod.xyz!
      Поздравляю вас с международным женским днём!
      Оставайтесь всегда такими же красивыми и нежными!
      Ответить
    • Файк, а Пахом клаудларой прикрыт чтоль?

      Тебе, кстати, B от сслабс: https://www.ssllabs.com/ssltest/analyze.html?d=naxom.catering
      1. SHA меньше 512 нельзя использовать для HMAC (как PRF для AEAD можно, конечно)
      2. TLS 1.0 не нужен
      3. Session resumption нет
      4. HSTS Preloading нет
      5. CAA нет в DNS.

      Первые два ты можешь наверное через панель клауды рубануть (если тебе похуй на IE 7.0), а остальное ты можешь настроить на nginx и DNS сам. I.e.: https://www.ssllabs.com/ssltest/analyze.html?d=throwable.website
      Ответить
      • я сейчас с другими вещами пердолюсь
        хз зачем, чай ваши куки не собираю
        Ответить
        • дай доступ на пахом кейтеринг, жалко что ли?
          Ответить
          • а ты даш мне доступ на govnokod.xyz?
            Ответить
            • пахом — это хостинг картинок к web ui или без?
              Ответить
              • Это хостинг картинок. За дополнительные 9.99 можно ще хостить html, txt и mp4
                Ответить
    • Морской свинарник.
      Ответить
    • Путин: 15-17% территорий ДНР находится под контролем режима.
      Ответить

    Добавить комментарий