TGViewer
Channel Public Channel
The ExtremeCode Times

The ExtremeCode Times

@extremecode

IT punks.

❤️ YouTube
https://youtube.com/ExtremeCode

💸 Реклама
@Mshvyag / eaa@extremecode.studio

Для РКН: № 5025353650
Subscribers
35.6K
Photos
670
Videos
58
Links
545

Showing posts older than #1314 · Back to latest

Older Posts 18 shown
Post #1313 36.7K
Считаю == вообще не очевидным, что за двойное присваивание, кто это придумал вообще? Абсолютно не читабельно.

String.IsNullOrEmpty(str) is false


Единственно верный вариант.

P.S.
Если я что-то утверждаю, я не обязан представлять доказательства, если вы утверждаете обратное, опровергая меня, это вы должны доказательства представлять 🤯
  • 🤣 476
  • 👍 79
  • 🥴 37
  • 💯 22
  • 🗿 15
  • 😁 4
  • 🥰 3
  • 🤝 3
  • 🤯 1
Post #1312 35.7K
!string.IsNullOrEmpty(str)


Или

string.IsNullOrEmpty(str) == false


???

Встречаю популярное мнение, что АРЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ МЕНЬШЕ БУКАВ ЛУЧШЕ, ПОТОМУ ЧТО МНОГА БУКАВ ЭТО ПЛОХА, БУКАВЫ ЧИТАТЬ ТЯЖЕЛО, а в первом варианте буковок меньше. Но ведь == false читается легче, потому что мы читаем сначала, а не с конца.

Первый вариант читается: "Не строка пустая или null".
Вторая читается: "Строка пустая или null - ложное утверждение"

В первом варианте тебе надо держать в голове, что там в начале есть отрицание и не забыть про это. Во втором варианте ты можешь читать бегло не запоминая, что там есть какие-то дополнительные операторы, которые надо применить.

!string.IsNullOrEmpty(str) - трахает по читаемости, если только ты читаешь справа налево.
  • 👍 355
  • 🗿 78
  • 🤨 36
  • ❤ 12
  • 😁 10
  • 🆒 8
  • 🤓 7
  • 🤯 4
  • 🍌 4
Post #1308 38.1K
Специально для неслишком умных чуваков из каментов: Я воссоздаю движок уже готовой игры, а не пилю игру с нуля. Где вы тут смогли увидеть противоречие в принципе? Игра называется Scratches / Шорох.

1. Игра Abandonware; в правовом аду, она не может продаваться
2. Оригинальный движок игры максимально хреново сохранился:
2.1 SCream это скриптовый хост, который работает, как стейт машина, т.е. обрабатывает команды подающиеся в него последовательно, в зависимости от текущего стека состояний.
2.2 Вся игра написана на Lua, байткод легко декомпилируется — но он содержит в себе только игровую логику, а не стек состояний / рендеринг / звук / интеракцию с предметами / etc

Пример создания кубмапа на Lua в игре, который обрабатывает движок:
  scCreate(SC_ROOM, "house-guest")
scBegin(SC_ROOM)
scCreate(SC_NODE, "n1")
scBegin(SC_NODE)
scTexture(SC_FRONT, "hs-guest_n1f.jpg")
scTexture(SC_BACK, "hs-guest_n1b.jpg")
scTexture(SC_LEFT, "hs-guest_n1l.jpg")
scTexture(SC_RIGHT, "hs-guest_n1r.jpg")
scTexture(SC_UP, "hs-guest_n1u.jpg")
scTexture(SC_DOWN, "hs-guest_n1d.jpg")
scFootstep("fx-foot_hollow1.ogg")


И вот подобной хуйни там на 23к строк кода. Как воссоздать движок по таким наскальным рисункам? Загадка Жака Фреско. Очевидно по названию функции и передаваемым аргументам. Вот в инициализации кубамапа все очевидно. Но есть места и неочевидные, вроде
  scFXPlayEx(SC_3DD, "fx-hammer_hall.ogg", 0, 1)


2.3 Игра захардкожена в разрешении 1024х768, из-за оригинальной реализации движка она не может рендерить картинку в большем разрешении, т.к. все hotspot'ы (интерактивные области) имеют абсолютные координаты. В моей реализации я конвертирую все входные координаты в относительные, под любое разрешение.

