1. bash / Говнокод #12039

    −127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    #!/bin/bash
    export TMP_FS=/tmp
    export MAILRU_LOG=$TMP_FS/mail_ru_log2.txt
    RECF=$PWD/.rec
    mkdir -p avatars && cd avatars
    declare -a symb=({a..z} {0..9} - _)
    pid='';
    ppid='';
    pln=0
    i=0
    max_len=9
    ci=0
    ask_pid()
    {
      read pid
      ppid=$pid
      echo "Pid changed to $pid"
      pln=`echo $pid | wc -c`
      max_len=$pln
    }
    function get_name
    {
    pid=$1
    let ci++
    echo $ci > $RECF
    for idn2 in  $(seq 0 $((${#symb[@]} - 1))); do
      ppid=$pid
      pid=$pid${symb[$idn2]}
        curl --connect-timeout 1 -s http://avt.foto.mail.ru/mail/$pid/_avatar > $pid.jpg
      fdif=`cmp $pid.jpg ../A.jpg`
      if test -z "$fdif"
      then
        #echo "File is empty"
        rm $pid.jpg
      else
       friends=`curl --connect-timeout 1 -# http://my.mail.ru/mail/$pid | grep -o \"/mail/[^/]*/\" | sed -e 's/\/mail\///g;s/\///g' | uniq`
        echo "friends : $friends"
        echo "$PWD/$pid.jpg friends:$friends" | tee -a $MAILRU_LOG
        echo "File isn't empty"
    fi
      let pln++;
    if [ $pln -lt $max_len ]; then
      get_name $pid
    fi
      let pln--
      pid=$ppid
      pid=${pid:0:$pln}
    done
    }
    trap 'ask_pid' USR1 INT
    get_name $pid

    Запостил: AliceGoth, 01 Ноября 2012

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

    • Даже прокручивать вниз не надо, дабы понять, кто автор.
      И этого автора как-то жизнь не особо учит. Обязательно надо запостить портянку на три экрана, из которой очевидно только то, что там что-то происходит с друзьями на мылору. А остальное даже разбирать лень.
      Фу таким быть. Говнокод не твой личный репозиторий.
      Ответить
      • > Говнокод не твой личный репозиторий.
        govnohub.ru
        Ответить
        • У какого публичного суппозитория был слоган %USERNAME% wants to share code with you (не дословно)?
          Ответить
      • > И этого автора как-то жизнь не особо учит
        как был код говном, так и остался
        Ответить
        • А может, теперь он - Гуру, а выкладывает старые наработки?
          Ответить
          • скорее, это special for govnokod.ru
            Ответить
          • Хех... настоящий Гуро бы выкладывал не всю говнопортянку, а минимальный но самодостаточный кусочек, который бы можно было быстро прочесть и посмеяться или почерпнуть крупицу знаний. При этом истинный Гуро не оставил бы описания пустым...

            Человека который уже который год выкладывает такие портянки, не поясняет где смеяться, и не извлекает из комментов никаких уроков трудно назвать Гуру.
            Ответить
            • >>Гуро
              >Гуро или эрогуро — направление в литературе и искусстве Японии, возникшее в 1920-х годах.
              Ответить
    • Оно работает и с своей задачей справляется.
      Ответить
      • Ну и в чем тогда изюминка этого говна? Кроме, конечно, фирменных отступов, расставленых как в эпилептическом припадке и отсутствия комментариев?

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

        Поэтому у меня один вопрос - зачем это здесь?

        P.S. Для работающих задач лесгитхаб там => http://github.com
        Ответить
        • Каждому свое
          Ответить
          • ... было напейсано на воротах Бухенвальда.
            Ответить
            • На воротах было написано Arbeit macht frei но не это.
              Ответить
              • Arbeit macht frei было написано над воротами освенцима.

                Бухенвальд: http://commons.wikimedia.org/wiki/File:Jedemdasseine.jpg
                Ответить
    • Я считаю что программы должны быть написаны просто и понятно без всяких трюков.
      Ответить
      • > должны быть написаны просто и понятно
        Абсолютно правильная мысль, я двумя руками за... Но данный код совершенно не претендует на понятность:
        - безобразные отступы, путающие читателя;
        - отсутствие комментариев;
        - краткие и непонятные непосвященному человеку имена переменных;
        - не совсем удачный выбор языка (строковые операции и массивы выглядят как шифр).

        Лирическое отступление:
        В bash, как и в cmd более-менее сложная программа не получается без трюков. Все, что выходит за пределы "скопируй файлик", "запусти над ним обработчик", и примитивных циклов и условий превращается в сраное говнище, которое даже читать не хочется, не то что поддерживать. Это как раз тот момент, когда заканчивается область применимости баша и начинается область применимости более универсальных скриптовых языков (perl, python, тот же javascript под виндой)...
        Ответить
        • sh по сравнению с cmd кристально чист и прозрачен
          а cmd это всего лишь обросший волосами батник
          Ответить
          • > sh по сравнению с cmd кристально чист и прозрачен
            О да, cmd это выкидыш преждевременной оптимизации и обратной совместимости...
            set test=test
            for /L %%i in (1,1,5) do (
                set test=%test%%%i
            )
            echo %test%
            выведет test5, и кто бы догадался, что надо сделать так:
            setlocal enabledelayedexpansion
            set test=test
            for /L %%i in (1,1,5) do (
                set test=!test!%%i
            )
            echo %test%
            Да и сам язык (язык не поднимается назвать это языком) более чем на 146% состоит из for и set...
            Ответить
            • > более чем на 146% состоит из for и set
              %еще%  %кучи% %%процентов%%
              Ответить
            • >Да и сам язык (язык не поднимается назвать это языком)
              Ехал язык через язык...
              Ответить
              • Ехал Язык через язык,
                видит Язык - язык,
                схватил Язык языка
                И ДОСТАВИЛ ПРЯМИКОМ К КОМАНДИРУ ЯЗЫК ВСЁ РАССКАЗАЛ НАГРАДУ ПОЛУЧИЛ В ЗВАНИИ ПОДНЯЛИ ДИВИЗИЯ ФРОНТ ПРОРВАЛА ОКРУЖЕНИЕ ВОЙНУ ВЫИГРАЛИ 9 МАЯ ВСЁ НАБУХАЛИСЬ ДОВОЛЬНЫЕ ХОДЯТ
                Ответить
        • А как же sedtris, например?
          Ответить
      • И не на баше, например.
        Ответить
        • Не на bash и прочих *sh, не на bat и cmd, и не на powershell.
          Хотя все эти "языки" и имеют свою нишу в виде копирования файликов и примитивной логики, за ее пределами они неудобны и нечитаемы.

          P.S. За что этот коммент AliceGoth народ заминусовал? Имхо он тут очень здравую мысль высказал.
          Ответить
          • >За что этот коммент AliceGoth народ заминусовал? Имхо он тут очень здравую мысль высказал.
            Мысль-то здравая, но на фоне такого поста выглядит как ебущийся под хвост натурал.
            Ответить
            • > выглядит как ебущийся под хвост натурал
              Один раз не пидарас.
              Ответить
          • Тяжело адекватно относиться к человеку, который продолжает себя вести как распоследний мудак. Даже если он сообщает копетанскую мысль.
            Ответить
    • И вообще я сильно отличаюсь от всех людей.
      Ответить
      • Мы это уже заметили. Но, скажу честно, вторая голова тебе совсем не помогает.
        Ответить
        • мальчика Алисой назвали, это гатишно
          Ответить
          • Алисъ.
            Ответить
            • ну так Винсента Дэймона Фурнье тоже ничего не смутило
              Ответить
              • ну во-первых он же аццкий сотонист
                а во-вторых это изначально был названием группы
                Ответить
                • это купер то сотонист?
                  немного сотониста есть в каждом из нас
                  Ответить
                  • пусть он только для имиджа сотонист, смысл взятия женского имени остается тот же
                    Ответить
      • http://lurkmore.to/%D0%A4%D0%B0%D0%B9%D0%BB:DP.Unique.jpg
        Ответить
      • Ты не человек?
        Ответить
    • Application was halted by an exception.
      Ответить

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