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

    0

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

    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: (vanished) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
    #11: (vanished) https://govnokod.xyz/_25436
    #12: (vanished) https://govnokod.xyz/_25471
    #13: (vanished) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
    #32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
    #33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
    #34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
    #35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
    #36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
    #37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
    #38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
    #39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
    #40: https://govnokod.ru/26568 https://govnokod.xyz/_26568

    Запостил: gost, 18 Апреля 2020

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

    • Доброй ночи.
      Ответить
    • Прямой эфир линуса.
      https://youtu.be/pJ3gdZ3mrDk
      Ответить
      • >>> Send 0.1 BTC to receive 0.2 BTC back.
        Штобля?
        Ответить
      • В QR-коде ссылка на https://linuxgivebtc.com/, там внутри счётчик «оставшихся биткоинов» с вот таким кодом:
        var ctd = setInterval(function() {
        if (localStorage.getItem("bar")) {
            if (localStorage.getItem("bar") <= 90) {
                var new_count = localStorage.getItem("bar");
            } else if (localStorage.getItem("bar")) {
                var init_count = localStorage.getItem("bar");
                var new_count = init_count - Math.floor((Math.random() * 10) * 4 + 5);
            }
        } else {
            var init_count = Math.floor((Math.random() * (5000 - 5000) + 4000) + 1);
            var new_count = init_count - Math.floor((Math.random() * 10) * 4 + 5);
        }
        setProgress(new_count, 5000)
        
        localStorage.setItem("bar", new_count);
        
        if (init_count <= 300)
            clearInterval(ctd);
        if (new_count <= 9999 && init_count >= 2001)
            document.getElementById("leftBTC").innerHTML = "Left BTC";
        if (new_count <= 700 && init_count >= 301)
            document.getElementById("leftBTC").innerHTML = "Hurry up, not much more BTC left!";
        if (new_count <= 300)
            document.getElementById("leftBTC").innerHTML = "Last chance to get your BTC!";
        if (new_count <= 1000)
            document.title = new_count + " BTC left";
        if (new_count <= 500)
            document.title = "Get your " + new_count + " BTC now!";
        
        }, 6666);

        Какой багор )))

        Я думал, такие тупые разводки остались где-то в 2007-м.
        Ответить
        • Кстати, на указанный кошелёк — 18eSnh9REgummX8tmkzVKUYqjEf1WGhekt — пришло две транзакции: первая, видимо, тестовая (0.01050665 BTC), а вторая — положенные 0.1 BTC от какого-то немамонта. 700 баксов как с куста!
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Да.
              Ответить
              • Неплохо так потестили.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Если реальные косяки и всё падает - то вендоры материнок обновлённую прошивку всяко выпустят. Если секьюрити срочное - то майки скинут с апдейтом на винду. А на остальные мелочи всем похуй, работает же.

                    Что это обновление фиксит то? Или описания нету?

                    > заебался объяснять, что это uefi

                    Именно поэтому я его называю прошивкой, чтобы не уточнять.
                    Ответить
                    • А как понять? я ридми не нашел, я его скочал с https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/master/intel-ucode по указке slackbuild.

                      Судя по 0X21 это вот
                      https://support.microsoft.com/en-us/help/4494454/kb4494454-intel-microcode-updates

                      CVE-2019-11091 – Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
                      CVE-2018-12126 – Microarchitectural Store Buffer Data Sampling (MSBDS)?
                      CVE-2018-12127 – Microarchitectural Load Port Data Sampling (MLPDS)
                      CVE-2018-12130 – Microarchitectural Fill Buffer Data Sampling (MFBDS)


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

            Нафига Линус в этом измазался?!
            Ответить
            • При чём тут Линус-то? Это какие-то предприимчивые граждане взяли запись его интервью, приделали к картинке с разводкой, купили 25к зрителей на Ютубе и начали поднимать бабло, как видно — весьма успешно (несколько часов назад сменили кошелёк на 16AR6EkBf96iydTu82NTYnfaR5FDSd9jP9, там вообще 2 битка пришло — ~14к долларов).
              Ответить
      • > Видео удалено за нарушение принципов сообщества YouTube.

        Не успел (((
        Ответить
        • Какой развод )))
          Ответить
        • Скриншот: https://i.imgur.com/PG8ZUP6.png.
          Ответить
          • Если подумать, социальная инженерия сыграла почти на все сто.

            * Известная медийная личность, в некоторых кругах достаточно культовая
            * Оформление, сильно напоминающее всякие GamesDoneQuick, которые тоже собирают бабло во время трансляций
            * Факт собирания бабла, который в контексте швабодки у человека не вызывает подозрений (все помнят основателя Википедии, чьё доброе лицо стало мемасиком?)
            * Ну и то, что у 90% людей, которые продали дачу, купили 10кг видяшек и намайнили тот самый заветный биток, всё очень плохо с причинно-следственными связями.

            Есть, конечно, один косяк: там явно была слышна аудитория, а какие сейчас могут быть выступления перед живой публикой? Разве где-то в Беларуси, но я не уверен, знает ли Торвальдс про такую страну...
            Ответить
          • Там ссылка на youtu be, а у тебя что за скриншот?
            Ответить
          • показать все, что скрытоvanished
            Ответить
            • Да-да-да, вот именно это, с зари интернетов, я даже когда-то гавным-гавно натыкался на забавную статью про «наёб» таких систем.
              В случае Линуса, правда, даже 100

              UPD: бля, что за 100? Почему я это написал?..
              Ответить
              • А! Понял! В случае Линуса, правда, даже 100 рублей не возвращают.
                Ответить
                • Забавно если бы если это было организовано, для того чтобы с лошков бабосы для линуса собрать, а потом эти деньги бы перечислили бы ничего не подозревающему линусу.
                  Ответить
    • https://habr.com/ru/post/497836/
      > Сравнение скорости работы языков программирования на примере решения задачи обучения нейронной сети

      Бля-я-я-я, это просто бомба! Охуеннейшая статья, до самого последнего знака! Я этот шедевр даже в «Архив Интернета» сохранил, чтобы он в анналах удолённого не исчез: https://web.archive.org/web/20200418110443/https://habr.com/ru/post/497836/.
      Ответить
      • >>> Результаты работы прежде всего интересны для решения задач связанных с нейросетями.
        Запомним.

        >>> рис. 1 (вывод команды screenfetch на ноутбуке DELL Inspiron-7577 под ОС Ubuntu)
        Хорошее начало, я некоторое время назад даже эмпирическое правило вывел: если в статье есть скриншот стандартного «Убунтовского» терминала, то с очень большой вероятностью дальше пойдут рассуждения либо мамкиного кулхацкера, либо бюджетного смузихлёба-говноеда, которому не хватило на «Мак».

        >>> Для проведения тестов была написана программа имитирующая сеть из 5 нейронов, целью программы является научится правильно решать задачу нахождения исключающего или с точностью delta = 0.01.
        Аффтар сразу идёт с козырей! И я даже не знаю, что круче: тся-ться, абсолютно безграмотное построение предложения или же нейросеть аж из пяти, ебать их в сраку, нейронов! Напоминаю: нам эти результаты должны быть интересны «для решения задач связанных с нейросетями»!

        >>> Единственные изменения были внесены в коэффиценты E (эпсилон) — скорость обучения, α (альфа) — момент (E = 0.3, α = 0.5). При использовании значений указанных в статье нейросеть в течении длительного времени (8 ч.) не могла найти решения.
        Еба-а-а-а-ть… Он ВОСЕМЬ ЧАСОВ тренировал нейросеть из ПЯТИ НЕЙРОНОВ, блять! Восемь, сука, ёбанных часов он перемалывал миллиарды одинаковых значений!

        >>> Программа изначально была написана на языке python3 (https://gitlab.com/di.romanov/neuron1.git), и впоследствии переведена на Java, Kotlin, C++(gcc), php7, ruby
        Какой багор )))

        >>> При работе программы написанные на Kotlin, Java, php, ruby и Python давали одинаковые ответы после обучающего сета, вывод после обучающего сета программы написанной на С++ был другим, что повлекло за собой изменение количества эпох которое ей потребовалось для должного обучения.
        Ы-ы-ы-ы!

        Ну и по итогу там «C++» соснул у ЙАЖИ с Котлом раз в 15-20.
        Ответить
        • > восемь часов тренировал нейросеть из пяти нейронов

          Это про мозг автора статьи?
          Ответить
        • А исходники где-то есть, кроме питушни напитоне?
          Ответить
          • Часть он выложил в комментариях, остальное «выложит вечером».
            https://gitlab.com/di.romanov/neuron1cpp,
            gitlab.com/di.romanov/neuron1kotlin.git (не открывается без реги).
            Ответить
            • Я так и не понял, почему C++ соснул.
              C++, конечно же, соснул, но доказательство этого должно быть какое-то более адекватное.

              Если мельком смотреть, вроде тот же код, только в python простые ссылки, а в C++ - хранение индексов питушень.

              Видел только переменную i в main. В python она int (бесконечный резиновый), а в C++ - обычный int. Из-за переполнения логгер должен чуть в другое время логгировать.
              Интересно, конечно, если там из-за этого произошло UB и компилятор сделал какую-то питушню.
              Ответить
              • Ну, судя по тому, что на крестах выполнялось в джва раза больше итераций, а график загруженности ЦП у других языков какой-то совсем неадекватный — там явно притаились алгоритмические питушки.
                Ответить
      • Ну какого ж хуя у него один и тот же код на разных языках "требует разное количество эпох для обучения"?!
        Ответить
      • class Neuron:
        
            __value = 0.0
        
            delta = 0.0
        
            name = ""
        
            #ряд  в нейросети
            row = 0
        
            def __init__(self, name, row, value = 0):
                self.name = name
                self.__value = value
                self.row = row
        
            def getValue(self):
                return self.__value
        
            def setValue(self, value):
                self.__value = value

        Какая ЙАЖА )))
        Ответить
      • показать все, что скрытоvanished
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • https://habr.com/ru/post/497862/
      >>> Почему не надо удалять все элементы массива, переназначая его на [ ]?
      Дальше в статье идут рассуждения про то, что присваивание переменной значения «[]» не очистит содержимое других переменных, ссылающихся на исходный массив, поэтому надо ебаться с «arr.splice(0, arr.length)» или «arr.length = 0» (именно поэтому я против «JavaScript», кстати). В общем-то, обычная статья неофита (переводная, кстати), рассчитанная на таких же неофитов, даже более-менее грамотно написана, ничего особенно выделяющегося…
      Но оценка, оценка! Минус тридцать два! У вчерашней говнолабы, в которой вообще никакой полезной информации нет, а за «грамотность» просто хочется взять и уебать, скромные -13!

      Между прочим, это отличная демонстрация сущности хабрабыдла: на хуйню, лажу, воду и пиздёж ему плевать, такое оно спокойно хавает. Но вот стоило кому-то опубликовать статью «для самых маленьких» — всё, абзац, хабрабыдло с яростью решило, что кто-то посмел усомниться в его — быдла — компетентности! Расстрел на месте!
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Тогда про сишку тоже будут писать статьи в духе "почему не надо удалять все элементы массива через realloc".

          Когда уже ньюфаги осилят понятия ссылки/указателя и значения... Если понять это различие, то все эти статьи о частных кейсах сразу становятся нинужными.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Это да. За удобство языка приходится платить.
              На сраной сишке без спецзнаний всех кишок долго не покодишь.
              На ЯВУ какая-то неважная для ЯВУ и важная для сишки кишочная питушня может всплыть через годы программирования.
              Ответить
          • Эта питушня действительна для любых областей.

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

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


            И это - фундаментальная проблема образования. Ты не можешь заставить человека запомнить абстрактное знание ("по ссылке/по указателю, а теперь ты знаешь 1000 кейсов" или "надо мыть руки перед едой"), ты можешь только объявить его, нахреначить 1000 примеров, с которыми человек попердолится и только после этого либо сам выведет общее правило, либо скажет "так сука это же элементарная питушня, что я не вдуплял-то". Поэтому так будет всегда: ньюфаги будут пердолиться с частными случаями и повышать ранг до олдфагов, когда осознают общее правило.

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

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

                > простой цикл: теория -> практика -> самостоятельная работа
                Ну это же не решение проблемы, а пердолинг.
                Это как сказать "а давайте я не буду проверять пароли меньше 8 символов и имеющие менее двух классов символов, т.к. автор сайта их запретил использовать" и назову это алгоритмом-убийцей криптографии.

                Это же говно-говнецо. Специалисты в одних областях вынуждены пердолиться по этому циклу в других, и у них не всегда получается!
                Образование без проблем - это когда ты получаешь знания из произвольной области и сразу усваиваешь абстрактные правила. Когда ты сегодня был анскильным крестушком, а завтра прослушал курсы по JS и хирургии и можешь писать сайты и делать операции со 100% выздоровлением пациентов.

                > цикл перестаёт работать тогда, когда ньюфаг по каким-то причинам не осиливает абстрактное знание
                Ньюфаг и так не осиливает абстрактное знание само по себе. Костыли с теорией, практикой и пердолингом - как раз для того, чтобы он сам для себя его вывел хорошенько напердолившись.
                У Йажа-петушков просто не было этих костылей с теорией, практикой и пердолингом указателями. Если бы они прошли цикл - может быть бы и осилили.
                Ответить
                • > Нет, не решена.
                  Если бы она не была решена — мы бы до сих пор жили на деревьях и кушали бананы.

                  > Ну это же не решение проблемы, а пердолинг.
                  Нет, это решение проблемы. Вот «хочу, чтобы ОП — и проблема сразу сама решилась» — это не решение, это фантазии. Такое бывает только в не очень качественных книжках.

                  > и у них не всегда получается!
                  А это естественно. Наши мозги — не ЭВМ одной модели. У каждого человека есть склонности к той или иной области деятельности. Кто-то хорошо запоминает, кому-то легко оперировать математическими абстракциями, кто-то глаголом жгёт сердца людей, кого-то хлебом не корми — дай байты побайтоёбить.
                  Да, разумеется, в абсолютном большинстве случаев отсутствие склонности — не приговор, и «не поддающуюся» тебе область выучить можно. Просто это займёт гораздо больше времени и сил, а конечный результат, скорее всего, будет весьма посредственным.
                  Увы, но таковы люди.

                  > У Йажа-петушков просто не было этих костылей с теорией, практикой и пердолингом указателями. Если бы они прошли цикл - может быть бы и осилили.
                  Так Спольски и пишет, что при всём пердолинге они попросту не осиливают, не в состоянии уместить в свою картину мира это понятие.
                  Ответить
                  • > Если бы она не была решена
                    Если бы она была решена, мы бы уже перестали отправлять на рандомные кошельки 1 рубль, чтобы получить 2 рубля, ходить смотреть на мужиках в золотых платьях и сука подняли Африку до уровня "ну та же Европа, только звери чуть другие ходят".

                    > это не решение, это фантазии
                    Это решение.

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

                    > А это естественно. Наши мозги — не ЭВМ одной модели. У каждого человека есть склонности к той или иной области деятельности.
                    Питушня. Я засрал компьютер аудиофайлами так, что места под научные статьи не осталось и говорю, что у моего компьютера склонность к пению.
                    Вся эта питушня с пением и байтоёбством появилась крайне поздно по времени в масштабах эволюции. То есть склонность к байтоёбству (которое появилось чуть менее, чем 100 лет назад) - это результат обучения. А значит, с нормальным обучением можно эту склонность в обратную сторону повернуть, если человек не слишком старый.

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

                      Я не говорю про всякие выравнивания, мапирование устройств на память, банки регистров и разные адресные пространства процессов.

                      А тот сука факт, что значение где-то в памяти лежит и ему соответствует какое-то число, которое показывает, где оно лежит.
                      И банальность адресной арифметики: если прибавить к адресу число, то можно посмотреть, что лежит где-то рядом с нашим значением. Это же э-ле-мен-тар-но.

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

                      Где-то читал (на ГК?), что каким-то питушкам понадобился ассемблер, чтобы понять указатели. Хотя почему, зачем? И в сишке, и в йаже можно легко объяснить и быстро понять, что это и зачем нужно.
                      Ответить
                      • > э-ле-мен-тар-но
                        Для нас — тех, кто уже попердолился.
                        В мире действительно существуют люди, которым это трудно понять (лично видел таких, ещё на первом курсе института).
                        Собственно говоря, большинство проблем начинаются не с «где-то в памяти лежит значение», а с «где-то в памяти лежит массив указателей на массивы указателей на значения» — для понимания таких многоэтажных конструкций необходимо знатно попердолиться, и у некоторых людей мозгу попросту труднее воспринимать подобные цепочки.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                        • Ну в той же йаже ведь не надо так сразу этот многослойный пердолинг знать. Достаточно просто различать эффекты передачи по указателю и передачи по значению, а сложно устроенная питушня придёт не так скоро.

                          В жс есть Function.prototype.{bind,call,apply}. Вроде я понимаю, что они делают, но сильно туплю, если их накапливается 2-3 слоя. И даже если я буду первым знатоком JS в мире, я всё равно буду виснуть от 3-4 слоёв. У компьютера тоже переполнение памяти и стека бывает, хотя алгоритм вроде один и тот же.
                          Ответить
                    • показать все, что скрытоvanished
                      Ответить
                    • > Если бы она была решена, мы бы уже перестали отправлять на рандомные кошельки 1 рубль
                      Рациональность — это уже совсем другая проблема. Мы говорим про усваивание абстрактных знаний.

                      > А значит, с нормальным обучением можно эту склонность в обратную сторону повернуть, если человек не слишком старый.
                      Нет. Склонность (если быть совсем точным — «способность») «повернуть» нельзя, потому что это врождённая особенность организма. См., например, http://www.ipras.ru/engine/documents/document12436.pdf, стр. 1265. Отвечая аналогией, забивать гвозди кувалдой гораздо сложнее, дольше и тяжелее, чем молотком, и эту проблему можно решить только путём переплавки кувалды в молоток.

                      > Ну тогда не надо говорить, что задача образования решена, если йажей пердолят указателями, а они не понимают.
                      Почему не надо? Надо. Современная система образования вполне эффективно решает свою задачу (иначе бы мы не сидели за компьютерами), отдельные частные случаи — это отдельные частные случаи.
                      Ответить
            • показать все, что скрытоvanished
              Ответить
              • Ну вот, отличный пример, кстати.

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

                Давайте вспомним, как нас учили сложению. Мы, вероятно, и груды яблок/фишек считали на пальцах, и таблицы сложения у нас были (слагаемые по краям, посередине суммы). У кого-то может в СССР были счётные палочки даже.

                В самом раннем детстве даже сука натурального ряда не знали. "Ты до скольки умеешь считать?" - "Я до пяти" - "А я до десяти уже могу!"

                А восьмишок забыл весь этот пердолинг и выдал нам какую-то херню, будто бы он изначально сложение знал как абстракцию, и с пелёнок умел складывать хоть тензоры, хоть кватернионы, как только посмотрел на их определения и их операции.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Я даже больше добавлю: без пердолинга нельзя даже просто запомнить хоть что-нибудь (см. «кривая Эббингауза»). Так уж человек устроен.
                    Ответить
                  • Пердолинг пердолингу рознь.
                    Пердолинг со сложением необходим и полезен в дальнейшей жизни, пока не придумали лучшего варианта образования. Без него даже не поймёшь, насколько тебя надули маркетологи.
                    Пердолинг с указателями не нужен. Без него можно обойтись (примеры: ФП и ссылочная прозрачность), спокойно жить и зарабатывать хорошие деньги программируя.

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

                        1. В 2000 папе было в 10 раз больше лет, чем сыну.
                        2. В 2012 сыну стало 15 лет. А папе сколько?
                        Любой нормальный человек, не прозомбированный императушнёй, ответит, что 150 лет. Сопоставление фактов у людей поддерживается эволюцией.

                        Осталось только её раскрыть для людей в нормальных терминах без вореционного говна вроде моноидов-хуёидов.

                        Вебтушки сейчас почуяли силу ФП и осознали, что ФП можно наворотить больше говна, которое с меньшей вероятностью развалится.

                        Старшее поколение: убеждённых ассемблерухов и заедушных питушков, которые выучили программирование не потому, что это круто, а потому что деньги платят - мы не берём в расчёт. Останется только подождать, пока они вымрут.

                        А для новых иммутабельность будет вводиться постепенно. Сначала будут иммутабельными и ссылочно прозрачными числа (привет, кэш чисел в йаже) и строки (привет, скриптушня), потом до остального дойдёт.
                        Ответить
                        • > Любой нормальный человек, не прозомбированный императушнёй, ответит, что 150 лет.
                          Што, бля?
                          Ответить
                          • Присоединяюсь к вопросу. Тут даже с точки зрения декларативных (функциональных) языков x - y = const, а x = 10*y только в определённый момент времени. Т. е. x = 10*y — это не уравнение, а локальный факт (так получилось, когда t=2000).
                            Ответить
                        • > Это одна из нескольких более-менее естественных концепций.
                          Иммутабельность — это совершенно противоестественная концепция. Весь реальный мир — мутабелен.
                          Ответить
                          • Что за юношеский максимализм? Только в детстве мечтают изменить мир, но потом всё равно понимают, что ничего не меняется.

                            Даже если и есть какие-то проявления мутабельности вроде инфляции, то они неестественны и кажутся несправедливыми. "Как это, я вчера мог купить килограмм за 1.5, но сохранил деньги, а сегодня продают только за 3?"

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

                            Это не мир меняется, это просто его волновая функция нетривиально выглядит.
                            Ответить
                            • > эксперимент
                              > волновая функция
                              Что за наукошня?

                              У меня есть кошелёк, в нём лежит две купюры по сто рублей. Я отдал одну купюру продавцу — у меня в кошельке лежит одна купюра. Кошелёк.купюры.удалить(1).

                              У меня есть компьютер, в нём стоит одна планка памяти. Я купил ещё одну, установил — теперь в моём компьютере стоят две планки памяти. Компьютер.добавить(планка_памяти).

                              У меня есть чистый листок бумаги, он чистый. Я нарисовал на нём букву «Х» — теперь на нём есть рисунок. Лист.нарисовать('Х').

                              Мир — мутабелен.
                              Ответить
                              • Кстати, есть ли ответ на следующий вопрос?
                                https://govnokod.ru/12239
                                Ответить
                                • > LispGovno 03.12.2012 10:08 в #12239
                                  > 1с умеет в мутабильные питушения

                                  > superhackkiller1997, 15 Июня 2013, первый пост #13180

                                  То есть ЛишпГовно суть пророк и представитель нового устройства мироздания ГК?
                                  Ответить
                                  • Просто Говнокод уже вплотную подошёл к границе говносингулярности, после которой для любых тем на ГК можно будет найти их обсуждение.
                                    Ответить
                                    • Дяденька ПИ уже выкинул свои скрипты и кнопками [1], [0] и [Питушня] набирает номер комментария, текст которого нужно запостить.
                                      Ответить
                                    • Прочитал сначала, как "госсингулярности", долго думал
                                      Ответить
                              • Питушня. Это лишь разные значения кошелька, компьютера, листа бумаги для определённых аргументов типа time_t.

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

                                  > А вы - рабы, которых заперли в монаде. Власти скрывают, но мир иммутабелен.
                                  Охуенно!
                                  Ответить
                                  • > Так мы про естественность, или про философские теории, на которые нормальный человек только пальцем у виска покрутит?
                                    Мы коротаем время придумывая всякую питушню. :)

                                    Естественность двояка. Питушня про 150 лет то там, то тут всплывает. Например, посты в стиле "ребята, вроде только недавно век начался, но мелкий карапуз 2000 года рождения уже сука начальником смены у нас работает" или "а знаете, что Гермионе уже 30 лет стукнуло?" или "верните мне мой 2007й".

                                    Людям нравится стабильность. Чтоб интернеты без единого разрыва или за мужем как за каменной стеной. На фоне инфляции и питушни с экономикой ищутся вечные ценности.

                                    Глобально людям хочется какой-то стабильности и константности. Есть вечные ценности, а есть мирская суета, и эта мирская суета воспринимается с негативом.

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

                                    Мутабельность - необходимое зло. Современные языки вроде python/Java хотят сесть на новый стул с пиками ФП и вставляют всякую функциушню вроде Linq и map/fold/filter.
                                    Ответить
                                    • :)

                                      Я за не-удивляющую естественность. Чистые функции, монады и прочие эндопитухоиды придумали математухи для развлечения, чтобы их красивые циферки с реальным миром кое-как сходились. Простому человеку это не нужно.
                                      Ближе надо быть к народу, ближе! Вот когда я составляю программу для другого человека — у меня никакой иммутабельности нет, есть действия. Я говорю: «Иди на улицу Лермонтова, ищи дом 38а, зайди в здание, пройди на третий этаж, там купи венки, шампанское и лопату в придачу ещё». Или вот другой пример: рецепты. В них тоже пишут, что нужно взять морковку и её порезать. Разумеется, это всё можно эмулировать иммутабельно, путём создания нового объекта «морковка» в состоянии «разрезана»… Но это всё неестественно и нелогично! Человек, читая рецепт, просто возьмёт мутабельную морковку и порежет её на куски. Зачем ему вводить какие-то другие ненужные сущности?
                                      Ответить
                                      • Проще заново воспитать людей так, чтобы естественность ФП для них была несомненна, чем пердолиться с компиляторами и поиском сложных багов. Если подготовить инфраструктуру как в JS, народ потянется и концепции осилит.

                                        Математики - это не татары непонятные, они разговаривают чётким военным языком. Они даже салаты не режут!
                                        Ответить
                                        • Зачем заставлять людей двери пинком открывать, если все привыкли делать это руками? Если нужно удобство — можно повесить магнит, чтобы дверь сама открывалась — но это всё равно будет вписываться в уже существующую парадигму.
                                          Ответить
                                          • Императивное программирование - одна из парадигм, которая тоже имеет свои плюсы, а в некоторых случаях притянута за уши из Черногории и с Украины. После очистки разума функциональное программирование можно использовать. И оно будет настолько же удобным. А если вы учите программистов, в основном, имперуташне, у вас как бы идёт трансформация знаний. Вы как бы воруете возможность мыслить по-другому.
                                            Ответить
                          • показать все, что скрытоvanished
                            Ответить
                        • Чот вспомнилось

                          https://govnokod.ru/26533#comment536792
                          Ответить
                    • показать все, что скрытоvanished
                      Ответить
                    • > Пердолинг со сложением необходим и полезен в дальнейшей жизни
                      Зачем он нужен во времена, когда у каждого бомжа есть по мобильнику, который может миллиарды сложений в секунду рассчитывать?

                      Пердолинг со сложением не нужен. Без него можно обойтись (примеры: калькуляторы и телефоны), спокойно жить и зарабатывать хорошие деньги играя в футбол.
                      Ответить
                      • Согласен!

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

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

          Кстати, статья вообще оказалась переводной.
          Ответить
      • > Минус тридцать два! У говнолабы, в которой полезной информации нет, -13!
        > Между прочим, это отличная демонстрация сущности хабрабыдла

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

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

        Рассмотрим эти статьи.

        "Сравнение скорости работы языков программирования на примере решения задачи обучения нейронной сети", хаб Программирование
        4.1к просмотров, 8 плюсов и 21 минус.

        "Почему не надо удалять все элементы массива, переназначая его на [ ]?", хабы Высокая производительность, Разработка веб-сайтов, JavaScript, Программирование
        громкая КПДВ, 5.2к просмотров, 5 плюсов и 39 минус.

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

        Одно дело - когда ты сразу пролистнул статью, которую читали только другие школьники, а другое - ты повёлся и вместе с другими спецами прочитал, а там какая-то очевидная фигня.
        Ответить
        • Вовсе не питушня. Даже если нормировать минусы на тысячу просмотров, то у говнолабы будет 5.2 минуса, а у статьи про ссылки — 7.5, почти в полтора раза больше. Активных пользователей (а не просто рандомных читателей) на «Хабре» уже давно не так много, чтобы нужно было рассматривать «сотни статей».

          Проблема даже не в хабах и не в заголовках. Проблема в том, что в говнолабе представлена попросту недостоверная информация. А вот в статье для неофитов информация хоть и капитанская, но вполне верная и даже (для самых маленьких) полезная. И она — верная информация — вызывает ненависти со стороны хабрабыдла в полтора раза больше, чем полная хуйня.
          Ответить
          • > Активных пользователей (а не просто рандомных читателей) на «Хабре» уже давно не так много, чтобы нужно было рассматривать «сотни статей».
            Сколько их? 50 человек что ли? Ну не факт, далеко не факт.
            Если их даже сотня, будет нужно больше, чем две статьи. Логика "ну типо эту 50 прочитают и ту 50 прочитают, а я усредню" не будет действовать. Люди - не случайные частицы. Люди могут спать, лениться, быть в отпуске или не в настроении. Нужно рассмотреть ряд статей с разной привлекательностью для читателя, запощенных в разное время и т.д. поиграть параметрами.

            > Даже если нормировать минусы на тысячу просмотров
            Страшная баба в Москве на вокзале показывала сиськи. Набрала 4к просмотров и 8 лапаний.
            На следующий день красивая баба в Москве на вокзале показывала сиськи. Набрала 5к просмотров и 5 лапаний.
            Делаем выврд: москвичи - мудаки и абсолютно, и даже если нормировать лапания на тысячу просмотров.

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

                Вполне возможно, что на том сайте действительно сидит большое количество мудаков с достаточной кармой, которые минусят как хотят, но это нужно либо доказать, либо постулировать как аксиому и не приводить в доказательство две случайных статьи, которые почти никто не читал.
                Ответить
                • Зачем? Того факта, что вполне себе нормальная статья была заминусована в хлам, вполне достаточно для формирования определённого мнения об аудитории «Хабрахабра».
                  Ответить
                  • Чтобы было не стыдно за себя.

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

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

                    Например, в отзывах на Яндекс.маркете. Смотришь там отзывы на магазин и видишь
                    * 100 отзывов вида "заказывал 100 раз, всегда говорили вежливо, товар доставали в срок, ничего не ломалось" - 5 звёзд

                    * 100 отзывов вида "я один раз случайно зашёл по пьяни и купил китайское говно, меня отговаривал продавец, но я купил и говно сломалось, магазину минус, больше к ним не хожу" или "заказывал на новый год пидарок своему парню 31 декабря в 18 часов, пришло 3 января уроды испортили пираздник, нирикамендую" - 0 звёзд.

                    В итоге из-за одноразовых порванных петухов магазин получает 2.5 звезды, но по факту было 10000 успешных заказов и 100 неуспешных, из которых в 90 пользователь сам виноват из-за своей тупости - уверенные 5 звёзд.
                    Ответить
                    • > Кэповская питушня
                      Объективно полезная для существенной части IT-сообщества — новичков.

                      > в хабе про хайлоад
                      Единственная ошибка переводчика. Утопление объективно полезной статьи в минусах за неверно выбранный хаб, вместо простого указания на этот факт — признак неадекватности сообщества.

                      > жалкие 30 минусов
                      https://habr.com/ru/post/438582/
                      >>> Антирейтинг 2018
                      То есть эта объективно полезная статья, грамотно оформленная и не содержащая ошибок, заняла бы середину топ-30 самых плохих статей года. Круто.

                      > Смотришь там отзывы на магазин и видишь
                      Кстати, именно поэтому на «Яндекс.Маркете» в первую очередь я смотрю на отзывы с 2—4 звёздами — с единицами понятно, а в пяти звёздах слишком много питушни вида «телефон пришёл, коробочка крутая, ставлю 5 звёзд».
                      Ответить
                      • > полезная существенной — новичков
                        Полезно было бы, если б рассматривалось больше примеров, рассказывалось про = null, лучше упоминался GC.
                        Ну и вообще, эта питушня должна быть как короткое дополнение к одной из глав учебника с систематизированной информацией. Искать такую питушню отдельно никому нафиг не надо. Просто так на хабре её как раз заметит только знаток указателей, матюгнётся и плюнёт.
                        Если и найдёт её новичок, то это будет источником очередных верований уровня "двойные кавычки медленнее одинарных или наоборот" или ".push и .join быстрее += или наоборот".

                        > статья, грамотно оформленная и не содержащая ошибок, заняла бы середину топ-30 самых плохих статей года. Круто.
                        Прошу прощения. Не знал, что с этого сайта народ сбежал.
                        На моей памяти там были статьи с +200 или около того, +100 позволяло пригласить на сайт какого-нибудь питушка.

                        > объективно полезная статья
                        Ну так себе полезная. Всё равно, что я на dxdy запощу статью о том, что 2+2=4 и 2*2=4, но надо помнить, что 2+3 != 2*3, иначе можно лохануться - на случай, что школьники нагуглят, и им это поможет.
                        Ответить
                        • > На моей памяти там были статьи с +200 или около того, +100 позволяло пригласить на сайт какого-нибудь питушка.
                          Ну, +200 там до сих пор иногда встречаются (в лучшем за месяц, например, а первая статья про Сысоева в прошлом году вообще почти 800 гневных плюсов набрала). Инвайт сейчас дают за +50.
                          Собственно, дело в том, что баланс минусов и плюсов на «Хабре» очень сильно смещён в сторону вторых, и если +100 — это просто весьма хорошая (по мнению сообщества, конечно) статья и часто бывает в лучшем за неделю, то -100 — это полнейший пиздец, и за последние пару лет вроде как такого вообще не было (худшая статья за 2018-й — -77).
                          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Если даже «WD» и «Seagate», которые обычно всё документируют, скрыли, то что же подсовывают другие производители?
        Ответить
    • показать все, что скрытоvanished
      Ответить
      • Ничего. Когда-нибудь найдут самый дешёвый и самый показавший себе стандарт и будут использовать его для людей.
        Ответить
      • Покупай карточки, коммутаторы, SFP модули и киты для оптики у одного поставщика и всё будет норм. Скорее всего он уже во всей этой фигне разобрался и составил готовые решения.
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • показать все, что скрытоvanished
        Ответить
      • Ебанутый.

        Зачем ты сидишь на своём собственном стуле, копрофил?
        Ответить
        • На своём стуле сидят санитары, которые в озк оухаживают за моими жертвами... А что, высокие зарплаты требуют жертв. https://www.kp.ru/daily/27110/4187207/
          Ответить
        • показать все, что скрытоvanished
          Ответить
          • Всё самое интересное смыло, но в вебархиве оно сохранилось:
            http://web.archive.org/web/20051103061449/monk.com.ua/article.php?story=20050512152217566
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Г — гордость за дар природы — возможность написания программ на «PHP».
                О — Осознание своих навыков в «PHP».
                В — Воспитание подрастающего поколения в духе терпимости к «PHP».
                Н — Нон-конформизм по отношению к более старым языкам программирования.
                О — Организованность в вебразработке.
                Ответить
        • Сегодня обнаружил в зомбоящике телеканал «Доктор». Идёт передача про бактериофаги. Ведущий рассказывает о том, что в аппендиксе лошадей живёт кишечная палочка и фаг, который эту палочку уничтожает. Гость программы — микробиолог — отправляется за биоматериалом на конюшню. Гость: «Материал для исследования лежит буквально под ногами». Оператор направляет видеокамеру на лошадиное говно.
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Зачем в питон е делат ь __init__, состо ящий из одног о super().__init__()?
        Ответить
    • Попытка оптимизации работы уборочных комбайнов:
      https://habr.com/ru/company/cognitivepilot/blog/497098/

      Новые комбайны оснащены так называемой CAN-шиной, которая позволяет управлять машиной через гидравлику. Однако, шина эта хреново документирована: «В идеальном мире этим бы и закончилось. К сожалению, иногда всё-таки попадаются случаи, когда документации нет или у производителя не удаётся получить внятного описания. В таком случае мы подключаемся и реверсим шину. Конечно, есть протокол J1939, которому производители должны бы следовать, вот только не все это делают. Обычно подключаешься с отладочной утилитой, получаешь все пакеты с переменными и просто сидишь с оператором, нажимающим на кнопки. Поехал — где-то ноль стал положительным числом. Ускорился — число выросло. Замедлился — снизилось. Ага, скорость попалась. И так — весь день. Дальше надо поймать корреляцию и подобрать коэффициенты преобразования. Один раз поймали очень неприятный баг с тем, что на тестовой площадке работало, а в поле — нет. Комбайн в мирном режиме слал одни пакеты, а со включёнными жаткой и мотовилом переходил в особый боевой режим и начинал в тех же отловленных пакетах слать свои особые боевые сообщения. Нам пришлось собирать адовыми способами признаки данных. Как оказалось, в те же пакеты в те же переменные жатка нормально давала свою информацию, а разработчик шины всё это дико соптимизировал, чтобы не задавать новые переменные. Наверное, он в конкурсе 256b-intro в свободное время участвует.»

      Какой багор )))
      Ответить
      • О шине:
        https://ru.wikipedia.org/wiki/J1939
        https://en.wikipedia.org/wiki/SAE_J1939

        Ещё немного багров:

        «Именно с распознавания препятствий мы и начали. Сразу напрашивался лидар, но он дорогой, поэтому камера. Раз монокамера — нужно сразу распознавание образов. Потому что нужно не только увидеть, но и понять, что это, какого оно размера, как себя поведёт, чего ждать. Мы либо стоим на месте, либо движемся вперёд, а нужно знать относительное расстояние до объекта и ещё помнить про жатку 7,5 или 9 метров в разные стороны (и это не максимум, часто на ходовых моделях встречается и 12-13 метров). Всё равно на таких размерах можно на развороте случайно смолотить механизатора трактора или заправщика, вышедшего по малой нужде.»

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

        А эти хипстеры даже запилили страницу на тему "Почему не слак" https://twist.com/slack-alternative?lang=ru, только я не владею fluent hipstelese, а потому ничего не понял.
        Ответить
    • Сраные бриташки продают маринованные яйцеклетки питушиных самок:
      https://pbs.twimg.com/media/EWTC1CUVcAAN-QM.png

      Не забудем, не простим!
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Выпуск отложен из-за «самоизоляции».
        Ответить
      • А она не опенсурс? Иди да скачай и собери.
        Ответить
        • убунта же для ленивых: они должны собрать iso, и выложить на сайт.

          Вспомнил, что у опенбздунов раньше не было ISO: нужно было забирать из CVS (!!) сырцы, и заливать на диск самому. Какой бугор!
          Правда, диски продавались готовые
          Ответить
        • показать все, что скрытоvanished
          Ответить
          • https://govnokod.xyz/_26589/#comment-524762
            Ответить
          • показать все, что скрытоvanished
            Ответить
            • Да куда ты так торопишься. Вдруг там опять какие-нибудь критические баги как в той версии, которая ноуты кирпичила. Я думаю пару-тройку недель подождать пока основные баги разгребут.
              Ответить
              • показать все, что скрытоvanished
                Ответить
              • Маловероятно. Это же не апдейт «Windows 10».
                Ответить
              • Может быть, он сотрудник "Microsoft"?

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

                Новое говно только больше жрёт ресурсы. Его только переписывают в стиле "модно, молодёжно" ради нескучных обоев, а оптимизацию заканчивают как только программа чуть-чуть завелась на i9 over9000K. Функциональность в лучшем случае почти не урезают.

                Максимум установить какие-нибудь багфиксы и всё.
                Ответить
                • Дурний пiвень, что с него взять.
                  Ответить
                • написал же же: хочу 12ю постгрю* и питона 38.
                  сервер сидит на LTS: он обновляется раз в 2 года на суперстабильную версию с поддержкой чуть-ли не пять лет
                  а нескучных обоев на сервере у меня нету

                  * в основном конечно чтобы тыкать мусулеебов в вычисляемые каллонки, но конечно и JIT запросов интересно попробовать.

                  Кстати, пятое ядро с wireguard я тоже хочу
                  Ответить
                  • А зачем постгре и питону именно эта бабунта? С чем связано такое ограничение?
                    Ответить
                    • Полагаю, с тем, что в репозиториях старой бабуинты есть только 3.7 и 11. А накатывать новые версии из сорцов/левых репозиториев — это терять весь смысл «LTS».
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                      • Разве весь смысл прыщей - это не возможность накатить с помощью apt всё что угодно за 1 команду?
                        Ответить
                        • Всё, что угодно, в рамках репозитория.
                          Репозитории конкретной версии содержат софт, который был протестирован (хочется думать) с этой версией ядра и ос, и который совместим друг с другом.

                          Обновляются только минорные версии и багфиксы, мажорные версии не обновляются: так гарантируется некоторая стабильность.

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

                            Зочем? Почему мне не должно быть похуй чем собран питон? Разрабы явно тестировали не на 20 бубунте (ведь она только сегодня вышла). Что мешало им залить в репозиторий всех ранних бубунт?
                            Ответить
                            • Загрузи в адресное пространтва процесса модуль, собранный другой версией GCC. Причем лучше чтоб он был на С++.
                              И совсем шык, когда у тебя они разной разрядности

                              >Разрабы явно тестировали не на 20 бубунте
                              она была "куррент" уже пол года, потом бета: там и тестировали.

                              Это как обычно бывает: ты бранчанул свой софт, ложиш туда только багфиксы и критикалы, новых фич не пилишь в этой ветке, его тестят, а как стабилизировали -- так выпустили релиз.

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

                              Да и сама 12-я постгря может сломаться: ее никто не тестировал с той версией ядра, тем гцц итд
                              Ответить
                              • Блядь, что там может сломаться?
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • То есть если моя программа не грузит себе модули в память, то я могу не ссать выкладывать во все репозитории бубунты? А если я разрабатываю питон, то что мне нужно делать, чтобы его собрать той же версией гцц, что и все остальные петухи? Мы должны договариваться как-то?
                                    Ответить
                                    • У твоей программы есть завсимости, и на твою программу есть зависимости.

                                      Тебе нужно убедиться, что ты совместим со всеми своими зависимостями, и они с тобой тоже.

                                      Например, ты написал язык программирования "foo", а я написал на нем скрипт, и сделал пакет.
                                      Этот пакет зависит пакета с твоим языком.

                                      Я знаю что в убунте 18 пакет твоего языка имеет версию 12, и я пишу скрипт под него.

                                      А в убунте 20 твой пакет имеет версию 15, и я делаю другую версию своего пакета.

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

                                      А так весь софт собирается на сервере одной версией GCC. Получившиеся пакеты выкладываются на зеркала.


                                      Убнтята говорят: мы готовим версию 20, в ней GCC версии foo.

                                      Ты, как мейнтейнер пакета "python3 for ubuntu" проверяешь, что с ним все комплириуется. Если нет -- добавляешь нужные патчи итд. И кладешь сырцы в vcs.

                                      Оттуда их заберет скрипт убунтят, и все скомпилируеть
                                      Ответить
                                      • Ну так в чем проблема выложить питон 38 на 18 убунту? Убунтята его соберут вместе с другими программами, и всё будет заебись. Можешь реальный пример проблемы привести?
                                        Ответить
                                        • там уже есть питон36
                                          Ты предлагаешь его обновить до 38, или иметь два третьих питона?
                                          Ответить
                                          • Кака разница? Я просто хочу 38 питон. Почему я его не могу получить на 18 убунте? Потому что зависимостей для него нет для 18 убунты? Как же тогда сами разрабы питона тестировали свой питон?
                                            Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • > Хуже того: ты можешь поставить пакет с библиотекой для 38 (например psycopg) и он не будет доступен в 37. пользователю придется это разруливать в ручную, и он тебя проклянет
                                                Ещё хуже будет, если ты накатишь пользователю 38, а у пользователя стоят питоньи пакеты, которые 38 не поддерживают («tensorflow-gpu» до недавнего времени таким был). Вот это будет действительно весело — на LTS-то!
                                                Ответить
                                              • Ну а обновив убунту до 20 почему ты не поимеешь всех этих проблем? Потому что всё обновится синхронно? А если чего-то нет, то ты соснешь?
                                                Ответить
                                                • показать все, что скрытоvanished
                                                  Ответить
                                                  • Почему нельзя сказать «Вот у меня есть список софта, обнови мне всё сразу, если такое есть»? В таком случае, если у меня на сервере кроме питона ничего нет, я обновлю только питон и его зависимости. Если у меня что-то зависит от питона и для него обновления нет - то ссзб.
                                                    Ответить
                                                • И в дополнение к гуесту8 — ещё и потому, что обновлять LTS-релизы тебе нужно раз в пять лет и исключительно под твоим пристальным контролем.
                                                  Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                        • > Ну так в чем проблема выложить питон 38 на 18 убунту?
                                          1. В том, что его надо протестировать со всем, что есть в 18-й убунте.
                                          2. В том, что LTS-релизы нужны тем, кому важен принцип «работает — не трогай». Ты ставишь себе LTS-убунту, всё, что нужно, настраиваешь, тестируешь, фиксишь — и ближайшие пять лет это всё у тебя будет стабильно работать и не ломаться, потому что тебе в обновления приходят только багфиксы, не ломающие совместимость.
                                          Ответить
                                          • Зачем тестировать всё со всем? Если я выпускаю обновление питона, я выкладываю в репозиторий с инкрементом версии в старую убунту.
                                            Тот, кто зависим от питона, пускай сам решает выпускать ли ему обновление под этот питон на этой убунте. Если нет - то и питон не давать обновить.

                                            Вроде бы, node.js работает именно так. Но у нас сложность, что нельзя иметь что-то разных версий одновременно.


                                            Ладно, хуйню написал.
                                            Ответить
                                • Но кроме ABI может поменяца и API.

                                  Был сервер petuh. У него был в sdk файл petuh.h.
                                  Ты написил под него плагин. В новой версии сервера новые структуры в petuh.h: тебе нужно перекомпилироваться (в лучшем случае) а в худшем -- переписывать всё.

                                  Нельзя запустить третий пхп под апаче 2.4.
                                  Код на втором питоне может не зарабоать под третий, а на третьем -- под второй, ну ты понел.
                                  Ответить
                    • показать все, что скрытоvanished
                      Ответить
                  • А, вспомнил. Это было много часов назад и в соседней ветке дерева комментариев этого говнокода.
                    Не стоит рассчитывать на то, что скриптух будет помнить контекст обсуждения дольше трёх секунд.
                    Ответить
      • показать все, что скрытоvanished
        Ответить
      • Обожемой, да всем насрать!
        Ответить
    • показать все, что скрытоvanished
      Ответить
      • показать все, что скрытоvanished
        Ответить
      • показать все, что скрытоvanished
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • показать все, что скрытоvanished
            Ответить
          • показать все, что скрытоvanished
            Ответить
            • PS C:\> (get-date).DayOfWeek.value__
              4


              PS C:\> (get-culture).Calendar.GetWeekOfYear((get-date), 0, 1)
              17
              Ответить
            • > как ты их назовёшь

              Да тупо по дате-времени, как и любые другие бекапы.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • День < пятницы:
                  (((get-date).DayOfWeek.value__ + 6) % 7 + 1) -lt 5


                  Перепишем, чтобы не было недокументированного value__:
                  (([DayOfWeek]::GetValues([DayOfWeek]).IndexOf((get-date).DayOfWeek) + 6) % 7 + 1) -lt 5


                  Формулу для номера календарной недели я показал.
                  Ответить
                  • Немножко подправил:
                    (([Array]::IndexOf([DayOfWeek]::GetValues([DayOfWeek]), (get-date).DayOfWeek) + 6) % 7 + 1) -lt 5
                    Ответить
                • По сути, это несколько топорно заданное "скачать последний номер газеты".

                  Отличие от "скачать последний номер газеты" имеется только для случая, когда по какой-то причине номер не вышел. Тогда "скачать последний номер газеты" выдаст последний вышедший, а сценарий с отсчётом от пятницы - NULL.

                  Если в API газеты
                  * есть "last", можно качать его и не пердолиться с неделями
                  * есть "list", то можно отсортировать его и найти последний номер
                  * такого нет, то стоит
                     * либо попросить газету добавить это
                     * либо попросить M$ добавить нормальную работу с неделями
                     * либо пердолиться с консолечкой

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

                    Газеты и журналы, если я не туплю, по номерам выпусков в году нумеруют. Типа пятый выпуск 2020 года. Т.е. это и не номер недели, скорее всего. Просто для еженедельной газеты выглядит очень похоже.

                    З.Ы. Я бы тупо счётчик в файле инкрементил если в API нету last или list. Раз в год сбросить его не проблема.
                    Ответить
                    • > Я бы тупо счётчик в файле инкрементил если в API нету last или list.
                      Тоже об этом думал. Однако, в этом случае надо не забыть обработать ситуации, когда
                      * скрипт вызывается первый раз
                      * его забыли вызвать, и хотя бы один из номеров не был скачан
                      Ответить
                      • > скрипт вызывается первый раз
                        > его забыли вызвать, и хотя бы один из номеров не был скачан
                        Будем искать бинарным поиском.
                        Ответить
                      • > забыли вызвать

                        Ну можно качать до первого 404, тогда хоть каждый день запускай хоть раз в месяц.
                        Ответить
                  • показать все, что скрытоvanished
                    Ответить
            • показать все, что скрытоvanished
              Ответить
              • Один багор: воскресенье имеет номер ноль. Чтобы оно было семёркой, нужно так:
                ((get-date).DayOfWeek.value__ + 6) % 7 + 1


                Я сначала хотел написа́ть «- 1» вместо «+ 6», но обломался, потому что остаток получился отрицательным.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • write ([DayOfWeek]::Monday.value__)            # выведет 1
                    write ([DayOfWeek]::Saturday.value__)          # выведет 6
                    write ([DayOfWeek]::Sunday.value__)            # выведет 0
                    
                    function Pituh($kukarek) {
                        return ($kukarek + 6) % 7 + 1
                    }
                    
                    write ''
                    write 'Fixed:'
                    write (Pituh([DayOfWeek]::Monday.value__))     # выведет 1
                    write (Pituh([DayOfWeek]::Saturday.value__))   # выведет 6
                    write (Pituh([DayOfWeek]::Sunday.value__))     # выведет 7
                    Ответить
                    • убрал недокумнтирвное value__
                      $day = [DayOfWeek]::GetNames([DayOfWeek]).IndexOf(((Get-Culture).Calendar.GetDayOfWeek((Get-Date))).ToString())
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                      • 1. Получаем моссив строковых названий дней недели.
                        2. Получаем строковое название текущего дня недели.
                        3. Ищем название текущего дня недели в моссиве всех названий.

                        Кокококой ынтырпрайз ))) Хорошо, что дней недели всего семь и что у них названия не километровые.
                        Ответить
                      • показать все, что скрытоvanished
                        Ответить
                      • У меня вариант с IndexOf не работает. Говорит, что у моссива нет такого метода.

                        Погуглил, пишут, что он должен быть у List<T>, а вот у моссива не обязан.

                        Может быть, в старой «Могучей ракушке» его не было, а в новой появился?
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Двойка. В ней забавно: массив.IndexOf(значение) не работает (не может найти метод IndexOf), а вот [Array]::IndexOf(массив, значение) работает, как надо.
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • Да мне «Powershell» вообще не нравится. Слишком уж он многословный для скрипта. Уж лучше писа́ть на «C++» или на «C#».
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • А оператор «Сатурн» в нём есть?
                                    Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                      • Mozilla Firefox 62.0.3 (x64 ru)
                                        Mozilla Firefox 63.0 (x64 ru)
                                        Mozilla Firefox 63.0.1 (x64 ru)
                                        Mozilla Firefox 63.0.3 (x64 ru)
                                        Mozilla Firefox 64.0 (x64 ru)
                                        Mozilla Firefox 75.0 (x64 ru)
                                        Mozilla Maintenance Service

                                        Ой, бля…

                                        UPD: https://i.imgur.com/74ugXm5.png — какой багор )))
                                        Ответить
                                        • Люблю виндуос за внятные и понятные ошибки.
                                          В логи-то что-то запислось? Какой файл он не асилил открыть? helper.exe ?
                                          Ответить
                                          • Да это не виндоус, это разрабы «Фаерфокса» криво апдейты доставляют: файлы старой версии удаляют (включая деинсталлятор), а в реестре записи оставляют.
                                            Ответить
                                            • Mr Gates pls log in

                                              Если бы разрабы Фф нормально доставляли апдейты, вовсе бы не было никакой ошибки, и тогда не было бы смысла что-то говорить о качестве ошибок в Ўындоўз. Если бы не было ошибок, о них можно было бы никак не информировать.

                                              Информация об ошибках как раз и важна, когда что-то случилось, и это надо исправить.

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

                                              Кто как думает по этому поводу? Что делать, когда есть два стула - с нарушением абстракции и с непонятными ошибками?
                                              Ответить
                                              • Забыл добавить, что это не венда виновата в ошибке. А так-то да, невменяемые сообщения об ошибках — это такая фишечка венды ещё с древних времён («память не может быть written»).

                                                Малоговорящие ошибки намекают на отсутствие внятного механизма их обработки. Собственно говоря, венда может сообщить об ошибке только одним из следующих кодов: https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499- (есть ещё NTSTATUS, но он больше для драйверов и недокументированных Nt* функций). Увы, никакого контекста или метаданных (о чём недавно Desktop упоминал) так передать нельзя. И если какая-нибудь функция, принимающая джва хэндла, получит один правильный и один неправильный — она сможет ответить только то, что ERROR_INVALID_HANDLE. А её клиент — только написать пользователю, что что-то пошло не так и какие-то данные были неверны.

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

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

                                                    Более реальный пример совершенно невменяемой ошибки (возникающей после нажатия на кнопочку «Удалить») я чуть выше привёл: https://i.imgur.com/74ugXm5.png.
                                                    Ответить
                                              • О, кстати, оказывается, обсёр с кодировкой — это таки проблема ФФ, венда обосралась только с описанием: https://i.imgur.com/vT6WKGW.png.
                                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                        • P.S. Починил. Вот так работает:
                          [Array]::IndexOf([DayOfWeek]::GetValues([DayOfWeek]), (get-date).DayOfWeek)
                          Ответить
                • показать все, что скрытоvanished
                  Ответить
              • И ещё: последний аргумент GetWeekOfYear — это день, с которого начинается отсчёт недели, поэтому там должно быть не $dayOfWeek, а [DayOfWeek]::Monday.
                Ответить
              • переведи на пхп
                Ответить
            • Питушня.

              Бэкап называется "weekly_backup_DATABЭKAPA.zip"

              Зачем понедельнику нужен минимальный номер дня? Зачем ему вообще нужен какой-то говорящий номер?
              Мне ничего не помешает сделать еженедельный бэкап даже если у понедельника будет номер 0xC0C1, а у воскресенья - 0x328923.

              if (now.weekDay == 0xC0C1) {
                makeBackup(dir, "weekly_backup_" + now.toString() + ".zip");
              }
              Ответить
    • показать все, что скрытоvanished
      Ответить
    • Получил химические ожоги от мытья плиты от жира каким-то средством. Какой анскилл )))
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Перекат! IT Оффтоп #41 -> IT Оффтоп #42
      https://govnokod.ru/26600
      https://govnokod.xyz/_26600
      Ответить

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