- 1
Пиздец-оффтоп #6
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Пиздец-оффтоп #6
#1: https://govnokod.ru/26503 https://govnokod.xyz/_26503
#2: https://govnokod.ru/26541 https://govnokod.xyz/_26541
#3: https://govnokod.ru/26583 https://govnokod.xyz/_26583
#4: https://govnokod.ru/26689 https://govnokod.xyz/_26689
#5: https://govnokod.ru/26784 https://govnokod.xyz/_26784
#5: https://govnokod.ru/26839 https://govnokod.xyz/_26839
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* @GovnokodBot в «Telegram»
* https://vorec.space/ (глоссарий Говнокода)
Бывал несколько раз, правда, недолго и не в соцсетях. Заодно отточил навыки автоматического исправления рода: теперь могу спокойно писать и говорить в любом роде без ошибок.
P.S., ротоёб, поубавь пыл минусатора, из-за тебя ГК тормозит и в эксцепшон складывается.
в той же онлайн игре я взрослым прикидывался
это нормально для детей я думаю
правда, это было не в онлайн играх
стесняюсь спросить -- где?
кажется, ему противна сама мысль о знакомстве с двужопыми чудовищами
Ну вот и в дроп его, нахуй он нужен, там ещё тысячи в очереди?
То ли дело «английский»: в первом лице хуй разберёшь, баба пишет, или мужик.
какое владение русским языком ))
ещё спроси, почему в каждой второй игре женские персонажи выглядят как секс-куклы
именно по этому я за супер марио 1986, там пол персонажа не важен
прикинь, прибегает Марио в Замок, а там вместо Принцессы или Тоуда (я специально гуглил, как эту хуйню зовут) сидит Чёрный властелин
эти хуемрази заполонили собой всё
Или вся серия jrpg'шек про Нептунию.
я наслаждался ними
О, кстати, вот и ещё одна игра где только тян, только хардкор.
заебать игрока по хардкору это типа такая ачивка для геймдизайнера?
А не press x to win и катсцена на 2 часа.
я кстати на МегаДрайве обычно в хоккей рубился или в Пиратов Сида Мейера, платформеры уже совсем не заходили
но в принципе выброс дофамина от пройденного уровня в EXAPUNKS даёт представление, о чём речь
- не, ну всегда можно пройти SMB на клавиатуре
(я не про Марио)
до чего же охуенно, а
Прикольно, что оружие там не особо нужно.
наверное, есть что-то у Зактроникса
SOMA с оговорками (люди там всё-таки есть)
сраный Spore
Scraplands лол
так с ходу много и не вспомнишь
«Everspace»
«Ori and…»
«Planetary Annihilation: TITANS»
«POSTAL 2»
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
- Милый, давай поиграем?
- Го, я создал.
типа карточки с заданиями
заканчивается всё еблей ессно
ведь всем известно, что planning poker произошёл от слова poke
Plague inc.
Сначала есть, а потом нет.
В зависимости от выбора игрока
самолёт может упасть на остров и сделать всех жителей острова зомби
или может упасть куда-то ещё и сделать зомби всех жителей города в принципе
какой багор )))
За потерянное время ты мне теперь сотню баксов должен, сволочь!
Предлагаю запилить игру 4294967296 0.
>«2048»
>ты мне теперь сотню баксов должен
Хуясе рейты.
Но вообще надо и о Страйкере подумать, прикинь сколько высокооплачиваемых кодеров просрали человекоЛЕТ сидя на ГК.
Дык я ж теперь не успокоюсь, пока не соберу это говно.
Это, кстати, не сложно, если знать секретную выигрышную стратегию
По крайней мере, в одной из классических версий
Они там пляшут гопака после уровня
Потому что тебе потом всю игру смотреть на жопу этого перса, если от третьего лица.
> А ещё мне непонятно почему в играх некоторые выбирают женского персонажа.
Ну тебе во время игры на какую жопу смотреть приятнее: на женскую или на мужскую? Вот на какую приятнее — ту и делаешь.
а парню будет нечего возразить, потому что пол-то никто никогда не указывал
вот смеху будет
но конечно круче просто перестраивать предложения
только короткий жанр
эпики мастдай
"Царь Эдип" в сегодняшней редакции помещается в 34 страницы, а насыщен не хуже Достоевского.
вопрос в том, что кому нравится больше: понимать или утопать в языке.
мне мир интереснее по картам изучать :)
но узнать про весьма нетривиальную ситуацию из before christ, которая даже сегодня морально однозначно не трактуется, это прикольно
Ртом и анусом?
Прошедшее время, сохранившееся в русском языке, — это на самом деле причастие прошедшего времени, перфекта.
«Я сделал» — это сокращение от «Аз есмь сделал», т. е. «Я есть сделавший». Отсюда и зависимость от рода: причастия изменяются как прилагательные.
Были ещё имперфект (прошедшее несовместимое) и аорист — простые временные формы. Аорист и имперфект не зависели от рода субъекта. Аорист сохранился в выражениях типа «А он возьми да скажи».
Ещё было давнопрошедшее время (как «past perfect» в английском или «Plusquamperfekt» в немецком): «Аз бях сделал». Здесь «бях» — это имперфект от глагола «быть». Плюсквамперфект сохранился в выражениях типа «Я было подумал» (подлинный имперфект «бях» заменили суррогатом «было»).
*****
В арабском языке хитрее: там глагол зависит от рода во всех временах. К счастью, на первое лицо это не распространяется.
*****
>>> «Я всегда считал, что PHP — говно»
Можно сохранить время с помощью страдательного залога: «Мной было принято решение, что PHP — говно». Или с помощью возвратного глагола: «Мне всегда казалось, что PHP — говно». Или более утвердительно: «Мне всегда было ясно, что PHP — говно».
Именно поэтому я против «друзяшек».
а потом стал джаваскриптером
Эм, это туплы так разбивать можно на переменные?
> Winnie is The Pooh
Koshey is Undead
Можно эмулировать именованные параметры при вызове
А ещё там есть rest operator
https://wandbox.org/permlink/PIUkWZoKf3o6Ldp1
Я вижу игровой цикл так:
* Считываем WM_ события. Например, не более десяти (остальные пускай полежат в очереди)
* Понимаем по ним стейт клавиатуры (какие клавиши нажаты) и отражаем их в каком-то массиве (пусть бит это нажатая клавиша)
* Обновляем стейт игры на оснве этих событий (UpdateState())
* Отрисовываем фон
* Отрисовываем персонажей на основе стейта (DrawPizduks())
* Смотрим, сколько времени прошло с момента предыдущей отрисовки. Если менее 16ms, то бизивейтимся (ну или спим чуток чтобы дать другим подышать).
* Флипаем буфера
* Повторяем
Вроде, всё верно?
Вопрос теперь про UpdateState(). Кажется, что нужен массив акторов. Каждый актор умеет на основе нажатия клавиш и каких-то своих внутренних счетчиков обновить свое состояние (или положить какие-то события в какой-то бас, где их увидят другие акторы при следующем запуске UpdateState()).
Он же умеет отрисовать себя на моменте DrawPizduks().
Вроде хорошо, то получается, что все акторы реализуют интерфейс и имеют виртуальные методы. Это может в теории воткнуть. Может, их лучше захардкодить там? Или похуй?
Верная архитектура, или говно?
Хочу всё таки под DirectDraw написать какую-нить 2Д чушь типа арканоида, тянет меня в детство чото.
- это типа тут будут коллизии проверяться?
фон и персонажи странно разделены
это вообще должна быть отдельная иерархия слоёв имхо. у тебя ещё ui должен быть хоть какой-то
по поводу событий можно подсмотреть в любом UI-фреймворке, подозреваю, что там очень всё похоже
не только. Пиздюки тут будут ходить тоже. Вообще всё состояние комнаты тут будет считаться.
Как они будут друг друга видеть -- это вопрос.
>фон и персонажи странно разделены
Почему?
>это вообще должна быть отдельная иерархия слоёв имхо. у
Это если ты хочешь фон двигать, а я не хочу. Это 2Д игра как в 80-е.
>по поводу событий можно подсмотреть в любом UI-фреймворке,
Ну в классических формочках немного не так: там ОС шлет событие "перерисуйся", и ты тогда перерисовываешься.
А если ты сам хочешь перерисоваться, то ты просишь ОС послать тебе такое сбытие (update()).
А тут я не хочу ОС трогать, это же всё будет не быстро, и FPS собъектся, да и я буду эксклюзивно владеть экраном вообще...
> Это если ты хочешь фон двигать, а я не хочу. Это 2Д игра как в 80-е.
- нафиг тебе тогда фон вообще, задай цвет задника и теки (в opengl там будет шото типа glClearColor, в dd должна быть похожая функция)
> Ну в классических формочках немного не так
- нажатие кнопок тоже не так?
хочу туда ковёр повесить. Или нескучные обои. А что не так с фоном? Я буду его в памяти видеокарты хранить, и заливать в задний буфер средствами карты, по сути скопировав кусок памяти внутри карты, быстро же.
>- нажатие кнопок тоже не так?
Нажатие кнопки это посылка события. У окошка есть очередь событий, и нажатие кнопки тоже туда кладет событие. Кнопка это окно обычно. А если кнопка нарисована на окне, то событие получит родительское окно. Тут я могу завернуть про лайтвейт и хевивейт в свинге, но это оффтоп.
Формочки вообще сильно отличаются от гейдева. Им не нужно держать FPS 60. И они пассивны: сидят, и ждут, пока ОС от них чего-то захочет
А актеры будут рисоваться тоже средствами карты, и она сама будет учитывать прозрачный цвет даже.
Кстати, интересен вопрос загрузки их в карту. При переходе в другую комнату я по идее должен буду выгрузить их из памяти. Можно даже каждый левел сделать отдельной .dll и загружать ее.
Будет как в старых играх, когда заходишь в комнату, а там написано "Loading..")))
Ты ещё скажи, что в ресурсах... Сложи картинки в каталог да и всё. Ты же их реюзать между уровнями захочешь, наверное. Не надо преждевременных оптимизаций.
> ресурсы
> DirectDraw
Какой олдскул )))
можешь взять TexturePacker (https://www.codeandweb.com/texturepacker), там достаточно банальный формат данных
для каждого уровня грузить свои атласы
на десктопе кстати вроде уже давно начхать на размер текстуры, это в opengl es ширина и высота должны быть кратными двойке
когда делаешь атласы, нужно по сути решать задачу раскроя.
Я хочу поиграть в некоторую оптимизацию, и сделать так, чтобы она даже на древних компах шла) DirectDraw по идее работает даже на w98)
Спасибо
но вообще сомневаюсь, что ты сможешь обойтись без текстур, если пишешь на достаточно низком уровне
* загрузил картинку в память карты
* попросил bitblt ее в буфер указав ключевой цвет
* флипнул буфер
всё. Все картинки -- спрайты
разве это не спрайт, из которого я рисую кусочек?
Тогда
>. Хотя он вроде и для обычных спрайтов подойдет.
Я думал, что текстура, это когда я описал 3Д объект, и карта потом на него натянула текстуру эту, не?
https://www.khronos.org/opengl/wiki/Texture
https://docs.microsoft.com/en-us/windows/win32/direct3d9/basic-texturing-concepts
на упоминания 3D лучше особо внимания пока не обращать
"большие" либы разницы не делают
это не каиро или аллегро
вообще я может быть тупо спижжу спрайты уже склеяные, я не умею рисовать же
шейдеры я точно писать пока не буду скорее всего
Ты чо! Будь мужиком, рисуй в паинте.
Но там ручки ножки огуречик был
Хотя вообще ты прав: если запариваться на полную независимость от всего, то надо и картинки рисовать, и звуки записывать..
https://www.spriters-resource.com/nes/arkanoid/
но тебе маловаты
картинки для арканоида можно в гимпе быстро накалякать на самом деле
Ну для арканоида да, хотя красивый мячик может я и не нарисую...
https://www.youtube.com/watch?v=zwDPx6hP_4Y
240p
но тебе это всё по барабану, если не собрался писать эмулятор
По экрану бегал робот. Написано было на Elm, который компилировался в JS.
А к этому был подключен skulpt python -- реализация python на JS. И роботом можно было управлять скриптом на питоне.
Но там всю "физику" сделал другой чувак, а я только анимировал персонажа (показывая поочередно картинки с разной позицией ног) и "верстал" консольку практически.
Вдохновила нас вот такая хйня
https://elm-lang.org/examples/mario
Спрайт это вроде одна картинка, один кадр анимации. А группа спрайтов, упакованная в одну картинку - это атлас.
Одна большая картинка видюхе удобнее чем 100500 мелких, легче задачи на отрисовку планируются.
Текстурой я это называю потому что так привычнее. Да и через современное апи это один хер реально текстура, которую напяливают на прямоугольники.
я просто в вебе так иконки хранил еще давно, и называл это спрайтами. А потом CSSом двигал их в бекграунде. Дизайнеры любят дать все иконки в одном файле, и палитра у них общая.
И вроде под дос я чото писал, я тоже так делал, и тоже чтобы иметь одну палитру.
> современное апи
DirectDraw же;))
В Direct2D небось все унифицировано с 3Д. Или ты имеешь ввиду, что под капотом видеокарта всё равно одинаково работает?
- емнип, разницы вообще никакой нет. 2D это просто 3D в одной плоскости.
только тогда придётся делать что-то такое
https://www.khronos.org/opengl/wiki/Depth_Test
Ну по сути да. Просто в случае 2д у тебя "грань" одна. И матрицы да шейдеры попроще. Но в целом то механика ничем не отличается.
Если ты какие-то крутые эффекты не хочешь замутить.
Ты ведь можешь для "2д" игры освещение какое-нибудь рассчитывать на шейдерах чтобы всякие подземелья красиво смотрелись.
Потом идёт растеризация треугольника в пиксели, ты ей особо не управляешь.
И для каждого пикселя запускается твой пиксельный шейдер. Которому приходит интерполированная по грани инфа от вершинного. Здесь ты можешь считать всякое освещение, доставать пиксели из текстуры и т.п. В конце ты должен вернуть инфу о пикселе. Обычно RGB, но можно и кастомное что-то если не на экран.
Как-то так.
>Потом идёт растеризация треугольника в пиксели, ты ей особо не управляешь.
>И для каждого пикселя запускается твой пиксельный шейдер.
Я тоже так думал. Но они всё уже там поменяли. Инфа про VS+PS устарела лет на 10 уже.
Сначала они ввели понятие culling. А также геометрических и доменных шейдеров. Потом схлопнули их.
>Сначала идет вершинный шейдер.
Это теперь task shader.
А так то понятно, что все это атавизмы от первых видюх с шейдерами. И сейчас видюха может любой код исполнять.
Mesh shader and task shader.
Как там в 2008, пацаны, всё понятно?
Ага. Вот у меня такое же чуство, когда я постоянно узнаю как мои знания в каком-то предмете устарели лет на 10-15.
Из хороших новостей: в DX 12 они таки упростили: Vertex + pre Tesselation (Hull Shader) = Task Shader
Tesselation + Geometry Shader = Mesh Shader.
Причём упростили не ради программеров, а просто карточки благодаря этой унификации больше FPS выдают.
Пиксельные так и оставили. Там всё просто и понятно.
C RTX я толком не разбирался, за неимением железа и поддержкой его только нвидией.
Фишка же интересная и красивая.
Как они умудрились запихать сотни терафлопс в обычные карточки?
RTX конечно тоже очень круто. Но тензорная питушня повышает скорость обучения/работы нейронок в десятки раз.
Да. Но для одной такой матрицы нужно сделать 64 MADa.
Точность FP16, не такая уж маленькая учитывая что шейдеры и раньше могли считать FP16 в два раза быстрее чем FP32.
В итоге топовая карточка выдаёт около 15-20 Терафлопс в FP16 на шейдерах.
А на тензорных питухах 70-100 терафлопс.
Это настолько МНОГО, что в нвидиа кто-то сошёл с ума и придумал DLSS в 4K.
Причём я думаю, это ещё довольно скучное применение. Теперь нейронки будут из каждой щели лезть.
RT Cores accelerate Bounding Volume Hierarchy (BVH) traversal and ray/triangle intersection testing (ray casting) functions.
Functions such as BVH building and refitting are handled by the driver, and ray generation and shading is managed by the application through new types of shaders.
The RT Core includes two specialized units. The first unit does bounding box tests, and the second unit does ray-triangle intersection tests. The SM only has to launch a ray probe, and the RT core does the BVH traversal and ray-triangle tests, and return a hit or no hit to the SM.
SM - это обычный стриминг мультипроцессор, на котором шейдеры крутятся.
Хех, начитался про "новые" шейдеры и архитектуру видюх. Пиздец они наворотили технологий пока я был в анабиозе.
Попробовать что-ли портануть свой древний кубик рубика на вулкан с трассировкой...
портани кубик рубика на coq!
Лол, не мешало бы. Я тогда раза с двадцатого правильное вращение кубиков сделал. Тупо перебором.
Можно совместить ^___~: https://www.jstage.jst.go.jp/article/ipsjjip/24/1/24_132/_pdf/-char/en (нашёл пока вкладки разгребал)
Все равно там будет что-то про питухов
Fixed
Без флага «ee» магии не произойдёт.
не южный мост, а ICH
не северный мост, а ничего
не южный мост, а чипсет
не FSB, а QPI
не SSD-диск, а твёрдотельный накопитель
лямбда может ничего не захватывать же
> We refer to this ability as the closure property of cons.
Рекурсия тут совсем не при чём. Думаю, тут подразумевается ма-те-ма-тическая замкнутость отношения: "A set is closed under an operation if performance of that operation on members of the set always produces a member of that set." Иными словами, closure {A} := A -> A -> A. (Тип такой).
он упал в реку
Дерьмо, блядь!
Кстати, видел продолжение линейки «DBase — Foxpro», а именно «XHarbour»? Его сконпелировали под кучу платформ.
https://ru.wikipedia.org/wiki/Harbour
У меня в DOS было FILES=255. При наличии хотя бы 1 мегабайта ОЗУ смысла экономить нет. Таблица файловых дескрипторов не так много занимает.
Да, досовские базы помню.
> Astra Linux Special Edition релиз Смоленск с установленным пакетом wine
Прыщебляди соснули!
а приедешь, выдадут фартушек и сделают из тебя разумного дрона, будешь кофемолки до дверей доставлять
Не аутентификация, а идентификация.
Не идентификация, а авторизация.
пс НГК прилёг?
Один раз Пахом
Я не думал, что вулкан настолько низкоуровневый. Я ещё до аллокации видеопамяти не дошёл, а у меня уже кресло прогорает. Но царь был бы доволен, да.
хочу послушать, как он там шейдеры хуясить или CRTC программирует
Да тут хотя бы девайс открыть, какие шейдеры...
Короче они выкинули абсолютно все хелперы, которые ещё оставались в "новом" OpenGL. Чтобы ты мог ощутить всю боль аллокации видеопамяти, конпеляции шейдеров, настройки пайплайна и синхронизации с видюхой. Но зато всё быстро, предсказуемо и без магии.
Лет 7 назад эта тесселяция была главным баззвордом в графике.
https://interplayoflight.wordpress.com/2014/12/31/rendering-fur-using-tessellation/
https://interplayoflight.files.wordpress.com/2014/12/text_d3d11_pipeline.png?w=660
>Кстати, а почему AMD ещё не запилило что-то подобное RTX
Я в АМД к сожалению не работаю (слухи ходят что они её пилят).
Но как по мне это революционная технология, раз они совместили её с классическим рендерингом, там не всё так просто.
Штеуд раньше ведь рейтрейсил строго на ЦПУ все свои демки.
на си-подобном языке
но экономится место за счёт перекрытия областей с прозрачностью
ну и степень двойки, да
https://www.youtube.com/watch?v=_qrsHqDF4BA
классика
вообще демосцена это кмк хорошее подспорье
Про архитектуру актёров - х.з., попробуй. Для простой игры наверное сойдёт. Но клавиши я всем подряд не стал бы передавать. Может быть пусть подписываются на них?
И клавиши и оси, я думаю, надо сразу отрезольвить в "игровые события", чтобы игровая логика ничего не знала о кодах клавиш.
И скорость игры будет зависеть от частоты карты? Круто! Но это если я хочу 60. А если хочу 30, то могу попросить обновляться каждый второй vsync, DDRaw так умеет!
А Vsync это же прерывание от карты? Шедулер поймет, и заблочит мой тред, и даст время другим?
>Может быть пусть подписываются на них?
Я думал просто иметь массив, и пусть кто хочет -- читает его.
Если там стоит бит "нажата клавиша" -- пусть герой шагает. А когда пришло событие KEYUP -- я убрал бит просто.
>И клавиши и оси, я думаю, надо сразу отрезольвить в "игровые события",
Да, тогда можно будет скриптовать поведение героя на lua, или получать его по сети...
Хотя да, это конечно оверекил.. Если я не захочу потом 2Д бродилку делать.
вот такую хуйню не сложно сделать вообще https://youtu.be/x7yfzCJafJM?t=203
захочешь скриптоваться, а вокруг тебя одни кресты, как на кладбище
кроме луа ещё можешь посмотреть в сторону AngelScript (http://www.angelcode.com/angelscript/)
луа я просто уже умею ембедить (это очень просто) и умею на нем чего-то писать несложное
Кресты я тоже знаю на уровне "си с классами" кстати, так что может даже прокачаюсь, хотя я не вижу тут мест для крутой метушни
Только Pawn, только хардкор
https://github.com/Mi7teR/mamoeb3000/blob/master/templates.json
https://www.youtube.com/watch?v=5dguVwhWAtY
Там была ещё песенка поинтереснее, когда детей пытались отучить от мата.
Раз!
Вместо «пизды» будет «пися» у нас.
То есть «писястый», «писюк» и «писец»!
Два! Вместо «мудак» произносим «чудак».
Чудями теперь, чудозвон, не тряси.
Три! Слово «ебу» говорим через «и»,
Так как «ибу» по-китайски — «шаг».
А слово «хуй» позабудь безвозвратно,
Так как на свете нет слова страшней,
Дети, забудьте его поскорей,
Вместо него повторяйте: «Понятно».
Всё в твоих силах, ты только решись!
Вот план, что изменит тотчас твою жизнь!
Негоже так жить, на игле провисая,
Прохожим за грош отдрочить предлагая!
он тебе эту песню и скинул
***
Какой нахрюк )))
https://pikabu.ru/story/trollim_vmeste_kurs_obuchayushchikh_prog ramm_imeni_dyadi_adi_181877
А тебе зачем? Подумываешь релоцироваться?
Я использую JetBrains Pycharm (Windows OS) для кодирования python и теку. В моем коде я читаю файл csv и теку. Затем сделайте несколько модераций по некоторым столбцам таблицы & теките.
Теперь, когда измененный набор данных печатается в нижнем окне, все элементы набора данных текут.
Память.
только помирать скоро
Петух, Аскар Акаев, Петух
Армяне с Азербаджайнцами реально воевать начали
З.Ы. Большие конторы очень не любят когда их имя юзают для раскрутки рандомного говна. А по остальному скорее всего не будет претензий. Вряд ли у них есть патенты на протокол.
Правда, вряд ли удастся осилить клонирование протокола "MTProto" - я уже год назад делал упрощённое API под "Telegram Web" для корпоративных нужд, и заебался разбираться с алгоритмом шифрования . В итоге, тупо отредактировал "JS"-код, убрав оттуда фрагменты, связанные с шифровкой.
золотой хуй, ты с Камчатки? уже купался?
https://pbs.twimg.com/media/EjgGa8zWoAYC1Gg.jpg
Помню как у меня воспалились лимфоузлы я тоже пересрал
Ы-ы-ы-ы, блять, гавно.
Доброе утро.
prizma = {};
И кстати это реально правильный вариант википедия не пиздит:
>>Призма из 0-мерного многогранника — это отрезок, представленный пустым символом Шлефли {}.
а сколько было проведено тестирований всего и какой процент из них дал положительный результат?
какова динамика изменения процентного соотношения?
из 11615 случаев сколько тяжёлых и сколько бессимптомных?
можем ли мы верить статистике?
Так вот знай что с тобой будет если НАТО нас захватят: https://i.imgur.com/4t3xIj5.png
если НАТО тебя захватят, то газ и нефть закроют, потому что им свой надо добывать и сбывать, нахуй им ещё и твой, будешь сосать писю без работы
откуда вы такие беретесь
видно знатока, даже спорить не о чем
чтобы город палил, какой сотрудник не соблюдает режим "дома сиди ёпта", и продолжает кататься на работу, очевидно, а то накладно всех массово проверять
https://en.wikipedia.org/wiki/Bounds_checking
https://govnokod.ru/27007
https://govnokod.xyz/_27007/