1 скриншот — оригинальное разрешение
2 скриншот — оригинальная игра, растянутая на полный экран
3 скриншот — моя реализация двигла, с относительными хотспотами

Скриншоты мартовские, сейчас я уже далеко вперед продвинулся.
  • 👏 232
  • ❤ 49
  • 👍 32
  • 🔥 23
  • 🌚 9
  • 🤓 3
  • ❤‍🔥 2
  • 🤣 1
Post #1307 30.5K
Навайбкодил движок за месяц до такого состояния. Я ввязался в это, не потому что это легко, а потому что я ДУМАЛ, что это будет легко.

Вообще, хотел позаморачиваться с рендерингом графики, а выяснилось, что в данном случае — рендеринг, это самая легкая часть.

Че, как на счет N-часового видоса в котором поэтапно раскрываются все нюансики производства такого движка?

P.S.
Но в любом случае, нужно сначала докодить, тут еще месяц на допиливание оставшихся функций и полировку, как минимум.
  • ❤ 554
  • 🔥 164
  • 👍 46
  • 🗿 20
  • 🌚 7
  • 💅 5
  • ❤‍🔥 4
  • 🤓 2
  • 🆒 1
Post #1306 36.6K
  • 😁 31
  • 😭 29
  • ❤ 2
Post #1305 40.1K
> ИИ ОСТАВИТ ТЕБЯ БЕЗ РАБОТЫ
> ПРОФЕССИЯ ПРОГРАММИСТА — ВСЁ
> ТВОЯ БАБУШКА ЛЮБИТ ЧАТЖПТ БОЛЬШЕ, ЧЕМ ТЕБЯ
> ДЖУНЫ БОЛЬШЕ НЕ НУЖНЫ

Знаете, люди склонны преувеличивать или преуменьшать значимость открытий.
35 лет назад всерьёз думали, что сейчас все будут летать в отпуск в космос, вместо засраного оверпрайс трёхзвёздочного отеля в Анапе.
При этом один из создателей лазера в интервью даже не представлял, что тому найдут такое широкое практическое применение. Коллеги кекали с него, типа, делает какую-то шляпу.

А про компьютеры думали, что они понадобятся разве что парочке инженеров.

А не переоцениваем ли мы Иван Иванычей?
  • 👍 303
  • 😁 108
  • ❤‍🔥 13
  • ❤ 10
  • 🥴 7
  • 🤔 6
  • 🔥 4
  • 😭 3
  • 😴 1
Post #1303 41.1K
Позалипал вчера пару часиков с китайским Иван Иванычем, знатно накодили unsafe фигни, ну зато быстро. С учетом того, что оригинальное видео идет в 24 кадра.

ТРЕБУЮ отмены клоунов с предыдущего поста, а также письменных извинений в каментах 🥰

Крч, это вообще треш. Там, некий Ярик, (респект ему конечно за проделанную работу) переписал код Theora декодировщика с Java на C#. Оригинальный код прямиком из 2004-го года. Вот тут это дело можно заценить.

И вот тот участок кода [89-ая строка], который выдавал мне крепкие девять кадров.
  • 🔥 152
  • 🤓 51
  • 👍 11
  • 👨‍💻 7
  • 🦄 7
  • 🗿 5
  • 🌚 4
  • 💅 4
  • 🌭 3
Post #1302 35.6K
Как истинный софтваре инженер, попробовал щас декодировать видеопоток ogg/Theora софтварно — получил уверенные 9 кадров в секунду.

Ожидаемый затык в конвертации YUV -> RGB

Пока растодрочеры делают это за ~3 наносекунды, у меня на один кадр уходит бесконечное количество времени.

Не хотелось, конечно, подрубать ffmpeg для аппаратного декодирования, но я хотя бы попытался. В честь этого, в качестве временной акции, возвращаю реакт клоуна 🥰
  • 🤡 1.5K
  • 👍 15
  • 👌 5
  • 🥰 4
  • ❤‍🔥 3
  • 🐳 3
  • 🍌 3
  • 🌭 2
  • 👀 1
