1. Python / Говнокод #28112

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    > cat antilol.py
    #!/usr/bin/env python
    
    import evdev
    
    device = evdev.InputDevice('/dev/input/event2')
    
    three = [0, 0, 0]
    
    for event in device.read_loop():
        if event.type == evdev.ecodes.EV_KEY and event.value == 1:
            # print(event.code, evdev.ecodes.KEY[event.code])
            three = three[1:] + [event.code]
            if three == [
                            evdev.ecodes.KEY_L,
                            evdev.ecodes.KEY_O,
                            evdev.ecodes.KEY_L
                        ] or three == [
                            evdev.ecodes.KEY_K,
                            evdev.ecodes.KEY_J,
                            evdev.ecodes.KEY_K
                        ]:
                for i in range(0, 3):
                    device.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_BACKSPACE, 1)
                    device.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_BACKSPACE, 0)

    Отучаемся от вредных привычек.

    Запостил: vistefan, 06 Апреля 2022

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

    • > .py
      > #!/usr/bin/env python
      Ответить
      • Что не так?
        Ответить
      • а ты предланаешь как делать? Хардкодить путь к питону, чтобы работала на одном тока дистрибутиве?
        Ответить
        • Имеется в виду, что точка ру не нужно, просто делаешь файл исполняемым и течёшь, а шебанг скажет системе, чем его запускать. Или я не прав?
          Ответить
          • ну и это
            Ответить
          • Ты не прав. Файлы нужно именовать правильно. Если файл заканчивается на «.ру», то это руснявый файл и его нужно удалить.
            Ответить
          • Вкусовщина
            Хочешь -- давай расширение
            хочешь не давай

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

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

                    И кстати, регистрозависимость винды использовалась в WSL-1, где папка на NTFS была файловой системой линукх
                    Ответить
                  • Было дело. Или, промахнувшись по клавише, создать каталог с символом "\" в названии, а потом думать, как его из-под Windows удалить.
                    Ответить
          • Если я хочу поместить файл в PATH и вызывать по короткому удобному имени, я назову его без расширения. Если он валяется у меня в куче скриптов, на которые натравлены конфиги разных программ типа файлового менеджера и пр., то я и в имени покажу, что это питон файл, и шебанг сделаю, ведь там может валяться далеко не только пито-файл. А что?
            Ответить
            • Переписать скрипт на перле, а расширение оставить .py, чтобы не менять конфиги.
              Ответить
        • не делать скрипты на питоне там, где это не нужно?
          Ответить
          • Предлагаешь переписать на баш? А вдруг он не лысый и старый, а молодой и энергичный, почему он должен знать баш?
            Ответить
            • питон всего на десять лет моложе баша
              Ответить
              • Баш не нужен
                Писать нужно на "ш", а он куда старше питона

                вообще я за пдкш
                Ответить
            • >а молодой и энергичный
              тогда бы на go написал
              или на TS
              и кокетливо смахнул бы за ухо прядь зеленых волос
              Ответить
            • я не лысый и не старый, поэтому напишу на tcl, когда мне понадобится что-то большее от этого скрипта. Питон меня давно заебал.
              Ответить
              • tcl охуенный, да:) Я иногда его вместо шелла для скриптов использую
                Ответить
              • Чем тебя питон заебал?
                Ответить
                • На нем всё получается не то чтобы коротко, не то чтобы сильно читабельно. Как-то сраненько. На баше, после того как я осилил в нем некоторые вещи стало выгоднее писать всякую одноразовую хуйню, из-за близости к системе. А для чего-то большего хочется собственно большей выразительности и красоты. Перл, например. (который дает на клыка питону даже в качестве просто glue)
                  Ответить
                  • В каком-каком качестве перл ебёт питон?
                    Это не ты дотнетчиком был?
                    Ответить
                    • 1. перформанс
                      2. в перле не существует стапицот тупых способов сделать одно и тоже
                      3. выстраивать функицональные цепочки в нем проще
                      4. меньше типов данных и они проще и предсказуемее
                      5. qw, qw блядь
                      6. флип флоп оператор
                      Ответить
                      • > перформанс
                        Шо??

                        > в перле не существует стапицот тупых способов сделать одно и тоже
                        Совсем ебанулся? There is always more than one way to do it мотто перла.

                        > меньше типов данных и они проще и предсказуемее
                        Ты точно на перле писал?

                        > 5. qw, qw блядь
                        И?

                        > 6. флип флоп оператор
                        Что это?
                        Ответить
                        • питон переусложненная хуйня.
                          Ответить
                        • >Шо??
                          Perl действительно быстрее питона на типовых задачах типа работы с текстом

                          > There is always more than one way to do it мотто перла.
                          Это было актуально тридцать лет назад, пока не было питона.
                          В современном питоне существует 100500 способов даже описать простую структуру (тупла, объект, дикт итд) в перле всегда хеш

                          >Ты точно на перле писал?
                          В перле три типа данных: скаляр, массив и хеш. Всё. И никакого идиотизма типа "тут у нас '1', а я думал тут 1" как в питоне.


                          не нужно писать ["сорок", "тысяч", "обезъян"]

                          >Что это
                          https://www.serverwatch.com/guides/perl-and-the-flip-flop-operator/
                          Ответить
                          • Если тебе нужен пятисрочник для работы с текстом то перл твоё. Главное - не писать на нём ничего больше.

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

                            > И никакого идиотизма типа "тут у нас '1', а я думал тут 1" как в питоне.
                            Это типизация называется. И в перле она тоже есть. Дальше можно заканчивать разговор.

                            >не нужно писать ["сорок", "тысяч", "обезъян"]
                            Руки отвалятся? Ну тогда так "сорок тысяч обезъян".split()
                            Ответить
                            • >Главное - не писать на нём ничего больше.
                              Это к любой скриптушне относится

                              >В перле вложенные хеши через такую сраку делаются.
                              Через ссылки, да.

                              >Классы хоть какие-то?
                              Классы не нужны:) Они делаются через модули, и это правда смешно.

                              >Это типизация называется.
                              Это называется не по делу строгая типизация в языке без типизации статической

                              >И в перле она тоже есть
                              В перле и '1' и 1 это скаляр, вручную ничего никуда приводить не нужно.

                              >Руки отвалятся?
                              Да, отвалятся. Скриптушня и нужна для того, чтобы быстро и легко что-то писать.
                              Если у кого-то есть лишние руки, то можно писать на четвертой джаве.
                              Ответить
                              • > Через ссылки, да.
                                Нахуя? А поведение по умолчанию вообще пиздец.

                                > Классы не нужны:)
                                Всё не нужно что сломалось, всё не нужно чего нет?

                                > В перле и '1' и 1 это скаляр
                                Зато есть операции eq и == для строкового и численного сравнения. Это не приведение типов, нет! :D

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

                                  >Всё не нужно что сломалось, всё не нужно чего нет?
                                  "руки отвалятся?"

                                  ООП не однозначная штука вообще, на ГК её не любят.

                                  >. Это не приведение типов, нет
                                  Верно. Поведение зависит от оператора
                                  Ответить
                                  • > а нахуя в ппитоне есть проблема с дефольтным массивом по умолчанию у параметра, например?
                                    Што?

                                    >>Всё не нужно что сломалось, всё не нужно чего нет?
                                    >"руки отвалятся?"
                                    Сравнил хуй с пальцем.

                                    > ООП не однозначная штука вообще
                                    Угу. Всё с тобой ясно.

                                    > Верно. Поведение зависит от оператора
                                    $a == $b
                                    то же самое что int(a) == int(b)
                                    Нет, не приведение.

                                    Почему под анонимами пишут какие-то идиоты?
                                    Ответить
                                    • >Што?
                                      ты точно на питоне писал?
                                      def foo(bar=[]):
                                        bar.append('q')


                                      >Сравнил хуй с пальцем.
                                      конечно, qw это палец.

                                      >Угу. Всё с тобой ясно.
                                      всё должно быть оопешно? Как там, в 1998-м?

                                      >Нет, не приведение.

                                      > $a == $b
                                      > то же самое что int(a) == int(b)

                                      нет, не тоже самое. Представь, что будет если $a и $b это "петух" и "петух".
                                      В перле я не должен про это думать

                                      >Почему под анонимами пишут какие-то идиоты?

                                      Потому что ты потерял учетку от Сёмы?
                                      Ответить
                                      • def foo(bar=[]):
                                        bar.append('q')

                                        А, ну это конечно косяк намного круче, чем отсуствие классов и говенный синтаксис.

                                        > В перле я не должен про это думать
                                        https://ideone.com/GoiGvM
                                        Это новый перл? Раньше вроде молча в 0 конвертировалось.

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

                                          намного круче, чем стопицот способов описать структуру в питоне. И кто бы говорил про синтаксис
                                          lass C:
                                              __match_args__ = ("__match_self_prop__",)
                                              @property
                                              def __match_self_prop__(self):
                                                  return self

                                          прямо читать приятно
                                          Ответить
                                          • Так не описывай. Все встроенные из перла и в питоне есть.

                                            Покажешь классы в перле, желательно в пятом?
                                            Ответить
                                            • >Так не описывай.
                                              Еще раз: В питоне есть:
                                              * классы
                                              * дата классы
                                              * дикты
                                              * тайпд дикты
                                              * туплы
                                              * неймтуплы

                                              в перле есть только хеш

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

                                              Впрочем, есть же всякие Moo/mo/m итд: это сахар для классов
                                              Ответить
                                              • > Впрочем, есть же всякие Moo/mo/m итд: это сахар для классов

                                                Больше 80% того, что ты перечислил в питухоне — тоже.
                                                Ответить
                                                • В питухоне классы из коробки, тут я не спорю
                                                  Ответить
                                              • > В питоне есть:
                                                dict, list и tuple. Всё остальное — просто сахар.
                                                Ответить
                                                • А объекты?
                                                  Ответить
                                                  • Сахар над dict.
                                                    Ответить
                                                    • объекты -- сахар над дикт?

                                                      а, так ты про перл... только там hash, а не dict
                                                      Ответить
                                                      • > объекты -- сахар над дикт?
                                                        Да. Ты не знал?
                                                        Ответить
                                                        • А в жаба скрипте дикт - это объект. И если создать ключ "hasOwnProperty", то может случиться багор.
                                                          Ответить
                                                          • В жаваскрипте есть два идиоматичных способа задать дикт - класс Map и Object.create(null). Оба багров лишены

                                                            А в до es5 времена все делали object.prototype.hasOwnProperty.call
                                                            Ответить
                                                        • define сахар
                                                          Ответить
                                                          • Ну соль. Какая разница?
                                                            Ответить
                                                          • Сладкий, белый, нельзя диабетикам.
                                                            Ответить
                                                            • То, чего нет в РФ.
                                                              Ответить
                                                              • право гражданина влиять на власть?
                                                                Ответить
                                                                • Так, гражданин, пройдёмте в отделение.
                                                                  Ответить
                                                                  • Отделение? Я думал, страна только присоединяет без конца.
                                                                    Ответить
                                                            • диабетикам иногда НУЖНО сахар, если они вкололи себе лишка инсулина и гк упала ниже 2-3

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

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

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

                                                В перле даже для списка параметров функции САХАР нужен, СУКА!
                                                Ответить
                                                • >dict, list. Остальным не пользуйся,

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

                                                  ты же только что выше сам написал, что кроме dict и list ничего не нужно?

                                                  >В перле даже для списка параметров функции САХАР нужен, СУКА!

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

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

                        Ровно наоборот. Это вообще-то базовый принцип перла TIMTOWTDI. There's more than one way to do it.
                        Ответить
                        • Ларри думал, что если у него есть два-три способа решить некоторые задачи, то это тимтоуди. Он просто не знал, какой пиздец творится в питоне

                          Я очень часто реально не знаю какой из способов выбрать, и никто мне никогда не может ответить
                          Ответить
                          • Выбирай какой удобнее и нагляднее. Если можно выразить в одну строчку - пиши в одну строчку .sum(a => a*a).every(b => b < 1). Если строчка получается месивом из лапши - лучше написать два вложенных цикла. Ну и так далее.

                            Ну или проблема в чем-то другом?
                            Ответить
                            • >Выбирай какой удобнее и нагляднее.
                              Мне нагляднее так, а тебе этак
                              Это и есть проблема
                              Ответить
                          • талмуди
                            Ответить
                    • > В каком-каком качестве перл ебёт питон?
                      В качестве glue языка — языка для склейки. Вот у меня есть три программы которые могут дать текстовый выхлоп в терминал, одна программа, которая мне нужна ради её exitcode, и две бинарных библиотеки на си которые делают то что мне нужно. Чем мне это всё склеить по бырому и заюзать? Ничего хитрого мне не надо, только заюзать правильно.

                      > Это не ты дотнетчиком был?
                      Я много кем был. На винде никогда не работал за деньги, мальца посматривал до диез для себя, а что?
                      Ответить
                      • > Чем мне это всё склеить по бырому и заюзать?
                        Шелл? Powershell?

                        > бинарных библиотеки на си
                        Зачем?

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

            На баше и сш я пишу довольно неплохо, но на нем ведь совсем неудобно работать с двоичными данными которые высирают /dev/input/event*. Наверное есть готовая программа, и достаточно парсить её выхлоп грепом или авком, но я что-то такого не нагуглил. Линкани, иначе твои "там, где это не нужно" будут выглядеть как-то голословно.
            Ответить
    • Люцифер Отец Лжи
      Ответить
    • У меня от этого поиск по тегам сломался.
      Ответить
    • Используй слово "кек".
      Ответить
    • ничего не понял. переведи на C++
      Ответить

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