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

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Для кульминации ебаных тендеций ебаных информационных технологий,
    предлагаю выпустить новые процессоры интел со встроенным джаваскриптом.
    Никакого больше ассемблера, никаких ядер, драйверов, ничего не нужно, на
    каждом процессоре будет встроенный хардварный веб-сервер с нодежс,
    общение с видеокартой, памятью, периферией будет только с помощью
    API-вызовов, теперь каждый альтернативно интеллектуальный 
    жаваскрипт-разработчик сможет почувствовать себя системным программистом

    j123123, 22 Октября 2017

    Комментарии (64)
  2. Куча / Говнокод #23443

    +3

    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
    https://vc.ru/5822-code-leaks
    
    Представитель "Rambler" втирает, что сотрудники при приёме на работу подписывают договор о неразглашении.
    Между тем, часть исходного кода одного из сервисов "Rambler" - 
    
    https://class.rambler.ru/
    
     - успешно проёбана одним из разработчиков:
    
    https://github.com/Serdji/rm_class_edu
    
    Для каких-то внутренних тестеров приложена подробнейшая инструкция по установке.
    Причём, судя по многим ссылкам, недоступным извне, публикация кода для всех желающих совершенно не предполагалась.

    AnalPerOral, 22 Октября 2017

    Комментарии (24)
  3. C++ / Говнокод #23442

    +5

    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
    // 600+ lines skipped
    
    int main() {
      window["console"] = console;
      window["Math"] = Math;
      Math["sin"] = Math.sin;
      Math["cos"] = Math.cos;
      Math["PI"] = Math.PI;
     
      // EXAMPLE:
     
      var x = 3;
      var y = x + null;
      var z = "hello, " + y;
      var n = NaN << NaN;
      var f = Function();
     
      console.log("x = " + x + " y = " + y + " z = " + z);
      console.log("x =", x,"y =", y, "z =", z);
      console.log(String("222") + true);
      console.log(String("222") + 3);
      console.log(Number("222") + 3);
      console.log(NaN << NaN, !NaN);
      console.log(undefined + 1);
      console.log(f("hello, ", "world"));
      console.log("sin(pi/4) = ", Math.sin(Math["PI"] / 4));
      console.log("sin(pi/4) = ", window["Math"]["sin"](Math["PI"] / 4));
    }

    Я поехал вслед за gost'ом (см. http://govnokod.ru/23440)
    Читать далее: https://ideone.com/mLM4yN

    Рахитектура:

                  <|- Number
    <|- String
    <|- Boolean
    <|- Function
    Object = var <|- Console <- +
    | |
    | <|- Window - - + ref
    | |ref
    | v
    | <|- Math - - - - -
    | |
    | |
    | |
    | ptr | value
    | |
    | <|- ObjectBody |
    | <|- NumberBody |
    v <|- StringBody |
    BaseBody <|- BoolBody |
    <|- NullBody |
    <|- UndefinedBody |
    v
    <|- FunctionBody <|- SinBody
    <|- CosBody


    Object null, undefined, NaN, Infinity;
    Math Math;
    Window window;
    Console console;

    1024--, 22 Октября 2017

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

    +5

    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
    #include <iostream>
    #include <type_traits>
    #include <list>
    #include <vector>
    
    using std::cout;
    using std::endl;
    using function = int;
    
    struct Console {
    private:
        template<typename SS, typename TT>
        static auto test(int)
            -> decltype(std::declval<SS&>() << std::declval<TT>(), std::true_type());
        template<typename, typename>
        static auto test(...) -> std::false_type;
        template<typename T>
        static const bool canCout = decltype(test<decltype(cout), T>(0))::value;
    public:
        template<typename T>
        typename std::enable_if<std::is_same<decltype(std::declval<T>().begin()),
            decltype(std::declval<T>().end())>::value && !canCout<T>>::type
        log(T arg) {
            log('[');
            for (typename T::const_iterator it = arg.begin(); it != arg.end(); ++it) {
                auto nextIt = it;
                ++nextIt;
                if (nextIt != arg.end()) {
                    log(*it);
                    log(", ");
                } else {
                    log(*it);
                    log(']');
                }
            }
        }
        template<typename T>
        typename std::enable_if<canCout<T>>::type
            log(T arg) {
            cout << arg;
        }
        template<typename H, typename ... T>
        void log(H arg, T... rest) {
            log(arg);
            log(' ');
            log(rest...);
        }
    };
    static Console console;
    
    function main()
    {
        console.log(std::vector<int>({ 1, 2, 3 }), "Hello World!", 100.1, "\n");
        console.log(std::string("std::string"), std::list<std::string>({ "one", "two", "three" }), '\n');
    
        return 0;
    }

    Javascript++.
    https://ideone.com/NykL0u

    gost, 21 Октября 2017

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

    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
    #include<iostream>
    
    void suka( void(*callback)( void(*)( void(*)() ) ) ) {
        std::cout << "Suka, ";
        callback( suka );
    } 
    
    void blyad( void(*callback)( void(*)( void(*)() ) ) ) {
        std::cout << "Blyad !!!" << std::endl;
        callback( blyad );
    } 
    
    int main() {
        suka( blyad );
        return 0;
    }

    ...

    OlegUP, 20 Октября 2017

    Комментарии (98)
  6. Python / Говнокод #23435

    +1

    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
    from lxml import html
    import urllib
    import time
    import os
    
    last = ""
    img_path = "/tmp/avatar.png"
    
    while True:
    	try:
    		tree = html.parse(urllib.urlopen("http://govnokod.ru/comments"))
    
    		date = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/a')[0].get('name')
    		if date != last:
    			last = date
    
    			image = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/img')[0].get('src')
    			name = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/strong/a')[0].text_content()
    			comment = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/div')[0].text_content()
    			avatar = urllib.urlretrieve(image, img_path)
    			os.system('notify-send -i {} \'{}\' \'{}\''.format(img_path, name, comment.encode('utf-8')))
    
    		time.sleep(10)
    		
    	except Exception:
    		time.sleep(10)

    vistefan, 19 Октября 2017

    Комментарии (61)
  7. JavaScript / Говнокод #23434

    +2

    1. 1
    return $('#edit-btn').parent().parent().children().first().html().split('<')[0];

    ingenuus, 19 Октября 2017

    Комментарии (3)
  8. JavaScript / Говнокод #23433

    +3

    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
    // http://sobchakprotivvseh.ru/static/js/main_gd.js?v3
    mainSite.mt_rand = function (min, max) { // eslint-disable-line camelcase
      //  discuss at: http://locutus.io/php/mt_rand/
      // original by: Onno Marsman (https://twitter.com/onnomarsman)
      // improved by: Brett Zamir (http://brett-zamir.me)
      //    input by: Kongo
      //   example 1: mt_rand(1, 1)
      //   returns 1: 1
      var argc = arguments.length
      if (argc === 0) {
    	min = 0
    	max = 2147483647
      } else if (argc === 1) {
    	throw new Error('Warning: mt_rand() expects exactly 2 parameters, 1 given')
      } else {
    	min = parseInt(min, 10)
    	max = parseInt(max, 10)
      }
      return Math.floor(Math.random() * (max - min + 1)) + min
    };
    
    /* копипейст минифицированного sprintf.js */

    Вчера самизнаетекто сделала [роскомнадзор], о чем вы и так прекрасно знаете
    О чем вы может быть не знаете, так это то что делавшие сайт студенты помимо слива всей тусовки заливкой данных на сайты других участников тусовочки и использованием общих идентификаторов аналитики еще и не смогли осилить жабаскрипт, поэтому они копипастят порт PHP в JS из ближайшего интернета

    Fike, 19 Октября 2017

    Комментарии (25)
  9. C++ / Говнокод #23432

    +3

    1. 1
    https://pbs.twimg.com/media/DMbz4s9UEAACa5x.jpg

    how to deprecate an interface

    j123123, 19 Октября 2017

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

    −2

    1. 1
    2. 2
    Возврат;	
    КонецПроцедуры

    Процедуры!!!

    qwertyk, 18 Октября 2017

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