Post #1301 32K
Вот че смог накодить 🥰
  • 🔥 468
  • 👍 35
  • 🤣 12
  • 🏆 11
  • 🐳 7
  • 🍌 7
  • 🫡 5
  • ❤‍🔥 1
  • 🎄 1
Post #1300 31.3K
Крч, решил по фану вкатиться в кодинг графики. Накатил хипстерский стек: .NET 8; Silk.NET; OpenGL, вся хуйня.

Ковырялся в духе вайбкодеров примерно 2 недельки во всем этом дерьме. Осталось неприятное послевкусие во рту. Собственно, ВСТАЛ ряд вопросиков:

1. Сука, в 2025-ом году серьезно никто не додумался сделать какой-нибудь современный API для OpenGL, хотя бы в виде адаптера. Ведь он, литерали, работает как стейт-машина из 1985-го года, где порядок вызова функций влияет напрямую. Т.е. одна ошибка и ты ошибся. Как это дебажить — я в принципе нихуя не понял и судя по всякмим исходникам на просторах гитхаба — не я один такой.

2. А ЧЕ ТАК СЛОЖНО?

Пиздец, я ковыряюсь чисто в два дэ, ладно, даже мельком 2.5 дэ затронул. В чистое три дэ даже близко не лезу.

Вот примерный порядок действий для отрисовки жпега на экране:

1. Инициализировать буфферы вершин и индексов (опционально для последних)

2. В буффере вершин методом тыка или гуглежки (у меня пространственный кретинизм, я не могу визуализировать в пространстве положение точек), нужно состряпать полигон, в форме прямоугольника/квадрата на котором будет отображаться этот сраный жпег.

Cюда еще может добавиться пару параметров, которые будут заюзаны при размещении сраной текстурки.

3. Создать этот сраный буфферный объект в памяти видюхи

4. Скопировать данные из оперативки в этот сраный объект в памяти видюхи

5. Написать сраный шейдер, который будет накладывать этот сраный жпег на сраный прямоугольник

6. Загрузить сраную текстуру в память (тут можно еще 10 подпунктов описать)

7. Создать сраную ортографическую проекцию

8. Переключить состояние рендера в СПЕЦИАЛЬНОЕ ХУЙ ПОЙМИ КАКОЕ ДЛЯ ОТРИСОВКИ 2D

9, Забиндить все объекты, текстурки, шейдеры в АКТИВНОЕ состояние

И лишь потом в конце вызывать простенький метод отрисовки жпега.

Имаджинируй ебало разработчика движка, которому нужно рендерить сцену из большего числа объектов. Вкусно пиздец 🥰
  • 🍌 243
  • 😁 125
  • 👍 43
  • 🥴 13
  • ❤ 11
  • 🗿 8
  • 💅 7
  • 💯 4
  • 🤨 2
  • 😭 2
Post #1299 29.8K
А вот теперь экономике точно пиздец. Помните я говорил, что кризис айтишки можно прочитать по падению цены на медь? Это, так называемый, опережающий индикатор. Ловите график. ОБЪЯВЛЯЕТСЯ ПОГРУЖЕНИЕ. ВСЕМ ПРИСТЕГНУТЬ РЕМНИ, ЭТО НЕ ФЕЙК ОЧКО. ЭТО РЕАЛЬНОЕ ОЧКО. ААААААААААААААААА
  • 😁 368
  • 🥴 48
  • 😭 35
  • 🗿 17
  • 👍 9
  • 💯 9
  • 🌭 7
  • 🍾 7
  • ❤ 6
  • 🍌 3
Post #1296 41.4K
Вайбкодинг - это просто форма говнокодинга. Когда кто-то в интернете говорит, что в говнокоде нет ничего страшного, в него летит говно, но стоит добавить немножко нейросетей, это уже "вайб". Ну и клоунярство.
  • 🔥 511
  • 😁 139
  • 👍 39
  • 💯 28
  • 🤣 10
  • 🥴 9
  • 🤓 6
  • ❤ 4
  • ❤‍🔥 2
Post #1295 35.5K
Решил глянуть как там vue поживает, накатил стартовый проект с дефолтными настройками через витю и охерел с этих дев-плюшек-фентифлюшек. Чисто смотри, какие графы компонентов. Мда, вот и 22 век на подходе.
  • 🥴 182
  • 👍 70
  • ❤ 14
  • 🔥 11
  • 🤔 4
  • 😎 2
  • 🎃 1
