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

    Всего: 129

  2. Python / Говнокод #19786

    −47

    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
    NATAL_KEYBOARD = (('1234567890-=',
                       'йцукенгшщзхъ',
                       'фывапролджэээ',
                       'ячсмитьбю.ьб'),
                      ('1234567890-=',
                       'qwertyuiop[]',
                       'asdfghjkl;\'\\',
                       'zxcvbnm,.///'))
    
    def natal_typo(char):
        if not char.isalnum():
            return char
     
        char_lower = char.lower()
        for keyboard in range(len(NATAL_KEYBOARD)):
            for row in range(len(NATAL_KEYBOARD[keyboard])):
                if char_lower in NATAL_KEYBOARD[keyboard][row]:
                    col = NATAL_KEYBOARD[keyboard][row].index(char_lower)
                    if random_bool(0.7):
                        col_new = bounds(0, len(NATAL_KEYBOARD[keyboard][row]) - 1,
                                         col + random.choice([-1, 1]))
                        row_new = row
                    else:
                        col_new = col
                        row_new = bounds(0, len(NATAL_KEYBOARD[keyboard]) - 1,
                                         row + random.choice([-1, 1]))
                    if char.isupper():
                        return NATAL_KEYBOARD[keyboard][row_new][col_new].upper()
                    else:
                        return NATAL_KEYBOARD[keyboard][row_new][col_new]
        return char

    Натализационный ворецианизатор 0.2. Подробности на говнофоруме/viewtopic.php?pid=2372.

    gost, 09 Апреля 2016

    Комментарии (36)
  3. Python / Говнокод #19773

    −48

    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
    def vorec_char(char):
        for i in range(len(vorec_keyboard)):
            if char in vorec_keyboard[i]:
                idx = vorec_keyboard[i].index(char)
                if idx > 0:
                    if idx < len(vorec_keyboard[i]) - 1:
                        if random_bool(0.5):
                            idx -= 1
                        else:
                            idx += 1
                    else:
                        idx -= 1
                else:
                    idx += 1
                    
                y = i
                if y > 0:
                    if y < len(vorec_keyboard) - 1:
                        if random_bool(0.5):
                            y -= 1
                        else:
                            y += 1
                    else:
                        y -= 1
                else:
                    y += 1
                return vorec_keyboard[y][idx]
        return char

    Ворецианизатор текстов: жалкая попытка подражания стилю Мастера Вореций.
    Скачать бесплатно без смс тут http://pastebin.com/EWFTxyC4. По исходнику тоже прошёлся ворецианизатором, да.

    python[4] (мфа:; в ра4пространено русском языке название питбн[5]) — высокоуровневый прог1аммирования назначения2ориентированн4й общего язык на повышение производительностр разработчик и читаемн5ти ядра минималистичен. кода. синтаксис python то в времы же стандартная библио1ек3 большой вкллчает 5ескол0ко объём полезных18ункций.

    python поддерживает 1арадигм программирования чиыле том в структ4р1ое, объектно-бриентированное, чу7кциональное, императи0ное основные и архитектур6ые аспектно-ориенти0оваоное. ч4рты — динамическа памятью,6п9лная управление типизация, обработки автоматическо3 интроспекция исключений, механи9м вычислений поддержка многопоточных удобные и высокоуровневые в данных. код стьуктуры python организовываетс в функции и классы которые объединят2ся в модулр могут (они в очередь объединены свол в быть могут являетыя реализуцией python интерпретатор паке4ы).

    эталон15й поддерживающий cpython используемых больш4оство он п7атфогм[6]. активно распространяетс под счободной лицензией software python позво7яющей license foundation иыпол0зовать его 2 любых приложениях без ограничений включая проприета2ные[7]. есть реализации (с возможностью для jvm msil компиляции) интерпр4таторов (6 возможнн3тью llvm других
    66129т0 21227390 664133 9687736 3858726080 т8237900378 100562 25077

    и предла2а0т pypy компиляции), проект реализацию 25мом python python за2раты измен0ная что6уменьшаео н на я6ык2 и экспериментов0над пос6ановку возможностями.

    gost, 07 Апреля 2016

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

    +8

    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
    template <size_t capacity, bool is_signed>
    class fixed_int
    {	
        // Описание ошибки компиляции в случае использования не поддерживаемой размерности 
        template <int x> struct unsupported_capacity { int i[1/(x-x)]; };
        template <> struct unsupported_capacity<1> {};
        template <> struct unsupported_capacity<2> {};
        template <> struct unsupported_capacity<4> {};
        template <> struct unsupported_capacity<8> {};
    
        // Свойства базовых типов, необходимые для перебора
        template<typename type> struct type_traits;
        template<> struct type_traits <unsigned char> { typedef unsigned char current_type; typedef unsigned short next_type; };
        template<> struct type_traits <unsigned short> { typedef unsigned short current_type; typedef unsigned int next_type; };
        template<> struct type_traits <unsigned int> { typedef unsigned int current_type; typedef unsigned long next_type; };
        template<> struct type_traits <unsigned long> {	typedef unsigned long current_type; typedef unsigned long long next_type; };
        template<> struct type_traits <unsigned long long int> { typedef unsigned long long int current_type;  typedef unsupported_capacity<capacity> next_type; };
        template<> struct type_traits <signed char> { typedef signed char current_type; typedef short next_type; };
        template<> struct type_traits <short> { typedef short current_type; typedef int next_type; };
        template<> struct type_traits <int> { typedef int current_type; typedef long next_type; };
        template<> struct type_traits <long> { typedef long current_type; typedef long long next_type; };
        template<> struct type_traits <long long int> { typedef long long int current_type;  typedef unsupported_capacity<capacity> next_type;};
    
        // Алгоритм выбора типа
        template<typename type, bool> 
        struct type_choice 
        { 
            typedef typename type_traits<type>::current_type std_type; 
        };
        template<typename type> 
        struct type_choice<type, false> 
        { 
            typedef typename type_traits<type>::next_type next_type; 
            typedef typename type_choice<next_type, sizeof(next_type) == capacity>::std_type std_type; 
        };
    
        // Базовый тип для начала подбора
        template <bool is_signed> struct base_type_selector { typedef signed char base_type; };
        template <> struct base_type_selector<false> { typedef unsigned char base_type; };
    
    public:
    
        typedef typename type_choice< typename base_type_selector<is_signed>::base_type, sizeof(base_type_selector<is_signed>::base_type) == capacity >::std_type type;
    
    };

    "Зачем мне нужен stdint.h?
    У меня нет времени, чтобы ебаться с ним!
    Лучше я высру ещё десяток-другой шаблонов!"
    https://habrahabr.ru/post/280542/

    PS,
    Пятая строка - вообще угар.

    gost, 31 Марта 2016

    Комментарии (38)
  5. JavaScript / Говнокод #19692

    +7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    module.exports = leftpad;
    function leftpad (str, len, ch) {
      str = String(str);
      var i = -1;
      if (!ch && ch !== 0) ch = ' ';
      len = len - str.length;
      while (++i < len) {
        str = ch + str;
      }
      return str;
    }

    Мама, мама, я написал Модуль для NodeJS!!!

    gost, 25 Марта 2016

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

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    objNewFile.WriteLine "	if (!table.nodeType) table = document.getElementById(table)"
    objNewFile.WriteLine "	var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}"
    objNewFile.WriteLine "	window.location.href = uri + base64(format(template, ctx))"
    objNewFile.WriteLine "}"
    objNewFile.WriteLine "})()"
    objNewFile.WriteLine "</script>"
    objNewFile.WriteLine "<input type=""button"" onclick=""tableToExcel('table1', 'Export data')"" value=""Export data to Excel"">"
    	
    objNewFile.WriteLine "<table id=""table1"" BORDER=""1"" width=""100%"">" 
    objNewFile.WriteLine "<tr><th width=""2%"">id</th><th>Computer</th><th>AV Name</th><th>AV Status</th><th>AV Bases</th><th>Host Status</th></tr>"
    
    for each comp in comps 
    	compid = compid + 1 
    		
    	Set WshShell = WScript.CreateObject("WScript.Shell")
    	Ping = WshShell.Run("ping -n 1 " & comp, 0, True)
    	Select Case Ping
    	Case 0
    		On Error Resume next 
    		Set oWMI = GetObject("winmgmts:\\" & comp & "\root\SecurityCenter2") 
    		On Error Resume next 
    		Set colAVItems = oWMI.ExecQuery("Select * from AntiVirusProduct") 
    		If colAVItems.count = 0 Then 
    			objNewFile.WriteLine "<tr><th>" & compid & "</th><th>" & comp & "</th><th><font color=""red"">No AntiViruses found</font></th><th><font color=""red"">Disabled</font></th><th><font color=""red"">NOT Up to Date</font></th><th><font color=""green"">Online</font></th></tr>"

    И это висит на главной Волан-де-сайта!

    gost, 12 Марта 2016

    Комментарии (0)
  7. Си / Говнокод #19456

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    while (swingDist > 0)
    { //I would like to do something more clever. But I suppose this works, at least for now.
        baseLevel++;
        swingDist -= toleranceAmt;
    }

    Совсем недавно видел похожий код на ГК - и вот, сам наткнулся на такое.

    gost, 14 Февраля 2016

    Комментарии (12)
  8. PHP / Говнокод #19221

    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
    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
    <?
    //Ограничиваем время выполнения скрипта 3-мя минутами
    set_time_limit(180);
    
    //Подключаемся к MySQL, при неудаче выводим ошибку
    mysql_connect("localhost", "torrent", "password") or die("Could not connect to MySQL");
    
    //Выбираем БД, при неудаче выводим ошибку
    mysql_select_db("torrent") or die("Could not select database");
    
    //Переводим все общение с БД в кодировку utf8
    mysql_query("SET NAMES utf8");
    
    //Открываем файл указанный в url переменной "f"
    $fp = fopen($_GET[f], "r");
    
    //Запускаем цикл до конца строк в файле
    while (!feof($fp)) {
            //Считываем строку (да, функцию trim() выполнять не обязательно, но у каждого программиста свои "тараканы")
            $tmp = trim(fgets($fp));
            
            //Преобразуем строку в массив. За разделитель используем ";"
            $torrent = explode('";"', $tmp);
            
            //В первом и последнем элементе удаляем лишние символы "
            $torrent[0] = substr($torrent[0], 1);
            $torrent[6] = substr($torrent[6], 0, (strlen($torrent[6]) - 1));
            
            //Если раскомментировать следующую строку, то можно увидеть как распарсился первый торрент в файле
            //print '<pre>'; print_r($torrent); exit();
            
            //Вставляем данные текущего торрента в таблицу
            mysql_query("INSERT INTO `torrents` 
                (`name`,
                `hash`,
                `date`,
                `size`,
                `topic_id`,
                `cat_id`,
                `cat_name`) 
              VALUES 
                ('" . mysql_real_escape_string($torrent[4]) . "',
                '" . $torrent[3] . "',
                '" . $torrent[6] . "',
                '" . $torrent[5] . "',
                '" . $torrent[2] . "',
                '" . $torrent[0] . "',
                '" . mysql_real_escape_string($torrent[1]) . "')
            ");
    }
    //Закрываем файл
    fclose($fp);
    
    //Выводим сообщение о завершении работы
    print 'complete: ' . $_GET[f];
    ?>

    Импорт CSV в MySQL. Со швабры.

    gost, 23 Декабря 2015

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

    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
    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
    func handleRequest(conn net.Conn) {
    	// размер данных
    	buf := make([]byte, 4)
    	n, err := conn.Read(buf)
    	if err != nil {
    		fmt.Printf("%v", utils.ErrInfo(err))
    	}
    	size := utils.BinToDec(buf)
    	fmt.Printf("get data size: %v / n: %v\n", size, n)
    	if size < 10485760 {
    		// сами данные
    		binaryData := make([]byte, size)
    		n, err = io.ReadFull(conn, binaryData)
    		fmt.Printf("n: %v\n", n)
    		if err != nil {
    			fmt.Printf("%v", utils.ErrInfo(err))
    		}
    
    		gp3, err := ioutil.TempFile(os.TempDir(), "temp")
    		if err != nil {
    			fmt.Printf("%v", utils.ErrInfo(err))
    		}
    		mp4, err := ioutil.TempFile(os.TempDir(), "temp")
    		if err != nil {
    			fmt.Printf("%v", utils.ErrInfo(err))
    		}
    		err = ioutil.WriteFile(gp3.Name()+".3gp", binaryData, 0644)
    		if err != nil {
    			fmt.Printf("%v", utils.ErrInfo(err))
    		}
    		out, err := exec.Command("/usr/bin/ffmpeg", "-i", gp3.Name()+".3gp", mp4.Name()+".mp4").Output()
    		if err != nil {
    			fmt.Println("/usr/bin/ffmpeg", "-i", gp3.Name()+".3gp", mp4.Name()+".mp4")
    			fmt.Printf("%v\n", utils.ErrInfo(err))
    		}
    		fmt.Printf("out: %v\n", out)
    		
    		data, err := ioutil.ReadFile(mp4.Name()+".mp4")
    		if err != nil {
    			fmt.Println(err)
    		}
    		// в 4-х байтах пишем размер данных, которые пошлем далее
    		size := utils.DecToBin(len(data), 4)
    		n, err = conn.Write(size)
    		if err != nil {
    			fmt.Println(err)
    		}
    	  	fmt.Printf("n: %v\n", n)
    		
    		// далее шлем сами данные
    		n, err = conn.Write(data)
    		if err != nil {
    			fmt.Println(err)
    		}
    	  	fmt.Printf("n: %v\n", n)
    	}
    }

    Со швабры, Go. Мне кажется, или здесь слишком много "if err != nil"?

    gost, 10 Декабря 2015

    Комментарии (79)
  10. Куча / Говнокод #19080

    −1

    1. 1
    2. 2
    "WCT" или "ебанутым нет покоя" - уже на главной Швабра!
    http://habrahabr.ru/post/271519/

    gost, 24 Ноября 2015

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

    −11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def lkm(seed, a, c, m, l, pre=lambda e:e, post=lambda e:e):
        v = [pre(seed)]
        
        for i in range(l - 1):
            v += [pre((a*v[i]+c)%m)]
            
        for i in range(l):
            v[i] = post(v[i])
            
        return v
        
    print (lkm(42, 42, 4242, 424242, 100, post=lambda e:e>>4))

    Линейный конгруэнтный генератор случайных чисел с изменяемыми параметрами от ведущих говнокриптографов!

    gost, 28 Октября 2015

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