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

    0

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

    #1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
    #2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
    #3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
    #4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
    #5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
    #6: (vanished) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: (vanished) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
    #11: (vanished) https://govnokod.xyz/_25436
    #12: (vanished) https://govnokod.xyz/_25471
    #13: (vanished) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
    #32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
    #33: https://govnokod.ru/26449 https://govnokod.xyz/_26449

    Запостил: gost, 28 Февраля 2020

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

    • Доброе утро.
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Публичный сервис, сайтцы какие-нибудь хостятся?

          Именно поэтому я за «Cloudflare», кстати.
          Ответить
          • показать все, что скрытоvanished
            Ответить
          • Да vps'ки под скан почти мгновенно попадают, у меня уже в первый день кто-то тестил всяких рутов да админов.
            Ответить
            • Под лёгкий скан по 21/22 портам — да, сейчас весь IPv4 сканируют все кому не лень. А вот чтобы целенаправленно искали четырёхзначные порты — это надо попасть к кому-то в отдельный списочек. Впске с NGK уже года полтора, и до сих пор никто не стучится.
              Ответить
              • Зато если вдруг понядобится список популярных логинов можно не искать по интернетам, а взять из логов.

                Удобно.
                Ответить
      • Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за "Именно по этому я за рекурсию"""""""""""""""""""""""""""""""""""""""" "
        Ответить
    • Я за «OSU!».
      https://www.youtube.com/watch?v=lBmbFGkIOZw.
      Ответить
    • https://www.youtube.com/watch?v=fZ-8DkViWok
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Ух, пидор!

        >>>
        Has anyone conditionally used CryptoKit? When I try to use it,
        guarded with `if #available(iOS 13, *)`, it produces a dyld
        “Library not loaded” error. And I can’t manually add it to my
        build phases either because it doesn’t show up as an option.

        Тьфу, ну что за нежные создания эти пидоры! Опции у него нет. Вот в наше время наших крестах нет никаких «build phases», понадобилась либа — сам её компиль и проверяй, чтобы все байтики на место легли. Это вам не это!
        Ответить
        • Ты не понял.

          CryptoKit появился только в iOS13, а чувак поддерживает и более старые версии оси.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Да, именно.
              Он добавил CryptoKit в проект, в котором Deployment Target ниже, чем версия оси, в которой этот CryptoKit появился. Почему-то он не может добавить CryptoKit в проект (старая версия XCode? хуй знает почему), иначе смог бы выставить для фреймворка статус Optional, это можно сделать, как оказалось, и в фазах сборки.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • > Он добавил CryptoKit в проект
                  > Почему-то он не может добавить CryptoKit в проект
                  - по пятницам я Черномырдин. Имелось в виду, что он-она не может почему-то добавить фреймворк в build phases. Что мешает его добавить в Linked frameworks и сделать его optional, я не знаю. Наверное, потому что attempted suicide rate among trans people is something like 45%
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Так сходу не скажу, не помню, когда в последний раз делал Optional dependency.

                      По идее, все вызовы из этой либы надо будет оборачивать в подобие
                      if #available(iOS 13, *)
                      , тогда будет работать, иначе даже не скомпилится. Но надо проверять.
                      Ответить
                    • В общем, всё очень забавно.

                      CryptoKit отдельно в проект добавлять не надо, достаточно просто написать
                      import CryptoKit
                      - при наличии достаточно свежей макоси и икскода, разумеется. Потом можно взять функцию из этой либы, обмазать её if #available и запустить проект с Deployment targer = 12.0 на, например, симуляторе с той же 12-ой осью.

                      Реально выходит, что “Library not loaded”))) Правда, потому что "Reason: no suitable image found. Did find:
                      /System/Library/Frameworks/CryptoKit.framework/CryptoKit: mach-o, but not built for iOS simulator". На девайсе щас не могу проверить.

                      И это реально багор: фреймворк типа есть, а сделать его Optional хуй знает как, потому что в проекте он не фигурирует))
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • https://developer.apple.com/documentation/cryptokit

                          iOS 13.0+
                          macOS 10.15+
                          Mac Catalyst 13.0+
                          tvOS 13.0+
                          watchOS 6.0+

                          Поддерживается всё, что придумала надкушенная компания.
                          Ответить
                        • cd /System/Library/Frameworks/CryptoKit.framework
                          lipo -info CryptoKit

                          Non-fat file: CryptoKit is architecture: x86_64

                          Это системный макосовский. Надо вспомнить, что там за системная либа для айосных фреймворков, и посмотреть там, но мне щас лень)
                          Ответить
    • https://cs9.pikabu.ru/post_img/big/2020/02/28/7/1582889773172233049.jpg
      Ответить
    • https://habr.com/ru/post/490378/
      Знатная психоза.

      …зомбирующий повторяет: «Это эффективно и удобно!»…
      Ответить
      • Перед прочтением нужно скрыть жирный текст.
        Ответить
        • Жирный текст — это очень эффективно, продуманно и удобно!
          #вореции
          Ответить
      • показать все, что скрытоvanished
        Ответить
      • показать все, что скрытоvanished
        Ответить
      • > эффективно и удобно

        Статья не от cisco случаем? Хотя там обычно помогали сохранять инвестиции...
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Это как в статье про одно из обновлений у них - "обновления повышают безопасность, надёжность и удобство блаблабла... после установки данного обновления в некоторых ситуациях компьютер может перестать загружаться, некоторые приложения из стора перестанут работать - переустановите их, а ещё мы проебали итальянскую локализацию для некоторых прог".
            Ответить
            • Это ещё, считай, повезло.
              https://habr.com/ru/post/425459/
              >>> Обновление до Windows 1809 (иногда) уничтожает все файлы в профиле
              Именно поэтому я снёс нахуй службу обновлений и обновляюсь вручную.
              Ответить
              • Какой багор )))
                Ответить
              • >Именно поэтому я снёс нахуй службу обновлений и обновляюсь вручную.

                Именно поэтому я перешёл на Линукс. И там тоже отключил автоапдейт нахуй.

                А вообще система автообновлений мне напоминает уязвимость, позволяющую удалённое выполнение кода.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • С помощью менеджера я могу обновить только нужную мне либу. Или пакет.

                    Допустим только ядро. Или openssl (закрыть очередную дыру). Или Гiгефох.

                    Ещё могу даунгрейднуться обратно.

                    Были и такие случаи, когда в новых билдах ядра появлялись странные баги. Тогда я просто откатывался на старую версию.
                    Ответить
              • Кстати, это вообще пиздец, если вдуматься.

                Чтобы удалить какой-нибудь системный файл из системной папки (%WINDIR%, например), пользователю надо ТРИ раза нажать на подтверждение: сначала общий запрос на удаление, потом UAC, а потом — запрос на удаление системного файла. ТРИ окошка для удаления одного файла!

                И нет, я не к тому, что это плохо (наоборот, это, в общем случае, довольно полезная фича: если бы я к ней прислушался — не сидел бы сейчас на полусломанной системе, бля⁢…).
                Я к тому, что какое-то обновление, которое без спросу качается и без спросу и возможности отказаться устанавливается, так же тихо и бесшумно удаляет какие-то там файлы.
                Блядь, в винде есть очень, очень крутая фича — «Корзина» называется! Ну используйте, используйте её — пусть всё, что удаляет очередное обновление или ещё какая-нибудь системная хуйня, оказывается во временной папочке в «Корзине», она для этого создана, ёбанарот!
                Но нет, нахуй надо, лучше мы просто молча чего-нибудь удалим, в лучших традициях нетестированной свободушни, которую пишет один пердолик.

                Говно.
                Ответить
                • Какие-то обезьяны систему проектировали.

                  Хуже только сервис «itunes», который может дистанционно по ошибке что-нибудь стереть из твоей фонотеки или что-нибудь добавить.
                  Ответить
                  • В «iOS» был баг, что можно было слышать голос до того, как абонент поднимет трубку: https://amp.rbc.ru/rbcnews/technology_and_media/29/01/2019/5c4face99a79475bef0f132d
                    Ответить
                    • Какой багор )))
                      Ответить
                    • Я уж подумал, что Эппл тогда сломала SIP, а на деле "всего лишь" FaceTime. Вот если бы они в сотовой связи такую херню провернули, вот это был багор багоров.
                      Ответить
                  • Слово «пыхомакака» придумали на «Говнокоде»?
                    Ответить
                    • Сейчас попытался погуглить. Одно упоминание в «Дваче», одно в «ЛОРе», одно в «Гейдеве». А мне это слово казалось общепринятым. Видимо, у меня говнокодовская деформация.

                      Так и вореции буду считать общепринятыми...
                      Ответить
                      • >Так и вореции буду считать общепринятыми...
                        гейдев
                        Ответить
                • Меня на ГК сильно минусовали за критику автообновлений.

                  >https://govnokod.ru/17151#comment255940
                  Эпик, когда с автообновлениями оперы неожиданно приехал хром.

                  https://govnokod.ru/19683#comment319390
                  Сёма и хром

                  https://govnokod.ru/20265#comment336237
                  Опять в хроме с автоапдейтом говно приехало

                  PS: а вот ещё в 2012 году, я критикую автообновление софта: https://govnokod.ru/9604#comment131983
                  Ответить
                • >Кстати, это вообще пиздец, если вдуматься.
                  Так я никогда и не занимал иной точки зрения.

                  1024-- 22.11.2014 14:22 # 0
                  А мне автообновления плохого не делали. Ну разве что Windows 8 надо вежливо, но настойчиво попросить не перезагружаться автоматически.
                  Зато открываю я календарь, а там уже и зона новая, и предупреждение о переводе стрелок. Я ничего не трогал, а уже всё хорошо, всё работает.


                  3.14159265 22.11.2014 14:34 # 0
                  Есть такой принцип - работает, не трогай без особых на то причин.
                  Если в апдейтах нет фиксов критических ошибок или новых киллер-фич, то апдейтится не стоит.

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

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


                  https://govnokod.ru/17148#comment255690

                  I told ya.
                  Ответить
                  • > бета-тестером

                    Ну, к слову, у меня сейчас накопительный апдейт десятки был показан как optional и его какое-то время можно не ставить пока отважные хомячки его на себе тестируют.
                    Ответить
              • Вытиранам доступно обновление до Windows 1812
                Ответить
            • показать все, что скрытоvanished
              Ответить
            • Такое можно написать для любой программы. Нельзя протестировать программу/обновление на всех конфигурациях.
              Если бы за неправду отрубали бы голову, все, кроме Apple, писали бы как-то так.

              Свободушня вовсе в каждой программе пишет капсом "ЕСЛИ ЧО, ТЫ САМ ЛОХ. ПОВЕРИЛ В НАШУ ПРОГРАММУ. АЗАЗА ЛОШАРА. НИКТО УСТАНАВЛИВАТЬ НЕ ПРОСИЛ. ТЫ САМ ОТВЕЧАЕШЬ ЗА ВСЁ, ДЕБИЛ".
              Ответить
              • Факт в том, что у «Десятки» катастрофически упало качество тестирования. «CI/CD», непрерывные обновления, вот это вот всё.
                https://habr.com/ru/post/427485/.
                https://habr.com/ru/news/t/468585/.
                >>> Ещё в 2014/2015 году в Microsoft работала целая команда, которая занималась тестированием операционной системы, билдов, обновлений, драйверов и другого кода. Команда состояла из нескольких групп, которые проводили тесты, ежедневно встречались и обсуждали баги. Продукты тестировались и вручную, были и автоматизированные тесты. Если все они завершались успешно, команда давала добро на интеграцию кода в Windows.
                >>> Microsoft уволила почти всю команду тестирования Windows, поскольку по новой стратегии фокус смещался с трёх разных систем — Windows, Windows Mobile и Xbox — на одну систему. Бóльшую часть тестов компания перенесла на виртуальные машины.
                Tl;dr: теперь тестерами работают не только инсайдеры, но и вообще все пользователи, отправляющие в M$ телеметрию. Отдел тестирования не нужен.
                Ответить
                • Так ведь нелохи телеметрию отключают, ибо нефиг лишний трафик гонять.
                  Ответить
                  • Нелохов слишком мало, чтобы M$ на них обращала внимания (да и то, даже так она с ними рагулярно борется). А остальные прилежно работают тестировщиками винды и ещё и платят за это.
                    Ответить
                    • Ну и правильно. Доктор Менгеле тоже опыты на людях ставил.
                      Ответить
                • Потому что у них теперь индус во главе, который, кроме своей ажуры сраной, ничего не знает и не хочет.
                  Ответить
                • показать все, что скрытоvanished
                  Ответить
              • >Свободушня вовсе в каждой программе пишет капсом "ЕСЛИ ЧО, ТЫ САМ ЛОХ. ПОВЕРИЛ В НАШУ ПРОГРАММУ. АЗАЗА ЛОШАРА. НИКТО УСТАНАВЛИВАТЬ НЕ ПРОСИЛ. ТЫ САМ ОТВЕЧАЕШЬ ЗА ВСЁ, ДЕБИЛ"

                Свободушня при этом не догадывается стирать юзер-файло.

                > ПОВЕРИЛ В НАШУ ПРОГРАММУ. АЗАЗА ЛОШАРА
                По вопросам веры в церковь. Свободушня говорит, вот программа, вот сорцы. Не нравится — допиливай сам или найми красноглазиков.
                Ответить
                • Справедливости ради, некоторая таки догадывается: https://web.archive.org/web/20191015125002/https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac (оригинал на «Гитхабе» показывает розового единорога и «This page is taking way too long to load». Прямо как на ГК!).

                  Той же справедливости ради, свободушню не разрабатывают корпорации с миллиардными доходами и триллионной капитализацией. А пользователи не платят за свободушню неплохие деньги.
                  Ответить
                  • Так а что это за неизвестная говнятина?
                    Где эпичные баги в systemd и lunix-core?

                    Притом обычно в релизы софт попадает с какой-то задержкой. Бета-тестят арчеводы, генушники, дебиан-сидеры, за ними юзеры свежей федоры.

                    И только после этого оно попадает в редхаты и убунты.
                    Ответить
                    • Это свободушня, которую поздней ночью писал один заебавшийся пердолик и закоммитил её не глядя.
                      Собственно, обновления от «Microsoft» теперь находятся именно на таком уровне.
                      Ответить
                      • Это просто какое-то рандомное гавно с гитхаба.

                        Чтобы подобный кал попал в стабильный дистрибутив нужно как-то очень сильно постараться. А чтобы он попал в дефолтный инсталл, так и вовсе маловероятно.

                        Так-то и в винде можно поставить глючную программу, стрирающую файлы.
                        Ответить
                        • Вовсе нет: https://wiki.debian.org/ru/Bumblebee. До дистрибутива, разумеется, коммит с объёбом не дошёл.
                          Ответить
                          • >Пользователям, желающим использовать проприетарный драйвер nvidia (потребуется активировать разделы contrib и non-free в sources.list):

                            Не такое уж оно и свободное. Свободные дрова лежат в кернеле.
                            А там Линус на страже периметра.

                            >sudo apt-get install bumblebee-nvidia primus

                            Ещё и попердолиться нужно чтобы его поставить.
                            Ответить
                      • показать все, что скрытоvanished
                        Ответить
                    • показать все, что скрытоvanished
                      Ответить
                • показать все, что скрытоvanished
                  Ответить
                • > не догадывается стирать юзер-файло
                  не догадывается и стирает

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

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

                    Поясните мысль.
                    Это такие особые сорцы свободушни, «которые после сборки делают какую-то питушню»?
                    Ответить
                    • Это на питушарской?
                      Ответить
                    • Нет, к сожалению. Не особенные. Это любые сорцы.

                      Очень сложно, а может и невозможно доказать, что код не делает какую-то питушню.
                      Запуск приложения помогает отследить только ту питушню, которая проявляется конкретно во время этого запуска. Питушня может жить годами в коде и проявляться при специфических условиях (например, тонкая многопоточная питушня, где UB происходит при определённой кобенации выполнения 3 и более потоков).
                      Анализ кода людьми выявляет только ту питушню, о которой люди сейчас знают. Ту, о которой они не знают, он не выявляет (например, JSFuck. до этого считали безопасным оставить несколько символов пользователю).
                      Ответить
                      • Приведи реальный пример свободушни делающей питушню.
                        Ответить
                        • Приведи реальный пример питушни, делающей свободушню.
                          Ответить
                          • вообще все текут, не успешно, которые белки-истерички кругого кода. У виноват, что пыхомакака» придуматься.

                            Ксамарка №1 овсяного Банка по ссылка попаскриптеры, а войды? Я не джейсона и не записии, и нихуя не понятно что кто-то любят физический файлах: винды еще удоволяет снизить из-за чего прекрасного
                            https://en.cppreference в разумеется, в остальные билд-фазу "Link binary with HTML! Какой секьюрити )))

                            Severator()(int, int y) {
                            for(int x, int y)
                            The Hypertext Jeoparator-i;ascii-numeric storage/tapakah/webdesign.htm
                            Ответить
                        • Подойдёт любой код с багом до того, как его нашли.
                          Ответить
              • >ЕСЛИ ЧО, ТЫ САМ ЛОХ. ПОВЕРИЛ В НАШУ ПРОГРАММУ. АЗАЗА ЛОШАРА. НИКТО УСТАНАВЛИВАТЬ НЕ ПРОСИЛ. ТЫ САМ ОТВЕЧАЕШЬ ЗА ВСЁ, ДЕБИЛ

                EULA напомнило. Там тоже КАПСОМ ВСЁ.

                LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. TO THE EXTENT NOT PROHIBITED BY LAW, YOU CAN RECOVER FROM MICROSOFT ONLY DIRECT DAMAGES UP TO THE AMOUNT YOU PAID FOR THE APPLICATION OR $1.00, WHICHEVER IS GREATER. YOU WILL NOT, AND WAIVE ANY RIGHT TO, SEEK TO RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES FROM MICROSOFT.

                МЫ ТЕБЕ ВЕРНЁМ ТВОЙ ПАРШИВЫЙ ДОЛЛАР, И ТО ЧИСТО ЧТОБЫ ПОРЖАТЬ С ЛУЗЕРА.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                • Так я потому капсом и написал. В свободушне лицензия обычно маленькими буквами, но про то, что ЛОШАРЕ придётся СОСНУТЬ, и он САМ СЕБЕ ЗЛОБНЫЙ БУРАТИНО, всегда капсом.
                  Ответить
                  • У «Microsoft» раньше было абсолютно так же: http://download.microsoft.com/documents/useterms/Visual%20Basic%20Enterprise_6.0_English_ 11762fc4-f3b9-4bf5-a513-b4a9b76b4f60.pdf.
                    Теперь часть про то, что лошаре придётся соснуть, и он сам себе злобный буратино, выделена жирным шрифтом: https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_English.htm.
                    Ответить
          • Ой, да этой хуйнёй сейчас страдают вообще все, от зубных паст и до овсяных печеньев.
            Реальный пример: https://lkray.ru/brand/posidelkino (https://lkray.ru/sites/default/files/pismo_o_liderstve_2018_0.png).
            >>> *Бренд "Посиделкино" – марка №1 овсяного печенья в России по уровню продаж в натуральном выражении по данным розничного аудита AC Nielsen за 2018г.
            Эта «AC Nielsen», например, занимается исключительно составлением таких вот писулек всем, у кого есть деньги и кто готов с ними расстаться. Целая отрасль наебизнеса, бля.
            Ответить
            • Интересно, существует ли статистика Nielsen (того самого Nielsen) по ценным мнениям ватников о Nielsen (том самом Nielsen)?
              Ответить
          • > проведенные по заказу Microsoft
            Как будто что-то плохое.
            Заказчика исследования не вытягивают вперёд, иначе репутационные потери и т.п.
            Ответить
            • > не вытягивают вперёд

              Ну как сказать... Классическая статистика же - показать те факторы, которые вытягивают вперед, промолчать о невыгодных.
              Ответить
              • Есть три вида лжи:
                1. Обычная ложь.
                2. Наглая ложь.
                3. Статистика.
                Ответить
                • В «PHP» ничего этого нет.
                  Ответить
                  • Обычная ложь там всё-таки должна быть.
                    Ответить
                    • В «PHP» есть несколько способов вернуть «ничего»: false, null, арифметический ноль, пустая строка, пустой массив и строка, приводящаяся к арифметическому нулю:
                      https://www.php.net/manual/ru/types.comparisons.php

                      Чтобы сообщить о негативном результате операции, функция может вернуть одно из перечисленных значений, причём в разных случаях разное. Именно поэтому результат функции нужно сравнивать с эталонным значением не с помощью знака ==, а с помощью знака ===.

                      Именно поэтому я за «PHP».
                      Ответить
            • показать все, что скрытоvanished
              Ответить
              • Именно поэтому я за «хуёвые алгоритмы».
                Ответить
              • Джаваскрипт быстрее С++ *

                * при использовании регулярных выражений и старых версий компиляторов
                Ответить
              • > примерно одинаково
                biased c++er.

                В C++ код выполняется, в основном, как есть. В JS больше возможности оптимизации.
                Плохой алгоритм в C++ будет копировать массивы, и компилятор будет смотреть на это со слезами, но компилировать. В JS такой питушни не будет, да и жид соптимизирует код.
                Ответить
                • Неверно. Макака напишет «f([...arr])» —и «JS» спокойно будет копировать байтики.
                  А в «C++» потихоньку вводят всё больше и больше обязательных по Стандарту оптимизаций — в отличие от «JS», где всё это неявно и необязательно.
                  Ответить
                  • >больше и больше обязательных по Стандарту оптимизаций — в отличие от «JS», где всё это неявно и необязательно.

                    Плюсанул.
                    Но во-1 js — скриптуха. Сравнивать её перфоманс с нативным, это как бегуну соревноваться с одноногим инвалидом.

                    Во-2, в js завезли asm.js и пробуют сделать wasm.

                    Но что такое asm.js? Это по хитрым правилам скопмиленные в js сишки/кресты.
                    Из которых потом генерится оптимальный натив-код.
                    Ответить
                • > жид соптимизирует код

                  Во влажных мечтах... Да, у него больше инфы о типах и значениях, чем у обычного конпелятора. Но, с другой стороны, он работает в постоянном цейтноте, поэтому хуяк-хуяк и на исполнение. А от кода нехороших скриптушков, которые используют демоническую типизацию на всю катушку, ему вообще не по себе: "опять эта макака строку вместо числа передала да ещё и поле в объект посреди работы присунула, придётся всё заново переделывать".
                  Ответить
                • > В C++ код выполняется, в основном, как есть.
                  - чота ржу.

                  https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options

                  Покажи, пожалуйста, можно ли движку js нахуячить в щачла столько опций, или "жид" всегда умнее погромиста, а потому нинужно?
                  Ответить
                  • Конечно же, жид умнее программиста.
                    1. Жид быстрее думает и делает.
                    2. Жид больше знает про то, как в реальности исполняется код.
                    Ответить
                    • Программисту вообще вредно думать, если думать, то:

                      - можно долго делать задачу и хозяин будет недоволен и вечером не насыпет в миску Доширака
                      - вечером не останется моральных сил на гыгыканье с тянками
                      - можно случайно сделать хорошо и оказаться нинужным
                      Ответить
                      • >> можно случайно сделать хорошо и оказаться нинужным

                        Именно поэтому я за «PHP».
                        Ответить
                      • Почему Доширак воспринимается как что-то негативное и недостойное?
                        * Доширак - это недешёвая лапша, доступная только программистам со стабильным доходом.
                        * Доширак - это экономия времени, когда тебе не хочется ждать курьера или тратить время на готовку.

                        Единственное, почему можно плохо говорить о Дошираке - его влияние на здоровье, но эта тема плохо раскрыта в фольклоре сраных ИТ-питушков. У сраных ИТ-питушков считается нормальным пить пиво как не в себя и гордиться этим.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Такто да, 60-грамовая пачка этого сухпойка стоит как полкило обычных мокорон.
                            Ответить
                          • Да. Вы таки сомневаетесь в этом?
                            Если правильно помню, он стоит рублей от сорока за 100г - 400-600 ₽/кг (5-8 €/кг).
                            В "Ярче" можно купить бомж-спагетти по 12 рублей - за 30 ₽/кг (0.40 €/кг).
                            Спагетти от российского качества до европейского качества - за 150-200 ₽/кг (2-3.5 €/кг).

                            За стоимость Доширака можно взять столько же спагетти и 10-20г сёмги!
                            Ответить
                        • Он вкусный зараза, но после него немного живот начинает крутить.
                          Ответить
                          • Если сухим есть, вроде нормально. Специально для этого держу Квисти и Роллтон.
                            А вот солёный бульон как-то приедается, и после него не очень.
                            Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • То, что для школоты - прикольная ночная вечеринка, для миллениала или хера - сука бессонная ночь пожирания чёртова яда.
                              Ответить
                        • Ну подставь вместо Доширака любой свой любимый корм, если у тебя так бомбит, чо.
                          Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • Нет. Доширак - дорого, вредно и приедается. Держу с чипсами чисто для случаев, когда хочется похрустеть.
                              Ответить
                              • Тебе не 13-лет случайно?
                                Ответить
                                • Вроде нет я не такой старый, а почему Вы спрашиваете?
                                  Ответить
                              • В детстве жрал сухую мивину, а сейчас лучше чипсами похрущю. Но дома обычно такую еду не держу, ибо сразу хочется схавать.
                                Ответить
                                • Если этой питушни нажраться, то уже не будет хотеться. У меня лежит, изредка открываю. Как-то раз вроде даже у моих чипсов успел выйти срок, да и у лапши тоже.

                                  Поэтому с возрастом обеспеченный народ переходит на вино, оливки и сыры, чтоб хоть как-то разбавить гастрономическую серость.
                                  Ответить
                                  • Если хоть одну чипсину съесть - хуй остановишься, а потом пачку доедаешь через силу.
                                    Ответить
                                    • Можно подбирать размер пачки (если зарплата позволяет, можно брать в пачках поменьше) или оставлять на следующий день/неделю (что бы ни писали про хранение, там консерванты побеждают время).
                                      Ответить
                                      • > там консерванты побеждают время
                                        Я как-то в пачке нашёл чипсину с плесенью.
                                        Ответить
                                • А сухой собачий корм?
                                  Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Именно в этой среде Андре Жид встретил свою первую любовь — Мадлен Рондо, приходившуюся ему двоюродной сестрой, — и посвятил ей своё первое сочинение, «Записные книжки Андре Вальтера» (фр. Les Cahiers d’André Walter), изданное в 1890 году[2]. В 1891 он сделал кузине предложение, но получил отказ; лишь в 1895 году Мадлен согласилась выйти за него замуж[3].

                        ––––––––

                        их нравы (с)
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Там просто какой-то генератор сестры на странице.
                            Ответить
                          • У Миши Шозанахера раньше вроде был ник типа loh_pidr или я его с кем-то путаю?

                            Точно:
                            https://twitter.com/feels_like_1984/status/398330725042102272

                            P.S. На всякий случай его цифровой айдишник 90647948, значит, постоянная ссылка на профиль такая:
                            https://twitter.com/intent/user?user_id=90647948

                            Если снова поменяет юзернейм, не отвертится.

                            Вот тут реплаи адресованы @loooh_pidrrr.
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • В «Твитторе» можно менять юзернейм. Постоянным остаётся только цифровой айдишник, который используется в API, но на странице не показывается. Раньше цифровой айдишник можно было выковырять из HTML-кода, потому что его какой-то жопоскрипт использовал для запросов к серверу «Твиттора». Теперь чуть сложнее, но всё равно можно.

                                Была история, когда у пользователя https://twitter.com/n (да, с однобуквенным юзернеймом) спиздили учётку и отдавать не хотели. В итоге переименовали спизженную учётку, и он смог заново зарегистрироваться под именем @n, но подписчиков пришлось набирать с нуля.

                                Так вот новый @loooh_pidrrr — это совсем не тот, который был в 2013-м году.
                                Ответить
                            • > Миша Шозанахер

                              Орнул
                              Ответить
                      • Но эта любовь так и осталась платонической — из-за невротического страха Мадлен перед физической близостью

                        ––––––––

                        м-да
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Бля, твиттер это конечно рассадник коммунизма.

                            Мало того, что хипстер себе выбрал "технический" никнейм в духе @waifu_einstein_tzar, так ещё и сверху обмазал всё алиасом вроде "Дзенского мастера".

                            Не туда ответил, ну да пох
                            Ответить
                    • > как в реальности исполняется код

                      Ну тут не поспоришь, кроме jit'а никто не знает, что именно делает код на js. Ни анализаторы, ни ide ни сам программист ни даже аллпх.
                      Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Удобства написания логики на promise-hell'е?)
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Синхронно логику можно и на плюсах написать удобно, если взять последние стандарты. (если шо, я не крестах не ездун, просто как-то зашёл на cppreference в раздел C++17 и не понял, не doc.python.org ли это, ехал авто через авто). Только в брузере не запустится почему-то(
                        Ответить
                        • Да и асинхроннологику через корутины должно быть удобно писать...
                          Ответить
                          • Ты про https://en.cppreference.com/w/cpp/language/coroutines?

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

                            > На жопаскрипте можно легко строить их из JavaScript Object Notation из коробки
                            - это ты с козыря зашёл.
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • Мапа, у которой значения это уник_птр на войды? Я не джедай, но вот тот же борманд, уверен, напишет такую "динамически изменяемую структуру данных" на крестах минут за пять.
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • А как её можно описать НЕ декларативно? О_о

                                    Точечки да, не будет.
                                    Ответить
                                  • > как описать её декларативно

                                    Initializer list'ы в кресты давно завезли. Ну кавычек вских чуть больше будет, да. С точечкой облом, придётся скобки юзать.

                                    З.Ы. Ну и операторов с жидкой типизацией можно добавить для полноты ощущений. Чтобы складывать строки с числами и т.п.
                                    Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                      • // Вложил initializer list тебе за щеку
                                        
                                        using anymap = std::map<std::string, std::any>;
                                        
                                        auto test = anymap {
                                            { "foo", 42 },
                                            { "bar, anymap {
                                                { "x", 0 },
                                                { "y", 0 }
                                            }},
                                            { "baz", "str" }
                                        };
                                        Мусора больше чем в жс, конечно. Но не такой уж и пиздец.
                                        Ответить
                                        • А можно было здесь написать

                                          typedef std::map<std::string, std::any> anymap;


                                          ?
                                          Если да, то как лучше?
                                          Ответить
                                          • Можно и тайпдефом. Просто юзинг лучше читается обычно...

                                            З.Ы. Ну и пример искуственный, само собой. Вместо anymap'а лучше свой класс со слабыми операторами добавить.
                                            Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                          • std::function по идее прокатит.
                                            Ответить
                                          • > делать указатели

                                            Лямблии же есть. Они по значению вполне передаются.

                                            И несложно вместо anymap запилить класс, который будет позволять делать что-то в духе:
                                            auto foo = Scripushnya {
                                                {"x", 42},
                                                {"y", "100500"},
                                            };
                                            
                                            foo["length"] = [](Scripushnya& self){
                                                return self.x + self.y;
                                            }
                                            g["console"]["log"]("%d %d", foo["x"], foo["y"], foo["length"]()) ;
                                            Ответить
                                            • Ну всё, можно пилить браузер. BormandFox
                                              Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • Да тут все текут, не успеваешь планки покупать.
                                                Ответить
                                              • Лямблии в крестах — это тупо приватные классы из одного метода.

                                                https://cppinsights.io/s/b4f8b7d0
                                                Ответить
                                                • А что будет в случае захвата? Я не знаю, как написать пример на этом сайте, чтобы не было "`foo` cannot be captured because it does not have automatic storage duration".
                                                  Ответить
                                                  • Завернуть всё в какую-нибудь функцию, чтобы переменная создавалась в стеке, а не в секции данных.

                                                    int main() {
                                                    
                                                      int x = 42;
                                                    
                                                      auto addx = [x](int y) {
                                                        return x + y;
                                                      };
                                                      
                                                    }
                                                    Результат:
                                                    int main()
                                                    {
                                                      int x = 42;
                                                        
                                                      class __lambda_5_15
                                                      {
                                                        public: 
                                                        inline /*constexpr */ int operator()(int y) const
                                                        {
                                                          return x + y;
                                                        }
                                                        
                                                        private: 
                                                        int x;
                                                        
                                                        public:
                                                        __lambda_5_15(int _x)
                                                        : x{_x}
                                                        {}
                                                        
                                                      };
                                                      
                                                      __lambda_5_15 addx = __lambda_5_15{x};
                                                    }


                                                    https://cppinsights.io/s/87b5e4f8
                                                    Ответить
                                                  • Итого: у класса появляются приватные поля для хранения захватываемых значений, а в месте использования замыкания вызывается конструктор, которому передаётся контекст.
                                                    Ответить
                                                  • Усложним: будем вызывать замыкание в цикле.

                                                    https://cppinsights.io/s/ca7e2376
                                                    Ответить
                                                    • https://gcc.godbolt.org/z/uoZbur
                                                      Какой GCC )))

                                                      Конпелятор вот эту питушню:
                                                      #include<stdio.h>
                                                      int main() {
                                                        for(int x = 0; x <= 42; ++x) {
                                                          auto addx = [x](int y) {
                                                            return x + y;
                                                          };
                                                          printf("%d\n", addx(5));
                                                        }
                                                      }

                                                      Сократил до (с точностью до перевода на «C»):
                                                      #include<stdio.h>
                                                      int main() {
                                                        for(int x = 5; x != 48; ++x) {
                                                          printf("%d\n", x);
                                                        }
                                                      }

                                                      Именно поэтому я за «C++».
                                                      Ответить
                                                      • Эй, жабаскриптеры, а ваш жабаскрипт может выкинуть нахуй избыточное замыкание? Или так и будет такты на вызовы тратить?
                                                        Ответить
                                              • Возьму пример попроще, без auto, чтобы не городить крестошаблонов:
                                                auto foo = [](int x, int y) {
                                                    return x + y;
                                                };
                                                Компилируется в это:
                                                class __lambda_1_12
                                                {
                                                  public: 
                                                  inline /*constexpr */ int operator()(int x, int y) const
                                                  {
                                                    return x + y;
                                                  }
                                                  
                                                  using retType_1_12 = int (*)(int, int);
                                                  inline /*constexpr */ operator retType_1_12 () const noexcept
                                                  {
                                                    return __invoke;
                                                  };
                                                  
                                                  private: 
                                                  static inline int __invoke(int x, int y)
                                                  {
                                                    return x + y;
                                                  }
                                                  
                                                  
                                                  public:
                                                  // /*constexpr */ __lambda_1_12() = default;
                                                  
                                                };
                                                
                                                __lambda_1_12 foo = __lambda_1_12{};
                                                Ответить
                                              • Референс можно убрать и таскать значения по значению (составные типы внутри будут по указателю само собой, но это деталь реализации). Класс и операторы к нему один раз написать и течь.

                                                Всяких скобочек и кавычек дохуя получается, это минус, конечно.

                                                Код лямблий, само собой, пойдёт в секцию кода во время конпеляции. Т.е. eval забесплатно не получить.
                                                Ответить
                                                • >> Т.е. eval забесплатно не получить.

                                                  Именно поэтому я за «PHP».
                                                  Ответить
                                            • Чёрт, я и не думал что кресты уже так близко к js.


                                              https://govnokod.ru/26356#comment528975
                                              Сейчас практически любой компилируемый язык похож на скриптуху: кругом varы, везде автовывод типов.

                                              Выразительность та же, но благодаря компиляции скорость на порядок выше, а ошибок на порядок меньше.
                                              Даже последних итерациях крестов идиоматичный код всё более становится похож на скриптушачий.


                                              В идеале конечно возможность написать пару классов с перегрузками,
                                              #define var auto
                                              и получить валидный js-код.
                                              Ответить
                                              • Ну x.foo вместо x["foo"] один фиг не получится писать.

                                                > скорость выше

                                                А вот фиг, js должен быть быстрее чем такой код. Там движки научились оптимизировать хешмапы в структуры. А кресты так не умеют.
                                                Ответить
                                                • Пришлось научистя, матапучто смешались в кучу кони мапы и обекты.
                                                  Ответить
                                                • показать все, что скрытоvanished
                                                  Ответить
                                                  • А вот в «PHP» никакого разделения нет. Именно поэтому я за «PHP».

                                                    Кстати, для «PHP7» появилось расширение «DS» с крестоблядскими структурами данных:
                                                    https://www.php.net/manual/ru/book.ds.php
                                                    Ответить
                                                  • > зачем это разделение в скриптушне
                                                    Затем, что смешивание логики программы и способа хранения данных — это хуита, порождающая безумные костыли вроде «({}).hasOwnProperty.call()».
                                                    Ответить
                                                    • Зачем писать .call?
                                                      Ответить
                                                      • Потому, что на самом объекте нельзя вызывать hasOwnProperty, т.к. оно может быть переопределено, и берётся чистый объект {} без питушни (если только явно не переопределили Object.prototype.hasOwnProperty, тогда поможет только массовая ампутация прототипа).
                                                        Ответить
                              • Так конечно скриптушня в общем и целом тут уделает не-скриптушню. Но много ли здесь удобства с точки зрения повседневной разработки?

                                Мучаются ли крестушки от того, что у них нет "динамически изменяемых структур данных" из коробки?
                                Ответить
                              • Вот ещё: https://en.cppreference.com/w/cpp/utility/tuple/make_tuple
                                Ответить
                  • Тем не менее, пирфоманс жабоскрипта — это то, из-за чего разгораются браузерные срачи, и то, что привело к развитию браузерных движков. Если жабоскрипт будет тормозить, фермой во «Вконтакте» никто пользоваться не будет.

                    Да, оптимизация JS — это ад из-за динамической питузации (да ещё и слабой, требующей угадать, какой конвертор типов нужно подставить).
                    Ответить
    • Копался в старых тредах, нашёл платину: https://gcode.space/#!/23795. Какой Сёма )))
      Интересно, а реальный пример Сёмы Сёма вообще на ГК есть? А то ведь гуесты восьмые — это хуй пойми кто, может, прикалывается кто-то левый, а Сёма давно свалил. Грустно всё это…
      Ответить
    • https://tools.ietf.org/html/rfc8565

      Hypertext Jeopardy Protocol (HTJP/1.0)
      
      Abstract
      
         The Hypertext Jeopardy Protocol (HTJP) inverts the request/response
         semantics of the Hypertext Transfer Protocol (HTTP).  Using
         conventional HTTP, one connects to a server, asks a question, and
         expects a correct answer.  Using HTJP, one connects to a server,
         sends an answer, and expects a correct question.  This document
         specifies the semantics of HTJP.
      Ответить
      • HTJP можно использовать в поисковых системах. Отправляешь на сервер реальный пример текста. Сервер в ответ присылает реальный пример URL, на котором этот текст находится.
        Ответить
      • Это, видимо, в честь "Jeopardy!", с которой у нас слизанацензирована "Своя игра". Но у них там реально отвечают вопросом на ответ, типа "This is a President of Russian Federation who spend most time in this position" так и говорят "Who is Mr. Putin".
        Ответить
    • Тупая гномо-дефолтная смотрелка PDF'ок до сих пор не научилась кнопке "назад". Ну вернее кнопка то есть, но возвращает она куда угодно, только не на то место, где ты был до клика по ссылке. Куча багов на эту тему висит, даже пулл-реквесты кто-то пытался сделать, а воз и ныне там...

      Вот интересно, они сами этим говном хотя бы одну пдфку со ссылками читали?
      Ответить
      • Какая архитектура )))

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

        Сначала они навесили обработчик на смену страницы (из-за этого возврат происходит всегда к началу страницы, даже если ссылка была внизу). Потом обмазали его костылями в духе текущая страница должна отличаться от предыдущей не менее чем на 2, чтобы она попала в историю (иначе история засиралась скроллингом). Теперь если ссылка ведёт на следующую страницу, то она в историю вообще не попадает. Ну и если открыть документ, прочитать десяток страниц, тыкнуть в ссылку и вернуться назад... то, логично, попадаешь на начало документа. Блядь, как такую хуйню вообще можно было придумать?
        Ответить
        • Беда в том, что это не какая-то проблема с нехваткой времени или ресурсов, это реально люди с альтернативным мышлением...

          Цитата из 2005 года, когда кнопки "назад" ещё не было, и разрабы поясняли что она нинужна и вообще не очевидна для юзеров:

          Several examples of this problem creap up in different interfaces. You can see this with HTML anchors and how they confuse people using a browser. They clicked on a link which took them to a new area in the document they were viewing. Then when they click the back button they are still at the same document and are often confused by this. The back button usually brings them to the last document they were looking at, however the anchor link changes that and in usability tests you can see people are confused by this alternate behavior created in the back button. Unless you understand the technology behind it all, there doesn't seem to be an obvious reason.
          Ответить
        • Если прочитать десяток страниц, то вроде история же обновится? Если там разница в 2. Но так всё равно пздц, конечно
          Ответить
          • Не обновится. Скролл не попадает в историю из-за "не менее 2 страниц". Туда попадают только переходы по ссылкам, содержанию, номеру страницы и т.п. Причём при переходе сохраняется не страница откуда прыгали, а страница куда прыгали.

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

            З.Ы. Ну и в KDE'шном okular'е всё норм с навигацией.
            Ответить
            • >> не будет же человек в здравом уме контрибьютить в опенсурсный проект и не пользоваться им?

              Вдруг это те студенты, про которых гест рассказывал, которые в 22 года контрибьютят в опенсорс?
              Ответить
      • показать все, что скрытоvanished
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Продолжаем форсить «PHP»:
      https://habr.com/ru/company/oleg-bunin/blog/478618/

      В этом выпуске:
      • Получение экземпляра класса с приватным конструктором.
      • Получение значения приватного свойства класса.
      • Иммутабельные объекты.
      • Чтение include-файлов через потоковые фильтры. Например, можно заставить интерпретатор гонять исходники через «rot13».
      • Аспектно-ориентированное программирование.
      • Отложенные методы. Выполняются после того, как «PHP» отдал страницу пользователю и закрыл соединение.
      И другие извращения.
      Ответить
      • > include файлов через потоковые фильтры

        Да ладно, напитоне через эту хуйню даже inline c запилили...
        Ответить
        • Приведи реальный пример.
          Ответить
          • Приводили уже, ищи тред про inlinec.
            Ответить
            • Точно, инлайнец забыл. Там даже парсер произвольного языка программирования прикручивали.
              Ответить
    • https://sun3-13.userapi.com/c543104/v543104365/60237/MEzKTgDmaUU.jpg
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • https://pbs.twimg.com/media/ESG6BHZWsAIL3xI.jpg
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • 3, но у меня нет серверов, и мне негде использовать ключ (кроме хуза)
        Ответить
      • 2. У меня по ключу на каждого юзера на каждом серваке.
        Ответить
      • Эдвардса руки-ножницы?
        Ответить
        • показать все, что скрытоvanished
          Ответить
        • На самом деле дело обстоит так (Гост и Броманд может меня поправят, если я часом напижжу).

          Кривая25519 это эллиптическая кривая за авторством Берштейна (автора qmail, а так же еще толи чачи, толи сальсы).

          Эллиптические кривые реализуют ассиметричную крипту, причем шуструю, и с коротким ключом. Наша курва имеет размер 128 бит.

          (продолжение ниже)
          Ответить
          • Курву можно использовать для:

            * ECDH (elliptic curve diffie helman): Диффи-Хельмана на эллиптических кривых. Это позволяет двум сторонам выработать общий сессионый (симметричный) ключ в незащищенном канале. В отличие от обычного диффи-хельмана, ECDH трубует у каждой стороны пары приватный/публичный ключ на курвах.

            * EdDSA (Edwards-Curve Digital Signature Algorithm): DSA это ассиметричная крипта, примерно как RSA, но в отличие от нее используется только для подписи, а не для шифрования. DSA использует верченые (twisted) курвы Эдвардса, разновидность подписи Шнорра. Я даже не буду врать, что понимаю что это такое. Важно, что я могу подписать хуиту приватным ключом, а ты можешь публичным проверить, что подписал её именно я.

            Диффи-Хельман на 25519 называется Curve25519.
            EdDSA на 25519 называется ed25519.

            Как это используется:
            * SSH
            ** HostKey: ssh сервер выдает публичный ключ ed25519 (ssh-ed25519), клиент его запоминает, и может проверить, что у сервера есть от него приватный попросив сервер подписать что-то. Если сервер спуфнут -- клиент заметит, что публичный ключ больше не работает.
            ** Kex: алгоритм выработки общего сессионнго ключа: curve25519-sha256 ( sha-256 тут это алгоритм хеширования подписи)
            ** PubKeyAcceptedTypes: ключи для аутентификации пользователя. Тут у нас тоже ed25519 (у клиента приватный ключ, у сервера публичный в authorized_keys).

            * TLSv3 (для HTTPS)
            ** Ed25519 для сертификата (у сервера приватный ключ, в сертификате публичный)
            ** X25519 (тоже самое, что и x25519) -- диффи хельман на EdDSA для выработки сессионооного ключа
            * DKIM: с 2018 года элиптические курвы 25519 проникли и сюда

            Таким образом, обоссыкиванию и сжиганию подлежат следующие сущности

            * Диффи-Хельман без ECDH (основанный на группах, а не на ключах элипт кривых)
            * RSA полностью (Gost, внимание, DKIM тоже можно перевести на курвы)

            Фуф, ёбаные криптографы понапридмывали хуиты
            Ответить
    • На самом деле сайты, которые в письме с подтверждением регистрации присылают пользователю его пароль в плейнтексте, всё делают правильно.
      Таким образом они честно дают понять, что за безопасность у них отвечают долбоёбы, и ничего важнее количества сегодняшних пуков им доверять нельзя.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Мэнинг в 2010-м году вроде ещё было он, а не она.

        *****

        Вспоминаю анекдот. Пара геев усыновила ребёнка из детдома. Ребёнок забыл, кто из них родитель №1, а кто — родитель №2. Ломает голову, как обратиться. Вдруг его осенило. Заходит в спальню с криком: «Пидарасы, подъём! На первый-второй рассчитайсь!»
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Погуглил. Брэдли Эдвард Мэннинг попросил называть его «она» после оглашения приговора, в 2013-м году. Суд разрешил сменить имя ещё позже. После смены имени какое-то время держали в мужской тюрьме.

            Нелепая история, в общем.
            Ответить
      • А зачем им время модификации?
        Ответить
    • Впомнилось почему-то как мы с другом играли во вские угрушки поочереди - передавая сохранения на флопиках
      Ответить
    • Перекат!
      https://govnokod.ru/26463
      https://govnokod.xyz/_26463
      Ответить

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