commit -m "better"
"На колу мочало, начинай сначала" (стоило только вспомнить про clang https://xn--r1a.website/itpgchannel/2210)
https://www.phoronix.com/news/LLVM-19.1-Released
Надеюсь, этот будет лучше, чем тот.
https://www.phoronix.com/news/LLVM-19.1-Released
Надеюсь, этот будет лучше, чем тот.
https://www.opennet.ru/opennews/art.shtml?num=62846
Надеюсь, этот будет лучше, чем тот (но это нам сомнительно, ага).
Надеюсь, этот будет лучше, чем тот (но это нам сомнительно, ага).
www.opennet.ru
Релиз набора компиляторов LLVM 20
После шести месяцев разработки доступен релиз проекта LLVM 20.1.0, развивающего инструментарий (компиляторы, оптимизаторы и генераторы кода), компилирующий программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина…
🤔10
Будни #bootstrap
Запилил более лучшую изоляцию сборочных нод, чем было раньше.
Запилил, потому что пионеры из rust никак не могут понять, что не нужно лазить в систему, когда не просят.
Проявлялось это так - когда я запускал rust, собранный динамически с musl, на glibc-based системе, он лез в эту систему, ему от этого сносило крышу, и он начинал сыпать нерелевантными ошибками.
Зачем он лез, я не знаю, я это просто видел в strace, ну и более хорошая изоляция помогла избавиться от этой ошибки.
Когда я пилил эту изоляцию, то выяснилось прекрасное - cargo не может работать без /dev/random, потому что он там где-то инициализирует libgit2, а тот требует наличие /dev/random. Тут, конечно, пионеры и те, и эти, потому что зачем карге инициализировать libgit2, когда у меня под ногами не git, ну а требование libgit2 - это вообще клиника.
Герметичная сборка my ass, ага.
Сделал я это пока совсем по рабоче-крестьянски, не в graph executor (что было бы правильнее), а прямо на уровне основного сборочного шаблона - https://github.com/pg83/ix/blob/main/pkgs/die/sh0.sh#L29-L33, по флажку.
Флажок я выставил на весь свой CI, и, конечно, у меня волосы зашевелились примерно везде, когда стало понятно, насколько часто всякие левые сборки лезут в /bin и прочее. Чинил CI, наверное, с неделю.
Саму изоляцию тоже соорудил из подручных средств, потому что так получилось проще в моменте, из unshare + chroot:
https://github.com/pg83/ix/blob/main/pkgs/bld/jail/scripts/jail.sh
https://github.com/pg83/ix/blob/main/pkgs/bld/jail/scripts/jail0.sh
Проще, потому что другие средства требуют от системы больше, чем user namespaces, а мне лень было с этим разбираться.
Запилил более лучшую изоляцию сборочных нод, чем было раньше.
Запилил, потому что пионеры из rust никак не могут понять, что не нужно лазить в систему, когда не просят.
Проявлялось это так - когда я запускал rust, собранный динамически с musl, на glibc-based системе, он лез в эту систему, ему от этого сносило крышу, и он начинал сыпать нерелевантными ошибками.
Зачем он лез, я не знаю, я это просто видел в strace, ну и более хорошая изоляция помогла избавиться от этой ошибки.
Когда я пилил эту изоляцию, то выяснилось прекрасное - cargo не может работать без /dev/random, потому что он там где-то инициализирует libgit2, а тот требует наличие /dev/random. Тут, конечно, пионеры и те, и эти, потому что зачем карге инициализировать libgit2, когда у меня под ногами не git, ну а требование libgit2 - это вообще клиника.
Герметичная сборка my ass, ага.
Сделал я это пока совсем по рабоче-крестьянски, не в graph executor (что было бы правильнее), а прямо на уровне основного сборочного шаблона - https://github.com/pg83/ix/blob/main/pkgs/die/sh0.sh#L29-L33, по флажку.
Флажок я выставил на весь свой CI, и, конечно, у меня волосы зашевелились примерно везде, когда стало понятно, насколько часто всякие левые сборки лезут в /bin и прочее. Чинил CI, наверное, с неделю.
Саму изоляцию тоже соорудил из подручных средств, потому что так получилось проще в моменте, из unshare + chroot:
https://github.com/pg83/ix/blob/main/pkgs/bld/jail/scripts/jail.sh
https://github.com/pg83/ix/blob/main/pkgs/bld/jail/scripts/jail0.sh
Проще, потому что другие средства требуют от системы больше, чем user namespaces, а мне лень было с этим разбираться.
GitHub
ix/pkgs/die/sh0.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
👍15🔥12🤡7🆒4❤1
https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems.pdf
Вроде должна была быть хорошая статья про системы сборки, но, сука, в качестве псевдокода у них Haskell, ебаный стыд.
Вроде должна была быть хорошая статья про системы сборки, но, сука, в качестве псевдокода у них Haskell, ебаный стыд.
🤣23😁8👍6🤡5🥴2🐳1
https://www.lesswrong.com/posts/tqmQTezvXGFmfSe7f/how-much-are-llms-actually-boosting-real-world-programmer
Я просто оставлю это здесь.
Я просто оставлю это здесь.
Lesswrong
How Much Are LLMs Actually Boosting Real-World Programmer Productivity? — LessWrong
LLM-based coding-assistance tools have been out for ~2 years now. Many developers have been reporting that this is dramatically increasing their prod…
👍8🤔5💩3👨💻2🆒1
Forwarded from The Экономист
Айтишники начали массово отправлять своих детей учиться на электриков, плотников и художников, пишет WSJ. Родители уверены, что в будущем весь код будет писать ИИ, а спрос на ручной труд всегда будет стабильным. На этом фоне взлетел конкурс для поступления в ПТУ.
🤑 The Экономист
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱30🤡27🔥5👍4😁4🤔3🤯2🆒1
Forwarded from Блог*
#prog #rust #suckassstory
https://nitter.net/davidtolnay/status/1883906113428676938
TL;DR: serde_yaml от dtolnay более не поддерживается. Кто-то сделал форк под именем serde_yml и начал кидать туда коммиты, сгенерированые LLM. И этим говном при этом ещё и кто-то пользуется.
(thanks @al_tch)
https://nitter.net/davidtolnay/status/1883906113428676938
TL;DR: serde_yaml от dtolnay более не поддерживается. Кто-то сделал форк под именем serde_yml и начал кидать туда коммиты, сгенерированые LLM. И этим говном при этом ещё и кто-то пользуется.
On top of this, the crate's documentation has been broken in docs·rs for the last 5 months because AI hallucinated a nonexistent rustdoc flag into the crate's configuration.
(thanks @al_tch)
Nitter
David Tolnay (@davidtolnay)
Not long ago, I used to have a more optimistic impression of Rust users. I would not have guessed that so many otherwise-judicious people would go for blatantly AI-"maintained" Rust libraries.
The `serde_yml` crate is a fork of a high-quality but unmaintained…
The `serde_yml` crate is a fork of a high-quality but unmaintained…
😁17🤡14🥰4🐳1
https://blog.nelhage.com/post/cpython-tail-call/
TL;DR - в python вмержили tail call interpreter, который давал 10-15% ускорения, но, как оказалось, это не ускорение, а баг в llvm/измерении, и реальный профит порядка пары процентов, такие дела.
(спасибо подписчикам за ссылку!)
TL;DR - в python вмержили tail call interpreter, который давал 10-15% ускорения, но, как оказалось, это не ускорение, а баг в llvm/измерении, и реальный профит порядка пары процентов, такие дела.
(спасибо подписчикам за ссылку!)
Made of Bugs
Performance of the Python 3.14 tail-call interpreter
A deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, and some reflections on performance work, software engineering…
😁45👍4🔥2🐳2🥴1
commit -m "better"
На первом этапе для включения в ядро предложен драйвер "nova-core", состоящий из 232 строк кода.
https://www.opennet.ru/opennews/art.shtml?num=62855
"На первом этапе в ядро передан каркас nova-core, насчитывающий около 400 строк кода и реализующий базовый уровень абстракций над программными интерфейсами прошивок GSP"
Слушайте, ну так-то хороший прогресс!
"На первом этапе в ядро передан каркас nova-core, насчитывающий около 400 строк кода и реализующий базовый уровень абстракций над программными интерфейсами прошивок GSP"
Слушайте, ну так-то хороший прогресс!
www.opennet.ru
Для ядра Linux 6.15 предложен начальный код драйвера Nova, написанный на Rust
Для включения в состав ядра Linux 6.15, релиз которого ожидается в конце мая, предложен набор патчей с начальной реализацией драйвера Nova для GPU NVIDIA, написанного на языке Rust. На первом этапе в ядро передан каркас nova-core, насчитывающий около 400…
😁20👍5🤔3🤡1
commit -m "better"
Вот, отправил свой патч про отказ от double fork. -20 строк кода, сплошное упрощение и улучшение. Как думаете, какие шансы у патча? Я вангую, что околонулевые.
https://github.com/swaywm/sway/issues/6828
https://github.com/swaywm/sway/issues/6828
Всего лишь за 3 года с малым до этих господ в моноклях дошло, что предложенный мной подход более хороший - https://github.com/swaywm/sway/commit/e3d9cc2aa5f1c298fd956b64e5e20f50aaac72fe
Ну, лучше поздно, чем никогда, но sway я уже не использую.
Ну, лучше поздно, чем никогда, но sway я уже не использую.
GitHub
Rework fork/exec strategy · swaywm/sway@e3d9cc2
cmd_exec_process is used whenever sway is meant to execute a child
process on behalf of the user, and had a lot of complexity.
In order to avoid having to wait on the user's process, a dou...
process on behalf of the user, and had a lot of complexity.
In order to avoid having to wait on the user's process, a dou...
👍10😁7❤4🔥2🆒2
https://www.opennet.ru/opennews/art.shtml?num=62859
"Google отключил дополнение uBlock Origin в каталоге Chrome Web Store"
"Google отключил дополнение uBlock Origin в каталоге Chrome Web Store"
🤬30🤡13😁6🎉6❤2🍾2👏1
https://devblogs.microsoft.com/typescript/typescript-native-port/
TL;DR - microsoft переписывают компилятор (а точнее, линтер) typescript-а на go, Пишут, что будет в 10 раз быстрее.
По нашим временам хорошо, что не на "blazingly fast #almost_memory_safe", и ладно!
TL;DR - microsoft переписывают компилятор (а точнее, линтер) typescript-а на go, Пишут, что будет в 10 раз быстрее.
По нашим временам хорошо, что не на "blazingly fast #almost_memory_safe", и ладно!
Microsoft News
A 10x Faster TypeScript
Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.
👍19💩6🔥4🤯2
commit -m "better"
Всего лишь за 3 года с малым до этих господ в моноклях дошло, что предложенный мной подход более хороший - https://github.com/swaywm/sway/commit/e3d9cc2aa5f1c298fd956b64e5e20f50aaac72fe
Решил я взбодрить тамошнюю тусовочку, а то что-то скучно:
https://github.com/swaywm/sway/issues/6828#issuecomment-2711663131
https://github.com/swaywm/sway/issues/6828#issuecomment-2715500170
Меня иногда спрашивают: "Антон, ты же понимаешь, что ты не добьешься того, чего хочешь?"
Нет, я добьюсь ровно то, чего хочу - покажу этим упырям, что они были изначально неправы, тем самым, им станет неприятно (люди очень не любят ошибаться!), а мне - наоборот. Мне, например, было неприятно, когда мне сказали, что на мой патч даже смотреть не будут - https://github.com/swaywm/sway/issues/6828#issuecomment-1078808420.
Нет ничего плохого иногда показать долбоебам, что они - долбоебы, тем более, если тебе от них больше ничего не нужно.
https://github.com/swaywm/sway/issues/6828#issuecomment-2711663131
https://github.com/swaywm/sway/issues/6828#issuecomment-2715500170
Меня иногда спрашивают: "Антон, ты же понимаешь, что ты не добьешься того, чего хочешь?"
Нет, я добьюсь ровно то, чего хочу - покажу этим упырям, что они были изначально неправы, тем самым, им станет неприятно (люди очень не любят ошибаться!), а мне - наоборот. Мне, например, было неприятно, когда мне сказали, что на мой патч даже смотреть не будут - https://github.com/swaywm/sway/issues/6828#issuecomment-1078808420.
Нет ничего плохого иногда показать долбоебам, что они - долбоебы, тем более, если тебе от них больше ничего не нужно.
GitHub
double forking for process spawning · Issue #6828 · swaywm/sway
Hi. Currently sway uses double-forking for its process spawning, for example, in exec_always.c. Is there any real difference for current sway users, who(sway or init) "parents" launched p...
😁21👍15🤡9👏6💊4👎3
commit -m "better"
Как вы знаете, я хочу стать следующим Курцвейлом. #future
Пока у меня в активе есть только прозорливое (== я об этом стал писать раньше других комментаторов) понимание, что #zink вытеснит все остальные реализации #opengl, не только в #mesa, а вообще.
Пока у меня в активе есть только прозорливое (== я об этом стал писать раньше других комментаторов) понимание, что #zink вытеснит все остальные реализации #opengl, не только в #mesa, а вообще.
#future #zink продолжает вытеснять остальные opengl драйвера - https://www.opennet.ru/opennews/art.shtml?num=62860, как я и предсказал нескольк лет назад (https://xn--r1a.website/itpgchannel/648 https://xn--r1a.website/itpgchannel/126)!
"Компания Сollabora сообщила о принятии в кодовую базу проекта Mesa изменения, заменяющего OpenGL-драйвер, применяемый по умолчанию для GPU NVIDIA, начиная с микроархитектуры Turing. В следующем выпуске Mesa 25.1 вместо OpenGL-драйвера Nouveau (nvc0) для подобных GPU будет применяться разработанный в Сollabora OpenGL-драйвер Zink в связке с Vulkan-драйвером #NVK. По сравнению с Nouveau драйвер Zink демонстрирует более высокую производительность во многих тестах и не подвержен проблемам, проявляющихся в Nouveau при работе на новых GPU NVIDIA"
Правда, я вот сейчас активно пытаюсь выкинуть #mesa вообще, и попробовать построить альтернативный стек, типа #AMDVLK + #ANGLE. Зачем?
* интересно
* меня окончательно расстроило качество кода в #mesa, и чем его у меня будет меньше работать, тем спокойнее я буду спать. В конце-концов, Google не просто так запилил #ANGLE, и не просто так его начали использовать в WebKit.
"Компания Сollabora сообщила о принятии в кодовую базу проекта Mesa изменения, заменяющего OpenGL-драйвер, применяемый по умолчанию для GPU NVIDIA, начиная с микроархитектуры Turing. В следующем выпуске Mesa 25.1 вместо OpenGL-драйвера Nouveau (nvc0) для подобных GPU будет применяться разработанный в Сollabora OpenGL-драйвер Zink в связке с Vulkan-драйвером #NVK. По сравнению с Nouveau драйвер Zink демонстрирует более высокую производительность во многих тестах и не подвержен проблемам, проявляющихся в Nouveau при работе на новых GPU NVIDIA"
Правда, я вот сейчас активно пытаюсь выкинуть #mesa вообще, и попробовать построить альтернативный стек, типа #AMDVLK + #ANGLE. Зачем?
* интересно
* меня окончательно расстроило качество кода в #mesa, и чем его у меня будет меньше работать, тем спокойнее я буду спать. В конце-концов, Google не просто так запилил #ANGLE, и не просто так его начали использовать в WebKit.
www.opennet.ru
Проект Mesa заменил OpenGL-драйвер Nouveau на Zink для новых GPU NVIDIA
Компания Сollabora сообщила о принятии в кодовую базу проекта Mesa изменения, заменяющего OpenGL-драйвер, применяемый по умолчанию для GPU NVIDIA, начиная с микроархитектуры Turing. В следующем выпуске Mesa 25.1 вместо OpenGL-драйвера Nouveau (nvc0) для подобных…
👍10👾2🆒1