1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #26650

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    template <class... Args>
        void log(Args&&... args)
        {
            auto dummy = { (std::clog << args, 0)... };
            std::clog << std::endl;
        }

    новый printf на с++

    ASD_77, 12 Мая 2020

    Комментарии (12)
  3. Java / Говнокод #26521

    0

    1. 1
    2. 2
    if (Boolean.TRUE.equals(planItem.isIgnoredPurchase()))
            {

    vistefan, 21 Марта 2020

    Комментарии (12)
  4. Куча / Говнокод #26371

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Неблагодарный opensource: разработчик самого быстрого веб сервера удалил его репозиторий
    
    Краткая суть ситуации: наш соотечественник fafhrd91 на протяжении 3 лет
    практически самостоятельно (см. кдпв) писал actix-web — один из популярнейших
    крейтов в инфраструктуре раста, лидер в большинстве различных бенчмарков,
    и за это время подвергался как минимум трём волнам гонений за "неправильное
    использование раста". После последнего раза автор психанул, и перенес репозиторий
    к себе в аккаунт с пометкой "Планирую скрыть репозиторий".

    Именно поэтому я против «пидарастов». Да и остальных хипстеров-говноедов.

    https://habr.com/ru/post/484436/

    gost, 21 Января 2020

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

    −4

    1. 1
    2. 2
    Ебите в рот тех, кто лжёт Вам, что грипп — воздушно-капельная инфекция.
    Грипп передаёться через слизь, размазанную по пальцам.

    MPA3uIII, 18 Января 2020

    Комментарии (12)
  6. Pascal / Говнокод #26290

    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
    procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
      ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
      var
        http:tidhttp;
        ss:tstringstream;
      begin
      try
        http:=tidhttp.Create(nil);
        http.CookieManager:=tIdcookiemanager.Create(nil);
        http.HandleRedirects:=true;
        http.AllowCookies:=True;
        http.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; rv:56.0) Gecko/20100101 Firefox/56.0';
        http.IOHandler:=tidssliohandlersocketopenssl.Create(nil);
        http.Compressor:=tidcompressorzlib.Create(nil);
        http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
        http.Request.AcceptEncoding:='gzip, deflate';
        SS:=tstringstream.Create;
        HTTP.Get(ARequestInfo.URI, SS);
        aresponseinfo.CharSet:=http.Response.CharSet;
        aresponseinfo.ContentType:=http.Response.ContentType+'; '+'charset='+http.Response.CharSet+';';
        aresponseinfo.ContentStream:=SS;
        AResponseInfo.WriteContent;
      except
    
      end;
    
    
    end;

    Мой разложившийся мозг сопротивляется. Сковзь пелену галлюцинаций, где где меня имеют сразу несколько волосатых таджиков, отчетливо пробивается реклама. Ее много. Очень много. Реклама и навязчивые видео с предложениями "срубить бабла" даже страшнее галлюцинаций. Я написал простой фильтр, заключающийся в локальном сервере, к которому я подключаюсь из браузера. Сервер является точкой доступа. Неугодные запросы я буду отпиздовывать на корню.
    Собственно, этот код я запостил как фикс досадного гълюка, заключающегося в том, что браузер посылает нахой поле charset. Это херит даже код html.
    Кодировку следует указывать в поле "КонтентТипе"

    пожалуй, всё. пока.

    AnalBoy, 30 Декабря 2019

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

    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
    33. 33
    34. 34
    35. 35
    private static void createHook(MethodNode mn,
                                   String targetClassName,
                                   String hookMethodClass,
                                   String hookMethodName,
                                   Boolean printMessages)
    {
        InsnList il = new InsnList();
        LabelNode originalLabelNode = new LabelNode();
        // Object caller, param1, param2, ...
        String hookMethodDesc = "(Ljava/lang/Object;" + mn.desc.substring(1);
    
        il.add(new VarInsnNode(Opcodes.ALOAD, 0));  // this
        il.add(new MethodInsnNode(Opcodes.INVOKESTATIC,
                                  isOriginalCallClassName,
                                  isOriginalCallMethodName,
                                  isOriginalCallMethodDesc,
                                  false));
        il.add(new JumpInsnNode(Opcodes.IFNE, originalLabelNode));
    
        if (printMessages) {
            il.add(BytecodeHelper.getPrintlnSequence("patched " + mn.name + mn.desc + " called"));
        }
    
        il.add(new VarInsnNode(Opcodes.ALOAD, 0));  // this
        il.add(getParamsLoadSequence(mn.desc, 1));  // other params
        il.add(new MethodInsnNode(Opcodes.INVOKESTATIC, hookMethodClass, hookMethodName, hookMethodDesc, false));
        il.add(new InsnNode(parseReturnOpcode(hookMethodDesc)));
    
        il.add(originalLabelNode);
    
        if (printMessages) {
            il.add(BytecodeHelper.getPrintlnSequence("original " + mn.name + mn.desc + " called"));
        }
        mn.instructions.insert(il);
    }

    Бытует мнение, что «Java» — это высокозащищённый язык, в котором невозможны всяческие си-подобные грязные хаки. На самом деле, конечно, это не так: просто чтобы прострелить себе ногу в «Жабе» — надо чуть больше постараться.

    Фрагмент небольшой самописной либы, позволяющей хукать произвольные методы, прямо как в «Microsoft Detours».

    gost, 28 Декабря 2019

    Комментарии (12)
  8. Куча / Говнокод #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)
  9. Куча / Говнокод #26011

    0

    1. 1
    2. 2
    3. 3
    https://beautifulracket.com/appendix/thoughts-on-rhombus.html
    http://greghendershott.com/2019/07/future-of-racket.html
    https://github.com/racket/rhombus-brainstorming/blob/master/resources/goals.md

    Авторы Racket планируют в течение нескольких лет выпустить новый диалект языка, в котором, среди прочего, снизить порог вхождения, в том числе, вероятно, избавившись от скобочек™.

    В связи с этим возникает два вопроса:
    1) правда ли они думают, что сложность освоения Racket и lisp-подобных языков в скобочках (а не например в мощной системе макросов, метапрограммирования и возможности написания языков в языке)
    2) переизобретут ли они Dylan спустя три десятка лет

    Desktop, 04 Ноября 2019

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    я проснулся во время кошмара - мне приснилась какая то красная хуйня в розовых носочках, которая кричала "пхп мое наслаждение, я хочу ещё"
    я уже должен был проснуться ведь петухи во сне - не к добру, но я смотрел дальше и это оказался всего навсего обосанный бомж у метро, кушающий банан
    просто у него нет денег и носит розовые носочки с красными понталонами, чтобы согреться. Ну что я рассказываю - обычный пхп кодир...
    ну вообщем я смотрю на бомжа этого, вроде бы чего просыпаться то, поржать можно же, но потом в небе появляются летающие буквы 'p' и 'h' и 
    тогда я почувствовал что скоро начнется пиздец мирового масштаба, ведь даже индусы стали танцевать танец в честь пхп и одна девка 
    с индийским голосом из фильмов пропела "ооо май пхп ааааай яяяяяя" и тогда слева меня появилась проститутка которая готова была отдаться мне
    за то, что я научу её пхп, я конечно же отказал, ведь параши коснешься - петухом станешь, ну вот, а чего просыпаться то все же?
    а там потом буквы 'p' и 'h' начали появляться везде и я видел как слово 'php' подходит ко мне, а сзади него АРМИЯ ПХП !!! тогда 
    я побежал далекоооо и залез на башню, где было так тихо, я сел на пол и смотрел в окно, которого нет, а потом появился скример и с надписью
    'php найдет тебя, ты станешь петухом'. Я закричал и проснулся. Блять, больше никаких сайтов с '.php'...

    Ksyrx, 29 Июля 2019

    Комментарии (12)
  11. Java / Говнокод #25727

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static Date getMinDate(List<Date> dates) {
        Preconditions.checkArgument(dates != null && !dates.isEmpty(), "Dates list must be not null and not empty");
        dates.sort(Comparator.naturalOrder());
        return dates.get(0);
      }

    ну а че

    snml, 22 Июля 2019

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