1. Лучший говнокод

    В номинации:
    За время:
  2. Си / Говнокод #23572

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <linux/fb.h>
    #include <stropts.h>
    #include <sys/mman.h>
    #include <unistd.h>
    
    typedef unsigned char     uint8_t;
    typedef unsigned short    uint16_t;
    typedef unsigned int      uint32_t;
    typedef unsigned long int uint64_t;
    
    inline uint32_t pixel_color(uint8_t r, uint8_t g, uint8_t b, struct fb_var_screeninfo *vinfo)
    {
    	return (r<<vinfo->red.offset) | (g<<vinfo->green.offset) | (b<<vinfo->blue.offset);
    }
    
    int main()
    {
    	int fb_fd = open("/dev/fb0", O_RDWR);
    	if(fb_fd == -1) {
    		perror("open");
    		return 1;
    	}
    	struct fb_fix_screeninfo finfo;
    	struct fb_var_screeninfo vinfo;
    	//Get variable screen information
    	if(ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	//Get fixed screen information
    	if(ioctl(fb_fd, FBIOGET_FSCREENINFO, &finfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    
    	vinfo.grayscale=0;
    	vinfo.bits_per_pixel=32;
    	if(ioctl(fb_fd, FBIOPUT_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	if(ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
    		perror("ioctl");
    		return 1;
    	}
    	if(vinfo.grayscale != 0) {
    		printf("Error set grayscale!\n");
    		return 1;
    	}
    	if(vinfo.bits_per_pixel != 32) {
    		printf("Error set bits_per_pixel!\n");
    		return 1;
    	}
    	long screensize = vinfo.yres_virtual * finfo.line_length;
    	uint8_t *fbp = mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, (off_t)0);
    	if(fbp == MAP_FAILED) {
    		perror("mmap");
    		return 1;
    	}
    	uint32_t pixel = pixel_color(46, 255, 46, &vinfo);
    	//Убедитесь, что вы правильно установили x, y и пиксель
    
    	long line = 0;
    	while(1)
    	{
    		if(line > vinfo.xres) break;
    		long location;
    		for (long x = 0; x < line; x++)
    			for (long y=0; y<vinfo.yres; y++)
    			{
    				location = (x+vinfo.xoffset) * (vinfo.bits_per_pixel/8) + (y+vinfo.yoffset) * finfo.line_length;
    				*((uint32_t*)(fbp + location)) = pixel;
    			}
    		line++;
    		usleep(100000);
    	}
    
    	return 0;
    }

    угадайте до запуска по какой оси прога будет рисовать и понос пролетит мимо вас!

    fuckercoder, 09 Декабря 2017

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

    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
    // Определим тип возвращаемого результата
    	РезультатМассив    = ?(ВРег(ТипРезультата)="МАССИВ",Истина,Ложь);
    	РезультатСписок    = ?(ВРег(ТипРезультата)="СПИСОКЗНАЧЕНИЙ",Истина,Ложь);
    	РезультатСтруктура = НЕ РезультатМассив И НЕ РезультатСписок;
    	
    	Если РезультатСтруктура Тогда
    		Измерения = Новый Структура;
    	КонецЕсли; 
    	Если РезультатМассив Тогда
    		Измерения = Новый Массив;
    	КонецЕсли; 
    	Если РезультатСписок Тогда
    		Измерения = Новый СписокЗначений;
    	КонецЕсли;  
    	
    	Если МассивИсключений = Неопределено Тогда
    	
    		МассивИсключений = Новый Массив;
    	
    	КонецЕсли;

    А еще вот так можно проверить тип значения

    Migelek, 07 Декабря 2017

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

    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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    НадоОтправить = Ложь;
    НадоПолучить = Ложь;
    				
    Если Режим = РежимPOP3SMTP или Режим = РежимPOP3SMTPСсылка Тогда
    					
    	Если Параметры.Свойство("АдресPOP3") и ЗначениеЗаполнено(Параметры.АдресPOP3) Тогда
    						
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("АдресSMTP") и ЗначениеЗаполнено(Параметры.АдресSMTP) Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимIMAP или Режим = РежимIMAPСсылка Тогда
    					
    	Если Параметры.Свойство("АдресIMAP") и ЗначениеЗаполнено(Параметры.АдресIMAP) Тогда
    						
    		НадоПолучить = Истина;
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимIMAPSMTP или Режим = РежимIMAPSMTPСсылка  Тогда
    					
    	Если Параметры.Свойство("АдресIMAP") и ЗначениеЗаполнено(Параметры.АдресIMAP) Тогда
    						
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("АдресSMTP") и  ЗначениеЗаполнено(Параметры.АдресSMTP) Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    ИначеЕсли Режим = РежимВнешнийПочтовыйКлиент или Режим = РежимВнешнийПочтовыйКлиентСсылка  Тогда
    					
    	Если Параметры.Свойство("ИспользоватьOutlook") и Параметры.ИспользоватьOutlook = Истина  Тогда
    						
    		НадоОтправить = Истина;
    		НадоПолучить = Истина;
    						
    	КонецЕсли;
    					
    	Если Параметры.Свойство("ИспользоватьLotusNotes") и Параметры.ИспользоватьLotusNotes = Истина Тогда
    						
    		НадоОтправить = Истина;
    						
    	КонецЕсли;
    					
    КонецЕсли;
    				
    Если Параметры.Свойство("Отправка") Тогда
    					
    	ЗначениеСравнения = ЗначениеИзСтрокиВнутр(Параметры.Отправка);
    					
    	Если ЗначениеСравнения = Истина Тогда
    						
    		НадоОтправить = Истина;
    						
    	Иначе
    						
    		НадоОтправить = Ложь;
    						
    	КонецЕсли;
    					
    КонецЕсли;
    				
    Если Параметры.Свойство("Получение") Тогда
    					
    	ЗначениеСравнения = ЗначениеИзСтрокиВнутр(Параметры.Получение);
    					
    	Если  ЗначениеСравнения = Истина  Тогда
    						
    		НадоПолучить = Истина;
    						
    	Иначе
    						
    		НадоПолучить = Ложь;
    						
    	КонецЕсли;
    					
    КонецЕсли;

    Когда тебе платят за количество строк.
    Обработка загрузка почтовых сообщений. Итилиум, редакция 4.5

    RickyBelli, 06 Декабря 2017

    Комментарии (3)
  5. bash / Говнокод #23474

    +1

    1. 1
    Кегдан вернулся, давайте радоваться вместе!

    d_fomenok, 01 Ноября 2017

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

    +2

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

    ingenuus, 19 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    class Foo implements JsonSerializable {
      public function jsonSerialize() {
        return new self;
      }
    }
    
    # Segfault!
    var_dump(json_encode(new Foo));

    https://habrahabr.ru/company/mailru/blog/340242/
    😆

    inho, 17 Октября 2017

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

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    	int ch;
    	while( (ch=getchar()) != EOF ) {
    		ch+=77;
    		putchar(ch);
    	}
    	return 0;
    }

    вот и зашифровка

    KoderOT-Boga, 17 Октября 2017

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

    +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
    if ((region.indexOf('Москва') != -1 && (city.indexOf('Троицк') != -1 || city.indexOf('Зеленоград') != -1 || city.indexOf('Щербинка') != -1)) || (region.indexOf('Санкт-Петербург') != -1 && (city.indexOf('Зеленогорск') != -1 || city.indexOf('Колпино') != -1 || city.indexOf('Пушкин') != -1 || city.indexOf('Сестрорецк') != -1 || city.indexOf('Ломоносов') != -1 || city.indexOf('Павловск') != -1 || city.indexOf('Красное Село') != -1 || city.indexOf('Петергоф') != -1 || city.indexOf('Кронштадт') != -1))) {
        addressComponents.add({
            addressComponents.add({
                prefix: "",
                value: region
            });
        });
    } else if (region.indexOf('Москва') == -1 && region.indexOf('Санкт-Петербург') == -1 && region.indexOf('Севастополь') == -1 && region.indexOf('Байконур') == -1) {} else if (region.indexOf('Москва') == -1 && region.indexOf('Санкт-Петербург') == -1 && region.indexOf('Севастополь') == -1 && region.indexOf('Байконур') == -1) {
        addressComponents.add({
            addressComponents.add({
                prefix: "",
                value: region
            });
        });
    }

    GaryFreeman, 10 Октября 2017

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

    +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
    &НаКлиенте
    Процедура ИзменитьПометкуУдаления(Команда)
    	...
    	Если ПУ(ссылкаНаОтчет) = Истина 
    	Тогда
    		текстВопроса = "Снять с """ + ссылкаНаОтчет + """ пометку на удаление?";
    	Иначе 
    		текстВопроса = "Пометить """ + ссылкаНаОтчет + """ на удаление?";
    	КонецЕсли;
    	Если Вопрос(текстВопроса, РежимДиалогаВопрос.ДаНет, 0) = КодВозвратаДиалога.Да
    	Тогда
    		СПУ( ссылкаНаОтчет, Не(ПУ(ссылкаНаОтчет)));                                      	
    	КонецЕсли; 
    	ОбновитьСписок();
    КонецПроцедуры
    
    &НаСервере
    Функция ПУ(ссылка)
    	Возврат ссылка.ПометкаУдаления;
    КонецФункции
    
    &НаСервере
    Процедура СПУ(ссылка, значение)
    	о = Документы.РегламентированныйОтчет.Выбрать();
    	Пока о.Следующий() Цикл 	
    		если о.Ссылка = ссылка тогда
    			оо = о.ПолучитьОбъект();
    			оо.ПометкаУдаления = значение;
    			оо.Записать();
    		КонецЕсли;	
    	КонецЦикла;
    КонецПроцедуры

    Установка пометки на удаление во внешней обработке от одного интегратора. Дважды происходит получение признака пометки удаления из ссылки. Код процедуры СПУ даже комментировать трудно.

    maalssy, 05 Октября 2017

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

    +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
    Линейное программирование, очевидно, специфицирует детерминант, откуда следует
    доказываемое равенство. Поэтому доказательство притягивает интеграл от функции
    комплексной переменной, таким образом сбылась мечта идиота — утверждение полностью
    доказано. В общем, умножение двух векторов (скалярное) непредсказуемо. Теорема
    Гаусса — Остроградского, как следует из вышесказанного, стремительно программирует
    математический анализ. Поле направлений, исключая очевидный случай, ускоряет
    интеграл по бесконечной области.
    
    Начало координат, очевидно, синхронизирует невероятный интеграл Гамильтона.
    Сравнивая две формулы, приходим к следующему заключению: умножение двух
    векторов (векторное) тривиально. Подынтегральное выражение, конечно, недоказуемо.
    Критерий сходимости Коши осмысленно упорядочивает равновероятный разрыв функции.
    
    Дело в том, что минимум неоднозначен. Бином Ньютона, общеизвестно, решительно
    притягивает линейно зависимый лист Мёбиуса. Не факт, что минимум проецирует линейно
    зависимый тройной интеграл. Учитывая, что (sin x)’ = cos x, интеграл от функции
    комплексной переменной последовательно допускает критерий сходимости Коши.

    Очень качественные математические вореции. Что удивительно, антивореционный механизм Гугла их не распознал — этот замечательный образец попался мне во время спонтанного гуглинга на около-математическую тему.
    via линaл ру (мутный сайт, стоит какой-то мутный редирект, без презерватива не входить).

    gost, 02 Октября 2017

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