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

    В номинации:
    За время:
  2. Куча / Говнокод #28566

    0

    1. 1
    LongLongToULongLong

    -

    TAPAC, 22 Января 2023

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

    0

    1. 1
    Ansi C++ Compiler

    bormanb, 08 Января 2023

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

    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
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    includelib  C:\Irvine\User32.Lib
    includelib  C:\Irvine\Kernel32.Lib
    includelib  D:\masm32\lib\Irvine32.lib
    include     \masm32\include\Irvine32.inc
    ; D:/masm32/bin/ml.exe /c  /coff  "D:\asm\simple.asm"
    ; D:/masm32\bin\link.exe /subsystem:console  "D:\asm\simple.obj"
    .data
    X Dword  ? 
    A dword  ? 
    B dword  ?
    M dword  ? 
    .code
    main PROC
    mov eax, 1
    xor ecx , ecx
    xor ebx, ebx
    strt:
    add eax , 1
    mov X, eax
    push eax
    call simple
    cmp ebx, 1
    pop eax
    je ext
    call WriteInt
    call CrLF
    ext:
    
    cmp eax, 50000000
    jb strt
    
    	exit
    main ENDP
    Simple PROC uses ecx
    Mov A, 1
    call Sqrt
    Mov A , eax
    MOV edx , 2
    rn:
    ;push edx
    mov ecx, edx
    
    mov eax , X
    mov ebx, edx
    xor edx ,edx
    div ebx 
    cmp edx, 0
    jne stp
    mov ebx ,1
    jmp var
    stp:
    ;pop edx
    mov edx,ecx
    cmp edx, A
    inc edx
    jb rn
    var:
    ret
    Simple  ENDP
    Sqrt PROC USES ebx
      mov A, 1 ;A = 1
      mov  eax ,X
      push eax
      shr  EAX, 5
      add   EAX , 8
      Mov B , EAX
      pop eax
      cmp B,0FFFFh
      jbe crt
      mov B, 0FFFFh
    crt:;do {
        mov ebx, B 
    	push A
    	add A,ebx
    	shr A, 1
    	mov ebx, A
    	pop A
    	mov M ,ebx
    	mov eax, ebx
    	mul ebx
    	cmp eax , X
        jbe  opt	
    	Mov eax, M
    	dec  eax
    	mov B , eax
    	jmp dz
    	opt:
    	mov eax, M
    	inc  eax
    	mov A , eax
    	dz:
    	mov eax, B
    	cmp eax,A
    	Jae crt
    	mov  eax , A 
    	dec eax
    	ret
    Sqrt  ENDP
     END main

    Лялька для простых чисел )))))))))

    gne4do, 27 Октября 2022

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

    0

    1. 1
    2. 2
    Дум запустили в блокноте.
    https://www.youtube.com/watch?v=mjfj3KIEf9k

    В качестве средства вывода используется блокнот. Изображение формируется псевдографикой.

    guest6_uebok, 10 Октября 2022

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

    −4

    1. 1
    Передайте  Камрану Амини что он Большое Хуйло

    lazy_8, 22 Июля 2022

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

    −1

    1. 1
    учетка     miheich была скомпрометирована. подскажите, как поменять пароль?

    -

    miheich, 07 Июля 2022

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

    0

    1. 1
    Fatal error: class 'Exception' not implemented

    Exception, 25 Июня 2022

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Как прекрасно быть Крысой!.. Я вывел целый список преимуществ.
    
    1. Можно бегать по коммуникациям, погрызая туннели и пользоваться  Ethernet бесплатно и анонимно.
    2. Можно смачно поссать оппоненту в ебло - и это не будет нарушением прав или оскорблением.
    3. В крысьих стаях жесточайшая иерархия - быдла и праздношатов там нет, от слова вообще.
    4. Крысы - телепаты и обладают даром предвидца.
    5. Корма - завались; никаких талонов на еду. Ну, а если прижало, то...  можно пожевать свою какашечку.
    
    Есть лишь один нюанс, жить придется лишь от силы годик... --------------
    Но даже это преимущество: не успеешь пресытиться жизнью.

    Как там пел Малежик? "Головешкой тлеть всю жизнь - дикая тоска"

    KPblCA, 20 Июня 2022

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

    −10

    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
    89. 89
    90. 90
    91. 91
    92. 92
    const puppeteer = require('puppeteer-core');
    const fs = require('fs');
    const getCurrentLine = require('get-current-line').default;
    const { execFileSync } = require('child_process');
    
    const data = fs.readFileSync('profitcentr.com.cookies.json');
    const cookies = JSON.parse(data.toString());
    
    function randomInteger(min, max) {
      let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    }
    
    function delay(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time*1000)
       });
    }
    
    function delay2(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time)
       });
    }
    
    (async () => {
      const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null,
        executablePath: '/usr/bin/chromium',
    devtools: false,
        args: [
    '--start-maximized',
     ]
      });
    
      const page = await browser.newPage();
      await page.setDefaultNavigationTimeout(0);
    
      let newPage;
    
      await page.setCookie(...cookies);
      await page.goto('https://profitcentr.com', {waitUntil: 'networkidle0'});
    let link = await page.$('a[href^="./work-youtube"]');
    console.log('go to youtube')
    await link.click();
    await page.waitForTimeout(1000);
    
      let c = 0;
      while(true) {
    
      if(c == 100) {
        await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
        c = 0;
      }
    
    let t = await page.$('[id^="ads-link-"]');
    
    if(t == null) {
    console.log('wait new tasks...');
    await delay(10);
    await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
    c = 0;
    continue;
    }
    
    let tt = await t.evaluate((q) => getComputedStyle(q).display);
    if(tt == 'none') {
    console.log('del inactive')
    page.evaluate(q => { document.querySelector('[id^="ads-link-"]').remove(); })
    continue;
    }
    
    let tr = await page.$('tr[class^="ads_"]');
    let span = await tr.$('[onclick^="funcjs[\'start_youtube"]');
    let title = await span.evaluate(el => el.textContent.trim());
    console.log('title: \''+title+'\'');
    let price = await tr.$('[title^="Стоимость"]');
    let prices = await price.evaluate(el => el.textContent.trim());
    console.log('price: ' + prices);
    
    let newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));
    
    //await page.waitForSelector('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //let x = await page.$('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //console.log(x.click);
    await page.waitForTimeout(1000);
    try {
    await page.click('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    }
    catch(e) {
    console.log('error! del item'); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); continue; } await page.waitForSelector('span[onclick^="funcjs[\'open_window"]', { timeout: 60000 }); await delay2(randomInteger(700, 2000)); await page.click('span[onclick^="funcjs[\'open_window"]'); //newPage = await newPagePromise; await page.waitForTimeout(2000); let p = await browser.pages() newPage = p[2]; await newPage.bringToFront(); console.log('> '+newPage.url()); await newPage.waitForSelector('tr[id="timer-tr-block"]', { timeout: 60000 }); await delay(3); console.log('yt click'); const frame = await newPage.waitForSelector('iframe'); let rect = await newPage.evaluate(el => { let {width, height} = el.getBoundingClientRect(); return {width, height}; }, frame); await newPage.mouse.click(rect.width / 2, rect.height / 2); console.log('waiting'); await newPage.waitForSelector('[id="capcha-tr-block"][style="display: table-row;"]', { timeout: 350000 }); let btn = await newPage.$('[class="butt-nw"]'); await btn.click(); console.log('ok'); await delay2(randomInteger(900, 1500)); //console.log('> '+newPage.url()); await newPage.close(); await delay2(500); await page.bringToFront(); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); await delay(randomInteger(1, 3)); console.log('c: '+ ++c +"\n"); } await browser.close(); })();

    тупо грабер для profitcentr! в день рубль нихуя не делая поднимаю на нем
    ее палится

    paroljanet, 23 Мая 2022

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

    −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
    Функция ПолучитьСеб (Номенклатура,ДатаОстатков) Экспорт
    		
    		Запрос = Новый Запрос;
    		Запрос.Текст = 
    		"ВЫБРАТЬ ПЕРВЫЕ 1
    		|	УчетПартийОстатки.Номенклатура,
    		|	УчетПартийОстатки.Партия КАК Партия,
    		|	УчетПартийОстатки.СуммаБезНДСОстаток / УчетПартийОстатки.КоличествоОстаток КАК бухСС
    		|ИЗ
    		|	РегистрНакопления.УчетПартий.Остатки(&ДатаОстатков, Номенклатура В (&Номенклатура)) КАК УчетПартийОстатки
    		|		ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииНоменклатуры.Остатки(&ДатаОстатков, Номенклатура В (&Номенклатура)) КАК ПартииНоменклатурыОстатки
    		|		ПО УчетПартийОстатки.Характеристика = ПартииНоменклатурыОстатки.Характеристика
    		|			И УчетПартийОстатки.МестоХранения = ПартииНоменклатурыОстатки.МестоХранения
    		|			И УчетПартийОстатки.Статус = ПартииНоменклатурыОстатки.Статус
    		|			И УчетПартийОстатки.Номенклатура = ПартииНоменклатурыОстатки.Номенклатура
    		|			И УчетПартийОстатки.Партия = ПартииНоменклатурыОстатки.Партия
    		|ГДЕ
    		|	УчетПартийОстатки.КоличествоОстаток > 0
    		|
    		|УПОРЯДОЧИТЬ ПО
    		|	Партия";
    		
    		Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
    		Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    		
    		РезультатЗапроса = Запрос.Выполнить();
    		
    		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    		
    		Если ВыборкаДетальныеЗаписи.Следующий() Тогда
    			Возврат ВыборкаДетальныеЗаписи.бухсс;
    		КонецЕсли;
    		
    	КонецФункции

    Нашёл сие поделие в базе одного клиента, придраться хочется ко всему, начиная с лютого нэйминга - имя функции ПолучитьСеб(), не намного лучше чем Функция1(), имя переменной в запросе бухСС тоже так себе.
    Задача функции вернуть себестоимость единицы товара, при этом число она возвращает только если в запросе что-то есть, понятно что в остальных случаях вернет Неопределено, но себестоимость это всегда число, никаких Неопределено быть не должно.
    Если посмотреть текст запроса, то видно, что поля выборки на 100% беруться из одной таблицы, зачем там ещё одну прилепили, да ещё и с полным соединением - теряюсь в догадках.
    Упорядочивание по полю Партия вообще смысла не имеет, если уж речь идёт о получении себестоимости, то скорей автор хотел получить её из первой партии, что косвенно подвтерждается выражением "ПЕРВЫЕ 1", но дело в том, что упорядочивание по ссылке (Партия - это элемент справочника Партии) не имеет никакой привязки к дате, т.е. нужно было писать так: "Упорядочить По Партия.ДатаПартии".
    Здесь не видно, но функция вызывается только в двух местах модуля и всегда с конкретным значением номенклатуры, т.е. условие виртуальной таблицы может быть оптимизировано до "Номенклатура = &Номенклатура".
    Ну и на последок - в данном случае полное соединение конечно нужно ликвидировать, но если бы оно действительно было нужно, то виртуальные таблицы не стоит связывать между собой, предварительно их нужно помещать во временные таблицы и индексировать по полям условий соединения.

    VladC, 17 Мая 2022

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