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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 baropinho, (Updated )

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

        • Журнал «Canard PC».

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

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

          Интересно, что этот термин как калька вошёл и в другие языки.
          Ответить
            • Я однажды видел французскую клавиатуру. На ней была клавиша «Annuler» (вместо «Delete», если не путаю).
              Ответить
              • а компутер знаешь как будет по ихнему?
                Ответить
                    • Немцы, кстати, тоже часто употребляют сокращение «PC». У немцев ещё есть слово «Rechner» (дословно «решатель», но обычно этим словом называют микрокалькуляторы) и термин «elektronische Datenverarbeitungsanlage» (буквально «электронное данноперерабатывающее устройство», почти как наш термин «ЭВМ»), но последний термин слишком пафосный и употребляется, пожалуй, только в их ГОСТах.
                      Ответить
                      • У немцев еще был Планкалкюль, лол.

                        Если бы гилтер не откатил Гермашку в жопу своей талантливой внешней политикой, то возможно первые компы начали бы массово внедрять именно там в 40-х -- 50-х. Ща бы питухи учили немецкий
                        Ответить
                    • Интересно у французов:
                      ноутбук — ординатёр портабль;
                      настольный комп — ординатёр дэ бюро;
                      планшет — таблет тактиль или таблет нумерик;
                      КПК — ассистант перзонель;
                      мейнфрейм — ординатёр сентраль.

                      Рабочая станция — стасьён дэ травэль.
                      Ответить
                      • Париж узнал стасьёна дэ травэээээээля
                        Ответить
                        • Ты не радуйся. Скоро общество лишится своего, гм, члена, в твоём лице.
                          Ответить
  • Из 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» бормандовским конпелятором?
    Ответить
  • Илон Макс успешно запустил в космос «Falcon 9» с двумя космонавтами.
    Ответить
    • Возврат первой ступени выглядел как фейк. Сигнал пропал прям в самый интересный момент и потом раз и всё уже на месте. Походу они её всё-таки проебали, но решили не портить впечатление этой мелочью...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    На почти чистую систему установил «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.
    Ответить
    • а теперь найди файл vsvars32.bat и запусти его
      и проверь, есть ли в пасе что нужно
      Ответить
      • Не скажу за build tools, но у обычной установки студии даже ярлык в пуске есть, который запускает сосноль с нужным окружением. Чот в духе visual studio XXXX command prompt.
        Ответить
        • и у билдтулз есть
          а у студии даже есть пункт в меню tools.
          и оба запускают этот батник

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

            Ладно, скажу. Билдтулз добавляет точно такой же пункт в меню «Пуск». Любая блондинка может выбрать пункт «Visual Studio 2019 → Visual Studio Tools → Developer Command Prompt», откроется чёрный экранчик, и оттудова будут запускаться cl.exe, rc.exe, и даже компилироваться колёса.
            Ответить
            • тогда я не понимаю, в чем семина проблема
              Ответить
              • Видимо в инструкции по установке пакетов это не написано?
                Ответить
                  • If the package's setup.py (still) uses distutils rather than the recommended setuptools, you may need extra steps:

                    • distutils only supports the very minimum of compiler setups. The sections in this guide corresponding to them explicitly mention distutils.

                    • For other setups, you need to run the compilation from the "SDK prompt" of the corresponding toolchain and set the DISTUTILS_USE_SDK environment variable to a non-empty value.

                    Тут даже упомянули «SDK prompt», но новичок может не догадаться, что это такое.
                    Ответить
                    • > explicitly mention

                      Ааа, дошло. distutils умеет детектить только полноценную установку студии. Причём только 2015, 2010 и 2008. А BuildTools он юзать без пердолинга с соснолью не умеет.
                      Ответить
                      • Охуеть, правда?

                        Building wheel for brotlipy (setup.py) ... error
                        ...
                         error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

                        Ну поставил я говно по ссылке, а оно как не работало, так и не работает.
                        Ответить
                        • Да что с тобой не так, блядь?

                          c:\program files (x86)\microsoft visual studio 14.0\vc\bin>c:\temp\py38\Scripts\activate
                          
                          (py38) c:\program files (x86)\microsoft visual studio 14.0\vc\bin>pip install brotlipy
                          Collecting brotlipy
                            Downloading brotlipy-0.7.0.tar.gz (413 kB)
                               |████████████████████████████████| 413 kB 656 kB/s
                          Requirement already satisfied: cffi>=1.0.0 in c:\temp\py38\lib\site-packages (from brotlipy) (1.14.0)
                          Requirement already satisfied: pycparser in c:\temp\py38\lib\site-packages (from cffi>=1.0.0->brotlipy) (2.20)
                          Building wheels for collected packages: brotlipy
                            Building wheel for brotlipy (setup.py) ... done
                            Created wheel for brotlipy: filename=brotlipy-0.7.0-cp38-cp38-win32.whl size=344289 sha256=4c1056f79c3399d1095ed1a78796601dab1ae1df746ce043c367e3b4eded5fed
                            Stored in directory: c:\users\MAKAKA\appdata\local\pip\cache\wheels\cf\1a\c2\6960e0438c1b79edcee75bc8a2a34e972a93ef5738f8e28e03
                          Successfully built brotlipy
                          Installing collected packages: brotlipy
                          Successfully installed brotlipy-0.7.0
                          
                          (py38) c:\program files (x86)\microsoft visual studio 14.0\vc\bin>
                          Ответить
                          • А вдруг он не троллит, а и вправду возникла какая-то проблема? Вдруг «билдтулз» установлены для одного юзера, а он сейчас залогинен другим? Вдруг он нужные галочки не поставил, например, установил компилятор C#, а C++ не установил или установил «Clang» вместо «MSVC»? Или реестр чем-нибудь загажен, так что есть фейковые записи о «Visual Studio», ведущие в пустоту?
                            Ответить
                            • мы бы всё это поняли, если бы хоть раз увидели его аутпут

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

                                  я два раза сказал скомпилировать cl.exe простую программу хеллу ворлд на си. Где это всё?
                                  Ответить
                      • У меня «distutils» почему-то детектирует «Build Tools».

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

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

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

                          Алсо, проблема не в незнании (все мы чего-то не знали когда-то), а в неумении сформулировать проблему.

                          Прочитать ошибку о ненахождении cl.exe, и пойти с ней разбираться.
                          Ответить
                          • Я же сформулировал: я поставил то что модуль просил - а он не компилируется. Дальше ковыряться с чужим модулем я в гробу видал.
                            Ответить
                            • У меня скомпилировался
                              У Икануса скомпилировался
                              А у тебя нет

                              Может, в консерватории что-то подправить?
                              Ответить
                              • Я тоже думаю, что проблема в консерватории.

                                Сёма в учебном заведении изучал «Питон» — у него не компилируется.

                                Я «Питон» в учебных заведениях не изучал — у меня всё работает.

                                Может быть, их там неправильным вещам учат?
                                Ответить
                                • Но разве в учебном заведении тебя учили ставить mitmproxy на python38?
                                  Ответить
                                  • Не учили. Поэтому и возникает вопрос, почему у «математика из рашки» всё устанавливается, а у германского программиста — нет.
                                    Ответить
                                    • может, там нужна была математика? Тебе случайно не приходилось диффуры использовать, чтобы поставить пакет?
                                      Ответить
                                      • Диффуры не пригодились, а вот топология помогла. Пришлось пересечения множеств считать.
                                        Ответить
                      • Пидорас анонимный, у тебя волшебным образом юзеры делятся для тех кому для мастера нужны скриншоты (уметь юзать мастер называется продвинутый пользователь, к программированию вообще не имеет отношения, идиота кусок!) и те кто за каким-то хером умеют работать с си(++) или готовы ковыряться с чужими модулями дальше pip install. Прав я был, анонимов надо скрывать.
                        Ответить
                        • Если для тебя установка sdk это "ковыряться", то ок.

                          Сиди на линуксе или маке: там компилятор проще ставица
                          Ответить
                          • Я же писал: билет тулзы поставил, ничего не завелась.
                            Ответить
                            • А сборку колёс запускал из обычного cmd или из visual studio command prompt как инканус и гость предлагали?
                              Ответить
              • Я тоже. Он так долго настаивал, что проблема именно в «Питоне 3.8» и именно в пакете «mitmproxy», что я поверил, что у него и вправду серьёзная проблема, и решил пройти все шаги с самого начала.

                Бывает же, что какой-то пакет сломан и без хаков не поставить...
                Ответить
                • Можно включить бритву Оккама

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

                  Если бы там было все так плохо, то наверное это было бы указано в документации.
                  Ответить
                • Русьня не мыслит себя без бутылки в жопе. За каким хуем я вообще должен ебаться, чтобы поставить написанное другим человеком? Тут еботни реально больше, чем поставить прыщи в виртуалку / wsl.
                  Ответить
                  • >За каким хуем я вообще должен ебаться, чтобы поставить написанное другим человеком?

                    Потому что ты хочешь это использовать.


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

                Попробуй явно добавить компилятор версии 140 (14.00). Вдруг пакет distutils более новые компиляторы у тебя почему-то не находит.
                Ответить
              • Перевернутый мир какой-то.

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

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

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

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

                          А что в «OpenBSD»? Там меняется формат экзешников или соглашение вызова?
                          Ответить
                          • Там может поменяться ABI. Могут подкрутить что-то в либси, могут поменять сискол ядра.
                            Сисколы ядра так же не являются стабильными (в отличие от linux).

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

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

          у меня 15я студия имеет именно такой файлик, видимо с билдтулзами онп другмоу называютеся
          Ответить
          • vcvars32.bat, vcvarsall.bat есть в любой версии, но в некоторых их как-то хитро запускать надо. В старых был setenv.bat, который выполнял всё необходимое.

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

              а у меня студия, там все говно вместе, и потому мне хватает одного файла

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

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

                  Можно было прочитать сообщение об ошибке, и вбить в гугл такую фразу
                  "rc.exe not found in path"
                  и сразу узнать как что-либо собиррается под винду
                  Ответить
                  • У меня как-то под «Ноду» на «Windows» пакет не ставился. Посмотрел лог, оказалось, что там используется нативная библиотека, а бинарник не приложили. Запустил «npm» из «Visual Studio Command Prompt» — всё скомпилировалось и установилось.
                    Ответить
    • Пользователям это тоже надо будет объяснять? Скажи уже, не может питон в винду. Не-мо-жет!

      Какого хуя я этим вообще должен заниматься? Почему у прыщесвиней всё заводится с полпинка?

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

          Я хуею как вы, русьня, не понимаете простую вещь: какого хера я должен ебаться, чтобы запустить то что написали другие? Какой от этих писюлек прок? Или тут сидят одни админы - профессиональные пердолики? Но тогда вы хоть за свой пердолинг деньги получаете, а мне нахуя геморрой за бесплатно?
          Ответить
          • Ну так забей. Особенно если ты денег за пердолинг не получишь. Лимит на решение проблемы вышел.
            Меня как-то из-за одной фигни винда задолбала (кажется XP), я ее снес и года три сидел в Убунте. Потом захотел поиграть и снова поставил (Win7).
            Ответить
            • > Лимит на решение проблемы вышел.
              Вот! Я о чем!
              Нет, я могу конечно погуглить-попердолиться, но... Мой богатый опыт с питоном и не только показывает, что послушал шпыняния русьнявых пидарков и начал пердолиться - будешь пердолиться вечно. И ни за хуй - ты даже не своё пишешь, а чужое пердолишь.
              Понятия "бюджет времени" ты от них не услышишь. Они о нем не знают? Или просто не озвучивают? Я не пойму. Вообще, пердолиться ни за хуй - это такая часть (условно) русьнявого менталитета? Или просто в интернете любо попонтоваться, вот смотрите, он не сделал, а я сделал? Объясните.
              Ответить
              • Но! Попердовлишись в каком-то участке кода, в какой-то области ты становишь экспертом. Жаль лишь на время.
                Ответить
              • Так ты пердолишься, чтобы это помогло решить твою задачу. Можешь не пердолиться - нихуя не получишь или будешь делать с нуля и дольше. Если уметь пердолиться как икарус, то можно быстро чинить какую-то разную хуйню вроде сломанного вифи на андроиде (я не утверждаю, что ты обязан это уметь).
                Ответить
        • Я даже сделал что просил модуль - поставил build tools. А оно один хер не конпелируется.
          Ответить
        • Но питон же интерпретируемый язык, а по факту его приходится "конпелировать" в один экзешник для пользователей. как же так?
          Ответить
          • Компилировать в один экзешник надо ровно потому, что он интерпретируемый, а интерпретатора у пользователя может и не быть.

            под винду точно есть интерпретаторы js и vbs (под wsh, очень старые) и powershell.
            Есть скорее всего какой-то .net.

            Под никсы скорее всего будет perl. Других гарантий нет.

            Сёма, выучи Go. Будешь компилировать всё в один гигансткий .exe файл, и течь.
            Go вроде не сложный, вряд-ли он сложнее питона.

            Либо выучи C#, и пиши под винду: .NET нынче везде есть.
            Ответить
      • >> Там еще что-то выбирать надо было?

        Нет. Больше ничего я не выбирал. Специально ставил на машину, на которой никаких конпеляторов (кроме штатного csc.exe от Microsoft.NET) не установлено. Там даже vcredist не было, установщик «Build Tools» его добавил.
        Ответить
        • А у меня не работает. Сколько мне ещё времени надо въебать, чтобы оно заработало?
          Ответить
      • >> Пользователям это тоже надо будет объяснять?

        Пользователям можно выдать скомпилированные «колёса». Правда, компилировать их придётся подо все версии «Питона», на которых предполагается запускать софт.

        Ну или собрать экзешник с интерпретатором «Питона» внутри:
        https://pypi.org/project/auto-py-to-exe/
        https://pypi.org/project/py2exe/
        Ответить
    • >> 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
      Ответить
  • Если какой-то мусор летает на орбите, то километр ближе к земле — он начнёт падать, километр дальше — отдаляться? Или это не так работает?
    Ответить
    • Не, пока мусор за пределами атмосферы - он так и будет вечно крутиться по своему эллипсу. Если же он заденет атмосферу, то его скорость начнёт падать, орбита будет снижаться и в конце концов он упадёт и сгорит.
      Ответить
      • Ну то есть орбита - это точка, где гравитация равна нулю?
        Ответить
        • Да, при определенной скорости. Скорость упала - снижаешься, увеличилась - взлетаешь.
          Ответить
          • А за счёт чего спутник поддерживает скорость?
            Ответить
            • За счет двигателей. 10-15 раз в сутки корректирует орбиту.
              Ответить
              • А топливо у них обычно химическое, сотня-две кг, рассчитанное на несколько лет. Кончилось - падает.
                Ответить
            • В основном за счёт закона сохранения энергии. На него там ничего особо не действует, разве что об атмосферу трётся если низко летит. Ну и двигателями компенсирует эти потери на трение, как выше написали.

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

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

                Луна вызывает морские приливы на Земле, поэтому между Луной и Землёй возникает сила трения: Луна тратит свою энергию на подъём воды на Земле, а вода от трения нагревается, поэтому всю свою энергию вернуть Луне не может. Это приводит к замедлению Луны. К счастью, эта сила не настолько велика, чтобы заметить замедление Луны невооружённым глазом.
                Ответить
  • Питух начинает новый проект, и хочет выбрать язык.
    Представим, что Питух умеет выучить любой нужный язык за несколько месяцев, так что сложность языка для Питуха не принципиальна.

    Питух выдвигает требования:
    * Без GС. Подойдет любой другой способ управления памятью с предсказумым временем жизни объектов. Если небольшие структуры можно будет размещать на стеке -- вообще класс.
    * Статическая типизация. Желательно какой-то вывод типов (и вообще поменьше бойлерплейта). Типы хочется указывать как "varName: type".
    * Хочется чтобы все было как можно более иммутабл (или становилось таким с легкостью)
    * Питуху нужны средства профилирования. Хочется каких-то тулов, которые боль-мень красиво показали бы чем забита память, и что делали потоки.
    * Полезно будет иметь немного функциональщины

    Посоветуйте язык питуху.
    Ответить
    • Боюсь половину требований не выполнить, но я за «Object Pascal».
      • Явное выделение и освобождение памяти через New/Dispose, GetMem/FreeMem или Create/Destroy. Можно и на стеке, если вместо class использовать object.
      • Типизация статическая, varName: type. К сожалению, вывода типов нет.
      Ответить
      • А профилирование и функциональщина как?
        Ответить
      • С PascalABC.NET авторы знатно порезвились, там тебе и вывод типов, и лямбды, и функциональщина, и многопоточность.

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

          Хотя «Типы хочется указывать как "varName: type"» - странное требование.
          Ответить
          • The total number of computer languages to exist is approximately 9,000, though there are 50 that are the most popular programming languages in use today.

            Неужели ни одного языка нету?

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

            Kotlin/Native provides an automated memory management scheme, similar to what Java or Swift provides. The current implementation includes an automated reference counter with a cycle collector to collect cyclical garbage.
            Ответить
            • Тоесть гибридный подход: для всего реф каунтер, а именно для циклов GC.

              Выходит, что если у меня нет циклов, то деструктор вызовется предсказуемо, а если случайно будет цикл, то нет?

              Интересно, можно это как-то отключить?
              Ответить
                • Угу.
                  GC находит strong reference cycles, на которые нет ссылок из стеков потоков и всяких других областей. Такие циклы называются "islands of isolation", и GC их выпиливает.

                  Потому в Java и Kotlin дофига кода типа
                  val petuh = Petuh()
                  val kurochka = Kurochka(muzh=petuh)
                  petuh.zhena = kurochka

                  и пиздец без GC
                  Ответить
                      • Про фантомные ссылки не очень понял, конечно.

                        А так с учётом того, что что со слабыми, что с сильными ссылками всё будет чистить вилкой гц, то смысла в слабых действительно не так много.

                        Кстати, кто там спрашивал про говно в свифте: почитайте про unowned reference.
                        Ответить
                        • Фантомные ссылки нужны для каких-то хаков, я даже не помню, когда я их использовал.

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

                    SJW напряглись за кадром
                    Ответить
                    • Обоим быть weak, и объекту Couple иметь на них ссылки:)
                      Ответить
              • Гибридный GC - худшее из двух миров. Недетерминированные деструкторы, к которым добавили оверхед от рефкаунтера. Нафиг так жить?
                Ответить
                • Тоже так думаю
                  А как сделать котлин без ГЦ? Всю стандартную библиотеку переписать?
                  Ответить
                  • Да оставить GC, имхо, и не выёбываться. Раз уж заявляешь совместимость с джавой.

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

                    RC могут ссылаться и на RC и на GC и разрушаются детерминированно. GC могут иметь на RC только слабую ссылку и разрушаются в рандомное время.

                    Но х.з. насколько это удобно для реализации GC. Слишком много корней на первый взгляд, может на пирфомансе сказаться.
                    Ответить
                    • чтобы у питуха мозги взорвались?
                      Если ты уже вынужден включать мозг чтобы понять, когда тебе нужно RC, а коли GC, то чому бы сразу всегда не RC?
                      Ответить
                      • Не ну есть моменты когда GC удобнее. Чистые данные со сложными взаимоотношениями, как в примере про жену и мужа.
                        Ответить
                        • привели риальный пример, когда утечка пкамяти это плохо, и RC плохо, а GC хорошо
                          Ответить
    • Кстати, поскольку требования к кроссплатформенности нет, то 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, но она принимает только два аргумента. Для бóльшего количества последовательностей уже надо извращаться или писать свою функцию.
          Ответить
        • Выглядит интересно

          Почему не сделать его кроссплатформенным языком?
          Ответить
    • Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

      А: Поздно. Иди лучше в дворники.

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

      A: Лет за сорок. Столько времени у тебя нет. Иди лучше в дворники.

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

      A: Так случилось. Английский надо было учить 20 лет назад. Теперь ты уже его не выучишь, и прогаммистом не станешь. Иди лучше в дворники.
      Ответить
      • Q: Поздно ли вкатываться в айти в 20/30/40/100 лет?

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

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

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

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

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

          http://bigor.bmstu.ru/?cnt/?doc=103_Computers/1005.mod/?cou=140_CADedu/CAD.cou
          Ответить
          • В качестве шины для подключения графического контроллера используются последовательные шины AGP или PCI Expre

            В настоящее время используют контроллеры типов IDE (Integrated Drive Electronics) или EIDE (Enhanced IDE), допускающие подключение к одному контроллеру до четырех устройств.
            ------
            Как Михаила Гука почитал за 2002-й год:)


            Однако следует отметить, что архитектура описана всё таки валидно, хотя и на момент двадцатилетней давности
            Ответить
          • Приведем примеры HTML-тегов. К тегам форматирования текста (тегам компоновки) относятся:
            <P> — конец абзаца;
            <BR> — перевод строки;
            <HR> — перевод строки с печатью горизонтальной линии, разделяющей части текста;
            <CENTER> — выравнивание изображения по центру страницы;
            <LISTING> Текст </LISTING> — представление листингов программ;
            <BLOCKQUOTE> Текст </BLOCKQUOTE> — выделение цитат;
            <FONT> — задание типа, размера и цвета используемого шрифта, имена этих параметров (атрибутов) FACE, SIZE и COLOR соответственно.

            http://bigor.bmstu.ru/?cnt/?doc=270_Web/web102.mod/?cou=140_CADedu/CAD.cou
            Ответить
              • Кроме того, было разработано расширение DHTML (Dynamic Hyper Text Markup Language) языка HTML, названное динамическим языком разметки гипертекста. С помощью DHTML можно создавать Web-страницы, включающие интерактивные элементы, анимацию, движущиеся объекты и фон, расположенный под основным содержимым документа, выпадающие меню и т.п. Стандарт DHTML используется для создания скриплетов -- сценариев, обрабатываемых браузером совместно с кодом HTML.
                Ответить
              • Интересно, CSS animation когда-нибудь выпилят как мелькающее говно, или нет.
                Ответить
  • Есть какие-либо альтернативы «HTML»-ю?
    Ответить
    • • WML
      • XML+XSLT (Docbook)
      • PDF
      • RTF
      • OpenDocument/OOXML (docx)
      • SWF
      • SVG
      • BBCode
      • SMIL
      • Texinfo
      • Разные форматы хелпов
      Ответить
    • Смотря в какой области.

      Для построения GUI? Для сематического описания документа?
      Ответить
  • Петухи, мне надо
    with get_pituh() as p1, get_pituh() as p2, get_pituh() as p3:
       ...


    Заменить на
    def get_pituhs():
       return [get_pituh() for _ in range(3)]
    
    with get_pituhs() as pp:
       ...


    Как правильно сделать? Можно как-то сделать свой класс, отнаследовав от list, и прописать ему "конструкторы" и "деструкторы"?
    Ответить
    • нельзя сделать генератор с @contextmanager, который yeieldит что-то?
      Ответить
      • Можешь реальный пример привести?
        Мне нужно в with работать как с массивом.
        Ответить
      • А, понял тебя.
        Типа
        class Spam(AbstractContextManager, list):
            def __exit__(self, exc_type, exc_value, traceback):
                for i in self:
                    i.__exit__()
        
        
        spam = Spam()
        spam.append(open("1.txt", "w"))
        spam.append(open("1.txt", "w"))
        
        with spam as s:
            for f in s:
                f.write("a")
        Ответить
        • Посмотри ещё 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:
                  ...
              Ответить
                • > если твой вариант работает

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

                  Перетестировал на всякий случай - нормально всё закрывает при успешном исполнении, при исключении во внешнем with и при исключении в инициализации какого-то из ресурсов. Вроде все случаи, которые надо рассмотреть?
                  Ответить
                  • Да, кажется всё верно.

                    Блядь, как увсё сложно
                    Ответить
                    • Это ещё фигня, ты попробуй сделать класс, который менеджит несколько ресурсов и живёт достаточно долго (т.е. в 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

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

                        Простой и понятный язык, блядь
                        Ответить
                        • Интересно, как такую хуйню написать на руби?
                          Там нет никаких контекст менеджеров (ну, раньше не было). Там open получал block, и вызывал его.

                          File.open('1.txt', 'w') do |f|
                            f.write 'hello'
                          end
                          .

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

                      У ExitStack есть pop_all, так что можно даже вытаскивать узлы дерева из под with и перецеплять в другое место. Ну либо сделать свой манагер из которого можно убрать элемент.
                      Ответить
                            • В Qt как-то обошлись без shared_ptr, используя голые указатели и создав иерархию с правилами владения объектами.
                              Ответить
                              • Там тоже не всё так просто и безоблачно - deleteLater, слабые поинтеры которые зануляются при смерти объекта, магия по отписке от сигналов и т.п.
                                Ответить
                                  • Главное, чтобы розовые блюющие единороги не пришли.
                                    Ответить
                                    • Со статическим анализом? Были уже. Макросами подавились.
                                      Ответить
                                      • Что мешает статическому анализатору раскрыть макросы? отсутствтие знаний параметров компилятора?
                                        Ответить
                      • и будет язык двумя сортами блоков: плохая, сраная пародия на RC.

                        Ну вообще так ведь и должно быть: все популярные технологии проходят две стадии:

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

                  З.Ы. И вообще депрекейтед с 2.7
                  Ответить
        • Спасибо. В моём питоне 3.7.7 почему-то вместо элементов массива какой-то "_GeneratorContextManager"
          В онлайн интерпретаторах не воспроизводится.

          https://ideone.com/bjJwUl
          Ответить
          • Нашел проблему, это я дурак.

            Блять, как всё сложно. Именно поэтому я за "PHP".
            Ответить
              • У меня оказывается Pituh был обернут в @contextlib.contextmanager
                У меня тут целая иерархия этих стеков, я заебался уже.
                Ответить
                • А классно в языках с ГЦ, правда?;)
                  В сраной C++ ты бы закрывал файлы в деструкторах.

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

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

      ...

      >> Мы можем отсечь лишние с помощью HLR-запроса или невидимой SMS.

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

                В ВК была группа, где тян выкладывали способы подката к ним из всяких соцсетей.
                Там типа чувак приходит знакомица, и сразу заходит с козырей: предлагает отсосать
                Ответить
          • Говорят, если на СЗ первым предложением предлагать переспать, то одна из 200 точно согласится. При условии, что у тебя нормальные фотки, конечно. Если бы это не работало, так бы не делали. Тоже самое с дикпиками, наверное.
            Ответить
              • Сайт знакомств (tinder, badoo, mamba и прочее).
                Ответить
              • были такие процессоры у VIA C3, крайне хуевые. Хуже селерона
                Ответить
            • Это как нигерийский спам.

              Если миллиону людей послать письмо от имени адвоката Мнямба, которому нужно $20 чтобы разлочить твой счет на $1000000, то один согласится.
              Ответить
                      • Давно вам говорю: сделайте тулу для глобального бана.

                        А вы мало того, что не делаете, так еще и кормите рака.
                        Ответить
    • Какой айфон )))

      Блин, я надеюсь на андроид такие удобные и безопасные фичи пока не завезли...

      Отдать пароль от вайфая просто потому что чел находится рядом и добавлен в контакты? Они серьёзно?

      З.Ы. А, там явное подтверждение, тогда норм.
      Ответить
    • zhovner: «Моя подруга Аня koteeq, специально по моей просьбе, написала Телеграм-бота, который генерирует нужные картинки с подписью на лету: @AirTrollBot».

      koteeq вчера в 17:14: «Паша, ты говорил, что бот нужен для генерации добрых поздравительных открыток. Что происходит?!»

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

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

                        Он же оверпрайснутый. Я думаю какого-нибудь логитека хватит, типа моего G610, один хер свичи те же самые стоят и сборка норм.
                        Ответить
                        • зато он на свичах, как классический IBM
                          Ответить
                          • У das'а обычные cherry mx brown, на логитеке точно такие же.
                            Ответить
                              • Ну это да, дизайн у das'а прикольный.

                                Хотя в теории можно у китайцев заказать мешок кейкапов. Хоть чёрных хоть розовых. У меня вон вместо Z и X кнопки с логотипом osu стоят.

                                З.Ы. И к механике стоит сразу резиновых колечек заказать, особенно если не один живёшь. Ибо пока пальцы не привыкнут не вбивать клавиши в пол как на мембранке - это пиздец.
                                Ответить
                                • > У меня вон вместо Z и X кнопки с логотипом osu стоят
                                  Какой анимешник )))
                                  Ответить
                                • да, меня коллеги попросили дазкиборд не использвать
                                  Ответить
                                  • Хорошие у тебя коллеги. Сам бы не догадался?
                                    Ответить
                                    • А сам он поди в наушниках с шумодавкой музыку на всю слушал 🙂
                                      Ответить
                                      • И семечки жрал или яблоком хрустел.
                                        Ответить
                                        • А разве мы шумели?
                                          Ну, Андрюша стучал еле-еле
                                          Молотком по железной трубе,
                                          Я тихонько играл на губе,
                                          Восемь пятых размер соблюдая,
                                          Таня хлопала дверью сарая,
                                          Саша камнем водил по стеклу,
                                          Коля бил по кастрюле в углу
                                          Кирпичом, но негромко и редко.
                                          Ответить
              • при этом iMac имеет нормальную вилку)

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

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

                        Кстати, аллюминий не нужен. Он хрупкий, толстый, и говно.

                        Выкинь нахуй всю свою проводку, и проведи медь и три провода.
                        Ответить
                          • ахаха, вот пидор
                            хорошо, что у него нету керосинового завода
                            Ответить
                        • > Выкинь нахуй всю свою проводку, и проведи медь и три провода.
                          Я бы с радостью, но это ж надо по сути капитальный ремонт делать: всю мебель двигать, обои и прочий декор от стен отдирать, сами стены разъёбывать, потолок тоже расхуяривать. А потом всё собирать как было. Слишком много стресса для моей ленивой душонки.
                          Ответить
                • Ну у меня дом относительно новый, с землёй всё норм. Комп током не бьётся, искр при подключении моников нету. Так что иногда всё-таки нормальная проводка встречается.
                  Ответить
  • This is really cool feature. If you want to just pass all the arguments of the current method to a new method, Ruby 2.7 makes it dead easy with the help (...).

    def hello(...)
      Greeter.new.hello(...)
    end


    все сосат6 у яебу
    Ответить
    • Improvements to JIT
      There have been improvements made to the JIT compiler which introduced in Ruby 2.6. You can run your Rails application with JIT by adding a flag like this:

      все сосат6 у яебу (кроме ноды)
      Ответить
      • да везде так можно
        и в перле
        и в питоне
        я хз, о чем гость
        Ответить
        • В J нельзя, там бывает либо один, либо джва аргумента.

          А в форте даже не надо ничего для этого писать, стек-то данных-то на всех-то общий.
          Ответить
        • Да даже в крестах есть (не то многоточие, которое сишное, а то, которое от шаблонов).
          Ответить
      • а что это за яебу
        и где онa живет?
        Ответить
        • Twenty four years just wating for a chance...

          Чёрт, а ведь этой новомодной фигне в этом году должно стукнуть 25 лет.
          Ответить
          • --а что это тут пролетело?
            --а это пять лет, они часто тут пролетают
            Ответить
  • У кого-то тут ещё стоит говно под названием OnlyOffice?
    Ответить
  • Клопо́вник му́сорный, также воню́чник, ве́ничник (лат. Lepídium ruderále) — как правило, однолетнее травянистое растение, вид рода Клоповник (Lepidium) семейства Крестоцветные (Cruciferae).

    Широко распространённое в Северном полушарии сорное растение с резким неприятным запахом.
    Ответить
      • ага) надо бы кое-кому погоняло такое дать
        Ответить
        • Офтопик. Я читал статьи про так называемые опасные инвазивные виды живых существ (животных, растений, грибов). Оказалось, что в России вдоль железных дорог как сорняки растут американские растения (топинамбур; белая акация; ясенелистный клён; ещё какие-то травы), а в США вдоль железных дорог как сорняки растут российские растения (сходу не вспомню, придётся гуглить). Местная флора не выдерживает жёстких условий, а занесённая рада хоть такому, к тому же у неё нет конкурентов.
          Ответить
            • бОРЩЕВИК ВКУЧСНЫЙ И ПОЛЕЗНАЫ. я С ДЕТСВА СЪЕДАЮ ПО 5 КАЛОГРАММ БОРЩЕВИКА В ДНЕЬ И НИЧГО.
              Ответить
              • Ну я про то, что он растёт где угодно и забивает все остальные растения. И хер выкорчуешь потом.
                Ответить
                • > хер выкорчуешь
                  бОРЩЕВИК ВЫЗЫВАЕТ ГЕНДЕРНУЮ ДИСФОРИЮ?
                  Ответить
                  • Про борщевик не знаю, но хмель точно содержит фитоэстроген — по действию аналог эстрогена человеческого. От хмеля сиськи растут.
                    Ответить
                • да и человеку о тоже вреден

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

            ты увеен, что она сорняк?
            Ответить
            • Я не против белой акации. Она мне даже нравится. Первоначально её сажали в парках как декоративное растение. Она красиво цветёт, она прекрасный медонос (из её нектара получается съедобный мёд, несмотря на то, что растение в целом ядовито).

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

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

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

              Итого: если белую акацию не контролировать, она может превратить окрестности в непроходимые дебри.
              Ответить
    • Прорыв дамбы в Брумадинью произошёл 25 января 2019 года вследствие катастрофического повреждения хвостохранилища на железнорудной шахте в городе Брумадинью бразильского штата Минас-Жерайс. Владельцем дамбы была компания Vale, она же была ответственна за аварию на дамбе в Бенту-Родригесе в 2015 году. Плотина 1 пропустила наносы грязи, распространившиеся на дома в пригородной сельской местности.
      Ответить
  • Только у меня телеграм не работает?
    Ответить
    • Ахах, тупые сисадмины нарисовали карту распространения проблемы. Ебать информативно. Понятно, что количество проблемных коррелирует с количеством пользователей, а количество пользователей с количеством населения.

      https://vk.com/wall-39243732_1704098
      Ответить
        • Я что-то вообще легенду карты не нашёл. Вдруг это средняя температура пуканов?
          Ответить
          • Да, ебать, такая питушня везде. Про то, что такое легенда карты знают лишь школьники изучающие географию.
            Ответить
      • Это тепловая карта с https://downdetector.com/. Количество пользователей, нажавших кнопку «у меня не работает», каким-то образом нормализованное.

        UPD: чистые данные там тоже есть, на графиках.
        Ответить
          • Это с «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», проверю.
                Ответить
                • зачем ты поставил на нгинкс какую-то сраную питуню? что вообще это такое -- нчан? нахуй он нужен? нахуй грузить в адресное пространство нгинкса какой-то левый код?
                  Ответить
                      • Он сам включился после «apt install nginx». Спроси тех дебиановцев, кто этот пакет собирает.
                        Ответить
                        • Спрос не с дебиановцев, а с тебя.
                          Ответить
                        • то-есть ты не добавил врручную директиву nchan_, не заказал модуль при установке nginx, а он просто взял и появился?

                          говно-то какое

                          покаж
                          nginx -V
                          Ответить
                          • Именно так. Взял и появился после «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
                            Ответить
                            • а, ну так поудаляй всё из -enabld, этож просто ссылки на avail

                              хорошая штука дебиан
                              стобильная
                              Ответить
                              • С «nchan» я так и сделал, остальные трогать опасаюсь. Хер знает, для чего все эти «mod-http-subs-filter» и «mod-http-upstream-fair» нужны.
                                Ответить
                                • ngx_http_upstream_fair_module - sends an incoming request to the least-busy backend server, rather than distributing requests round-robin.


                                  Это всё очень нужно говностоку
                                  Ответить
                                • Ты DAV и RTMP пользуешься? На «Луа» и на «Перле» конфиги пишешь? MP4 и FLV «нгинксом» кодируешь? Преобразование XSLT «нгинксом» выполняешь?
                                  Ответить
                                  • Не знаю, надо проверять.
                                    У меня просто фобия: боюсь изменять сложные системы. А вдруг вылезут какие-то плавающие гейзенбагры, которые придётся долго и упорно чинить? Или там просто производительность просядет, а я не замечу. Или ещё что-нибудь отвалится.
                                    Ответить
                                    • Что может отвалиться? Сток продолжит работать - значит ок.
                                      Ответить
                                      • Какие-нибудь вебсокеты начнут отваливаться, например.
                                        Ответить
                                        • я всё равно не понима. Ты не ставил extras? не выбирал модули при установке nginx? не соглашался на рекомендованные депенденсы или как там блядь оно у дебина называется

                                          может, рекомендеды надо забблчить?
                                          https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_blocking_packages_installed_by_recommends
                                          Ответить
                                          • Я ввёл «apt install nginx-extras» (да, за давностью лет забыл точную ко-ко-команду), подтвердил установку пакета, и мне установился «nginx» со включёнными по-умолчанию мудулями. Года два они никак не мешали работе, а в начале этого мудуль «nchan» начал примерно раз в две недели вешать весь «nginx».
                                            Ответить
                                            • зачем ты это сделал? зачем? зачем?
                                              Ответить
                                                  • А вдруг пригодится? В то время мне надо было просто и быстро поставить «nginx» и запустить сайтец. Ебаться с установкой мудулей по невнятным ошибкам в мои планы не входило.
                                                    Ответить
                                              • Вообще я понимаю gost'а: хорошая система не должна внезапно падать из-за какого-то модуля, включенного в комплект поставки. Потребитель не должен думать, что нужно отключить, чтобы система работала.

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

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

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

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

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

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

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

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

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

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

                                                              Интересно, я смогу вспомнить школьную физику, которую учил в прошлом веке?

                                                              Ток в цепи шел 220в/[сопротивление-лампы] (сопротивлением плиты пренебрежом), и нагревал плиту с мощностью этот самый ток, умножить на сопротивление плиты?

                                                              Если мощность лампы сто ватт, то 100=220*I, отсюда ток равен 0.45 ампера, а сопротивление лампы u/i = 220/0.45 = 480 ом.

                                                              Если сопротивление плиты ниже в 15 раз, то 480/15=32 ома.

                                                              При токе 0.45 ампера такое сопротивление выделяет мощность 32*0.45 = 14 ватт.

                                                              Такой мощностью ничего не нагреешь, конечно.

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

                                                                З.Ы. Ну и ток как бы чуть меньше чем 0.45 будет из-за того, что плита добавилась. Ну да похуй, расчёт всё равно прикидочный.
                                                                Ответить
                                                                • то-есть все таки обосрался(((((

                                                                  при сопротивлении 32 ома и токе 0.45 у нас напряжение 14 вольт. (по закону ома)

                                                                  А мощность по джоуляленца 14*0.45 = 6.3Вт.


                                                                  Про сопротивление плиты я написал, что пренебрегу, бо оно все равно в 15 раз меньше
                                                                  Ответить
                                                              • Сразу видно, что ты из Ращки: физику знаешь, а плита не греет!
                                                                Ответить
                                                                • как видишь, не знаю(
                                                                  И физику не знаю, и плита не греет.

                                                                  Вероятно, я из Демократической Республики Конго

                                                                  Ну либо я гуманитаррий
                                                                  Ответить
                                                              • Пусть лампочка будет 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/Градирня
                                                                    Ответить
                                                                    • P.S. Про иранские «канаты» (подземные каналы) рассказывали в художественном фильме «Тегеран-43». Но там ни слова не было о том, что канаты в сочетании с бадгирами могут работать как кондиционер и как холодильник.
                                                                      Ответить
                                                                    • Бадгир это круто. Я бы себе сделал, если бы у меня была вилла в жарком поясе.
                                                                      Ответить
                                                                • да, твой расчет более точный, так как я не учёл общее сопротивление, хотя оно тут и не очень важно.

                                                                  И да: RMS же вероятно надо домножать (или делить?) на коифф-нт, кажется его обозночали какой-то греческой буквой.

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

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

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

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

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

                                                                    Возможно, ты с приемлемой погрешностью посчитаешь, за сколько времени вода нагреется до 40°C. А дальше чем ближе к точке кипения, тем вода быстрее будет терять энергию.
                                                                    Ответить
                            • Модули, которые dynamic, можно же просто отключить в конфиге, чтобы они не грузились?
                              Ответить
            • Телеграм и говностог легли примерно в одно время. Совподение?
              Ответить
    • Что это за файл и зачем? Он содержит все слова из комментариев на сайте svalko.org, например, «чолузь», «сакирмахрепяка», «свинодемон», «золевалка».

      В том же проекте есть нечто, похожее на матрицу смежности. Видимо, частоты пар этих слов в тексте. И ещё какая-то питушня для «tensorflow». Очень похоже на генератор вореций, обученный на текстах из «свалко», но я не проверял.
      Ответить
    • А первый ряд это тоже вореции или оригинальные картинки? А то я не пойму, чо Печкин похож на дятла Вуди
      Ответить
      • Ага. Внешнее произведение векторов. Видишь, тензор второго ранга в результате получился?
        Ответить
        • Опять раш-ка.
          Приведи реальный пример, сколько сёмги можно купить за тензор второго ранга?
          Ответить
  • Как бы вы решали следующую задачу:
    Есть библиотека с тяжелой инициализацией, но сам вызов нужной функции очень быстрый, но потоконебезопасный.
    То есть
    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.
      Ответить
    • Пусть есть пул из N-1 потоков, где N -- количество ядер.
      При старте приложения каждый поток создает себе питуха, и его использует.

      Звучит элементарно. Вероятно, я что-то упустил. В чем подвох?
      Ответить
      • Как я опнял, у Петуха поток создаётся на каждый HTTP-запрос и после завершения обработки умирает.
        Ответить
        • Это зело хуёво. На винде за такое вообще срут в руки, на прыщах нет, но всё равно.

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


          Другой вариант -- коллекция с атомарным получением питуха.

          Количество питухов в коллекции не может быть больше кол-ва потоков
          Ответить
          • С коллекцией петухов может быть избыточный оверхед на извлечение/возвращение (плюс нам надо будет два раза лочить мьютекс — чтобы петуха забрать и чтобы отдать). И не ясно, что делать, если для очередного потока не окажется петуха.
            Я выше привёл похожий пример: N петухов, N мьютексов. Очередной поток берёт i-й мьютекс и i-го петуха (по модулю N), атомарно инкрементит i, блокирует мьютекс, зовёт петуха, освобождает мьютекс и уходит. Если петухов хватает на всех — оверхед будет только на лок/анлок и атомарный инкремент, если не хватает — всё будет работать нормально, но каким-то тредам придётся ждать освобождения.
            Ответить
            • >на извлечение/возвращение
              два мутека на фоне http запроса и создания потока не звучит как супержпа

              >И не ясно, что делать, если для очередного потока не окажется петуха.

              либо ждать, либо создавать нового, и добавлять в коллекцию

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

              Твое решение с i красивее синхронизированной коллекции, да.

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

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

              Алсо, если сделать массив питухов, и хранить знание о занятости питуха в битах числа 2^размермассива, то можно атомарно делать сетить флажок
              Ответить
              • Ну вообще да, с вероятностью в 95% у Петуха отлично заработает самый примитивный вореант, с единственным петухом и его локом (а лучше, ИМХО, переписать всё на пул воркеров и не пердолиться). Но раз уж он упомянул пирфоманс — почему бы и не поупарываться.

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

                > какой смысл иметь больше потоков, чем ядер?
                Ну, в теории они у него могут висеть на отправке ответа или действительно на другом IO. Если петухов возвращать сразу после выполнение проверки — скорее всего, действительно нужно будет петухов по количеству ядер, если проверка CPU-bound (но у меня сейчас поздно, туго думается, могу быть неправ).
                Ответить
                • самый верный вариант это пул пококов, только надо верно за собою чистить.

                  В мире прыщей, если вместо потоков используются процессы, принято убивать такой процесс раз в N запросов, чтобы операционка автоматом закрывала все твои ресурсы. Тоогда можно срать памятью и прочими ресурсами, а Доброе Ядро (или добрый обжект манагер в случае пинды) сам за тобой всё почистит

                  См max_requests_per_child итд.

                  Чуть менее отличный вариант это один питух и синхронизация доступа. Я не верю в суперхайлоад, если конечно у него случайно не 256 ядер и не 20 сетевых карт.

                  Про спинлок (это же и есть бизивейт в некотором смысле) я согласен, но хрупко.

                  Если тред видит в IO долго, то лучше бы ему отдать всё ненужное (в том числе и питуха).

                  Вообще если треды цпу-баунд, то их должно быть по кол-ву ядер. Если io-bound, то питухов надо отдавать.

                  питухов должно быть N=cpu-1, в любом слуае
                  Ответить
                  • > питухов должно быть N=cpu-1
                    А почему -1, кстати?
                    Ответить
                    • Потому что все ядра на 100% все равно софту не отдать. Нужно кому-то обслуживать ядерные треды (которые там буферы флашат или дообрабатывают софтовую часть прерываний или хз что они делают), админа по SSH пускать и пр.

                      Это, разумеется, если твой сервер постоянно нагружен на 100%.

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

                      Но это имхо
                      Ответить
          • на хпх я бы вынес тяжелые оперции в отдельный процсс, и общался бы с ним через уникс домейн сокетс
            Ответить
    • >> а email до вас не доходят

      –— Алло, Антон, до нас не доходят ваши емейлы.
      —– Попробуйте прочитать их ещё раз.
      Ответить
        • > taobao

          Я чото даже боюсь гуглить
          Ответить
          • Это основной внутрекитайский магазин. Даже если не является основным у групп подобных "магазинов" как aliexpress, joom хуюм, ebay даже балуется им и другого говна которые на самом деле являются некими переводчиками для других стран. По этому и имеем такие всратые названия.
            Если ты думал что заказываешь с aliexpress? ты глубоко ошибся друг. В китае нет вашего алиекспреса, все заказы али идут через таобао являясь зеркалом.
            Ответить
            • Тоже слышал, что АлиЭкспресс это проект АлиБабы на внещний рынок
              Ответить
  • Прочитал на чеке из магазина «Магнит»:
    Cachback 5 %
    Купон возможно применить до: not-a-date-time


    Ничего не понял. Переведите на «русский».
    Ответить
    • Купон возможно применить до: undefined
      Ответить
    • > Ничего не понял. Переведите на «русский».

      PHP Notice:  Undefined variable: data in /home/programmi/pechat.php on line 36
      Купон возможно применить до:


      Так понятно?
      Ответить
    • Constructor for infinities, not-a-date-time, max_date_time, and min_date_time

      Соснул C++ и boost, это же очевидно
      Ответить
      • Соснул разработчик, очевидно.
        Ответить
        • Нет.

          Смотри: если у Сёмы не получилось что-то с линуксом, то соснул Линукс.
          Если у $developer не получилось что-то с $techonoly, то соснул $technology
          Следишь за мыслью?
          Ответить
          • > Смотри: если у Сёмы не получилось что-то с линуксом, то соснул Линукс.

            Гениальная логика, воистину!
            Ответить
            • У «Сёмы» всё сложнее: если не запустился «Python» в «Windows», то соснул «Линукс», потому что «Python» — это «прыщеговно».
              Ответить
          • Я просто не ожидал от «Магнита» такой скильности (среднестатистическая макака не осилила бы подключить «Буст», а они смогли!). Думал, там всё на «PHP 4.1».
            Ответить
            • Ты же не думаешь, что они это писали сами?

              Купили небось готовую питушню, а там буст
              Ответить
              • Ещё немножко инфы про «Магнит». Если предъявить бонусную карту, касса печатает талончик с суммой накоплений, в конце которого странная фраза: «dzialam!» Гуглёжка показывает, что это, вероятно, польская фраза «Działam!», которая переводится как «Я действую!»

                Откуда они взяли эту фразу?
                Ответить
                  • Значит, крестопараша с «Бустом», взятая с польского «Stack overflow». Возможно, это не очень распространённый вид извращений.
                    Ответить
                    • Может просто купили криво локализованную систему у поляков?
                      Ответить
  • 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
    Ответить
    • > через минуту

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

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

          А до более обсрактных вопcросов усройства языка и дело не доходит.
          Ответить
          • mod_cgi позволяет запускать всё, что может запускать execve, то-есть любой скрипт с шебангом, любой бинарь и даже .class или .dll (см binfmt_misc).
            Главное бинарю отдать заголовок (ноль или более), два перевода строки \r\n и тело (ноль или более байт)

            Массив в пыхе блевотен, это правда. В нормальной скриптушке (Ruby, Perl да даже JS) это всё таки разные сущности, в перле даже неймспейсы могут быть разные (если работать не через ссылку).

            Исключение составляет lua, но в lua просто вообще всего один нескалярный тип, и в этом его красота
            Ответить
            • Меня бесит вычисление длины списка в пистоне. Какой нахуй len(), это чо за вкрапленрие паскаля в скриптушню, почему это не поле у объекта список. Даже в жс гомоиконнее
              Ответить
              • И именно по этому я за
                print scalar @{[(1,2,3)]}; #3


                Кстати, луа
                local a = {1,2,3}
                print(#a) --3


                Ну руби само собой
                puts [1,2,3].length #3


                В python действительно дыра в абстракции
                Ответить
                • При этом в js это только красивый интерфейс, чо там реально с этими итераторами, Keys и всей хуйней внутри, это пиздец.
                  Ответить
                  • ну у JS все таки length это свойство массива
                    "use strict";
                    
                    console.log([1, 2, 3].length); //3


                    А еслы ты хочешь ключи объекта, то да: Object.keys
                    Ответить
                • бесят __методы__

                  недавно же ржали про __getattr__ vs __getattribute__
                  Ответить
                  • В питоне нет приватных методов.
                    Есть __method, но его надо использовать в 0% случаев
                    Ответить
                      • В том, что их всё равно можно вызвать (впрочем, и в .NET и JVM есть рефлексия).

                        И в том, что в питоне ничего не может считаться "публичным", пока оно не задокументировано.
                        Ответить
                        • Ну как же, интерпреиатор ж не даёт вызвать __method вне объекта оператором точка

                          А про документирование не понял. Это философский вопрос?
                          Ответить
                          • Он его манглит просто, впиндюривая туда имя класса ЕМНИП.

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

                            Это и есть их "приватность"
                            Ответить
                            • Ух ты. Это при том что общепринятое документирование внутри кода на пистоне - это мультилайн строка в тройных кавычках, даже у джавадок сосет
                              Ответить
                              • Если в документации (в коде или лучше в сфинксе) описан метод, то он часть API. Иначе нет.

                                В сишных SDK ты тоже можешь случайно увидеть что-то левое. В линуксовом ядре вообще ты все структуры можешь заинклудить, но гарантии тебе никто не даст.
                                Ответить
                            • Не совсем. Приватными в «Питоне» считаются любые методы, начинающиеся на одно нижнее подчёркивание, «_spam()». Два нижних подчёркивания в начале имени нужны для такого себе запрета переопределения поля в классах-потомках, чтобы каждый потомок имел свою собственную копию соответствующего поля.
                              Ответить
                      • А приведи пример, когда кто-то использовал приватный метод.

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

                          Я чот сильно много кода на нем не читал, чтобы уловить такое, но сам по джавовской привычке если пишу на пистоне write n throw, то пишу в процедурном стиле, вижу что несколько функций по смыслу можно объединить с данными. Делаю класс, если у него какие-то методы не надо снаружи давать дёргать, и они чисто внутренние, делаю из с двойным подчеркиванием в начале.

                          Это чем-то плохо?
                          Ответить
                          • Это не плохо, просто это не нужно.

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

                            Ну вот у джанговой модели я вижу поле `super_new`.
                            Могу я его использовать?
                            Нет, бо оно не документировано. Мне никто ничего не обещает.
                            Так зачем его как-то явно прятать?
                            Ответить
                            • Понял, красиво. Ну и конечно же документацию никто не пишет.
                              Ответить
                              • В питоне пишут, причем километровые простыни, в отличие кстати от языков типа Java, где именно наличие модификатора видимости позволяет этого иногда не делать.

                                пример питона, например
                                https://docs.djangoproject.com/en/3.0/ref/unicode/

                                Что тут описано -- то и API
                                А остальное просто случайно получилось
                                Ответить
      • Ты был прав. Они эту проблему починили, но случайно внесли другую.
        Теперь там написано

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


        А может я просто обновил страницу в тот момент, когда они загружали фикс как раз
        Ответить
                  • Меня в убунте бесило, что для установки почти любого пакета инсталлер просил по-очереди вставить 2-3 диска.
                    Ответить
                        • Вот по этому я за слаку: там все пакеты сразу ставят (потому что иначе откроется шкатула Лемаршана), и ничего потом не доставляют.
                          Ответить
                          • Я посидел на rolling-release, и подсел на то как реально, например, gimp с последними обновлениями стал в разы охуеннее.
                            Ответить
                            • на ролинг-релизе кого? на сиде дебиане или на недопятнадцатой слаке?

                              в 14-й очень древний гимп, даже мои знания на уровне "марширующих муравьев" иногда в него упираются
                              Ответить
                              • На роллинг-релизе довольно нубского Manjaro + AWM

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

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

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

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

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

                                          У дебиана нету генерилки через GUI, но слоев абстракции там овердохуя (одни alternatives чего стоят).

                                          В нем много сложностей, но они супер хорошо документированны.

                                          Я не то, что бы за "по свежее", ну просто слака уже совсем ушла в пике. Хочу postfix вместо sendmail, хочу 12-ю постргрю, хочу python 3.8...
                                          Ответить
                                          • Так собирай! Какие подводные кроме пирдолинга?

                                            А на дебиан уже тоже пролез ебучий аналог "системного реестра".

                                            gconf или как там блять, короче какие-то пути с ключами (org.zalupa.sosok.krasnaya_knopka = "yes") , база древовидная, хранится хуй знает где и через неё неочевидным образом конфижится говнософт типа гнома
                                            Ответить
                                            • gconf это рак гнома, ты не обязан уметь в гном.
                                              Я использую cwm, и теку

                                              >собирай
                                              могу, но хочется готового в ОС

                                              Пирдолица интересно один раз.
                                              А с ноля собирать вручную 33 полезных пакета это не айс.

                                              Я умею запускать ./configure && make && make install из аутолулз. Зачем не еще раз это себе доказывать?
                                              Ответить
                                              • Так ты это умеешь, чтобы доказать или чтобы собирать? Хз, я пока анскилябра, но думаю мне когда-нибудь и на это хватит фанатизма.

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

                                                Скажем, слаку на ноут примерно шестилетней давности имеет смысл втыкать, или ебнешься дрова делать?
                                                Ответить
                                                • Дрова часть ядра. Если в нужной версии ядра есть дрова, то проблем у тебя нет. У меня слака на совсем древнем ноуте, ядро правда перебранное, но оно и без меня бы работало нормально.
                                                  Ответить
                                                  • Ну ок, пилим монстра на 2 ядра 2 гига со слакой и икс форвардингом на десктоповский манджаро
                                                    Ответить
                                                • Всё равно вокруг меня сплошной ubuntu, что на серверах, что на десктопах.
                                                  И везде поттеринг: dbus, puseaudio и systemd
                                                  Ответить
                                                  • Что плохого в поттеринге, какой конкретно изъян появляется в данном случае из-за нарушения юних вей, с проблемами как столкнуться? Кроме того что это раздражает окр
                                                    Ответить
                                                    • Поттеринг это именно что нарушение unix-way.
                                                      Это бинарные логи (systemd-logind), это дублирование функционала (таймеры и слушалки сокета вместо cron и inetd), это завязка на dbus (user демон), это попытка навернуть абстракции на всё (firewalld), даже сломать терминалы (loginctl).

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

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

                                                          Не путай debian и devuan.
                                                          Погугли.

                                                          devuan это форкнувшиеся от debian ветераны-юниксоиды, не согласные с systemd
                                                          Ответить
                                            • У меня синдром утёнка: мне нравится то, что я узнал в детстве, видимо. В моем детстве арча не было.

                                              Так что к арчу я индеферентен, но еще раз хочу подчеркнуть, что вики у них очень крутое, я иногда его читаю
                                              Ответить
                                                • Win2K тогда уж: у меня до сих пор есть книжка Руссиновича про него:) Вполне возможно, что мои знания NT во многом ею и ограничены)
                                                  Ответить
                                    • Слака на самом деле совсем не про "всё руками": слака это про "всё работает из коробки, но всё -- это пачка шелл скриптов".

                                      Слака суперпростая и супертупая.
                                      Ответить
                                      • Ну это не отменяет вектора в сторону "все руками".

                                        Слака это "все - пачка скриптов"
                                        Остаётся добавить "которые ты сам и пишешь"
                                        Ответить
                                        • В слаке не рекомендуется писать руками, вместо этого рекомендуется читать сырцы.

                                          простой пример: как запустить apache при старте?
                                          chmod +x /etc/rc.d/rc.httpd


                                          Внутри шелл скрипта rc ты увидишь код, который запускает все rc.*, у которых [ -x $FILE ].

                                          Достаточно знания основ шел, чтобы всё это понять.
                                          Сравним с тем, что делает systemctl enable
                                          Ответить
                                          • По поводу шеллов, тебя хоть что-то не баш-лайк впечатлило? Фиши всякие
                                            Ответить
                                            • Я не очень углублялся. У меня коллеги текут от zsh: у них там всё раскрашено в разные цвета, и красиво комплитится.
                                              Может быть и стоит попробовать, тем более что oh my zsh вроде как мощная штука.

                                              Я могу сказать, что (t)csh не нужен: он ничем не лучше баша, только синтаксис другой. Зачем два шела несовместимых?

                                              (pd)ksh(93) тоже не хуже баша: крутые штуки вроде комплишена команд по истории и process substitution там тоже есть, а весит он чуть меньше, и полностью совместим с sh.

                                              Так как в большинстве дистров сейчас баш (в дебиане вроде был ash, сейчас не знаю), то кажется, что вполне нормально можно жить с башем.
                                              Единственное, что я его в set -o vi переключил: в emacs я не умею
                                              Ответить
                                              • У меня zsh, я не знаю такого, чтобы прям течь, но да, после него баш кажется очень бедным, особенно если удалось удачно настроить под себя. Но есть несколько неприятных моментов, в том числе дурацких несовместимостей с баш. Неоднократно натыкался на скрипты без шебанга (говноадминский говно код, типа скриптов для запуска), которые просто через точку и слеш не работали, надо было в явном виде кормить их башу а не зш
                                                Ответить
                                                • Киллер фича zsh для ценителей - это не свистоперделки, это парсинг man pages для комплишена ключиков прям с описаниями из доки. У таких программ, где имена опциям придумывал ебанько (курл например), сводит жопоболь к нулю.
                                                  Ответить
                                                • Скриптовать лучше на чистом sh без башизмов, тогда будет работать везде. Правда, обычный sh мало что умеет.

                                                  sh обязан быть везде по posix, так что такой скрипт будет работать на любой ОС.

                                                  Кажется, мак перешел на zsh с баша. Забавно, что в первой версии там был csh, по аналогиии с bsd.

                                                  А zsh прямо из манов парсит? Это круто, а много с чем работает?

                                                  Кстати, в bash тоже в теории можно написать комплишен: см compgen
                                                  Ответить
                                                  • Прямо из манов парсит fish, у zsh вроде генерится кем-то из и oh_my_zsh комплишен из манов. Не знаю.

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

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

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

                                    типа умеешь выделять прямоугольную область?
                                    Ответить
                                    • Ну примерно)

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

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

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

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

                                            Придет время, погляжу чо там за плагины народ понахуячил, может можно разогнать до монстра.
                                            Ответить
                                            • Здравствуйте. Это форум программистов?
                                              Ответить
                                              • Нет, все программисты через фейсбук захайрены уже, с помощью заебавшей рекламы вида
                                                import you from people
                                                if (you.are(developer))
                                                    vam_k_nam_srochno_bldjad(pizdets);
                                                Ответить
                                              • Это Говнокод. Здесь есть обсуждения на любые темы. Любые.
                                                Ответить
                                            • >>Еще, нет нормального универсального инструмента, которым можно было бы например и выделять и перемещать, переключать инструмент с "выделение" на "перемещение" — это какое-то говно, хоть и хоткеи есть.

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

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

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

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

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

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

                                              Потом я никак не мог привыкнуть к "floating layer" (его надо явно "view from visible") и еще выделение работает совсем не так, как в фотожопе.

                                              Там ты просто выделил что-то, зажал кажется альт, и двигаешь выдленное, а в гимпе у тебя 4 (!) разные клавиши, и все четыре делают разное, включая неочевидную функцию "intersect".

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

                                              Я в детстве думал быть дизайнером, и кроме фотошопа пытался изучать векторную питушню (илюстратор, корел и еще что-то), но не осилил.
                                              Ответить
                                              • >>Я в детстве думал быть дизайнером

                                                Фу блядь. Сразу видно что ты Зумер. Раньше дети мечтали стать космонавтами и пожарниками и милиционерами.
                                                Ответить
                                                • Сам ты зуммер.

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

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

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

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

        Дело в том, что вывод ошибок в браузер и SQL инъекции встречаются почему-то исключительно в проектах с PHP и MySQL.

        По какой-то причине с Python, Perl и Postgres их не бывает
        Ответить
        • Да ладно? Я дотнет видел несколько раз с выводом ошибок на экран. Ну они не так замечательно интегрируются в дизайн страницы как в пхп, конечно. Просто страница с ошибкой вместо нужной.
          Ответить
              • Да вроде нет, там как раз надо явно включить поведение, чтобы ошибка шла в лог
                Ответить
                • Да вы спорите про холодное и мягкое. Что такое "пыха по умолчанию"? Конфиг васян-хостинга или Денвер?
                  Ответить
                      • Я за Perl+CGI.
                        Там ошибку в браузер при всем желании никто не выведет.
                        Ответить
                          • Я ценитель всего изящного
                            perl -e "print map {\"$_\t$ENV{$_}\n\"} sort keys %ENV"
                            Ответить
                            • root@ngk:~# perl -e "print map {\"$_\t$ENV{$_}\n\"} sort keys %ENV"
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}
                              true    {true}

                              Какой багор )))
                              Ответить
                              • Это версия для cmd и винды

                                Для юникс и sh попробуй
                                perl -e 'print map {"$_\t$ENV{$_}\n"} sort keys %ENV'
                                Ответить
                                  • Перлофобы соста6

                                    C:\Users\MAKAKA>perl -MLWP -e "print join \"\n\", keys %{{map {$_, 1} LWP::UserAgent->new->get('https://govnokod.xyz/comments/&#039;)->decoded_content =~ /<a[^>]+user[^>]+>([^<]+)</g}};"
                                    bootcamp_dropout
                                    nemyx
                                    MAKAKA
                                    guest
                                    gost
                                    bormand
                                    xaionaro
                                    vistefan
                                    Desktop


                                    $ perl -MLWP -e 'print join "\n", keys %{{map {$_, 1} LWP::UserAgent->new->get("https://govnokod.xyz/comments/")->decoded_content =~ /<a[^>]+user[^>]+>([^<]+)</g}};'
                                    bormand
                                    xaionaro
                                    MAKAKA
                                    vistefan
                                    gost
                                    Desktop
                                    bootcamp_dropout
                                    nemyx


                                    Правда, нужен LWP: если его нет, то нужно ставить чрез cpan, или apt/dnf
                                    Ответить
                                    • А для «Python» не нужно ничего ставить, всё есть искаропки.
                                      > python -c "import requests, re; print(*set(re.findall(r'<a[^>]+user[^>]+>([^<]+)<', requests.get('https://govnokod.xyz/comments/&#039;).text)), sep='\n')"
                                      bormand
                                      xaionaro
                                      bootcamp_dropout
                                      MAKAKA
                                      nemyx
                                      gost
                                      Desktop
                                      vistefan
                                      guest
                                      Ответить
                                      • сухябы это у тебя реквестс из коробки?

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

                                            перед keys вставим
                                            sort{lc $a cmp lc $b}

                                            чем ответиш?
                                            Ответить
                                            • По больному бьёшь. Длинные (>2) ФП-like цепочки в «Питоне» выглядят как говно.
                                              print(*sorted(set(re.findall(r'<a[^>]+user[^>]+>([^<]+)<', requests.get('https://govnokod.xyz/comments/&#039;).text))), sep='\n')
                                              Ответить
                                      • Запилил для D. Долбаные escape символы в винде.
                                        rdmd --eval="import std.net.curl; get(\"https://govnokod.xyz/comments/\").matchAll(regex(\"^<a[^^^>]+user[^^^>]+^>([^^^<]+)^<\")).map!(a=>a[1]).array.sort.uniq.each!writeln;"
                                        MAKAKA
                                        TOPT
                                        bormand
                                        gost
                                        nemyx
                                        vistefan

                                        И да, очень не хватает set.
                                        Ответить
                                        • ладно, вот вам Мац
                                          c:\> ruby -rfaraday -e "puts Faraday.get('https://govnokod.xyz/comments/').body.scan(/<a[^>]+user[^>]+>([^<]+)</).uniq.sort_by { |x| x.to_s.downcase }"


                                          Это винда. прыщы видимо
                                          $ ruby -rfaraday -e 'puts Faraday.get("https://govnokod.xyz/comments/").body.scan(/<a[^>]+user[^>]+>([^<]+)</).uniq.sort_by { |x| x.to_s.downcase }'

                                          куда как красивее

                                          У кого нет Фарадея, тот не нужен, само собой
                                          Ответить
                                    • > '

                                      Это что за покемон? Почему только для винды?
                                      Ответить
                      • Может быть, Бог миловал меня от знания настроек PHP.
                        Откуда же тогда столько говна? Откуда все эти варнинги?
                        Ответить
                        • Может от того что для пыхера дебиан - это уже слишком хакерство? Хотя убунту я точно видел, с пхп из репа и с дефолтным выводом ошибок.
                          Ответить
                          • Ну хуй знает. Я конфиги не крутил и у меня написано display_errors = Off, log_errors = On. Может от версии пыхи ещё зависит, типа раньше было включено а теперь убрали?
                            Ответить
                            • Не могло с прошлой версии дистра переехать?

                              Я сомневаюсь, что они могут вот так взять, и поменять: у миллионов хомечков ж все сломается
                              Ответить
                              • А что сломается то? Разве что воркфлоу у любителей дебажиться по фтп. Остальным только лучше станет, что их сайты перестанут палить всю инфу.
                                Ответить
                                • Станет вместо безобидного Warning пустая страница
                                  Ответить
                          • Думаю, что большинство пыхеров ничего сами не настраивают.
                            У них там денвер, а на шаред хостинге то, что настроил админ
                            А сам админ тоже ничего не настраивает, а делает по готовым статьям на Opennet, и о такой хуйне даже и не задумывается

                            Работает wordpress? Ну и заебись.
                            Ответить

Добавить комментарий для jojaxon Отменить ответ

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8