1. Комментарий к говнокоду #25188

    • Поместил вашего живого кота в ящик Шрёдингера. Ещё не проверял.
      Ответить
    Показать код ▼

    Си / Говнокод #25188

    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
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
     
    enum {
        HOST = INADDR_LOOPBACK,
        PORT = 6666,
        MAX_BUF = 1024
    };
     
    struct sock {
        int sockfd;
        int addrlen;
        struct sockaddr_in addr;
    } host, client;
     
    int check(int x, char*msg)
    {
        if (!~x) {
            perror(msg);
            exit(1);
        }
        return x;
    }
     
    #define QUOTE_(...) #__VA_ARGS__
    #define QUOTE(...) QUOTE_(__VA_ARGS__)
    #define CHECK(...) check(__VA_ARGS__, QUOTE(line __LINE__: __VA_ARGS__))
     
    int main(int argc, char**argv)
    {
        struct sock host, client;
        host.sockfd = CHECK(socket(AF_INET, SOCK_STREAM, 0)),
        host.addr = (struct sockaddr_in){AF_INET, htons(PORT), htonl(HOST)};
        CHECK(bind(host.sockfd, &(struct sockaddr)host.addr, sizeof(host.addr)));
        CHECK(listen(host.sockfd, 1));
        CHECK(client.sockfd = accept(host.sockfd, (void*)&client.addr, &client.addrlen));
        printf("connected: %s\n", inet_ntoa(client.addr.sin_addr));
     
        struct {int len; char buf[MAX_BUF];} msg;
        while (CHECK(msg.len = recv(client.sockfd, msg.buf, MAX_BUF - 1, 0)) && msg.len) {
            msg.buf[msg.len] = 0;
            printf("%s", msg.buf);
            send(client.sockfd, msg.buf, msg.len, 0);
        }
        close(client.sockfd);
        close(host.sockfd);
        return 0;
    }

    Почему если закоментить 36-ю строчку адрес килента 0.0.0.0?

    Запостил: 666_N33D135, 13 Декабря 2018

    Все комментарии (59)
  2. Комментарий к говнокоду #25192

    • Грустно, что ты об этом говоришь... Мужчины не любят сладкое.
      Ответить
    Показать код ▼

    Lua / Говнокод #25192

    1. 1
    Ухожу от вас

    Ухожу от вас

    Запостил: TOPT, 14 Декабря 2018

    Все комментарии (15)
  3. Комментарий к говнокоду #18591

    Показать код ▼

    Assembler / Говнокод #18591

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    ;МОЛНИЯ! КОНКУРС! ПРИЗОВОЙ ФОНД - 4 ТЫСЯЧИ РУБЛЕЙ!!!
    0003FCA4  8ED8                mov ds,ax
    0003FCA6  0F20C0            mov eax,cr0
    0003FCA9  24F0                 and al,0xf0
    0003FCAB  80E20E             and dl,0xe
    0003FCAE  0AC2                 or al,dl
    0003FCB0  0F22C0             mov cr0,eax
    0003FCB3  EAB8FC00F0    jmp word 0xf000:0xfcb8
    0003FCB8  33C0                 xor ax,ax
    0003FCBA  8EE0                mov fs,ax
    0003FCBC  648F061A08   pop word [fs:0x81a]
    0003FCC1  83C402            add sp,byte +0x2
    0003FCC4  648F061808   pop word [fs:0x818]
    0003FCC9  8ED0                mov ss,ax
    0003FCCB  BC2608            mov sp,0x826
    0003FCCE  61                    popaw
    0003FCCF  368B262C08  mov sp,[ss:0x82c]
    0003FCD4  83EC06           sub sp,byte +0x6
    0003FCD7  368E162008  mov ss,[ss:0x820]
    0003FCDC  CF                    iretw
    0003FCDD  FB                    sti
    0003FCDE  1E                    push ds
    0003FCDF  56                    push si
    0003FCE0  BE0000           mov si,0x0
    0003FCE3  8EDE                mov ds,si
    0003FCE5  BE6C04           mov si,0x46c
    0003FCE8  830401           add word [si],byte +0x1
    0003FCEB  83540200       adc word [si+0x2],byte +0x0
    0003FCEF  837C0218       cmp word [si+0x2],byte +0x18
    0003FCF3  7513                jnz 0xfd08
    0003FCF5  813CB000       cmp word [si],0xb0
    0003FCF9  750D                jnz 0xfd08
    0003FCFB  C7040000       mov word [si],0x0
    0003FCFF  C744020000   mov word [si+0x2],0x0
    0003FD04  C6440401      mov byte [si+0x4],0x1
    0003FD08  5E                   pop si
    0003FD09  50                   push ax
    0003FD0A  52                   push dx
    0003FD0B  803E400400  cmp byte [0x440],0x0
    0003FD10  7411               jz 0xfd23
    0003FD12  FE0E4004       dec byte [0x440]
    0003FD16  750B               jnz 0xfd23
    0003FD18  80263F04F0  and byte [0x43f],0xf0
    0003FD1D  BAF203          mov dx,0x3f2
    0003FD20  B00C               mov al,0xc
    0003FD22  EE                    out dx,al
    0003FD23  CD1C               int 0x1c
    0003FD25  FA                    cli
    0003FD26  B020               mov al,0x20 ;ороро
    0003FD28  E620               out 0x20,al
    0003FD2A  5A                   pop dx
    0003FD2B  58                   pop ax
    0003FD2C  1F                   pop ds
    0003FD2D  CF                   iretw
    0003FD2E  50                   push ax
    0003FD2F  1E                   push ds
    0003FD30  B80000          mov ax,0x0
    0003FD33  8ED8              mov ds,ax
    0003FD35  800E3E0480 or byte [0x43e],0x80
    0003FD3A  B020              mov al,0x20
    0003FD3C  E620              out 0x20,al
    0003FD3E  B80191          mov ax,0x9101
    0003FD41  1F                   pop ds
    0003FD42  CD15              int 0x15
    0003FD44  58                   pop ax
    0003FD45  CF                   iretw
    0003FD46  B0FE               mov al,0xfe
    0003FD48  E664               out 0x64,al
    0003FD4A  FA                   cli
    0003FD4B  F4                   hlt
    0003FD4C  EBFC               jmp short 0xfd4a
    0003FD4E  33D2              xor dx,dx
    0003FD50  8EC2              mov es,dx
    0003FD52  BB007C         mov bx,0x7c00
    0003FD55  B90100         mov cx,0x1
    0003FD58  33C0             xor ax,ax
    0003FD5A  CD13             int 0x13
    0003FD5C  B80102         mov ax,0x201
    0003FD5F  CD13              int 0x13
    0003FD61  720A              jc 0xfd6d
    0003FD63  E83A00         call word 0xfda0
    0003FD66  7205              jc 0xfd6d
    0003FD68  EA007C0000 jmp word 0x0:0x7c00
    0003FD6D  8D0699FE     lea ax,[0xfe99]
    0003FD71  B93500         mov cx,0x35
    0003FD74  90                  nop
    0003FD75  E80400         call word 0xfd7c
    0003FD78  33C0             xor ax,ax
    0003FD7A  EBD2             jmp short 0xfd4e
    0003FD7C  BA01FF         mov dx,0xff01
    0003FD7F  E897FD         call word 0xfb19
    0003FD82  B302             mov bl,0x2
    0003FD84  B90017         mov cx,0x1700
    0003FD87  E8CDED         call word 0xeb57
    0003FD8A  33C9             xor cx,cx
    0003FD8C  E2FE              loop 0xfd8c
    0003FD8E  B305              mov bl,0x5
    0003FD90  B90030         mov cx,0x3000
    0003FD93  E8C1ED         call word 0xeb57
    0003FD96  32E4              xor ah,ah

    Шолом, говноеды. Ебошить Мне скоро в Гермашку надолго, и чтобы не скучать в пути, решил Я немножко угарнуть над местными недопрограммистами и устроить конкурц. Любой true-программист (а это автоматом знание Ассмеблера и программирования МК) часа за два, порывшись в мануалах, без проблем найдёт ошибку и срубит за вечер немного бабок (а для вас, нищебродов - очень и очень много).

    УСЛОВИЯ:
    Дано: кусок кода, выдранный из прошивки одного микроконтроллера. Было написано на C лично Мной, затем, после неполадок, дисассемблировано ndisasm`ом. Баг был отловлен, исправлен, короче, хеппи энд, контроллер управляет одной Мега-Супер-Штукой (inb4: кококо уш не плиткой ли кококо). Некоторые части кода здесь не нужны и добавлены для усложнения. Ошибка далеко не очевидная, говорю сразу.
    Вопрос: "Какая часть вышеприведённого кода содержит ошибку, как и когда она проявляется?".
    Железо: x86, процессор на базе Pentium II (да, на базе Pentium II);
    Кто победит: победит тот, кто первый напишет правильный вариант ответа. Попыток может быть неограниченное множество Для победы достаточно
    ответить хотя бы на первую часть вопроса;
    Форма ответа: "Ошибка <там-то>, из-за неё может произойти <при таких-то условиях> такая неприятная хуйня, как <то-то>. Мой <любой_кошелёк_
    поддерживаемый_Хуяндексом>, мой <e-mail>";
    Форма оплаты: перечисляю на любой кошелёк или банковский счёт;
    Сколько денег: задание будет выложено в канун 8 августа 2015-го. Победитель будет объявлен либо вечером в воскресенье, либо через неделю
    (ещё не решил, проголосуете), но объявлен будет (если он будет, бгг). Розыгрыш приза будет таковым: выигравший в первую половину срока получит
    две тыры, во вторую - четыре тыры. Вне зависимости от кол-ва подебителей, выбран будет тот, кто первым даст правильный ответ. Если правильного
    ответа не будет (а я стопроцентно в этом уверен) - Я раскрою, в чём же тут бага.
    Дисквалификация: обращение на форумы за помощью. Я всё вижу.

    Фтыкай ф каменты, камрад!

    Запостил: DelphiGovno, 07 Августа 2015

    Все комментарии (94)
  4. Комментарий к говнокоду #25156

    Показать код ▼

    Си / Говнокод #25156

    1. 1
    2. 2
    3. 3
    4. 4
    UCSR0A |= TXC0_MASK;
    UDR0 = value;
    while ((UCSR0A & TXC0_MASK) == 0)
      ;

    The TXCn flag ... can be cleared by writing a one to its location.
    Cleared by writing one, Carl.

    Запостил: Steve_Brown, 05 Декабря 2018

    Все комментарии (150)
  5. Комментарий к говнокоду #25190

    Показать код ▼

    C++ / Говнокод #25190

    1. 1
    https://imgur.com/a/IgqXRK7

    Запостил: BelCodeMonkey, 13 Декабря 2018

    Все комментарии (9)
  6. Комментарий к говнокоду #25191

    • Я имею в виду, если я начну говорить по японски, это не будет плохой японский. Это будет набор звуков, для меня похожий на японский )
      Ответить
    Показать код ▼

    PHP / Говнокод #25191

    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
    <?php
    if(isset($_GET['action']) && $_GET['action']=="add"){
            $id=intval($_GET['id']);
            if(isset($_SESSION['cart'][$id])){
            $_SESSION['cart'][$id]['quantity']++;
            }else{
    $sql_s="SELECT * FROM products
    WHERE id_product={$id}";
    $query_s=mysqli_query($sql_s);
    if(mysqli_num_rows($query_s)!=0){
    $row_s=mysqli_fetch_array($query_s);
                    $_SESSION['cart'][$row_s['id_product']]=array(
                    "quantity" => 1,
                    "price" => $row_s['price']  );
                    }else{
                    $message="This product id it's invalid!"; } } } ?>
    <h1>Product List</h1>
                    <?php
                   if(isset($message)){
                   echo "<h2>$message</h2>";  }
                   ?>
    <table>
    <tr>
                <th>Name</th>
                <th>Description</th>
                <th>Price</th>
                <th>Action</th>
    </tr>
            <?php
    $mysqli = new mysqli('……','root','……','tutorials');
    $sql = 'SELECT name,description,price, id_product FROM products'; // select from mysql
    $result = $mysqli->query($sql);  
    while($row = $result->fetch_array()){
        ?>
            <tr>
                <td><?php echo $row['name'] ?></td>
                <td><?php echo $row['description'] ?></td>
                <td><?php echo $row['price'] ?>$</td>
    <td><a href="index.php?page=products&action=add&id=<?php echo $row['id_product'] ?>">Add to cart</a></td>
            </tr>
    <?php
        }
    ?>
    </table>

    строки:
    2 - Входящую переменную так никто не проверяет. Есть функции filter_input
    3 - $_GET['id'] без проверки на существовании
    9 - mysqli_query - 1) аргумент, Идентификатор соединения. 2) сам запрос
    10 - процесс проверки num_rows глупый. Есть 0 ( ложь ), либо в остальных случаях истина.
    12 - мы выбивали из запроса id_product чтобы узнать и подставить значение как ключ $_SESSION['cart'][$row_s['id_product']] ??? Уверяю, я знаю уже ключ: $_SESSION['cart'][$id]
    30 - Глупая, тупая ошибка новичков. Постоянно на каждой логике кода, устанавливают новое соединение с бд. Нравится в постели оргия, любите много и сразу?

    Говнокодер: rita345
    https://php.ru/forum/threads/this-product-id-its-invalid.74253/

    Запостил: MouseZver, 13 Декабря 2018

    Все комментарии (8)
  7. Комментарий к говнокоду #25132

    • , http://u.wn.com/p/434198372/ CAM4:_Free_Live_Sex_Cams, http://u.wn.com/p/434189415/ stranice_za_upoznavanje_ozbiljnu_vezu, http://u.wn.com/p/434188784/ dodirni_mi_kolena_notni_zapis,
      Ответить
    Показать код ▼

    Куча / Говнокод #25132

    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
    : ENUM>  ( -- )  ;
    : <ENUM ( xt n -- )
       BEGIN
          BEGIN
             >IN @  BL WORD DUP [email protected] 0=
          WHILE
             2DROP  REFILL 0= IF EXIT THEN
          REPEAT
          FIND SWAP ['] ENUM> = AND IF DROP 2DROP EXIT THEN
          >IN !
          2DUP SWAP EXECUTE
          1+
       AGAIN
    ;
    WORDLIST CONSTANT ASSEMBLER
    GET-ORDER ASSEMBLER SWAP 1+ SET-ORDER  DEFINITIONS
    HEX
    VARIABLE 'BYTES
    : B,  ( c -- )  C,  1 'BYTES @ +! ;
    : W,  ( u -- )  DUP B,  8 RSHIFT B, ;
    : DB"  ( "ccc<quote>" -- c-addr u )
       [CHAR] " PARSE SWAP OVER HERE >R HERE SWAP DUP ALLOT CMOVE
       R> SWAP DUP 'BYTES @ +!
    ;
    : W!  ( u addr -- )  2DUP C!  SWAP 8 RSHIFT SWAP 1+ C! ;
    ' CONSTANT 0 <ENUM  AX CX DX BX SP BP SI DI  ENUM>
    ' CONSTANT 0 <ENUM  AL CL DL BL AH CH DH BH  ENUM>
    : MEM  ( u "<spaces>name" -- )  DUP 18 AND 3 RSHIFT >R 7 AND R> 2CONSTANT ;
    ' MEM 0 <ENUM
       [BX+SI]   [BX+DI]   [BP+SI]   [BP+DI]   [SI]   [DI]   [W]      [BX]
       [BX+SI]+B [BX+DI]+B [BP+SI]+B [BP+DI]+B [SI]+B [DI]+B [BP]+B   [BX]+B
       [BX+SI]+W [BX+DI]+W [BP+SI]+W [BP+DI]+W [SI]+W [DI]+W [BP]+W   [BX]+W
    ENUM>
    :NONAME  ( reg1 reg2 -- )  3 LSHIFT OR B, ;
    :NONAME  ( reg off u -- )  ROT 3 LSHIFT OR B, W, ;
    :NONAME  ( reg off u -- )  ROT 3 LSHIFT OR B, B, ;
    :NONAME  ( reg off 6 | reg u -- )
       DUP 6 = IF
          ROT 3 LSHIFT OR B, W,
       ELSE
          SWAP 3 LSHIFT OR B,
       THEN 
    ;
    CREATE MOD , , , ,
    3 CONSTANT REG
    : -- ( opcode "<spaces>name" -- )  CREATE C,   DOES> [email protected] B, CELLS MOD + @ EXECUTE ;
    ' --  0   <ENUM    ADD<B    ADD<W    ADD>B    ADD>W    ENUM>
    ' --  8   <ENUM    OR<B     OR<W     OR>B     OR>W     ENUM>
    ' --  10  <ENUM    ADC<B    ADC<W    ADC>B    ADC>W    ENUM>
    ' --  18  <ENUM    SBB<B    SBB<W    SBB>B    SBB>W    ENUM>
    ' --  20  <ENUM    AND<B    AND<W    AND>B    AND>W    ENUM>
    ' --  28  <ENUM    SUB<B    SUB<W    SUB>B    SUB>W    ENUM>
    ' --  30  <ENUM    XOR<B    XOR<W    XOR>B    XOR>W    ENUM>
    ' --  38  <ENUM    CMP<B    CMP<W    CMP>B    CMP>W    ENUM>
    ' --  85  <ENUM    TESTB    TESTW    XCHGB    XCHGW
                       MOV<B    MOV<W    MOV>B    MOV>W    ENUM>
    8D -- LEA    0C4 -- LES    0C5 -- LDS
    : -- ( opcode "<spaces>name" -- )  CREATE C,   DOES> [email protected] B, B, ;
    4  -- AL-ADD     0C  -- AL-OR    14  -- AL-ADC   1C  -- AL-SBB
    24 -- AL-AND     2C  -- AL-SUB   34  -- AL-XOR   3C  -- AL-CMP
    6B -- PUSHB      0A8 -- AL-TEST  0CD -- INT      0EB -- JMP-SHORT
    ' --  70  <ENUM  JO JNO JB JAE JZ JNZ JBE JA JS JNS JP JNP  ENUM>
    ' --  0B0 <ENUM    AL-MOV    CL-MOV    DL-MOV    BL-MOV
                       AH-MOV    CH-MOV    DH-MOV    BH-MOV    ENUM>
    ' --  0E0 <ENUM    LOOPNZ    LOOPZ     LOOP      JCXZ
                       INB       INW       OUTB      OUTW      ENUM>
    : -- ( opcode "<spaces>name" -- )  CREATE C,   DOES> [email protected] B, W, ;
    5   -- AX-ADD    0D  -- AX-OR     15  -- AX-ADC    1D  -- AX-SBB
    25  -- AX-AND    2D  -- AX-SUB    35  -- AX-XOR    3D  -- AX-CMP
    68  -- PUSHW     0A0 -- MEM>AL    0A1 -- MEM>AX    0A2 -- AL>MEM
    0A3 -- AX>MEM    0A9 -- AX-TEST   0C2 -- RETW      0CA -- RETW-FAR
    0E8 -- CALL      0E9 -- JMP
    ' --  0B8  <ENUM    AX-MOV    CX-MOV    DX-MOV   BX-MOV
                        SP-MOV    BP-MOV    SI-MOV   DI-MOV    ENUM>
    : -- ( opcode "<spaces>name" -- )  CREATE C,   DOES> [email protected] B, ;
    6   -- ES-PUSH             7   -- ES-POP    0E -- CS-PUSH    16 -- SS-PUSH
    17  -- SS-POP              1E  -- DS-PUSH   1F  -- DS-POP     26 -- ES:
    26  -- DAA                 2E  -- CS:       2F  -- DAS        36 -- SS:
    37  -- AAA                 3E  -- DS:       3F  -- AAS        60 -- PUSHA
    61  -- POPA                64  -- FS:       65  -- GS:        66 -- CHANGE-OP-SIZE
    67  -- CHANGE-ADDR-SIZE    0C3 -- RET       0C9 -- LEAVE      0CB -- RET-FAR
    0CC -- INT3                0CE -- INTO      0CF -- IRET       0F0 -- LOCK
    ' --  40  <ENUM    AX-INC  CX-INC  DX-INC  BX-INC  SP-INC  BP-INC  SI-INC  DI-INC
                       AX-DEC  CX-DEC  DX-DEC  BX-DEC  SP-DEC  BP-DEC  SI-DEC  DI-DEC
                       AX-PUSH CX-PUSH DX-PUSH BX-PUSH SP-PUSH BP-PUSH SI-PUSH DI-PUSH
                       AX-POP  CX-POP  DX-POP  BX-POP  SP-POP  BP-POP  SI-POP  DI-POP
    ENUM>
    ' --  6C  <ENUM    INSB          INSW          OUTSB         OUTSW         ENUM>
    ' --  80  <ENUM    NOP           CX-AX-XCHG    DX-AX-XCHG    BX-AX-XCHG
                       SP-AX-XCHG    BP-AX-XCHG    SI-AX-XCHG    DI-AX-XCHG
                       CBW           CWD                                       ENUM>
    ' --  9B  <ENUM    WAIT      PUSHF     POPF       SAHF       LAHF          ENUM>
    ' --  0A4 <ENUM    MOVSB     MOVSW     CMPSB      CMPSW                    ENUM>
    ' --  0AA <ENUM    STOSB     STOSW     LODSB      LODSW      SCASB  SCASW  ENUM>
    ' --  0D4 <ENUM    AAM       AAD       SALC       XLAT                     ENUM>
    ' --  0EC <ENUM    DX-AL-IN  DX-AX-IN  AL-DX-OUT  AX-DX-OUT                ENUM>
    ' --  0F2 <ENUM    REPNZ     REPZ      HLT        CMC                      ENUM>
    ' --  0F8 <ENUM    CLC       STC       CLI        STI        CLD    STD    ENUM>

    Я вчера упоролся подумал, хуля я как лох пешу форт на асме, ТруЪ фротеры пишут форт на ыорте. И начал я с этого —– я представляю вам единственный и неповторимый говно-фрот-асамблец за авторством моего меня.

    Примерим:

    VARIABLE BYTES
    BYTES 'BYTES !
    CREATE PROG

    9 AH-MOV
    0 DX-MOV HERE 2 -
    21 INT
    4C00 AX-MOV
    21 INT

    DB" Hello, Forth-ASSembler!$" DROP PROG - 100 + SWAP W!

    PROG BYTES @ DUMP


    https://ideone.com/UtN1EZ

    Запостил: another_fake, 29 Ноября 2018

    Все комментарии (109)
  8. Комментарий к говнокоду #17518

    Показать код ▼

    ActionScript / Говнокод #17518

    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
    public static function leftJoin(collection: ArrayCollection, joinCollection: ArrayCollection): ArrayCollection
    {
    	var result: Array = [];
    	var object: Object;
    	for each (object in collection)
    	{
    		if (!joinCollection.contains(object))
    		{
    			result.push(object);
    		}
    	}
     
    	return new ArrayCollection(result);
    }

    Ну, можно забить на то, что это никакой ни джоин, но блин, квадратное время на пустом месте...

    Запостил: wvxvw, 25 Января 2015

    Все комментарии (630)
  9. Комментарий к говнокоду #18877

    • EO2Wls <a href="http://wfqbkqcuikuf.com/">wfqbkqcuikuf</a>, [url=http://tpxwqnpekpoc.com/]tpxwqnpekpoc[/url], [link=http://wmudqesfeldv.com/]wmudqesfeldv[/link], http://ghstpatncffz.com/
      Ответить
    Показать код ▼

    Perl / Говнокод #18877

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    use v5.12;
    sub unimplemented { ... }
    eval { unimplemented() };
    if ([email protected] =~ /^Unimplemented at /) {
        say "I found an ellipsis!";
    }

    Навеяно комментарием http://govnokod.ru/18873#comment300760

    Пример из документации перла (http://perldoc.perl.org/perlsyn.html#The-Ellipsis-Statement):
    When Perl 5.12 or later encounters an ellipsis statement, it parses this without error, but if and when you should actually try to execute it, Perl throws an exception with the text Unimplemented.

    Вот такая вот обработка исключений через =~

    Запостил: imihajlov, 16 Октября 2015

    Все комментарии (167)
  10. Комментарий к говнокоду #24867

    • Согласно видео, использовались тарелка, пол и бренное тело поехавшего, ни слова про что-то другое.
      Ответить
    Показать код ▼

    Куча / Говнокод #24867

    1. 1
    IT Оффтоп #9

    #1: http://govnokod.ru/18142 http://govnokod.xyz/_18142
    #2: http://govnokod.ru/18378 http://govnokod.xyz/_18378
    #3: http://govnokod.ru/19667 http://govnokod.xyz/_19667
    #4: http://govnokod.ru/21160 http://govnokod.xyz/_21160
    #5: http://govnokod.ru/21772 http://govnokod.xyz/_21772
    #6: http://govnokod.ru/24063 http://govnokod.xyz/_24063
    #7: http://govnokod.ru/24538 http://govnokod.xyz/_24538
    #8: http://govnokod.ru/24815 (потёр пидор сракер) http://govnokod.xyz/_24815/

    Запостил: syoma, 07 Октября 2018

    Все комментарии (594)
  11. Комментарий к говнокоду #25185

    • М-да.
      (единственно любопытно - rez это rezult или rezultat?)
      Ответить
    Показать код ▼

    C++ / Говнокод #25185

    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
    class TcpClient
    {
    public:
        //...
        enum ErrCode{
            REZ_OK = 0,
            REZ_ERR,
            REZ_NO_NEW_DATA,
            REZ_NEW_DATA
        };
        //...
    };
    ...
    class UdpPort
    {
    public:
        //...
        enum ErrCode{
            REZ_OK = 0,
            REZ_ERR,
            REZ_NO_NEW_DATA,
            REZ_NEW_DATA
        };
        //...
    };
        //...
        // Потом в коде:
        ErrCode rez = (rtcPort_.setupPort(portSettings) == WrapperSystemSockets::UdpPort::ErrCode::REZ_OK) ? ErrCode::REZ_OK : ErrCode::REZ_ERR;

    Enum головного мозга.

    Запостил: elapidae, 13 Декабря 2018

    Все комментарии (6)
  12. Комментарий к говнокоду #25187

    • Qt же.
      >"быстро"
      У них фреймворк так и называется - "QtQuick"
      Ответить
    Показать код ▼

    JavaScript / Говнокод #25187

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    коммит на гитхабе:
    https://github.com/nativescript-vue/nativescript-vue.org/commit/f964457a5e4944864485c7194b0b5d850f8edb67
    русская документация:
    https://nativescript-vue.org/ru/docs/routing/manual-routing/#navigateto
    английская документация:
    https://nativescript-vue.org/en/docs/routing/manual-routing/#passing-props-to-the-modal
     
    угадайте, какой вариант передачи пропсов рабочий ?

    #SEO документация, JS.

    Запостил: хуита, 13 Декабря 2018

    Все комментарии (36)
  13. Комментарий к говнокоду #25171

    • Будет. На кетайский TFT дисплейчик.

      С ним просто накладка возникла - поле сожрало почти все ячейки и NIOS не влез. Придётся пилить железную стейтмашину для инициализации.
      Ответить
    Показать код ▼

    Си / Говнокод #25171

    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
    #include <stdio.h>
    #include <inttypes.h>
    #include <stddef.h>
     
    void printuint64(const uint64_t state);
    uint64_t game_of_life8x8(const uint64_t old);
    uint8_t getbit(uint64_t in, uint8_t y, uint8_t x);
     
    uint8_t getbit(uint64_t in, uint8_t y, uint8_t x)
    {
      return !!((in) & (1ULL << ((y&0b111) + (x&0b111)*8)) );
    }
     
    uint64_t setbit(uint8_t y, uint8_t x, uint8_t bit)
    {
      if (bit)
      {
        return 1ULL << ((y&0b111) + (x&0b111)*8);
      }
      return 0;
    }
     
    uint64_t game_of_life8x8(const uint64_t old)
    {
      uint64_t new_state = 0;
      #define GETBIT(y,x,val) getbit(val, y, x)
      #define SETBIT(y,x,bit) setbit(y,x,bit)
     
      #define SUMAROUND(y,x,val) ( \
        GETBIT(y+1,x,val) + GETBIT(y-1,x,val) \
      + GETBIT(y,x+1,val) + GETBIT(y,x-1,val) \
      + GETBIT(y+1,x+1,val) + GETBIT(y+1,x-1,val) \
      + GETBIT(y-1,x+1,val) + GETBIT(y-1,x-1,val) \
      )
     
      #define CELLSTATE(y,x,val) \
      (GETBIT(y,x,old) == 1 ? \
        ( ((SUMAROUND(y,x,val) == 2 ) || ( SUMAROUND(y,x,val) == 3 )) ? 1 : 0) \
        : \
        ( ( SUMAROUND(y,x,val) == 3 ) ? 1 : 0 ) \
      )
     
      #define SETCELL_SH(y,x,val) SETBIT(y,x,CELLSTATE(y,x,val))
     
      #define FILL_LINE(y) \
        SETCELL_SH(y,7,old) | SETCELL_SH(y,6,old) | SETCELL_SH(y,5,old) | \
        SETCELL_SH(y,4,old) | SETCELL_SH(y,3,old) | SETCELL_SH(y,2,old) | \
        SETCELL_SH(y,1,old) | SETCELL_SH(y,0,old)
     
      new_state = FILL_LINE(7) | FILL_LINE(6) | FILL_LINE(5)
      |  FILL_LINE(4) | FILL_LINE(3) | FILL_LINE(2)
      |  FILL_LINE(1) | FILL_LINE(0);
     
      return new_state;
    }
     
    void printuint64(const uint64_t state)
    {
      for (size_t i = 7; i != SIZE_MAX; i--)
      {
        for (size_t j = 7; j != SIZE_MAX; j--)
        {
          printf("%u", !!((state >> (j+i*8)) & 1) );
        }
        printf("\n");
      }
    }
     
    int main(void)
    {
      // Glider
      uint64_t state =
      (( 0b01000000ULL ) << 8*7 ) |
      (( 0b00100000ULL ) << 8*6 ) |
      (( 0b11100000ULL ) << 8*5 ) |
      (( 0b00000000ULL ) << 8*4 ) |
      (( 0b00000000ULL ) << 8*3 ) |
      (( 0b00000000ULL ) << 8*2 ) |
      (( 0b00000000ULL ) << 8*1 ) |
      (( 0b00000000ULL ) << 8*0 );
     
     
      for (size_t i = 0; i < 50; i++)
      {
        printuint64(state);
        state = game_of_life8x8(state);
        printf("\n");
      }
      return 0;
    }

    Conway's game of life внутри uint64_t (8 на 8) с периодическими граничными условиями.

    Запостил: j123123, 09 Декабря 2018

    Все комментарии (146)
  14. Комментарий к говнокоду #25189

    • На говнокоде оно редуцировалось до "<...>, проверь.".
      Ответить
    Показать код ▼

    Куча / Говнокод #25189

    1. 1
    Откуда пошло выражение "... тебе за щеку, проверь"?

    Запостил: LinuxGovno, 13 Декабря 2018

    Все комментарии (16)
  15. Комментарий к говнокоду #25186

    • Давайте считать сколько рядов зубов у диавола, который будет вечно терзать вмерзшего в озеро клиент-сайдера.

      2) id
      4) onclick
      8) инлайновые стили
      16) position: absolute;

      16 рядов

      А за away4.php?a=aHR0cDovL3lhbmRleC5ydQ== пускай бекендера ебут
      Ответить
    Показать код ▼

    Куча / Говнокод #25186

    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
    cript src='https://www.google.com/recaptcha/api.js?onload=captchaOn&render=explicit' async defer></script>
                                        </span>
        <span  id="noCaptchaBlock" style="display: none">
                                    <a onclick="cl=true" href="#" class="vam" style="z-index: 1;position: relative;text-decoration: none;border-radius: 2px;background: #4C8EFA;color: #fff;padding: 7px 20px;font-size: 20px;text-decoration: none !important;margin: 7px 10px;"  id="rbs">Пропустить рекламу</a>
                                    <span id="load" class="vam" style="z-index: 1;position: relative;margin: 6px 10px;display: none;font-size: 1.125em"><span id="statusload">Загрузка рекламы</span><span id="point">...</span></span></span>
        </span>
        <div class="progress" style="height: 100%;background: #bbbbbb;opacity: 0.2;z-index: 0;"><dt></dt><dd></dd></div>
    </div>
    <div class="bl_all_rek" style="position: relative;overflow: hidden;z-index: 1;">
        <div class="progress_bg"><div class="progress"><dt></dt><dd></dd></div></div>
        <div class="toggle" style="position: absolute;width: 4px;height: 100%;background-color: #EFC439;z-index: 3;left: 0;top: 10px;/* box-shadow: -3px 0px 7px 0px #000; */"></div>
        <div class="toggle" style="position: absolute;width: 4px;height: 100%;background-color: #EFC439;z-index: 3;right: 0;top: 10px;/* box-shadow: 3px 0px 7px 0px #000; */"></div>
        <div class="toggle" style="margin: 0px;background-color: #EFC439;padding:8px 15px;font-weight:bold;font-size: 14px;line-height: 100%;word-wrap: break-word;color:#FFF; font-family: Arial, sans-serif;text-align: center;box-shadow: 0px 0px 7px -1px #000, inset 0px 2px 8px -5px #000;position: relative;z-index: 2;">Реклама        <a class="a_site_top" style="margin: 0; font-size: 12px;top:auto;font-weight:normal;" target="_blank"
               title="http://yandex.ru" href="/away4.php?a=aHR0cDovL3lhbmRleC5ydQ=="
            >Открыть полностью</a>
        </div>

    Куча гавна с хардкодом с сайта catcut! Ну блять пиздец, так делать сайты нельзя.
    И прикол в том что сайт глючит, ПИЗДЕЦ!!!! ЕБАЛ В РОТ

    Запостил: fuckercoder, 13 Декабря 2018

    Все комментарии (3)
  16. Комментарий к говнокоду #25181

    Показать код ▼

    Python / Говнокод #25181

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    def enum(x):
        globals().update(map(reversed, enumerate(x.split())))
     
    enum("""
        ONE
        TWO
        THREE
        FORTH
    """)

    Forth влияет...

    Запостил: 666_N33D135, 12 Декабря 2018

    Все комментарии (30)
  17. Комментарий к говнокоду #25176

    Показать код ▼

    PHP / Говнокод #25176

    1. 1
    Вот так пишут настоящие программисты внутри HTML. Ни грамма жалости... Ни слова унижения.

    ...
    <h6 class="card-subtitle">

    <?php switch($cur_user['school_type']):
    case 1: ?>
    <?php echo $lang['Public_school']; ?>
    <?php break; ?>
    <?php case 2: ?>
    <?php echo $lang['State_religious_school']; ?>
    <?php break; ?>
    <?php case 3: ?>
    <?php echo $lang['muslim']; ?>
    <?php break; ?>
    <?php case 4: ?>
    <?php echo $lang['orthodox']; ?>
    <?php break; ?>
    <?php endswitch; ?>

    </h6>
    ...

    Запостил: gonext, 10 Декабря 2018

    Все комментарии (52)
  18. Комментарий к говнокоду #25182

    • Точно, есть же прототипы
      #!/usr/bin/perl
      
      use strict;
      use warnings;
      no warnings qw(void);
      
      package std;
      
      use overload '<<' => \&__print_shl;
      
      sub __print_shl {
        my ($self, @strings) = @_;
        print {$self->{_handle}} @strings;
        return $self;
      }
      
      sub cout() {
        return bless { _handle => \*STDOUT } => __PACKAGE__;
      }
      
      sub cerr() {
        return bless { _handle => \*STDERR } => __PACKAGE__;
      }
      
      sub endl() {
        return "\n";
      }
      
      package main;
      
      std::cout << "Hello, Perl!" << std::endl;

      https://wandbox.org/permlink/j6nG2fmRwb3V3xgr
      Ответить
    Показать код ▼

    PHP / Говнокод #25182

    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
    <?php
    class std {
        public static function cout() {
            return new std();
        }
        public function endl() {
            echo PHP_EOL;
        }
        public function __get($name) {
            echo $name;
            return $this;
        }
    }
     
    std::cout()->{'Кукареку!'}->endl();

    Кукареку!

    https://ideone.com/g95mdk

    Запостил: nemyx, 12 Декабря 2018

    Все комментарии (7)
  19. Комментарий к говнокоду #25175

    Показать код ▼

    Куча / Говнокод #25175

    1. 1
    http://avg1.ru/upload/iblock/60a/60aa3c633e7f885cabd311cf3b6f6792.jpg

    Она сама сделала ярлычки, на которых было написано, кто именно подарил ей украшение.

    Запостил: Goh, 09 Декабря 2018

    Все комментарии (4)
  20. Комментарий к говнокоду #25183

    • Помню, в одной старой книжке о компьютерах приводился такой гипотетический диалог. Типа, у нас есть совершенный компьютер.
      - Вес?
      - 80 кг.
      - Потребляемая мощность?
      - Около 200 Вт.
      - Срок службы?
      - До 50 лет.
      - Хорошо! Объем памяти?
      - Не менее тысячи миллиардов битов.
      - Превосходно! Способ программирования?
      - Самообучаемость.
      - Замечательно! И что же это за уникум?
      - Это человек.
      Ответить
    Показать код ▼

    Куча / Говнокод #25183

    1. 1
    2. 2
    3. 3
    https://hi-tech.mail.ru/news/robot-boris-kostum/
     
    >>>"Показанный по российскому ТВ «самый современный» робот Борис оказался человеком"

    Запостил: KitKat, 12 Декабря 2018

    Все комментарии (17)