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

    Всего: 41

  2. Lua / Говнокод #26519

    0

    1. 1
    2. 2
    3. 3
    https://github.com/xexpanderx/conky-drawer-interactive/tree/master/lua
    
    а вы тоже храните автосейв файлы редактора на гитхабе?

    https://github.com/xexpanderx/conky-drawer-interactive/blob/master/lua/drawer.lua

    cairo_arc(cr,hdd_x+22, hdd_y-5,10,270*math.pi/180,360*math.pi/180)
    cairo_arc(cr, hdd_x+22, hdd_y-5+28,10,0*math.pi/180,90*math.pi/180)

    какая геометрия :))

    MAKAKA, 21 Марта 2020

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

    +1

    1. 1
    2. 2
    3. 3
    /index.php/module/action/param1/${@die(md5(HelloThinkPHP))}: 1 Time(s)
           /index.php?s=%2f%69%6e%64%65%78%2f%5c%74%6 ... %6e%6b%50%48%50: 1 Time(s)
           /index.php?s=/module/action/param1/${@die( ... elloThinkPHP))}: 1 Time(s)

    такую вот хуйню в логах вижу
    пыха у меня разумеется никакого нет, но что это вообще такое? Что так ломают?

    MAKAKA, 09 Марта 2020

    Комментарии (112)
  4. bash / Говнокод #26476

    +1

    1. 1
    grep '^-'  /mnt/etc/roskomhui.txt | cut -d' ' -f2  |  sed 's|^\([^/]*\)$|\1/32|'  | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'

    На старом роутере у меня бы opkg и openvpn с сервачком за пределами России.
    Список префиксов, на которые я хотел ходить через него, хранился в файле roskomhui.txt и имел формат

    # petuh
    -net 1.2.3.0/24
    -host 1.2.3.4

    # foo


    Файлик этот обрабатывался скриптом при подключении OpenVPN, который делал примерно следующее:
    grep '^-' /opt/etc/roskomhui.txt  | xargs -n2 -icmd echo route add cmd gw $REMOTE_VPN_ADDR | sh


    На новом роутере оказался встроенный OpenVPN, и смысл в opkg отпал. Но как завернуть нужный траффик в впн без шела? (я вкурсе про push, но мне важно было это сделать именно локально).

    Оказалось, что роутер умеет загружать маршруты из файла прямо через веб-морду, но формат там должен быть как у виндового батника
    route add 1.2.3.4 255.255.255.255 %ADDR%


    Для решения её и был написал скрипт (сам файлик хранился на флешке, потому он в mnt)
    Хосты с помощью седа (в исходнике они без масок) превратились в /32, чтобы их понял ipcalc.
    После ipcalc превратил маски в формате /bits в четырехбайтовые маски, и наконец awk -- единственный стейтфул товарищ в этом конвеере -- связал адрес с маской из выхлопа ipcalc.

    А как поступили бы вы?

    MAKAKA, 07 Марта 2020

    Комментарии (5)
  5. Java / Говнокод #26055

    +3

    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
    /**
         * Four state boolean.
         */
        enum Bool {
            /** */
            FALSE,
    
            /** */
            TRUE,
    
            /** */
            READY,
    
            /** */
            DONE
        }

    MAKAKA, 27 Ноября 2019

    Комментарии (23)
  6. PHP / Говнокод #26053

    0

    1. 1
    2. 2
    В УЗБЕКИСТАНЕ ДАН СТАРТ МАСШТАБНОМУ ПРОЕКТУ ONE MILLION UZBEK CODERS
    https://uznews.uz/ru/article/17817

    Проект представляет собой дистанционное бесплатное обучение населения посредством онлайн-портала по четырем IT-специальностям.

    MAKAKA, 27 Ноября 2019

    Комментарии (24)
  7. Куча / Говнокод #26029

    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
    $ objdump -f libyjpagent64.so
    
    libyjpagent64.so:     file format elf64-x86-64
    architecture: i386:x86-64, flags 0x00000150:
    HAS_SYMS, DYNAMIC, D_PAGED
    start address 0x00000000000c2690
    
    
    $ readelf -h  libyjpagent64.so
    ELF Header:
      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
      Class:                             ELF64
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Shared object file)
      Machine:                           Advanced Micro Devices X86-64
      Version:                           0x1
      Entry point address:               0xc2690
      Start of program headers:          64 (bytes into file)
      Start of section headers:          5131216 (bytes into file)
      Flags:                             0x0
      Size of this header:               64 (bytes)
      Size of program headers:           56 (bytes)
      Number of program headers:         7
      Size of section headers:           64 (bytes)
      Number of section headers:         30
      Section header string table index: 29

    куик, зачем на прыщах две дублирующие друг друга утилиты?

    MAKAKA, 14 Ноября 2019

    Комментарии (12)
  8. bash / Говнокод #26019

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/sh
    IFS=:
    echo "Login\tUID"
    while read LOGIN _ UID _;
    do
      echo "$LOGIN\t$UID"
    done < /etc/passwd

    давайте обсуждать шелл-программирование

    MAKAKA, 07 Ноября 2019

    Комментарии (61)
  9. Perl / Говнокод #26003

    +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
    #!/usr/bin/perl
    
    # Fetch all JS from govno
    use strict;
    use warnings FATAL => 'all';
    use LWP;
    
    my $res = LWP::UserAgent->new->request(HTTP::Request->new("GET" => "http://govnokod.xyz/"));
    die "Failed: " . $res->code unless $res->is_success;
    
    for (split /\n/, $res->content) {
        print if /<script/ ... /script>/ and !m/[<>]/;
    }

    кууик.

    Официальный тред для ржания над пятым перлом

    MAKAKA, 29 Октября 2019

    Комментарии (43)
  10. Куча / Говнокод #25979

    +1

    1. 1
    "Performance is easy. All you need to know is everything" (c) S. Kuksenko (@kuksenk0)

    Умеете профилировать программы?
    Знаете, что такое flame diagram? Умеете посмотреть стектрейс от входа в тред до какого-нить спинлока в ядре? Смотрите асм своего компилятора или джита? Знаете, какая инструкция сколько занимает?
    Умеете по vmstat/iostat или xperf/perf counters увидать проблему и соотнести ее с программой? Используете dtrace голый или с instruments? yourkit? vTune? valgrind? bpf?
    Или такие же дебилы, как я?

    MAKAKA, 20 Октября 2019

    Комментарии (59)
  11. Haskell / Говнокод #25851

    0

    1. 1
    http://hackage.haskell.org/package/haskelldb-2.1.1/docs/Database-HaskellDB-BoundedList.html#t:N94

    MAKAKA, 18 Сентября 2019

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