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

    +5

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

    j123123, 22 Октября 2017

    Комментарии (2)
  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

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

    +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
    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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    http://www.vlang.ru/
    Описание нового языка программирования V.
    V является скриптовым, компилируемым в коды x86, языком со строгой типизацией и без ссылочной арифметики.
    V адаптирован для работы в CGI режиме с сервером Apache.
    Исходный код хранится в файле с расширением vsc. Компилятор в случае отсутствия ошибок создает файл с расширением v32, а также 2 служебных файла с расширениями vif и vsl.

    http://www.vlang.ru/
    Описание нового языка программирования V.
    V является скриптовым, компилируемым в коды x86, языком со строгой типизацией и без ссылочной арифметики.
    V адаптирован для работы в CGI режиме с сервером Apache.
    Исходный код хранится в файле с расширением vsc. Компилятор в случае отсутствия ошибок создает файл с расширением v32, а также 2 служебных файла с расширениями vif и vsl.

    SemaReal, 22 Октября 2017

    Комментарии (18)
  5. 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

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

    0

    1. 1
    https://turbo.net/docs/getting-started/what-is-turbo#why-use-turbo

    Легкая виртуализаця (как докер) под винду. "Turbo VM is a user-mode microkernel that emulates core kernel subsystems to create isolated, portable container environments".
    У них уже дохуя пакетов и .cmd скрипты вместо Dockerfile.

    кто знал?!

    SemaReal, 21 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    "Век программистов закончился, программисты сейчас не востребованы" заявил Греф
    https://ria.ru/society/20171020/1507247270.html
    
    вы все не нужны, ахахах

    "Век программистов закончился, программисты сейчас не востребованы" заявил Греф
    https://ria.ru/society/20171020/1507247270.html

    вы все не нужны, ахахах

    SemaReal, 21 Октября 2017

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

    +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
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    sub PARSE_MULTIPART {
    	my    ($STREAM,$boundary,$HANDLE,$PROCESS) = @_;
    	open my $DH,'>',do{\(my $null)}; # devnull
    	local $_ = "--\r\n";
    	local $/ = \8192;
    	my ($BR,$BL) = map {qr{^ (.*?) \Q$_\E }sx,length} map {"\r\n--$_"} $boundary;
    	/^/;
    	while ( (length) < length($_.=<$STREAM>) and $PROCESS->($.,${$/}) ){
    			(print $DH
    				m{$BR}
    				       ? $1
    				       : substr($_,0,-$BL,'')
    			)
    			 &&
    				$+[0]
    		 ...
    				m{^
    					    \r\n Content-Disposition       :\ form-data
    					                                   ;\ name     = (?:"([^"]*?)"|(\S+?))
    					(                                  ;\ filename = (?:"([^"]*?)"|(\S+?)) )?
    					(?: \r\n Content-Type              :\            (.+?)                 )?
    					(?: \r\n Content-Transfer-Encoding :\            (.+?)                 )?
    					    \r\n
    					    \r\n
    				}sx
    			 &&
    				($DH = $HANDLE->({
    					      'name'     => length $1 ? $1 : $2      ,
    					$3 ? ('filename' => length $4 ? $4 : $5) : (),
    					$6 ? ('type'     =>             $6     ) : (),
    					$7 ? ('encode'   =>             $7     ) : (),
    				}))
    			 ||
    				m{^--};
    		$+[0] and substr($_,0,$+[0],''),/^/,redo;
    	};
    };

    http://oleg-bunin.livejournal.com/28302.html?thread=369550

    SemaReal, 21 Октября 2017

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

    +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
    #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

    Комментарии (51)
  10. 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

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