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

    −90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    def python_3():
        try:
            exec("print ''")
            return False
        except:
            return True

    Python 2: http://ideone.com/z4NADC
    Python 3: http://ideone.com/IcpTUr

    bormand, 16 Января 2013

    Комментарии (22)
  2. SQL / Говнокод #12427

    −139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CREATE TABLE `forums_list`(
        `forum_id` int unsigned NOT NULL AUTO_INCREMENT,
         ...
        `created` datetime NOT NULL DEFAULT NULL,
        `updated` datetime NOT NULL DEFAULT NULL,

    Alex_Slubsky, 16 Января 2013

    Комментарии (20)
  3. C++ / Говнокод #12426

    +22

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int sqr(int n)
    {
      unsigned int result=n>=0?n:-n;
      n=result<<1;
      do result+=n-=2; while(n);
      return result;
    }

    Эта функция считает квадрат числа n. Писал не я, целей создания не знаю.

    ales-hon-ne, 16 Января 2013

    Комментарии (7)
  4. JavaScript / Говнокод #12425

    +141

    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
    window.onload = function () {
    
        var жирнота = [
                600,
                700,
                800,
                900
            ],
            свэг = document.getElementById("swag");
    
        свэг.innerHTML = "";
        "SWAG".split("").forEach(function (буква) {
            свэг.innerHTML += "<span>" + буква + "</span>"
        });
    
        function ослучайнить(что) {
            return Math.floor(Math.random() * что);
        }
    
        function минимальноРаскрашываетСвэг() {
    
            Array.prototype.forEach.call(свэг.children, function (буква) {
    
                буква.style.color = "#" + ослучайнить(0xffffff).toString(16);
                буква.style.fontSize = 250 + ослучайнить(175) + "px";
                буква.style.fontWeight = жирнота[ослучайнить(жирнота.length)];
    
            });
        }
    
        setInterval(минимальноРаскрашываетСвэг, 500);
    };

    __proto__, 15 Января 2013

    Комментарии (9)
  5. PHP / Говнокод #12424

    +66

    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
    // генрация паролей
    function generatePassword($l = 8) {
    	function make_seed() {
    		list($usec, $sec) = explode(' ', microtime());
    		return (float) $sec + ((float) $usec * 100000);
    	}
    	$le = split('-', 'q-w-e-r-t-y-u-i-o-p-a-s-d-f-g-h-j-k-l-z-x-c-v-b-n-m-q-W-E-R-T-Y-U-I-O-P-A-S-D-F-G-H-J-K-L-Z-X-C-V-B-N-M-7-2-1-8-6-3-8-7-2-1-6-0-9-g-s-a-d-f-k-a-k-j-w-q-h-2-7-8-1-6-3-g-d-h-m-H-U-F-G-K-J-H-A-S-G-J-G');
    	$password = '';
    	while (strlen($password)<$l) {
    		srand(make_seed());
    		$rnd = rand(0, count($le)-1);
    		$password.=$le[$rnd];
    	}
    	return $password;
    }

    Крайне хардкорный генератор случайных паролей заданной длины. Особенно гениальна строчка №7. Всем говнокоду за мой счет!

    SunnyMagadan, 15 Января 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var checkCookie = $.cookie("nav-item");
    	if (checkCookie != "") {
        $('.top_menu  li:eq('+checkCookie+')').addClass('activeli');
      }
      else{
      }
      $('.top_menu  li').click(function(){
    	  var navIndex = $('.top_menu  li').index(this);
          $.cookie("nav-item", navIndex);
      });

    кнопочки.

    Heckfy_top, 15 Января 2013

    Комментарии (0)
  7. PHP / Говнокод #12422

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    function striptags($variables_for_function=array()) {
      if (!isset($variables_for_function[1])) {$variables_for_function[1]='';}
      return strip_tags($variables_for_function[0], $variables_for_function[1]);
     }

    Только сегодня и только для вас, безопасный strip_tags. Теперь с заSHITой от говнокодеров.
    PHP Innovations.

    SunnyMagadan, 15 Января 2013

    Комментарии (2)
  8. Си / Говнокод #12421

    +118

    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
    void dwflt_to_str(DWORD dw, char *pch, int &nsmb)
    {
      DWORD dw_a = dw;
      char ch_a;
      char tbldec[] = "0123456789";
      nsmb = 0;
      if (dw_a == 0) { pch[0] = '0'; nsmb++; goto lab2; }
      while (dw_a != 0)
      {
        pch[nsmb] = tbldec[dw_a%10]; dw_a /= 10; nsmb++;
      }
      dw_a = nsmb/2;
      while (dw_a)
      {
        ch_a = pch[nsmb - dw_a]; pch[nsmb - dw_a] = pch[dw_a - 1]; pch[dw_a - 1] = ch_a; dw_a--;
      }
    lab2:
      pch[nsmb] = 0;
    }
    
    const int n_fr2 = 7; // - эта константа определяет фиксированное число цифр после точки в выводимой строке, представляющей float.
    
    void float_to_str(float flt, char *pchar, int &nsmb)
    {
      int i, deg, ns_int, ns_frac;
      double frac_dbl;
      DWORD dw_f, mant, intg, fract;
      DW_FL f_flt;
      char szfl_int[16], szfl_frac[16];
      f_flt.fl = flt;
      dw_f = f_flt.dw;
      if (dw_f == 0) { pchar[0] = '0'; pchar[1] = '.'; pchar[2] = '0'; pchar[3] = 0; nsmb = 3; return; }
      if (dw_f & 0x80000000) { pchar[0] = '-'; } else { pchar[0] = '+'; }
      deg = int((dw_f & 0x7F800000) >> 23) - 127;
      mant = (dw_f & 0x007FFFFF) | 0x00800000;
      if (deg == 0) { intg = 1; fract = dw_f & 0x007FFFFF; goto lab_1; }
      if (deg > 0) { intg = mant >> (23 - deg); fract = ((dw_f & 0x007FFFFF) << deg) & 0x007FFFFF; goto lab_1; }
      if (deg < 0) { intg = 0; fract = ((dw_f & 0x007FFFFF) | 0x00800000) >> (-deg); }
    lab_1:
      frac_dbl = double(fract)*1.1920928955078125;// 1.1920928955078125 = 10^n_fr2 / 2^23 = 10^7 / 2^23
      fract = (int)frac_dbl;
    
      dwflt_to_str(intg, szfl_int, ns_int);
      nsmb = 1; i = ns_int; while (i) { pchar[i + 1] = szfl_int[i]; i--; } pchar[1] = szfl_int[0];
      nsmb += ns_int; pchar[nsmb] = '.'; nsmb++;
    
      dwflt_to_str(fract, szfl_frac, ns_frac); szfl_frac[n_fr2] = 0;
      i = ns_frac; while (i) { szfl_frac[6 - ns_frac + i] = szfl_frac[i - 1]; i--; }
      i = n_fr2 - ns_frac; while (i) { szfl_frac[i - 1] = '0'; i--; }
    
      i = n_fr2 - 1; while (i) { pchar[nsmb + i] = szfl_frac[i]; i--; } pchar[nsmb] = szfl_frac[0];
      nsmb += n_fr2; pchar[nsmb] = 0;
    }
    void float_to_str_exp(float flt, char *pchar, int &nsmb)
    {
      int i, deg, poli, ns_int, ns_frac, ns_poli;
      double frac_dbl;
      DWORD dw_f, mant, intg, fract;
      DW_FL f_flt;
      char szfl_int[16], szfl_frac[16];
      f_flt.fl = flt;
      dw_f = f_flt.dw;
      if (dw_f == 0) { pchar[0] = '0'; pchar[1] = '.'; pchar[2] = '0'; pchar[3] = 0; nsmb = 3; return; }
      if (dw_f & 0x80000000) { pchar[0] = '-'; } else { pchar[0] = '+'; }
      deg = int((dw_f & 0x7F800000) >> 23) - 127;
      mant = (dw_f & 0x007FFFFF) | 0x00800000;
      if (deg == 0) { intg = 1; fract = dw_f & 0x007FFFFF; goto lab_1; }
      if (deg > 0) { intg = mant >> (23 - deg); fract = ((dw_f & 0x007FFFFF) << deg) & 0x007FFFFF; goto lab_1; }
      if (deg < 0) { intg = 0; fract = ((dw_f & 0x007FFFFF) | 0x00800000) >> (-deg); }
    lab_1:
      frac_dbl = double(fract)*1.1920928955078125;// 1.1920928955078125 = 10^n_fr2 / 2^23 = 10^7 / 2^23
      fract = (int)frac_dbl;
    
      dwflt_to_str(intg, szfl_int, ns_int);
      dwflt_to_str(fract, szfl_frac, ns_frac); szfl_frac[n_fr2] = 0;
      if (intg != 0)
      {
        nsmb = 1; i = ns_int; while (i) { pchar[i + 2] = szfl_int[i]; i--; } pchar[1] = szfl_int[0];
        pchar[2] = '.'; nsmb += ns_int + 1; poli = ns_int - 1;
      }
      else
      {
        i = ns_frac - 1; while (i) { pchar[2 + i] = szfl_frac[i]; i--; } pchar[1] = szfl_frac[0];
        pchar[2] = '.'; nsmb = 3;//nsmb += ns_frac + 1;
        poli = ns_frac - n_fr2 - 1; goto lab_2;
      }
    
      i = ns_frac; while (i) { szfl_frac[6 - ns_frac + i] = szfl_frac[i - 1]; i--; }
      i = n_fr2 - ns_frac; while (i) { szfl_frac[i - 1] = '0'; i--; }
    
      i = n_fr2 - 1; while (i) { pchar[nsmb + i] = szfl_frac[i]; i--; } pchar[nsmb] = szfl_frac[0];
    lab_2:
      nsmb += n_fr2; pchar[nsmb] = 'E';
    
      int_to_str(poli, &pchar[nsmb + 1], ns_poli);
      nsmb += ns_poli + 1; pchar[nsmb] = 0;
    }

    оттуда

    TarasB, 15 Января 2013

    Комментарии (35)
  9. PHP / Говнокод #12420

    +34

    1. 1
    if (date('dmY', $lmtime) === date('dmY')) {

    Нужно было узнать, не сегодняшний ли день в отметке $lmtime.

    7ion, 15 Января 2013

    Комментарии (1)
  10. C++ / Говнокод #12419

    +13

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void SetInterruptHandler(int id, unsigned int offset) {
            __asm cli;
            unsigned int *idt = (unsigned int*)0;
            idt[id*2+0] = 0x00080000 | (offset & 0x0000FFFF);
            idt[id*2+1] = 0x00008E00 | (offset & 0xFFFF0000);
            __asm sti;
    }

    Как и обещал в http://govnokod.ru/12413#comment166763, выкладываю исходник говнолоадера, запускающего 32-х битный сишный код с дискетки: https://github.com/bormand/tryos, хотя судя по всему никому это не интересно...

    Если кому-то все-таки придет в голову странное желание это собрать - нужна вижуалка (к сожалению код написан лет 5 назад, когда я юзал вижуалку) и nasm. Путь к nasm прописываем в Makefile, запускаем nmake, полученный floppy.dsk можно скормить виртуалбоксу, или же зарезать на дискету, если удастся вспомнить как она выглядит...

    UPD: Скрин http://rghost.ru/43035733.view

    bormand, 14 Января 2013

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