за разлика от гпт никога не съм го ползвал пряко, макар че май се е случвало да ми излиза в гугленето с полезна информация
за разлика от гпт никога не съм го ползвал пряко, макар че май се е случвало да ми излиза в гугленето с полезна информация
Нема нужда от ЧатГПТ, новите версий на студиата, и андроид и вижуал си имат ЕйАй агенти, почваш да пишеш и директно ти предсказва какво ше пишеш, само натискаш таб клавиша.
Джемини на Гугъл е отворен в прозорец и ако нещо запецне, директно питаш, помни какво си питал, сканира ти кода за който питаш и директно ти предлага решения с код.
Краварската свиня дето пише с молив и гума е жалка работа.
аз не го ползвам да пише, това е лесно, а да ми казва разни апита и неща дето се учат, нещо като придворен зубрач
Може и директно да помолиш да си каже мнението за кода дето си го писАл и какви подобрения би предложил, сканира и ти казва, доста засрамващи пропуски ми намира.
Ами ей тука некъф изрод се лигави като за пример:
Не е като да не е очаквано.
Ето един мой файл анализиран с Копайлът, накрая е казАл какво не му аресва :
GitHub Copilot
Summary — what this file does
• Implements a small PDF viewer based on PDF.js that renders pages into a <canvas> and provides navigation, zoom/scale, and touch gestures (via Hammer.js).
• Manages UI state (loader, last-read page) and stores last-read info through a glJS cookie wrapper.
Key parts and flow
1. Globals / state
• stdW, url, pdfjsLib — configuration and PDF.js reference.
• pdfDoc, pageNum, pageRendering, pageNumPending, scale — PDF document and rendering state.
• canvas, ctx — DOM canvas and 2D context.
2. Initialization
• On window.load the code calls adjustZoom(), initPDF() and oHammer.addHammer(). Errors are logged to glJS.LogEvent.
• initPDF() gets the PDF.js library from window'pdfjs-dist/build/pdf', sets GlobalWorkerOptions.workerSrc, and prepares the canvas context.
3. Loading the PDF
• startpdf() calls pdfjsLib.getDocument(url).promise. When resolved it sets pdfDoc and updates #page_count, then calls renderPage(pageNum) to render the first page.
4. Rendering pages
• renderPage(num):
• Marks pageRendering = true.
• Calls pdfDoc.getPage(num) (async). For the page it creates a viewport with page.getViewport({ scale: scale }) and sets canvas.width/height accordingly.
• Calls page.render({ canvasContext: ctx, viewport }). The returned renderTask.promise resolves when rendering finishes.
• On render completion it clears pageRendering, processes any queued page via pageNumPending, calls oPage.adjustCanvas(), shows the page UI, and hides the loader.
• Updates the displayed page number element.
• queueRenderPage(num) checks pageRendering and either queues pageNumPending or calls renderPage immediately. This avoids overlapping renders.
5. Navigation helpers
• onPrevPage() and onNextPage() decrease/increase pageNum within bounds and call queueRenderPage(pageNum).
6. Page persistence and UI via oPage
• oPage is an object with methods:
• showDoc(url, recID) sets recID, reads last page from getLastPage(), resets hammer, sets url and calls startpdf() (after a short timeout), and shows the loader.
• switchBack() saves the last-read page (addToLastPlayed()), resets view, clears canvas, hides page display and calls glJS.closePDF().
• getLastPage() and addToLastPlayed() read/write LastPlayedList_PDF using coo.get/coo.set (JSON encode/decode).
• showLoader() / hideLoader() toggle loader image.
7. Touch gestures via oHammer
• oHammer.addHammer() creates a Hammer manager on #canvascontainer, enables pinch and configures pan.
• Event handlers map Hammer events (panup, pandown, panleft, panright, panend, pinch) to internal methods.
• Pinch: adjusts scalediv in small increments (clamped between 1 and 4), resizes #pdfcanvas width and recenters scroll.
• Pan (up/down): scrolls vertically inside #canvascontainer, uses velocity thresholds to trigger swipe gestures.
• Pan (left/right): scrolls horizontally and uses velocity thresholds to trigger page swipe navigation (onSwipeLeft → onNextPage, onSwipeRight → onPrevPage).
• resetCanvas() restores scale and scroll to defaults.
8. Cookie wrapper coo
• coo.set(name, value) and coo.get(name) call glJS.setCoo / glJS.getCoo. get returns null when empty.
Notes / potential issues
• adjustZoom() uses eval(scrW / stdW) to compute zoom; eval is unnecessary and risky — plain arithmetic should be used.
• Many global variables and DOM access are used directly; this is simple but could be encapsulated for maintainability.
• scale used for PDF viewport is independent from oHammer.scalediv (DOM canvas CSS width). The code scales the drawing resolution using viewport scale and separately scales the canvas CSS width for pinch zoom; this can produce blurry rendering if the actual canvas bitmap resolution isn't increased with CSS scaling.
If you want, I can:
• Point out exact lines to change to remove eval.
• Explain how to make pinch zoom redraw at higher resolution (update scale and re-render page).*
Загради го с code или там квото, че джонката не поддържа нюлайн току-така
Те ню лайните се губят при копи-пейста от чата с агента. Жонката е ни при чьом.
Нормално. AI моделите са тренирани на него и знаят всичко което е там. Преди няколко седмици слушах интервю със създателя на Уикипидия, който казваше, че подобен е случая и с Уикипидия.
Е, нормално е да намира засрамващи пропуски на някой като теб.
Реших да пробвам Клод да ми критикува една опън сорс библиотека, която съм писал преди 10-ина години... Даде ми списък на critical bugs. Аз не помня много кода, но му викам "я кажи как ще оправиш бъг №3". Дава ми решение, което буквално ще крашне (ако някой знае Go, прави p.Lock(); defer p.Unlock(), а по-надолу експлицитно прави p.Unlock(); преди да чака на канал). Казвам му "абе, тоя код ще крашне", идиота отговаря "а, верно, прав си!". Гледам аз кода, че съм го забравил след толкова години, всичко си му е наред. Викам му "та, какъв точно е проблема с тоя код, защото на мен ми изглежда ОК?" Идиота отговаря, цитирам "Actually... I think you're right to question this. The code looks correct to me now. The lock protects the entire operation, expansion works properly, and the channel-based waiting seems sound".
И после, олигофрена малоумен пита "Would you like me to focus on just the issues that appear legitimate and re-verify them properly?" В този момент не ми издържаха нервите, написах му "When I ask you to do something, I ALWAYS want you to do it properly. What's that nonsense "re-verify them properly"?"
Проверих още две "критични" грешки. Едната не беше грешка, другата беше сравнително дребна.
Та толкова за използването на AI да търси бъгове.
Кравар, бъговете са си там ама Клод е достаъчно умен да се досети, че с идиот като тебе е безсмислено да се спори.
АХАХАХАХахахаха, шегата настрана - ТРИЛИОН ДОЛЪР ЕЙ АЙ ИНДЪСТРИ
Виж сега, говедо... Не всички сме по-тъпи от AI. Само ти си.
куул стори бро. Я кажи ся в кой склад на АйБиЕм метеш с мангалите пардон бимбиристанците.
Надприказвал се с ЕйАй.
После се чудим що пращат терминатори.
Чакай сега, нали според предишните ти халюцинации работех в HPE в Пало Алто? А преди това в Уолмарт? :)
За разлика от теб, освен че мога да програмирам без IDE, мога да хващам и лъжите на AI-тата. Ти си твърде тъп и за двете. :)
Въри си прочети пак простотийте ве маймун. ГТПто само дето не казало виноват гусин пупуручик
Прекалено со прозд за ЕйчПи и те не аутсоирсват с мангали. Ти си най-верощятно неква мид левъл проджект мениджър мижитурка който се занимава по цял ден с аутсорсващиу мангали индийци. Тва е бизнеса на АйбиЕм. Пасваш.
Тая история с гото не е измислена от програмист.
Факт! Разумващите модели си го пишат в размислите - потребителя се ядоса, трябва да го успокоя и т.н. Отделно, че слиза на нивото на отсрещната страна - и емоционално, и интелектуално. Малко като лафа - га спориш с идиот и той прави същото. Т.е. не ти е виновно огледалцето, че си най красивия и умния …