Forwarded from ITc | новости
Создатель Doom: мы могли бы прекрасно работать на старом «железе», если бы не ленивые программисты
Известный разработчик игр Джон Кармак считает, что мы не так уж сильно нуждаемся в продвинутых чипах, как принято думать — просто это экономически выгоднее. Так он прокомментировал мысленный эксперимент про «CPU-апокалипсис» в Х.
Основатель студии id Software и экс-CTO Oculus утверждает, что дело не в ограниченности аппаратного обеспечения, а в неэффективности программного.
«Если бы приоритет отдавался оптимизации ПО, то работать на устаревшем оборудовании могло бы больше пользователей, чем многим может показаться», — написал Кармак. И добавил, что если бы на рынок перестали поступать новые чипы, то под влиянием действующих на нём сил произошло бы колоссальное повышение эффективности софта.
В качестве решения он предлагает кардинально поменять архитектуру современных программ: «Переписать все продукты на базе интерпретируемых микросервисов в монолитные приложения на нативном коде». По сути, это означает переход от современных подходов в разработке к более эффективным практикам прошлых эпох вычислительной техники. Программист признал, что у подобных изменений есть свои минусы, и значительные: «Новые инновационные продукты станут гораздо более редкими без сверхдешёвых и масштабируемых вычислительных мощностей», — полагает он.
Известный разработчик игр Джон Кармак считает, что мы не так уж сильно нуждаемся в продвинутых чипах, как принято думать — просто это экономически выгоднее. Так он прокомментировал мысленный эксперимент про «CPU-апокалипсис» в Х.
Основатель студии id Software и экс-CTO Oculus утверждает, что дело не в ограниченности аппаратного обеспечения, а в неэффективности программного.
«Если бы приоритет отдавался оптимизации ПО, то работать на устаревшем оборудовании могло бы больше пользователей, чем многим может показаться», — написал Кармак. И добавил, что если бы на рынок перестали поступать новые чипы, то под влиянием действующих на нём сил произошло бы колоссальное повышение эффективности софта.
В качестве решения он предлагает кардинально поменять архитектуру современных программ: «Переписать все продукты на базе интерпретируемых микросервисов в монолитные приложения на нативном коде». По сути, это означает переход от современных подходов в разработке к более эффективным практикам прошлых эпох вычислительной техники. Программист признал, что у подобных изменений есть свои минусы, и значительные: «Новые инновационные продукты станут гораздо более редкими без сверхдешёвых и масштабируемых вычислительных мощностей», — полагает он.
👍37❤8🤡6🤔1💯1
Forwarded from Голос Израиля | Израиль Новости Война
⚡️Компания Nebius, основанная израильским миллиардером Аркадием Воложем, сооснователем «Яндекса», получила от Управления инноваций Израиля грант в размере полмиллиарда шекелей ($135 млн) на создание израильского суперкомпьютера.
________
🎙Будь в курсе событий 🇮🇱
Подпишись на «Голос Израиля»
________
🎙Будь в курсе событий 🇮🇱
Подпишись на «Голос Израиля»
😁27😱20👍16🔥10💩3❤2🥰1🐳1
commit -m "better"
В общем, после нескольких лет попыток придумать что-то не столь всратое, я плюнул, и переписал runsvdir - это часть runit, которая отвечает именно за управление деревом процессов.
#herobora
В итоге, мой #runsvdir у меня прижился, и, как понятное следствие, я окончательно отказался от ошметков #runit:
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/ewontfix/main.c - свой элементарный init.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/rc/ix.sh#L9-L11 - клей между моим init, и схемой загрузки "как в runit", чтобы можно было заменять туда-сюда.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/halt/main.c https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/reboot/main.c - реализации halt/reboot, они, как ни странно, тоже часть init. Если такой способ (без graceful shutdown) кажется странным - читаем мои заметки про #reboot, https://www.tgoop.com/itpgchannel/1572.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/pid1/m.cpp#L157-L175 - пришлось перенести в runsvdir код, который убивает orphane процессы, в runit у меня это был cron job на shell (https://github.com/pg83/ix/blob/main/pkgs/bin/sched/stale/procs/scripts/staleprocs.sh), но в новой схеме так не получается, потому что сервисы сразу начинают наследоваться от pid 1, а не от pid > 1, поэтому инвариант "все, что подвисло к pid 1, но не runsvdir - мусор" перестал работать.
Так что теперь у меня официально полностьювелосипедный in house init!
С точки зрения скриптов инициализации ничего не поменялось, ага.
В итоге, мой #runsvdir у меня прижился, и, как понятное следствие, я окончательно отказался от ошметков #runit:
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/ewontfix/main.c - свой элементарный init.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/rc/ix.sh#L9-L11 - клей между моим init, и схемой загрузки "как в runit", чтобы можно было заменять туда-сюда.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/halt/main.c https://github.com/pg83/ix/blob/main/pkgs/bin/ix/init/reboot/main.c - реализации halt/reboot, они, как ни странно, тоже часть init. Если такой способ (без graceful shutdown) кажется странным - читаем мои заметки про #reboot, https://www.tgoop.com/itpgchannel/1572.
* https://github.com/pg83/ix/blob/main/pkgs/bin/ix/pid1/m.cpp#L157-L175 - пришлось перенести в runsvdir код, который убивает orphane процессы, в runit у меня это был cron job на shell (https://github.com/pg83/ix/blob/main/pkgs/bin/sched/stale/procs/scripts/staleprocs.sh), но в новой схеме так не получается, потому что сервисы сразу начинают наследоваться от pid 1, а не от pid > 1, поэтому инвариант "все, что подвисло к pid 1, но не runsvdir - мусор" перестал работать.
Так что теперь у меня официально полностью
С точки зрения скриптов инициализации ничего не поменялось, ага.
GitHub
ix/pkgs/bin/ix/init/ewontfix/main.c at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
👍11🔥7❤4🆒3
Так как сабж запретил uBlock, то я подумываю съехать на какой-нибудь другой (chromium-based) browser.
Пока мне больше всех нравится https://brave.com/, но, возможно, я что-то упускаю?
Пока мне больше всех нравится https://brave.com/, но, возможно, я что-то упускаю?
💩23❤6👍4🤔2🆒2💊1
commit -m "better"
Поэтому получается так, что дистростроители прямо очень сильно не любят Rust:
Продолжаем тему "почему дистростроители не любят Rust"
https://gitlab.archlinux.org/archlinux/packaging/packages/mesa/-/blob/main/PKGBUILD?ref_type=heads#L103-144
Вот так, например, приходится приседать в Arch, чтобы доставить до сраной #meson сборки #mesa (которая, сама по себе, сошла с ума, и решила запилить сборку Rust без cargo, и его механизмов вендоринга) зависимости для компилятора шейдеров #NVK (драйвер для Nvidia vulkan).
Особенно автору всего этого добра доставляет копипастить версии руками, ага.
Мне еще это только предстоит, а я уже ненавижу этот процесс тихой ненавистью.
https://gitlab.archlinux.org/archlinux/packaging/packages/mesa/-/blob/main/PKGBUILD?ref_type=heads#L103-144
Вот так, например, приходится приседать в Arch, чтобы доставить до сраной #meson сборки #mesa (которая, сама по себе, сошла с ума, и решила запилить сборку Rust без cargo, и его механизмов вендоринга) зависимости для компилятора шейдеров #NVK (драйвер для Nvidia vulkan).
Особенно автору всего этого добра доставляет копипастить версии руками, ага.
Мне еще это только предстоит, а я уже ненавижу этот процесс тихой ненавистью.
GitLab
PKGBUILD · main · Arch Linux / Packaging / Packages / mesa · GitLab
Open-source OpenGL drivers packages: mesa opencl-mesa vulkan-dzn vulkan-gfxstream vulkan-intel vulkan-nouveau vulkan-radeon vulkan-swrast vulkan-virtio vulkan-mesa-layers mesa-docs
😁9🤡8🐳5😭4👍3💯2👀1🦄1
Forwarded from javawatch
ChatGPT достигла уровня человека! Я попросил ее написать пример использования модулей в C++23 через cmake, и у нее не получилось. У меня тоже не получилось. Каких высот мы достигли!
😁98🐳10💯8👍7🤣4🆒2❤1
Forwarded from Hacker News
Jefftk
Google Logo Ligature Bug
Jeffrey Yasskin recently pointed out an interesting security bug: The idea is, if you had registered googlelogoligature.net then Chrome on Android (and possibly other Google products) would have displayed it as Google.net, potentially tricking users…
🐳13😁9🤡6🔥3🤯2😭1
https://www.opennet.ru/opennews/art.shtml?num=63269
"Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen"
Понятное дело, что в жизни так не бывает, так как никто не линкуется с glibc статически (https://skarnet.org/software/nsss/nsswitch.html), но, тем не менее, как демонстрация того, что #suid - зло, вполне годится.
"Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen"
Понятное дело, что в жизни так не бывает, так как никто не линкуется с glibc статически (https://skarnet.org/software/nsss/nsswitch.html), но, тем не менее, как демонстрация того, что #suid - зло, вполне годится.
www.opennet.ru
Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen
В стандартной Си-библиотеке Glibc выявлена уязвимость (CVE-2025-4802), позволяющая добиться выполнения кода с привилегиями другого пользователя, выставляемыми при запуске приложений с флагом suid. Опасность проблемы сводят на нет условия, при которых она…
😁12👌4👍2❤1
commit -m "better"
Собственно, посмотрел, https://github.com/YaLTeR/niri классный, визуально приятный, с ненавязчивой анимацией.
Решил поиспользовать вместо #qtile, потому что его разработка в коме, и не подает признаков жизни.
Решил поиспользовать вместо #qtile, потому что его разработка в коме, и не подает признаков жизни.
https://github.com/YaLTeR/niri/releases/tag/v25.05
Вышел новый Niri, список изменений, мягко говоря, впечатляет. Если не пробовали - попробуйте, ну и надеюсь, что автор не "перегорит" от такой скорости.
Вышел новый Niri, список изменений, мягко говоря, впечатляет. Если не пробовали - попробуйте, ну и надеюсь, что автор не "перегорит" от такой скорости.
GitHub
Release v25.05 · YaLTeR/niri
Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.
Here are the i...
Here are the i...
🔥18❤6😱3🆒2💊1
commit -m "better"
Правда, я вот сейчас активно пытаюсь выкинуть #mesa вообще, и попробовать построить альтернативный стек, типа #AMDVLK + #ANGLE. Зачем?
Давненько не рассказывал про #ANGLE.
Это смешно, но у меня, до сих пор, не получилось скачать его исходник.
Первая проблема, с которой я столкнулся - часть submodules c https://github.com/google/angle ведет на приватные, запароленные, гуглорепы.
Ладно, как-то я это обошел, точечно вырезав эти submodules.
Но вот то, что у меня произошло прямо сейчас:
Ну вы поняли, да?
Angle хочет в своем third_party Dawn, а Dawn в своем third_party хочет Angle.
Никто такого не ожидал, но они смогли - рекурсивно сослаться на себя же, в цепочке загрузки submodules. Этот процесс, очевидно, не имеет шансов сойтись.
В этот момент я заплакал (честно), и отложил это говно, на неопределенный срок.
Это смешно, но у меня, до сих пор, не получилось скачать его исходник.
Первая проблема, с которой я столкнулся - часть submodules c https://github.com/google/angle ведет на приватные, запароленные, гуглорепы.
Ладно, как-то я это обошел, точечно вырезав эти submodules.
Но вот то, что у меня произошло прямо сейчас:
Cloning into 'third_party/dawn/third_party/angle'...
Ну вы поняли, да?
Angle хочет в своем third_party Dawn, а Dawn в своем third_party хочет Angle.
Никто такого не ожидал, но они смогли - рекурсивно сослаться на себя же, в цепочке загрузки submodules. Этот процесс, очевидно, не имеет шансов сойтись.
В этот момент я заплакал (честно), и отложил это говно, на неопределенный срок.
GitHub
GitHub - google/angle: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.
A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android. - google/angle
🔥22😁18😭18🤡6🎉3🤯1🐳1🆒1
commit -m "better"
Давненько не рассказывал про #ANGLE. Это смешно, но у меня, до сих пор, не получилось скачать его исходник. Первая проблема, с которой я столкнулся - часть submodules c https://github.com/google/angle ведет на приватные, запароленные, гуглорепы. Ладно,…
Вот я написал "в этот момент я заплакал (честно), и отложил это говно, на неопределенный срок", и мне стало стыдно. В конце-концов, я программист, или где?
Та-да, #mesa free 3D stack, #ANGLE + #AMDVLK!!!
Глючит пока что пиздец, через раз дедлочится на старте, но лиха беда начало.
Как сделал?
https://github.com/pg83/ix/blob/main/pkgs/lib/angle/chromium/ix.sh#L1-L6 - сильно считерил, полностью сконфигурировал chromium, но собрал из него только #ANGLE.
Та-да, #mesa free 3D stack, #ANGLE + #AMDVLK!!!
Глючит пока что пиздец, через раз дедлочится на старте, но лиха беда начало.
Как сделал?
https://github.com/pg83/ix/blob/main/pkgs/lib/angle/chromium/ix.sh#L1-L6 - сильно считерил, полностью сконфигурировал chromium, но собрал из него только #ANGLE.
OpenGL setting:
GL_VENDOR: Google Inc. (AMD)
GL_RENDERER: ANGLE (AMD, Vulkan 1.4.308 (AMD Radeon Graphics (0x00001900)), AMD open-source driver-2.0.341)
GL_VERSION: OpenGL ES 3.1.0 (ANGLE 2.1.0 git hash: unknown hash)
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.10 (ANGLE 2.1.0 git hash: unknown hash)
🎉34🔥9❤6👏4🤯3👀2💊2👍1😁1🆒1