1. Haskell / Говнокод #28539

    0

    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
    #!/usr/bin/guile -s
    !#
    
    (define (pt n s)
      (cond ((< n 1) 0)
            ((= n 1) 1)
            ((= s 0) 0)
            ((= s 1) 1)
            ((= s n) 1)
            ((> s n) 0)
            (else (+ (pt (- n 1) s) (pt (- n 1) (- s 1))))))
    
    (display (pt 1 1)) ;; 1
    (newline)
    
    (display (pt 3 2)) ;; 2
    (newline)
    
    (display (pt 5 3)) ;; 6
    (newline)

    Лисп-загадка: угадайте, что делает этот (вышеприведённый) код.

    JloJle4Ka, 05 Января 2023

    Комментарии (35)
  2. Perl / Говнокод #28535

    0

    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
    #!/usr/bin/guile -s
    !#
    
    (define (square x)
      (* x x))
    
    (define (square_sum x y)
      (+ (square x) (square y)))
    
    (define (tmax x y z)
      (cond ((and (>= x y) (>= x z)) x)
            ((and (>= y x) (>= y z)) y)
            (else z)))
    
    (define (tms x y z)
      ((cond ((= (tmax x y z) x)
              (if (> y z)
                  (square_sum x y)
                  (square_sum x z)))
             ((= (tmax x y z) y)
              (if (> x z)
                  (square_sum x y)
                  (square_sum y z)))
             ((= (tmax x y z) z)
              (if (> x y)
                  (square_sum x z)
                  (square_sum y z)))
             (else 0))))
    
    (display "Ans: ")
    (display (tms 6 5 4))
    (newline)

    Почему не работает?

    JloJle4Ka, 02 Января 2023

    Комментарии (90)
  3. Assembler / Говнокод #28534

    −3

    1. 1
    Зачем простенькие проги, написанные на MASM коннектятся к ip адресу Microsoft 20.99.133.109:443?

    BelCodeMonkey, 01 Января 2023

    Комментарии (18)
  4. Python / Говнокод #28531

    −2

    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
    key_base_len = random.randint(30,61)
    key_base = bytearray(key_base_len)
    for i in range(key_base_len):
        key_base[i] = random.randint(0,255)
    
    key = bytearray(8)
    key[0] = chip_uid_chksum ^ key_base[ 4 * (key_base_len // 7)]
    key[1] = chip_uid_chksum ^ key_base[      key_base_len // 5 ]
    key[2] = chip_uid_chksum ^ key_base[      key_base_len // 7 ]
    key[3] = chip_uid_chksum ^ key_base[ 6 * (key_base_len // 7)]
    key[4] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 7)]
    key[5] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 5)]
    key[6] = chip_uid_chksum ^ key_base[ 5 * (key_base_len // 7)]
    key[7] = (chip_id + key[0]) & 0xff
    
    return key, key_base

    Китайцы и криптография.

    Сначала программатор отдаёт контроллеру key_base, а затем юзает key чтобы ксорить с ним заливаемую прошивку.

    bormand, 31 Декабря 2022

    Комментарии (41)
  5. Куча / Говнокод #28530

    0

    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
    table inet filter {
        set open_ports {
            type inet_proto . inet_service
            counter
            elements = { tcp . 123 counter packets 0 bytes 0,
                     udp . 123 counter packets 0 bytes 0,
                     tcp . 456 counter packets 0 bytes 0,
                     tcp . 567 counter packets 0 bytes 0 }
        }
    
        chain input {
            type filter hook input priority filter; policy drop;
            iifname "eth*" ct state established,related accept
            iifname "eth*" ct state invalid drop
            iifname "eth*" ct state new meta l4proto . th dport @open_ports accept
        }
    }

    «nftables» — охуенны.

    ISO, 30 Декабря 2022

    Комментарии (141)
  6. Haskell / Говнокод #28529

    0

    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
    ;; Sound.
    (xbindkey '(Alt F7) "amixer set Master 1%-")
    (xbindkey '(Alt F8) "amixer set Master 1%+")
    
    (define muted 0)
    (run-command "amixer set Master 3%")
    
    (xbindkey-function '(Alt F6)
                       (lambda()
                         (cond ((equal? muted 0)
                                (run-command "amixer set Master 0%")
                                (set! muted 1)
                                )
                               (else (begin
                                       (run-command "amixer set Master 3%")
                                       (set! muted 0)
                                       ))
    ;; какой багор
                               )))

    Линукс-загадка!

    JloJle4Ka, 30 Декабря 2022

    Комментарии (18)
  7. C++ / Говнокод #28528

    +1

    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
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
            bool f;
            ListNode* t;
            return (ListNode*)
                ( 
                    (!list1 * (unsigned long long)list2) + 
                    (!list2 * (unsigned long long)list1) +
                    ((!!list1 && !!list2 && 
                        (
                            ((f = (list1 -> val <= list2 -> val)) && (t = list1, list1->next = mergeTwoLists(list1 -> next, list2)))||
                            ((!f) && (t = list2, list2->next = mergeTwoLists(list1, list2->next)))
                        )
                    ) * (unsigned long long)t)
                ); 
        }

    2022. Хабр. Итоги.

    JloJle4Ka, 30 Декабря 2022

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

    0

    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
    include( 'includes/systems/header.inc' ); #Подключение Заголовка
    
    @list($wdth,$hght) = getImageSize( $_GET['photo'] );
    
    while( ( $wdth > $_SESSION['wdth']-100 ) || ( $hght > $_SESSION['hght']-100 ) ){
    $wdth = $wdth / 1.00001;
    $hght = $hght / 1.00001;
    }
    # echo $wdth . 'x' . $hght ;
    # $hghtP = $hght - 85;
    # $wdthP = $wdth - 85;
    $hghtP = $hght;
    $wdthP = $wdth;
    
    
    @$prms = ( $wdth > $hght )? 'width=' . (int)$wdthP: 'height=' . (int)$hghtP;
    # echo $wdth . 'x' . $hght;

    photo.php

    GAMER, 26 Декабря 2022

    Комментарии (70)
  9. Python / Говнокод #28524

    +1

    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
    def __get_column_names(table: str) -> tuple:
        try:
            with conn:
                cur.execute("SELECT name FROM PRAGMA_TABLE_INFO(?)", (table,))
                column_names = cur.fetchall()
        except Exception as excpt:
            print(excpt)
        column_names = tuple(i[0] for i in column_names)
        return column_names
    
    
    def db_register_user(user_data: types.User):
        """
        SQL запрос для внесения данных о пользователе
    
        Args:
            user_data: telebot User объект, содержащий словарь с параметрами пользователя
        """
        user_data = user_data.to_dict()
        column_names: tuple = __get_column_names('Users')
        user_values = tuple(user_data.get(key) for key in column_names if key in user_data)
        try:
            with conn:
                query = 'INSERT INTO Users cn'.replace('cn', str(column_names))+' VALUES (?,?,?,?,0,3)'
                parameters = (*user_values,)
                conn.execute(query, parameters)
        except Exception as excpt:
            print(excpt)
        conn.close()

    На сколько в такой ситуации .format не безопасен? Идея в том, чтобы не объебошится программисту в коде введя неверное значение колонки. Для этого имена колонок берутся из самой базы (есть мысль ещё и типы брать). Есть вариант реализации получше? Спасибо

    rockkley94, 26 Декабря 2022

    Комментарии (22)
  10. Python / Говнокод #28520

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    from db.session import DB
    
    session = DB.session()
    session.query(Prefix).filter(Prefix.user_id==user_id, Prefix.prefix.ilike('%your persona:%')).delete()
    session.commit()

    storvus, 21 Декабря 2022

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