https://www.tomshardware.com/pc-components/gpus/u-s-inks-bill-to-force-geo-tracking-tech-for-gpus-and-servers-high-end-gaming-gpus-also-subject-to-tracking
U.S. inks bill to force geo-tracking tech for high-end gaming and AI GPUs
Senator Tom Cotton's legislation seeks to "prevent advanced American chips from falling into the hands of adversaries like Communist China"
Мне вот интересно, оно без интернета (то есть, без регулярного получения от сервера разрешения на продолжение работы) будет работать? Если да - то кто мне мешает положить карточку в клетку Фарадея, или в коробочку из фольги?
(предложка)
U.S. inks bill to force geo-tracking tech for high-end gaming and AI GPUs
Senator Tom Cotton's legislation seeks to "prevent advanced American chips from falling into the hands of adversaries like Communist China"
Мне вот интересно, оно без интернета (то есть, без регулярного получения от сервера разрешения на продолжение работы) будет работать? Если да - то кто мне мешает положить карточку в клетку Фарадея, или в коробочку из фольги?
(предложка)
Tom's Hardware
U.S. inks bill to force geo-tracking tech for high-end gaming and AI GPUs
Senator Tom Cotton's legislation seeks to "prevent advanced American chips from falling into the hands of adversaries like Communist China."
🤡18👍4🆒3🐳2💅1
#llvmweekly
https://discourse.llvm.org/t/rfc-intra-procedural-lifetime-analysis-in-clang/86291
"This analysis draws inspiration from Rust’s Polonius borrow checker. While adapted for C++'s semantics (e.g., handling opaque calls, no enforced exclusivity, configurable strictness), its internal model still uses concepts like Loans and Origins which are analogous to formulation of lifetime in Rust’s Polonius.
This notion of a Origin/Loans serves a role closely related to the lifewww.tgoop.com/origin tracking in Polonius, providing a conceptual bridge. This proposal develops the necessary CFG-based dataflow infrastructure that could also support more explicit, Rust-style lifetime systems if they were introduced to Clang"
TL;DR - в clang уже есть [[clang::lifetimebound]], его предлагается расширять так, чтобы он мог работать между вызовами функций, используя идеи из Rust borrow checker.
КМК, это хороший путь для С++ - постепенно учиться проверять время жизни объектов все в большем и большем числе случаев, с разметкой времен жизни там, где это необходимо (а может, потом, и всегда).
Это вам не сраные профили безопастности от Страуструпа (https://www.tgoop.com/itpgchannel/2763), ага.
https://discourse.llvm.org/t/rfc-intra-procedural-lifetime-analysis-in-clang/86291
"This analysis draws inspiration from Rust’s Polonius borrow checker. While adapted for C++'s semantics (e.g., handling opaque calls, no enforced exclusivity, configurable strictness), its internal model still uses concepts like Loans and Origins which are analogous to formulation of lifetime in Rust’s Polonius.
This notion of a Origin/Loans serves a role closely related to the lifewww.tgoop.com/origin tracking in Polonius, providing a conceptual bridge. This proposal develops the necessary CFG-based dataflow infrastructure that could also support more explicit, Rust-style lifetime systems if they were introduced to Clang"
TL;DR - в clang уже есть [[clang::lifetimebound]], его предлагается расширять так, чтобы он мог работать между вызовами функций, используя идеи из Rust borrow checker.
КМК, это хороший путь для С++ - постепенно учиться проверять время жизни объектов все в большем и большем числе случаев, с разметкой времен жизни там, где это необходимо (а может, потом, и всегда).
Это вам не сраные профили безопас
LLVM Discussion Forums
[RFC] Intra-procedural Lifetime Analysis in Clang
Utkarsh Saxena @usx95 Dmytro Hrybenko @gribozavr Yitzhak Mandelbaum @ymand Jan Voung @jvoung Kinuko Yasuda @kinu Summary Clang’s current lifetime analysis operates locally within a single statement and cannot track object lifetimes across basic blocks…
👍17❤4🔥3🌭1
commit -m "better"
Из-за боязни проблем с ABI почти весь современный код С++(и его стандартная библиотека) живет в header-only режиме. Это отдельная, очень больная, тема, потому что скорость разработки складывается из отдельных кирпичиков, и скорость компиляции кода один из них.
#llvmweekly #cplpl_doomed
https://discourse.llvm.org/t/factoid-each-class-template-instantiation-costs-1kib/86189
TL;DR - каждый раз, когда вы инстанциируете шаблон,в мире умирает котик, вы тратите 1K памяти, и это очень много, потому что header only библиотеки:
"Maybe what this all points to is that header-only library evolution is a dead end when it comes to compile time, and that if you want to have fast compiles, the old ways, i.e. forward declarations, pimpl patterns, and other forms of implementation hiding, are still relevant if you care about compile time, even in a modular world"
Очень пересекается с цитатой из https://www.tgoop.com/itpgchannel/22, 100500 раз писал, и буду продолжать писать, что избыточная мономорфизация/inline - зло, не надо бояться virtual method call, pimpl, и вот это вот все.
И это коллега пишет только про время и потребление ресурсов компилятором, и не упоминает того, что избыточно встроенный код еще и медленнее может быть, потому что плохо использует кеши процессора (например, https://www.tgoop.com/itpgchannel/1547).
UPD: про pimpl вот еще ссылка - https://github.com/llvm/llvm-project/commit/bb1765179e1f, пример того, как сам LLVM у себя выпиливает излишнюю мономорфизацию.
https://discourse.llvm.org/t/factoid-each-class-template-instantiation-costs-1kib/86189
TL;DR - каждый раз, когда вы инстанциируете шаблон,
"Maybe what this all points to is that header-only library evolution is a dead end when it comes to compile time, and that if you want to have fast compiles, the old ways, i.e. forward declarations, pimpl patterns, and other forms of implementation hiding, are still relevant if you care about compile time, even in a modular world"
Очень пересекается с цитатой из https://www.tgoop.com/itpgchannel/22, 100500 раз писал, и буду продолжать писать, что избыточная мономорфизация/inline - зло, не надо бояться virtual method call, pimpl, и вот это вот все.
И это коллега пишет только про время и потребление ресурсов компилятором, и не упоминает того, что избыточно встроенный код еще и медленнее может быть, потому что плохо использует кеши процессора (например, https://www.tgoop.com/itpgchannel/1547).
UPD: про pimpl вот еще ссылка - https://github.com/llvm/llvm-project/commit/bb1765179e1f, пример того, как сам LLVM у себя выпиливает излишнюю мономорфизацию.
LLVM Discussion Forums
Factoid: Each class template instantiation costs 1KiB
Messing around with clang -cc1 -print-stats, I think I can show that every class template instantiation costs a minimum of 1KiB of memory. To me, that seems like a lot of data just to capture temporary type traits that are often used solely for template metaprogramming…
👍14🤔5🔥3❤1
(сорян, у меня много #llvmweekly, я их с месяц не читал, там много накопилось интересного)
https://discourse.llvm.org/t/improving-the-reproducibility-of-linker-benchmarking/86057
"The idea is to use the Nix project to build the projects with a custom linker wrapper that collects the reproducers. Nix builds are (at least theoretically) reproducible and all projects are built in a fairly uniform way which makes it fairly easy to inject the linker wrapper into any project without knowing project-specific details. Nix also supports cross compilation so the same machine can be used to build reproducers for all architectures (but there are some bugs which mean that at the moment not all projects can be cross compiled and not all projects end up using the linker wrapper). And we can upgrade project versions by using a new version of Nixpkgs (Nix’s “ports tree”)"
TL;DR - давайте возьмем reproducible Nix + наш враппер над LLD, чтобы уметь собирать статистику по временам работы LLD при сборке произвольно большого набора OSS проектов.
Очень, очень, хорошая и плодотворная идея.
https://discourse.llvm.org/t/improving-the-reproducibility-of-linker-benchmarking/86057
"The idea is to use the Nix project to build the projects with a custom linker wrapper that collects the reproducers. Nix builds are (at least theoretically) reproducible and all projects are built in a fairly uniform way which makes it fairly easy to inject the linker wrapper into any project without knowing project-specific details. Nix also supports cross compilation so the same machine can be used to build reproducers for all architectures (but there are some bugs which mean that at the moment not all projects can be cross compiled and not all projects end up using the linker wrapper). And we can upgrade project versions by using a new version of Nixpkgs (Nix’s “ports tree”)"
TL;DR - давайте возьмем reproducible Nix + наш враппер над LLD, чтобы уметь собирать статистику по временам работы LLD при сборке произвольно большого набора OSS проектов.
Очень, очень, хорошая и плодотворная идея.
LLVM Discussion Forums
Improving the reproducibility of linker benchmarking
A side project I’ve been working on recently is to make it easier to benchmark lld (as well as other linkers like mold and wild) by creating a common set of reproducer benchmarks. The idea is to create a new version of the lld-speed-test benchmarks which…
👍11🔥7🆒5❤2🤔1
#llvmweekly
https://github.com/llvm/llvm-project/commit/d68c732473a1
"flang/lib/Parser/Fortran-parsers.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68
Maximum resident set size (kbytes): 2062140 -> 1745584
flang/lib/Lower/Bridge.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86
Maximum resident set size (kbytes): 3849144 -> 2443476
flang/lib/Lower/PFTBuilder.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99
Maximum resident set size (kbytes): 4218368 -> 2923128
flang/lib/Lower/Allocatable.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50
Maximum resident set size (kbytes): 3092840 -> 2116908
flang/lib/Semantics/Semantics.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20
Maximum resident set size (kbytes): 3527744 -> 2545308"
TL;DR - прямо ооочень значимое сокращение времен сборки flang, с использованием precompiled headers, даже неожиданно. Правда, это тщательно выбранные файлы, не общее время, но, тем не менее.
https://github.com/llvm/llvm-project/commit/d68c732473a1
"flang/lib/Parser/Fortran-parsers.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68
Maximum resident set size (kbytes): 2062140 -> 1745584
flang/lib/Lower/Bridge.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86
Maximum resident set size (kbytes): 3849144 -> 2443476
flang/lib/Lower/PFTBuilder.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99
Maximum resident set size (kbytes): 4218368 -> 2923128
flang/lib/Lower/Allocatable.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50
Maximum resident set size (kbytes): 3092840 -> 2116908
flang/lib/Semantics/Semantics.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20
Maximum resident set size (kbytes): 3527744 -> 2545308"
TL;DR - прямо ооочень значимое сокращение времен сборки flang, с использованием precompiled headers, даже неожиданно. Правда, это тщательно выбранные файлы, не общее время, но, тем не менее.
GitHub
[flang] Use precompiled headers in Frontend, Lower, Parser, Semantics… · llvm/llvm-project@d68c732
… and Evaluate (#131137)
Precompiling larger headers can save a lot of compile time across
various compilation units.
For the time being, disable precompiled headers for ccache builds on Windows
...
Precompiling larger headers can save a lot of compile time across
various compilation units.
For the time being, disable precompiled headers for ccache builds on Windows
...
👍9🆒2🔥1
#llvmweekly (Остапа понесло, ага)
https://github.com/llvm/llvm-project/commit/d1fd97737e90
А вот если кому-то интересно, как запилить поддержку санитайзера под пока неподдерживаемую OS.
В целом, копируешь куски реализации из Linux, + немного #protaskivanie по обертке релеватных системных вызовов, + код для определения раскладки замапленых участков памяти процессом.
Муторно, но не очень сложно.
И взгляд с другой стороны - https://keithp.com/blogs/sanitizer-fun/, как поддержать неизвестную libc в санитайзерах, и с чем пришлось столкнуться.
https://github.com/llvm/llvm-project/commit/d1fd97737e90
А вот если кому-то интересно, как запилить поддержку санитайзера под пока неподдерживаемую OS.
В целом, копируешь куски реализации из Linux, + немного #protaskivanie по обертке релеватных системных вызовов, + код для определения раскладки замапленых участков памяти процессом.
Муторно, но не очень сложно.
И взгляд с другой стороны - https://keithp.com/blogs/sanitizer-fun/, как поддержать неизвестную libc в санитайзерах, и с чем пришлось столкнуться.
GitHub
[compiler-rt][sanitizer] add Haiku support (#134772) · llvm/llvm-project@d1fd977
Co-authored-by: Jérôme Duval <jerome.duval@gmail.com>
👍8❤3👌2
commit -m "better"
Классный рассказ про то, как git вытеснял hg в Mozilla.
Из него я узнал, что однажды зеркало mozilla в github этот самый github немного сломало - https://bugzilla.mozilla.org/show_bug.cgi?id=943132#c8
Из него я узнал, что однажды зеркало mozilla в github этот самый github немного сломало - https://bugzilla.mozilla.org/show_bug.cgi?id=943132#c8
https://www.phoronix.com/news/Firefox-On-GitHub
А теперь, ВНЕЗАПНО, Firefox переехал на github.
Ну и правильно, нефиг поддерживать свой васянский #gitlab #infra хостинг, или чего у них там было, после hg.
Коменты, конечно, доставляют - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1546132-firefox-source-code-now-hosted-on-github
(спасибо подписчикам за ссылку)
А теперь, ВНЕЗАПНО, Firefox переехал на github.
Ну и правильно, нефиг поддерживать свой васянский #gitlab #infra хостинг, или чего у них там было, после hg.
Коменты, конечно, доставляют - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1546132-firefox-source-code-now-hosted-on-github
(спасибо подписчикам за ссылку)
Phoronix
Firefox Source Code Now Hosted On GitHub
The Mozilla Firefox source code is now officially available on GitHub as they work to transition from their hg.mozilla.org servers.
👍12👎7🤡5❤4🤔2🔥1
commit -m "better"
Никогда #stal/#IX не был так свеж!
"Я отыграл ваше седло, потом вашу лошадь, потом свое седло, потом свою лошадь, потом опять проиграл. Короче говоря, я снова поймал ваше седло, потом свое. Вот как обстоит дело. Это был великолепный ход, и я остановился на нем"
Все, что выше - репозитории не проверяют собираемость своих пакетов относительно самых свежих версий своих же пакетов, поэтому в этой гонке можно остановиться.
Все, что выше - репозитории не проверяют собираемость своих пакетов относительно самых свежих версий своих же пакетов, поэтому в этой гонке можно остановиться.
🔥38❤7🆒4👎1
Меня тут спрашивают, чего я не пишу, что guix переехал на codeberg - https://guix.gnu.org/blog/2025/migrating-to-codeberg/
Вот, пишу, как только словил проблему с этим codeberg.org (обнаружил я это тем, что у меня встал процесс обновления gumbo-parser, https://www.tgoop.com/itpgchannel/1349).
Не надо, не надо, пользоваться васянской #infra, не будь как guix, будь, хотя бы, как mozilla (https://www.tgoop.com/itpgchannel/3005).
(Хотя, если сравнить с savannah http://savannah.gnu.org/, то codeberg вполне себе ничего)
Вот, пишу, как только словил проблему с этим codeberg.org (обнаружил я это тем, что у меня встал процесс обновления gumbo-parser, https://www.tgoop.com/itpgchannel/1349).
Не надо, не надо, пользоваться васянской #infra, не будь как guix, будь, хотя бы, как mozilla (https://www.tgoop.com/itpgchannel/3005).
(Хотя, если сравнить с savannah http://savannah.gnu.org/, то codeberg вполне себе ничего)
🤡17👍9❤3😁1
https://www.opennet.ru/opennews/art.shtml?num=63232
"Выпуск дистрибутива Альт Рабочая станция К 11.0
Свободно использовать загруженную версию могут только физические лица, в том числе – индивидуальные предприниматели. Коммерческие и государственные организации могут скачивать и тестировать дистрибутив, но для постоянной работы в корпоративной инфраструктуре юридическим лицам необходимо приобретать лицензии или заключать лицензионные договоры в письменной форме"
"Выпуск дистрибутива Альт Рабочая станция К 11.0
Свободно использовать загруженную версию могут только физические лица, в том числе – индивидуальные предприниматели. Коммерческие и государственные организации могут скачивать и тестировать дистрибутив, но для постоянной работы в корпоративной инфраструктуре юридическим лицам необходимо приобретать лицензии или заключать лицензионные договоры в письменной форме"
😁27🍌7👍4🤣4💩3🐳2🙈1💅1
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