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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    IT Оффтоп #48
    
    
    #1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
    #2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
    #3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
    #4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
    #5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
    #6: (vanished) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: (vanished) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328	
    #11: (vanished) https://govnokod.xyz/_25436
    #12: (vanished) https://govnokod.xyz/_25471
    #13: (vanished) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863

    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
    #32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
    #33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
    #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
    #41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
    #42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
    #43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
    #44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
    #45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
    #46: (vanished) https://govnokod.xyz/_26646
    #46: (vanished) https://govnokod.xyz/_26654
    #47: https://govnokod.ru/26671 https://govnokod.xyz/_26671

    Запостил: baropinho, 30 Мая 2020

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

    • показать все, что скрытоvanished
      Ответить
      • Же не компран па, о чём он там пишет.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Журнал «Canard PC».

            «Canard» — это утка внезапно. Употребляется как в прямом смысле (означает птицу), так и в переносном (означает непроверенную информацию в СМИ).

            Первыми непроверенную информацию называть уткой начали немцы. По-латыни «не проверено» = «non testatur», сокращённо «NT». Сокращение читается как «энтэ», а в немецком слово «Ente» означает утку (в смысле птицу).

            Интересно, что этот термин как калька вошёл и в другие языки.
            Ответить
    • Из distutils/ccompiler.py
      # Map compiler types to (module_name, class_name) pairs -- ie. where to
      # find the code that implements an interface to this compiler.  (The module
      # is assumed to be in the 'distutils' package.)
      compiler_class = { 'unix':    ('unixccompiler', 'UnixCCompiler',
                                     "standard UNIX-style compiler"),
                         'msvc':    ('_msvccompiler', 'MSVCCompiler',
                                     "Microsoft Visual C++"),
                         'cygwin':  ('cygwinccompiler', 'CygwinCCompiler',
                                     "Cygwin port of GNU C Compiler for Win32"),
                         'mingw32': ('cygwinccompiler', 'Mingw32CCompiler',
                                     "Mingw32 port of GNU C Compiler for Win32"),
                         'bcpp':    ('bcppcompiler', 'BCPPCompiler',
                                     "Borland C++ Compiler"),
                       }

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

        А в остальном - круто всё.
        Ответить
        • показать все, что скрытоvanished
          Ответить
        • показать все, что скрытоvanished
          Ответить
          • Америка последние 9 лет не умела, лол. После того как шаттлы закопали.

            Вот собственно первый запуск после перерыва.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Дык там полно космонавтов, страны которых вообще никого никогда сами не запускали.
                Ответить
            • показать все, что скрытоvanished
              Ответить
              • Да нет, проблема как всегда в бабле. Люди в космосе никому особо не интересны. Риска очень много, а профита мало. Проще запустить ещё пучок спутников, а пара-тройка космонавтов и на Союзе долетит.

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

                    В худшем случае это будет самая дорогая реклама Теслы (там минут 10-20 показывали как они едут к ракете). Ну и по крайней мере будет чем людей с орбиты снять если наши обосрутся. А то единая точка отказа - это совсем не айс.
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Внезапно, но да. Грузы то много кто мог туда дотащить - европка, япошки, тот же Маск. А вот людей после смерти Шаттлов только на Союзах возили.

                        Именно поэтому этот запуск Dragon'а был так важен.
                        Ответить
                        • Да еще и дешевле. 55 лямов за человека у амеров, 80 - у нас.
                          Ответить
                          • Глупо сравнивать цену задранную монополистом с ценой заниженной любителем хайпа ;)

                            Вот поработают вместе пару лет, тогда уже можно будет смотреть на цены.
                            Ответить
          • показать все, что скрытоvanished
            Ответить
            • Да, и это самое крутое.

              Маск не только провернул на хую рогозина (который ничего не умеет, кроме того, что воровать и нести свою черносотенную фаш-хуйню) но и бюрократов из NASA. И это лулзовее всего.

              Через двадцать лет у нас будет пол сотни фирм, которые умеют летать на МКС. И туда не только Шимоньи с Шатлвротом, но и сраные питузы будут на выходные летать
              Ответить
              • Интересно, какие перспективы у полётов на выходные.

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

                С другой стороны, статус и подтверждающий сертификат с подписью Маска.

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

            Автомобили на батарейках тоже хуй знает сколько лет умеют (с начала ХХ века).
            Но пиар и хайп превыше всего.
            Ответить
            • А вот тут не соглашусь. В такой питушне важны конкурентноспособность и инфраструктура.

              Есть несколько стадий:
              1. Наука открывает какой-то принцип.
              2. Строят первые рабочие экземпляры на этом принципе.
              3. Начинают производить первые массовые партии.
              4. В Больших Лопухах можно осуществить гарантийный ремонт или достать детали.
              5. Питушня на основе этого принципа стоит не дороже, чем её аналоги на другом принципе.

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

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

              А по факту какой-нибудь математик из раш-ки не купит SSD, который стоит на 50% дороже HDD или молоко, которое стоит на 10 рублей дороже аналога. Речь даже не идёт о том, чтобы не покупать продукт, который в сто раз дороже или в десять. Массы не купят уже питушню, которая в два раза дороже, либо для которой запчасти нужно выписывать из Москвы или из Парижу. А новые технологии стоят дорого, для них быть на порядок дороже - вполне нормально, и даже немножко успех.

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

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

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

          Вообще меня больше всего впечатлил эффект реалити-шоу: хочешь, вот камера из кабины, хочешь, с первой ступени, вот вообще чуть ли не со шлема астронаездника.
          Ответить
      • показать все, что скрытоvanished
        Ответить
      • показать все, что скрытоvanished
        Ответить
      • показать все, что скрытоvanished
        Ответить
    • Для Сёмы: настройка конпеляции питоньих модулей с нуля.

      На почти чистую систему установил «Python 3.8.3», скачанный с python.org. Настройки по умолчанию.

      По ссылке, которую я показывал, скачал «Visual Studio Build Tools». В инсталляторе выбрал список отдельных пакетов и поставил всего две галочки:
      • MSVC версии 140 (хотя я лох, надо было выбирать 14.25, потому что Python 3.8.3 пишет «MSC v. 1925», но они совместимы, так что пофигу).
      • SDK для Windows 10 (можно выбрать любой билд).

      Инсталлятор установил 97 пакетов.

      Обновляю pip:
      py -3 -m pip install --upgrade pip

      Создаю чистую директорию и в ней ввожу команды:
      py -3 -m pip download bitarray
      py -3 -m pip wheel bitarray-1.2.2.tar.gz

      Матерится, что не понимает команду «bdist_wheel» и подсказывает, что нужно установить пакет «wheel». Ставим:
      py -3 -m pip install wheel
      py -3 -m pip wheel bitarray-1.2.2.tar.gz

      Как ни странно, компилируется (и даже SDK автоматически подцепился), но не линкуется. Оказывается, не может найти rc.exe. Он находится в директории SDK, а не компилятора. Вот уроды... Добавляем в PATH:
      set PATH=%PATH%;C:\Program Files\Windows Kits\10\bin\10.0.18362.0\x86
      py -3 -m pip wheel bitarray-1.2.2.tar.gz

      Теперь даже линкуется, получаем колесо: bitarray-1.2.2-cp38-cp38-win32.whl.

      А теперь твой любимый mitmproxy:
      py -3 -m pip install mitmproxy --log pituh.log

      Выгрызка из лога:
      Successfully built urwid kaitaistruct pyperclip blinker ruamel.yaml.clib

      Пять пакетов скомпилировано. Сообщений об ошибках нет.
      mitmproxy.exe появился в директории Scripts.
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Не скажу за build tools, но у обычной установки студии даже ярлык в пуске есть, который запускает сосноль с нужным окружением. Чот в духе visual studio XXXX command prompt.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Сказать самую смешную вещь или сам догадаешься?

              Ладно, скажу. Билдтулз добавляет точно такой же пункт в меню «Пуск». Любая блондинка может выбрать пункт «Visual Studio 2019 → Visual Studio Tools → Developer Command Prompt», откроется чёрный экранчик, и оттудова будут запускаться cl.exe, rc.exe, и даже компилироваться колёса.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Видимо в инструкции по установке пакетов это не написано?
                  Ответить
                • Я тоже. Он так долго настаивал, что проблема именно в «Питоне 3.8» и именно в пакете «mitmproxy», что я поверил, что у него и вправду серьёзная проблема, и решил пройти все шаги с самого начала.

                  Бывает же, что какой-то пакет сломан и без хаков не поставить...
                  Ответить
              • показать все, что скрытоvanished
                Ответить
              • показать все, что скрытоvanished
                Ответить
                • Что я неправильно делаю? Поставил «Python» и «Visual Studio Build Tools» на чистую систему. Даже специально галочек ставил по минимуму (всего две). Всё работает, только пакет wheel пришлось установить через pip.

                  Попробуй явно добавить компилятор версии 140 (14.00). Вдруг пакет distutils более новые компиляторы у тебя почему-то не находит.
                  Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • Инканус вообще бешеный. Мне кажется, он поставил себе борговскую аппаратуру в мозг и тонко троллит неосиляторов благодаря знаниям ассимиляторов. Иначе объяснить широту его знаний и количество экспериментов на единицу времени невозможно.
                    Ответить
                  • У меня есть гипотеза, зачем Сёме это нужно: он хочет кому-нибудь под видом полезной программы подбросить троянца (его увлечённость «шкриптами для какиров» на это намекает, да и название пакета «mitmproxy» тоже). Поскольку лучше всего он знает «Питон», то писать будет на нём (и я его понимаю, менять язык программирования тяжело, каждый раз ощущение неизвестности).

                    Специфика задачи требует, чтобы программа запускалась на чужой машине с неизвестным программным окружением в пару кликов. Методами социальной инженерии он может убедить клиента установить «билдтулз», но, скорее всего, «билдтулз» будет установлен с дефолтными галочками. Читать логи на той машине никто не будет.

                    Если что, всё это — лишь наскоро слепленная гипотеза, все совпадения случайны.
                    Ответить
                    • А нельзя собрать всё вместе в одну папку: и питон, и колеса скомпилированные?
                      Ответить
                      • py2exe именно это и делает.

                        https://pypi.org/project/py2exe/
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • В «Линуксе» бывает проблема, когда «libc» линкуется динамически. Правда, статическая линковка решает эту проблему. Гораздо хуже, когда программа использует «qt», потому что «qt» весит в разы больше. А какие-нибудь программы типа «busybox» запускаются чуть ли не на любой версии «Линукса».

                            А что в «OpenBSD»? Там меняется формат экзешников или соглашение вызова?
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • В «Windows» сисколы тоже нестабильны, в каждой версии меняются их номера, но они и не документированы: не надо их вызвать напрямую, есть клиентская DLL.
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • У Винды ABI библиотек у x86 менялся ровно два раза: при переходе на 32 бита и при переходе на 64 бита, причём 32-битная система умеет запускать 16-битные приложения, а 64-битная умеет запускать 32-битные.

                                    У Линукса тоже была смена формата: «ELF» появился не сразу, раньше был «a.out». Правда, в 2020-м году найти систему, не поддерживающую «ELF», уже тяжело.
                                    Ответить
                                    • Тяжело лежать ночи напролёт под аппаратами, а ты - пфу, про такую безделицу!
                                      Ответить
              • показать все, что скрытоvanished
                Ответить
        • Проверил, не помогло. А вот LaunchDevCmd.bat помог.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • vcvars32.bat, vcvarsall.bat есть в любой версии, но в некоторых их как-то хитро запускать надо. В старых был setenv.bat, который выполнял всё необходимое.

              Пофигу. В любой версии есть пункт меню «Пуск», который открывает «чёрный экранчик».
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Возможно, Сёма никогда ничего не компилировал вижуалсями, поэтому не догадался.

                  С другой стороны, если бы он читал сообщения об ошибках, он бы нам сказал, что сборщик ругается на отсутствие rc.exe.
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • У меня как-то под «Ноду» на «Windows» пакет не ставился. Посмотрел лог, оказалось, что там используется нативная библиотека, а бинарник не приложили. Запустил «npm» из «Visual Studio Command Prompt» — всё скомпилировалось и установилось.
                      Ответить
      • показать все, что скрытоvanished
        Ответить
      • >> Successfully built urwid kaitaistruct pyperclip blinker ruamel.yaml.clib

        Кстати, для пакетов urwid, kaitaistruct, pyperclip, blinker в «pypi» вообще колёс нет. Их под любую платформу нужно компилировать.

        Для «ruamel.yaml.clib» колёса есть, но под «Windows» только для 2.7, 3.5, 3.6, 3.7. Под 3.8 скомпилировали только для «Линукса», и то только 64-битного:
        https://pypi.org/project/ruamel.yaml.clib/#files
        Ответить
    • показать все, что скрытоvanished
      Ответить
      • Не, пока мусор за пределами атмосферы - он так и будет вечно крутиться по своему эллипсу. Если же он заденет атмосферу, то его скорость начнёт падать, орбита будет снижаться и в конце концов он упадёт и сгорит.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Да, при определенной скорости. Скорость упала - снижаешься, увеличилась - взлетаешь.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • За счет двигателей. 10-15 раз в сутки корректирует орбиту.
                Ответить
                • А топливо у них обычно химическое, сотня-две кг, рассчитанное на несколько лет. Кончилось - падает.
                  Ответить
              • В основном за счёт закона сохранения энергии. На него там ничего особо не действует, разве что об атмосферу трётся если низко летит. Ну и двигателями компенсирует эти потери на трение, как выше написали.

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

                    Эм, что? Геостационарники тупо прибиты к небесной тверди крутятся с той же угловой скоростью, что и земля вокруг оси. Они там не стоят на месте!
                    Ответить
                    • Ну не застрять. Их стаскивает в одну из четырех ям.
                      Ответить
                      • А, понял, 4 точки равновесия. А в остальных местах спутник куда-нибудь сносит без коррекции и рано или поздно он в одну из этих точек пришёл бы.
                        Ответить
                • Вообще потери энергии бывают и у объектов, расположенных над атмосферой.

                  Луна вызывает морские приливы на Земле, поэтому между Луной и Землёй возникает сила трения: Луна тратит свою энергию на подъём воды на Земле, а вода от трения нагревается, поэтому всю свою энергию вернуть Луне не может. Это приводит к замедлению Луны. К счастью, эта сила не настолько велика, чтобы заметить замедление Луны невооружённым глазом.
                  Ответить
      • Да, так и работает прямо как в kerbal space program
        Ответить
    • показать все, что скрытоvanished
      Ответить
      • Боюсь половину требований не выполнить, но я за «Object Pascal».
        • Явное выделение и освобождение памяти через New/Dispose, GetMem/FreeMem или Create/Destroy. Можно и на стеке, если вместо class использовать object.
        • Типизация статическая, varName: type. К сожалению, вывода типов нет.
        Ответить
        • показать все, что скрытоvanished
          Ответить
        • С PascalABC.NET авторы знатно порезвились, там тебе и вывод типов, и лямбды, и функциональщина, и многопоточность.

          Насчёт тулзов не знаю, последний раз писал на нём ещё в школе, тогда я такими вещами не пользовался да и сейчас не особо-то пользуюсь.
          Ответить
          • >.NET
            Он, вроде, без GC просил? Или там все объекты на стеке как value types?
            Ответить
      • показать все, что скрытоvanished
        Ответить
      • Кстати, поскольку требования к кроссплатформенности нет, то Swift. Под все пункты попадает. Но – желательно купить технику Эппл.
        Ответить
        • На Свифте пример из недавнего топика про яблоки и идиотов выглядит примерно так:

          enum Product {
              case apple(price: UInt, amount: UInt)
              case grape(price: UInt, amount: UInt)
              case `default`(price: UInt, amount: UInt)
                  
              func total() -> UInt {
                  switch self {
                  case let .apple(price, amount):
                      return (amount - amount / 2) * price
                  case let .grape(price, amount):
                      return (amount > 1 ? amount * 4 / 5 : amount) * price
                  case let .default(price, amount):
                      return amount * price
                  }
              }
          }
          
          let products: [Product] = [.apple(price: 10, amount: 4), .grape(price: 20, amount: 3), .default(price: 30, amount: 1)]
          print(products.reduce(0) { $0 + $1.total() })


          19 строчек, по длине как мой же пример на Рэкете из топика. Только Рэкет выводит натуральные дроби, а здесь целочисленное деление.
          Ответить
          • Кстати, если пример на Рэкете переводить буквально, то Свифт сосёт: в нём есть встроенная функция zip, но она принимает только два аргумента. Для бóльшего количества последовательностей уже надо извращаться или писать свою функцию.
            Ответить
          • Выглядит интересно

            Почему не сделать его кроссплатформенным языком?
            Ответить
            • Ололо

              https://github.com/apple/swift/blob/master/docs/Windows.md

              Виндопитузы могут баловаться внутри уютненького wsl.

              https://swift.org/blog/5-3-release-process/

              Saleem Abdulrasool is the release manager for the Windows platform.

              Но даже nightly пока нет.


              Но крестобляди в Свифте может показаться тесновато.
              Ответить
    • Погуглил «тензорный петух». Получил такой результат:
      https://2ch.hk/pr/arch/2019-12-06/res/1501883.html
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Именно поэтому я за «PHP».
          Ответить
        • Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

          А: Кому оно сейчас нужно? Иди санитаром в ковидный госпиталь.

          Q: Cобираюсь учить джаву по 2/5/20 часов в день. За сколько дней я выучу достаточно, чтобы зарабатывать фрилансом?

          A: Пока выучишь, все заказчики вымрут. Иди санитаром в ковидный госпиталь.

          Q: Хули все книги на английском?

          A: Так случилось. Теперь уже поздно учить. Иди санитаром в ковидный госпиталь.
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • http://bigor.bmstu.ru/
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Смотрите чо нашёл: https://github.com/Kegdan/J/wiki
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • в гугле искал?
            https://stackoverflow.com/questions/19412376/open-a-list-of-files-using-with-as-context-manager
            Ответить
        • показать все, что скрытоvanished
          Ответить
          • Посмотри ещё ExitStack, может подойдёт чтобы вручную этот цикл не писать.
            Ответить
            • 0н хочет вернуть однровременно и лист и контекст
              Ответить
              • @contextmanager
                def open_files(names):
                    with ExitStack() as s:
                        yield [s.enter_context(open(name, 'w')) for name in names]
                
                with open_files(['1.txt', '2.txt']) as files:
                    ...
                Ответить
                • Я чото такое ощущал, когда писал https://govnokod.ru/26707#comment552094 ,но сформулировать не осилил

                  Если твой вариант работает, то круто
                  Ответить
                  • > если твой вариант работает

                    Ну я надеюсь, что он работает... Ибо я его юзаю.

                    Перетестировал на всякий случай - нормально всё закрывает при успешном исполнении, при исключении во внешнем with и при исключении в инициализации какого-то из ресурсов. Вроде все случаи, которые надо рассмотреть?
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Это ещё фигня, ты попробуй сделать класс, который менеджит несколько ресурсов и живёт достаточно долго (т.е. в with его не засунуть)... Ну и корректно их закрывает при любых исключениях, само собой.
                        Ответить
                        • работает
                          class Foo:
                              def __enter__(self):
                                  print("entered")
                                  return self
                          
                              def __exit__(self, a, b, c):
                                  print("Closed")
                          
                              def __str__(self):
                                  return "23"
                          
                          
                          @contextmanager
                          def open_files():
                              with ExitStack() as s:
                                  yield [s.enter_context(x) for x in [Foo()]]
                          
                          
                          with open_files() as foos:
                              for f in foos:
                                  print(f)


                          entered
                          23
                          Closed

                          -----------

                          [quote]
                          Это ещё фигня, ты попробуй сделать класс, который менеджит несколько ресурсов и живёт достаточно долго (т.е. в with его не засунуть)
                          [/quote]

                          гц_говно.txt
                          Ответить
                          • > class Foo

                            Можно через contextmanager, если код несложный:
                            @contextmanager
                            def foo():
                                try:
                                    print("entered")
                                    yield "23"
                                finally:
                                    print("closed")
                            Ответить
                        • зы:

                          1) @contextmanager
                          2) ExitStack
                          3) yield
                          4) with / as

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

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

                        У ExitStack есть pop_all, так что можно даже вытаскивать узлы дерева из под with и перецеплять в другое место. Ну либо сделать свой манагер из которого можно убрать элемент.
                        Ответить
                • По ссылке еще такой вариант приводили:
                  with contextlib.nested(*[open(fn, 'w') for fn in arr]) as files:
                      print files
                  Ответить
                  • Хуйня. Может не закрыть ресурс если во время инициализации следующего исключение стрельнет.

                    З.Ы. И вообще депрекейтед с 2.7
                    Ответить
          • показать все, что скрытоvanished
            Ответить
    • показать все, что скрытоvanished
      Ответить
    • Вореции NSFW:
      https://habr.com/ru/post/398547/

      Где-то на ГК уже обсуждалось, но я ссылку потерял.
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Ну да, у них на заряднике тонкие вилки стоят.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Ну видимо с нормальной вилкой зарядник будет слишком большой и не везде воткнется.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Макобляди должны страдать.
                Ответить
                • Там в комментариях одна макоблядь жалуется, что у неё воспаление суставов из-за этого. Какой багор )))
                  Ответить
                  • Спец предложение! Только сегодня! iСуставы! Всего по $999 каждый!
                    Ответить
                  • Я думаю у нее воспаление суставов просто от ебанутого положения рук. Именно поэтому я против ноутов.
                    Ответить
                    • Посоветуйте клаву, кстати.
                      Ответить
                      • Если мембрана — советую «A4Tech X7 G300». Такая себе стандартная клавиатурка с одним большим преимуществом: её можно спокойно мыть под краном, вымывая из неё иные формы жизни. Очень удобно.
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • И нихуя? Лааааай-ла-лаа!
                            Ответить
                          • Не, ну просушить-то хотя б часик надо, а так да — помыл, поставил боком (чтобы вода вытекала), подождал и вперёд.
                            Такую процiдурку за время эксплуатации проводил уже раз пять, всё окей.
                            Кстати, в комплекте идёт специальный экстрактор колпачков клавиш и нормальные, человеческие WASD (с рекламными резиновыми попробовал поиграть — не, хрень какая-то).
                            Ответить
                        • Стандартная у меня в принципе есть. Марку правда не скажу, потому что коробки нет, а на ней самой только какой-то ноунейм логотип))

                          Я как-то пару лет назад пробовал на эргоклаве от MS работать, вообще не понял, в чём прикол. Сильно здоровая, к тому же
                          Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • > das keyboard

                          Он же оверпрайснутый. Я думаю какого-нибудь логитека хватит, типа моего G610, один хер свичи те же самые стоят и сборка норм.
                          Ответить
                        • https://images10.newegg.com/NeweggImage/ProductImage/23-121-001-02.jpg

                          У меня когда-то была похожая, только не было такого количества допкнопок сверху. Самая пиздатая клавиатура в моей жизни, как щас кажется
                          Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • У меня в конуре проводка алюминиевая в 2020-м, лол. И кое-где с медью соединяется, ага.
                    Ответить
                  • Ну у меня дом относительно новый, с землёй всё норм. Комп током не бьётся, искр при подключении моников нету. Так что иногда всё-таки нормальная проводка встречается.
                    Ответить
    • показать все, что скрытоvanished
      Ответить
    • У кого-то тут ещё стоит говно под названием OnlyOffice?
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • На мусорках, поди, растёт?
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Офтопик. Я читал статьи про так называемые опасные инвазивные виды живых существ (животных, растений, грибов). Оказалось, что в России вдоль железных дорог как сорняки растут американские растения (топинамбур; белая акация; ясенелистный клён; ещё какие-то травы), а в США вдоль железных дорог как сорняки растут российские растения (сходу не вспомню, придётся гуглить). Местная флора не выдерживает жёстких условий, а занесённая рада хоть такому, к тому же у неё нет конкурентов.
            Ответить
            • Самое опасное - борщевик по-моему.
              Ответить
            • показать все, что скрытоvanished
              Ответить
              • Я не против белой акации. Она мне даже нравится. Первоначально её сажали в парках как декоративное растение. Она красиво цветёт, она прекрасный медонос (из её нектара получается съедобный мёд, несмотря на то, что растение в целом ядовито).

                Но ты видел, как она размножается? Это бобовое растение, у неё бобы, как у диких родственников гороха. Только вот белая акация — это не травинка, как горох, а дерево. Причём быстрорастущее: в год может давать метр прироста в высоту.

                Поздней осенью под ней горы этих бобов. С одного дерева несколько вёдер набрать можно. Их никто не ест, потому что они ядовитые (горький запах отпугивает животных), а прорастаемость у семян почти стопроцентная, к тому же семена не впадают в «спячку», в отличие от той же липы, семена которой могут прорасти через несколько лет, если не пересохнут.

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

                Итого: если белую акацию не контролировать, она может превратить окрестности в непроходимые дебри.
                Ответить
      • показать все, что скрытоvanished
        Ответить
    • показать все, что скрытоvanished
      Ответить
      • Слава роскомнадзору!
        Ответить
      • Не только: https://vk.com/wall-57208021_13071
        Ответить
      • Ахах, тупые сисадмины нарисовали карту распространения проблемы. Ебать информативно. Понятно, что количество проблемных коррелирует с количеством пользователей, а количество пользователей с количеством населения.

        https://vk.com/wall-39243732_1704098
        Ответить
        • Эм, она не в процентах?
          Ответить
        • Это тепловая карта с https://downdetector.com/. Количество пользователей, нажавших кнопку «у меня не работает», каким-то образом нормализованное.

          UPD: чистые данные там тоже есть, на графиках.
          Ответить
          • «Клаудфляра» упала. На стоке пишет «522».
            Ответить
            • gost соснул.
              Ответить
            • Это с «nginx» говно, уже не в первый раз он поздно ночью зависает с разными симптомами.
              nginx.service - A high performance web server and a reverse proxy server
                 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
                 Active: active (running) since Sun 2020-05-17 04:37:28 CEST; 2 weeks 6 days ago
                   Docs: man:nginx(8)
               Main PID: 32051 (nginx)
                  Tasks: 4 (limit: 2359)
                 Memory: 19.2M
                 CGroup: /system.slice/nginx.service
                         ├─ 3879 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
                         └─32051 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;

              Вот что это за хуйня? Нахуя он запустил два мастер-процесса? Сысоев что, долбоёб?
              Ответить
              • В error.log куча вот такого сранья вывалилась на момент зависания:
                2020/06/07 00:54:50 [info] 3423#3423: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:72
                2020/06/07 00:54:53 [notice] 3425#3425: signal process started
                2020/06/07 00:54:59 [notice] 3428#3428: signal process started
                ter process /usr/sbin/nginx -g daemon on; master_process on;: /build/nginx-tBUzFN/nginx-1.14.2/debian/modules/nchan/src/store/memory/memstore.c:701: nchan_store_init_worker: Assertion `procslot_found == 1' failed.
                2020/06/07 00:54:59 [alert] 32051#32051: worker process 3430 exited on signal 6
                2020/06/07 00:54:59 [alert] 32051#32051: shared memory zone "memstore" was locked by 3430
                ter process /usr/sbin/nginx -g daemon on; master_process on;: /build/nginx-tBUzFN/nginx-1.14.2/debian/modules/nchan/src/store/memory/memstore.c:701: nchan_store_init_worker: Assertion `procslot_found == 1' failed.
                2020/06/07 00:54:59 [alert] 32051#32051: worker process 3429 exited on signal 6
                2020/06/07 00:54:59 [alert] 32051#32051: shared memory zone "memstore" was locked by 3429
                ter process /usr/sbin/nginx -g daemon on; master_process on;: /build/nginx-tBUzFN/nginx-1.14.2/debian/modules/nchan/src/store/memory/memstore.c:701: nchan_store_init_worker: Assertion `procslot_found == 1' failed.
                2020/06/07 00:54:59 [alert] 32051#32051: worker process 3432 exited on signal 6
                2020/06/07 00:54:59 [alert] 32051#32051: shared memory zone "memstore" was locked by 3432
                ter process /usr/sbin/nginx -g daemon on; master_process on;: /build/nginx-tBUzFN/nginx-1.14.2/debian/modules/nchan/src/store/memory/memstore.c:701: nchan_store_init_worker: Assertion `procslot_found == 1' failed.
                2020/06/07 00:54:59 [alert] 32051#32051: worker process 3433 exited on signal 6
                Ответить
                • Нагуглил какое-то говно двухлетней давности, в котором пишут, что вот это говно пофиксили много лет назад, а все беды из-за старого говна в репах: https://github.com/slact/nchan/issues/446. Отключил «nchan», проверю.
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Яибу. Оно идёт в стандартной поставке «Nginx».
                      https://www.nginx.com/resources/wiki/modules/Nchan/
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • Он сам включился после «apt install nginx». Спроси тех дебиановцев, кто этот пакет собирает.
                          Ответить
                          • показать все, что скрытоvanished
                            Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • Именно так. Взял и появился после «apt install nginx». Более того, в modules-enabled валяется ещё куча какого-то дерьма, которое хрен пойми зачем нужно.
                              nginx version: nginx/1.14.2
                              built with OpenSSL 1.1.1c  28 May 2019 (running with OpenSSL 1.1.1d  10 Sep 2019)
                              TLS SNI support enabled

                              UPD: -V целиком: https://pastebin.com/RhzsWDNk
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • С «nchan» я так и сделал, остальные трогать опасаюсь. Хер знает, для чего все эти «mod-http-subs-filter» и «mod-http-upstream-fair» нужны.
                                  Ответить
                                  • показать все, что скрытоvanished
                                    Ответить
                                  • Ты DAV и RTMP пользуешься? На «Луа» и на «Перле» конфиги пишешь? MP4 и FLV «нгинксом» кодируешь? Преобразование XSLT «нгинксом» выполняешь?
                                    Ответить
                                    • Не знаю, надо проверять.
                                      У меня просто фобия: боюсь изменять сложные системы. А вдруг вылезут какие-то плавающие гейзенбагры, которые придётся долго и упорно чинить? Или там просто производительность просядет, а я не замечу. Или ещё что-нибудь отвалится.
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • Какие-нибудь вебсокеты начнут отваливаться, например.
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • Я ввёл «apt install nginx-extras» (да, за давностью лет забыл точную ко-ко-команду), подтвердил установку пакета, и мне установился «nginx» со включёнными по-умолчанию мудулями. Года два они никак не мешали работе, а в начале этого мудуль «nchan» начал примерно раз в две недели вешать весь «nginx».
                                              Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • А что в этом такого?
                                                  Ответить
                                                  • показать все, что скрытоvanished
                                                    Ответить
                                                    • Чтобы почистить систему от ненужного, нужно поставить ненужное.
                                                      Ответить
                                                    • А вдруг пригодится? В то время мне надо было просто и быстро поставить «nginx» и запустить сайтец. Ебаться с установкой мудулей по невнятным ошибкам в мои планы не входило.
                                                      Ответить
                                                • Вообще я понимаю gost'а: хорошая система не должна внезапно падать из-за какого-то модуля, включенного в комплект поставки. Потребитель не должен думать, что нужно отключить, чтобы система работала.

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

                                                    > Представь себе, что у тебя дома холодильник выключается, если ты включил свет в прихожей, и тебе приходится держать в памяти, что светом в прихожей лучше не пользоваться.
                                                    …выключается в три часа утра раз в две недели-месяц.
                                                    Ответить
                                                    • Шутки шутками, а я реально видел одну квартиру после "ремонта", в которой провели дополнительную розетку в ванную комнату. Вот только она была как-то связана с выключателем в коридоре, а потому стиральная машина работала только с включённым светом в прихожей.
                                                      Ответить
                                                      • Какой ремонт )))
                                                        Ответить
                                                      • показать все, что скрытоvanished
                                                        Ответить
                                                        • Ага, я просто в терминологии не шарю.

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

                                                              Чувствуешь себя как раллист, который едет первым на участке и собирает все камни и ветки.
                                                              Ответить
                                                          • показать все, что скрытоvanished
                                                            Ответить
                                                            • В данном случае в роли Ашота вроде как выступала некая семейная пара явно хуторской принадлежности (речь не про кубаноидов, если чо).

                                                              А вообще так бывает, когда хозяева вкладывают в ремонт двушки 4К зелени, когда даже под съём надо потратить хотя бы в два раза больше.

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

                                                              В деревне в частном доме мужик поставил розетку для электроплиты. Не мог понять, почему плита при включении не греется, зато внезапно загорается лампа на кухне. Ты наверное уже догадался, что он подключил розетку параллельно выключателю лампы. Т. е. фактически плита выступала в роли выключателя для лампы, потому что у неё электрическое сопротивление раз в пятнадцать меньше, чем у лампы.

                                                              Всё-таки анскилл — это неизученный феномен.
                                                              Ответить
                                                              • Какие протёкшие абстракции)))

                                                                Хотя может чудак хотел себе умный дом забабахать.
                                                                Ответить
                                                              • показать все, что скрытоvanished
                                                                Ответить
                                                                • Ты напряжение на плите посчитал, ещё раз на ток домножь. И там вообще 6 ватт получится.

                                                                  З.Ы. Ну и ток как бы чуть меньше чем 0.45 будет из-за того, что плита добавилась. Ну да похуй, расчёт всё равно прикидочный.
                                                                  Ответить
                                                                • Сразу видно, что ты из Ращки: физику знаешь, а плита не греет!
                                                                  Ответить
                                                                • Пусть лампочка будет 100 Вт и плита на полтора киловатта.

                                                                  Напряжение между плитой и лампочкой поделится в пропорции 1:15, т. е на лампочке будет 15/16 от 220 вольт, на плите 1/16 от 220 вольт.

                                                                  Сопротивление 100-ваттной лампочки, рассчитанной на 220 вольт, равно (220 В)²/100 Вт = (48400 / 100) Ом = 484 Ом. Сопротивление же плиты будет в 15 раз меньше, а именно ≈ 32 Ом. Суммарное сопротивление этой гирлянды будет (484 + 32) Ом = 516 Ом, что ненамного больше сопротивления лампочки (т. е. именно лампочка задаст ток как самое сраное говно слабое звено).

                                                                  Ток через эту гирлянду будет 220 В / 516 Ом ≈ 0,43 А.

                                                                  Мощность на лампочке будет 220 × 15/16 × 0,43 Вт ≈ 88 Вт.
                                                                  Мощность на плите будет 220 × 1/16 × 0,43 Вт ≈ 6 Вт.

                                                                  Для всех токов и напряжений указаны среднеквадратические значения (они же «действующие», они же «эффективные», они же «RMS»; попрошу не путать с Ричардом Столлманом, а то могут и напутать).

                                                                  Итого: лампочка будет неплохо гореть (88 Вт вместо 100), а плита будет отдавать 6 Вт вместо 1,5 кВт, что составляет 1/250 или 0,4% от её номинальной мощности. Если плита при номинальной мощности нагревала воду от 20°C до 100°C (т. е. на 80°C), то при таком накале за то же время она нагреет воду на 80°C×0,004 ≈ 3°C, итого до 23°С вместо 100°С.
                                                                  Ответить
                                                                  • Теперь нужно найти зависимость мощности тепловыделения с поверхности воды от её температуры (при постоянной внешней температуре, для упрощения) и можно будет рассчитать, за сколько времени понерфленная плита вскипятит литр воды (или, возможно, не вскипятит, а доведёт до какого-то предельного T, на котором тепловыделение будет равно 6 Вт).

                                                                    PS, на беглые запросы по этой теме «Гугл» предложил мне почитать книжку «Технические средства управления ядерными реакторами с водой под давлением для АЭС». Какой багор )))
                                                                    Ответить
                                                                    • Всё так. Моя оценка (про три градуса) грубая.

                                                                      С теплоотдачей хитро: чем горячее вода, тем быстрее она отдаёт тепло, поэтому при пониженной мощности ТЭНа график температуры от времени может выйти на плато, не доходя до температуры кипения.

                                                                      Кстати, градирни используются не только на АЭС, но и на угольных ТЭЦ и на разных производствах. Но там условия не такие, как у воды на плите: в градирнях специально создают условия, чтобы значительная часть воды испарялась, забирая энергию.

                                                                      https://ru.wikipedia.org/wiki/Градирня
                                                                      Ответить
                                                                    • Офтопик. Смотрите, что нашёл:
                                                                      https://ru.wikipedia.org/wiki/Яхчал

                                                                      Какой хайтек )))

                                                                      И вот ещё что:
                                                                      https://ru.wikipedia.org/wiki/Бадгир

                                                                      Какой бадгир )))
                                                                      Ответить
                                                                      • P.S. Про иранские «канаты» (подземные каналы) рассказывали в художественном фильме «Тегеран-43». Но там ни слова не было о том, что канаты в сочетании с бадгирами могут работать как кондиционер и как холодильник.
                                                                        Ответить
                                                                      • Бадгир это круто. Я бы себе сделал, если бы у меня была вилла в жарком поясе.
                                                                        Ответить
                                                                  • показать все, что скрытоvanished
                                                                    Ответить
                                                                    • Ну на самом деле тут ещё проще можно решить. Мощность прямо пропорциональна сопротивлению: P = R * I^2. А ток у нас одинаковый т.к. всё соединено последовательно. Т.е. на плите выделится в 15 раз меньше, чем на лампочке.
                                                                      Ответить
                                                                    • >> И да: RMS же вероятно надо домножать (или делить?) на коифф-нт, кажется его обозночали какой-то греческой буквой.

                                                                      Косинус фи. Он появляется, если в схеме есть так называемое «реактивное сопротивление» (индуктивность или ёмкость). Реактивное сопротивление увеличивает амплитуду тока, но не увеличивает мощность: конденсатор или дроссель сначала запасают энергию, а потом отдают её обратно, т. е. качают ток туда-обратно, ничего не потребляя.

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

                                                                        https://godliteratury.ru/events-post/7-neskuchnykh-uchebnikov-dlya-shkolnika-i-n
                                                                        Ответить
                                                                        • У меня был по математике, только кажется обложка была мягкая и другая, там вроде был пацан на мопеде или что-то в этом духе. С другой стороны, это было 25 лет назад, что я там могу помнить
                                                                          Ответить
                                                                    • >> Кстати, ватты плиты можно было бы перевести в калории, и таким образом тоже узнать за скока нагреется вода.

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

                                                                      Возможно, ты с приемлемой погрешностью посчитаешь, за сколько времени вода нагреется до 40°C. А дальше чем ближе к точке кипения, тем вода быстрее будет терять энергию.
                                                                      Ответить
                              • Ага, нашёл: https://packages.debian.org/buster/nginx-extras
                                >>> This package provides a version of nginx with the standard modules, plus extra features and modules such as the Perl module, which allows the addition of Perl in configuration files.
                                Ответить
                              • Модули, которые dynamic, можно же просто отключить в конфиге, чтобы они не грузились?
                                Ответить
              • показать все, что скрытоvanished
                Ответить
      • https://twitter.com/pezduza/status/1269364199303643136
        Ответить
    • https://github.com/svalkoBot/svalkoBot.github.io/blob/master/meta_.tsv
      Ответить
      • Что это за файл и зачем? Он содержит все слова из комментариев на сайте svalko.org, например, «чолузь», «сакирмахрепяка», «свинодемон», «золевалка».

        В том же проекте есть нечто, похожее на матрицу смежности. Видимо, частоты пар этих слов в тексте. И ещё какая-то питушня для «tensorflow». Очень похоже на генератор вореций, обученный на текстах из «свалко», но я не проверял.
        Ответить
    • Вореции из персонажей мультфильмов:
      https://svalko.org/data/2020_04_24_17_03i_ibb_co_26mgJnL_ye_FW_Lpwo_QA.png
      Ответить
    • Как бы вы решали следующую задачу:
      Есть библиотека с тяжелой инициализацией, но сам вызов нужной функции очень быстрый, но потоконебезопасный.
      То есть
      auto pituh_helper = new PituhHelper(); // долго
      pituh_helper->is_good_pituh_name("Petya") // быстро


      Есть поток HTTP запросов, каждый в своём потоке, и должен проверить is_good_pituh_name (не важно какого инстанса)

      На память похуй.
      Ответить
      • Наивно, сделав вызов нужной функции потокобезопасным:
        auto pituh_helper = //...
        std::mutex pituh_mutex = {};
        
        auto is_good_pituh_name_safe(std::string_view name) {
            std::lock_guard guard{pituh_mutex};
            return pituh_helper->is_good_pituh_name(name);
        }


        UPD: Если время выполнения is_good_pituh_name() много меньше, чем время обработки HTTP-запроса (а оно, скорее всего, так и есть), то HTTP-треды висеть на pituh_mutex.lock() практически не будут, а оверхед от лока/анлока будет слишком низок, чтобы его заметить.
        Ответить
        • Если HTTP-потоков слишком много, и по результатам профайлинга они слишком много спят на этой функции, то можно запилить гибридный вореант (по сути, пул хелперов):
          constexpr size_t N = 4;
          std::array<PituhHelper, N> pituh_helpers = {...};
          std::array<std::mutex, N> pituh_mutexes = {};
          std::atomic<size_t> helperCounter = 0;
          
          auto is_good_pituh_name_safe(std::string_view name) {
              size_t helperNum = helperCounter ++% N;
              std::lock_guard guard{pituh_mutexes[helperNum]};
          
              return pituh_helpers[helperNum]->is_good_pituh_name(name);
          }


          N выбираем так, чтобы под максимальной нагрузкой HTTP-потоки практически не спали на std::mutex::lock().
          Ответить
      • Другой вореант: пул потоков-воркеров, обрабатывающих HTTP-запросы; в каждом воркере — по собственному pituh_helper.
        Ответить
      • показать все, что скрытоvanished
        Ответить
        • Как я опнял, у Петуха поток создаётся на каждый HTTP-запрос и после завершения обработки умирает.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • С коллекцией петухов может быть избыточный оверхед на извлечение/возвращение (плюс нам надо будет два раза лочить мьютекс — чтобы петуха забрать и чтобы отдать). И не ясно, что делать, если для очередного потока не окажется петуха.
              Я выше привёл похожий пример: N петухов, N мьютексов. Очередной поток берёт i-й мьютекс и i-го петуха (по модулю N), атомарно инкрементит i, блокирует мьютекс, зовёт петуха, освобождает мьютекс и уходит. Если петухов хватает на всех — оверхед будет только на лок/анлок и атомарный инкремент, если не хватает — всё будет работать нормально, но каким-то тредам придётся ждать освобождения.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Ну вообще да, с вероятностью в 95% у Петуха отлично заработает самый примитивный вореант, с единственным петухом и его локом (а лучше, ИМХО, переписать всё на пул воркеров и не пердолиться). Но раз уж он упомянул пирфоманс — почему бы и не поупарываться.

                  Кстати, в решении с i можно заменить мьютекс на спинлок и получить при правильном подборе N вообще м-м-м-максимум пирфоманса (оверхед в один атомарный инкремент и один «test-and-set»). А при неправильном — полная деградация, гы-гы-гы.

                  > какой смысл иметь больше потоков, чем ядер?
                  Ну, в теории они у него могут висеть на отправке ответа или действительно на другом IO. Если петухов возвращать сразу после выполнение проверки — скорее всего, действительно нужно будет петухов по количеству ядер, если проверка CPU-bound (но у меня сейчас поздно, туго думается, могу быть неправ).
                  Ответить
          • Именно поэтому я за «PHP».
            Ответить
    • https://twitter.com/govnokod/status/991933366407745536
      > по телефону
      Ахахах, представляю себе разговор:

      Алло, здравствуйте, это роскомнадзор? А пачиму вы заблокировали говнокодюру,?
      Ответить
    • https://www.joom.com/ru/best/plavayuschiy-petuh
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • По английски Интернет нужно писать с большой бувы (бо с мелкой internet это любая ip сеть)
        По русски хз
        Про сеть хз тем более
        Ответить
    • 500 коммент. Перекатывайте.
      Ответить
    • Перекат!
      https://govnokod.ru/26750 https://govnokod.xyz/_26750
      Ответить
    • Прочитал на чеке из магазина «Магнит»:
      Cachback 5 %
      Купон возможно применить до: not-a-date-time


      Ничего не понял. Переведите на «русский».
      Ответить
    • SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ph.file' in 'where clause' The SQL being executed was: SELECT COUNT(distinct p.id) FROM `sections_has_produce`AS shp INNER JOIN `produce` AS p ON shp.idProduce = p.id AND p.status = 1 INNER JOIN `produce_prices` AS pr ON pr.idProduce = p.id AND (pr.idFilial = 1 OR pr.idFilial = 1) LEFT JOIN `produce_store`AS ps ON ps.idProduce = p.id AND ps.idFilial IN(1,41,1,50)LEFT JOIN `produce_variants` as pv on pv.idVariant = p.id WHERE shp.idSection = 1 AND p.delete_at IS NULL AND (p.sale = 1 OR p.groups = 9 OR p.stock = 1) AND p.onStore = 1 AND ph.file IS NOT NULL AND (ps.cnt IS NOT NULL OR p.onRequest = 1) AND pv.idProduce IS NULL
      
      Наш персонал уже решает проблему. Попробуйте обновить страницу через минуту.


      Именно поэтому я за «MySQL». Взято отсюда:
      https://welltex.ru/sale
      Ответить
      • > через минуту

        Только в пхп можно так быстро задеплоить фикс.
        Ответить
        • лол
          Ответить
        • Именно поэтому я за «PHP».
          Ответить
          • Я как-то фофан прикручивал к «Apache» интерпретатор пистона в таком же режиме как «PHP», то есть как cgi-обработчик определённого типа файлов. Если учесть, что на пистоне писать приятнее, а в нужный момент можно так же говнокодить как на пыхе, и инлайнить всю хуйню (а ещё cpython оказывался шустрее «PHP» на каких-то синтетических говнопримерах, емнип), то я не понимаю, почему быдло так не делает.

            Всё-таки ключевая «киллер-фича» «PHP» — это, пожалуй, абсолютно отмороженный ассоциативный массив, с одинаковой степенью хуёвости реализующий одновременно интерфейсы листа, хэша, стека, мутабла и чёрта с рогами. Быдлу он важнее, чем пистоньи типы, если необходимым условием разработки является полный отказ от чтения ворнингов и ерроров и только метод тыка.

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

          Call to undefined method stdClass::getFlatTree()
          
          Наш персонал уже решает проблему. Попробуйте обновить страницу через минуту.


          А может я просто обновил страницу в тот момент, когда они загружали фикс как раз
          Ответить
          • Ну во-первых тебе ж сказали
            https://welltex.ru/photos//cf/cd/saitnadorabotke.png

            Во-вторых, возможно все ошибки которые мы наблюдаем связаны с миграцией на новую версию Symfony или типа того.
            Ответить
            • >saitnadorabotke
              ponatno
              Ответить
              • cd/saitnadorabotke.png

                Continuous dorabotka
                Ответить
                • Или с компакта грузят
                  Ответить
                  • Лазишь по сайту, клац-клац, а тебе Please insert disc number 2
                    Ответить
                    • Меня в убунте бесило, что для установки почти любого пакета инсталлер просил по-очереди вставить 2-3 диска.
                      Ответить
                      • Это когда у тебя Интернета не было?
                        Ответить
                        • Ну можно считать, что не было. 2G - не интернет.
                          Ответить
                          • Вот по этому я за слаку: там все пакеты сразу ставят (потому что иначе откроется шкатула Лемаршана), и ничего потом не доставляют.
                            Ответить
                            • Я посидел на rolling-release, и подсел на то как реально, например, gimp с последними обновлениями стал в разы охуеннее.
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • На роллинг-релизе довольно нубского Manjaro + AWM

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

                                  Щас ноут починю, там что-то поинтереснее поробую, плюс x forwarding на десктоп. Вот жизнь-то будет.
                                  Ответить
                                  • показать все, что скрытоvanished
                                    Ответить
                                    • Нахуй те дебиан
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • С ноутом наиграюсь, скажу взвешенно, но пока я люблю арч. Мне как-то принципиально, чтобы конфиги были не автогенеренные гуями, а под руки заточены, чтобы при установке системы не удалять лишнее, а выбирать нужное, чтобы ебучие пакетные менеджеры со встроенными песочницами не лезли, типа snap (он только в убунте, до дебиан ещё не дополз?)

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

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

                                          Ты уже как борманд, потерял запал, решил присесть на посвежее но стабильное?
                                          Ответить
                                    • Со слаки путь только на lfs, лол
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • Ну это не отменяет вектора в сторону "все руками".

                                          Слака это "все - пачка скриптов"
                                          Остаётся добавить "которые ты сам и пишешь"
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • По поводу шеллов, тебя хоть что-то не баш-лайк впечатлило? Фиши всякие
                                              Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • У меня zsh, я не знаю такого, чтобы прям течь, но да, после него баш кажется очень бедным, особенно если удалось удачно настроить под себя. Но есть несколько неприятных моментов, в том числе дурацких несовместимостей с баш. Неоднократно натыкался на скрипты без шебанга (говноадминский говно код, типа скриптов для запуска), которые просто через точку и слеш не работали, надо было в явном виде кормить их башу а не зш
                                                  Ответить
                                                  • Киллер фича zsh для ценителей - это не свистоперделки, это парсинг man pages для комплишена ключиков прям с описаниями из доки. У таких программ, где имена опциям придумывал ебанько (курл например), сводит жопоболь к нулю.
                                                    Ответить
                                                  • показать все, что скрытоvanished
                                                    Ответить
                                                    • Прямо из манов парсит fish, у zsh вроде генерится кем-то из и oh_my_zsh комплишен из манов. Не знаю.

                                                      Если все настроено заебись, то собственно работает все у чего есть правильно форматированный ман. Плюс у zsh есть распиздатые комплишены сущностей по контексту, то есть не только файлы, а ветки гита, устройства, интерфейсы, имена контейнеров докера, дохуя чего комплитится. Это с oh_my_zsh конечно.
                                                      Ответить
                                                    • Вообще, фиш охуенный кажется. Я себе поставлю в шелл, подозреваю что уменьшится количество тех моментов, когда делаешь что-то руками, потому что лень очередной раз гуглить ебучий синтаксис и правильное экранирование для сраного цикла в баше.
                                                      Ответить
                                                    • > Кстати, в bash тоже в теории можно написать комплишен: см compgen

                                                      Ну а хули, конечно можно. Да и часто юзается, опять же автокомплит для докера ставит щас любая собака
                                                      Ответить
                                • > даже мои знания на уровне "марширующих муравьев"

                                  Что ты имеешь ввиду?
                                  Ответить
                                  • показать все, что скрытоvanished
                                    Ответить
                                    • да, а что за уровень такой?

                                      типа умеешь выделять прямоугольную область?
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • Заебись, ты не безнадёжен. А я как-то поднаторел в нём уже, правда до того чтобы кастомить плагинами не дожил ещё, и самим "рисованием" кистями и планшетами не пользуюсь, но что касается задезигнить превьюху для видоса, какую-нибудь иллюстрацию в упрощённом стиле для публикации, шапку для статьи и т.д. — всего более чем хватает.

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

                                              Меня — то, что нельзя менять прозрачность слоя и сразу смотреть результат, менялка прозрачности находится в пизде и применяется только после нажатия ОК. Слои можно группировать по группам, и давать им названия как в ФШ, но это ± бесполезная фича, поскольку разом слои можно только например скрыть/показать, а например не объединяя в один подвигать инструментом move — нельзя. Логику поведения floating area (это когда ты что-то вставил, и оно ещё не слой, но уже и не кусок другого слоя, какое-то промежуточное состояние) я до сих пор не понял. Тупо превращаешь его сразу в новый слой. И нахуя? Ещё, нет нормального универсального инструмента, которым можно было бы например и выделять и перемещать, переключать инструмент с "выделение" на "перемещение" — это какое-то говно, хоть и хоткеи есть.

                                              За что хвалю — это что в свежей версии наконец-то сделали группировку инструментов, например заливка и градиент в одной группе, в другой лассо, прямоугольное выделение, ножницы, овальное выделение. Заебись, теперь панель инструментов не засрана. А ещё добавили нормальный объединенный инструмент, которым можно перемещать, менять размер, вращать и деформировать разом. Раньше тоже ебля была, одним подвинул, другим повернул.

                                              Придет время, погляжу чо там за плагины народ понахуячил, может можно разогнать до монстра.
                                              Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                              • >>Еще, нет нормального универсального инструмента, которым можно было бы например и выделять и перемещать, переключать инструмент с "выделение" на "перемещение" — это какое-то говно, хоть и хоткеи есть.

                                                Разве ctrl+shift+l не есть когда обычное выделение становится плавающим и переходит как слой и с ним можно работать как со слоем крутить вертеть и всякие хуйни делать до применения?
                                                Ответить
                                                • Так ещё ж больше действий получается.

                                                  Надо: выделил, переместил

                                                  Получается от силы: выделил, выбрал другой инструмент, переместил

                                                  А так — выделил, сделал плавающей областью, выбрал инструмент, переместил, объединил.

                                                  Хуета.
                                                  Ответить
                                                  • А какой инструмент надо выбирать? Зачем? Ты про кисть или что то другое? Ну хотя я не замечаю я все на хоткеях хуячу. максимум тыкаю выделение и ползунки с костями.
                                                    выбрал сделал плавающим переместил тутже и нажал на свободное место и слой объединяется. Вроде так работает
                                                    Ответить
                                                    • > А какой инструмент надо выбирать? Зачем?

                                                      В большинстве эдиторов то, что ты выделил, можно сразу взять за середину и перетащить. Чтобы не переключаться с инструмента "выделение" на инструмент "подвигать хуёвину".
                                                      Ответить
                                                      • Именно поэтому я за «Paint.NET».
                                                        Ответить
                                                      • А понял. ну да лишнее децствие. Хотя я блядь как то положительно даже к этому отнеся, потому что до этого был только мацкросовтовский пеинт, а там пиздец не правильно выделил и нельзя форму выделение поменят и она деформирует то что выделил.пиздец.
                                                        Ответить
                                              • Вспомнил, ещё мега-уёбищная хуета: когда пытаешься двигать текстовый слой, надо попасть прямо в букву, прозрачность вокруг будет двигать фон.
                                                Ответить
                                                • Так вроде говно ещё есть что в 1 букву если она маленького размера курсором не попасть, потому что там край и ту начнёшь изменять размер поля. Вроде.
                                                  Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • >>Я в детстве думал быть дизайнером

                                                  Фу блядь. Сразу видно что ты Зумер. Раньше дети мечтали стать космонавтами и пожарниками и милиционерами.
                                                  Ответить
                                          • Ебать ты по гнутый.
                                            Я в джипе рисую все, потому говножоп не возлюбил изначально как то с ним не задалось. А потом таки джимп не возлюбил из-за того что по умолчанию он на 3 отдельных окна бъется что не совсем удобно, но слава яйцам я нашел волшебную галочку которая объединяет тырфейсы (помнится в старых релизах нельзя было в одно лето)
                                            Ответить
                                            • Да я тоже говножоп толком не знал никогда, но много с дизайнерами общался, так что представление имею об инфраструктуре.

                                              > он на 3 отдельных окна бъется
                                              да не на три, на пять-шесть. Минимум: инструменты, цвет, слои, параметры конкретного выбранного инструмента и область изображения.

                                              Ёпт, видел мужика, который считал это киллер-фичей, особенно для multihead

                                              Но я конечно тоже сразу галочку ставлю, благо нашёл её при втором запуске гимпа, когда он по делу понадобился.
                                              Ответить
                          • Ух, бля, флешбеки пошли, как я в своей Залуповке нестабильный «2G» с порезанным до 64 кбит/с трафиком шарил с телефона но ноутбук.
                            Ответить
              • Прочитал как сайт на санобработке.
                Ответить
      • А как MySQL тут поможет? В дебаг-моде не спалит куллхацкеру запрос с именами таблиц и столбцов?
        Ответить
      • лоооооооол

        а вот и кот

        https://pastebin.com/9wG6wgmR
        Ответить
    • Открылся сайт знакомств с собаками:
      https://www.m24.ru/news/gorod/10072020/124698
      Ответить
      • Годно. Добрые дела нужно геймифицировать
        Ответить

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