1. 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

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

    +2

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

    ingenuus, 19 Октября 2017

    Комментарии (3)
  3. 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)
  4. C++ / Говнокод #23432

    +3

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

    how to deprecate an interface

    j123123, 19 Октября 2017

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

    −1

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

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

    qwertyk, 18 Октября 2017

    Комментарии (3)
  6. 1C / Говнокод #23430

    +2

    1. 1
    2. 2
    3. 3
    Остатки.Очистить();
    ДокиОстатков = Остатки.Скопировать();
    ДокиОстатков.Свернуть("НомерВС");

    середина функции, никаких если, и прочих ветвлений, условий исключений...

    qwertyk, 18 Октября 2017

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

    +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
    List<Address> addresses = loadFromDatabase();
    
    Map<Integer, Address> sortMap = new HashMap<>();
    for (Address address : addresses) {
        if (address.getLatitude() != null && address.getLongitude() != null) {
            sortMap.put(new Coords(address.getLatitude(), address.getLongitude()).hashCode(), address);
        }
    }
    addresses = new ArrayList<>(sortMap.values());
    
    ...
    class Coords {
        ...
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + latitude.hashCode();
            result = prime * result + longitude.hashCode();
            return result;
        }
    }

    Автор так решил рандомизировать список что-ли? Не понимаю.

    moonson, 18 Октября 2017

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

    0

    1. 1
    https://pastebin.com/pk5bB1Y4

    Я вам покушать принес. Задача кратко и четко объяснить человеку, почему лучше обмазаться дотнетом чем винапи. Пока решил написать группе что следующий факультатив (на котором я должен разбирать их портянки) отменяется, а там что-нибудь придумаю. Две крайности - (new EchoServer).start() и вот это, что ты будешь делать.

    Fluttie, 18 Октября 2017

    Комментарии (43)
  9. 1C / Говнокод #23427

    +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
    Для каждого стр из Объект.УчётВремени цикл
    			НРВ = 0;
    			Если 
    				НачалоДня(стр.ДатаНачала) <> НачалоДня(стр.ДатаОкончания) 
    			Тогда
    				НРВ = НРВ + (стр.ДатаОкончания - Стр.ДатаНачала) /60 /60
    			ИначеЕсли //Начало и окончание задачи до начала рабочего дня
    				(Час(стр.ДатаНачала) < 10 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) <=30)) и 
    				(Час(стр.ДатаОкончания) < 10 или ( Час(стр.ДатаОкончания) = 10 и Минута(стр.ДатаОкончания) <=30))
    			Тогда
    				НРВ = НРВ +  ((стр.ДатаОкончания - стр.ДатаНачала) /60 /60)
    			ИначеЕсли //Начало задачи до начала рабочего дня, окончание во время рабочего дня
    				(Час(стр.ДатаНачала) < 10 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) <=30)) и 
    				(Час(стр.ДатаОкончания) < 19 и (Час(стр.ДатаОкончания) > 11 или ( Час(стр.ДатаОкончания) = 10 и Минута(стр.ДатаОкончания) > 30)))
    			Тогда
    				НРВ = НРВ +  ((НачалоДня(стр.ДатаОкончания) + ((10*60)*60) + 1800 - стр.ДатаНачала) /60 /60)
    			ИначеЕсли   //Начало задачи в рабочее время и окончание задачи в нерабочее время
    				(Час(стр.ДатаНачала) < 19 и (Час(стр.ДатаНачала) > 11 или ( Час(стр.ДатаНачала) = 10 и Минута(стр.ДатаНачала) > 30))) и
    				Час(Стр.ДатаОкончания) >= 19
    			Тогда
    				НРВ = НРВ +  (стр.ДатаНачала - (НачалоДня(стр.ДатаОкончания) + ((19*60)*60))) /60 /60
    			ИначеЕсли
    				Час(стр.ДатаНачала) >= 19 и Час(стр.ДатаОкончания) >= 19  
    			Тогда
    				НРВ = (стр.ДатаОкончания - Стр.ДатаНачала) /60 /60
    				
    			КонецЕсли;
    			стр.НРВ = НРВ;	
    				
    			Время = (стр.ДатаОкончания - стр.ДатаНачала) /60 /60;
    			РВ = Время - НРВ;
    			стр.РВ = РВ;
    			стр.Время = Время;
    			
    			
    		КонецЦикла;

    Вроде работает

    spaceashot, 18 Октября 2017

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

    +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
    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
    // https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L1966
    
    int init_all (kfs_file_handle_t Index) {
      int i;
    
      log_ts_exact_interval = 1;
    
      ltbl_init (&user_table);
    
      bl_head = qmalloc (sizeof (black_list));
      black_list_init (bl_head);
    
      int f = load_header (Index);
    
      jump_log_ts = header.log_timestamp;
      jump_log_pos = header.log_pos1;
      jump_log_crc32 = header.log_pos1_crc32;
    
      int user_cnt = index_users = header.user_cnt;
    
      if (user_cnt < 1000000) {
        user_cnt = 1000000;
      }
    
      assert (user_cnt >= 1000000);
      user_cnt *= 1.1;
    
      while (user_cnt % 2 == 0 || user_cnt % 5 == 0) {
        user_cnt++;
      }
    
      ltbl_set_size (&user_table, user_cnt);
      users = qmalloc (sizeof (user) * user_cnt);
    
      for (i = 0; i < user_cnt; i++) {
        user_init (&users[i]);
      }
    
      LRU_head = users;
      LRU_head->next_used = LRU_head->prev_used = LRU_head;
    
      if (f) {
        try_init_local_uid();
      }
    
      if (index_mode) {
        buff = qmalloc (max_words * sizeof (entry_t));
        new_buff = qmalloc (4000000 * sizeof (entry_t));
      }
    
      return f;
    }

    http://govnokod.ru/23357#comment390273
    > Говорят что в ВК в начале была такая херь: "уже зарегистрировано N" и это N увеличивалось джаваскриптом со случайной скоростью вообще без связи с сервером

    Если я правильно понял, вконтакт продолжает пиздеть по поводу фактического количества зареганых на нем пользовалелей, но теперь делает это на бэкенде

    user_cnt *= 1.1;

    cunt

    j123123, 17 Октября 2017

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