Змея / Говнокод #28112 Ссылка на оригинал

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
> 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 vistefan, (Updated )

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

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

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

              в 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 и == для строкового и численного сравнения. Это не приведение типов, нет! 😀

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

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

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

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

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

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

                                  > Верно. Поведение зависит от оператора
                                  $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. Всё остальное — просто сахар.
                                              Ответить
                                                  • объекты -- сахар над дикт?

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

                                                          А в до es5 времена все делали object.prototype.hasOwnProperty.call
                                                          Ответить
                                                            • право гражданина влиять на власть?
                                                              Ответить
                                                          • диабетикам иногда НУЖНО сахар, если они вкололи себе лишка инсулина и гк упала ниже 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*. Наверное есть готовая программа, и достаточно парсить её выхлоп грепом или авком, но я что-то такого не нагуглил. Линкани, иначе твои "там, где это не нужно" будут выглядеть как-то голословно.
          Ответить

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

Помни, guest, за тобой могут следить!

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


    8