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

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

    +132

    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
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <time.h>
    char a[150],c[150];
    int main(int argc, char **argv) {	
    	FILE * tmp;
    	while(1) {
    		int b=0,b1=0;
    		bool A=0;
    		tmp=fopen(".tmp.txt","r");
    		fgets(c,150,tmp);
    		fclose(tmp);
    		system("rm .tmp.txt");
    		system("xwininfo -tree -root | grep -i '\\- deadbeef-0.5.1' > .tmp.txt");
    		tmp=fopen(".tmp.txt","r");
    		fgets(a,150,tmp);
    		fclose(tmp);
    		for(int i=16;i<149;i++) {
    
    			c[i-16]=c[i];
    			a[i-16]=a[i];
    			if(a[i-16]=='-')
    				b++;
    			if(c[i-16]=='-')
    				b1++;
    			if(b==2)
    				a[i-16]=0;
    			if(b1==2)
    				c[i-16]=0;
    		}
    		for(int j=0;j<(int)strlen(c);j++) {
    			if (a[j]!=c[j])	A=true;
    		}
    		if (A) {
    			char lamp[]="/usr/bin/purple-remote \"setstatus?status=available&message=";
    			strcat(lamp,a);
    			strcat(lamp,"\"");
    			system(lamp);
    		}
    		sleep(5);
    	}
    	return 0;
    }

    Реализация аналога pidgin-musictracker для deadbeef

    Abbath, 13 Января 2012

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

    +155

    1. 1
    2. 2
    foreach ($period_range as $k=>$v) 
    	{?><option value="<?=$k?>"<?=($k==$period)?' selected':''?>><?=$v?></option><?}

    Накодил как-то...

    zima, 11 Января 2012

    Комментарии (13)
  4. PHP / Говнокод #8881

    +156

    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
    exec(" cd $dir; ls -al|grep '^d';",$file_all);
      	//die(" cd $dir; ls -al|grep '^d';");
      	$filelist_date = array();
      	
      	for($i=0;$i<count($file_all);$i++) {
      		$file_all[$i] = preg_replace('/\s+/','|',$file_all[$i]);
      		
      		$file_all[$i] = explode('|',$file_all[$i],9);
      		if(!empty($file_all[$i][8])) $file_all[$i][8] = str_replace('|',' ',$file_all[$i][8]);
      		
      		//print_r($file_all[$i]); echo "\n\n";
      		if($file_all[$i][8] == '.' || $file_all[$i][8] == '..') continue;
      		
      		$k = strtotime($file_all[$i][5]." ".$file_all[$i][6]." ".$file_all[$i][7]);
      		$filelist_date[$k] = $file_all[$i][8];
      	}
      	krsort($filelist_date);
      	
      	$filelist = array_values($filelist_date);

    этот кусок кода выполняет начитку директорий фото галерей

    kolexander, 04 Января 2012

    Комментарии (13)
  5. ActionScript / Говнокод #8826

    −120

    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
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
    stage.addEventListener(KeyboardEvent.KEY_UP, key_up);
    //left - 37; up - 38; right - 39; down - 40
    
    var up:Boolean = false ;
    var down:Boolean = false;
    var left:Boolean = false;
    var right:Boolean = false;
    
    function key_down (e:KeyboardEvent):void
    {
    trace (e.keyCode);
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = true;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = true;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = true;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = true;
    }
    }
    function key_up (e:KeyboardEvent):void
    {
    trace (e.keyCode)
    if (e.keyCode == 37 || e.keyCode == 65)
    {
      left = false;
    }
    if (e.keyCode == 38 || e.keyCode == 87)
    {
      up = false;
    }
    if (e.keyCode == 39 || e.keyCode == 68)
    {
      right = false;
    }
    if (e.keyCode == 40 || e.keyCode == 83)
    {
      down = false;
    }
    }
    
    addEventListener(Event.ENTER_FRAME, moveHero);
    function moveHero (e:Event):void
    {
    if (left)
    {
      hero.x --;
    }
    if (up)
    {
      hero.y --;
    }
    if (right)
    {
      hero.x ++;
    }
    if (down)
    {
      hero.y ++;
    }
    }
    
    }

    kyzi007, 14 Декабря 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function draw_text() {
    // ***
    // Здесь код, генерирующий изображение для текста капчи
    // $im_text - это его дескриптор
    // Но самое интересное в конце ))
    // ***
    return $im_text;
    imagedestroy($im_text); 
    }

    MODx Evolution 1.0.5, фрагмент кода, отвечающего за генерацию капчи

    shlyapa, 11 Декабря 2011

    Комментарии (13)
  7. Objective C / Говнокод #8769

    −118

    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
    int CurrentPos;
    
    NSInteger cnt = [ListOfFtpFiles count];
    
    CurrentPos = [[[NSUserDefaults standardUserDefaults] objectForKey:@"DownLoadIndex" ] intValue];
    if (CurrentPos==nil)  CurrentPos=0;
    
    if (CurrentPos == 0) 
    {
        //...
        for (int i = 0; i < (int)cnt; i=i+1)
    	//...
    }

    kodovich, 08 Декабря 2011

    Комментарии (13)
  8. ActionScript / Говнокод #8768

    −114

    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
    for(i=0;i<5;i++){
    		if(_root.positions[i] == number){
    // поменяем мувиклипы местами
    			p2=_root.positions[i+1];
    			with(_root){
    			switch(p2){
    				case 2: tx=b._x; ty=b._y; b._x=c._x; b._y=c._y; c._x=tx; c._y=ty; break;
    				case 1: tx=a._x; ty=a._y; a._x=c._x; a._y=c._y; c._x=tx; c._y=ty; break;
    				case 4: tx=d._x; ty=d._y; d._x=c._x; d._y=c._y; c._x=tx; c._y=ty; break;
    				case 5: tx=e._x; ty=e._y; e._x=c._x; e._y=c._y; c._x=tx; c._y=ty; break;
    				case 6: tx=f._x; ty=f._y; f._x=c._x; f._y=c._y; c._x=tx; c._y=ty; break;
    				default: break;
    			}
    			}

    Когда-то давно написал это, чтобы менять местами два прямоугольника, лежащие рядом, по нажатию на кнопку на одном из них. До сих пор горжусь тем, какой же я крутой кодер.

    unfalse, 08 Декабря 2011

    Комментарии (13)
  9. JavaScript / Говнокод #8756

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var numb = '0123456789';
    var lwr = 'abcdefghijklmnopqrstuvwxyz';
    var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
    function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
    }

    http://javascript.about.com/library/blvalid02.htm

    Вырезка из шапки:
    Javascript does not contain functions that test specifically for alphabetic or numeric content but we can easily provide these functions for ourselves...

    denis90, 06 Декабря 2011

    Комментарии (13)
  10. Java / Говнокод #8706

    +86

    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
    61. 61
    62. 62
    63. 63
    public void type(char character) {
        	switch (character) {
        	case 'a': doType(VK_A); break;
        	case 'b': doType(VK_B); break;
        	case 'c': doType(VK_C); break;
        	case 'd': doType(VK_D); break;
        	case 'e': doType(VK_E); break;
        	case 'f': doType(VK_F); break;
        	case 'g': doType(VK_G); break;
        	case 'h': doType(VK_H); break;
        	case 'i': doType(VK_I); break;
        	case 'j': doType(VK_J); break;
        	case 'k': doType(VK_K); break;
        	case 'l': doType(VK_L); break;
        	case 'm': doType(VK_M); break;
        	case 'n': doType(VK_N); break;
        	case 'o': doType(VK_O); break;
        	case 'p': doType(VK_P); break;
        	case 'q': doType(VK_Q); break;
        	case 'r': doType(VK_R); break;
        	case 's': doType(VK_S); break;
        	case 't': doType(VK_T); break;
        	case 'u': doType(VK_U); break;
        	case 'v': doType(VK_V); break;
        	case 'w': doType(VK_W); break;
        	case 'x': doType(VK_X); break;
        	case 'y': doType(VK_Y); break;
        	case 'z': doType(VK_Z); break;
        	case 'A': doType(VK_SHIFT, VK_A); break;
        	case 'B': doType(VK_SHIFT, VK_B); break;
        	case 'C': doType(VK_SHIFT, VK_C); break;
        	case 'D': doType(VK_SHIFT, VK_D); break;
        	case 'E': doType(VK_SHIFT, VK_E); break;
    <...>
        	case '$': doType(VK_DOLLAR); break;
        	case '%': doType(VK_SHIFT, VK_5); break;
        	case '^': doType(VK_CIRCUMFLEX); break;
        	case '&': doType(VK_AMPERSAND); break;
        	case '*': doType(VK_ASTERISK); break;
        	case '(': doType(VK_LEFT_PARENTHESIS); break;
        	case ')': doType(VK_RIGHT_PARENTHESIS); break;
        	case '_': doType(VK_UNDERSCORE); break;
        	case '+': doType(VK_PLUS); break;
        	case '\t': doType(VK_TAB); break;
        	case '\n': doType(VK_ENTER); break;
        	case '[': doType(VK_OPEN_BRACKET); break;
        	case ']': doType(VK_CLOSE_BRACKET); break;
        	case '\\': doType(VK_BACK_SLASH); break;
        	case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
        	case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
        	case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
        	case ';': doType(VK_SEMICOLON); break;
        	case ':': doType(VK_COLON); break;
        	case '\'': doType(VK_QUOTE); break;
        	case '"': doType(VK_QUOTEDBL); break;
        	case ',': doType(VK_COMMA); break;
        	case '<': doType(VK_LESS); break;
        	case '.': doType(VK_PERIOD); break;
        	case '>': doType(VK_GREATER); break;
        	case '/': doType(VK_SLASH); break;
        	case '?': doType(VK_SHIFT, VK_SLASH); break;
        	case ' ': doType(VK_SPACE); break;
        	default:

    http://stackoverflow.com/questions/1248510/convert-string-to-keyevents
    Конвертируем символы в клавиши.
    Боян, да. Но теперь на джаве. Кстати, автор забыл про toLower и toUpper.

    RaZeR, 01 Декабря 2011

    Комментарии (13)
  11. PHP / Говнокод #8675

    +165

    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
    try {
        $newUserId = $users->insert($data);
    } catch (Exception $e) {
        if ($e->getCode() == '23000') {
            $this->customRedirect(
                array(
                    'notice',
                    'User already exists',
                )
            );
            return;
        } else {
            throw new Exception(null, null, $e);
        }
    }

    Быстрая проверка на уникальность.

    grudzinsky, 29 Ноября 2011

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