1. Куча / Говнокод #23443

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

    AnalPerOral, 22 Октября 2017

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

    +2

    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

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

    0

    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

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

    Комментарии (13)
  5. Куча / Говнокод #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)
  6. Куча / Говнокод #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)
  7. 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)
  8. 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

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

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

    +1

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

    ingenuus, 19 Октября 2017

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