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

    Всего: 168

  2. JavaScript / Говнокод #20136

    +5

    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
    function insertComment(comment) {
        // todo: optimize this shit
        for (var j = 0; j < $scope.comments.length; ++j) {
            if ($scope.comments[j].thread_id == comment.thread_id) {
                $scope.comments[j] = comment;
                return;
            }
            if ($scope.comments[j].comment_id < comment.comment_id) {
                $scope.comments.splice(j, 0, comment);
                return;
            }
        }
        $scope.comments.push(comment);
    }
    
    for (var i = 0; i < data.length; ++i) {
        comment = data[i];
        comment.text = $sce.trustAsHtml(comment.text);
        comment.postedFuzzy = fuzzyDate(new Date(comment.posted), new Date());
        insertComment(comment);
    }

    Оптимальное набивание комментов в сток за O(n^2).

    http://146.185.130.46/ngk/

    bormand, 06 Июня 2016

    Комментарии (120)
  3. Си / Говнокод #19660

    −49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void byteblaster_flush(byteblaster_t *ctx)
    {
        // Send dummy readback requests to round-up transmission FIFO
        // to 62 bytes and suppress 16ms delay
        if ((ctx->awaiting_from_ftdi % 62) != 0) {
            char buf[62];
            size_t padding = 62 - (ctx->awaiting_from_ftdi % 62);
            memset(buf, BB_READBACK, padding);
            byteblaster_send(ctx, buf, padding);
        }
    }

    Я люблю FTDI!

    FT245BL соглашается на bulk transfer либо если в буфере накопилось 62 байта, либо если прошло 16мс с последнего трансфера. В итоге, за секунду пролезает не больше 60 мелких пакетов (размером меньше 62 байт)... Даже сраные диалап модемы работали быстрее.

    bormand, 19 Марта 2016

    Комментарии (52)
  4. C++ / Говнокод #19385

    +9

    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
    int naive_show_int(int x) {
        char buf[32];
        char *p = buf + sizeof(buf);
        *--p = 0;
        int negative = 0;
        if (x < 0) {
            x = -x;
            negative = 1;
        }
        while (x > 0) {
            if (x <= 0)
                return -1;
            int digit = '0' + x % 10;
            if (digit < '0' || digit >= '9')
                return -1;
            *--p = digit;
            x /= 10;
        }
        if (negative)
            *--p = '-';
        puts(p);
        return 0;
    }

    Допустишь один UB - ничто уже не спасёт твою прогу...

    http://ideone.com/EFGoBi

    bormand, 02 Февраля 2016

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    wire tsun = clk | (~dere);
    wire dere = clk | (~tsun);
    
    always @(posedge clk) rnd <= dere;

    Интересно, будет ли этот код работать как TRNG?

    P.S. Узнаем на выходных, когда приедет Циклоняшка.

    bormand, 25 Января 2016

    Комментарии (16)
  6. C++ / Говнокод #18975

    +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
    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
    class CBaseEntity {
    
            // ...
    
    	void (CBaseEntity ::*m_pfnThink)(void);
    
    	virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); };
    
            // ...
    
    	// Ugly code to lookup all functions to make sure they are exported when set.
    
    #ifdef _DEBUG
    	void FunctionCheck( void *pFunction, char *name ) 
    	{ 
    		if (pFunction && !NAME_FOR_FUNCTION((uint32)pFunction) )
    			ALERT( at_error, "No EXPORT: %s:%s (%08lx)\n", STRING(pev->classname), name, (uint32)pFunction );
    	}
    
    	BASEPTR ThinkSet( BASEPTR func, char *name ) 
    	{ 
    		m_pfnThink = func; 
    		FunctionCheck( (void *)*((int *)((char *)this + ( offsetof(CBaseEntity,m_pfnThink)))), name ); 
    		return func;
    	}
    
            // ...
    
    };
    
    // Ugly technique to override base member functions
    // Normally it's illegal to cast a pointer to a member function of a derived class to a pointer to a 
    // member function of a base class.  static_cast is a sleezy way around that problem.
    
    #ifdef _DEBUG
    
    #define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )
    
    // ...
    
    #else
    
    #define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
    
    // ...
    
    #endif

    https://github.com/ValveSoftware/halflife/blob/5d761709a31ce1e71488f2668321de05f791b405/dlls/cbase.h

    > it's illegal
    В крестах всё легально, главное - попросить прощения в комментах...

    bormand, 05 Ноября 2015

    Комментарии (50)
  7. Python / Говнокод #18917

    −11

    1. 1
    array.array(itertools.repeat(0, 1024*1024*1024))

    Toooo sloooow...

    Неужели в питоне нету быстрого способа набить в array пачку ноликов?

    bormand, 26 Октября 2015

    Комментарии (31)
  8. Assembler / Говнокод #18603

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    foobar:
        stmdb sp!, {r4-r11, lr}
        ...
        ldmia sp!, {r4-r11, pc}

    Ассемблер для ARM'а, оказывается, очень даже няшный.

    bormand, 15 Августа 2015

    Комментарии (17)
  9. Куча / Говнокод #18502

    +145

    1. 1
    <img src="%20.png">

    bormand, 21 Июля 2015

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

    +145

    1. 1
    {"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */

    3 вечера ёбли... 20+ собранных ядер во время бисекта и экспериментов...

    А всё из-за пидорасов из acer, которые воткнули в свою прошивку какой-то костыль для windows 8.1, который ломал все свежие ядра линухи (а если не совсем ломал - то не работал тачпад). И из-за пидорасов из других вендоров, которые вынудили линукс прикидываться свежей виндой.

    bormand, 18 Июня 2015

    Комментарии (33)
  11. Куча / Говнокод #18277

    +147

    1. 1
    http://:

    Чем M$ парсит URL'ы, чтобы skype от этого умирал?

    bormand, 03 Июня 2015

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