1. JavaScript / Говнокод #3503

    +170

    1. 1
    return (this.name == objToCompare.name) ? true : false;

    Из платного учебника по JS. 2350 рублей.

    Ceyce, 17 Июня 2010

    Комментарии (99)
  2. bash / Говнокод #3502

    −138

    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
    #!/bin/sh
    
    net() {
        if ( grep eth0 /proc/net/dev > /dev/null );
        then
    		if (ifconfig eth0|grep -e "inet addr:" > /dev/null);
    		then
    			echo "eth0";
    			ifconfig eth0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
    			ifconfig eth0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
    			echo "::"
    		fi;
        fi;
    
        if ( grep wlan0 /proc/net/dev > /dev/null );
        then
    		if (ifconfig wlan0|grep -e "inet addr:" > /dev/null);
    		then
    			echo "wlan0";
    			ifconfig wlan0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
    			ifconfig wlan0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
    			echo "::"
    		fi;
        fi;
    
        if ( grep usb0 /proc/net/dev > /dev/null );
        then
    		if (ifconfig usb0|grep -e "inet addr:" > /dev/null);
    		then
    			echo "usb0";
    			ifconfig usb0|grep -e "inet addr:" | sed 's/.*r://; s/\ .*//';
    			ifconfig usb0|grep bytes | sed 's/\ //g; s/(/$/; s/.*\$//; s/).*(/ /; s/)//'
    			echo "::"
    		fi;
        fi;
    }
    
    space() {
        df -h|grep -e "/$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
        echo "::"
        df -h|grep -e "/home$" | sed 's/^[a-z0-9/]*\ *[0-9,]*[MG]\ *[0-9,]*[MG]//; s/[0-9]*\%//; s/\ *//g; s/\// \//'
    }
    
    battery() {
        if ( grep -e "discharging" /proc/acpi/battery/BAT0/state > /dev/null || \
    		grep -e "charging$" /proc/acpi/battery/BAT0/state > /dev/null);
        then
    		echo -n "::" $(~/.wmii-3.5/battery.py)
        fi;
    }
    
    echo -n $(net)\
        $(space)\
        "::" "LA" $(uptime | sed 's/.*e://; s/,\ .*//')\
        "::" $(uptime | sed 's/.*up//; s/[0-9]\ users.*//; s/,//g')\
        "::" $(cat /proc/acpi/thermal_zone/TZ00/temperature|sed 's/[a-z]*:\ *//; s/\ /°/')\
        $(battery)\
        "::" $(date "+%F %R:%S")\
        "\n"

    можно сказать, первы серьёзный опыт использования bash(скрипт для нижней панельки wmii). Не покидает ощущение, что ооочень много костылей.

    ilardm, 17 Июня 2010

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

    +167

    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
    /*
      `id` int(10) NOT NULL auto_increment,
      `time_s` timestamp NOT NULL default CURRENT_TIMESTAMP,
      `event` varchar(10) NOT NULL,
      `member` int(4) NOT NULL,
      PRIMARY KEY  (`id`)
    */
    $min = 0;
    $result=mysql_query('select * from `stat_prohod`.`events`');
    while ( $row = mysql_fetch_assoc ( $result ) ) {
    	if ($row ["id"] > $min) {
    		$last = $row;
    		$min = $row ["id"];
    	}
    }

    выборка последней записи.
    табла заполняется
    $query1="INSERT INTO `stat_prohod`.`events` (`event` ,`member` )VALUES ('".$action."', '".$id."');";

    nur, 17 Июня 2010

    Комментарии (3)
  4. Assembler / Говнокод #3500

    +229

    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
    ;uint64_t foo(uint32_t x, uint64_t y) { return x*y; }
    
    sub esp, 0×8
    mov edx, [esp+0x14]
    mov ecx, [esp+0xc]
    mov eax, [esp+0x10]
    mov [esp+0x4], esi
    mov esi, edx
    imul esi, ecx
    mul ecx
    mov [esp], ebx
    mov ebx, [esp]
    add esi, edx
    mov edx, esi
    mov esi, [esp+0x4]
    add esp, 0×8
    ret

    оптимизированое умножение - gcc 4.2.4

    3.14159265, 17 Июня 2010

    Комментарии (44)
  5. PHP / Говнокод #3499

    +152

    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
    private function http_post($url, $post_string) {
            
            // add any additional curl options here
            $options = array(CURLOPT_URL => $url,
                             CURLOPT_POST => true,
                             CURLOPT_POSTFIELDS => $post_string,
                             CURLOPT_USERAGENT => "PubSubHubbub-Publisher-PHP/1.0");
            
            $ch = curl_init();
            curl_setopt_array($ch, $options);
                
            $response = curl_exec($ch);
            $this->last_response = $response;
            $info = curl_getinfo($ch);
        
            curl_close($ch);
            
            // all good
            if ($info['http_code'] == 204) 
                return true;
            
            return false;   
        }

    http_post ):

    wiz, 17 Июня 2010

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

    +137

    1. 1
    2. 2
    var companyStr:String = "adobe";
    trace(companyStr.length); // 10

    Найдено в доке к Flash, после покупки Macromedia поиском и заменой имя сменили, коммент забыли.

    AxisPod, 17 Июня 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <!-- 3 пустых строчки  -->
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <!--  100 пустых строк  -->
    <html> 
    <!--  дальше все что полагается -->

    view-source:http://my.mail.ru/my/visitors

    может и не совсем ГК, но обьясните мне д-ё, зачем там пустые строки - скроллить то все умеют

    Lure Of Chaos, 17 Июня 2010

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

    +136

    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
    #if 0
    
    // memory allocator
    // Type: Best Fit with block sorting
    
    #else
    
    static char* last = (char*)KERNEL_HEAP_BEGIN;
    
    void* alloc( size_t size )
    {
    	void * mem = last;
    	last += size;
    	return mem;
    }
    
    void free( void* mem )
    {
    	(void)mem;
    }
    
    #endif

    Менеджер памяти.
    такую заглушку пришлось делать за пару ночей до сдачи диплома, так как не хватало времени на написание записки.
    зато самый быстрый алокатор. сложность О(1)...
    нужен был для выделения памяти для данных 2 потоков и 1 процесса... функция free нигде не использовалась...

    pushkoff, 17 Июня 2010

    Комментарии (38)
  9. Java / Говнокод #3495

    +76

    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
    public static boolean isPow(BigInteger n){
    				    
    	   boolean zusammengesetzt=false;
    	   BigInteger obereSchranke=n;
    	   BigInteger untereSchranke=BigInteger.ONE;
    	   BigInteger t;	
                   
    	   for(BigInteger i=BigInteger.ONE;(i.compareTo(new BigInteger(new Integer((n.bitLength())).toString())) < 0);i=i.add(BigInteger.ONE)){
    	      while( (obereSchranke.subtract(untereSchranke)).compareTo(BigInteger.ONE) > 0){
    		     t=((obereSchranke.add(untereSchranke)).divide(new BigInteger("2")));
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) == 0){
    		        UserInterface.ausgabeFeld.append("Abbruch Schritt 1: Eingegebene Zahl ist nicht prim, da ");
    			    UserInterface.ausgabeFeld.append("n = "+t+"^"+i.add(BigInteger.ONE)+"\n"+"\n"); 
    				UserInterface.ausgabeFeld.repaint();
    				return zusammengesetzt=true;
    			    } 
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) > 0)
    			    obereSchranke=t;
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) < 0)
    				untereSchranke=t;
    		  }  
           }    
    	   UserInterface.ausgabeFeld.append("Schritt 1: "+n+" ist keine echte Potenz!"+"\n");
    	   UserInterface.ausgabeFeld.repaint();
    	   return zusammengesetzt;  
    	}

    Проверка условия вида "n = a^b".
    Впечатляет условие цикла for и реализация арифметических операций (хотя, может, с BigInteger так и надо).

    WxD, 16 Июня 2010

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

    +157

    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
    TForm1 *Form1;
    //----------------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //- Буква А ---------------------------------------------------------------------
    void __fastcall TForm1::Label1Click(TObject *Sender)
    {
      Image1->Picture->LoadFromFile("PICTURE/1.bmp");
     PlaySound("SOUND/1.wav",0,SND_ASYNC);
    }
    //--Буква Б-----------------------------------------------------------------------
    void __fastcall TForm1::Label2Click(TObject *Sender)
    {
      Image1->Picture->LoadFromFile("PICTURE/2.bmp");
     PlaySound("SOUND/2.wav",0,SND_ASYNC);
    }
    //--Буква В-------------------------------------------------------------------------
    void __fastcall TForm1::Label3Click(TObject *Sender)
    {
     Image1->Picture->LoadFromFile("PICTURE/3.bmp");
     PlaySound("SOUND/3.wav",0,SND_ASYNC);
    }
    ....
    
    и т.д.
    
    
    //--Буква Я-------------------------------------------------------------------------
    void __fastcall TForm1::Label33Click(TObject *Sender)
    {
     Image1->Picture->LoadFromFile("PICTURE/33.bmp");
     PlaySound("SOUND/33.wav",0,SND_ASYNC);
    }
    //---------------------------------------------------------------------------

    Пример из обучающей статьи по с++, где от а до я выресовываются буквы.

    pyshpysh, 16 Июня 2010

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