1. Список говнокодов пользователя inkanus-gray

    Всего: 48

  2. Куча / Говнокод #19877

    +5

    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
    \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF
    PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP
    A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP
    AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi
    Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx
    :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL
    RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse
    B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI
    I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz;
    ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,%
    s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G
    LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e
    doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye

    И снова TeX.

    Кто угадает, что выводит программа, тому ничего.

    inkanus-gray, 25 Апреля 2016

    Комментарии (34)
  3. Куча / Говнокод #19864

    +5

    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
    \message{Russian hyphenation patterns by D. Vulis,}
    \message{modified by M.Vorontsova and S.Lvovski.}
    \message{Version date: 24.02.96}
    
    --- неинтересная часть пропущена ---
    
    {
     \lccode`\a=`\м
     \lccode`\b=`\г
     \lccode`\c=`\у
     \lccode`\d=`\е
     \lccode`\e=`\с
     \lccode`\f=`\х
     \lccode`\g=`\у
     \lccode`\h=`\к
     \lccode`\i=`\г
     \lccode`\j=`\х
     \lccode`\k=`\м
     \lccode`\l=`\н
     \lccode`\n=`\ъ
     \lccode`\o=`\з
     \lccode`\p=`\й
     \lccode`\q=`\ю
     \lccode`\r=`\д
     \lccode`\s=`\у
     \lccode`\t=`\д
     \lccode`\u=`\х
     \lccode`\v=`\я
     \lccode`\w=`\ы
     \lccode`\x=`\z
     \lccode`\y=`\ь
     \lccode`\z=`\ч
     \lowercase{
      \patterns{
       6jcp. 6usv. 6fgq. 6ucdk.
      }
     }
    }

    Отрывок из образцов переноса слов для TeX'а. Авторы постеснялись написать открытым текстом четыре образца (строка 35), поэтому зашифровали их простой подстановкой.

    Читателю предлагается расшифровать эти образцы и догадаться, чего испугались авторы.

    inkanus-gray, 22 Апреля 2016

    Комментарии (68)
  4. Pascal / Говнокод #19190

    −45

    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
    (*
     * Исходный вариант паскалевских текстов Кисы взят
     * с сайта http://hottabych.net/kisa/.
     * Адаптирован к Gnu Pascal и Free Pascal
     * Сергеем Вакуленко, [email protected].
     *)
    program kisa;
    var
    	input_length, mood, nm: integer;
    	input, lastmess: string;
    	question, reply_needed: boolean;
    	baza: array [1..301] of string;
    	qz: array [1..20] of integer;
    
    procedure init;
    var
    	kj: integer;
    begin
    	{Если пусто или 1 символ}
    	kj := 1;	baza[kj] := 'Ну, венец природы, не стесняйся.';
    	kj := kj+1;	baza[kj] := 'Балуешься?';
    	kj := kj+1;	baza[kj] := 'Скажи уже что-нибудь.';
    	kj := kj+1;	baza[kj] := 'А у Вас Enter запало :-)';
    	kj := kj+1;	baza[kj] := 'Тебе нечего сказать?';
    	kj := kj+1;	baza[kj] := 'Одно и тоже(.';
    	kj := kj+1;	baza[kj] := 'Не стесняйся!';
    	kj := kj+1;	baza[kj] := 'Ты любишь мультики? Какие?';
    	kj := kj+1;	baza[kj] := 'Не бойся!';
    	kj := kj+1;	baza[kj] := 'Сколько тебе лет?';
    	kj := kj+1;	baza[kj] := 'У тебя на клавиатуре только одна кнопка?';
    	kj := kj+1;	baza[kj] := 'Я терпеливая, а ты?';
    	kj := kj+1;	baza[kj] := 'Поговори со мной!';
    	kj := kj+1;	baza[kj] := 'Испытываешь моё терпение?';
    	kj := kj+1;	baza[kj] := 'С тобой так интересно ;-)';
    	kj := kj+1;	{kj=16}

    Я просто оставлю это здесь.

    inkanus-gray, 16 Декабря 2015

    Комментарии (8)
  5. Pascal / Говнокод #19045

    −47

    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
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    ; * WARNING WARNING WARNING WARNING WARNING WARNING WARNING *
    
    ;   Please do not try to use external procedures
    ;   unless you are familiar with assembly language.
    ;
    ;   IMPORTANT: Externals must be written in assembly language.
    ;
    ;   The following example translates a string to upper case.
    
    ;
    ;   Place the following code in a file: "STU.ASM"
    ;
    
    
    CODE    SEGMENT
            ASSUME     CS:CODE
    
    STU     PROC       NEAR
    
            PUSH       BP                    ; SAVE ENVIRONMENT
            MOV        BP,SP                 ; MANUAL PAGE 189
    
            LES        DI,[BP+4]             ; GET PARAMETER
            MOV        CL,ES:[DI]
            INC        CL
    L1:     DEC        CL
            JZ         L2
            INC        DI
            CMP        ES:BYTE PTR[DI],'a'
            JB         L1
            CMP        ES:BYTE PTR[DI],'z'
            JA         L1
            SUB        ES:BYTE PTR[DI],20H
            JMP        SHORT L1
    
    L2:     MOV        SP,BP                 ; RESTORE ENVIRONMENT
            POP        BP                    ; MANUAL PAGE 190
            RET        4
    STU     ENDP
    CODE    ENDS
            END
    
    ; Now exit to PC-DOS and type:
    ;
    ; ASM STU
    ; LINK STU
    ; EXE2BIN STU.EXE STU.COM
    ;
    ; IGNORE MINOR ERRORS FROM ASM AND LINK
    
    
    
    To use, write the following program:
    
    
    type
      AnyString = string[255];
    
    var
      S: AnyString;
      I: integer;
    
    
    procedure STU(var S: AnyString); external 'STU.COM';
    
    begin
      readln(S);
      STU(S);
      writeln(S);
    end.

    Turbo Pascal 3.0. Внешние процедуры/функции линковались не из OBJ-файла, а из COM-файлов. Один файл — одна функция, никакого обмена символами.

    inkanus-gray, 18 Ноября 2015

    Комментарии (51)
  6. JavaScript / Говнокод #18595

    −11

    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
    // Из Жуквери 1.9+:
    
    	// Support: IE<9
    	// Opera does not clone events (and typeof div.attachEvent === undefined).
    	// IE9-10 clones events bound via attachEvent, but they don't trigger with .click()
    	support.noCloneEvent = true;
    
    	if ( div.attachEvent ) {
    		div.attachEvent( "onclick", function() {
    			support.noCloneEvent = false;
    		});
    
    		div.cloneNode( true ).click();
    	}
    
    // Как было в Жуквери <=1.8:
    
    	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
    		div.attachEvent( "onclick", function() {
    			// Cloning a node shouldn't copy over any
    			// bound event handlers (IE does this)
    			support.noCloneEvent = false;
    		});
    		div.cloneNode( true ).fireEvent( "onclick" );
    	}

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

    inkanus-gray, 13 Августа 2015

    Комментарии (12)
  7. Assembler / Говнокод #18528

    −17

    1. 1
    LEA EAX, [EBX]

    Зачем Интел придумал лишнюю инструкцию с запутанной семантикой, если она эквивалентна MOV EAX, EBX?

    inkanus-gray, 24 Июля 2015

    Комментарии (156)
  8. Python / Говнокод #18521

    −123

    1. 1
    #!/usr/blin/python

    Навеяно говнокодом № 55.

    inkanus-gray, 24 Июля 2015

    Комментарии (11)
  9. Куча / Говнокод #18251

    +146

    1. 1
    <span class="enrty-comments-count">(0)</span>

    Enligsh lagnauge rluze.

    inkanus-gray, 28 Мая 2015

    Комментарии (8)
  10. PHP / Говнокод #18111

    +144

    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
    <?php
    
    $startNumber = 0;
    
    function LittlePart($BigPart, $startNumber) {
      $i = -3;
      $number = $startNumber * M_PI + ($i - 1);
      do {
        $number += M_PI;
        echo $BigPart . ' + (' . $i . ') = ' . number_format($number, 2, ',', ' ') . PHP_EOL;
        $i++;
      } while ($i <= 3);
    }
    
    
    function MidPart($BigPart, $startNumber) {
      $i = -3;
      $number = $startNumber * M_PI + ($i - 1);
      do {
        $number += M_PI;
        LittlePart ($BigPart . ' + (' . $i . ')·π', $number);
        $i++;
      } while ($i <= 3);
    }
    
    
    function QuadradPart($BigPart, $startNumber) {
      $i = -3;
      $number = $startNumber * M_PI + ($i - 1);
      do {
        $number += M_PI;
        MidPart ($BigPart . ' + (' . $i . ')·π²', $number);
        $i++;
      } while ($i <= 3);
    }
    
    function CubePart($BigPart, $startNumber) {
      $i = -3;
      $number = $startNumber * M_PI + ($i - 1);
      do {
        $number += M_PI;
        QuadradPart ($BigPart . '(' . $i . ')·π³', $number);
        $i++;
      } while ($i <= 3);
    }
    
    
    CubePart('', 0);

    Система счисления по основанию π. Пока с целыми числами.

    http://ideone.com/EUYEKA

    inkanus-gray, 03 Мая 2015

    Комментарии (24)
  11. PHP / Говнокод #18065

    +142

    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
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    ini_set('memory_limit', '100M'); // to be safe we are increasing the memory limit for search
    
    include_once $_SERVER['PHP_ROOT'].'/html/init.php'; // final lib include
    include_once $_SERVER['PHP_ROOT'].'/lib/s.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/browse.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/events.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/websearch_classifier/websearch_classifier.php';
    
    flag_allow_guest();
    $user = search_require_login();
    
    if ($_POST) {
      $arr = us_flatten_checkboxes($_POST, array('ii'));
      $qs = '?';
      foreach($arr as $key = > $val) {
        $qs. = $key.'='.urlencode($val).'&';
      }
      $qs = substr($qs, 0, (strlen($qs) - 1));
      redirect($_SERVER['PHP_SELF'].$qs);
    }
    
    // If they performed a classmates search, these values are
    // needed to pre-populate dropdowns
    param_get_slashed(array('hy' = > $PARAM_STRING, 'hs' = > $PARAM_INT, 'adv' = > $PARAM_EXISTS, 'events' = > $PARAM_EXISTS, 'groups' = > $PARAM_EXISTS, 'classmate' = > $PARAM_EXISTS, 'coworker' = > $PARAM_EXISTS));
    $pos = strpos($get_hy, ':');
    if ($pos !== false) {
      $hsid = intval(substr($get_hy, 0, $pos));
      $hsyear = intval(substr($get_hy, $pos + 1));
    } else {
      $hsid = intval($get_hs);
      $hsyear = null;
    }
    
    tpl_set('hs_id', $hsid);
    tpl_set('hs_name', get_high_school($hsid));
    tpl_set('hs_year', $hsyear);
    tpl_set('is_advanced_search', $get_adv);
    tpl_set('user', $user);
    tpl_set('count_total', 0); // pre-set count_total for the sake of ads page length
    
    // Events search calendar data
    param_get(array('k' = > $PARAM_HEX, 'n' = > $PARAM_SINT));
    
    if (($get_k == search_module::get_key(SEARCH_MOD_EVENT, SEARCH_TYPE_AS))) {
    
      $EVENTS_CAL_DAYS_AHEAD = 60;
      $events_begin = strftime("%Y%m01"); // first of the month
      $events_end = strftime("%Y%m%d", strtotime(strftime("%m/01/%Y")) + (86400 * $EVENTS_CAL_DAYS_AHEAD));
      $events_params = array('dy1' = > $events_begin, 'dy2' = > $events_end);
    
      param_get(array('c1' = > $PARAM_INT, 'c2' = > $PARAM_INT), 'evt_');
      if (isset($evt_c1)) {
        $events_params['c1'] = $evt_c1;
      }
      if (isset($evt_c2)) {
        $events_params['c2'] = $evt_c2;
      }
      $results = events_get_calendar($user, $get_n, $events_params);
      tpl_set('events_date', $results['events_date']);
    }
    
    
    
    
    // Holy shit, is this the cleanest fucking frontend file you've ever seen?!
    ubersearch($_GET, $embedded = false, $template = true);
    
    // Render it
    render_template($_SERVER['PHP_ROOT'].'/html/s.phpt');
    
    /**
     * login function for s.php
     *
     * @author Philip Fung
     */
    
    function search_require_login() {
    
      //check if user is logged in
      $user = require_login(true);
    
      if($user 0 && !is_unregistered($user)) { return $user; }
    
      // this is an unregistered user
      param_get(
        array('k' = > $GLOBALS['PARAM_HEX'], // search key (used by rest of ubersearch code)
      ));
    
      global $get_k;
      $search_key = $get_k;
    
      //Let user see event or group search if criteria are obeyed
      if ($search_key && (search_module::get_key_type($search_key) == SEARCH_MOD_EVENT || search_module::get_key_type($search_key) == SEARCH_MOD_GROUP) //event or group search
      ) {
        return $user;
      } else {
        go_home();
      }
    }

    /*
    * @author Mark Slee
    *
    * @package ubersearch
    */


    Фейсбук и даты. Можете топить.

    inkanus-gray, 26 Апреля 2015

    Комментарии (0)