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

    0

    1. 1
    IT Оффтоп #188

    #158: https://govnokod.ru/28366 https://govnokod.xyz/_28366
    #159: https://govnokod.ru/28391 https://govnokod.xyz/_28391
    #160: https://govnokod.ru/28434 https://govnokod.xyz/_28434
    #161: (vanished) https://govnokod.xyz/_28449
    #162: https://govnokod.ru/28477 https://govnokod.xyz/_28477
    #163: https://govnokod.ru/28501 https://govnokod.xyz/_28501
    #164: https://govnokod.ru/28527 https://govnokod.xyz/_28527
    #165: https://govnokod.ru/28557 https://govnokod.xyz/_28557
    #166: https://govnokod.ru/28574 https://govnokod.xyz/_28574
    #167: https://govnokod.ru/28588 https://govnokod.xyz/_28588
    #168: https://govnokod.ru/28607 https://govnokod.xyz/_28607
    #169: https://govnokod.ru/28628 https://govnokod.xyz/_28628
    #170: https://govnokod.ru/28653 https://govnokod.xyz/_28653
    #171: (vanished) https://govnokod.xyz/_28665
    #172: https://govnokod.ru/28675 https://govnokod.xyz/_28675
    #173: https://govnokod.ru/28681 https://govnokod.xyz/_28681
    #174: https://govnokod.ru/28689 https://govnokod.xyz/_28689
    #175: https://govnokod.ru/28696 https://govnokod.xyz/_28696
    #176: https://govnokod.ru/28703 https://govnokod.xyz/_28703
    #177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
    #178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
    #179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
    #180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
    #181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
    #182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
    #183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
    #184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
    #185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
    #186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
    #187: https://govnokod.ru/28833 https://govnokod.xyz/_28833

    Запостил: nepeKamHblu_nemyx, 20 Августа 2023

    Комментарии (481) 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.
      Остерегайтесь подделок. Берегите себя и своих близких. Кок!
      Ответить
    • О, работает.
      Ответить
    • Кто как использует нейросети в работе?
      Ответить
      • Пока только «IntelliCode» активно использую на работе; с другими моделями только играюсь. ChatGPT не использую в силу NDA.
        Ответить
    • Ладно, питухи, дальше без меня сритесь. Надо восполнять бар энергии.
      Ответить
    • Youtube Censors me....but not Videos with The Nfamous word all through it
      Ответить
    • <div class="table-cell">
      Ответить
      • сёмантичненько
        https://imgflip.com/i/7wdqkz
        Ответить
      • Это смешно
        Ответить
      • Просто верстальщик где-то услышал, что верстать на таблицах немодно. Спорим, у него в css так:
        .table-cell {
            display: table-cell
        }
        Ответить
    • што случилось с хуиттером? хочу почитать каменты, ебучий макс не даёт, заменяю хост на хуиттер, а там "tweet not found" на вообще любой запорос
      Ответить
      • Макс — хуйло. Он теперь ничего толком не даёт читать анонам. Значит, и из поисковых систем Хуиттер выпадет.
        Ответить
    • казалось бы
      https://schemas.microsoft.com/developer/msbuild/2003
      но нет
      Ответить
      • А ты думал по ID схем будут лежат сами схемы? Наивный что-ли?

        А зачем тебе msbuild, кстати?
        Ответить
        • да хотел подредактировать ручками по мелочи
          этот хмл у майков же считается скриптом
          но они отчаялись уже больше 5 лет назад

          The schema link in an MSBuild project file is not required in Visual Studio 2017 and later. If present, it should be http://schemas.microsoft.com/developer/msbuild/2003 regardless of the version of Visual Studio. This value is not a live web destination; the most current MSBuild schema definition file (.xsd file) can be found at Microsoft.Build.xsd.
          Ответить
          • Какой багор )))
            Ответить
          • я имел ввиду зачем тебе вообще он?на чем ты пишешь и подкакие ос
            Ответить
          • Кстати, я тут в одном говнопроекте взял CMake. На прыще он генерит Makefile или Ninja, на винде .sln и vcxproj. И ты не порвешь -- работает.

            CLion умеет по нему строить модель проекта. Кодинсайта правда никакого нет (до такой степени нет, что даже блядь таргеты мне не подсказываются с CMakeLists.txt) то инклуды резолвит.

            Правда мне вот уже сразу пришлось писать императивную парашу с foraech
            Ответить
            • А чего бы ему не работать? Эти все бильд-системы просто же описывают, что из чего и как генерится и в каком порядке. Потом сортируют получившийся список и исполняют IF NOT ERRORLEVEL 1, собирая выхлоп. Не намного менее тривиально, чем Rotoeb Billing System. А уж зафорвардинжинирить деревце зависимостей в другой формат совсем детская задача.
              Ответить
              • В идеальном мире ты прав: ты просто описываешь дерево, и потом находишь нужные зависимости. Но перхоть, как всегда, в мелочах.
                В одной билдсистеме (XCode, MSBuild) у тебя есть разные конфигурации, тогда как в другой (Make, Ninja) нету.

                Иногда декларативщины тебе не хватает, и прихордица пирдолица с императивщиной, и тебя ждут os-spefic бубарехи, списки и итерация по ним, и пр.

                Мелкие проектики легко описать хоть на Make, а сложные начинают адскую пирдоль
                Ответить
          • > This value is not a live web destination

            Напомнило, как некоторые библиотеки парсинга HTML/XML пытаются выкачать все DTD и обламываются, когда сайта не существует (или ссылки сменились). Приходится изучать, как в них отключается выкачивание DTD.
            Ответить
    • The Inflation Reduction Act, when you think about fighting CLIMATE CHANGE, that is...so historic because it does the most....to fight CLIMATE CHANGE.
      Ответить
      • >>> The Inflation Reduction Act
        >>> [...] and investing into domestic energy production while promoting clean energy.
        Я правильно понимаю, что бороться с инфляцией они решили путём вливания ебейшего количества бабла в дорогую и неэффективную зелёную энергию?
        Ответить
    • https://habr.com/ru/articles/733400/
      Ответить
    • Слышали про Reqrypt?

      https://reqrypt.org/reqrypt.html

      Суть такова:

      1. Отправляешь tcp-пакет на прокси-сервер.

      2. Прокси-сервер отправляет на целевой сайт tcp-пакет, вписав обратным адресом не свой, а твой.

      3. Сайт отправляет ответный пакет тебе напрямую, минуя прокси-сервер.

      В чём выгода?

      1. Удаётся пробить провайдерские блокировки, если провайдер фильтрует только исходящий канал, но не фильтрует входящий.

      2. При этом скорость скачивания будет выше, чем в случае двухстороннего канала с прокси.

      3. Твой айпишник не будет подменён (может быть достоинством и недостатком).

      Подводные камни:

      1. Большинство хостингов проверяет IP-пакеты и не позволяют в source запихнуть чужой адрес. Но оказалось, что хостинги без проверки всё-таки существуют.

      2. Если клиент сидит за провайдерским NATом, он не сможет принять обратный пакет, ибо NAT не знает, кому из клиентов его доставлять.
      Ответить
      • стрёмное что-то

        пять лет не обновлялось

        на сайте есть упоминание того, как на маке выключить ipv6, чтобы ебала заработала, но сборки под мак нет, типа компиляйте и пребудет с вами счастьечко
        Ответить
        • В инструкции написано, что на маке надо оттопыривать мизинец, чтобы не закоротить антенну.
          Ответить
          • Это про третий Айфон вроде.

            Like a sir, да.
            Ответить
          • там новые инструкции

            типа не оставляйте телефон на зарядке на легковоспламеняющихся материалах вроде постели
            Ответить
      • Эт не может быть настолько просто. Твой комп не будет принимать пакеты из тсп-сессии, которую он не устанавливал с конечным сервером, он будет слать ресет, когда ему такое прилетит.
        Ответить
        • А можно перехватывать все входящие пакеты (a la Wireshark/Fiddler) и удалять нужные, чтобы стек ОС на них не послал ресет? Ну то есть повесить драйвер для прослушки и для пакетов, инициированных Reqrypt (он же помнит, к какому сайту ты хотел обратиться), сделать собственную реализацию стека tcp/ip?
          Ответить
          • P.S. К слову, у авторов Reqrypt лежит драйвер WinDivert как раз для прослушки и модификации пакетов.
            Ответить
      • стейтфул файрволы хорошо работать будут

        g: conntrack, https://thermalcircle.de/doku.php?id=blog:linux:connection_tracki ng_3_state_and_examples
        Ответить
    • #if !defined(KJ_DEBUG) && !defined(KJ_NDEBUG)
      // Heuristically decide whether to enable debug mode.  If DEBUG or NDEBUG is defined, use that.
      // Otherwise, fall back to checking whether optimization is enabled.
      #if defined(DEBUG) || defined(_DEBUG)
      #define KJ_DEBUG
      #elif defined(NDEBUG)
      #define KJ_NDEBUG
      #elif __OPTIMIZE__
      #define KJ_NDEBUG
      #else
      #define KJ_DEBUG
      #endif
      #endif
      Ответить
      • Что еще за KJ_DEBUG и чем он отличается от DEBUG?
        Ответить
    • Охуеть, HAVAL jojaxon сам детектит дождь и включает дворники. Как он это делает? j123123, смог бы написать такой контроллер?
      Ответить
      • Насколько я знаю, в автомобилях используется оптический принцип определения воды на лобовом стекле.
        Датчик светит кучей ИК лучей под сильным углом и считает, сколько вернулось обратно из-за полного внутреннего отражения. Если на проверяемую поверхность попала капля воды, то там будет фазовый переход не стекло-воздух, а стекло-вода, в котором нужен куда больший угол падения для отражения, так что количество отражённых лучей уменьшится. Как только датчик фиксирует достаточное количество воды на лобовухе, включаются дворники.

        Можешь попробовать обоссать верхнюю часть лобового стекла в движении, должно запустить дворники.

        Ещё есть детекторы дождя, основанные на влажности воздуха, но им требуется несколько минут, чтобы понять, что пошёл дождь, и они не работают на болотах или иных сырых местах.
        Ответить
        • Подсветка камер должна вызывать забастовки дворников. Какой собян )))
          Ответить
      • Вот и докатились до рекламации паралейного импорта автомобилей HALAV
        Ответить
      • в чём новость?
        Ответить
    • Китайцы как евреи нашего времени

      https://pbs.twimg.com/media/FU0-VhpWYAEUQNb?format=jpg&name=medium
      Ответить
      • Очень правильная статья.

        Я был в Турции, и там куча кошек. Один мужик пришел с булем, и я испугался за кошек. Мужик говорит "he is friendly", но я всё равно волновался, пока он кошек обнюхивал
        Ответить
        • Кровь котяток на завтрак

          > кошек обнюхивал
          Как-то не по Дарвину
          Ответить
          • Мне до сих пор стыдно перед булем и его хозяином, что я про него плохо подумал
            Ответить
            • Джон Буль такой
              Ответить
              • Что лучше bool, boolean, Boolean или Булеан?
                Ответить
                • BOOL, NSCFBoolean, Optional<bool>, Nullable boolean
                  Ответить
                  • ахахаха, мое любимое
                    https://agilewarrior.wordpress.com/2016/03/07/objective-c-nil-nil-null-nsnull/


                    nil / Nil / NULL / NSNull
                    Ответить
                    • > C represents nothing as 0 for primitives, NULL, for pointers

                      У меня уже пригорело.

                      > Most notable behavior of nil, though, is that is can have messages sent to it. This would crash other programs in C++. Which greatly simplifies expressions, as it obviates the need to check for nil before doing anything.

                      И от этого говна в языке. Всё ли у нас хорошо, нет ли ошибки? А хуй его знает, главное, что программа не рухнула, а что у пользователя ни одна кнопка не работает — похую, сам закроет.

                      Есть ситуации, когда что-то нужно выполнить если есть валидный указатель/ссылка, а иначе не делать, но лучше это делать явно, как это сделано в шарпе, с его ?? и ?.
                      Ответить
                      • &gt;У меня уже пригорело.
                        Напомню, что null появился в С++. В няшной жили-были только 0 и NULL. Причем кажется нулевой указатель не обязан быть нулём. В Нарнии построили комптютер, у которого ноль -- валдиный адрес.

                        ObjC это надмножество няшной, hence обратно совместимая.

                        &gt;И от этого говна в языке.
                        Десктоп исправит если я пижжу, но кажется эту шляпу перенесли и в свифт. Короче, да: у нила можно вызвать метод в Objc, получить nil, вызвать у него мтеод и пр.

                        Я годами воевал с жабоебами, которые писали
                        Bubarekh getBubarekh(Salupa zalupa) {
                         if (zalupa == null) return null; //чото пошло не так хуй знает чо

                        А тут прямо в языке такое

                        &gt;как это сделано в шарпе, с его ?? и ?.

                        Похоже сделано и в котлине, там тоже в самом языке исправили one billion dollar mistake


                        зы: но конечно всех уделали ДЖС бляди со своимс null vs undefined. Так жидко обосраца никто не смог
                        Ответить
                        • У меня пригорело от того, что у ссылкоблядей не возникает даже мысли о том, что у типа может не быть специального значения представляющего "нихуя".

                          В каком месте 0 это "nothing"? Такое же число, как и любое другое.
                          Ответить
                          • А, ну это известная болезнь ссылкоблядей, причем как ГЦблядей так и RC блядей. Всех блядей, у которых есть понятие "ссылочный тип" и "примитив"

                            Кстати, есть еще одно остроумное представление для "ничего", не требующее ссылок и ноля. В джаве его нету, а в расте, сишарп и в свежих С++ есть.
                            Ответить
                            • Ты про юнион от Nothing и значения типа Some/Nothing?
                              Ответить
                              • Я так понимаю, речь про структуру со ссылкой / значением и дополнительным булевым полем
                                Ответить
                                • Ну да, и маттерн патчинг к ней
                                  Ответить
                                • >ссылкой

                                  Со ссыклей и жаба умеет (опцион, да и просто нулабл) а я про юнион со значением
                                  Ответить
                      • Ну извините, message dispatch похуй на ваши крестоблядские привычки
                        Ответить
                • Кстати, джавабляди, чем отличие Boolean от boolean?
                  А джавскрипт бляди, в чем отличие string от String?
                  Сишарп бляди, в чем System.Boolean от bool?

                  (я знаю ответ, я вас просто собеседую)
                  Ответить
              • Буль, Буль Оглы
                Ответить
                • Мой Алюль, мой Булюль, мой Хиштаки Саританур!

                  (с) Коза с кудрявыми ножками
                  Ответить
            • Я вот попробовал про него тоже плохо подумать, и не стыдно ни разу.
              Ответить
    • Как легко человеку запутаться в мелких предметах. Можно часами ходить от стола к шкапу и от шкапа к дивану и не находить выхода.
      Можно написать ``petuh_vector{42}`` вместо ``petuh_vector(42)`` и получить необычное поведение программы
      Ответить
      • Обычно наоборот путают.
        Ответить
        • Ну тут разница как между
          * Сорок два Питуха
          * Питух Сорок Два

          Forty two roosters
          Forty two the Rootster
          Ответить
          • Обычно фигачат direct initialization с круглыми скобками и потом задаются вопросом, почему в моём векторе сорок два нуля. Когда на самом деле им нужен list initialization для одного элемента Сорок Два.
            Ответить
    • Пизданулся геликоптер, и судя по всему с Пригожиным и Уткиным. Похоже, Путин всё таки не простил Евгению попытку мятежа.
      Ответить
      • Спок, всё под контролем. Сейчас ЧВК возглавит новый человек и будет мятеж 2, на этот раз успешный. А потом Пригожин вылезет живеньким здоровеньким. Сейчас главное не бухтеть.
        Ответить
      • Смеёшься что ли
        Ответить
        • Рандомач сообщает, что с Иосифом Пригожиным всё хорошо.
          Ответить
          • С другим упырём тоже, не переживай
            Ответить
            • Сейчас похуй на 10 человек, погибших в результате крушения. На передовой повестке ПУТИН, выступающий в Курске.
              Ответить
      • Нихуя не понимаю. Что мешало сразу дать ему пж, как навальному?
        Ответить
        • Биографию почитай. Это тебе не Ходовальный.
          Ответить
          • И? Дальше что?
            Ответить
            • Черный ход и малява справедливости
              Ответить
              • Гарри Поттер и надпочечный камень
                Ответить
                • Гарри Поттер и кубок хуйни.

                  Погуглил книжки о Гарри Поттере и нашёл какую-то питушню: «А-ба-ба-га-ла-ма-га — украинское книжное издательство, специализирующееся на выпуске и переводе детской литературы на украинский, русский и английский языки.»
                  Ответить
          • Нарковский.
            Ответить
    • Как изменилось ваше мнение о «Рамзане Кадырове» после событий на СВО?
      Ответить
    • Нора Вагина. 41 год, Красноярск, Россия. Дружить · нора Вагина. 44 года, Санкт-Петербург, Россия. Дружить.
      Ответить
    • Нихуясебе, у меня релизная сборка ровно в сто раз быстрее дебажной
      Ответить
      • Какие-то питузячьи макросы, проверяющие каждый чих и пых, видимо выпилилились. Не думаю, что опциями компилятора можно так сильно изменить пифоманс
        Ответить
        • Так почисть это говно. Или ты успеваешь за чайком сходить, пока твоё говно запускается?
          Ответить
    • NOTE
      The repository contains aliases/symlinks. Cloning on Windows requires using the option -c core.symlinks=true and running the command with Admin privileges.
      git -c core.symlinks=true clone https://github.com/adobe-fonts/noto-emoji-svg.git

      You may also need to pull using this command,
      git -c core.symlinks=true pull

      and configure the repository with this command,
      git config core.symlinks true


      Угадайте, почему в «git» для «Windows» пришлось добавлять такую странную опцию.
      Ответить
      • Спойлер.
        (В «Windows» есть следующие типы ссылок на файлы:
        • Hard Links — жёсткие ссылки, как в *nix. Доступны начиная с Windows NT4.
        • Junction Points — аналог символических ссылок. Только на директории. На файлы таким способом ссылаться нельзя. Доступен начиная с Windows 2000 (NTFS 5).
        • Symbolic Links — символьные ссылки. Доступны начиная с Windows Vista.
        И создавать их можно только от имени админа. Поэтому долгое время порт «git» вообще не поддерживал ссылок.
        )
        Ответить
        • зачем их три? какая реализована через reparse points? зачем ему UAC? нахуя так сложно и запуано сделали?
          Ответить
          • Специально, чтобы прыщебляди соснули, портируя прыщеговно на Винду.
            Ответить
            • Представляешь, если бы вместо Дейва Катлера Гейтс нанял бы юниксоида, и винда получилась бы юниксом, типа как OS X?

              Представляешь, сколько миллионов строк кода стали бы не нужны, сколько миллионов багов бы никогда не появилось, сколько миллионов часов не тратили бы админы и программисты на поддержку этой пижни, насколько вообще мир был бы проще?
              Ответить
              • «Интерикс» помнишь, он же SUA, он же SFU, он же posixss?

                Т. е. они попробовали, но максимально через жопу, насколько это вообще было возможно. И даже сертификат совместимости с Юниксом за это говно получили.
                Ответить
          • К слову, в Линуксе можно монтировать директории через mount --bind.
            Ответить
            • docker этой хйиой пользуется
              и вроде еще initramfs
              Ответить
          • CUA нужен, чтобы не писать каждый раз runas /user:amdinistrator /password:12345 C:\PrizcheFiles\pierdole.exe
            Ответить
            • "cua" это бывшее имя последовательного порта в Linux. Если вы это знаете, то какая у вас пенсия, кстати?
              Ответить
        • А схера линки создаются только под админом?
          Ответить
          • If you have Windows 10, and turn on Developer Mode you may be able to create Symbolic Links without requiring admin privileges.
            Ответить
          • Чтобы прыщебляди соснули. Виндобогам линки ни к чему.
            Ответить
            • У виндобогов три вида линков, потому что винда мощнее и богаче прыщей
              Ответить
    • Как бы мне померять время?

      Жавайоб: `long i = System.currentTimeMillis()`;

      Крестовичок

      The TrivialClock requirements describe the requirements satisfied by several clocks in the chrono library.

      For a type TC:
      The type must meet Clock requirements.

      The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of EqualityComparable, LessThanComparable, DefaultConstructible, CopyConstructible, CopyAssignable, Destructible, and NumericType.

      Class std::chrono::steady_clock represents a monotonic clock.
      Class std::chrono::system_clock represents the system-wide real time wall clock.

      Никола Бурбаки объясняет число "один"
      Ответить
      • Тут сразу приходится разбираться и в крестах (компарабля, конструктибля, ассигнабля, деструктибля), и в способах измерения времени.

        В атомные часы время от времени вкидывают «високосную секунду», чтобы подогнать их под скорость вращения Земли. Поэтому в system_clock время иногда идёт рывками, и их нельзя использовать для вычисления временных промежутков между двумя событиями. В монотонных же часах (steady_clock) время идёт без рывков, но они периодически убегают вперёд относительно UTC.
        Ответить
        • дирижабля
          Ответить
        • Я думал, задача монотонных - не идти назад, даже если системное время какой нтп поменял
          Ответить
          • И это тоже. Монотонные должны всегда идти вперёд, сколько бы не было на системных часах.
            Ответить
      • В джаве тоже есть Clock с несколькими реализациями
        Ответить
        • Хм, вроде реализация одна. Хз где, но кажется видел, что CLOCK_MONOTONIC маппится на одно, а CLOCK_REALTIME yf lheujt/
          Ответить
    • Сегодня кандидат сказал, что поиск второго элемента в листе имеет сложность O(2).
      Ответить
      • не пизди, сегодня выходной
        Ответить
        • с днем независимости тебя
          Ответить
          • Только с днём зависимости.
            От ЗАПАДА.
            Ответить
            • Ура! Борманд вернулся!
              Ответить
              • Ня, привет!
                Ответить
                • Ща проверим твою трушность.

                  Как реализовывалось понятие владения сущностью в крестах до 11й версии, и как это правильно делать в сишке?
                  Ответить
                  • > Как реализовывалось понятие владения сущностью в крестах до 11й версии

                    auto_ptr

                    > как это правильно делать в сишке

                    Держать в уме программиста.
                    Ответить
            • Рано или поздно лафа закончится, а вместе с ней и карго с неба, а вместо этого насядут комиссары и будут девочек вести в кабинет, что приведет к монетарному пиздецу как в Греции.
              Ответить
            • https://cs9.pikabu.ru/post_img/big/2020/04/29/8/1588162953117438729.jpg
              Ответить
      • И где он не прав?
        Ответить
        • а ты бы как бы ответил??
          Ответить
          • О(1)

            Но O(1) = O(2).

            Я бы ещё спросил у него чем они отличаются.
            Ответить
            • >O(2).
              )
              ======================================== =====================-)
              ).
              Ответить
    • Путин перекрыл дорогу бля
      Ответить
    • g: Двуцветная дроздовая мухоловка
      Ответить
      • Это в пиздец-оффтоп.

        Двуцветный питоху — одна из немногих ядовитых птиц. На коже и перьях у неё присутствует яд батрахотоксин — мощный нейротоксин.

        ...

        Причина ядовитости птицы заключается в её питании. Двуцветные питоху едят жуков Choresine pulchra, в организме которых содержится батрахотоксин. У самой птицы выработался иммунитет к этому яду, чего нельзя сказать про местных жителей, которые считают эту птицу совсем негодной.
        Ответить
      • The hooded pitohui
        Ответить
      • https://en.m.wikipedia.org/wiki/Greenland_shark

        Живёт по 500 лет, беременность 18 (лет)
        Ответить
        • >microcephalus
          азазазаза
          Ответить
        • Кошмар. Исландцы её ещё жрут, несмотря на ядовидое мясо.

          Что только люди не жрут: маниоку, сюрстрёмминг, копальхен, рыбу фугу, тюленя, фаршированного чайками.
          Ответить
        • > беременность
          Это же рыба

          У некоторых даже кодона на срок годности нет
          Ответить
          • Ты тоже рыба и ничего
            Ответить
          • Акулы живородящие. Они икру не откладывают, а задерживают в организме, и наружу выходят уже сформировавшиеся мальки.

            «Половая зрелость у гренландских полярных акул наступает в возрасте примерно 150 лет.»
            Ответить
            • сыч вовсе не задрот-нолайфер, просто ему еще 110 лет до половой зрелости
              Ответить
    • Ладно, давайте смешное расскажу.

      Чем отличается to_vect от into_vec?
      Ответить
      • vec to_vect() const;
        void into_vec(vec&);
        Ответить
        • Хорошая догадка, но нет.

          Речь тут однако о расте.

          to_vect Copies self into a new Vec, тогда как into
          Converts self into a vector without clones or allocation.

          Так что to это копия, а into это мув.
          Вот конвеншены
          https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv

          Если бы такое было в крестах, то все бы ржали. А над растом нельзя ржать
          Ответить
      • Если это про Растишку, то нагуглил: to_vec копирует объект, а into_vec конвертирует на месте, делая ссылку на оригинальный объект недействительной.
        Ответить
        • ja.

          правда же это очевидно?
          Ответить
          • К сожалению, я не настолько знаком с английской лексикой и семантикой, чтобы чувствовать разницу между to и into. Могу только предположить, что последнее означает «вовнутрь» (Типа как на старых «Икарусах» на двери-гармошке был шильдик «Осторожно, рыгает внутрь»), а первое может означать «к» или «на».
            Ответить
    • упанишады
      Ответить
    • Доха нашла баг в русском языке. Доха пишет

      """Мы хотим рассказать о ровесни_цах независимой Украины — среди них есть и спортсмен_ки, и рэп исполнитель_ницы, и хирурги."""

      Как пофиксить последнее слово?
      Ответить
    • «Пришла к этому золотому человеку, разделась, легла на кушетку, а он закрыл дверь изнутри ключом, положил ключ в карман и, подойдя к моей голой и беззащитной подруге, расстегнул ширинку и достал член. Подошел вплотную, схватил подругу за голову и стал тыкать членом в губы. Не понимая, что делать и как дальше себя вести, подруга открыла рот, но не чтобы закричать, а для того, что, собственно, и спланировал гений медицины», — пересказала историю подруги Ермолина.

      Можно толкьо позавидовать находчивости этой девушки. В любой непонятной ситуации

      По ее словам, в итоге подруга посетила все сеансы этого врача, потому что «он вылечил то, что другие не смогли поправить».
      Ответить
      • > он вылечил то, что другие не смогли поправить
        – неправильный прикус, я надеюсь?
        Ответить
    • https://pbs.twimg.com/media/F3_1jkraQAAnNiZ?format=jpg&name=large
      Ответить
    • The Biden administration sued Elon Musk-owned rocket and satellite company SpaceX on Thursday for allegedly discriminating against asylum seekers and refugees in hiring.

      “The lawsuit alleges that, from at least September 2018 to May 2022, SpaceX routinely discouraged asylees and refugees from applying and refused to hire or consider them, because of their citizenship status, in violation of the Immigration and Nationality Act,” the Justice Department said in a statement.
      Ответить
    • Семь паттернов опечаток:

      https://pvs-studio.ru/ru/blog/posts/cpp/1064/
      Ответить
      • Нашел в статье ошибку, связанную с невнимательностью автора

        void* memset( void* dest, int ch, std::size_t count );      // С

        Это не си
        Ответить
        • Точно. Неймс-пейсов в няшной не было.

          Напомнило старые добрые времена, когда на ГК спрашивали, где здесь C++, и обязательно что-нибудь находили, хотя бы const.
          Ответить
          • const уже завезли в няшную, но его там не было в 89
            Ответить
          • Кстати, к вопросу копипасте и ошибках.

            В масме был мощнейший макропроцессор, и можно было совершенно бесплатно избавляться от копипасты через всякие макросы с циклами и пр.

            ЯВУшные анскилябры в своих Java и Python тоже могут писать циклы, но уже в рантайме, потому что на перформанс всем похуй.

            Крестовичок же тут в сложной ситуации. Делать что-либо в рантайме ради удобства программирования это зашквар. Наоборот, мелкий цикл лучше анрольнуть. Макроебить неудобно и тоже зашквар. Остается писать шаблон и надеяться на его инлайн.

            Или нет?
            Ответить
            • Циклы на крестоговне никто обычно руками не анроллит. Надеются на умный компилятор, который сам где надо наанроллит
              Ответить
              • В C тоже. C++ — это синтаксический сахар над C.
                Ответить
                • С++ времён «Cfront» — да.
                  Ответить
                  • А что поменялось с того времени?
                    Ответить
                    • Скомпилируй мне пожалуйста cpp вот такую простую программу
                      #include <stdlib.h>
                      
                      void main() {
                              char* data = malloc(42);
                      }
                      Ответить
                      • Если ты про автокаст в char*, то придётся дописать явный каст. А что? В TypeScript тоже нужно поприседать, чтобы типизацию обойти.
                        Ответить
                        • А еще я про void. У плюсов есть несколько мелких отличий от няшной, делающих неряшливый няшный код невалидным кодом плюсов.


                          В случае ObjC или TypeScript это не так: любой говнокод С или на JS будет валидным кодом на ObjcC и TS соответтвенно.

                          Другой такой пример это Java и Groovy: любой код на Java это валидный код на груви кажыца
                          Ответить
    • The Justice Department filed a lawsuit today against Space Exploration Technologies Corporation (SpaceX) for discriminating against asylees and refugees in hiring. The lawsuit alleges that, from at least September 2018 to May 2022, SpaceX routinely discouraged asylees and refugees from applying and refused to hire or consider them, because of their citizenship status, in violation of the Immigration and Nationality Act (INA).


      маск н берет на работ камерунских программистов
      Ответить
    • Вы когда-нибудь получали автобусную ошибку?

      PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
      clang-14: error: unable to execute command: Bus error
      Ответить
      • Да, получал. Когда какую-то питушню с mmap() делал в сишке
        Ответить
        • я чото тудумал, что SIGBUS это когда процессор физически не может читать память, например она не выровнена. Потому что на писи обычно бывает сигсегв
          Ответить
      • У меня буквально вчера развалился «dbus» в контейнере, пришлось целый час разбираться в кишках поцтеринговского говна чтобы пофиксить.
        Ответить
        • Лишний раз напомню, что из-за "ISO" (ex. gost) УШЁЛ BORMAND.
          Ответить
        • Чем отличается sigbus, dbus и сибас?
          Ответить
    • Компания-разработчик популярного архиватора WinRAR объявила об уходе из России. Действие всех лицензий, купленных россиянами, включая пожизненные, будет временно приостановлено – это означает, что им придётся искать альтернативу.

      Согласно условиям лицензионного соглашения, граждане России теперь не имеют права пользоваться архивами, созданными с помощью WinRAR (распаковывать их, просматривать, хранить), а также файлами, распакованными этой программой. Проигнорировать запрет не удастся – следить за соблюдением санкций будет IT-департамент Минфина США.

      В пресс-службе компании подтвердили, что приостанавливают лицензии в РФ. Поскольку в программе не предусмотрено механизма отзыва ключа, российских пользователей просят самостоятельно избавиться от архиватора и всех файлов, созданных с его помощью.

      «Это решение далось тяжело, но другого выхода нет, – сообщил пресс-секретарь организации Евгений Рошал. – В том числе будут отозваны все лицензии, проданные за 2023 и 2022 годы».

      На уточняющий вопрос журналиста «Вообще все?», представитель win.rar GmbH ответил утвердительно: «Да, обе».
      Ответить
      • У тебя опечатка. В оригинале было так.


        «Это решение далось тяжело, но другого выхода нет, – сообщил пресс-секретарь организации Евгений Рошал. – В том числе будут отозваны все лицензии, проданные за с 1999 по 2022 год».

        На уточняющий вопрос журналиста «Вообще все?», представитель win.rar GmbH ответил утвердительно: «Да, обе».
        Ответить
      • пресс-секретарь организации Евгений Рошал спросил у директора организации Евгения Рошала, может ли программист организации Евгений Рошал отозвать ключи
        Ответить
        • Еще есть жадный брат — Александр. Даже под GPL когда-то выкладывал, но потом зажал.
          Ответить
          • Помню, третий Рар вышел с подписью Александра вместо Евгения.
            Ответить
            • А еще Рар сделал Фар.
              Удивительно, но я до сих пор им пользуюсь
              Ответить
              • И я. Я даже впал в зависимость от некоторых плагинов для ФАРа.
                Ответить
          • Всё равно лицензию на Рар никто не покупает. Саня, хуй соси!
            Ответить
      • unrar халявный. Только упаковщик спрашивает лицензионные ключи.
        Ответить
        • Итак, есть опенсорсный unrar:
          https://www.rarlab.com/rar/unrarsrc-6.2.10.tar.gz

          Собирается с помощью makefile и gcc (включая mingw и кросс-компиляторы), LCC, Visual Age на выбор, а также MSBuild/Visual Studio.

          4. Legal stuff
          
             Unrar source may be used in any software to handle RAR archives
             without limitations free of charge, but cannot be used to re-create
             the RAR compression algorithm, which is proprietary. Distribution
             of modified Unrar source in separate form or as a part of other
             software is permitted, provided that it is clearly stated in
             the documentation and source comments that the code may not be used
             to develop a RAR (WinRAR) compatible archiver.


          Лицензия разрешает использовать этот код для распаковки, но не разрешает реверсить упаковку.

          А вот про брата:
          1. All copyrights to RAR and the utility UnRAR are exclusively
                owned by the author - Alexander Roshal.
          Ответить
        • Есть unrarlib, но она хуёвая: поддерживает только второй Рар. Более новые форматы в пролёте.

          https://www.unrarlib.org/faq.html

          Зато с интересной лицензией.

          UNRARLIB LICENSE
          
          You may use this library under one of these licenses:
          
          
           - The UniquE RAR File Library license 
             (see unrarlib-license.txt from http://www.unrarlib.org/unrarlib-license.txt)
          
           - The GNU Public License - GPL license
             (see gpl.txt from http://www.unrarlib.org/gpl.txt)


          То есть хотите — соблюдайте GPL, не хотите — не соблюдайте.

          Автор — некто Christian Scheurer ([email protected]).
          Ответить
      • https://www.anekdot.ru/id/266630/
        Ответить
        • Этот анекдот был послан программой the Bat, судя по году публикации. Чуствуешь иронию?
          Ответить
          • Летучую мышку написала компания «RIT Labs». Ещё они написали «ДОС Навигатор» на «Турбо Паскале» с «Turbo Vision» (а когда им всё надоело, бесплатно выложили исходники от «ДН»).
            Ответить
      • Панорама
        Ответить
    • Есть база (хуяза) с 1 табличкой.
      Есть клиент, который в режиме pull опрашивает измененные строк таблицы. Псевдокод:
      ts = 0
      white True:
        u = baza.get_updated_since(ts)
        ts = max([i.updated for i in u])


      И есть другой клиент, который пушит данные в базу, вручную заполняя поле updated текущим временем.

      Как вы догадались, может произойти такая «гонка», что кто-то пушнёт updated на миллисекунду меньше максимального, и изменение пропустится.

      Можно было бы решить глобальным счётчиком, но хуяза не поддерживает автоинкремент: это считай k-v хранилище с индексами. Что можно сделать? Пока прикрыл костылём, что запрашиваю за секунду назад.
      Ответить
      • > кто-то пушнёт updated на миллисекунду меньше максимального
        – шта
        Ответить
        • Ну два питуха пушат с разницей 1 миллисекунду. Нет гарантии, что первый пропушнёт тот, кто отправил запрос раньше.
          Ответить
          • ну проебёт немного

            а что, это критично в твоём кейсе?
            Ответить
            • Хотя в принципе ладно, похуй.
              Я пишу танзакционную блохчейн систему. Проебать одно звено действительно не критично.
              Ответить
              • не знаю, единственное, что в голову приходит, это лочить читателя, если писатель что-то пишет
                Ответить
      • А что будет, если читатель заснет на час? Он проебет все изменения?

        почему нельзя слать изменения через очередь?
        Ответить
        • > А что будет, если читатель заснет на час?
          Его выгонят из библиотеки.
          Ответить
        • > А что будет, если читатель заснет на час?

          Когда проснётся прочитает всё, что пропустил.

          > почему нельзя слать изменения через очередь?

          Не понял. Опиши архитектуру. Кстати, читателей и пейсателей несколько. Ну и может появиться новый читатель, который должен вычитать всё, а дальше ждать следующих изменений.
          Ответить
      • > white True
        Одобряю, так их, копченых!
        У тебя же скаляр можно возвращать из базы той же фуксией max()
        А если волнуешься о хуйне, то записывай отсчеты с датчиков в строки только для чтения, а поверх них сделай вьюшку с последними
        Ответить
      • Ну, во-первых, скорее всего у тебя «проблема X Y». Впрочем, похуй, будем решать «X».

        1. Как сказал Desktop — можно воспользоваться блокировками: на уровне базы или вообще какого-нибудь внешнего сервиса, если пирфоманс не критичен (например, микросервис, к которому можно ходить в POST /lock/<uuid>/acquire за локом).
        2. Можно всё таки не заполнять поле updated вручную, а попросить базу — наверняка же там хоть «now()» есть?
        3. Вместо микросервиса локов из п.1 можно сделать микросервис «текущего времени» и ходить в него за таймштампом. Так же можно и автоинкремент сделать, лол.
        4. Можно посмотреть, что у тебя в базе есть из изоляции транзакций и намутить на этом псевдо-автоинкремент (типа таблицы с одной колонкой и одной строкой, на пересечении которых находится счётчик).
        5. Можно изменить подход и фильтровать не по «updated_since», а просто сделать булеву колонку «is_processed» и ставить её в True после процессинга, а пуллить те строки, у которых она False.
        Ответить
        • Задача очень простая. 10000 питухов редактируют записи в таблице. Эту таблицу нужно растащить на 1000 клиентов и поддерживать консистентное состояние с лагом не более секунды.

          Локи не подходят, нужен "пефомас". Таблица из одной колонки и одной строки для изоляции транзакции — тоже не пефомасно, считай то же самое, что лок.

          Данные должны записываться в базу не лоча ничего.

          Вариант с now() интересный. А ты уверен, что это решает проблему? Откуда появится гарантия, что запрос с меньшим now() выполнится первее?
          Ответить
          • Теперь осталось выбрать механизм разрешения конфликтов и ты в дамках
            Ответить
            • Конфликтов у меня не бывает.
              Ответить
              • Ну да ну да
                Ответить
              • Кстати, когда к тебе придёт петух, который месяц не получал изменений, то каким раком встанет перформанс, пока ты будешь ему это фетчить?
                Ответить
                • Ну это ещё можно стерпеть. Если припрёт, может буду кусками фетчить.
                  Ответить
                  • > Ну это ещё можно стерпеть.

                    фу терпила
                    Ответить
                • > раком встанет перформанс

                  Какой Krebsgang )))
                  Ответить
                • У меня by design много петухов с холодным стартом. Где-то 1 петух в 5 минут. Остальные 100 петухов раз в секунду запрашивают обновления.
                  Ответить
              • буквально вся задача о том, как разрешить возможный конфликт
                Ответить
        • > блокировками: на уровне базы
          Какой парадокс )))
          Ответить
          • А что не так?
            Нормальные базы, написанные умными людьми для умных людей, позволяют очень гибко выстраивать стратегии блокировок, см. https://www.postgresql.org/docs/current/explicit-locking.html.
            В СУБД для обезьян такого, понятное дело, не будет, конечно.
            Ответить
            • Именно поэтому я за «SQLite».
              Ответить
              • Чтобы прочувствовать всю глубину IT-жопы надо вспомнить, что в «СКУлите» умные опции опциональны и по умолчанию выключены нах.
                Ответить
              • Ты ответил человеку, из-за которого ушел bormand.
                Ответить
                • Ужасно. И что теперь делать?
                  Ответить
                  • Как минимум извиниться перед человеком, признать вину и попросить вернуться.
                    Ответить
            • Я сначала подумал, что он предлагает эксклюзив на уровне базы
              Ответить
            • Ты предлагаешь блокировать всю таблицу на запись при изменении любой строки, верно? То есть всё шардирование идёт нахуй?
              Ответить
              • Я предлагаю не страдать хуйнёй, изобретая велосипед из говна и палок для решения некорректной задачи хуёвыми средствами.

                Возьми «Кафку», «Артемис», «Redpanda» или любую другую из миллиона шин (inb4: «kafka» — распределённый лог, а не шина) — и все твои ебучие проблемы с таймштампами и шортполлингом (шортполлингом, блядь! 2023-й год!) базы уйдут туда, куда им и место — в канализацию к пыхокодерам.
                Ответить
                • Даже есле религия запрещает взять шину, а заставляет использовать сраный СУБД (у пыхеров есть такая профдеформация, что они бквально любую задачу решают на СУБД) то можно взять постгрес с автоинкрементом и транзакциями, и настроить репликацию WAL на клиенты.

                  А когда перформанс тесты докажут, что это решение слишком плохо масштабируется, то думать про кафку.
                  Ответить
                  • Хотя бы так, да.

                    > у пыхеров есть такая профдеформация, что они бквально любую задачу решают на СУБД
                    Тут скорее хипстеры с новыми модными технологиями. Даже самый убогий мускуль умеет делать «now()»; да даже в ебучем «redis» есть «INCR». Чтобы ни дат, ни автоинкрементов не было — это нужна какая-то прямо пиздец какая хипстерская технология.
                    Ответить
                    • Про now я тебе ответил: https://govnokod.xyz/_28837/#comment-1270478

                      В моей хуязе знаешь почему нету автоинкремента? Пологаю потому, что это high-перформанская скилловая питушня.
                      Представь у тебя есть 100 шаров, и ты можешь параллельно записывать много много данных, распределяя нагрузку на шарды. А чтобы реализовать автоинкремент, то нужно как-то реалтайм их синхронизировать, опять же под каким-то локом.
                      Ответить
                      • >Представь у тебя есть 100 шаров, и ты можешь параллельно записывать много много данных, распределяя нагрузку на шарды.

                        А у тебя такая ситуация?
                        А сколько у тебя писателей, и как ты синхронизируешь часы?
                        Ответить
                        • 10000 писателей и 500-600 читателей.

                          > как ты синхронизируешь часы?

                          Вызываю time(). Рассчитываю, что на серверах время правильное. Если ВДРУГ какая-то хуйня произойдёт, то не страшно, перезагружу читателей и они заново всё скачают.
                          Ответить
                          • >И есть другой клиент, который пушит данные в базу, вручную заполняя поле updated текущим временем.


                            Верно ли я понял, что у тебя 1000 таких клиентов, и время у них одинаковое с точностью до

                            >миллисекунду
                            ?
                            Ответить
                            • Ну типа
                              Ответить
                              • что будет, если у одного писателя время убежит назад на пол секунды, и он начнет писать "в прошлом"?

                                Все клиенты уже считали T, а тут один тормоз записал новые данные, а время у него T-1?
                                Ответить
                                • Ладно, воспользуюсь идеей ISO (спасибо ему) и буду юзать TIME().

                                  Это чуть снизит лаг. Но на серверах базы тоже время может слететь, теоретически.
                                  Ответить
                                  • Время вообще лукавое понятие.

                                    Часы при загрузке читются из CMOS, а дальше их обновляет ОС с помощью таймера*, и на виртуалках оно может оставать, да и на некотрых обычных серверах в минуты сильной загрузки -- тоже.

                                    Потому виртуалка синхронизирует свое время с хостом или с NTP сервером переодически, а обычный хост тоже читает время с NTP.

                                    Это значит, что время может прыгать туда-сюда. Вперёд оно вряд-ли убежит, а отстать может.

                                    Считать, что на двух машинах время всегда одинаковое с точностью до милисекунды -- нельзя.


                                    *
                                    https://www.cs.utexas.edu/~rossbach/cs380p/papers/ulk3.pdf

                                    читат со траницы 228

                                    зы: мы как раз неедавно обсуждали два сорта часов из пакета хроно в крестах
                                    Ответить
                                    • Ну да, можно ещё и баянчик вкинуть:
                                      https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
                                      Ответить
                      • > high-перформанская скилловая питушня
                        > шорт-поллинг всеми читателями
                        Спасибо, заорал.
                        Ответить
                        • Из-за тебя bormand ушёл.
                          Ответить
                          • ебать ты душный хуй

                            нахер никому твой борланд не усрался
                            Ответить
                            • Ой, всё
                              Ответить
                            • Борланда нет давно никакого
                              Он амбракадабра называется или както тмк
                              Ответить
                          • Гост не оскорблял Борманда, а всего лишь высказал свои взгляды на войну, которые оказались для Боманда неприемлимыми.

                            Я взгляды Борманда тоже считаю чудовщиными. Вместе с тем, Боманд один из умнейших обитателей ГК, обладающий глубокой экспертизой буквально во всех интересующих меня областях.

                            Увы.
                            Ответить
                      • Там где нет автоэкскремента, делают триггер и сиквенс
                        Ответить
                • Хуявку возьми. Тащемто я уже придумал всё и реализовал.

                  Ради одной мелкой проблемы я буду слезать на другую хуязу и переписывать до пизды простое решение. И ещё неделю с ней ебаться, отхватив десяток других недостатков.
                  Ответить
                  • Удачи. Когда начнёшь проёбывать записи, отлаживать внезапные деградации пирфоманса и чинить развалившуюся в пятницу вечером консистентность реплик — вспомни, что тебе говорили умные питухи с «Говнокода».
                    Ответить
                    • Консистентность реплик меня не ебёт. Есть гарантия базы. Я же не админю сервера сам, а рассчитываю на облачное решение. Про перформанс я как раз думаю сейчас, в отличии от предложенных вами решений.
                      Ответить
                      • Ты «реплики» руками делаешь своей дрочкой базы, в этом-то и самый пиздец. И вот они у тебя будут разваливаться регулярно.
                        Ответить
                      • &gt;Консистентность реплик меня не ебёт.

                        тоесть они евенчуали консистент? Клиент может опаздаь на пару часиков, и всё будет заебись?

                        У вас тут суббота, а у меня еще среда
                        Ответить
              • За агрессию извини, настроение ни к чёрту.
                Ответить
            • Я просто использую уровни транзакций, и теку. Зачем мне ручная блокировка?
              Ответить
          • Кто помнит короля дров?
            Ответить
            • Они вместо него купили PSP
              Ответить
              • Кто помнит Program Segment Prefix?
                Ответить
                • Весь PSP не помню. Помню, что по адресу ноль зачем-то лежали два байта, выполняющие инструкцию INT 20H, которая возвращает управление DOS, а в стеке на всякий случай лежал ноль. Так что если кто-то лишний раз выполнит RET, программа тихо вернёт управление DOS, как будто завершилась штатным способом.

                  Ещё в PSP была ненужная хуйня, типа FCB для двух файлов, хотя с третьего или со второго DOS (точно не помню) FCB уже никто не использовал, а пользовались дескрипторами, которых можно было открыть аж 256 (минус стандартные потоки).
                  Ответить
                • OGR 100

                  А еще там TP-string с командной строкой
                  Ответить
      • 1. Береш эту таблицу
        2. Гладиш ей... ой
        3. Представляешь её в виде одной сущности, собираемой из апдейтов. Сначала у тебя пустая таблица, первая запись у тебя говорит, какие строки добавить, последующие уже добавляют, изменяют или удаляют строки:

        Транзакция 1: Добавить А, Б, В
        Транзакция 2: Добавить Г, удалить Б, заменить В на Д
        Транзакция 3: Вернуть Б

        Сами транзакции записываются в mysql (или что у тебя в твоем блокчейне) как обычные записи, где номер транзакции - часть ключа (что не позволяет дважды добавить транзакцию с одним и тем же номером)
        4. У каждого изменения есть порядковый номер, который предоставляет тебе регистр для CAS-операций. Каждый слушатель знает, какую последнюю транзакцию он видел, поэтому пушить он пытается с N + 1. Если такая транзакция уже была записана, то он получает отлуп. Если он получил отлуп, то читает изменения и пытается повторить операцию, если за это время не появилось конфликтов. Аналогично слушатели всегда знают с какого места им надо читать и могут попросить сервер читать с транзакции N при каждой итерации, начиная со стартовой.
        5. Для восстановления состояния таблицы ты просто прокатываешь транзакции с первой по последнюю
        6. Чтобы этого не делать, каждые пятьдесят транзакций ты делаешь слепок таблицы, а для восстановления накатываешь только то, что идет после слепка
        7. Чтобы экономить пространство, настраиваешь ретеншен, который будет собирать старые снапшоты и транзакции
        8. Вы получили вымесь кафки и event sourcing. Пока никто не увидел этот abomination и не прикончил его из джвухстволки, уберите его в шкаф.
        9. Данная схема замыкается на оптимистичную блокировку одного регистра. Для 10к человек это скорее всего будет норм. Если перформанс будет не норм, то тогда можно смотреть Snapshot Isolation и пытаться бороться с конкурентностью на уровне множеств записей, а не всей таблицы целиком.
        Ответить
        • &gt;&gt;Представляешь её в виде одной сущности

          в виде гномика
          Сущность ввиде гномика
          Ответить
        • > ей... ой
          Это какой-то особый вид я... ой?
          Ответить
      • > И есть другой клиент, который пушит данные в базу, вручную заполняя поле updated текущим временем.

        в общем случае это уже проеб потому что часы у клиента могут отстать и он начнет записывать не на миллисекунду а на секунду или две или десять раньше

        > измененные строки таблицы

        Мне кажется для задачи "прочитать апдейты моей хуйни" это неудачная модель. Удачная модель - это лог апдейтов твоих сущностей

        можешь написать джобу которая каждые N миллисекунд будет читать бинлог твоей базы данных и записывает апдейты в какой-то кликхаус с увеличивающимся ид. Если писать каждую секунду батчами, то никаких проблем с инкрементируюющимся ид не будет и в кликхаус влезет довольно много.

        Проблема будет когда джоба наебнется или задержится или бинлог проебется. Но это решаемо

        Более примитивный способ - это просто сохранять бинлоги и отдавать их клиентам и пусть они сами ебутся
        Ответить
        • Похоже на обычную репликацию средствами субд, когда например постгрес стримит свой WAL на слейвы
          Ответить
          • Да, это по сути асинхронная репликация

            Вообще бд на низком уровне делает все что гостю нужно (поддерживает лог изменений, версионирует строки, сохраняет снапшоты строк для консистентных транзакций)

            Может можно придумать какое-то хитрое решение которое будет просто работать на той же бд без приседаний
            Ответить
      • Я не понимаю как вообще можно завязываться на время, которое везде может быть разное.
        Тебе нужен фронтэнд, который будет реализовывать автоинкремент.

        Если же ты весь из себя распделененный, то тебе нужен кмк связанный список как в блокчейне или гите.

        Сам факт выбора СУБД тоже странный, о чем и гост и буткемп ниже написали.
        Ответить
    • Вопрос: Как пириписать этот код на раст?
      #include <iostream>
      
      
      constexpr std::size_t SIZE = 1 << 30;
      
      
      int main()
      {
      	const auto data = std::unique_ptr<char[]>(new char[SIZE]{42});
      
      	std::cout << static_cast<uint32_t>(data[0]);
      	return 0;
      }


      Правильно, никак: https://github.com/rust-lang/rust/issues/53827

      Охуенный язык, например
      Ответить
      • кстати крестобляди а как тут убрать new? как можно в мейк юник передать инициализатор моссива?
        Ответить
        • const auto data = std::make_unique<char[]>(SIZE);

          Или
          const auto data = std::make_unique_for_overwrite<char[]>(SIZE);
          если тебе не нужны нули в массиве, а ты его будешь сам заполнять

          А, не прочёл внимательно.
          Тогда второй вариант + заполнение в цикле только разве что.
          Ответить
          • я хочу первым числом чтоб сорок два было.

            >цикле
            а можно мемсетом?? или fill_n хотя бы

            В рустне я не могу ничего создать сразу на куче. Я могу создать на стеке, и в кучу скопироваь. Гиг в стек не влазит, и я сосу stack overfow.

            Я могу поклать в стат память (лол!) или могу взять Vector. Но это же хак, блин
            Ответить
            • > а можно мемсетом?? или fill_n хотя бы
              Можно. Там у тебя будет просто неинициализированный массив, как после голого new. (В первом варианте будет массив нулей)
              Ответить
      • Переписал на Си, проверь:
        #include <stdio.h>
        #include <string.h>
        #include <inttypes.h>
        #include <stdlib.h>
        
        #define SIZE (1 << 30)
        
        void myfree(void *ptr)
        {
          free(*(void **)ptr);
        }
        int main()
        {
           __attribute__ ((cleanup(myfree))) __auto_type data = ({char *tmp = malloc(sizeof(char)*SIZE); if (tmp == NULL) exit(EXIT_FAILURE); tmp[0] = 42; memset(tmp+1, 0, SIZE-1); tmp;});
          
          printf("%" PRIu32, (uint32_t)data[0]);
          return 0;
        }
        Ответить
        • Кстати есть вот такая хуйня https://github.com/Snaipe/libcsptr
          Ответить
        • Это не си а какое-то GCC.

          >>cleanup(myfree)
          ого, да у вас там десктрукторы завезли! Поздравляю!
          Ответить
          • Царь говорил, что гэцэцэ — единственный вменяемый конпелятор.
            Ответить
            • А почему же тогда все BSD включая Apple перешли на шланг? а? а?? а????
              Ответить
              • Питухи заедушные, Царя не слушают.

                Кстати, некоторые гэцэцизмы Шланг подхватил, но я не помню, какие.
                Ответить
                • Там вроде была фишка в том, что бздуны ненавидят Столлмана и GPL, а яблокам через посредство LLVM IR оказалось проще реализовывать ARC, а бздуны сказали "о, раз яблоко поддерживает шланг на бздях, то мы его нахаляву тоже с удовольствием возьмем и пошел столман нахуй"
                  Ответить
                  • ps: а все же вкурсе, что официальный компилятор от Microsoft не умеет C99? VLA нету
                    Ответить
              • Clang это тоже собирает.
                Ответить
          • Да это давно уже.
            Ответить
            • а бывает
              __attribute__ ((copy(mycopy)))

              ?
              Ответить
              • А что он должен делать? Перегружать "="?
                Ответить
                • да. Или передачу в функцию по значению

                  а еще мув нужен
                  Ответить
                  • > да.
                    Нихуя перегружать в сишке нельзя. Можно сделать макрос ASSIGN в котором _Generic внутри, который для разных типов делает разную хуйню для присваивания.

                    > Или передачу в функцию по значению
                    Думаю что это можно намакроебить. Что-то типа
                    #define FOO(arg1, arg2, arg_copy) ({ __auto_type ASSIGN(tmp, arg_copy); foo(arg1, arg2, &tmp);})

                    но это хуйня какая-то

                    > а еще мув нужен
                    Зачем нужен "мув" если можно передавать по указателю? Но что-то намакроебить конечно можно
                    Ответить
                    • >Нихуя перегружать в сишке нельзя.
                      Так ведь и автоматически вызывать код при выходе петуха из зоны видимости в сишке тоже нельзя. Это гццизм.

                      >Думаю что это можно намакроебить.
                      Намкароёбить можно всё, что угодно.

                      >Зачем нужен "мув" если можно передавать по указателю?
                      Без "десктрукторов"/"дропов" в мув семантике действительно нету никаокго смысла. Она ничем не лучше передачи по указателю. Просто напиши комментарий "вот тут я передал оунершип в другую функцию, потому вызывать fclose или free в этом скоупе не нужно", вот и будет сишкин мув
                      Ответить
                      • > Так ведь и автоматически вызывать код при выходе петуха из зоны видимости в сишке тоже нельзя. Это гццизм.

                        Можешь написать особый препроцессор для сишки, который бы проверял зоны видимости для каких-то там переменных, рядом с которыми оставлен специальный комментарий вида "/*destructor(myfree)*/", и чтобы вызывал ту функцию при выходе.

                        Вообще, доебаться можно и до крестов. Например, почему в крестах я не могу новые операторы делать и определять для них всякие хуйни? Вот например если я хочу чтобы у меня был оператор "^^" который означает "возвести в степень" для какого-то моего класса чисел, почему кресты это не поддерживают?
                        Ответить
            • Кстати этот cleanup в ядро добавили:
              https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04f2933d375e3f90d4435b7b518d3065afd1fa25
              Ответить
              • В ядро и «rust» добавили. Хипстеры победили, этот мир уже не спасти.
                Ответить
                • Почему ты такого плохого мнения о расте, кстати?
                  Ответить
                  • ДА ПОШЁЛ ОН НАХУЙ!!!!!!!
                    Ответить
                    • Аргументировано.


                      Пишите дальше на своих джаваскриптах сраных
                      Ответить
                      • Он пишет на петоне с туре хинтами ))
                        Ответить
                        • и все равно ловит
                          unsupported operand type(s) for +: 'int' and 'str'

                          в рантайме. Знаю я питухон
                          Ответить
                          • Если вся кодовая база покрыта тайпхинтами — нет, не ловит. Как я, например.
                            Ответить
                            • У тебя вся стандартная библиотека и все используемые библиотки и весь твой код покрыты хинтами?
                              Ответить
                            • Хуяза!
                              Ответить
              • > ioat_chan

                n-notice me IoT-chan.........
                Ответить
    • Очередная реализация JS на JS:

      https://github.com/engine262/engine262

      Pypy все видели, на PHPPHP я тоже ссылку кидал.

      Какие ещё извращения вы знаете?
      Ответить
      • это писино вручную???
        https://github.com/engine262/engine262/blob/4aa42b6dee32eec63062a0480c7375220d835f7d/src/evaluator.mts#L86
        Ответить
      • Компилятор C++ на C++.
        https://gcc.gnu.org
        Ответить
    • Рустня сначала завезла проверку бондарез, а затем с ней же и воюет
      https://shnatsel.medium.com/how-to-avoid-bounds-checks-in-rust-without-unsafe-f65e618b4c1e

      такие смешные питушки
      Ответить
    • И так, ЯП могут

      1: Легко позволять писать перформансный код
      2. Быть очень выразительными, позволяя делать много вещей малым количеством букв
      3. Быть простыми в освоении

      Выберите любые два пункта.
      Няшная выполняет 1 и 3, но не 2.
      Питон это 2 и 3, но не 1.
      Кресты это 1 и 2, но не 3.

      Не существует языка, выполняющего все три пункта.
      Большинство людей ругает язык за невыполнение одного из трех пунктов.
      Ответить
      • пфф

        ты же неявно отсёк все языки с gc/countref, я тебя знаю

        в итоге под пункт 1 у тебя небось попадает только сишка, кресты, руст и фортран
        Ответить
        • Я хочу быть программистом на фортране. Мне нравится профессор, в честь которого он назван
          Ответить
          • Тогда почитай книжку
            https://www.graphicon.ru/oldgr/grafor/gr_help/main.htm
            ! заебательный код, и всё понятно
            
            
             X = 6.0
            	      Y = 6.0
            	      R = AMIN1(X/2.0, Y/2.0)
            	      X0= X/2.0
            	      Y0= Y/2.0 
            	      Yl=-R/2.0 
            	      Xl= Yl/SQRT(3.) 
            	      CALL PAGE(X, Y, 'BANTIK', 6, 1) 
            	      CALL TRANSL(X0, Y0) 
            	      CALL BEGLEV 
            	      DO 1 I=1,3 
            	      CALL BEGLEV 
            	      DO 2 J=1,2 
            	      CALL BEGLEV 
            	      DO 3 K=1,20
            	      CALL MOVE(0.0, 0.0, 0) 
            	      CALL MOVE(0.0, -R, 1) 
            	      CALL MOVE(-SQRT(3.)/2*R, -R/2.0, 1) 
            	      CALL MOVE(0.0, 0.0, 1) 
            	      CALL PSCALE(Xl, Yl, 0.8) 
            	      CALL ROTATE(Xl, Yl, -8.0) 
            	   3  CONTINUE 
            	      CALL ENDLEV 
            	      CALL LSCALE(0.0, 0.0, 0.0, 1.0, -1.0) 
            	   2  CONTINUE 
            	      CALL ENDLEV 
            	      CALL ROTATE(0.0, 0.0, 120.0) 
            	   1  CONTINUE 
            	      CALL ENDLEV 
            	      CALL ENDPG(0) 
            	      END
            Ответить
            • CALL TRANS
              CALL PAGE(X, Y, 'BATNIK', 6, 1)
              R = AMINb
              Ответить
            • Фортран-66, блочных операторов ещё нету, кругом метки, как в классическом Бейские. Нямка!

              P.S. Хотя DO уже есть. В Фортранах I-IV и того не было, там была только лапша с GOTO.
              Ответить
              • Вот как удобно: по мере необходимости в язык завозят новые фичи. В версии девяностого года появились функции от массивов: всякие any и count. Спустя двадцать лет они появились и в Java.
                Ответить
          • Хочешь – будь!
            Ответить
            • я хочу быть кочегаром кочегаром кочегаром
              работать сутки через трое через трое через трое
              Ответить
    • пиздец, как файлообменник может не только не возвращать content-size, но ещё и не поддерживать докачку?
      Ответить
      • Как Гитхаб.
        Ответить
        • вот только никогда не качал с гитхаба 10 гиг
          Ответить
      • потому что опять любители золотых молотков хранят файлы в mysql и отдают их скриптом на php.

        Когда мне нужно отдавать файлы, я ставлю nginx, и теку. Он сам делает докачку, ренджи, хуенджи, кеш, и даже умеет по требованию клиента выбрать уже сжатый файл.
        Ответить
    • toilet/stable,stable 0.3-2
        FIGlet-compatible display of large colourful characters in text mode
      Ответить
      • $ toilet bagor
        
         #
         #mmm    mmm    mmmm   mmm    m mm
         #" "#  "   #  #" "#  #" "#   #"  "
         #   #  m"""#  #   #  #   #   #
         ##m#"  "mm"#  "#m"#  "#m#"   #
                        m  #
                         ""
        Ответить
      • The banner program on Unix and Unix-like operating systems outputs a large ASCII art version of the text that is supplied to it as its program arguments.


        banner(6) – 4.2BSD Games Manual
        .TH BANNER 6 "1 February 1983"
        Ответить
    • Петухи, вы шарите за сеть? Вопрос чисто образовательный, есличо.

      Допустим я купил стойку с серверами, арендовал помещение, обеспечил электричество. Что ещё нужно (а) купить и (б) настроить, чтобы в итоге заработал

      curl "http://32.12.55.44/ping"
      pong


      (ещё, видимо, надо как-то IP купить)
      Ответить
      • Где именно ты ее купил? В датацентре или в гараже?
        В датацентре скорее всего будут представлены несколько провайдеров, из которых ты сможешь выбрать. Они продадут тебе сеть из нескольких IP и оговорят ширину канала и дадут кабель.
        В случае гаража тебе придется самому искать провайдера, и уговаривать его тянуть к тебе кабель: оптику или медь.

        Когда кабель у тебя, тебе нужно подключиться. Может понадобиться медиаконвертер, но обычно его предоствляет провайдер в аренду.

        Если сервер один и IP один, то можно воткнуться прямо в сервер. Если несколько, то лучше поставить роутер (например, микрот) перед ними, либо сделать софтварный роутер на одном из компов.

        У серверов обычно есть порт IPMI, где прошивка предоствляет доступ к консоли. Иногда это выделенный порт, иногда порт на специальном VLAN. Через него можно зайти на консоль, и поставить ОС. Но сотрудники ДЦ часто и сами ставят ОС. Я бы советоал на сервер поставить гипервизор, и поднять на нем виртуалку. Ну а на виртуалке ты можешь ты можешь насроить nginx со статической страничкой с текстом pong, тут уже дело за тобой.

        Ща схожу за чаем, и расскажу про знакомого админа и его сервера в ДЦ Миран, он мне про них рассказывал подрбно
        Ответить
        • Да, так вот.

          Миран сдал ему в аренду несколько серверов с какими-то свежими ксеонами и рейдами. Точнее, на двух серверах рейды хардварные, а на остальном какое-то интелговно. Ну и диски. Сервера собрали сотрудники ДЦ.

          У всех серверов выделенный IPMI порт воткнут в оборудование ДЦ, и через их веб-морду можно зайти, запустить ужасного вида джавовое говно на java web start, и оно пердя и тормозя даст доступ к консоли сервера.
          Выглядит это так
          https://nixtux.ru/wp-content/uploads/2021/08/2021-08-25_13-47.png

          Провайдер протянул туда кабель с SFP (видимо оптику, но это не точно). По одному VLAN передает Интернет, а по другому у него канал с офисом (в офисе тот же провайдер, ну и там MPLS видимо или хз). Это стоит денег.

          Кабель воткнут в микрот, который ему пришлось купить, и поставить. В микрот же воткнуты витухи от серверов, которые пришлось арендовать у ДЦ.

          Ну а дальше настраивая vlan на гипервизоре и микроте можно выдавать IP каждой виртуальной машине, и настраивать между ними маршрутизацию. И не забыдь настроить мониторинг рейдов.

          Так что купить нужно
          1. Интернет от провайдера
          2. Вероятно, хардварный роутер если IP и серверов много, но можно обойтись и софтварным: можно купить софтварный микрот (он ставится на виртуалку), можно бесплатно сделать роутер на виртуалке на прыщах или BSD, есть говно с вебмордой: pfSense, итд.
          3. VMWare ESXI, если ты ее хочешь. Но можно поставить прыщи бесплатно, или hyper-v core тоже бесплатно.
          Ответить
          • Спасибо.

            А допустим у меня 30 серверов и 1 белый ipv4 адрес, то кто будет заниматься распределением трафика на сервера? Роутер? Он выдержит такое трафло?
            Считаем, что канал выдерживает.

            Далее, как сделать, чтобы сервер X имел один и тот же внутренний IP-адрес, даже если его перевоткнуть или роутер перезагрузить? Или это мне не нужно?
            Ответить
            • >то кто будет заниматься распределением трафика на сервера? Роутер?

              Да.

              > Он выдержит такое трафло?
              Смотря что за роутер. У нормальных вендоров есть результаты тестов:
              https://mikrotik.com/product/l009uigs_rm#fndtn-testresults

              Но на 30 серверов тебе, вероятно, нужен серьезный девайс, мб что нить из серии 4000й серии циско.

              >как сделать, чтобы сервер X имел один и тот же внутренний IP-адрес

              На сервере ты устанавливаешь внутренний IP адрес из RFC1918, например 172.16.1.2

              На роутере ты делаешь Full cone NAT на этот адрес, перебрасывая весь трффик с определенного публичного IP на этот внутренний. Таким образом, сервер даже не знает, что у него публичный IP.

              Можно объеденить все порты роутера в один мост (сделать их L2 портами в терминологии киски) и все твои сервера окажутся в одной сетке.
              Но затем лучше разделить их на VLANы. Как минимум, гипервизоры нужно вынести в отдельный VLAN, и систему бекапа тоже.
              Ответить
    • Как-то можно реализовать operator без auto? То есть самому реализовать функцию и вернуть -1, 0, 1?
      Ответить
      • какой оператор? сравения?
        Ответить
        • Блядь ебануй хуйз удалил
          Ответить
          • А я предупреждал, что на хузе нельзя нажимать кнопку редактирования, если в тексте есть знаки < и >.

            Зато XSS не пройдёт!
            Ответить
            • Не нажимай на кнопку
              Не совершай ошибку
              Ответить
              • Нажми на кнопку - получишь в результат
                И твоя мечта осуществится
                Нажми на кнопку, но что же ты не рад
                Тебе больше не к чему стремиться
                Ответить
        • <=>
          Ответить
          • Чтобы сделать goatse нужно много тренироваться. Без подготовки это опасно
            Ответить
            • Это не гоатсе, это летающая тарелка
              Говно ты, а не перловик
              Ответить
        • const bool operator < ( const Pipetochka &p ) const{
                  return ..
              }

          ты про такое?
          Ответить
          • Нет, про такое:

            int operator <=> (const Pipetochka &p) const{
                    return ..
                }
            Ответить
            • ток не Int, а сорт ордеринг.
              Неужели так не работает??
              struct Foo
              {
                  int foo;
              
                   std::strong_ordering operator<=>(const Foo& foo) const
                  {
                      return this->foo <=> foo.foo;
                  }
              };
              Ответить
    • Какой язык программироания самый плохой? Какой язык вы никогда не стали бы использовать?
      Ответить
      • Malbolge.
        Ответить
        • Слушай, ну с эзотерическими языками всё понятно. Это всё равно, что спрашивать "кто победит на президентских выборах в России через год"
          Ответить
          • А от остальных не могу зарекаться.

            Разве что Swift вряд ли буду использовать, да и то не из-за самого языка, а из-за скудности реализации.
            Ответить
            • А если тебе нужо будет писать под ГейОС?
              Ответить
              • Зачем? Это же зашквар.
                Ответить
                • А под MacOS не зашквар?

                  У меня пол конторы макоёбов. Впринципе, почти все прыщебляди мигрировали на мак с убунты в какой-то момент.

                  На самом деле разработка под ГейОС полезна для расширения кругозора.

                  * ObjC сам по себе экзотичекий язык. За свифт не знаю.
                  * Идея диспатчинга сообщий (в компилируемом, статически ипизированном языке!) необычна
                  * ARC тоже интересный. И нет, это не совсем как шарик в крестах и Rc в расте, но очень похоже.
                  * Сторибилдеры и сигвеи это интересный способ построения гуя.
                  * Auto Layout вообще довольно пиздатый. Был семь лет назад. Сейчас не знаю.

                  В общем это не вордпресс
                  Ответить
                  • Сториборд, а не сторибилдер

                    И вообще из того, что ты перечислил, только автолейаут может вызвать какой-то интерес.

                    Сообщение прямо как привет из 2012
                    Ответить
                    • >2012
                      ты говоришь вот с этим человеком: https://govnokod.ru/28837#comment1170110
                      Ответить
                    • >Сообщение прямо как привет из 2012


                      сказал десктоп, который принёс на ГК euphoria
                      Ответить
                      • > euphoria
                        ?????
                        Ответить
                        • https://govnokod.xyz/_27055/#comment-573983
                          Ответить
                        • Euphoria is an American teen drama
                          Ответить
                          • А ещё эйфория была в «Трассе-60».
                            Ответить
                            • (base) koko@UNIT-HOEJOENIET:~$ apt search euphoria
                              Sorting... Done
                              Full Text Search... Done
                              elpa-color-theme-modern/stable 0.0.3-3 all
                                deftheme reimplementation of classic Emacs color-themes
                              
                              rss-glx/stable 0.9.1-6.3+b1 amd64
                                Really Slick Screensavers GLX Port
                              Ответить
                          • с пидорами и старлетками под 30 в ролях драматинов
                            Ответить
                      • мне сложно проследить логическую связь

                        эйфория при всех своих потенциальных плюсах умершее окаменевшее ненужно

                        у эппла ты же можешь взять свежий швифт и получить акторов и декларативный ui, а в пререлизном и вовсе макросы и пародию на боров чекер

                        зачем вообще вспоминать про абоминацию под названием obj c, которая сегодня нужна только полутора землекопам, у которых edge case торчит из ширинки?
                        Ответить
                        • Сколько месяцев отделяет теорию заговора от чистой правды потенциальные плюсы от абоминации?
                          Ответить
                        • > умершее окаменевшее ненужно

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

                                последняя стабильная версия опенэйфории вышла всего лишь два с половиной года назад, так что по меркам языка тридцатилетнего возраста даже не завонялось

                                в таком случае я меняю аргумент на обж си древнее говно, а вот эйфория стильно-модно-молодёжно
                                Ответить
            • Поясните мысль, в чём скудность
              Ответить
              • Да как-то не распространён он на нормальных платформах.
                Ответить
                • Под лялих ты можешь наколдовать себе на Свифте уэб-сервер
                  Ответить
      • Jawa, Cotlin и подобные.
        Ответить
      • Любой строковой типа bat/bash для хоть чего-то сложнее подстановки параметров.
        Ответить
        • у bat/bash есть забавный эффект: можно на нём писать двадцать пять лет, и всё равно без мана не мочь ничего написать
          Ответить
          • У bat слишком много зависимостей: от версии, от наличия в системе утилит («внешних команд»), от окружения. Слишком много всего нужно проверять, чтобы не распидорасить систему. Изначальный досовский bat был тупым, это потом уже в cmd.exe в NT стали добавлять команды, стыренные из 4dos/4nt/ndos.

            Ещё эта невнятная экранировка командной строки, которая может работать по-разному в разных режимах, так что можно обломаться с обработкой файла O'Henry.txt...

            Впрочем, и в bash можно получить улюлей, выполнив команду rm -rf /$petuh, если petuh окажется пустой строкой.
            Ответить
            • Чем бат отличается от шаббата?
              Ответить
            • "${petuh:=default}"
              Ответить
              • export petuh=" lal"
                Ответить
                • Какой багор )))

                  Как теперь всё восстановить?
                  Ответить
                  • sfc /scannow
                    Ответить
                  • chmod -x $(which chmod)
                    Ответить
                    • Я каждый день бекаплю весь /usr/bin и /bin как раз на такой случай.
                      Ответить
                      • какой тулой?
                        Ответить
                        • cp
                          Ответить
                          • chmod -x $(which cp)
                            chmod -x $(which chmod)

                            чего не rsync?
                            Ответить
                            • Ах ты ж сука! Как же я тебе из бекапа восстановлюсь?
                              Ответить
                              • Выкуси!

                                /home/guest/backup2023-08-31/bin/cp /home/guest/backup2023-08-31/bin/cp /bin/cp
                                Ответить
                                • ты реально вручную бекапиш?

                                  ты не умеш в rsync и unison?
                                  Ответить
                                  • Нет, не вручную. У меня крон стоит.
                                    Ответить
                                    • а бекап на той же самой машине? Нарушаеш правило 321?


                                      Кстати, в нормальных ОС типа Солярис есть возможность проверить хеши всех бинарей и восстановить их, почти как sfc /scannow.

                                      А в прыщедистрах неу
                                      Ответить
                            • Не так надо:
                              which -a cp | xargs chmod -x

                              Вдруг у него несколько копий cp в разных директориях, а ты удалишь только первую?
                              Ответить
                              • тогда уж так
                                find / -type f -executable
                                Ответить
                                • А как в таком случае восстановиться?
                                  https://unix.stackexchange.com/questions/83862/how-to-chmod-without-usr-bin-chmod
                                  Вроде ни один совет не должен работать
                                  Ответить
                                  • загрузи предыдущий снапшот zfs и..

                                    а, я забыл
                                    это же прыщи, а не солярк
                                    у вас так нельзя
                                    Ответить
                                    • Не каждому знакомо так близко видеть миражи.

                                      https://www.youtube.com/watch?v=NtSt4lKeLsQ
                                      Ответить
                                  • Если у ld-linux.so скинуть атрибуты, то кранты.

                                    Останется только придумать, как высрать исполнимый файл текущим шеллом, не прибегая ни к каким внешним командам.
                                    Ответить
                                    • Нужно написать альтернативный прыщешелл, у которого будет специальная команда для восстановления. И пользоваться только им.
                                      Ответить
                                      • или загрузиться с флерши
                                        Ответить
                                        • А как?
                                          Ответить
                                          • вставить флешку, загрузить емерджнси шел, и исправить

                                            а можно даже еще проще: зайти в меню бутлодера, подшаманить там опции маунта рута и/или передать bash как init, и в ту сторону копать
                                            Ответить
                                            • А если нет USB входа?
                                              Ответить
                                              • зайди в меню груб, загрузи early user land, и там прикрути свою файловую систему со спец опцией которая не проверяет executable bit
                                                Ответить
                                                • FAT сейчас Линукс именно так и монтирует, потому что атрибута «исполнимый» в этой системе нету.
                                                  Ответить
                                                  • хаха
                                                    файловая система называется ЖЫР
                                                    Ответить
                                    • А как высрать, если даже echo не работает?
                                      Ответить
                                    • А если PKUNZIP.ZIP?
                                      Ответить
    • The first Linux product sold was an extension of the Linux distribution Slackware, which was delivered on 40 floppy disks
      Ответить
    • забавно, как сначала всех пересадили на горизонтальные мониторы, а потом начали придумывать в редакторах всякие centered layout
      Ответить
    • Мужчина помог раку-отшельнику найти новый дом
      Ответить
    • https://twitter.com/pepelsbey_dev/status/1692939614636343513

      «Хуиттер» мумулирует псевдокласс CSS :hover, вешая обработчик на блок и меняя в реальном времени инлайн-стиль жопоскриптом.

      А вы думали, почему он тормозит.
      Ответить
    • багор с kdbx: keeweb базу открывает, а сохранять не хочет. у каких-то записей проблемы с датами.

      пришлось экспортировать на ноуте данные и потом делать импорт в новую чистую базу
      Ответить
    • Перекат!

      https://govnokod.ru/28840
      https://govnokod.xyz/_28840/
      Ответить
    • my ~/bin directory contains over a thousand scripts, almost all of which I wrote myself.
      Ответить
    • Ученые выяснили, что причиной радиоактивности баварских кабанов являются атмосферные испытания ядерного оружия
      Ответить

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