1. Perl / Говнокод #26005

    +1

    1. 1
    2. 2
    3. 3
    use Unicornify::URL;
     
    my $url = unicornify_url( email => '[email protected]' );

    https://metacpan.org/pod/Unicornify::URL

    Запостил: PACTPOBblu_nemyx, 30 Октября 2019

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

    • SEO-пост: вот что я кукареку.
      Ответить
    • https://unicornify.pictures/avatar/f66d3596b598a720bfb2586171dbd80e

      я рад, чот мне удалось зафорсить перл;)
      Ответить
      • Это иллюзия. О форсе «Перла» говорить рано. Имею подозрение, что здесь мало кто умеет жонглировать контекстом (@, $ — вот это всё). Даже в «PHP», несмотря на то, что поначалу синтаксис был немножко похож на «Перл», самые вкусности тащить не стали.

        Попробуй опубликовать подборку программ, в которых особенности «Перла» позволяют лаконично решить задачу.
        Ответить
      • Кстати, возникла идея для первого апреля: на сайте поменять URL аватарок с gravatar.com на unicornify.pictures.
        Ответить
        • Можно просто добавить как дефолт к граватару.
          Ответить
      • Оказывается, подобных сервисов сейчас море.

        https://robohash.org/f66d3596b598a720bfb2586171dbd80e.png?set=set4


        https://avatars.dicebear.com/v2/avataaars/f66d3596b598a720bfb2586171dbd80e.svg
        Ответить
        • На второй картинке syoma.
          Ответить
        • Для говнокода лучше взять аватарок отсюда https://blog.emojipedia.org/content/images/2019/09/chicken-memoji-emojipedia.jpg (из https://blog.emojipedia.org/ios-13-adds-memoji-to-emoji-keyboard/ )
          А то котики это явно не в тему
          Ответить
          • Как это не в тему?
            Ответить
          • Ммм... Какие цыпочки )))
            Ответить
            • Не знаю почему, но я представляю, что рустер выглядит как-то так: https://cdn.fishki.net/upload/post/2016/06/20/1987752/gallery/tn/lhxg515.jpg
              Ответить
              • Угадал только пол, в остальном все наоборот.

                А почему ты представляешь себе брутальных мущинок?
                Ответить
                • Ты знаешь кто это? Эти ребята тоже немного поехавшие, и занимаются бесполезной, но интересной хуйнёй.
                  Ответить
                  • Я бесполезной хуйней не занимаюсь.
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Я J как калькулятор часто использую и для небольших однострочников.

                        Форт и правда в основном ради фана, ну и иногда хексы считаю. Хотя, например, если вдруг понадобится какой-нибудь DSL, парсер или типа того, то там форт мог бы пригодиться. Но это врядли.

                        Еще у меня есть всякие недописанные тулзы для личного пользования, например недописанная скриншотилка под венду на SP-Forth, на которую я забил когда понял что например скрыншот видосика средствами одного винапи не осилить :(
                        Ответить
      • А помнишь, что для генерации шрифтов для «ТеХа» Дональд Кнут придумал специальный язык «METAFONT»? Язык с паскалеподобным синтаксисом, на котором можно писать и императивно, и декларативно. В нём есть императивный оператор присвоения := и декларативный оператор «приравнивания» =. В последнем случае интерпретатор для нахождения значений неизвестных переменный решает уравнение, даже нелинейное, и даже систему. Кривые Безье там чуть ли не из коробки.

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

        Так вот «METAFONT» форкнули и написали «METAPOST», который на выходе генерирует не растровый шрифт, а векторную картинку на языке «Postscript».

        Мне кажется, «METAPOST» неплохо бы подошёл для вореций аватарок. Описываем контур петуха, а потом меняем некоторые параметры и получаем пачку картинок.
        Ответить
    • Спойлер для тех, у кого нет доступа к «Перлу» или к «CPAN»: некто по адресу https://unicornify.pictures/ ( http://unicornify.appspot.com/ ) поднял сервис, альтернативный «Граватару»: по переданному хэшу он генерирует картинку пони.

      Например, исходный адрес моей картинки:
      https://gravatar.com/avatar/43609ded576a8abf167f193618a45cd1
      Заменяем точку входа на «Unicornify»:
      https://unicornify.pictures/avatar/43609ded576a8abf167f193618a45cd1?s=128

      К сожалению, сервис не умеет генерировать єдинорігів крупнее, чем 128×128.
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Awk, Forth, Eiffel, ML, APL, Haskell — это они серьёзно? Ещё язык для принтеров и язык для описания диаграмм в этот список включили.
        Ответить
    • )
      Ответить
      • Двумерный график расширяющего отображения.
        Ответить
      • use warnings FATAL => 'all';
        use strict;
        
        print map {chr($_ - 1)} map {unpack("W*", $_)} (<DATA>);
        
        __END__
        
        +!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`..!!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`.!!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+


        друзья, проверьте, у вас работает?
        Ответить
        • А вдруг там патч Бармина?
          Ответить
          • запусти без рута
            или в IDE.one
            Ответить
            • <?php
              
              const DATA = <<<__END__
              +!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`..!!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`.!!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+
              __END__;
              
              print implode(array_map(function($v){return chr($v - 1);},unpack("C*",DATA)));


              Можно ещё так:
              print strtr(DATA, array_combine(range(chr(1), chr(255)), range(chr(0), chr(254))));
              Ответить
              • показать все, что скрытоvanished
                Ответить
              • echo a. {~ <: a. i. '+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`..!!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`.!!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+'
                Какой приз поебдителю?
                Ответить
                • А теперь упражнения со стеком:
                  :NONAME
                    S" +!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`..!!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`.!!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+"
                    2DUP OVER + SWAP
                    DO
                      -1 I +!
                    LOOP
                    TYPE ; EXECUTE
                  Ответить
        • Проверил. Комп распидорасило, пишу с утюга. Работает, но в первой строчке выводится несколько лишних пробелов.
          Ответить
          • И правда. Исправь, пожалуйста
            Ответить
            • Если убрать пустую строчку после __END__, то лишние табы исчезают.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Ничего не понимаю. Переведи на «PHP».
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Починилось.
                      Ответить
                    • Я за «Python».
                      s = '+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+'
                      print(''.join(map(lambda x: chr(ord(x) - 1), s)))
                      Ответить
                      • И за «zlib».
                        import zlib
                        import base64
                        
                        
                        s = 'eNqVVLuOhDAM/BV3B0jg/opr9jcsGQpESQEFhT/+YscJCbBabYqQx/g149DBAitMsMMGMxzQfdov8N1YVkBbUHVc7bA8WSfxlbyzkOoz7Qk4DpWF3Fa/Nu/bCI8h8o7qFLY5RxevxpIm0uO+ZwaiMsR85HxJ8ZxDKFj8zpwf3Vkb8QOBPVMGR/YdlgnhofcxsA1LX5z9AkvxGjEkFL5hbrhh/ov3Etkv6A50vhTYAkTLiDcLcdmmPfFB5sEMuMXkxfBmwOjsJ/7Q8nwZoD0JbyLeCHb2EwGNVusGqZgADPVg0WXKfqqHNLDyRY6P9TfMeEY0DcBloZTOqIyaZD/XLok6SK2YEp+4KI8xAE2HutliwpJcUh3CdHjoTjzloerOdJDSO97eQGVhOsgVb/UjsfNTOBTVQa75Z9D90YrqIG+f44PB0X37N/oHNInudQ=='
                        print(zlib.decompress(base64.b64decode(s)).decode('utf-8'))
                        Ответить
                      • s = b'+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hp!0!!!!!]!!!!!!!!!!!!!]!!!!!!!!!!!!0!!!!]!!!!!!!pb}!!!!!!!}!!!!!!!!!!!!!]!!!!!!!!!!}!!!!!!}!!!!!!bu}!!!!!!!a/!!!!!!!!!!!!!}!!!!!!!!!}!!!!!!!;!!!!!uta!!!!!!!!}!!!!!!!!!!!!!}!!!!!!!!]}!!!!!!!}!!!!!tf!]!!!!!!!}!0!!!!!!!0!!]]]!!!..``!]]!!!!!!!;!!!!fy!!]!!!!!!]0!!!`..!!!!!!!!!!..``}!]!!!!!}!!!!y+!!!]!!!!!!]`.!!!!!!!!!!!!!!!!!!!!.`]!!!!}!!!!+h!!!!]`!!!!!]!!!!!!!!`/......../``````]}!!!}!!!!hp!!!!!!]!!!!!]``````00!`!```!`!)`)``?!!]!!!}!!!!pb!!!!!!!]!!!/!!D!```*!!``````!)`)````?!!}!!0!!!!bu!!!!!!!0]!}!!!D!````*0!!!!!!]!)`````?!!}`0!!!!!ut!!!!!!0!0]}!!!D`````*!!!!!!!}!!)```?!!!0!!]!!!!tf!!!!!}!!!)!!!`D`````*]``````0!!00!`0!0!!!!!]!!!fy!!!!!}!!!!]!!}``!!!]]`````````00!)``0!!!!!!!}!!y+!!!!}!]!!!!]````*!!!a....!!!..(!!!!!!!!!!!!!}!!+h!!!!}!!]`!!!!!!!!!!```]!!!!!!!0`!!!!!!!!!!`0!}!hp!!!}!!!!!!!!!!!!!!0!!!!}!!!!!}!!]!!!!!!!!!!!!}!pb!!!}!!!!!!!!!!!!!}!!!!0!!!!!!!]!!]!!!!!!!!!!!}!bu!!!}!!!!!!!!!!0!0!!!!}!!!!!!!!!}!!]!!!!!!!!!!!}ut!!!}!!!!!!!!!0!0!!!!!!]``0]```0!!!!}!!!!!!!!!!}tf!!}!!!!!!!!!!!0!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}fy!!}!!!!!!!!!!}!!!!!!!!!}!!!!}!!!!!!!}!!!!!!!!!}y+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+!h!p!b!u!t!f!y!+'
                        print(*(chr(i - 1) for i in s), sep = '')
                        З.Ы. У тебя некоторые символы при купировании проебались.
                        Ответить
    • Кошаки прикольные.
      Ответить

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