К сожалению, я из тех людей, кто не умеет отдыхать. Если я больше часа ничего не делаю, то начинаю дрыгать и топать ногой, а вместе с тем и нервничать.
Первое января нового года не было исключением. В качестве подарка на Новый Год я купил себе iPhone с последней версией iOS 26 и обнаружил, что мой сайт-визитка не открывается на нем. Просто белый экран. На компьютерах с Windows, а также на предыдущих версиях iOS всё работает, как и должно.
После часовой сессии гугления и общения с ИИ я сделал несколько открытий:
· Apple не пускают другие браузерные движки на свои телефоны, потому все другие браузеры из App Store по сути тот же Safari (WebKit engine), просто в другом скине. С Safari часто бывают индивидуальные трудности при разработке, но меня смутило, что на компьютере в Chrome сайт открывается, а на телефоне нет. Загадка была разгадана.
· Причина, по которой не работал сайт на iOS 26 – устаревший метод substr в моем JavaScript-коде. Я написал этот сайт года 4 назад, потому не мудрено. Заменил его на substring, и страница загрузилась. Я так понимаю, substr все еще используется для обратной совместимости.
· Оказывается, private key от Putty (.ppk) не тоже самое, что ключи от OpenSSH. В целом не сказать, что это сюрприз, но было удивительно, что у фриварного Putty какие-то свои ключи.
На последнем пункте хочу остановиться чуть подробнее. Пока я ковырял свой сайт и искал причину, почему он не работает, я решил заодно настроить удаленный клиент VS Code по SSH, чтобы работать с кодом сразу на сервере.
Добрые 15 минут я не мог вкурить, почему мой ключ от Putty не работает в VS Code, пока не понял, что нужен OpenSSH.
И вот моя финальная мысль:
Я привык в разработке к тому, что постоянно меняются фреймворки, выходят какие-то новые тулзы и прочее, но еще разбираться и с разными приватными ключами…
Мне кажется, всяких приблуд становится так много, что им сложно вести счет и требуется определенная стандартизация. Каждая бесплатная херь создает свои форматы, которые между собой не работают и каждый раз надо разбираться в какой софт что идёт.
Согласны ли вы, что уже имеется некая избыточность в инструментах, доступных разработчикам?
#ios #ssh #javascript #frontend #putty #vscode
Первое января нового года не было исключением. В качестве подарка на Новый Год я купил себе iPhone с последней версией iOS 26 и обнаружил, что мой сайт-визитка не открывается на нем. Просто белый экран. На компьютерах с Windows, а также на предыдущих версиях iOS всё работает, как и должно.
После часовой сессии гугления и общения с ИИ я сделал несколько открытий:
· Apple не пускают другие браузерные движки на свои телефоны, потому все другие браузеры из App Store по сути тот же Safari (WebKit engine), просто в другом скине. С Safari часто бывают индивидуальные трудности при разработке, но меня смутило, что на компьютере в Chrome сайт открывается, а на телефоне нет. Загадка была разгадана.
· Причина, по которой не работал сайт на iOS 26 – устаревший метод substr в моем JavaScript-коде. Я написал этот сайт года 4 назад, потому не мудрено. Заменил его на substring, и страница загрузилась. Я так понимаю, substr все еще используется для обратной совместимости.
· Оказывается, private key от Putty (.ppk) не тоже самое, что ключи от OpenSSH. В целом не сказать, что это сюрприз, но было удивительно, что у фриварного Putty какие-то свои ключи.
На последнем пункте хочу остановиться чуть подробнее. Пока я ковырял свой сайт и искал причину, почему он не работает, я решил заодно настроить удаленный клиент VS Code по SSH, чтобы работать с кодом сразу на сервере.
Добрые 15 минут я не мог вкурить, почему мой ключ от Putty не работает в VS Code, пока не понял, что нужен OpenSSH.
И вот моя финальная мысль:
Я привык в разработке к тому, что постоянно меняются фреймворки, выходят какие-то новые тулзы и прочее, но еще разбираться и с разными приватными ключами…
Мне кажется, всяких приблуд становится так много, что им сложно вести счет и требуется определенная стандартизация. Каждая бесплатная херь создает свои форматы, которые между собой не работают и каждый раз надо разбираться в какой софт что идёт.
Согласны ли вы, что уже имеется некая избыточность в инструментах, доступных разработчикам?
#ios #ssh #javascript #frontend #putty #vscode
🤯1
4 января в 7:23 утра бог знает зачем ковырялся в личном кабинете Теле2. Наткнулся на интересный то ли баг, то ли фичу.
В категории "Действия с моим номером" первая кнопка, казалось бы, содержит опечатку, два раза напечатана буква "О" в слове "перенос", но в инструментах разработчика всё в порядке, опечаток нет.
Технически всё в порядке, но тем не менее проблема имеется. Да, на зуме страницы в 200% при FullHD разрешении монитора букву С становится видно.
Интересный пример того, что подстава может прийти откуда угодно, даже если вроде бы как всё сделали правильно.
Видимо, нюанс собственного шрифта. В такие моменты всегда хотелось бы иметь возможность поболтать с разработчиками и спросить:
1) В курсе ли такой проблемы команда?
2) Если да, то насколько сложен бюрократический процесс, необходимый, чтобы быстро это исправить?
3) Как определяется ответственность за ошибки и какая цепочка ответственных за очередной деплой коммита или хотфикса?
4) Есть ли какой-то QA-стенд, где проверяются такие мелочи простыми пользователями?
Если кто-то из Теле2 наткнется на этот пост, с большим удовольствием бы почитал комменты.
#frontend #font #ux #tele2
В категории "Действия с моим номером" первая кнопка, казалось бы, содержит опечатку, два раза напечатана буква "О" в слове "перенос", но в инструментах разработчика всё в порядке, опечаток нет.
Технически всё в порядке, но тем не менее проблема имеется. Да, на зуме страницы в 200% при FullHD разрешении монитора букву С становится видно.
Интересный пример того, что подстава может прийти откуда угодно, даже если вроде бы как всё сделали правильно.
Видимо, нюанс собственного шрифта. В такие моменты всегда хотелось бы иметь возможность поболтать с разработчиками и спросить:
1) В курсе ли такой проблемы команда?
2) Если да, то насколько сложен бюрократический процесс, необходимый, чтобы быстро это исправить?
3) Как определяется ответственность за ошибки и какая цепочка ответственных за очередной деплой коммита или хотфикса?
4) Есть ли какой-то QA-стенд, где проверяются такие мелочи простыми пользователями?
Если кто-то из Теле2 наткнется на этот пост, с большим удовольствием бы почитал комменты.
#frontend #font #ux #tele2
❤🔥1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Появилась необходимость снова зайти на сайт Apple.
Я уже как-то упоминал его в предыдущих постах, где показывал отсутствие проверок на вводимые данные на фронтенде при попытке логина в iCloud.
В этот раз мне нужна была помощь с активацией iMessage, так как я отправил уже более 20 СМС для активации сервиса, но он так и не включился. В интернетах прочёл, что можно запросить поддержку, оставив заявку на сайте. Подозреваю, чтобы кто-то вручную включил мне онлайн-чат в сообщениях.
Сайт поддерживает светлую и темную тему, а я любитель темных тем, так как они гарантируют, что при любой освещённости мои глаза не выйдут из чата, когда я неосмотрительно зайду на страницу. В общем, едва я успел запросить помощь, как вся страница начала прыгать туда-сюда, а еще в качестве приза за терпение показала мне нечитаемый выпадающий список.
Я, честно сказать, оторопел от такого и подумал, что это просто у меня какая-то проблема. Может расширение в браузере блокирует стили или еще что-то. Но нет, я зашел с чистого Firefox и там всё тоже самое. Если прошлый пост про валидацию был любопытным наблюдением к слову о том, насколько подробной должна быть валидация данных на фронте, то данный случай просто показывает какое-то пренебрежение то ли продуктом, то ли клиентами, то ли конкретно вот этой частью сервиса, связанной с получением поддержки.
В любом случае, выглядит как чей-то домашний проект и вызывает лишь подъемы бровей.
Если кому-то интересно, скроллы прыгают, потому что крутится спиннер, который, по всей видимости, вместе с собой крутит либо padding, либо margin. Из-за этого родительский размер блока меняет размер скролла. Детально изучать не стал, за это не заплатят, но когда я учился верстать, такой прикол часто возникал по неопытности.
#apple #ux #frontend
Я уже как-то упоминал его в предыдущих постах, где показывал отсутствие проверок на вводимые данные на фронтенде при попытке логина в iCloud.
В этот раз мне нужна была помощь с активацией iMessage, так как я отправил уже более 20 СМС для активации сервиса, но он так и не включился. В интернетах прочёл, что можно запросить поддержку, оставив заявку на сайте. Подозреваю, чтобы кто-то вручную включил мне онлайн-чат в сообщениях.
Сайт поддерживает светлую и темную тему, а я любитель темных тем, так как они гарантируют, что при любой освещённости мои глаза не выйдут из чата, когда я неосмотрительно зайду на страницу. В общем, едва я успел запросить помощь, как вся страница начала прыгать туда-сюда, а еще в качестве приза за терпение показала мне нечитаемый выпадающий список.
Я, честно сказать, оторопел от такого и подумал, что это просто у меня какая-то проблема. Может расширение в браузере блокирует стили или еще что-то. Но нет, я зашел с чистого Firefox и там всё тоже самое. Если прошлый пост про валидацию был любопытным наблюдением к слову о том, насколько подробной должна быть валидация данных на фронте, то данный случай просто показывает какое-то пренебрежение то ли продуктом, то ли клиентами, то ли конкретно вот этой частью сервиса, связанной с получением поддержки.
В любом случае, выглядит как чей-то домашний проект и вызывает лишь подъемы бровей.
Если кому-то интересно, скроллы прыгают, потому что крутится спиннер, который, по всей видимости, вместе с собой крутит либо padding, либо margin. Из-за этого родительский размер блока меняет размер скролла. Детально изучать не стал, за это не заплатят, но когда я учился верстать, такой прикол часто возникал по неопытности.
#apple #ux #frontend
🔥1🤯1
Обновился до iOS 26.
Обнаружил, что наконец-то можно задать микрофон по умолчанию. Это всегда было проблемой на смартфонах, так как я считаю, что не существует на сегодняшний день Bluetooth-гарнитур, которые позволяли бы комфортно общаться где-либо, кроме пустой комнаты (с мягкими стенами, хи-хи-хи). Во всех иных сценариях либо шум, либо шумодав делает речь непригодной для общения.
В общем, начал радоваться. Действительно, после подключения наушников или микрофона в машине в приложениях продолжает работать выбранный микрофон (я всегда выбираю микрофон самого телефона, он реально классный).
Но так как я в основном пользуюсь телеграмом для общения, я очень быстро обнаружил, что именно в нем выбранный микрофон не работает. Он игнорируется, если есть другие подключенные гарнитуры.
Ну поковырялся маленько, перезапустил, переустановил, перезагрузил телефон. Всё бестолку, пошел писать багрепорт.
Так что если кто-то тоже обнаружил или просто хочет поддержать - можно пройти по ссылке и проголосовать, может быстрее пофиксят.
#telegram #bug #report #ios #iphone
Обнаружил, что наконец-то можно задать микрофон по умолчанию. Это всегда было проблемой на смартфонах, так как я считаю, что не существует на сегодняшний день Bluetooth-гарнитур, которые позволяли бы комфортно общаться где-либо, кроме пустой комнаты (с мягкими стенами, хи-хи-хи). Во всех иных сценариях либо шум, либо шумодав делает речь непригодной для общения.
В общем, начал радоваться. Действительно, после подключения наушников или микрофона в машине в приложениях продолжает работать выбранный микрофон (я всегда выбираю микрофон самого телефона, он реально классный).
Но так как я в основном пользуюсь телеграмом для общения, я очень быстро обнаружил, что именно в нем выбранный микрофон не работает. Он игнорируется, если есть другие подключенные гарнитуры.
Ну поковырялся маленько, перезапустил, переустановил, перезагрузил телефон. Всё бестолку, пошел писать багрепорт.
Так что если кто-то тоже обнаружил или просто хочет поддержать - можно пройти по ссылке и проголосовать, может быстрее пофиксят.
#telegram #bug #report #ios #iphone
🔥4❤1
Я довольно часто продаю что-то на Авито. В очередной раз продавал сломанный роутер.
Бывает, что пишут с порога с отличными финансовыми предложениями и их я обычно игнорирую.
Запечатлел вот такую зарисовку. На данном скрине можно увидеть небольшой сюжет полный смелости и терпения, но, как пел Хью Лори, не всегда можно получить то, что хочется.
#Avito #router
Бывает, что пишут с порога с отличными финансовыми предложениями и их я обычно игнорирую.
Запечатлел вот такую зарисовку. На данном скрине можно увидеть небольшой сюжет полный смелости и терпения, но, как пел Хью Лори, не всегда можно получить то, что хочется.
#Avito #router
❤1
Бешеная уверенность искусственного интеллекта иногда бодрит.
Конкретно в этом случае его решение проканало, но был сценарий, когда я тупо копипастил его команды в терминал и он мне снес докер совершенно полностью, чтобы исправить ошибки при запуске.
Ну, технически он прав. Нет докера - нет проблемы.
100% ГАРАНТИРОВАННЫЙ ФИКС ✅
ОНО ЗАРАБОТАЕТ Я ТЕБЕ ГАРАНТИРУЮ
#ai #lmarena #debian
Конкретно в этом случае его решение проканало, но был сценарий, когда я тупо копипастил его команды в терминал и он мне снес докер совершенно полностью, чтобы исправить ошибки при запуске.
Ну, технически он прав. Нет докера - нет проблемы.
100% ГАРАНТИРОВАННЫЙ ФИКС ✅
ОНО ЗАРАБОТАЕТ Я ТЕБЕ ГАРАНТИРУЮ
#ai #lmarena #debian
❤1
Сейчас по проекту работаем постоянно с виртуалками, хостим всё на машине с Debian. Накатили ОС, раздали всем учетки. Если нужны действия от рута, то, как и положено, делаем через
В целом, работа идет, но каждый раз вводить пароль бесконечно бесит. Но что еще больше бесит, так это то, что при работе с WinSCP при попытке доступа к файлу, который доступен только root, нет возможности ввести пароль для поднятия прав. И вот как решить это, я вам расскажу:
Нужно сделать две вещи:
1) Файл
Так, при выполнении sftp команд юзером
2) Поменять настройки терминала в WinSCP
Открываем WinSCP, выбираем хост, который хотим открыть. Прежде, чем присоединяться, нажимаем "Edit" в правой части экрана, кнопка "Advanced..." станет активной. Жмем ее, в новом окне в списке выбираем Shell. В правой части в поле "Shell:" вводим
Всё, теперь при попытке доступа к файлам, принадлежащим root, не должно быть ошибок доступа.
Обязательно имейте ввиду безопасность вопроса. У нас тестовый сервер, ломаем что хотим. Однако, полный sftp-доступ к root файлам обычным юзером может стать источником проблем.
Короче, это плохая практика, и если кто-то может поделиться опытом как это решить более правильно, буду рад почитать подсказки.
#debian #winscp #sftp #sudo #linux
sudo с вводом пароля. Ничего особенного.В целом, работа идет, но каждый раз вводить пароль бесконечно бесит. Но что еще больше бесит, так это то, что при работе с WinSCP при попытке доступа к файлу, который доступен только root, нет возможности ввести пароль для поднятия прав. И вот как решить это, я вам расскажу:
Нужно сделать две вещи:
1) Файл
sudoers. Мы добавили нужного юзера в sudoers.d/coolusername-sftp и добавили ему права на работу с WinSCP без запроса пароля для повышения прав.coolusername ALL=(root) NOPASSWD: /usr/lib/openssh/sftp-server
Так, при выполнении sftp команд юзером
coolusername не будет запрашиваться пароль.2) Поменять настройки терминала в WinSCP
Открываем WinSCP, выбираем хост, который хотим открыть. Прежде, чем присоединяться, нажимаем "Edit" в правой части экрана, кнопка "Advanced..." станет активной. Жмем ее, в новом окне в списке выбираем Shell. В правой части в поле "Shell:" вводим
sudo -s.Всё, теперь при попытке доступа к файлам, принадлежащим root, не должно быть ошибок доступа.
Обязательно имейте ввиду безопасность вопроса. У нас тестовый сервер, ломаем что хотим. Однако, полный sftp-доступ к root файлам обычным юзером может стать источником проблем.
Короче, это плохая практика, и если кто-то может поделиться опытом как это решить более правильно, буду рад почитать подсказки.
#debian #winscp #sftp #sudo #linux
❤1
С гордостью представляю вам своего зверя. Машина, которая каждый день с утра до ночи пашет вместе со мной, является источником зарплаты, отдыха, знаний, нового опыта.
Инструмент, с которым я себя идентифицирую, и без которого мне уже просто не представить свою рутину.
AMD Ryzen 7 9800X3D 8-Core 4.70 GHz
NVIDIA GeForce RTX 3060 12GB (Жду 5070ti, очень скоро приедет!)
32,0 ГБ DDR5 6400 Mhz (Нехило я так успел купить перед ИИ бумом)
B850M AORUS ELITE WIFI6E ICE
Периферия:
Клавиатура Royal Kludge S98
Мышь VGN Dragonfly F2 Ultra+
Наушники Arctis Nova 7P Wireless
Если у вас есть желание, я был бы рад почитать про ваши компы, что интересного в них есть, какие-то украшалки или просто история, связанная со сборкой.
#build #pc
Инструмент, с которым я себя идентифицирую, и без которого мне уже просто не представить свою рутину.
AMD Ryzen 7 9800X3D 8-Core 4.70 GHz
NVIDIA GeForce RTX 3060 12GB (Жду 5070ti, очень скоро приедет!)
32,0 ГБ DDR5 6400 Mhz (Нехило я так успел купить перед ИИ бумом)
B850M AORUS ELITE WIFI6E ICE
Периферия:
Клавиатура Royal Kludge S98
Мышь VGN Dragonfly F2 Ultra+
Наушники Arctis Nova 7P Wireless
Если у вас есть желание, я был бы рад почитать про ваши компы, что интересного в них есть, какие-то украшалки или просто история, связанная со сборкой.
#build #pc
🔥2
Что, ребята, разгоняем мониторы теперь?
Кто-нибудь после 144Гц видит разницу вообще?
#monitor #HKC #overclock
Кто-нибудь после 144Гц видит разницу вообще?
#monitor #HKC #overclock
🤯2
Решил по приколу закинуть Соглашение подписчика Steam в DeepSeek. На волне разговоров про то, что купленные игры вам не принадлежат, стало любопытно. Смотрите, какая оговорка для российских пользователей:
Стим не перестаёт удивлять, сервис бешенный.
#steam #ssa
10. Применимое право и юрисдикция (Крайне важно для пользователей из России и стран СНГ):
Для пользователей за пределами ЕС и Великобритании споры регулируются законодательством штата Вашингтон, США. Вы соглашаетесь на исключительную подсудность судов округа Кинг (штат Вашингтон). Это означает, что в случае спора с Valve, рассматриваться он будет по американским законам в американском суде.
В соглашении сделана специальная оговорка для жителей России:
"Если вы проживаете в Российской Федерации, вы можете обратиться в районный суд по месту жительства." Это даёт вам право подать иск в суд по своему месту жительства в соответствии с российским законодательством.
Для пользователей в ЕС и Великобритании действует законодательство страны их проживания.
Стим не перестаёт удивлять, сервис бешенный.
#steam #ssa
❤1
❤2🤯1
Короч, была у меня проблема, которая жутко бесила периодически, но так как постоянно с ней сталкиваться не приходилось, я всё как-то не решался взяться за нее. Тут в очередной раз, когда нужно было залипнуть в
В чем суть: в
Дело в
Сложность тут, пожалуй, в том, что я ожидал автоматического обновления модулей PowerShell, вместе с ОС, но этого не происходило. Может кто-то объяснит почему так.
Обновить просто:
#powershell #windows
VScode, я снова с ней столкнулся и понял, что пора что-то решать.В чем суть: в
PowerShell бывает приколюха, что ввод начинает полностью игнорировать заглавные буквы. Ни с клавы, ни копипастой невозможно вставить, они игнорируются. Это невозможно бесит, когда ты пушишь коммиты или копипастишь что-то в консоль. Полез разбираться.Дело в
PSReadLine. Это модуль PowerShell, который отвечает за улучшенный ввод в консоль. Когда вы запускаете PowerShell, он по дефолту запускается и занимается вводом ваших команд. Так вот, с той Win10, которую я ставил, там шла версия 2.0.0. После короткой сессии поисков инфы в гугле, я узнал, что решение простое - обновиться. Я обновился до последней доступной 2.4.5. Сложность тут, пожалуй, в том, что я ожидал автоматического обновления модулей PowerShell, вместе с ОС, но этого не происходило. Может кто-то объяснит почему так.
Обновить просто:
Get-Module PSReadLine -ListAvailable | Select-Object Name, Version, Path # Проверить текущую версию
Install-Module -Name PSReadLine -Force -SkipPublisherCheck # Установить последнюю версию, если вообще не было установлено ранее
Update-Module -Name PSReadLine # Или обновить существующую
#powershell #windows
Docs
PSReadLine Module - PowerShell
The PSReadLine module contains cmdlets that let you customize the command-line editing environment in PowerShell. There have been many updates to PSReadLine since the version that ships in Windows PowerShell 5.1. v2.3.6 first shipped in PowerShell 7.4.7…
❤1
Решил я купить себе Flipper Zero. На текущем проекте мы работаем с RFID-метками и считывателями, потому стала интересна в принципе тема RFID, NFC, Sub-GHz и прочих. С покупками у меня разговор короткий, первым делом смотрю на Озон и Wildberries, и если там нет, того, что нужно, то уже иду искать дальше.
В общем, нашел на Озон вариант за 15 тысяч. Конечно, лот был сомнительный. Из картинок только графические рендеры устройства. Тип устройства указан как Радиолампа. Сомнения были, но до этого много так покупал, плюс на озон без проблем можно вернуть всё. Заказал (Ссылка для примера, картинки были такие же, но покупка была в другом магазине).
Приехал монстр Франкенштейна, имитация жизни, но в тоже время любопытная подделка. Корпус сделан на 3Д-принтере, ОС очень похожая, вместо фирменного дельфина - капибара, но понятное дело, нам нужен оригинальный товар. Вернул.
Написал продавцу в магазин на озоне, мол, почему паль продаёте такую бешеную едва ли дешевле оригинала. Ответ убил...
В итоге заказал на Джум Гик. Получилось на пару тысяч дороже, но приехало очень быстро и, что самое главное, приехало то, что должно было.
#flipper #joom #ozon #rfid
В общем, нашел на Озон вариант за 15 тысяч. Конечно, лот был сомнительный. Из картинок только графические рендеры устройства. Тип устройства указан как Радиолампа. Сомнения были, но до этого много так покупал, плюс на озон без проблем можно вернуть всё. Заказал (Ссылка для примера, картинки были такие же, но покупка была в другом магазине).
Приехал монстр Франкенштейна, имитация жизни, но в тоже время любопытная подделка. Корпус сделан на 3Д-принтере, ОС очень похожая, вместо фирменного дельфина - капибара, но понятное дело, нам нужен оригинальный товар. Вернул.
Написал продавцу в магазин на озоне, мол, почему паль продаёте такую бешеную едва ли дешевле оригинала. Ответ убил...
"Мы не можем использовать символику оригинального товара, чтобы не засудили за авторские права."
В итоге заказал на Джум Гик. Получилось на пару тысяч дороже, но приехало очень быстро и, что самое главное, приехало то, что должно было.
#flipper #joom #ozon #rfid
❤1😱1
Низкое качество
Часть 1.
Наткнулся на пост "коллеги по цеху", который ссылается на статью, рассказывающую про падение качества разрабатываемого ПО.
Прямолинейная и отрезвляющая статья. Необходимая к прочтению тем, кто уже давно работает "в рутине", когда все дни похожи на один, и уже плохо помнится зачем мы вообще приходим в разработку.
Действительно, посредственная работа уже давно нормализована, и если айтишники видят, что из калькулятора утекает 32гб ОЗУ или из-за ошибки на бэкенде ложится аэропорт, в отличие от обычного пользователя, то, например, запуск неиграбельного Cyberpunk 2077 на PS4, который привел к изъятию игры из PS Store и возвратам, или обновы для очередной Call Of Duty по 100+ гб, запомнили многие. Вот еще несколько примеров абсолютно кошмарных запусков игр, которые были либо не готовы на момент выхода, либо требовали тонну патчей:
- The Last of Us
- Borderlands 4
- Grand Theft Auto: The Trilogy
- Redfall
И я совершенно согласен с тем, что ИИ здесь далеко не главный виновник. В выпуске продукта участвуют не только разрабы, а еще огромная куча людей, особенно управленцев, задача которых следить за тем, чтобы дорожная карта проекта шла своим чередом. И по тому отношению, которое показывают владельцы продуктов, к пользователю, можно сделать вывод, что сегодня нет цели делать качественное программное творение.
"Borderlands 4 is a premium game made for premium gamers."
Примешивая сегодняшнюю непостижимую жадность ААА-компаний в разговор, можно представить под каким давлением находятся люди, работающие на этих местах. И ожидается, что под давлением люди начинают работать лучше, но по сути работая всё время в стрессе люди только больше допускают промахов (ой, вау, сюрприз).
В этом случае невозможно не сравнивать с тем, что происходило с геймдевом в начале 2000х. Это была эпоха чудес, почти каждый крупный проект совершал какой-то подвиг. Вот лишь некоторые:
- The Elder Scrolls III: Morrowind (2002) - Игра создавала огромный открытый мир, в котором нужно было следить за тысячами вещей (NPC, квесты, книги). При объеме ОЗУ в 64 мегабайт на первом Xbox это было нереально. Разработчики на загрузочном экране не просто подгружали ресурсы, они полностью перезагружали консоль, чтобы высвободить память.
- Shadow of the Colossus (2005) - Шерсть колоссов. Рендерить каждую отдельную шерстинку PlayStation 2 не смогла бы, потому разрабы придумали способ, с помощью которого они наслаивали полупрозрачные текстуры друг на друга, создавая впечатление объемной шерсти, по которой игрок мог бы лезть.
- Resident Evil 2 (N64 Port - 1999/2000) - Моё любимое. Подвиг. Ни больше, ни меньше.
Изначально игра вышла на PS1 на двух дисках, общим весом 1.2гб. Капком удалось перенести игру на картридж Nintendo 64, в котором было только 64мб памяти. Разрабы Angel Studios (сейчас Rockstar San Diego) сжали игру 20 к 1 без потери игрового контента. Это удалось по нескольким причинам:
1) Свой видеокодек. Кодек разделял слои видеороликов. Черно-белый слой оставался в нормальном для консоли разрешении, а цветовой был ужат где-то до одной четвертой от этого. Глаз сам дополнял цветные пробелы в темных местах игры (по сути почти всех), что позволило сэкономить много места на видеороликах.
2) Задние фоны. В игре не было полностью трехмерных сцен. Всей картой были двухмерные изображения, по которым перемещались трехмерные модельки персонажей. И этих двухмерных фонов были сотни, хотя большие части этих фонов были либо просто темные пространства или повторяющиеся текстуры стен или пола. Была сделана система, которая на лету переиспользовала одни и те же "плитки", что помогло экономить место. Бонусом шло динамическая смена разрешения этих плиток. Например, если главный герой стоял на переднем плане, то какие-то элементы на заднем рендерились в меньшем разрешении.
3) Саундтрек. Треки игры занимают много места, как самостоятельные файлы, потому разработчики положили "запись" ноты инструмента, а затем в коде написали как играть каждый трек (типа MIDI в Guitar Pro).
Часть 1.
Наткнулся на пост "коллеги по цеху", который ссылается на статью, рассказывающую про падение качества разрабатываемого ПО.
Прямолинейная и отрезвляющая статья. Необходимая к прочтению тем, кто уже давно работает "в рутине", когда все дни похожи на один, и уже плохо помнится зачем мы вообще приходим в разработку.
Действительно, посредственная работа уже давно нормализована, и если айтишники видят, что из калькулятора утекает 32гб ОЗУ или из-за ошибки на бэкенде ложится аэропорт, в отличие от обычного пользователя, то, например, запуск неиграбельного Cyberpunk 2077 на PS4, который привел к изъятию игры из PS Store и возвратам, или обновы для очередной Call Of Duty по 100+ гб, запомнили многие. Вот еще несколько примеров абсолютно кошмарных запусков игр, которые были либо не готовы на момент выхода, либо требовали тонну патчей:
- The Last of Us
- Borderlands 4
- Grand Theft Auto: The Trilogy
- Redfall
И я совершенно согласен с тем, что ИИ здесь далеко не главный виновник. В выпуске продукта участвуют не только разрабы, а еще огромная куча людей, особенно управленцев, задача которых следить за тем, чтобы дорожная карта проекта шла своим чередом. И по тому отношению, которое показывают владельцы продуктов, к пользователю, можно сделать вывод, что сегодня нет цели делать качественное программное творение.
"Borderlands 4 is a premium game made for premium gamers."
Примешивая сегодняшнюю непостижимую жадность ААА-компаний в разговор, можно представить под каким давлением находятся люди, работающие на этих местах. И ожидается, что под давлением люди начинают работать лучше, но по сути работая всё время в стрессе люди только больше допускают промахов (ой, вау, сюрприз).
В этом случае невозможно не сравнивать с тем, что происходило с геймдевом в начале 2000х. Это была эпоха чудес, почти каждый крупный проект совершал какой-то подвиг. Вот лишь некоторые:
- The Elder Scrolls III: Morrowind (2002) - Игра создавала огромный открытый мир, в котором нужно было следить за тысячами вещей (NPC, квесты, книги). При объеме ОЗУ в 64 мегабайт на первом Xbox это было нереально. Разработчики на загрузочном экране не просто подгружали ресурсы, они полностью перезагружали консоль, чтобы высвободить память.
- Shadow of the Colossus (2005) - Шерсть колоссов. Рендерить каждую отдельную шерстинку PlayStation 2 не смогла бы, потому разрабы придумали способ, с помощью которого они наслаивали полупрозрачные текстуры друг на друга, создавая впечатление объемной шерсти, по которой игрок мог бы лезть.
- Resident Evil 2 (N64 Port - 1999/2000) - Моё любимое. Подвиг. Ни больше, ни меньше.
Изначально игра вышла на PS1 на двух дисках, общим весом 1.2гб. Капком удалось перенести игру на картридж Nintendo 64, в котором было только 64мб памяти. Разрабы Angel Studios (сейчас Rockstar San Diego) сжали игру 20 к 1 без потери игрового контента. Это удалось по нескольким причинам:
1) Свой видеокодек. Кодек разделял слои видеороликов. Черно-белый слой оставался в нормальном для консоли разрешении, а цветовой был ужат где-то до одной четвертой от этого. Глаз сам дополнял цветные пробелы в темных местах игры (по сути почти всех), что позволило сэкономить много места на видеороликах.
2) Задние фоны. В игре не было полностью трехмерных сцен. Всей картой были двухмерные изображения, по которым перемещались трехмерные модельки персонажей. И этих двухмерных фонов были сотни, хотя большие части этих фонов были либо просто темные пространства или повторяющиеся текстуры стен или пола. Была сделана система, которая на лету переиспользовала одни и те же "плитки", что помогло экономить место. Бонусом шло динамическая смена разрешения этих плиток. Например, если главный герой стоял на переднем плане, то какие-то элементы на заднем рендерились в меньшем разрешении.
3) Саундтрек. Треки игры занимают много места, как самостоятельные файлы, потому разработчики положили "запись" ноты инструмента, а затем в коде написали как играть каждый трек (типа MIDI в Guitar Pro).
❤1