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

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

    0

    1. 1
    Дикого бомбежа пост

    Дикой боли стоила мне попытка собрать PHP 5.3 под Ubuntu 16.04 LTS. Клонирую репозиторий, делаю checkout на PHP 5.3, пытаюсь собрать по инструкции и тут БАЦ. autoconf и automake слишком новые. Благо были более старые версии, ставлю их через apt. И тут снова БАЦ. bison слишком новый. Пришлось скачивать исходники, компилировать их и потом уже ставить. И тут самое страшное: запустить PHP 5.3 под LAMP почти нереально. Меня всё это задолбало, сношу всё к чертям. И виноват отнюдь не PHP. Виноваты сами Томпсон, Ритчи, Линус и прочие петросяны всея вселенной *nix. Именно благодаря ним есть необходимость ставить по пять автоконфов, но не возможности.

    dm_fomenok, 06 Марта 2018

    Комментарии (101)
  3. Куча / Говнокод #23642

    0

    1. 1
    Давайте обсудим meltdown и spectre.

    Объясните мне кто-нибудь, в чем принципиальное отличие spectre от meltdown? И как оно позволяет читать память других процессов? Все что я пока понял - это чтение памяти ядра, которое уже все прикрыли, и проблемы с жс в браузере.

    FrauSchweinhund, 06 Января 2018

    Комментарии (101)
  4. VisualBasic / Говнокод #23481

    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
    Const strMask="258258258258258258"
    mNumber = Clng(Left(mParam1,2))*100000+Clng(Right(mParam1,5))*10+Clng(mParam2)
    mResStr = Right("000000000"+Cstr(mNumber),9)
    For c=1 To 9
    	mRes1 = Cint(Mid(mResStr, c, 1))
    	mRes2 = Int(Rnd()*10)
    	strPreResult=Cstr(mRes1)+Cstr(mRes2)
    	mCheckSum = mCheckSum+mRes1*Cint(Mid(strMask, (c-1)*2+1, 1))
    	mCheckSum = mCheckSum+mRes2*Cint(Mid(strMask, (c)*2, 1))
    	Print strPreResult, mCheckSum
    	strResult=strResult+strPreResult
    Next c
    strResult = Left(strResult,9)+Right("00"+Cstr((mCheckSum Mod 95)Mod 100),2)+Right(strResult,8)

    Генератор случайных чисел.
    Почему везде такой не используется?

    lsd, 03 Ноября 2017

    Комментарии (101)
  5. C# / Говнокод #18672

    +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
    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
    public static string Get(this HttpWebRequest req)
            {
                string res;
                string ErrorCode="";
    
                try
                {
                    ErrorCode = "100";
                    Thread.Sleep(1000);
                    HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                    Thread.Sleep(1000);
                    ErrorCode = "101";
                    Stream dataStream = response.GetResponseStream();
                    ErrorCode = "102";
                    StreamReader sr = new StreamReader(dataStream, Encoding.UTF8);
                    ErrorCode = "103";
                    res = sr.ReadToEnd();
                    ErrorCode = "104";
                }
                catch
                {
                    try
                    {
                        ErrorCode = "105";
                        Thread.Sleep(1000);
                        HttpWebResponse response = (HttpWebResponse) req.GetResponse();
                        Thread.Sleep(1000);
                        ErrorCode = "106";
                        Stream dataStream = response.GetResponseStream();
                        ErrorCode = "107";
                        StreamReader sr = new StreamReader(dataStream, Encoding.UTF8);
                        ErrorCode = "108";
                        res = sr.ReadToEnd();
                        ErrorCode = "109";
                    }
                    catch
                    {
                        try
                        {
                            ErrorCode = "110";
                            Thread.Sleep(1000);
                            HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                            Thread.Sleep(1000);
                            ErrorCode = "111";
                            Stream dataStream = response.GetResponseStream();
                            ErrorCode = "112";
                            StreamReader sr = new StreamReader(dataStream, Encoding.UTF8);
                            ErrorCode = "113";
                            res = sr.ReadToEnd();
                            ErrorCode = "114";
                        }
                        catch
                        {
                            res = "Error doing get to " + req.RequestUri.AbsoluteUri + " ErrorCode: " + ErrorCode;
                        }
                    }
                }
    
                return res;
            }

    Нашел в проекте код до 2010 год, автор неизвестен :(

    kiberg, 04 Сентября 2015

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

    +153

    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
    // строка 139
    $parts = explode('@',self::$callbacks[$pos]);
    $file = strtolower('app/controllers/'.$parts[0].'.php'); 
    
    //try to load and instantiate model     
    if(file_exists($file)){
        require $file;
    }
    
    //grab all parts based on a / separator 
    $parts = explode('/',self::$callbacks[$pos]); 
    
    //collect the last index of the array
    $last = end($parts);
    
    //grab the controller name and method call
    $segments = explode('@',$last); 
    
    //instanitate controller
    $controller = new $segments[0]();
    
    $params = count($matched);
    
    //call method and pass any extra parameters to the method
    switch ($params) {
        case '0':
            $controller->$segments[1]();
            break;
        case '1':
            $controller->$segments[1]($matched[0]);
            break;
        case '2':
            $controller->$segments[1]($matched[0],$matched[1]);
            break;
        case '3':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2]);
            break;
        case '4':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3]);
            break;
        case '5':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4]);
            break;
        case '6':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5]);
            break;
        case '7':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6]);
            break;
        case '8':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7]);
            break;
        case '9':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8]);
            break;
        case '10':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8],$matched[9]);
            break;
    }
    // ...

    Вот так SimpleMVCFramework передает аргументы контролеру *facepalm*

    volter9, 03 Июля 2014

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

    +124

    1. 1
    https://docs.google.com/forms/d/1mhNCSYPqeLT7pXJEV_BpRkV1sdKJsPdJZcagSafOLVc/viewform

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

    scriptin, 10 Марта 2013

    Комментарии (101)
  8. C++ / Говнокод #8405

    +991

    1. 1
    unsigned long long int value=Bin<unsigned long long int>("1111111111111111111111111111111111111111111111111111111111111111");

    AnimeGovno-_-, 02 Ноября 2011

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

    −415

    1. 1
    pygame.mouse.set_cursor((16, 19), (0, 0), (128, 0, 192, 0, 160, 0, 144, 0, 136, 0, 132, 0, 130, 0, 129, 0, 128, 128, 128, 64, 128, 32, 128, 16, 129, 240, 137, 0, 148, 128, 164, 128, 194, 64, 2, 64, 1, 128), (128, 0, 192, 0, 224, 0, 240, 0, 248, 0, 252, 0, 254, 0, 255, 0, 255, 128, 255, 192, 255, 224, 255, 240, 255, 240, 255, 0, 247, 128, 231, 128, 195, 192, 3, 192, 1, 128))#костыль))

    Разгребал сорцы одной совей древней программки, нашел это.
    ЗЫ: комент таким и был

    TheHamstertamer, 08 Августа 2011

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

    +120

    1. 1
    SleepMsec( 3600 * 1024 );

    Это вынесло мне моск

    stillwaiting, 06 Декабря 2010

    Комментарии (101)
  11. JavaScript / Говнокод #3259

    +164

    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
    o.style.cursor="wait";
    			document.body.style.cursor="wait";
    			switch(iCellSelected)
    			{
    				case 2:
    					//задержка .1с
    					AnyPage("1_2");
    					break;
    				case 4:
    					//задержка .1с
    					AnyPage("1_3");
    					break;
    				case 6:
    					//задержка .1с
    					AnyPage("1_4");
    					break;
    				case 8:
    					//задержка .1с
    					AnyPage("1_5");
    					break;
    				case 10:
    					//задержка .1с
    					AnyPage("1_6");
    					break;
    				case 12:
    					//задержка .1с
    					AnyPage("1_7");
    					break;
    			} //end switch(iCellSelected)

    Это сайт максима прохорова. Посмотревших ждёт батхэт.
    http://ee324704-1.hosting.parking.ru/

    ursus, 18 Мая 2010

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