Post #1293 35.3K
Какой же ms sql менеджер всратый продукт. У меня есть полный доступ с суперм-мега-админскими-правами к БД, я могу залезть в любую табличку и изменить её. Но я не могу сделать бекап на свою машину, я доложен делать бекап на сервер, где стоит БД и от туда его уже выкачивать. Ну или бекапить на сетевой диск. Ало, у меня там 5 табличек и 500 записей. Можно мне их на мою машину? Спасибо.
  • 🔥 246
  • 😁 120
  • 🥴 15
  • 👍 12
  • 😴 6
  • ❤ 3
  • 💯 3
  • 🤔 2
  • 😭 1
Post #1292 34.4K
Блин, попробовал покодить всякую дичь вместе с Grok'ом. Пока что самый рофельный Иван Иваныч из всех, не то что эти ваши душные чэдгпт ☺️

Бери, чел, попкорн, ща разберём, почему код в 2006 году был таким дерьмом и нахуй его так тупорыло сделали. Ты прав, что сейчас это смотрится как полный пиздец, но давай по порядку.

Нахуй так сделано изначально

Деды в 2006-ом, когда писали код, особенно для игровых движков, сталкивались с кучей ограничений и просто другим подходом к делу. Вот основные причины, почему всё так тупо вышло:

....

Да, чел, ты прав — в 2006-ом код часто был тупорылой залупой. Деды делали, как умели, с оглядкой на своё время и железо. Сейчас это выглядит как говно, потому что мы привыкли к нормальным практикам и инструментам. Если тебе этот шлак чинить, начни с быстрого фикса — пропиши комнату вручную. А если хочешь по красоте — пиши, помогу с кодом, чтобы не страдать лишний раз.

...

Чел, я понимаю, что у тебя 24к строк Lua-кода, и это реальный пиздец, особенно когда ты пытаешься засунуть это в свой движок на C#. Давай разберёмся, как минимизировать боль и сделать так, чтобы твой C# хотя бы частично переваривал этот код, особенно с учётом проблем вроде потери контекста.


Мой личный топ выглядит щас вот так
Grok >= DeepSeek > ChatGPT
  • 👍 229
  • 😁 77
  • 🥴 14
  • 🗿 7
  • ❤ 5
  • 🔥 4
  • 🌭 2
  • 🍌 2
  • 🎃 1
Post #1288 42K
Вы же знаете, что большинство языков программирования создаются для людей, чтобы им было проще понимать и писать код? Но что, если появится язык, разработанный специально для нейросетей? Такой язык позволит ИИ лучше понимать код и создавать на нём максимально эффективные решения.

Как бы мог выглядеть этот язык программирования для Иван Иванычей?
  • 👍 248
  • 🔥 30
  • 👻 17
  • 😁 15
  • ❤ 11
  • 🗿 11
  • 🌭 4
  • ❤‍🔥 3
  • 🤯 2
  • 🥰 1
Post #1287 39K
А чего так много хейтеров повысиралось по теме использования go для ts? Кому вообще не похер на чём оно написано? Главное что блейзингли фаст 🚀🚀🚀

Ааааа, так вот оно чё, это у них жопу порвало, что их любимую платформочку не используют для написания инструментов для этой платформы. И в этом они видят угрозу. Типа это первый симптом увядания языка. Не волнуйтесь господа js-ts'еры, у вас тут столько легаси, что еще вашим детям хватит.

Лично мне похер на чём там тс "ездит". Если что свичнемся в php. Вот php хватит уже на наших правнуков. Нейросети php 'шников не заменят, они в этом пиздеце не разберутся.
  • 👍 273
  • 🤣 235
  • ❤ 10
  • 💯 10
  • 🗿 8
  • 😁 5
  • 🌭 2
  • 🌚 1
Post #1286 40.2K
Китайский ИИ разработал ANUS. На этом всё на сегодня 🥰
  • 🤣 430
  • 😁 50
  • 🌭 24
  • 🔥 16
  • 👍 11
  • 🦄 9
  • 💅 8
  • 🍓 5
  • 👌 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →