Куча говна / Говнокод #27914 Ссылка на оригинал

0

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

#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
#135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
#139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
#140: https://govnokod.ru/27900 https://govnokod.xyz/_27900

Запостил: nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

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

  • Добрый вечер.

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

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

    Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
    Остерегайтесь подделок. Берегите себя и своих близких. Кок!
    Ответить
  • А это хорошая новость:

    https://m.lenta.ru/news/2022/01/02/cyber_heist_nft/

    Хакеры в ходе кибератаки украли 15 изображений со «скучающими обезьянами» в виде NFT-токенов на сумму 2,2 миллиона долларов. Об этом сообщает британская газета The Sun.

    Коллекционер токенов Тодд Крамер описал ночь цифрового рейда как худшую в своей жизни. Кибератака произошла 30 декабря прошлого года. Крамер рассказал изданию, что хакеры получили доступ к его облачному блокчейн-хранилищу, на котором находились изображения, и затем вывели их на другие аккаунты. Об этом он рассказал в личном Twitter-аккаунте.
    Ответить
    • Ну что, ждём отката блокчейна, как в том случае с эфиром?
      Ответить
  • Предлагаю поразмять мозги и как в прошлом году, порешать задачки с математической олимпиады в комментариях к этой статье. Задачек 6 штук, и на них отводилось 2 дня по 4,5 часа. (Чур, в ответы не подглядывать!)
    Ответить
    • День 1

      Время на работу: 4 часа 30 минут.
      Каждая задача оценивается в 7 баллов

      Задача 1

      Дано целое число n > 100. Ваня написал числа n, n+ 1,..., 2n на n+ 1 карточке, каждое по одному разу. Затем он перемешал колоду из этих карточек и разделил её на две стопки. Докажите, что хотя бы одна из двух стопок содержит две карточки, сумма чисел на которых — точный квадрат.
      Ответить
      • разве это задача на программирование? тут чистая математика
        Ответить
        • а я протупил.. я думал мы тут программированием занимаемся....
          Ответить
      • зачем нам случайные числа - если можно рассмотреть частный случай где числа идут один за один
        Ответить
    • Задача 5

      Чип и Дейл собрали на зиму 2021 орешек. Чип пронумеровал орешки числами от 1 до 2021 и вырыл 2021 маленькую ямку вокруг их любимого дерева. На следующее утро он обнаружил, что Дейл положил в каждую ямку по орешку, ничуть не беспокоясь о порядке. Расстроившись, Чип решил переупорядочить орешки посредством следующей последовательности из 2021 действия: во время k-го действия он меняет местами орешки, соседние с орешком под номером k.

      Докажите, что найдётся такое число k, что во время k-го действия поменялись местами орешки с номерами a и b такими, что a < k < b.
      Ответить
      • опять комбинаторика. из программирование что-то есть?
        Ответить
  • а давайте задачки из олимпиады по программированию делать... правда они 30летней давности...

    1) дан массив "n"x"m".. где каждая ячейка имеет 1 или 0. 1 есть земля . 0 есть вода. Задача посчитать кол-во островов. Острова не могут иметь общего пути если идти по клеткам.
    Ответить
      • Предлагаю считать так:

        Для каждой клетки делаем обход в ширину, потом все обойденные клетки заменяем на «2».

        Ищем другую клетку-единичку, и от неё тоже делаем обход в ширину, но потом помечаем обойденные клетки тройками.

        И так далее.

        Потом по всему «массиву» проходимся и ищем максимальное число, не забываем вычесть единичку.
        Ответить
        • Ну ты прям разметил острова... Можно же тупо затереть их ноликами если в задачке достаточно просто посчитать их.
          Ответить
          • А как их потом считать? Завести счётчик и увеличивать его, когда находим острова? А сможешь за О(1) решить такую задачу?
            Ответить
            • > потом

              А зачем потом? Считай сразу, как только начинаешь заливку каждого.
              Ответить
            • задача считается рекурсией. тут важно вернуться в предыдущую клетку что бы не потерять связь между ячейками для одного острова. т.к. острова могут иметь разные конфигурации
              Ответить
    • Сканируем массив, находим единичку, инкрементим счётчик, запускаем flood fill ноликами, повторяем.
      Ответить
      • Имхо, самый интересный технический момент -- реализация flood fill'а: обычному поиску в ширину можно стек порвать какой-нибудь фрактальной фигнёй.
        Ответить
          • Что-нибудь сильно ветвящееся, чтобы как можно больше веток параллельно проверялось.
            Ответить
        • По-моему реализация BFS с open/closed списками самая известная, там стек рвать нечем. Вот рекурсивная DFS с одним списком может порваться.
          Ответить
          • Нужен свой аллокатор, который может срать прямо в изначальный массив. Чтобы данные не перетирались, изначальные единички и нолики, которые в нём лежали, нужно засовывать в tagged pointer'ы на next.
            Ответить
      • есть последовательность чисел разных от -n до +n. Найти последовательность с наибольшей суммой его членов.
        Ответить
        • Ну эта лёгкая: отсортировать и сложить числа от 0 до +n.
          Ответить
          • ээ.... найти последовательность и нет. (-5 +6) это лучше, чем 0
            Ответить
              • за полный перебор много балов не дадут.... нужно провести оптимизацию алгоритма
                Ответить
            • Почему не взять просто +6 в данном случае?

              Надо именно отрезок c подряд идущими элементами найти, а не подпоследовательность?
              Ответить
              • потому что последовательность (-5 6 6) лучше чем (6)
                Ответить
                • > (-5 6 6)

                  Почему не просто (6 6), у которой сумма, очевидно, больше?

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

                1. Посчитать суммы всех последовател последовательностей по два элемента, записать их в массив.

                2. Сделать то же самое с полученным массивом.

                Было: [1 2 3]

                Стало: [3 5]

                3. Делать эту манипуляцию ещё и ещё, пока кочан не треснет! Потом найти максимальный элемент среди таких массивов.

                Ещё нужно учесть разрядность системы, потому что -n - n может вызвать переполнение.
                Ответить
        • 1) Так как в любой неотрицательной последовательности имеет смысл захватывать всю последовательность целиком, подобные последовательности можно представить одним числом, представляющим сумму её членов.
          2) Так как любую неположительную последовательность имеет смысл захватывать целиком, чтобы через неё мостиком соединить две положительные, подобные последовательности можно представить одним числом, представляющим сумму её членов.
          3) У нас получается последовательность чисел с чередующимися знаками: ... +А, -В, +С, ...
          4) В последовательности +А, -В, +С, если B < min(A, C), то эту последовательность можно объединить и представить одним числом, представляющим сумму её членов, в результате сумма увеличится.
          5) После того как после очередного прохода по последовательности ничего упростить не получается, производим полный перебор по получившейся упрощённой последовательности.
          Ответить
          • > очередного прохода

            Мне почему-то кажется, что там и одного прохода хватит... Но пруфов не будет.
            Ответить
            • [6, -4, 5, -6, 5, -4, 6] → [7, -6, 5, -4, 6]
              7, -6, 5 не объединить, поэтому пропускаем
              → [7, -6, 7]
              А теперь второй проход
              → [8]
              Ответить
              • [6] // в принципе, можно оборвать цепочку здесь (запоминаем как максимум)
                [6, -4] // пробуем дальше т.к. |6| > |-4|
                [6, -4, 5] -> [7] // запоминаем как новый максимум
                [7, -6] // пробуем дальше т.к. |7| > |-6|
                [7, -6, 5] -> [6] // максимум не побили, пофиг
                [6, -4] // пробуем дальше т.к. |6| > |-4|
                [6, -4, 6] -> [8] // новый максимум, список кончился

                Если бы в какой-то точке было [5, -6], то нет смысла тащить этот отрицательный багаж дальше, можно сразу отбрасывать.

                Контр-пример пока не могу придумать...
                Ответить
              • int current = 0, max = 0;
                for (int x : xs) {
                    current += x;
                    max = std::max(max, current);
                    if (current <= 0) current = 0; // reset sequence, there are no reason to keep it
                }
                Вроде даже пре-фильтрация никакая не нужна, можно сразу всю последовательность скармливать.
                Ответить
                • Насколько я понял, смысл найти последовательность, а не просто максимум. Хотя с небольшими модификациями должно работать. Контраргумента привести не могу.
                  Ответить
                  • > найти последовательность
                    int current = 0, max = 0;
                    auto begin = xs.begin(), max_begin = xs.begin(), max_end = xs.begin(); // [begin; end)
                    for (auto i = xs.begin(); i != xs.end(); ++i) {
                        current += *xs;
                        if (current > max) { max = current; max_begin = begin; max_end = std::next(i); }
                        if (current <= 0) { current = 0; begin = std::next(i); }
                    }
                    Ответить
          • а это правильный ответ работать надо с триплетами
            Ответить
            • Т.е. мой вариант неправильный? Приведи реальный контпрпример.
              Ответить
              • ну ты же тоже работаешь с триплетами [6, -4, 6] -> [8], честно говоря, я уже не помню 100% решения. помню, что надо создать триплеты и по ним найти максимальную цепочку
                Ответить
                • В последней версии я уже тупо с конкретным элементом работаю и накопившейся до него суммой... Если накопившаяся цепочка ушла в минус, её остаётся только выбросить и начать новую с нуля.
                  Ответить
                  • Я, кстати, знаю, на чём мой вариант сломается, и что нужно обрабатывать отдельно: [-8, -1, -6] или любая последовательность, состоящаа из отрицательных чисел.
                    У тебя, вроде, сначала запишется в max, а потом отбросится.
                    Ответить
                    • Не, у меня даже в max не запишется т.к. он начинается с нуля а не с -inf, поэтому останется пустая подпоследовательность в ответе. Мне сначала показалось, что это баг. Но выходит что [] лучше, чем [-8].
                      Ответить
      • новая задача... она уже очень простая. написать алгоритм возведения в степень целых чисел. n^m . только работать алгоритм должен быстро
        Ответить
            • Более интересная версия задачки -- заставить этот алгоритм работать без сайд-эффектов по времени, потреблению тока и обращению к кешам.
              Ответить
                • Ну не, тут же как раз атака через кеш будет... Сразу видно, куда лезли.
                  Ответить
                  • volatile uint64_t result, final_result;
                    for (int n = 0; n < n_max; ++n)
                        for(int m = 0; m < m_max; ++m) {
                            result = exp_table[n][m];
                            if (n == desired_n and m = desired_m)
                                final_result = result;
                        }
                    return final_result;
                    В теории должно всегда должно выполняться за одно и то же число инструкций.
                    Ответить
                    • Будет немножко другой паттерн потребления тока из-за записи в финальный результат!

                      Хотя вряд ли это получится измерить на практике, конечно.
                      Ответить
                      • предположим у вас есть только процессор K580 или Z80
                        Ответить
                    • вы от мельдония защищаетесь?

                      делайте WBINVD или как там он флашится
                      Ответить
            • Вполне быстро. Ты ведь не по модулю умножаешь, число очень быстро раздувается и жрёт память. Тлен и безысходность.

              gmp, конечно, быстрее будет. Но не сильно.

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

                PS: какой-то способ был через факторизацию покпоказателя.
                Ответить
                • предположим у вас есть только процессор K580 или Z80
                  Ответить
                  • Да блин, какая разница? Алгоритм от этого не изменится, просто ячейки будут меньше и умножения ячеек придётся делать софтварно.

                    Скучно это "умножение возведение в столбик" писать в очередной раз, поэтому и пример из питона, где всё это уже реализовано...
                    Ответить
  • Никогда бы не подумал, что инструкция по технической эксплуатации бэк-офиса "Госуслуг" может занимать 217 страниц:

    https://pos.gosuslugi.ru/og/storage/pos/document/rukovodstvo-polzovatelya.pdf

    Там настолько тупые сотрудники, что им надо буквально разжёвывать каждую кнопку, каждую ссылку, каждую иконку?
    Ответить
    • По моему руководство пользователя вообще не должно занимать более десяти страниц.

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

      Иными словами, никто не читает 217 страниц прежде, чем запустить вашу прогу
      Ответить
  • https://habr.com/ru/post/599127/

    Я фронтенд разработчик, а не обезьянка

    Все началось с того, что я задал вопрос «Как передать на бекенд требования к API?» в Хабр вопросах с гипотезой...

    И вот, что из этого получилось:

    @AgentSmithСовсем спустился до личных оскорблений и писал про фронтов как про обезьянок. К сожалению, (или счастью) ему стало стыдно и он удалил всю свою ветку, где писал оскорбления. Оставив только вот это:

    @AgentSmithСудя по вопросу ты некомпетентен и лидом ты назвал себя сам. Подтвердить свою компетенцию на должность лида ты не можешь.

    Из группы Боль Тим Лида в телеграм:
    Да я бы даже сказал, что это бредово. Фронты это же обезьяны умеющие только делать запросы и выводить их. Им то д****ды как там все устроено на сервере. Пускать фронт к проектированию API это плохая идея, напроектируют. Еще бы фронт мне диктовал как реализовать API.


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

      И спустя пару месяцев мы разработали – API Projector

      Визуальный Swagger редактор

      API projector – это визуальный Swagger редактор с возможностями привязки API к пользовательскому интерфейсу системы (приложения).

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


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

              Те, которыми расхуяриваются нахуй контроллеры, когда j123123 случайно заливает туда не ту прошивку, и у контроллера перегорают лампочки.
              Ответить
      • обычно если фулстек работает один, то потом оказывается, что единственный API к его системе это браузер с селениумом

        Это не касается тебя конечно, но рядового вебгиббона очень даже
        Ответить
        • а нахуя нужно API если никто не попросил прямо?

          это очень странная претензия в мире где API твитеров и ютубов постоянно деградируют и ограничиваются
          Ответить
          • А нахуя нужна модульность если никто не попросил прямо?

            это очень странная претензия в мире где файл funkcii.php порнодоеконлайн и вордпресс-лендингов постоянно растёт и жиреет
            Ответить
          • Когда попросят API -- будет уже поздно. Сделать API задним числом окажется настолько дорого, что проще реально руками наковырять базу или надёргать кнопочки через селениум.


            В древности всем было очевидно, что нужно делать API и клиент параллельно, причем клиент должен работать поверх API, чтобы всё, что можно сделать через UI, можно было бы сделать и через API.

            Но те времена давно прошли
            Ответить
            • > настолько дорого

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

                Обычно это бывает так:
                --Нам срочно нужно пятьсот раз сделать $FOO
                --Но унас нет для этого API, можем сделать за пару дней
                --Тогда высрите эти 500 $FOO в базу руками, нам срочно нужно

                >насколько полное

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

                >на перле
                никогда не видел сайтов, где логика аккуратно размазана между беком, JS и базой, и которые реально автоматизируются только селениумом?
                Ответить
                • > реально автоматизируются только селениумом

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

                  > времени

                  Немного т.к. надо было R/O.
                  Ответить
                  • >чтобы напрямую через базу наскриптовать было сложнее,

                    Ну то есть нужно снова вручную
                    * Очистить данные
                    * Преобразовать их
                    * Убедиться, что ты не нарушил констреинты (которые проверялись на слое логики, который ты обошел)
                    * Так как базы обычно не очень нормализованы, не забыть добавиться во все нужные места (например в логирование)

                    Охуенное решение
                    Ответить
                    • Как всё сложно! Хорошо что у меня нет в контроллерах никаких "баз".
                      Ответить
                        • У него в си нет никаких таблиц виртуальных функций (если он не пилит их сам при необходимости).
                          Ответить
                          • У него зато есть двумерные массивы, чтобы мигать лампочкой по нажатию на кнопку:

                            [["button", "bulb"],
                            [0xc000006b, 0xd3adb33f]]
                            Ответить
                            • > мигать лампочкой по нажатию на кнопку

                              Именно поэтому я за циклоняшку:
                              assign led = button;
                              Ответить
                        • У меня может например быть массив из предвычисленных синусов для какой-нибудь хуйни, но "базой" такую хуйню я б не называл.
                          Ответить
                      • Сравни с конфигурационными фалйами. Что лучше: читать их sedом, или иметь API для их чтения?
                        Ответить
                • > --Тогда высрите эти 500 $FOO в базу руками, нам срочно нужно

                  А зачем тут API? И чем оно облегчит задачу по сравнению со сраньём напрямую в базу?

                  Лишная прокладка, имхо. Да ещё и пирфоманс просадит.

                  З.Ы. А API, покрывающее 100% нынешних и будущих юзкейсов при сохранении нормального пирфоманса -- это утопия какая-то.
                  Ответить
                  • Я ответил: https://govnokod.xyz/_27914/#comment-789365

                    >API, покрывающее 100% нынешних и будущих юзкейсов
                    именно по этому нужно гуи пускать через тот же самый API: юзкейсы рождаются в голове заказчика из гуи, он мыслит в этих терминах. И нужно, чтобы выполнялось условие, которое я там выше жирным выделил
                    Ответить
                • Кмк, API нужно только если ты хочешь, чтобы кто-то другой мог обращаться к твоей системе.
                  Ответить
                  • Зачем разделять "другой" и "не другой"?
                    Ответить
                    • Потому что для "другого" ты должен обеспечить какой-то слой совместимости. А для себя он няхуй не сдался, только лишнюю работу создаёт.

                      > констреинты (которые проверялись на слое логики, который ты обошел)

                      А зачем для этого API, когда достаточно те же ормы/модели/хелперы юзать, что и в оригинальном коде?

                      Мы же именно про "REST API", а не про "API в общем смысле"?
                      Ответить
                      • А как ты разделяешь себя и другого? Твой коллега из соседнего отдела свой или чужой?

                        >достаточно те же ормы/модели/хелперы юзать, что и в оригинальном коде?

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

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

                        >Мы же именно про "REST API", а не про "API в общем смысле"?
                        А в чем разница?
                        Ответить
                        • REST API – это когда по интернету шлют джейсонов, а просто API – это общее понятие, значит «интерфейс взаимодействия с программой для разработчика».
                          Ответить
                        • > А в чем разница?

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

                          Но да, я сварщица не настоящая, порталы уровня госуслуг не ваяла.
                          Ответить
                          • Транзакции вероятно нужно упаковывать в один запрос.
                            Типы выражаются в SOAP/WSDL. В Rest может быть тоже можно (есть же схемы для JSON).

                            То есть проблемы в слабости и неудобстве API?

                            Окей, а если бы ты (не дай бог) делал бы трёхзвенку под винду с DCOM, то делал бы ее по другому?

                            >сварщица не настоящая

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

                            И несколько раз общался с трёхзвенками (там был не RESt, а какой-то свой RPC). Они были сделаны не ради API, а потому что тупо клиенты были вебовские и десктопные (это было очень давно) но зато задачи типа "вот такие деййствия сделать 100500 раз" люди реально писали на скриптушне.

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

                              Т.е. существующее API для гуйни, где чел оперирует отдельными элементами, будет непригодно. QED.
                              Ответить
                              • Почему не собрать их на гуйне в пачку, и потом не закоммитить одним запросом?

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

                                    Ну или окей, сохранить их на сервере, а потом сделать коммит? Чем это не транзакция?

                                    >мёржи вилкой
                                    поправили в смысле в базе? ну тогда твоя транзакция всё равно не закоммитица
                                    нужно только чистить ее если в течение года он к ней не вернулся
                                    Ответить
                                    • > а потом сделать коммит

                                      Там уже что-то поправили, мёржи вилкой, сука.

                                      Не особо представляю, как должен выглядеть UI для этого...

                                      > всё равно не закоммитица

                                      Ну одно дело, когда одна строчка. И совсем другое -- когда вбито уже 100 и тебе предстоит тяжёлая ночь.
                                      Ответить
                                      • приведи реальный пример что могли поправить
                                        Ответить
                    • З.Ы. Я не претендую на сеньёрство в этом вашем вебе, просто моё имхо и ненависть к оверинжинирингу.
                      Ответить
                      • По моему правила API везде примерно одинаковые.
                        Но я не спорю, что создать API дороже, чем его не создавать.

                        Если ты делаешь документооборот например, что шансы велики, что API тебе понадобится, и лучше бы сразу логику и гуй вынести в разные компоненты, соединенные API кмк
                        Ответить
                  • Грамотное разделение компонентнов никто не отменял

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

                        почему плохо, когда у тебя есть уровень логики в отдельном сервисе, и его клиенты (мобильные, вебоские, консольные, кастомные) общающиеся с ним через одинаковое, документированное REST API?
                        Ответить
            • >клиент должен работать поверх API, чтобы всё, что можно сделать через UI, можно было бы сделать и через API

              я забыл что тут еще всерьез воспринимают сайты которые состоят из пхп файлов высирающих html. То что ты написал это правда и это то как работает 90% современного веба

              Я говорил про публичное API со своей схемой авторизации, пермишенов и прочей хуйней. Зачастую требования публичного и ui API отличаются и хорошей идеей будет иметь два комплекта API, особенно если внутреннее API это какой-то graphql, а внешнее - REST. Делать отдельное публичное API в этом случае если не просят - это огромный риск того что оно будет задизайнено хуево и просто трата времени
              Ответить
              • > я забыл что тут еще всерьез воспринимают сайты которые состоят из пхп файлов высирающих html.

                в смысле вк и фб?
                Ответить
              • Только два комплекта API?

                Берём известные соцсети. У них есть:
                1. Публичный API для сайтов.
                2. Публичный API для самостоятельных приложений (мобильных, десктопных).
                3. Недокументированный API для официального сайта (через него работают аяксы, например).
                4. Недокументированный API для официального мобильного приложения (в нём есть функции, отсутствующие в публичном API, иначе с этого приложения все перелезут на сторонние).

                Ещё бывает 100500 способов сделать одно и то же (REST API, FQL API, Graph API, legacy API...).
                Ответить
      • это только если у тебя в черепушке всего одна личность
        Ответить
    • Я -- разработчик прошивок, а не обезьянка

      Все началось с того, что я задал вопрос «Как передать железячникам требования к цоколёвке?» в Хабр вопросах с гипотезой...

      И вот, что из этого получилось:

      <...>

      Из группы Боль Тим Лида в телеграм:
      Да я бы даже сказал, что это бредово. Прошивочники -- это же обезьяны умеющие только делать код на сишке и теребить сигналы на пинах. Им то до пизды как там все устроено на плате. Пускать прошивочника к проектированию железа -- это плохая идея, напроектируют. Еще бы софт мне диктовал как реализовать железо.

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


      извините.
      Ответить
    • >Если фронты хорошо знают REST

      А вы знаете REST? Хорошо знаете? Курсы по нему можете посоветовать?
      Ответить
  • А вы знали, что замок дверной вскрывается от двух до пяти минут, и все ваши компьютеры с видеокартами уносятся и затем продаются?

    А если не стоит задача вскрыть замок тихо, то и тридцати секунд может хватить. Вот мы тут кукарекаем про безопасность, а сами-то мы в безопасности?
    Ответить
    • Если кто-то думал, что криптография – это пердолинг...

      На случай, когда хозяин находится дома - асимметрично установленные противосъёмные штыри (ставятся на дверь с той стороны, где петли, при закрывании двери уходят в стену/зацепляются за дверную коробку) и асимметрично установленные вертикальные шпингалеты (какие в гаражах иногда делают) сверху и снизу. Это всё хозяйство придётся пилить болгаркой почти по всему периметру двери (снаружи невозможно будет узнать места их установки, разве что подглядеть в окна, если дверь одна и видна в них). Для особо параноидальных, если дверь одна, можно посоветовать талрепы и стальные тросы к стенам/потолку/полу с точками крепления на метр-другой от двери в глубину помещения (не в стороны от двери) - болгарка будет бесполезна, тросы не отпустят дверь от коробки, даже если все штыри-шпингалеты спилить.

      ВНИМАНИЕ: упор для нижнего вертикального шпингалета в открытом положении нужен такой, чтоб штырь с него не соскочил при, например, слишком резком закрывании двери снаружи и не закрыл её! Лучше упор этот сделать как-либо закрывающимся - даже тупо навесной замочек, притягивающий штырь к верхнему положению. Замочек тоже слететь произвольно не должен.

      Один из шпингалетов, установленных сбоку на двери, а второй - сверху, ставить так, чтоб штырь был удалён от самой двери сантиметров на 5+ Чтоб если спилят все остальные болгаркой по периметру двери (это уже крайне дохера времени), дверь повисла на этом (а верхний не отпустил дверь от коробки), до которого диск маленькой болгарки не доберётся (не хватит радиуса диска).
      Ответить
      • Х.з., по-моему тут те же принципы, что в интернете -- в 99% случаев будут ломать там, где забыли закрыть или поставили хуёвые замки. Ну либо воспользуются человеческим фактором.

        А целенаправленное пиление болгаркой -- это уже пиздец. Тут уже об охране надо задумываться, а не костыли на дверь лепить, как мне кажется.
        Ответить
        • Ещё вот такое люди пишут, сразу видно, далеки от IT:

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

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

                А поставив "бекапный" механический привод получим худшее из джвух миров -- теперь замок можно ломать как хардварно, так и софтварно, на выбор.
                Ответить
                • > батарейка подсядет
                  У нормальных электронных замков есть возможность подключения внешнего питания на случай полного пиздеца (свет выключили, батарейка села).
                  Ответить
                  • В общем, если буду делать блютус замок -- поставлю 3 независимых контроллера и 3 реле, из которых хотя бы джва должно сработать для открытия.
                    Ответить
                    • Ровно джва. Если срабатывают оди или три — в коридоре, где установлена дверь, закрываются замки и срабатывает газовая система пожаротушения.
                      Ответить
                  • В прошлом треде обсуждали, что выставлять контакты наружу нельзя, т.к. злоумышленник на них подаст киловольт.
                    Ответить
                    • Там гальваническая развязка. Злоумышленник может только сжечь модуль защиты. Даже если мог бы сжечь замок, он свою задачу выполнил — не открылся. Обычно считается что профит от непроникновения злоумышленника превышает неудобство от вскрытия собственной двери.
                      Ответить
                      • Если так подумать, обычные замки с ключами тоже весьма уязвимы к вандализму, им можно замочную скважину каким-нибудь клеем и спичками загадить
                        Ответить
                        • Мой одноклассник спичку вставил в личинку цилиндрового замка. Трудовик потом выпиливал кусок двери кабинета, чтобы снять замок.
                          Ответить
                            • «День 200-ый
                              Посетители столовой с ужасом находят, что, чтобы насыпать соли, они должны подойти к официанту, предьявить паспорт, получить специальный 8-значный одноразовый код к солонке. Для получения перца процедуру следует повторить.»

                              Напоминает пердолинг с QR-кодами...
                              Ответить
                          • Иллюстрирует качество рашкованского обрезования. В таких случаях надо цилиндр высверливать, а не дверь пилить...
                            Ответить
                            • Возможно, кусок из деревянной двери было на порядок легче выпилить, чем пердолиться с металлическими замком и шарнирами?
                              Ответить
                              • Да вот и я думаю, что если бы дверь была металлической, он бы сверлил цилиндр, а тут прикинул время и силы и пошёл экономичным путём. Дверь всё равно была рассверлена вокруг замка, потому что его уже меняли, а тут он залатал её свежим куском дерева.
                                Ответить
                              • Кстати, я обратил внимание, что личинки бывают двух типов.

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

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

            Можно через звук, FSK audio modem сделать. И какое-нибудь приложение под мобилу под это написать вполне можно
            Ответить
    • Именно поэтому создание барьеров на пути злоумышленников и локальные средства оповещения считаются малоэффективными. Для создания полноценной охранной системы нужны способы оповещения персонала за пределами охраняемого объекта. Барьеры и прочие пассивные средства охраны должны лишь задержать злоумышленника на время, необходимое для приезда группы быстрого реагирования.

      Вдобавок, особо ценное имущество должно хранится в сейфах или хранилищах, исключающих возможность скрытого проникновения. К примеру, оборудованных замками с таймерами: их невозможно открыть за пределами установленного времени (обычно это время работы организации) и открывать его необходимо дважды: после первичного открытия запускается таймер, и, после его истечения, в течении пяти минут, замок нужно открыть второй раз, чтобы наконец-то получить доступ. Стандартное время таймера — один час. Этого достаточно, чтобы приехала самая слоупочная охрана.
      Ответить
      • Поэтому я за "квартира охраняется комаром-спидоносцем".
        Ответить
    • Стала бабка на старости всех бояться и на все похоронные заказала себе мощную бронированную дверь с кучей замков. Пошла в магазин. Приходит - а дверь вскрыта. И ничего не взяли т.к. нечего. А на столе записка " Бабка ты так больше не прикалывайся!".
      Ответить
    • > и все ваши компьютеры с видеокартами уносятся и затем продаются?

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

      Но они не смогут его продать, потому что у меня есть NFT, по которому этот компьютер всё ещё принадлежит мне!
      Ответить
      • Приватный ключ от кошелька был на украденном компьютере?
        Ответить
  • Целый день ушёл на здоровую гомоикону, которая статически верифицирует backward-compatibility RPC вызовов (в этом ITT треде). Что j123123 в них находит?
    Ответить
    • А я люблю гомоиконы
      На здоровую гомоикону целый день уходит. Зато, когда после тяжёлого дня я прихожу домой, иду в ванну,
      Ответить
  • мне кажется я хуевый программист. Меня крайне редко посещают мысли о том что неплохо бы автоматизировать какую-то хуйню с помощью компьютера. У меня был всего один такой пет-проект и за всю свою карьеру я написал ровно одну тулу для автоматизации своей задачи

    а как вы находите возможности для автоматизации в своей повседневной работе и жизни?
    Ответить
  • мне кажется я хуевый программист. Меня крайне редко посещают мысли о том что неплохо бы автоматизировать какую-то хуйню с помощью компьютера. У меня был всего один такой пет-проект и за всю свою карьеру я написал ровно одну тулу для автоматизации своей задачи

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

        Я не напрягаюсь разобраться с kubernetes/ide/шеллом и какие-то задачи у меня занимают в разы больше времени чем у коллег
        Ответить
      • На работе частенько нужно провиженить себе дев-среду. Я три месяца руками в интерфейсе создавал себе тестовые данные, пока не узнал что половина других разработчиков написали себе скрипт для генерации тестовых данных

        Я не напрягаюсь разобраться с kubernetes/ide/шеллом и какие-то задачи у меня занимают в разы больше времени чем у коллег
        Ответить
    • Автоматизируют админы. Программисты пишут программы.
      Ответить
  • Один мальчик любил флудить и оффтопить на говнокоде и долго бы ещё оффтопил, если бы не одно странное событие.

    Приснился мальчику сон; во сне он видит, как идет, сонный, на кухню - попить. Со скрипом открывается дверца мойки... Замер мальчик, а из-под мойки высунулся страшный скелет в офицерской шапке и погрозил пальцем:
    -Не флуди...
    Заплакал, заёрзал мальчик - и проснулся.
    -Какая только хуйня не приснится! - и опять стал флудить на говнокоде.

    На следующую ночь ему приснилась церковь. Горели свечи, а посреди алтаря стояло черное пианино, за которым сидел худой кудрявый мужчина.
    Заметив мальчика он сразу перестал играть.
    -Я Феликс, - сказал он, - Мендельсон. В моих песнях было много реприз и вот, теперь я осужден разрешать их... Так печально.
    Мальчик проснулся и сразу побежал в ванную.
    -Русские не сдаются! - и на говнокод опять полетел поток спама.
    На третью ночь он видел во сне кавказцев. В купе было очень тесно, пахло чесноком, овцами и немытым телом.
    -Дарагой, зачем ты это делаешь? ..
    На чевертую ночь мальчик обнаружил себя в птичнике. Куры скосив голову глядели на него с насеста, хлопали крыльями и гадили на клавиатуру.

    Едва проснувшись, мальчик продал компьютер и больше никогда не флудил.
    Ответить
    • Однажды один мальчик решил стать линуксоидом. И поставил он себе Чёрный Линукс. Ставится Чёрный Линукс и говорит вдруг человечьим голосом – мальчик, слыш, слыш, а у тебя мобилка есть? Мальчик – ну, есть. А Линукс ему – а даш погонять? Мальчик напрягся. А Линукс – да ты не ссы, я чисто позырить, и у меня симка своя. Мальчик отдал Линуксу телефон, а тот как заржёт и говорит – хана тебе теперь, студент. Ща я ядро буду обновлять. И начал патчи качать по GPRS (а трафик дорогущий!), и патчи на патчи, и новые пакаги всякие. Одних крестиков-ноликов только скачал штук 200, а патчей на крестики – вообще не счесть. Мальчик сидит, аж подпрыгивает от предвкушения – а линукс всё больше патчей накачивает, да софта всякого. По алфавиту, как потом следствие выяснило, качал. Мальчик всё подпрыгивает и думает – эх, вот какой я мегалинуксоид буду, ух я, да я!!!!! И тут линукс поставил библиотеку zzzzzzz-version-234-23-111-564124-1-51-2-12-125-135-46-32-634-UNSTABLE.tar, и говорит – а теперь назад буду софт отдавать, потому что свобода ж. Мальчик плюнул и вскочить и убежать захотел, а не может. Кое-как до зеркала дошёл – а он уже старый, ноги не держат, руки трясутся и весь в морщинах. Пока мальчик линукс патчил и ядро новое ждал, вся жизнь прошла. А тут ещё и в дверь звонят – милиция счёт за GPRS за 58 лет принесла.

      Тут-то мальчик и умер. А Чёрный Линукс аттачем к письму прикрепился и по всем контактам из телефона разослался.
      Ответить
      • > Кое-как до зеркала дошёл – а он уже старый, ноги не держат, руки трясутся и весь в морщинах.
        > Пока мальчик линукс патчил и ядро новое ждал, вся жизнь прошла.

        Основано на реальных событиях.

        Прыщи. Сказка о потерянном времени.
        Ответить
      • https://web.archive.org/web/20161205192547/http://vxheaven.org/bhc/bhc15/bhc15-07.txt
        █ Одному мальчику в детстве попалась дискета с линаксом, и теперь он одепт ░▒▒░
        █ свободного  кода  доступа  к исходникам через гпль два ноль, компелирует  ░░
        ▓ кернул  модули, да так и помрет за этим неблагодарным делом - потому что ░  ░
        ▒ пока  он откомпелирует, злоебучий троволдас уже успевает выпустить новую ▒░░▒
        ░ версею своего поганого кернала! Но! Чтобы ему небыло обидно, уже другому ▓▒▒▓
        ▒ мальчику,  злые пидарасы подарили в детстве лицензионную версию венды, и ████
        ▓ теперь  он,  не зная отдыху, трудится в штате вошенгтон, округ колумбия, ████
        █ на  благо  копеталистической империи зла. Нету в жизни справедливости. И ▓██▓
        █ вот,  один  из  них теперь кричит, что дескать, билли клинтон-гейц - наш ▒▓▓▒
        █ отец родной, а другой говорит, что мол, линас тороволдас ни кто иной как ░▒▒░
        █ христос  воскресе, и пришел дать нам правду и истину, в то время как (на  ░░
        █ самом-то деле) только одно БХЦ и авторизовано раздавать истину и правду, ░  ░
        █ а все остальные токо гребут бабло лопатою, и в рот вас всех ебали.       ▒░░▒
        Ответить
        • Одному мальчику в детстве попалась книга по крестоговну, и теперь он одепт крестопарашного метапрограммирования на шаблонах и констэкспрах, изучает говностандарт, да так и помрет за этим неблагодарным делом - потому что пока он выучит, злоебучий страуступ уже успевает выпустить новую версею своего поганого говностандарта!
          Ответить
            • Один мальчик с детства интересовался компьютерами, проводил за ними целые дни. Он мог бы стать разработчиком ААА игр, мог бы улучшить шедулер операционной системы, придумать сверхбыстрый алогиртм сравнения строк, стать мейнтейнером проекта, важного для работы Интернета в конце концнов.

              Вместо этого ему попалась книжка про PHP, и мальчик всё свою жизнь проработал "веб программистом" в дизайн студии среди менеджеров по продажам баннеров.
              К сорока годам, когда он уже ничего не мог сделать, кроме небольшого сайта на битрикс по продаже макарон, он уже и забыл, что когда-то умел использовать debug.com, синхронизироваться с обратным ходом луча, и использовать переполнение буфера чтобы поломать программу
              Ответить
              • Зато на свою зарплату он мог себе позволить питаться макаронами каждый день!
                Ответить
                  • Р. Лердорф. Книга о Вкусной и Здоровой Пище

                    7-е изд. дополненное / Под ред. Э. Гутманс и З. Сураски

                    Пыхопромиздат 2015 г.
                    Ответить
              • > мог бы улучшить шедулер операционной системы

                schedutil, да

                > стать мейнтейнером проекта, важного для работы Интернета

                leftpad, colors, faker.

                > придумать сверхбыстрый алогиртм сравнения строк

                Большинство стандартных либ у языков до сих пор не осилили KMP.

                > он уже и забыл, что когда-то умел использовать debug.com

                И правильно сделал что забыл это говно мамонта.
                Ответить
              • > мог бы улучшить шедулер операционной системы

                https://ck-hack.blogspot.com/2021/08/514-and-future-of-muqss-and-ck-once.html
                Having missed the update for the 5.13 kernel entirely, I thought I'd just skip ahead to merge up with 5.14 and started looking at/working on it today. The size of the changes are depressingly large and whilst it's mostly trivial changes, and features I wouldn't implement in MuQSS, I'm once again left wondering if I should be bothering with maintaining this patch-set, as I've mentioned before on this blog.

                The size of my user-base seems to be diminishing with time, and I'm getting further and further out of touch with what's happening in the linux kernel space at all, with countless other things to preoccupy me in my spare time.

                As much as I still prefer running my own kernel on my hardware, I'm having trouble motivating myself after the last 18 months of world madness due to Covid19 and feel that I should really sadly bring this patch-set to a graceful end. My first linux kernel patches stretch back 20 years and with almost no passion for working on it any more, I feel it may be long overdue.

                There is always the possibility that mainline linux kernel will be so bad that I'll be forced to create a new kernel of my own out of disgust, which is how I got here in the first place, but that looks very unlikely.


                Это в том числе результат непрерывных "улучшений" стандартного шедулера от редхатов и гуглов.
                Ответить
      • O дней без ответа уебку

        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/68134"])
        govnokod.*##div.entry-comments div.entry-comment-wrapper:has(p.entry-info > strong.entry-author a[href$="/68139"])
        Ответить
  • Никита из Беларуси, которому уже стукнуло 18 лет (в кои-то веки совершеннолетний подписчик) расскажет, как он принял себя.

    А – Админ, Н – Никита.

    А: Вопрос, с которого я всегда начинаю: ваша ориентация, как осознали?

    Н: Гей. Ещё в школе в возрасте 14 лет, когда посмотрел первое гей-порно и понял, что нравятся парни. Начал нравится одноклассник.

    ***

    Именно поэтому я считаю, что нужно запретить геев, трансов и прочих содомитов, потому что дети впервые их видят и становятся такими же.
    Ответить
  • Никита из Беларуси, которому уже стукнуло 18 лет (в кои-то веки совершеннолетний подписчик) расскажет, как он принял себя.

    А – Админ, Н – Никита.

    А: Вопрос, с которого я всегда начинаю: ваша ориентация, как осознали?

    Н: Гей. Ещё в школе в возрасте 14 лет, когда посмотрел первое гей-порно и понял, что нравятся парни. Начал нравится одноклассник.

    ***

    Именно поэтому я считаю, что нужно запретить геев, трансов и прочих содомитов, потому что дети впервые их видят и становятся такими же.
    Ответить
    • А: Что-либо изменилось после признания в отношениях с друзьями?

      Н: Знаете, ничего не изменилось. Только если стало жить проще, ведь ничего не скрываю, ещё добавились гейские шутки, причем смешные. Потому что это норма. От того, что ты нетрадиционной ориентации, ничего не должно меняться в жизни. Максимум принятие того, кем ты являешься.

      ***

      Ситуация прямо как на говнокоде. Окно Овертона расширилось и няшных теперь большинство.
      Ответить
    • А: Что-либо изменилось после признания в отношениях с друзьями?

      Н: Знаете, ничего не изменилось. Только если стало жить проще, ведь ничего не скрываю, ещё добавились гейские шутки, причем смешные. Потому что это норма. От того, что ты нетрадиционной ориентации, ничего не должно меняться в жизни. Максимум принятие того, кем ты являешься.

      ***

      Ситуация прямо как на говнокоде. Окно Овертона расширилось и няшных теперь большинство.
      Ответить
      • Еще одна подписчица решилась открыться. Юная Злата из Ижевска поделилась своими откровениями.

        А – админ, З – Злата.

        А: Итак, привет, Злата. Какая у вас ориентация? Во сколько лет осознали и при каких обстоятельствах?

        З: Я пан. Я не помню, но осенью 2018 года одна персона, а точнее моя подруга, предложила мне встречаться. Я долго думала, но все же приняла ее предложение. Далее следует расставание из-за расстояния, а позже осознание того, что мне могут понравиться абсолютно все люди, ибо был краш из тик-тока, который был трансом. Вот так вот.
        Ответить
      • Еще одна подписчица решилась открыться. Юная Злата из Ижевска поделилась своими откровениями.

        А – админ, З – Злата.

        А: Итак, привет, Злата. Какая у вас ориентация? Во сколько лет осознали и при каких обстоятельствах?

        З: Я пан. Я не помню, но осенью 2018 года одна персона, а точнее моя подруга, предложила мне встречаться. Я долго думала, но все же приняла ее предложение. Далее следует расставание из-за расстояния, а позже осознание того, что мне могут понравиться абсолютно все люди, ибо был краш из тик-тока, который был трансом. Вот так вот.
        Ответить
        • А: Какие плюсы и минусы вы видите в каминг-ауте?

          Э: Из плюсов:
          + Вы становитесь честнее как с собой, так и с окружающими;
          + Вам не нужно скрывать свою особенность с человеком своего пола перед близкими;
          + Вы перестаете бояться, что вас увидят за работой кто-то из друзей или родственников.

          Из минусов:
          – Все люди относятся к PHP-сообществу по-разному, поэтому вы можете встретиться с большим количеством негатива;
          – От вас могут отвернуться знакомые, друзья и даже родственники;
          – В вашу сторону могут лететь оскорбления, издевки, а кто-то может даже применить насилие;
          – У вас могут возникнуть проблемы в учебном заведении или на работе.
          Ответить
    • А – Админ, Н – Никита.

      Н: Я Гей.
      А: А? что? мне похуй кто ты, мне надо openssl пропатчить на семи серверах, не до тебя сейчас
      Ответить
  • Из недр "Госуслуг" (какая-то хрень, связанная с обработкой обращений граждан):
    SELECT
    appeal.id
    AS "Номер сообщения",
    case when appeal.source_type = 'SITE' then 'ЕПГУ'
    when appeal.source_type = 'DEPARTMENT' then 'Сайт'
    when appeal.source_type = 'MOBILE' then 'Мобильное приложение'
    when appeal.source_type = 'CALL_CENTER' then 'ПОС'
    when appeal.source_type = 'MP_HOUSE' then 'МП Дом'
    when appeal.source_type = 'YAKUTIA' then 'ВСПС Якутия'
    when appeal.source_type = 'VOLGOOBL' then 'ВСПС Волгоградская область'
    when appeal.source_type = 'COVID_VACCINATION' then 'ЕПГУ лист ожидания (вакцинация)'
    else appeal.source_type end
    AS "Источник",
    case when head_org.alt_name is null then head_org.name
    when trim(head_org.alt_name) = '' then head_org.name
    when trim(head_org.alt_name) = '-' then head_org.name
    when length(head_org.alt_name) < 2 then head_org.name
    else head_org.alt_name end AS "Верхнеуровневый ЛКО",
    sd.name
    AS "Категория сообщения",
    ssd.name
    AS "Подкатегория сообщения",
    appeal.fact_name
    AS "Факт сообщения",
    case when forward_opa.alt_name is null then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '' then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '-' then appeal.forwarded_org_personal_area_name
    when length(forward_opa.alt_name) < 2 then appeal.forwarded_org_personal_area_name
    else forward_opa.alt_name end AS "Поступило в организацию",
    case when opa.alt_name is null then appeal.org_personal_area_name
    when trim(opa.alt_name) = '' then appeal.org_personal_area_name
    when trim(opa.alt_name) = '-' then appeal.org_personal_area_name
    when length(opa.alt_name) < 2 then appeal.org_personal_area_name
    else opa.alt_name end AS "Текущая организация",
    Ответить
  • Из недр "Госуслуг" (какая-то хрень, связанная с обработкой обращений граждан):
    SELECT
    appeal.id
    AS "Номер сообщения",
    case when appeal.source_type = 'SITE' then 'ЕПГУ'
    when appeal.source_type = 'DEPARTMENT' then 'Сайт'
    when appeal.source_type = 'MOBILE' then 'Мобильное приложение'
    when appeal.source_type = 'CALL_CENTER' then 'ПОС'
    when appeal.source_type = 'MP_HOUSE' then 'МП Дом'
    when appeal.source_type = 'YAKUTIA' then 'ВСПС Якутия'
    when appeal.source_type = 'VOLGOOBL' then 'ВСПС Волгоградская область'
    when appeal.source_type = 'COVID_VACCINATION' then 'ЕПГУ лист ожидания (вакцинация)'
    else appeal.source_type end
    AS "Источник",
    case when head_org.alt_name is null then head_org.name
    when trim(head_org.alt_name) = '' then head_org.name
    when trim(head_org.alt_name) = '-' then head_org.name
    when length(head_org.alt_name) < 2 then head_org.name
    else head_org.alt_name end AS "Верхнеуровневый ЛКО",
    sd.name
    AS "Категория сообщения",
    ssd.name
    AS "Подкатегория сообщения",
    appeal.fact_name
    AS "Факт сообщения",
    case when forward_opa.alt_name is null then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '' then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '-' then appeal.forwarded_org_personal_area_name
    when length(forward_opa.alt_name) < 2 then appeal.forwarded_org_personal_area_name
    else forward_opa.alt_name end AS "Поступило в организацию",
    case when opa.alt_name is null then appeal.org_personal_area_name
    when trim(opa.alt_name) = '' then appeal.org_personal_area_name
    when trim(opa.alt_name) = '-' then appeal.org_personal_area_name
    when length(opa.alt_name) < 2 then appeal.org_personal_area_name
    else opa.alt_name end AS "Текущая организация",
    Ответить
    • to_char(appeal.created_at, 'DD.MM.YYYY')
      AS "Дата поступления сообщения",
      to_char(appeal.answer_at, 'DD.MM.YYYY')
      AS "Дата планируемого завершения",
      to_char(appeal.completed_at, 'DD.MM.YYYY')
      AS "Дата фактического завершения",
      appeal.stage_name
      AS "Текущая стадия",
      appeal.status_name
      AS "Текущий статус",
      case when ((appeal.stage = 'COMPLETED' AND appeal.completed_at > appeal.answer_at) OR (appeal.stage <> 'COMPLETED' AND now() > appeal.answer_at)) then 'Да' else 'Нет' end AS "Просрочено",
      case when appeal.fast_track = true then 'Да' else 'Нет' end AS "Фаст-трек",
      case when appeal.answer_type != 'NO_ANSWER' then appeal.answer_type_name else null end AS "Тип решения",
      appeal.feedback_answer_mark
      AS "Оценка ответа заявителем"
      FROM appeal
      left join subject_dictionary sd on appeal.subject_dictionary_id = sd.id
      left join subsubject_dictionary ssd on appeal.subsubject_dictionary_id = ssd.id
      left join org_personal_area opa on opa.id = appeal.organization_personal_area_id
      left join org_personal_area forward_opa on forward_opa.id = appeal.forwarded_to_organization_personal_area_id
      left join org_personal_area head_org on head_org.id = opa.root_id
      WHERE appeal.status IS DISTINCT FROM ('COMPLETED_MODERATOR_DECLINE')
      AND appeal.common_stage IS DISTINCT FROM ('COLLECT_SIGNATURES')
      AND appeal.created_at >= '2021-06-01'
      AND appeal.subject_id in (327, 328, 329)
      order by appeal.id;
      Ответить
  • Из недр "Госуслуг" (какая-то хрень, связанная с обработкой обращений граждан):
    SELECT
    appeal.id
    AS "Номер сообщения",
    case when appeal.source_type = 'SITE' then 'ЕПГУ'
    when appeal.source_type = 'DEPARTMENT' then 'Сайт'
    when appeal.source_type = 'MOBILE' then 'Мобильное приложение'
    when appeal.source_type = 'CALL_CENTER' then 'ПОС'
    when appeal.source_type = 'MP_HOUSE' then 'МП Дом'
    when appeal.source_type = 'YAKUTIA' then 'ВСПС Якутия'
    when appeal.source_type = 'VOLGOOBL' then 'ВСПС Волгоградская область'
    when appeal.source_type = 'COVID_VACCINATION' then 'ЕПГУ лист ожидания (вакцинация)'
    else appeal.source_type end
    AS "Источник",
    case when head_org.alt_name is null then head_org.name
    when trim(head_org.alt_name) = '' then head_org.name
    when trim(head_org.alt_name) = '-' then head_org.name
    when length(head_org.alt_name) < 2 then head_org.name
    else head_org.alt_name end AS "Верхнеуровневый ЛКО",
    sd.name
    AS "Категория сообщения",
    ssd.name
    AS "Подкатегория сообщения",
    appeal.fact_name
    AS "Факт сообщения",
    case when forward_opa.alt_name is null then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '' then appeal.forwarded_org_personal_area_name
    when trim(forward_opa.alt_name) = '-' then appeal.forwarded_org_personal_area_name
    when length(forward_opa.alt_name) < 2 then appeal.forwarded_org_personal_area_name
    else forward_opa.alt_name end AS "Поступило в организацию",
    case when opa.alt_name is null then appeal.org_personal_area_name
    when trim(opa.alt_name) = '' then appeal.org_personal_area_name
    when trim(opa.alt_name) = '-' then appeal.org_personal_area_name
    when length(opa.alt_name) < 2 then appeal.org_personal_area_name
    else opa.alt_name end AS "Текущая организация",
    Ответить
    • to_char(appeal.created_at, 'DD.MM.YYYY')
      AS "Дата поступления сообщения",
      to_char(appeal.answer_at, 'DD.MM.YYYY')
      AS "Дата планируемого завершения",
      to_char(appeal.completed_at, 'DD.MM.YYYY')
      AS "Дата фактического завершения",
      appeal.stage_name
      AS "Текущая стадия",
      appeal.status_name
      AS "Текущий статус",
      case when ((appeal.stage = 'COMPLETED' AND appeal.completed_at > appeal.answer_at) OR (appeal.stage <> 'COMPLETED' AND now() > appeal.answer_at)) then 'Да' else 'Нет' end AS "Просрочено",
      case when appeal.fast_track = true then 'Да' else 'Нет' end AS "Фаст-трек",
      case when appeal.answer_type != 'NO_ANSWER' then appeal.answer_type_name else null end AS "Тип решения",
      appeal.feedback_answer_mark
      AS "Оценка ответа заявителем"
      FROM appeal
      left join subject_dictionary sd on appeal.subject_dictionary_id = sd.id
      left join subsubject_dictionary ssd on appeal.subsubject_dictionary_id = ssd.id
      left join org_personal_area opa on opa.id = appeal.organization_personal_area_id
      left join org_personal_area forward_opa on forward_opa.id = appeal.forwarded_to_organization_personal_area_id
      left join org_personal_area head_org on head_org.id = opa.root_id
      WHERE appeal.status IS DISTINCT FROM ('COMPLETED_MODERATOR_DECLINE')
      AND appeal.common_stage IS DISTINCT FROM ('COLLECT_SIGNATURES')
      AND appeal.created_at >= '2021-06-01'
      AND appeal.subject_id in (327, 328, 329)
      order by appeal.id;
      Ответить
    • > case when opa.alt_name is null then appeal.org_personal_area_name
      > when trim(opa.alt_name) = '' then appeal.org_personal_area_name
      > when trim(opa.alt_name) = '-' then appeal.org_personal_area_name
      > when length(opa.alt_name) < 2 then appeal.org_personal_area_name
      > else opa.alt_name end AS "Текущая организация",

      А что удивляет? d++ вроде когда-то говорил, что нужно писать по 5000 строк sqlя в месяц.
      Ответить
      • Я программирую на PHP и меня давно ничто не удивляет.
        Кстати, этот SQL-запрос был как раз получен из тестового окружения внутренней информационной системы "Госуслуг", написанной на PHP (Yii2). Там есть раздел автоматической отправки кому-то по электронной почте каких-то системных отчётов, и в настройках этих отчётов тупо в текстовом поле прописывается SQL-запрос к базе данных, который и должен сформировать Excel-файл.
        Ответить
        • >Я программирую на PHP и меня давно ничто не удивляет.

          золотые цитаты говнокода
          Ответить
          • Шар земной, устав вращаться,
            Может вдруг с цепи сорваться
            Иль ко всем чертям умчаться,
            Превратив живое в тлен.

            Ничему не удивляться,
            Ничему не удивляться
            Никогда не должен
            Истый джентльмен.
            Ответить
  • QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji).
    Ответить
  • QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji).
    Ответить
    • А нельзя для кандзи использовать Unicode внутри byte/binary? Или там какая-то сверхэкономичная кодировка?
      Ответить
      • Как апофеоз пиздеца, юникод там не стандартизирован и ридеры до сих пор пытаются определить кодировку эвристикой.
        Ответить
        • Изобретал японец. Он не подумал, что кому-то понадобятся символы за пределами JIS. Хорошо хоть, для базовой латиницы кодировку сделал.

          Напоминает ад с кодировками в продуктах «Адоба» и других американских компаний в 1990-х. Они забывали, что кому-то нужны символы за пределами ASCII.
          Ответить
      • > Анимешники

        Интересно, а раскладывание битов змейкой имеет какой-то практический смысл? Или им просто было скучно раскладывать биты сверху-вниз слева-направо?

        З.Ы. Ёбаная наркомания...
        Ответить
          • В «Data matrix» бустрофедон наклоном π/4 (45°), биты уложены черепичками разной формы.

            Проще, чем в QR, но сложнее, чем в «Aztec».
            Ответить
            • > черепичками

              Видимо эти плиточки во всех 2D кодах как-то связаны с формой дефектов на бумаге, чтобы всякие пятна, изгибы и блики как можно меньше байтов убивали. Код Рида-Соломона не умеет выправлять отдельные биты.
              Ответить
              • В PDF417 всё было совсем тупо: там горизонтальные строчки битов одна под другой. Но он вроде рассчитан на стационарные сканеры, а не на фотоаппараты.
                Ответить
        • Оказывается, есть ещё Aztec. В нём, кажется, всё тупо: улитка от центра квадрата.
          Ответить
      • > ISO

        Блин, почему твои стандарты такие дорогие? 200 швейцарских франков за пдфку...
        Ответить
        • Люди старались, придумывали, ну
          Ответить
  • PerlHP is an attempt to give Perl the same simplicity and hackiness that PHP has spent years trying to forget. It lets you put together simple dynamic web pages more quickly than writing them in plain Perl, and with less mental anguish than writing them in PHP. It is also cheerfully obfuscated, but luckily you don't need to actually look at it to use it.

    PerlHP started out as a joke, but it did turn out to be useful - for instance, I wrote this page using it. It can reduce both PHP and Perl programmers to incoherent rambling, which I also view as a success.

    It has its own homepage. Visit it for more information!

    https://wakaba.c3.cx/s/code/perlhp
    Ответить
    • #!/usr/bin/perl
       use PerlHP;
       <html><body>
       <%
       print "<h1>HTML output</h1>";
       header("X-Header: Custom headers");
       cookie("name","value",$expires,"/path",".domain.com",$secure);
       $safe_string=escape_html($unsafe_string);
       echo "<h2>PHP-style output</h2>";
       %>
       </body></html>


      Отсюда: https://wakaba.c3.cx/perlhp/PerlHP.html
      Ответить
    • Стоп, а PHP ведь и зародился как фреймворк на перле? История пошла по второму кругу?

      З.Ы. А нет, на сишке, если верить википедии.
      Ответить
      • Где-то было видео, где "Расмус" говорил, что "PHP" был дополнением к "Si", но никто не хотел писать на "Si", поэтому "PHP" становился полноценным языком программирования.
        Ответить
  • Давайте токсить друг друга. Я начну:

    — Fike, почему ты взял у меня с полки пирожок, но не сказал?
    — Ничего не поделаешь, атомарного коммита не существует.
    — А на 1:1 почему вчера не пришёл?
    — Проблема двух генералов, дурачок.
    Ответить
    • > — Проблема двух генералов, дурачок.

      Кстати, почему часто говорят о проблеме курицы и яйца, но ничего не говорят о проблеме курицы и питуза? Т.е. как так могло получиться, что появился и питуз и курица, которые друг с другом сочетаются?
      Что появилось раньше, FTP-сервер или FTP-клиент?
      Ответить
      • > Т.е. как так могло получиться, что появился и питуз и курица, которые друг с другом сочетаются?
        — Возможно, сначала появились питузы, некоторые из которых решили стать курицами, как в некоторых видах лягушек.
        — Возможно, сначала появились курицы, с которыми сочетались не-питузы, и от этого союза появились первые петухи, которые тоже стали сочетаться с курицами и плодить себе подобных.
        — Возможно, и питузы и курицы были выведенны отдельно, в разных питомниках исключительно с целью выведения сочетаемой пары особей.
        Ответить
        • > появились первые петухи

          Был свидетелем самозарождения целой стаи питузов на одном форуме программистов в интернете.
          Ответить
          • Мурмура́ция (от лат. murmuratio — «бормотание, жужжание, карканье») — явление скоординированного полёта огромных стай птиц (скворцов, галок, ворон и т. д.), образующих динамические объёмные фигуры переменной плотности.
            Ответить
  • Нужно найти известного петуха на хабре. На аватарке у него длинные прямые волосы, похож на молодого священника. Работает (или работал) в Гугл.
    Ответить
  • https://habr.com/ru/post/599415/

    Питух нашёл какую-то «уязвимость», но как воспроизвести, разумеется, не написал. «Отправить с нулевого порта» - это что нахуй такое? Разьебать айфон и вызвать kernel panic - это считается уязвимостью?
    Ответить
    • > «Отправить с нулевого порта» - это что нахуй такое

      Ну тут же написано -- с девайса, которому айфон раздаёт инет. tcp.source_port == 0, вестимо.
      Ответить
        • Конечно. Но для айфона весьма минорная т.к. вряд ли кто-то раздаёт инет недоверенным девайсам.

          А вот представь, если бы какая-нибудь циска зависала от подобного.
          Ответить
          • > Хуиска

            Какое оборудование ты имеешь в виду и что бы было? У нас она используется в компании. Если бы был такой баг, вряд ли кто-то бы эксплуатировал - никому это не выгодно.

            А вот если бы можно было ломать WiFi всего мосметро, то да.
            Ответить
            • > Если бы был такой баг, вряд ли кто-то бы эксплуатировал - никому это не выгодно.

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

              Внутри локалки всем похуй, конечно. Вряд ли кто-то в 2021 открытый вайфай держит.

              Но в целом, не особо нормально когда роутер падает от трафика, который через него идёт.
              Ответить
    • > После этого был выпущен патч, который отключил возможность отправлять пакеты с порта 0, что делало невозможным атаку с устройств Apple. Однако воспроизвести атаку все также можно было с linux системы.

      Лол, в лучших традициях майкрософта и SMB...
      Ответить
  • Однажды давным давно, играясь с Паскалем, DOS графическим режимом и форматом BMP, заметил что формат ICO очень на него похож и немного отличается заголовком. Склеив их как получилось заметил что не могу проводником зайти в папку содержащую данную иконку. Т.е. Windows пытаясь отрисовать иконку завершала процесс который запустил отрисоку иконки. Просто рассказал друзьям, те ещё друзьям.
    А потом спустя 4 года мне показали експлойт, который использовал выход за границы памяти при неверном заголовке файла ICO и поднимал шелл на порту ХХХ. И самое прикольное было вставить неверную иконку в качестве Favicon при этом спрайт 16х16 оставить корректным, а неправильный заголовок расместить в другом спрайте, то просто посетив страницу с такой иконкой - ты открывал на порту ХХХ (заранее определялся при изготовлении иконки) открытый Telnet от имени администратора в полностью невидимом виде. до перезагрузки компьютера. Даже в списке процесов его небыло, использовалась память каких то драйверов вроде мышки.
    Причём использовались именно те биты которые я случайно нашёл 4 года назад и подумал - там можно просто закрыть любую программу, какая же тут ценность.
    Ответить
    • Кстати, я вам напиздел, понимаете, напиздюлькал, хи-хи, «Dos» я не застал, потому что он старше меня UwU
      Ответить
    • А есть же зеркало хабра, где все статьи бекапят?
      Ответить
    • А есть же зеркало хабра, где все статьи бекапят?
      Ответить
      • sohabr
        Внезапно, ценная вещь, на нынешнем быдлебыдл full disclosure удаляют.
        Вообше если посвпоминать - даже нихуя не full
        Ответить
  • тут, оказывается, новый User-Agent завезли

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA

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

    Sec-CH-UA: "(Not(A:Brand";v="8", "Chromium";v="98"


    буду проституткой.жпг
    Ответить
    • Вангую, что все браузеры релизнутся с одним и тем же UA: "Mozilla"; v="5", "Chrome"; v="51", "Safari"; v="537", "Edg", v="91"
      Ответить
      • Пока ещё нет. Этот заголовок уже реально используется в некоторых сборках. Реальный пример Файка не выдуманный, а настоящий.
        Ответить
        • > Реальный пример

          Randomizing order and string with escaped characters to ensure proper parsing and prevent ossification.

          О как.
          Ответить
    • Web - фрактал говна.
      Если подумать, User-Agent вообще нахер не нужен и более того, сами ебучие гоогле не любят, когда Vary: User-Agent
      Ответить
      • «Гугл» банит сайты за «клоакинг» (выдачу разных страниц разным юзер-агентам), но при этом сам в своих сервисах выключает половину функций, если зайти с некошерным юзер-агентом.

        Quod licet Iovi, non licet bovi.
        Ответить
          • Он изредка на некоторые страницы заходит не со своим юзерагентом, а с юзерагентами некоторых популярных веб-браузеров. Если сервер отдаёт другой контент, Гугл его может понизить в выдаче или ещё как-нибудь наказать. Сравнение, естественно, неточное (ибо запросы неидемпотентны и какие-то мелочи типа текущего времени могут обновляться).
            Ответить
            • А ебучий "LinkedIn" получается обходит эти проверки?
              Ответить
        • Гугл сукамразь, я зашёл с ангоглед хромиума, а он мне не разрешил экран пошарить!
          Ответить
        • User-Ag~: ZX Spec~

          да-да, знаю что спектрумы были задолго до мема с тильдой и восемью символами
          Ответить
  • Det gick inte att leverera till följande mottagare eller grupper:

    Тупые уебаны отменили мне покупку билета на «Аэрофлот» (причём не сразу). Я отправил им письмо на no-reply@ с вопросом какого хуя, они ответили мне «Get dick».
    Ответить
    • Он же привился, вот его и скрючило нахуй! Кто тут у нас ещё прививался? Борманд? Вот и посмотрим, что с ним станет (или уже стало, если считать тот случай с носочками uwu).
      Ответить
        • Я думаю, что вакцина превращает человека в более радикальную версию самого себя. Вот бормандяша о себе в женском роде говорила, потом привилась и надела носочки.

          А дефекейт, наверное, продал сервера, распустил фирму и поехал на Донбасс крошить нацистов.
          Ответить
        • Он привился ДО того, как надел носочки. Значит носочки он надел вследствие прививки!
          Ответить
          • Вот так и работают история с археологией, когда какие-то ключевые события проебут...
            Ответить
            • Не знаю, как там насчёт археологии, а у меня в генту мейнтейнер сделал кривой ебилд, в итоге мне пришлось пердолиться, чтобы запустить броузер.

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

                  Badwolf
                  Basilisk
                  Chromium
                  Dillo
                  Palemoon (для I2P)

                  Но мне было нечего открыть...
                  Ответить
                  • Dillo вроде даже CSS не поддерживает? Им только сайт Столлмана смотреть.
                    Ответить
                      • Вот представь себе контроллер, где нихуя нет.

                        А теперь представь броузер, где даже «нихуя» нет, вот это dillo.
                        Ответить
                    • Дай ссылку на найт Столлмана. Он против CSS?
                      Ответить
                      • https://stallman.org/stallman-computing.html

                        >How I use the Internet

                        usually fetch web pages from other sites by sending mail to a program (see https://git.savannah.gnu.org/git/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try lynx first, then a graphical browser if the page needs it (using konqueror, which won't fetch from other sites in such a situation).
                        Ответить
                          • Дед как обычно смотрит в корень.

                            > usually fetch web pages from other sites by sending mail to a program
                            Кто тут клиент ГК для телеграма делал?
                            Чем по сути отличается чтение через телегу и чтение через почтовый клиент?
                            Ответить
                            • Так я тольк ГК так читаю. Но и ссылки, которые вы здесь кидаете, в превью смотрю.
                              Блядь, да я тоже поехавший???!!!
                              Ответить
                          • Я раньше тоже потешался над всякими дураками, которые там в Интернете не оставляют о себе информации.

                            А потом мне позвонили с незнакмого номера, и назвали по ФИО.
                            может, не такой уж Столллман и дурачок
                            Ответить
                            • Одна тян писала в Твитторе, что позвонили мошенники, представились сотрудниками банка. Её спасло, что они назвали не реальное имя, а файку, под которой она регистрировалась во «Вконтакте». Она сразу поняла, с кем имеет дело, и пожелала вечера в хату. А было бы реальное имя, она бы клюнула на наживку.
                              Ответить
                              • > пожелала вечера в хату
                                Вот не понимаю этого. Тебя кинуть пытаются, а ты такой «здравствуйте, многоуважаемые»...

                                Нужно было спросить, как под шконкой спится; как с параши есть, вкусно ли; может ли звонящий спрятать банку сгущёнки...
                                Ответить
                              • Государство: "Мы заботимся о вашей конфиденциальности, потому заставляем каждый сайт спрашивать у вас разрешение перед установкой куки".

                                То же государство: "Мы не можем поймать ботнетчиков, шифрователей, лохотронщиков, не можем закрыть ecatel, мы не знаем кто и как слил ваши данные тюремным разводилам, и поймать разводил мы тоже не можем. Извините".
                                Ответить
                              • ВСЕГДА нужно класть трубку, когда звонят из банка. По какому бы вопросу ни звонили и с какого бы номера ни звонили. И перезванивать самому в банк по официальному номеру.

                                Номер можно подделать. И СМС вам тоже могут перехватить, зарегистрировав фейковый номер как у вас где-нибудь в Зимбабве (подкупив оператора).
                                Ответить
                                • А еще нужно всегда переходить улицу на зелёный сигнал светофора, делать бекапы, и дважды в день чистить зубы.

                                  Но
                                  Ответить
                                  • Иногда я чистю зубы 1 раз в день. А бекапить мне нечего, к счастью.
                                    Ответить
                              • Некоторые тян «ВКонтакте» пишут «забавную» фамилию, вместо настоящей. Например, «Ресничкина», «Милая», «Ма», и так далее.
                                Ответить
  • https://nitter.fdn.fr/demensdeum/status/1479554295297105921

    Передаю по значению:
    –— На собесе: «Даны два массива, в одном пики точенные, в другом члены дроченные. Объедините и найдите верблюда, используя алгоритм divide and conquer». Реальность: Таска hight, у каши «Агуша» в заголовке название «Фруто Няня», срочно исправить.

    —– Ну и как, исправила на фронте, потому что в бд уже ни у кого доступа нету?)
    Ответить
    • Вообще мы эту штуку тут мацаем очень давно уже, наверное потому, что это не шутка, а правда.
      Ответить
      • Ты видел, она там сиськи код показала?

        Естественно. Хуярим костыль: 
        item.name === "Агуша" && item.manufacturer === "Вимм-Билль-Данн"
        ? item.name
        : item.name = "Фруто Няня"


        Это же пиздец какой-то.
        Ответить
        • Через год там будет цепочка из семи названий, причем во всех семи местах, включая базу.

          Галерный энтерпрайз -- он ведь и правда такой.
          Ответить
          • Нарыл там ещё один комментарий: «Это ты чего без иммутабельгости? Геттер же надо добавить для name».
            Ответить
            • > иммутабельгости

              иммутабельgostи.

              Я пробовал недавно написать иммутабельную чисто функциональную сортировку пузырьком - херня какая-то нечитаемая получилась. Поэтому я против функциональной питушни (по крайней мере в Си)
              Ответить
              • > пузырьком
                А теперь возьми какой-нибудь адекватный алгоритм. Основанные на Divide & Conquer обычно хорошо получаются. Тот же Mergesort, например.
                Ответить
                • Предлагаешь выбирать алгоритмы под парадигму? Ну типа "хммм, вот этот алгоритм имеет временную сложность O(log n) но он что-то хуево записывается в парадигма_name, лучше реализую алгоритм с временной сложностью O(n^2) который очень элегантно реализуется в рамках этой охуительно полезной парадигмы"
                  Ответить
    • Наконец-то экранка с youtube, думал не уже дождусь.
      Еще нужны бегунки
      Ответить
      • Ему удалось изменить отношение общества к психически больным: если прежде на таких людей смотрели, как на животных, то затем стало преобладать сочувствие и сострадание, желание помочь. Как доктор Кащенко хотел сделать советскую психиатрию лучшей в мире.

        В 1905 г.Петр Кащенко участвовал в революционных событиях в Москве, помогал раненым во время восстания на Пресне. В 1905—1906 гг. возглавил межпартийный Красный крест. Организатор и председатель первого в России Центрального статистического бюро для учёта психических больных.
        Ответить
        • Я слышал. Я про эту хуйню с кащенитами когда-то на лурке вычитал.
          Ответить
          • Фразы «зойчем ви тгавите пейсателя», «гойловной моск», «поцчему ви спгашиваете», «торагой» наверняка встречались на сайтах.
            Ответить
            • Прошу Вас принять срочные меры но выселению с жилого дома б-р Днепровский д. 8 и в частности со второго подъезда следующих жильцов.

              Кв. 22 — живут больные люди мешают жить мне тем, что психически ненармальные, разводят блох, тараканов и клопов и подбрасывают их мне, и ещё разводят коней и апстят под моими окнами.

              Кв. 23 — живут очень странные люди ни с кем не общаются, по ночам поют запрещённые песни, читают запрещённые книги.

              Кв. 25 — Слишком гордые и независимые, очень высоко себя ставят, хотя на самом деле они настоящее говно.

              Кв. 26 — живут постоянно новые люди и все какието выблядки и страшилы.
              Кв. 28 это вообще не люди
              Кв. 29. живут пъяницы и алкаши пъют, всё что горит и что пьянит
              Кв. 31 очень странные люди и мнительные исташные.
              Кв. 32 пъяницы и развратники и ещё ко всему воришки
              Кв. 33 живут какието пришельцы и у них всё время течёт с крыши на моё крышу и я не могу
              Кв. 34 люди вообще не живут а может и живут но я их не вижу
              Кв. 35 это пъяницы и развратники и вообще чёрт знае щто.
              Очень прошу вас срочно выселить этих людей с нашего подъезда и заселить хорошими людьми по моей рекомендации.

              С уважением Жарикова А. М
              Ответить
  • https://www.opennet.ru/opennews/art.shtml?num=56479

    Марак Сквайрс (Marak Squires), автор популярных пакетов colors (расцветка консоли node.js) и faker (генератор фиктивных данных для полей ввода), насчитывающих 2.8 и 25 млн еженедельных загрузок, разместил в репозитории NPM и на GitHub новые версии своих продуктов, включающие деструктивные изменения, целенаправленно приводящие к сбоям на стадии сборки и выполнения зависимых проектов. В результате действий Марака была нарушена работа многих проектов, включая AWS CDK, использующих указанные библиотеки - библиотека colors используется в качестве зависимости у 18953 проектов, а faker - у 2571.

    Эээ, у жабаскриптухов реально так принято, тянуть зависимости не из особого спецально огороженного места с проверенными версиями, в которых нихуя не сломано, а прям с гитхаба автора?

    У меня в контроллерах такой хуйни нет.
    Ответить
    • У тебя в контроллерах и расцветки консоли-то нет!
      Ответить
    • Комедия в двух актах:
      > Выложить код под MIT
      > Жаловаться, что корпорации используют код, не давая ничего взамен
      Ответить
      • Errata:
        Комедия "Стены плача хипстеров" в пяти актах:

        1. Выложить код под MIT на 3rd party площадки с длинными EULA
        2. Плакаться, что корпорации пользуются кодом, не давая ничего взамен
        3. Плакаться, что площадки пользуются пунктами в EULA
        4. Пользоваться кодом, который comes WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND
        5. Плакаться, что автор кода воспользовался пунктом лицензии
        Ответить
        • > 4. Пользоваться кодом, который comes WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND

          Пользоваться кодом?

          Хотя... В коде для медицины или какой-нибудь ядерной энергетики, наверное, нет этой фразы. Недаром в большинстве лицензий капсом напоминается, что для этих областей их либу юзать нельзя.
          Ответить
          • --Почему у вас ёбнула ядерная станция и завис кардиостимулятор?
            --прыщебляди соснули
            Ответить
            • - Почему мой кардиостимулятор больше не срет в консоль с подсветкой?
              - ШВАБОДКА! ШВАБОДКА! ШВАБОДКА!
              Ответить
              • MS тоже не далеко ушел.

                --Почему у вас левый хуй получил права администратора?
                --Ну понимаете, этот сайберкриминал послал спешали крафтд пэкет.
                --Так почему же вы ничего не сделали???
                --Мы сделали: мы выпустили патч, который не позволяет продуктам Microsoft слать спешали крафтд пэкет
                Ответить
                • Это про яббло. Но что мелкософт, что яббло – всё хуйня!
                  Ответить
    • > Эээ, у жабаскриптухов реально так принято, тянуть зависимости не из особого спецально огороженного места с проверенными версиями, в которых нихуя не сломано, а прям с гитхаба автора?
      ЕМНИП, все пакеты там качаются из «npm», а в «npm» заливаются проверенные версии, в которых нихуя не сломано (типа таких: https://www.npmjs.com/package/is-eq-four), но абсолютно ничего не мешает автору залить туда что угодно.

      > В ответ на совершённые действия GitHub заблокировал доступ Марака к своим репозиториям (90 публичных + несколько приватных)
      Очень удобно!
      Ответить
      • ничто не мешает ставить говно с гитхаба напрямую. В питончике я как-то так делал для пет-прожекта, вроде и в npm можно
        Ответить
      • > но абсолютно ничего не мешает автору залить туда что угодно.

        Т.е. автор может в том числе и старые версии поменять, или выпилить их нахер? Там никак не проверяются контрольные суммы скачиваемой через "npm" хуйни, ну чтобы автор в старые версии троянов не понабрасывал?
        Ответить
        • Старые вроде никак изменять нельзя, но «npm install govno» ставит последнюю версию. И если в package.json или как там в этом говне зависимости указываются не стоит явная версия — тоже будет скачана последняя.
          Ответить
          • хрю:
            npm install <git-host>:<git-user>/<repo-name>

            https://docs.npmjs.com/cli/v8/commands/npm-install

            Наверное, оно качает из транка, но может можно ревизию передать через собачку.

            в package.json можно указать версию, а можно не указывать
            в package-lock явно указываются все версии
            Ответить
            • Спасибо, человек-джаваскриптер!

              > npm install <git-host>:<git-user>/<repo-name>
              Ну это совсем говно, как мне кажется, такое юзать вне тестового полигона для прототипирования — это премия Дарвина.

              Казалось бы, причём здесь «Go»…
              Ответить
              • ну вот я нашел багу в нужном мне пакете, форкнул его, и прямо свой гит и захуячил туда:) что мне, выкладывать его что ли?
                Ответить
                • > что мне, выкладывать его что ли?
                  Делать PR в исходную репу и ждать релиза же.

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

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

                И PHPшников ещё ругали за то, что они всё говно складывали себе в репу.
                Ответить
        • looshch 6 hours ago
          хорош, нехуй бесплатно работать за этих охуевших!
          Ответить
          • glebfeklistov replied 11 hours ago

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


            Какой багор )))
            Ответить
        • да сука

          DennisCiba 8 hours ago
          Yeah, somone should create an open source project to color ASCII output thinking

          @Awilum
          Awilum 8 hours ago
          Yeah, somone should create an open source project to color ASCII output thinking

          I'm working on such project for PHP
          https://digital.flextype.org/thermage/

          I have idea to port it for JS.
          Ответить
          • Мне вот это понравилось:
            Dude.. how can you be mad for not receiving money from your code when you explicitly says at your license file that people don't need to pay you anything?
            
                MIT License
            
                Original Library
            
                    Copyright (c) Marak Squires
            
                Additional Functionality
            
                    Copyright (c) Sindre Sorhus sindresorhus@gmail.com (sindresorhus.com)
            
                Permission is hereby granted, free of charge, to any person obtaining a copy
                of this software and associated documentation files (the "Software"), to deal
                in the Software without restriction, including without limitation the rights
                to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
                copies of the Software

            CНауТ это выше хорошо расписал.
            Ответить
            • Это точно так же, как с kik, только наоборот. Могу я попросить вас добровольно дать мне то, что вы давать не обязаны по нашему же общему соглашению? Нет? Получай пизды, ублюдок.
              Ответить
    • Интересно, что первое предупреждение о прекращении разработки было опубликовано больше года назад. В сентябре 2020 года Марак потерял всё имущество из-за пожара, после чего в начале ноября в ультимативной форме призвал коммерческие компании, использующие его проекты, финансировать продолжение разработки, иначе он обещал прекратить сопровождение, так как не намерен больше работать бесплатно. До инцидента последняя версия colors была выпущена два года назад, а faker - 9 месяцев назад.

      Что касается мотивов внесения в пакеты деструктивных изменений, то вероятно Марак пытается дать урок корпорациям, пользующимся трудами сообщества разработчиков свободного ПО, но ничего не возвращающим взамен, или привлечь внимание к переосмыслению обстоятельств смерти Аарона Шварца. Аарон покончил жизнь самоубийством после возбуждённого против него уголовного дела, связанного с копированием научных статей из платной базы данных JSTOR, отстаивая идею предоставления свободного доступа к научным публикациям. Аарону были предъявлены обвинения в компьютерном мошенничестве и незаконном получении информации с защищённого компьютера, максимальный срок наказания по которым составлял 50 лет лишения свободы и штраф в миллион долларов (в случае заключения судебного соглашения и признания обвинений Аарону предстояло отсидеть в тюрьме 6 месяцев).

      Считается, что Аарон на фоне депрессии не выдержал давления судебной системы и несправедливости выдвигаемых обвинений (ему грозило 50 лет тюрьмы лишь за то, что он скачал содержимое базы данных научных статей, которые по его мнению должны распространяться без ограничения).


      Какой прекрасный, образцово-показательный doublethink!
      Ответить
      • Столлман: Ко-ко-ко, нельзя использовать проприетарное програмное обеспечение, ко-ко-ко, ведь его В ЛЮБОЙ МОМЕНТ МОГУТ ЗАКРЫТЬ, ку-ка-ре-ку!!!!

        Хотя нельзя давать человеку 50 лет даже если он спиздил все научные статьи мира
        Ответить
        • Спиздил 4,8 миллионов статей — 50 лет.
          Расстрелял 77 человек — 21 год.

          Итого, жизнь человека приблизительно равна 26,2 тысячам научных статей.
          Ответить
            • > was found guilty on Wednesday after tearing down and burning the flag which was flying at the Ames United Church of Christ in June.

              > found guilty of arson in the 3rd degree

              > person is guilty of Arson in the Third Degree when that person intentionally damages a building [or motor vehicle] by starting a fire [or causing an explosion].

              Я, конечно, не адвокат, но если флаг был не на здании, как это повреждает здание?
              Ответить
              • Сорвал флаг -- повредил здание. Американцы традиционно очень болезненно относятся к частной собственности (если ты не черный лутер, тогда тебе можно всё)
                Ответить
                • Story County Attorney Jessica Reynolds told KCCI since Martinez has a long history of harassment and was also charged as a habitual offender, he faced a harsher penalty.
                  "I believe him to be very dangerous," Reynolds said. "That's why my office recommended the maximum sentence."

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