commit -m "better"
https://www.phoronix.com/news/Linux-DRM-Process-Start-With-X Опять кто-то возбухает про хак про определение имени процесса, и выключении какой-то функциональности в ядре, если есть совпадение. Так-то это нормальная практика, я несколько раз писал, что это…
#mesa
Вот пример точно такого же (неприятного) поведения в винде, тоже в драйверах GPU - https://habr.com/ru/company/yandex/blog/721374/
Хаки над хаками, а потом драйвера научатся понимать что-то про "хаки над хаками", и нахуевертят еще всякого говна.
Вот пример точно такого же (неприятного) поведения в винде, тоже в драйверах GPU - https://habr.com/ru/company/yandex/blog/721374/
Хаки над хаками, а потом драйвера научатся понимать что-то про "хаки над хаками", и нахуевертят еще всякого говна.
Хабр
Название имеет значение: как получить оптимизацию, переименовав браузер
Всем привет! Меня зовут Максим Смирнов, я руковожу командой, которая работает над производительностью Яндекс Браузера и отвечает за его графическую подсистему. В этой статье я расскажу об одном...
🤯5❤3😁3😱2💩1🐳1🌚1
https://www.audioasylum.com/messages/pcaudio/119979/
Украдено у https://discuss.systems/@dan/110008052977994607, пишут, что С++ звучит лучше, чем malloc()
Вы знали? Я раньше не знал, знал только, что провода надо брать специальные, за 5K$.
Украдено у https://discuss.systems/@dan/110008052977994607, пишут, что С++ звучит лучше, чем malloc()
Вы знали? Я раньше не знал, знал только, что провода надо брать специальные, за 5K$.
discuss.systems
Dan Ports (@dan@discuss.systems)
This is your periodic reminder that 10 years ago an audiophile forum started debating which versions of memcpy had the highest sound quality.
And that C++ new sounds better than malloc.
https://www.audioasylum.com/messages/pcaudio/119979/
And that C++ new sounds better than malloc.
https://www.audioasylum.com/messages/pcaudio/119979/
😁8🤡6🔥3🐳2🤔1
commit -m "better"
https://lore.kernel.org/all/20230314103316.313e5f61@kernel.org/
Продолжение темы на phoronix: https://www.phoronix.com/news/Linux-STMAC-Russian-Sanctions
Горячо, конечно, в каментах - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1378146-linux-kernel-networking-driver-development-impacted-by-russian-sanctions, их число растет быстрее, чем я читаю.
Горячо, конечно, в каментах - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1378146-linux-kernel-networking-driver-development-impacted-by-russian-sanctions, их число растет быстрее, чем я читаю.
Phoronix
Linux Kernel Networking Driver Development Impacted By Russian Sanctions
The US and western government sanctions around the Russian government and its defense industry/companies due to their war in Ukraine has caused interesting issues in the open-source world
🤯6👍4🤔2🤮1
https://www.phoronix.com/news/Codon-Faster-Python
https://www.opennet.ru/opennews/art.shtml?num=58395
Судя по всему, какая-то горячая тема, что-то по типу #nuitka/cython/etc.
По мне так https://github.com/exaloop/codon - начали за здравие, а кончили уже не так оптимистично.
Любой, любой такой проект сразу, на первой странице, должен говорить, поддерживает ли он стандартные протоколы питона, или нет.
Ну вот реально - если там семантика лукапа методов такая же как в cpython (через 5 лукапов в dict, а иногда и еще больше), то там нет простора для оптимизаций, они всем давно известны, и реализованы в том же pypy.
А если стандартные протоколы не реализованы, и x.y - это что-то другое, нежели в cpython - ну да, можно сделать быстро, но интересный код там не выполнить.
https://www.opennet.ru/opennews/art.shtml?num=58395
Судя по всему, какая-то горячая тема, что-то по типу #nuitka/cython/etc.
По мне так https://github.com/exaloop/codon - начали за здравие, а кончили уже не так оптимистично.
Любой, любой такой проект сразу, на первой странице, должен говорить, поддерживает ли он стандартные протоколы питона, или нет.
Ну вот реально - если там семантика лукапа методов такая же как в cpython (через 5 лукапов в dict, а иногда и еще больше), то там нет простора для оптимизаций, они всем давно известны, и реализованы в том же pypy.
А если стандартные протоколы не реализованы, и x.y - это что-то другое, нежели в cpython - ну да, можно сделать быстро, но интересный код там не выполнить.
Phoronix
Codon Looks Very Promising For Super-Fast Python Code
While there is Pyston, PyPy, and various other alternative Python implementations being done in the name of performance, Codon is one of the newer ones and is talking up 10~100x faster performance.
👍8
Есть такая очень смешная шутка - "мне не нужен язык с GC, потому что моя программа не производит мусора".
Достаточно понятная и глубокая мысль - вместо того, чтобы героически решать какую-то искуственную проблему, прежде всего нужно сделать так, чтобы эта проблема не появилась.
К чему это я?
С-style printf - страшное говнище.
И не потому, что страшные и глючные varargs от C, а по очень простой баге в дизайне - способ форматирования, и аргументы для этого способа задаются отдельно, что приводит к тому, что очень легко нарушить какой-то инвариант.
Например, по числу аргументов - printf("%d %d", 1). Или по несовпадению типов аргументов.
Мой поинт в том, что, конечно, можно героически пытаться решить эти проблемы, как пытается делать compile time std::format в С++ (тоже, очевидно, страшное говнище, как наследник C printf), а можно сделать так, чтобы такое нарушение инварианта не могло возникнуть в принципе.
Мне известно два способа сделать это:
* f-strings в куче языков, f"{a} {b} {a}"
* std iostreams в С++. У них есть свои проблемы (например, они stateful), но вот класс проблем выше в них не может возникнуть: cout<<a<<" "<<b<<" "a;
Если вы приглядитесь, то поймете, что суть этих двух подходов совершенно одинакова, просто первый подход часть работы по токенизации делает чуть более удобной.
Вот их и надо использовать. В С++, конечно, лучше взять стороннюю реализацию потоков, которая не будет делать миллиарды inline вызовов, приводя к ухудшению времени компиляции и разбуханию кода.
А то, что std::format в текущем виде попал в стандарт, это, конечно, стыд и срам С++. Вот, реально, мало что хорошо было сделано в С++, ну так синтаксис форматированного вывода был сделан неплохо, надо было его и улучшать, в сторону f-strings, которые могли выглядеть "как в python", но, under the hood, превращаясь в вызов operator<<.
Если имеете возможность - не используйте C printf-like форматирование, нигде. Это очевидная ошибка дизайна из 70-х годов, которую упертые фанатики тащат в каждый новый язык.
Достаточно понятная и глубокая мысль - вместо того, чтобы героически решать какую-то искуственную проблему, прежде всего нужно сделать так, чтобы эта проблема не появилась.
К чему это я?
С-style printf - страшное говнище.
И не потому, что страшные и глючные varargs от C, а по очень простой баге в дизайне - способ форматирования, и аргументы для этого способа задаются отдельно, что приводит к тому, что очень легко нарушить какой-то инвариант.
Например, по числу аргументов - printf("%d %d", 1). Или по несовпадению типов аргументов.
Мой поинт в том, что, конечно, можно героически пытаться решить эти проблемы, как пытается делать compile time std::format в С++ (тоже, очевидно, страшное говнище, как наследник C printf), а можно сделать так, чтобы такое нарушение инварианта не могло возникнуть в принципе.
Мне известно два способа сделать это:
* f-strings в куче языков, f"{a} {b} {a}"
* std iostreams в С++. У них есть свои проблемы (например, они stateful), но вот класс проблем выше в них не может возникнуть: cout<<a<<" "<<b<<" "a;
Если вы приглядитесь, то поймете, что суть этих двух подходов совершенно одинакова, просто первый подход часть работы по токенизации делает чуть более удобной.
Вот их и надо использовать. В С++, конечно, лучше взять стороннюю реализацию потоков, которая не будет делать миллиарды inline вызовов, приводя к ухудшению времени компиляции и разбуханию кода.
А то, что std::format в текущем виде попал в стандарт, это, конечно, стыд и срам С++. Вот, реально, мало что хорошо было сделано в С++, ну так синтаксис форматированного вывода был сделан неплохо, надо было его и улучшать, в сторону f-strings, которые могли выглядеть "как в python", но, under the hood, превращаясь в вызов operator<<.
Если имеете возможность - не используйте C printf-like форматирование, нигде. Это очевидная ошибка дизайна из 70-х годов, которую упертые фанатики тащат в каждый новый язык.
👍12🤔7👎4🔥3🤮2🐳1
#раньшевсех
Вышел новый llvm. https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0
Я, конечно, проснулся с уже обновленным на него ноутбуком, и ничего такого не случилось.
Так же вышел #gnome 44. Вроде, нигде еще не написали, но он уже вышел, как говорится, "круги по воде" - зафризили версию новой libadwaita, webkitgtk получил новый stable (2.40.0), ну и теги местами расставили.
Вышел новый llvm. https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0
Я, конечно, проснулся с уже обновленным на него ноутбуком, и ничего такого не случилось.
Так же вышел #gnome 44. Вроде, нигде еще не написали, но он уже вышел, как говорится, "круги по воде" - зафризили версию новой libadwaita, webkitgtk получил новый stable (2.40.0), ну и теги местами расставили.
GitHub
Release LLVM 16.0.0 · llvm/llvm-project
LLVM 16.0.0 Release
👍6
commit -m "better"
В комментариях как раз обсуждали landlock, и на тебе, Justin подогнала gnu make + landlock: #justine https://justine.lol/make/ TL;DR; - make сам ограничивает свои ноды выполнения по тому, куда им можно писать и что можно читать. ЖЫР: "To demonstrate this…
Видимо, Жастин вполне осознано троллирует почтеннейшую публику своими изысканиями, иначе я более никак не могу объяснить вот этот текст - https://justine.lol/rusage/ #justine
Казалось бы, запилила портабельный rusage в своей cosmopolitan libc, ну и ладно.
Но нет, надо показать, как он работает именно на коде датасатанистов:
"The usefulness of this tool becomes apparent when running beefier programs, like an artificial general intelligence model with thirteen billion parameters. Here's what happens if we use llama.cpp to load Facebook's 13B LLaMA model."
Либо код от датасатанистов особенно хорошо оптимизируем (что не удивительно), либо это вполне осознанный способ проехаться на хайпе от ML, как раньше получилось у python.
Казалось бы, запилила портабельный rusage в своей cosmopolitan libc, ну и ладно.
Но нет, надо показать, как он работает именно на коде датасатанистов:
"The usefulness of this tool becomes apparent when running beefier programs, like an artificial general intelligence model with thirteen billion parameters. Here's what happens if we use llama.cpp to load Facebook's 13B LLaMA model."
Либо код от датасатанистов особенно хорошо оптимизируем (что не удивительно), либо это вполне осознанный способ проехаться на хайпе от ML, как раньше получилось у python.
justine.lol
Portable rusage command
The best tool for reporting command resource usage across platforms.
👍7😁2
AI-generated пресс-релиз для #stal/ix.
Запрос:
"Write press-release for alpha version of stal/IX - statically linked, source based, bootstrapped rolling Linux, based on IX package manager with Nix-inspired file system layout"
Кожаные не нужны не то что завтра, а уже даже сегодня:
"FOR IMMEDIATE RELEASE
Alpha Version of Stal/IX: The Future of Linux is Here
Stal/IX, the new statically linked, source-based, bootstrapped rolling Linux operating system, is pleased to announce the release of its alpha version. Based on the popular IX package manager, Stal/IX offers a cutting-edge file system layout inspired by Nix which provides users with a modern, streamlined, and efficient experience.
Stal/IX is a completely new take on Linux, offering an innovative approach to package management and distribution. Unlike traditional Linux distributions that rely on dynamic linking and shared libraries, Stal/IX is statically linked, meaning that it includes all of the libraries needed to run the operating system and its applications. This approach provides numerous benefits, including increased security, better performance, and simpler management.
Stal/IX also features a source-based build system, which allows users to compile their packages from source code, providing them with complete control over their system. This approach also ensures that packages are optimized for the user's specific hardware, resulting in faster and more efficient performance.
One of the most exciting features of Stal/IX is its bootstrapped rolling release model. This means that the operating system is constantly updated with the latest software, without the need for major version upgrades. This ensures that users always have access to the latest features and security updates.
In addition, Stal/IX features a file system layout inspired by Nix, which allows for efficient management of packages and dependencies. The file system is organized in a way that allows for easy rollback to previous versions, making it an ideal platform for development and experimentation.
"We're thrilled to release the alpha version of Stal/IX," said the Stal/IX development team. "We believe that our innovative approach to package management and distribution will provide users with a faster, more secure, and more efficient Linux experience."
The alpha version of Stal/IX is available for download now. For more information, please visit the Stal/IX website at<https://stalix.org/> https://stal-ix.github.io/.
About Stal/IX:
Stal/IX is a new statically linked, source-based, bootstrapped rolling Linux operating system "
Запрос:
"Write press-release for alpha version of stal/IX - statically linked, source based, bootstrapped rolling Linux, based on IX package manager with Nix-inspired file system layout"
Кожаные не нужны не то что завтра, а уже даже сегодня:
"FOR IMMEDIATE RELEASE
Alpha Version of Stal/IX: The Future of Linux is Here
Stal/IX, the new statically linked, source-based, bootstrapped rolling Linux operating system, is pleased to announce the release of its alpha version. Based on the popular IX package manager, Stal/IX offers a cutting-edge file system layout inspired by Nix which provides users with a modern, streamlined, and efficient experience.
Stal/IX is a completely new take on Linux, offering an innovative approach to package management and distribution. Unlike traditional Linux distributions that rely on dynamic linking and shared libraries, Stal/IX is statically linked, meaning that it includes all of the libraries needed to run the operating system and its applications. This approach provides numerous benefits, including increased security, better performance, and simpler management.
Stal/IX also features a source-based build system, which allows users to compile their packages from source code, providing them with complete control over their system. This approach also ensures that packages are optimized for the user's specific hardware, resulting in faster and more efficient performance.
One of the most exciting features of Stal/IX is its bootstrapped rolling release model. This means that the operating system is constantly updated with the latest software, without the need for major version upgrades. This ensures that users always have access to the latest features and security updates.
In addition, Stal/IX features a file system layout inspired by Nix, which allows for efficient management of packages and dependencies. The file system is organized in a way that allows for easy rollback to previous versions, making it an ideal platform for development and experimentation.
"We're thrilled to release the alpha version of Stal/IX," said the Stal/IX development team. "We believe that our innovative approach to package management and distribution will provide users with a faster, more secure, and more efficient Linux experience."
The alpha version of Stal/IX is available for download now. For more information, please visit the Stal/IX website at
About Stal/IX:
Stal/IX is a new statically linked, source-based, bootstrapped rolling Linux operating system "
🔥32😐10👍9🤮1
https://www.opennet.ru/opennews/art.shtml?num=58820
https://www.fsf.org/news/free-software-awards-winners-announced-eli-zaretskii-tad-skewedzeppelin-gnu-jami
FSF объявило "Free Software Awards winners".
Я, конечно, сильно удивлен, что в списке нет одной там компании на букву "Я".
Если серьезно - то все это, конечно, грустно, не более.
https://www.fsf.org/news/free-software-awards-winners-announced-eli-zaretskii-tad-skewedzeppelin-gnu-jami
FSF объявило "Free Software Awards winners".
Я, конечно, сильно удивлен, что в списке нет одной там компании на букву "Я".
Если серьезно - то все это, конечно, грустно, не более.
www.opennet.ru
Фонд СПО объявил обладателей ежегодной премии за вклад в развитие свободного ПО
На конференции LibrePlanet 2023 состоялась церемония награждения, на которой объявлены лауреаты ежегодной премии "Free Software Awards 2022", учрежденной Фондом свободного ПО (FSF) и присуждаемой людям, внесшим наиболее значительный вклад в развитие свободного…
😁14
https://habr.com/ru/company/yandex/blog/721526/
Яндекс выложил YT в open source, и это очень круто.
Теперь YT - лучший MR, доступный на рынке. Hadoop? Не смешите мои тапочки, пожалуйста.
Ну и, помимо MR, там есть много вкусного - динамические таблицы, которые, на мой взгляд, делают mongo db obsolete, и божественный Кипарис, который, если суметь поднять отдельно от YT, лучшая замена zk/etcd/прочим oss поделкам.
Яндекс выложил YT в open source, и это очень круто.
Теперь YT - лучший MR, доступный на рынке. Hadoop? Не смешите мои тапочки, пожалуйста.
Ну и, помимо MR, там есть много вкусного - динамические таблицы, которые, на мой взгляд, делают mongo db obsolete, и божественный Кипарис, который, если суметь поднять отдельно от YT, лучшая замена zk/etcd/прочим oss поделкам.
Хабр
YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source
Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных...
🔥61👍8❤3❤🔥1
Ко мне в трекер зашел совершенно незнакомый человек, https://github.com/stal-ix/ix/issues/77
Откуда, как услышал про IX - вообще непонятно!
Скажите, а у вас есть опытbootstrap расрутки OSS проекта?
Куда стоит/можно написать про #stal/ix?
Есть понятные площадки, типа lobste.rs, HN, phoronix, distrowatch, но у них свои заморочки.
Откуда, как услышал про IX - вообще непонятно!
Скажите, а у вас есть опыт
Куда стоит/можно написать про #stal/ix?
Есть понятные площадки, типа lobste.rs, HN, phoronix, distrowatch, но у них свои заморочки.
GitHub
Relationship between Nix and this project · Issue #77 · stal-ix/ix
Nix is a declarative, reproducible package manager based on a PhD thesis by Eelco Dolstra et. al. published in 2004. It operates its /nix/store filled with hashed paths -- just like IX. Is this pro...
🔥9❤5👍2😐1🍾1
https://github.com/GNOME/adwaita-icon-theme/tags
Список версий adwaita icon theme (это тема с иконками по умолчанию):
44.0
43
42.0
41.0
...
Чувствуется рука мастера!
(вот по таким мелочам, кстати, хорошо видно, где релизные процессы автоматизированы, а где - нет)
Список версий adwaita icon theme (это тема с иконками по умолчанию):
44.0
43
42.0
41.0
...
Чувствуется рука мастера!
(вот по таким мелочам, кстати, хорошо видно, где релизные процессы автоматизированы, а где - нет)
GitHub
Tags · GNOME/adwaita-icon-theme
Read-only mirror of https://gitlab.gnome.org/GNOME/adwaita-icon-theme - Tags · GNOME/adwaita-icon-theme
😁8👍4
Мне кажется, одно из самых сильных удовольствий, доставляемых программированием - это "соединить несоединимое". #herobora
Вот, есть текстовый браузер links http://links.twibright.com/, в нем как бы есть графический режим, но он застрял на linux frame buffer.
Wayland?Да вы чо, ебу дали? Ага, конечно.
Я взял https://devel.dob.sk/links-sdl/ - это набор патчей для links, которые так и не вошли в основную ветку (или, точнее, вошли, а потом их неаккуратно выпилили, ссылку не дам, потому что не нашел links в каком-нить git)
Патч был написан в 2004 году, так просто он под современный links не подошел, но я его творчески доработал - https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/sdl.c
Особенно мне доставила строчка https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/sdl.c#L381 - я не понимаю, что она значит, но без нее ничего не работало, а скопировал я ее из соседнего драйвера.
Хитрым хаком добавил этот драйвер в сборку - https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/ix.sh#L27 . По сути, просто подменил уже встроенный в сборку драйвер на свой, чтобы не возиться со сборочными файлами.
На картинке - links, запущенный поверх SDL1-compat, который является враппером над SDL2, который работает поверх wayland. Классический SDL1 под wayland не работает.
Обратите внимание на то, что там настоящие картинки и шрифты, и что это wayland сессия. Как обычно, делаю скриншот телефоном, чтобы было видно, что все это добро работает на реальном железе!
Вот, есть текстовый браузер links http://links.twibright.com/, в нем как бы есть графический режим, но он застрял на linux frame buffer.
Wayland?
Я взял https://devel.dob.sk/links-sdl/ - это набор патчей для links, которые так и не вошли в основную ветку (или, точнее, вошли, а потом их неаккуратно выпилили, ссылку не дам, потому что не нашел links в каком-нить git)
Патч был написан в 2004 году, так просто он под современный links не подошел, но я его творчески доработал - https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/sdl.c
Особенно мне доставила строчка https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/sdl.c#L381 - я не понимаю, что она значит, но без нее ничего не работало, а скопировал я ее из соседнего драйвера.
Хитрым хаком добавил этот драйвер в сборку - https://github.com/pg83/ix/blob/main/pkgs/bin/links/sdl/ix.sh#L27 . По сути, просто подменил уже встроенный в сборку драйвер на свой, чтобы не возиться со сборочными файлами.
На картинке - links, запущенный поверх SDL1-compat, который является враппером над SDL2, который работает поверх wayland. Классический SDL1 под wayland не работает.
Обратите внимание на то, что там настоящие картинки и шрифты, и что это wayland сессия. Как обычно, делаю скриншот телефоном, чтобы было видно, что все это добро работает на реальном железе!
🔥29👌5👏3👍2🐳2
commit -m "better"
#раньшевсех Вышел новый llvm. https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0 Я, конечно, проснулся с уже обновленным на него ноутбуком, и ничего такого не случилось. Так же вышел #gnome 44. Вроде, нигде еще не написали, но он уже вышел…
https://www.phoronix.com/news/GNOME-44-Released
Вот, пожалуйста, действительно, раньше всех!
Сегодня 22-е, я про это написал 18-го.
Вот, пожалуйста, действительно, раньше всех!
Сегодня 22-е, я про это написал 18-го.
Phoronix
GNOME 44 Released With Many Desktop Enhancements
GNOME 44 is now officially out as the latest half-year update to this widely-used open-source desktop.
❤6👌2👍1🥱1
commit -m "better"
https://www.oilshell.org/release/0.12.9/changelog.html Я продолжаю (с огромным удовольствием!) следить за развитием проекта oil shell. На этот раз интересного changelog нет, но я просто посмотрел в список коммитов. Некто "Andy C" занимается рефакторингом…
https://lobste.rs/s/plmk9r/new_names_for_oil_project_oil_shell
В дурке выбирают новое название для oil shell. Нувыпонели.
lobste.rs
New Names for the Oil project and "Oil Shell"?
133 comments
🤡9😁2🐳2👍1
https://deno.land/
https://wasmer.io/
Давно хотел проехаться по этому хайпу, вот, дошли руки.
Первое - это JS runtime, написанный на Rust, поверх V8.
Второе - WA (WebAssembly) runtime, написанный на Rust.
Вот объясните мне, почему это не хайпожорство, почему в этом есть какое-то added value, по сравнению с той же nodejs/v8?
Я не понимаю, почему тут вообще принципиально работает мантра "rust is a safe language":
* рантаймы живут по своим правилам, после того, как ты сделал unsafe jump из rust кода в сгенеренный байткод v8/webassembly, все, ты сам по себе - никакой семантики Rust тут и рядом не стояло, у тебя семантика garbage collected v8/webassembly/whatever. Ну, то есть, у нас тут вступают в строй гарантии кодогенераторов, а не семантики Rust.
* Немножко более subtle штука. Вот сделал я где-то в своем скрипте new File("xxx") (или как там это выглядит в nodejs). Ну у меня "где-то" должен появиться какой-то очень "тонкий" объект, который отвечает за преобразование ABI соответствующего runtime в ABI операционной системы (это, фактически, и есть "мякотка" nodejs или любого такого рантайма). Почему на Rust ее писать особенно хорошо? В моем представлении, это 2 строчки safe кода, на хендл, пришедший из unsafe внешнего мира, который мы преобразуем в параметры для точно такого же unsafe по сути ядра. Сложно написал? На Rust написан код, который распаковывает строку, получает путь в fs, делает syscall, и упаковывает int в качестве результата. Тут, простите, нет места ошибке, на чем ты это не напиши, я не видел CVE про эти места в nodejs/v8.
Утверждение, что deno там сильно безопаснее, чем nodejs - это какое-то фуфло и хайп, нет там причин быть "более безопасным".
https://wasmer.io/
Давно хотел проехаться по этому хайпу, вот, дошли руки.
Первое - это JS runtime, написанный на Rust, поверх V8.
Второе - WA (WebAssembly) runtime, написанный на Rust.
Вот объясните мне, почему это не хайпожорство, почему в этом есть какое-то added value, по сравнению с той же nodejs/v8?
Я не понимаю, почему тут вообще принципиально работает мантра "rust is a safe language":
* рантаймы живут по своим правилам, после того, как ты сделал unsafe jump из rust кода в сгенеренный байткод v8/webassembly, все, ты сам по себе - никакой семантики Rust тут и рядом не стояло, у тебя семантика garbage collected v8/webassembly/whatever. Ну, то есть, у нас тут вступают в строй гарантии кодогенераторов, а не семантики Rust.
* Немножко более subtle штука. Вот сделал я где-то в своем скрипте new File("xxx") (или как там это выглядит в nodejs). Ну у меня "где-то" должен появиться какой-то очень "тонкий" объект, который отвечает за преобразование ABI соответствующего runtime в ABI операционной системы (это, фактически, и есть "мякотка" nodejs или любого такого рантайма). Почему на Rust ее писать особенно хорошо? В моем представлении, это 2 строчки safe кода, на хендл, пришедший из unsafe внешнего мира, который мы преобразуем в параметры для точно такого же unsafe по сути ядра. Сложно написал? На Rust написан код, который распаковывает строку, получает путь в fs, делает syscall, и упаковывает int в качестве результата. Тут, простите, нет места ошибке, на чем ты это не напиши, я не видел CVE про эти места в nodejs/v8.
Утверждение, что deno там сильно безопаснее, чем nodejs - это какое-то фуфло и хайп, нет там причин быть "более безопасным".
Deno
Deno, the next-generation JavaScript runtime
Deno features improved security, performance, and developer experience compared to its predecessor. It's a great time to upgrade your Node.js project to run on Deno.
💯14🤔4🤷♀3👍1🔥1
#charity
https://lobste.rs/s/v9w2r7/weka_violates_minio_s_open_source
https://blog.min.io/weka-violates-minios-open-source-licenses/
MinIO хуесосят какую-то компанию, решившую распространять бинари от minio в составе своего продукта.
Судя по всему, по делу - их код идет под affero #gpl.
Лично я рекомендую на код под AGPL даже не глядеть, не то чтобы пытаться использовать в своих проектах.
Я хочу прицепиться к фразе из пресс-релиза:
"At MinIO, we are dedicated to the principles of open source software"
Ужасная, отвратительная, насквозь двуличная, фраза, которую можно было бы с легкостью переложить на MongoDB/Elastic/прочие "плохие" open source, с которыми не нужно иметь дела.
Несколько раз уже писал, что open source - он разный. Есть "щедрый", который, по сути, про charity, и есть "жадный" - который про "отдайте мне все производные от моего продукта", или, еще хуже, - "первая доза бесплатно".
Хотелось бы, конечно, чтобы, когда кто-то писал про приверженность принципам open source, чтобы он сразу указывал, каким принципам он привержен, потому что я, например, считаю, что такие заявления от жадных капиталистов бросают тень на "щедрый" open source.
Я не оправдываю компанию, которая решила не соблюдать AGPL, но это битва жабы и гадюки, а не добра и зла!
https://lobste.rs/s/v9w2r7/weka_violates_minio_s_open_source
https://blog.min.io/weka-violates-minios-open-source-licenses/
MinIO хуесосят какую-то компанию, решившую распространять бинари от minio в составе своего продукта.
Судя по всему, по делу - их код идет под affero #gpl.
Лично я рекомендую на код под AGPL даже не глядеть, не то чтобы пытаться использовать в своих проектах.
Я хочу прицепиться к фразе из пресс-релиза:
"At MinIO, we are dedicated to the principles of open source software"
Ужасная, отвратительная, насквозь двуличная, фраза, которую можно было бы с легкостью переложить на MongoDB/Elastic/прочие "плохие" open source, с которыми не нужно иметь дела.
Несколько раз уже писал, что open source - он разный. Есть "щедрый", который, по сути, про charity, и есть "жадный" - который про "отдайте мне все производные от моего продукта", или, еще хуже, - "первая доза бесплатно".
Хотелось бы, конечно, чтобы, когда кто-то писал про приверженность принципам open source, чтобы он сразу указывал, каким принципам он привержен, потому что я, например, считаю, что такие заявления от жадных капиталистов бросают тень на "щедрый" open source.
Я не оправдываю компанию, которая решила не соблюдать AGPL, но это битва жабы и гадюки, а не добра и зла!
lobste.rs
Weka Violates MinIO's Open Source Licenses
9 comments
🔥13👍5👎2🤔2