#bs #vendor #ix_run #dev_shell #gold
Меня удручает состояние современных OSS систем сборки. Расскажу сегодня про такой аспект: каждая уважающая себя современная система сборки хочет иметь в себе пакетный менеджер.
То есть, обеспечивать не только выполнение сборочного графа одного проекта, но и всех сборочных графов всех зависимостей.
Cargo же все видели? Я пару раз писал, к чему приводит эта заявка на всеобъемлимость применительно к cargo - необходимость wrap все зависимости не под cargo в cargo сборку. Это выглядит уродливо, и приводит к проблемам с ромбоводными зависимостями.
Проблема в том, что, несмотря на все потуги авторов этих систем сборок, они не становятся всеобъемлющими, и не получается жить в рамках одной экосистемы. Поэтому каждая такая система сборки занимается тем, что wrap в себя все внешние зависимости. Это, простите, квадрат(от числа систем сборок) по сложности прилагаемых усилий.
Я уже писал про .wrap файлы от meson(для них существует целый репозиторий - https://mesonbuild.com/Wrapdb-projects.html).
Про это можно писать бесконечно, вот несколько очень всратых примеров:
* nodejs перепиливает сборочную систему от v8 на autoconf
* webkit переделывает сборочную систему от ANGLE(это реализация opengl от Google) на CMake
* chrome вендорит кучу библиотек, не буду описывать их по отдельности
* telegram вендорит все свои зависимости, и собирает их ни с чем не совместимым образом
fun fact - сборочные системы облегчают жизнь разработчикам, но совершенно убивают мейнтейнеров этого софта в репозиториях, потому что заниматься де-вендорингом всего этого говна - мучительно.
Кстати, мне с этим живется несколько легче, чем там всяким fedora. В случае динамической линковки вендоринг - это еще и пересечение по путям в fs. В случае статической линковки это все хотя бы не видно наружу, достаточно де-вендорить всякие freetype/fontconfig и прочее.
Chrome, кстати, в этом отношении молодцы, они помогают де-вендорить те части, которые просто необходимо(типа рендеринга шрифтов).
Мучительно в том числе потому, что каждый OSS проект, от мала до велика, изобретает свой способ вендоринга.
В идеале было бы очень круто, если бы системы сборки перестали заниматься такой херней, и договорились с пакетными системами об интерфейсе взаимодействия. Это, на самом деле, не очень сложно.
Представьте себе команду
Кажется сложным? Ну давайте упростим это в alias mixrun=mix run $(cat mix.shell) —, и будем использовать так:
Основной point - система сборки уровня проекта не должна заниматься autodetect наличия зависимостей и их доставкой. Nix так умеет, Mix так умеет.
Проблема в том, что, в каждый момент времени автору того или иного OSS проекта проще накостылять очередной vendoring, вместо того, чтобы пойти договариваться со всеми заинтересованными сторонами.
Отдельно отмечу, что эти костыльные пакетные менеджеры - совершенно встратые. Очень хотелось бы посмотреть, как cargo, например, пытается завендорить любую либу с настройками и данными для этой либы.
Меня удручает состояние современных OSS систем сборки. Расскажу сегодня про такой аспект: каждая уважающая себя современная система сборки хочет иметь в себе пакетный менеджер.
То есть, обеспечивать не только выполнение сборочного графа одного проекта, но и всех сборочных графов всех зависимостей.
Cargo же все видели? Я пару раз писал, к чему приводит эта заявка на всеобъемлимость применительно к cargo - необходимость wrap все зависимости не под cargo в cargo сборку. Это выглядит уродливо, и приводит к проблемам с ромбоводными зависимостями.
Проблема в том, что, несмотря на все потуги авторов этих систем сборок, они не становятся всеобъемлющими, и не получается жить в рамках одной экосистемы. Поэтому каждая такая система сборки занимается тем, что wrap в себя все внешние зависимости. Это, простите, квадрат(от числа систем сборок) по сложности прилагаемых усилий.
Я уже писал про .wrap файлы от meson(для них существует целый репозиторий - https://mesonbuild.com/Wrapdb-projects.html).
Про это можно писать бесконечно, вот несколько очень всратых примеров:
* nodejs перепиливает сборочную систему от v8 на autoconf
* webkit переделывает сборочную систему от ANGLE(это реализация opengl от Google) на CMake
* chrome вендорит кучу библиотек, не буду описывать их по отдельности
* telegram вендорит все свои зависимости, и собирает их ни с чем не совместимым образом
fun fact - сборочные системы облегчают жизнь разработчикам, но совершенно убивают мейнтейнеров этого софта в репозиториях, потому что заниматься де-вендорингом всего этого говна - мучительно.
Кстати, мне с этим живется несколько легче, чем там всяким fedora. В случае динамической линковки вендоринг - это еще и пересечение по путям в fs. В случае статической линковки это все хотя бы не видно наружу, достаточно де-вендорить всякие freetype/fontconfig и прочее.
Chrome, кстати, в этом отношении молодцы, они помогают де-вендорить те части, которые просто необходимо(типа рендеринга шрифтов).
Мучительно в том числе потому, что каждый OSS проект, от мала до велика, изобретает свой способ вендоринга.
В идеале было бы очень круто, если бы системы сборки перестали заниматься такой херней, и договорились с пакетными системами об интерфейсе взаимодействия. Это, на самом деле, не очень сложно.
Представьте себе команду
mix run lib/z lib/freetype bin/makeЭта команда сделает #realm , в котором будут доступны указанные библиотеки, указанные сборочные инструменты, и(вот тут важно!) врапперы для компилятора cc/c++/cpp (ну или rustc, кому что), которые автомагически настроят нужные пути к библиотекам и заголовочным файлам.
bin/cmake bin/clang/14 bin/ninja -- make -j 16
Кажется сложным? Ну давайте упростим это в alias mixrun=mix run $(cat mix.shell) —, и будем использовать так:
mixrun make -j 16Или:
mixrun —sanitize=address —opt=-O2 make -j 8Тогда в соответсвующем makefile вообще не нужно заниматься autodetect, перечислять всякие -I/-l-L/etc, а просто звать простые команды вида
cc -c x.o x.cТо же самое работает и для cargo, и для любой другой сборочной системы.
Основной point - система сборки уровня проекта не должна заниматься autodetect наличия зависимостей и их доставкой. Nix так умеет, Mix так умеет.
Проблема в том, что, в каждый момент времени автору того или иного OSS проекта проще накостылять очередной vendoring, вместо того, чтобы пойти договариваться со всеми заинтересованными сторонами.
Отдельно отмечу, что эти костыльные пакетные менеджеры - совершенно встратые. Очень хотелось бы посмотреть, как cargo, например, пытается завендорить любую либу с настройками и данными для этой либы.
👍13
https://www.phoronix.com/scan.php?page=news_item&px=MS-DX-HLSL-For-Upstream-LLVM
У меня сегодня негусто, но вот это IMHO большая новость. Microsoft хочет заапстримить в clang/llvm поддержку своего компилятора шейдеров для DirectX. Как часть этой поддержки, если я все верно понял, компиляция шейдеров в Vulkan SPIR-V. Очень надеюсь при жизни увидеть стандартизацию графического API на всех платформах :)
У меня сегодня негусто, но вот это IMHO большая новость. Microsoft хочет заапстримить в clang/llvm поддержку своего компилятора шейдеров для DirectX. Как часть этой поддержки, если я все верно понял, компиляция шейдеров в Vulkan SPIR-V. Очень надеюсь при жизни увидеть стандартизацию графического API на всех платформах :)
Phoronix
Microsoft Wants To Add DirectX + HLSL Support To The Upstream LLVM/Clang Compiler
Microsoft has laid out a proposal whereby they are hoping to contribute support for DirectX, the HLSL shading language, and Vulkan graphics support to the upstream LLVM/Clang compiler.
👍4🥰1
Пост не про IT.
Долго думал, писать его, или нет, но решил, что такой case study может быть интересным.
Обычно пишут что "не является инвестиционной рекомендацией", и пост ей таки не является, но если ваш случай совпадает с моим, возможно, имеет смысл к нему прислушаться.
Ваше целеполагание очень важно, потому что стратегия для "ядерный апокалипсис", "вывести все деньги зарубеж вчера", и для моего случая - совершенно разные.
Мой use case:
* Никуда не уезжаю
* К апокалипсису не готовлюсь
* Долларов на счетах у меня нет
* Достраиваю дом, есть сколько-то рублей на эту задачу
После последних действий ЦБ, рубль не является СКВ, а для стройки нужны материалы, которые, по сути, номинированы в рублях лишь частично. Скорее всего, рубль будет падать еще. Поэтому мой основной риск - инфляция, его я и митигирую.
Оголтело бегать по обменникам я смысла не вижу:
* Неизвестно, чем завтра в Государстве Российском(далее ГР) будет являться наличный доллар. Менять на черном рынке на рубли для стройки - то еще(предположительно) удовольствие.
* Хранить под подушкой - ну меня грабанут с большой вероятностью. UPD: не то чтобы я считаю что вероятность этого вырастет в ближайшее время, я, скорее, про то, что никогда не надо хранить большую сумму дома - кто-то узнает, кому-то скажет, и пиздец.
* Хранить в банковских ячейках - есть риск того, что конкретный банк навернется, и потом содержимое ячейки придется выковыривать год.
Короче, мой инвестплан на ближайшие полгода - год - примерно четверть всех своих рублей я перевожу в крипту. По советам понимающих людей(напомню, у меня задача митигировать риск инфляции, а не заработать денег) в биткоин.
Я исхожу из того, что крипту не запретят(или запретят лишь формально), и что в ней будет достаточно рублевой массы, чтобы конвертация нормально ходила.
Ну и, так как я человек советский, конечно, 2000$ под подушку, на самый крайний случай.
В комментарии к тексту напишу, как я обращаюсь с битками.
Долго думал, писать его, или нет, но решил, что такой case study может быть интересным.
Обычно пишут что "не является инвестиционной рекомендацией", и пост ей таки не является, но если ваш случай совпадает с моим, возможно, имеет смысл к нему прислушаться.
Ваше целеполагание очень важно, потому что стратегия для "ядерный апокалипсис", "вывести все деньги зарубеж вчера", и для моего случая - совершенно разные.
Мой use case:
* Никуда не уезжаю
* К апокалипсису не готовлюсь
* Долларов на счетах у меня нет
* Достраиваю дом, есть сколько-то рублей на эту задачу
После последних действий ЦБ, рубль не является СКВ, а для стройки нужны материалы, которые, по сути, номинированы в рублях лишь частично. Скорее всего, рубль будет падать еще. Поэтому мой основной риск - инфляция, его я и митигирую.
Оголтело бегать по обменникам я смысла не вижу:
* Неизвестно, чем завтра в Государстве Российском(далее ГР) будет являться наличный доллар. Менять на черном рынке на рубли для стройки - то еще(предположительно) удовольствие.
* Хранить под подушкой - ну меня грабанут с большой вероятностью. UPD: не то чтобы я считаю что вероятность этого вырастет в ближайшее время, я, скорее, про то, что никогда не надо хранить большую сумму дома - кто-то узнает, кому-то скажет, и пиздец.
* Хранить в банковских ячейках - есть риск того, что конкретный банк навернется, и потом содержимое ячейки придется выковыривать год.
Короче, мой инвестплан на ближайшие полгода - год - примерно четверть всех своих рублей я перевожу в крипту. По советам понимающих людей(напомню, у меня задача митигировать риск инфляции, а не заработать денег) в биткоин.
Я исхожу из того, что крипту не запретят(или запретят лишь формально), и что в ней будет достаточно рублевой массы, чтобы конвертация нормально ходила.
Ну и, так как я человек советский, конечно, 2000$ под подушку, на самый крайний случай.
В комментарии к тексту напишу, как я обращаюсь с битками.
🔥14👍2❤1😱1
Я думаю, в ближайшее время меня будет сложно найти в FB, зато можно будет тут:
https://xn--r1a.website/pg_live
https://xn--r1a.website/pg_live
Telegram
PG LIVE
PG LIVE
👍10
commit -m "better"
https://miro.com/about/ Российская компания Миро удалила все упоминания о своем российском происхождении со своего сайта. В том числе, упоминание про офис в Перми. Офис, конечно, убрать так просто нельзя, поэтому его, в лучших традициях современности, "отменили"…
https://miro.com/trust/compliance/notice/
Миро всячески старается откреститься от российских корней, чтобы ее не отменили.
* это, конечно, неприятно
* с другой стороны - а что делать, пожелаем им в этом успехов
* интересно наблюдать, как санкции перетекают в классическую cancel culture. Прямо очень интересно, наблюдать действие этого механизма вживую, в realtime, и в области, которая лично понятна. У меня постепенно зреет про это текст.
Миро всячески старается откреститься от российских корней, чтобы ее не отменили.
* это, конечно, неприятно
* с другой стороны - а что делать, пожелаем им в этом успехов
* интересно наблюдать, как санкции перетекают в классическую cancel culture. Прямо очень интересно, наблюдать действие этого механизма вживую, в realtime, и в области, которая лично понятна. У меня постепенно зреет про это текст.
https://miro.com/
Regarding Recent World Events | Miro
👍5
commit -m "better"
https://tjournal.ru/tech/554723-mincifry-reshilo-zamenit-inostrannye-sertifikaty-shifrovaniya-rossiyskimi-chto-eto-znachit-dlya-polzovateley-runeta Вот, опять, про инфраструктуру. Центры сертификации должны удостоверять, что сайт - тот самый сайт, а не левая…
https://habr.com/ru/company/yandex/blog/655185/
Классный текст на тему от Железного Пети.
Я думаю, техническая суть текста читателям моего бложика и без меня будет понятна, IMHO самое важное, что там написано:
"Неполный авторитет — это значит, что сертификаты НУЦ будут признаваться только для тех доменов, которые помещены в публичный список на gosuslugi.ru/tls. Если посещаемого сайта нет в этом списке, то попытка применить новый сертификат приведёт к стандартной ошибке и не даст посетить сайт. И нет, нельзя выпустить сертификат по маске так, чтобы покрыть все домены второго уровня (например, все *.ru) — на стороне Браузера такое просто не заработает. Кроме того, все входящие к нам изменения этого списка будут проходить через контроль явных ошибок. Если очень грубо, то это первый шаг к Certificate Transparency, чтобы обеспечить аудируемость процедуры выдачи сертификатов."
MITM не будет. С "понятными ограничениями".
Классный текст на тему от Железного Пети.
Я думаю, техническая суть текста читателям моего бложика и без меня будет понятна, IMHO самое важное, что там написано:
"Неполный авторитет — это значит, что сертификаты НУЦ будут признаваться только для тех доменов, которые помещены в публичный список на gosuslugi.ru/tls. Если посещаемого сайта нет в этом списке, то попытка применить новый сертификат приведёт к стандартной ошибке и не даст посетить сайт. И нет, нельзя выпустить сертификат по маске так, чтобы покрыть все домены второго уровня (например, все *.ru) — на стороне Браузера такое просто не заработает. Кроме того, все входящие к нам изменения этого списка будут проходить через контроль явных ошибок. Если очень грубо, то это первый шаг к Certificate Transparency, чтобы обеспечить аудируемость процедуры выдачи сертификатов."
MITM не будет. С "понятными ограничениями".
Хабр
Про поддержку сайтов с национальными сертификатами в Яндекс Браузере
Очень много вопросов по этой теме. Оно и понятно: информации мало, противоречивых интерпретаций много. Для нас тема защиты соединений с сайтами близка. Мы пишем на Хабре об этом уже лет восемь....
👍11🥰1
https://bugzilla.mozilla.org/show_bug.cgi?id=1758773
Интересный тикет про сертификаты от госуслуг. Пара SJW-шных выжимок:
"Russia started trying to force people to install government root CA certificate"
"- Are you required to trust the root to visit sites not run by the Russian government (e.g. google)?
- Nope, but probably [yet]."
"Ofc, it will be used for doing MITM attacks if a valuable number of users install it.
I think Mozilla, Google and Microsoft should protect privacy of users in Russia." Тут предлагается, по сути, не давать пользователю руками добавлять нужный серт, заблеклистив его. Запрет неугодного сайта - это защита privacy. Свобода - это рабство!
Я ненавижу ложь, в любом виде. Даже в виде домыслов. Я не могу считать, что люди, которые в этом тикете что-то делают, основываясь на этой хне, делают что-то полезное для меня.
Мякотка начинается тут - https://bugzilla.mozilla.org/show_bug.cgi?id=1758773#c17
Товарищ предлагает забанить центры сертификации, которые вздумали играть в политику. Я целиком и полностью поддерживаю это, потому что провайдеры инфраструктуры не могут выступать модераторами этой инфраструктуры(слуште, когда я только начинал писать про эту тему полгода назад, я и представить себе не мог, во что это выльется. Признаться, тогда меня очень бесил Тиндер).
В топике на этой ответили какой-то хней, ссылаясь на большой многостраничный pdf. Я не поленился прочесть, вот релевантный кусок:
"2. The CA obtains evidence that the Certificate was misused;"
Ну, охуеть теперь, под misused, при желании, можно что угодно подвести.
Я продолжаю настаивать, что misused - это когда сайт притворился чем-то другим, а контент на этом сайте не должен волновать CA.
https://bugzilla.mozilla.org/show_bug.cgi?id=1758773#c19
Запасаемся попкорном. Хотя можно и не, потому что результат немного предсказуем. Россия сейчас плохая, поэтому сертификат априори misused же, по извращенной логике cancel culture.
Цитата, очень верно отражающая мое отношение к тому, что CA решили фильтровать контент:
"– Это вот что: если я, вместо того, чтобы оперировать, каждый вечер начну у себя в квартире петь хором, у меня настанет разруха. Если я, посещая уборную, начну, извините меня за выражение, мочиться мимо унитаза и то же самое будут делать Зина и Дарья Петровна, в уборной начнется разруха. Следовательно, разруха не в клозетах, а в головах. Значит, когда эти баритоны кричат «Бей разруху!» – я смеюсь. (Лицо Филипп Филиппович перекосило так, что тяпнутый открыл рот.) Клянусь вам, мне смешно! Это означает, что каждый из них должен лупить себя по затылку! И вот, когда он вылупит из себя всякие галлюцинации и займется чисткой сараев – прямым своим делом, разруха исчезнет сама собой. Двум богам нельзя служить! Невозможно в одно и то же время подметать трамвайные пути и устраивать судьбы каких-то испанских оборванцев! Это никому не удается, доктор, и тем более людям, которые вообще, отстав от развития европейцев лет на двести, до сих пор еще не совсем уверенно застегивают собственные штаны!"
(конец цитаты несколько двусмысленен в текущем контексте, но я не какой-то там левак-цензор!)
Интересный тикет про сертификаты от госуслуг. Пара SJW-шных выжимок:
"Russia started trying to force people to install government root CA certificate"
"- Are you required to trust the root to visit sites not run by the Russian government (e.g. google)?
- Nope, but probably [yet]."
"Ofc, it will be used for doing MITM attacks if a valuable number of users install it.
I think Mozilla, Google and Microsoft should protect privacy of users in Russia." Тут предлагается, по сути, не давать пользователю руками добавлять нужный серт, заблеклистив его. Запрет неугодного сайта - это защита privacy. Свобода - это рабство!
Я ненавижу ложь, в любом виде. Даже в виде домыслов. Я не могу считать, что люди, которые в этом тикете что-то делают, основываясь на этой хне, делают что-то полезное для меня.
Мякотка начинается тут - https://bugzilla.mozilla.org/show_bug.cgi?id=1758773#c17
Товарищ предлагает забанить центры сертификации, которые вздумали играть в политику. Я целиком и полностью поддерживаю это, потому что провайдеры инфраструктуры не могут выступать модераторами этой инфраструктуры(слуште, когда я только начинал писать про эту тему полгода назад, я и представить себе не мог, во что это выльется. Признаться, тогда меня очень бесил Тиндер).
В топике на этой ответили какой-то хней, ссылаясь на большой многостраничный pdf. Я не поленился прочесть, вот релевантный кусок:
"2. The CA obtains evidence that the Certificate was misused;"
Ну, охуеть теперь, под misused, при желании, можно что угодно подвести.
Я продолжаю настаивать, что misused - это когда сайт притворился чем-то другим, а контент на этом сайте не должен волновать CA.
https://bugzilla.mozilla.org/show_bug.cgi?id=1758773#c19
Запасаемся попкорном. Хотя можно и не, потому что результат немного предсказуем. Россия сейчас плохая, поэтому сертификат априори misused же, по извращенной логике cancel culture.
Цитата, очень верно отражающая мое отношение к тому, что CA решили фильтровать контент:
"– Это вот что: если я, вместо того, чтобы оперировать, каждый вечер начну у себя в квартире петь хором, у меня настанет разруха. Если я, посещая уборную, начну, извините меня за выражение, мочиться мимо унитаза и то же самое будут делать Зина и Дарья Петровна, в уборной начнется разруха. Следовательно, разруха не в клозетах, а в головах. Значит, когда эти баритоны кричат «Бей разруху!» – я смеюсь. (Лицо Филипп Филиппович перекосило так, что тяпнутый открыл рот.) Клянусь вам, мне смешно! Это означает, что каждый из них должен лупить себя по затылку! И вот, когда он вылупит из себя всякие галлюцинации и займется чисткой сараев – прямым своим делом, разруха исчезнет сама собой. Двум богам нельзя служить! Невозможно в одно и то же время подметать трамвайные пути и устраивать судьбы каких-то испанских оборванцев! Это никому не удается, доктор, и тем более людям, которые вообще, отстав от развития европейцев лет на двести, до сих пор еще не совсем уверенно застегивают собственные штаны!"
(конец цитаты несколько двусмысленен в текущем контексте, но я не какой-то там левак-цензор!)
bugzilla.mozilla.org
1758773 - MITM in Russia
UNCONFIRMED (nobody) in Core - Security Block-lists, Allow-lists, and other State. Last updated 2025-03-02.
👍16
commit -m "better"
Я думаю, в ближайшее время меня будет сложно найти в FB, зато можно будет тут: https://xn--r1a.website/pg_live
Написал там про SJW. IMHO для IT блога это не очень подходящий текст, но ссылку дам, вдруг кому интересно.
👍4
https://lobste.rs/s/kfwxvu/microsoft_mimalloc#c_cvykcm
https://github.com/microsoft/snmalloc
Еще один интересный аллокатор от MS. Разбор устройства от автора на lobsters.
Мне показалось интересным устройство механизма освобождения памяти из одного треда в другой. Сделано оно весьма необычным образом, зачем так - я пока понять не сумел.
Не обошлось без интересностей и в системе сборки:
* отсутствует install target. И действительно, кому он нужен, все же будут вендорить код этой либы(нет).
* В статических либах все экспортируемые символы содержат префикс sn_. sn_malloc, sn_free, etc. В .so все в порядке. Я, когда вижу такое, всегда пытаюсь представить, что творится в голове у человека, который принимает такое решение. Что, зачем...
———
https://www.opennet.ru/opennews/art.shtml?num=56842
Классный срачик между отцами(и матерями!)-основателями ElementaryOS. Пример деловой этики, которую, КМК, я никогда не смогу понять(и простить).
Какая-то тактика выжженной земли. Ну, допустим, сейчас локально чувак максимизирует свою прибыль, но кто после такого захочет с ним ввязываться в новый проект? Или я чего-то не понимаю?
———
https://etpgpb.ru/portal/import-substitution
Биржа для импортозамещения. Посмотрел, не хочет ли там кто импортозаместить дистрибутив Linux, но увы, пилить бюджет мне пока не светит.
———
Вышла новая версия #mesa, 22.0.0. Попробовал ее, epiphany начал писать при старте красивое(пишу по памяти, забыл сохранить):
EGL create context failure, invalid context, last error: EGL_SUCCESS.
Сука.
Хотел бы тутпоспекулировать подискутировать на тему обработки ошибок в С/С++/Rust. Мне продолжает казаться, что необходимость указывать строгий тип для канала для возвращения ошибки не всегда хорошо. В С++ очень легко добавить новые типы ошибок в "глубинный" код. Да, иногда это приводит к тому, что внешний код не готов их правильно обработать, но вот такая ситуация, что мы тупо проебали половину контекста ошибки, в С++ случается гораздо реже.
Модель Rust, на мой взгляд, тут где-то между С и С++ - обогащать контекст ошибки сложнее, чем в С++, но компилятор, в отличие от С, с этой задачей поможет.
Интересно, как все это будет стрелять по мере накопления и старения кодовой базы на Rust.
https://github.com/microsoft/snmalloc
Еще один интересный аллокатор от MS. Разбор устройства от автора на lobsters.
Мне показалось интересным устройство механизма освобождения памяти из одного треда в другой. Сделано оно весьма необычным образом, зачем так - я пока понять не сумел.
Не обошлось без интересностей и в системе сборки:
* отсутствует install target. И действительно, кому он нужен, все же будут вендорить код этой либы(нет).
* В статических либах все экспортируемые символы содержат префикс sn_. sn_malloc, sn_free, etc. В .so все в порядке. Я, когда вижу такое, всегда пытаюсь представить, что творится в голове у человека, который принимает такое решение. Что, зачем...
———
https://www.opennet.ru/opennews/art.shtml?num=56842
Классный срачик между отцами(и матерями!)-основателями ElementaryOS. Пример деловой этики, которую, КМК, я никогда не смогу понять(и простить).
Какая-то тактика выжженной земли. Ну, допустим, сейчас локально чувак максимизирует свою прибыль, но кто после такого захочет с ним ввязываться в новый проект? Или я чего-то не понимаю?
———
https://etpgpb.ru/portal/import-substitution
Биржа для импортозамещения. Посмотрел, не хочет ли там кто импортозаместить дистрибутив Linux, но увы, пилить бюджет мне пока не светит.
———
Вышла новая версия #mesa, 22.0.0. Попробовал ее, epiphany начал писать при старте красивое(пишу по памяти, забыл сохранить):
EGL create context failure, invalid context, last error: EGL_SUCCESS.
Сука.
Хотел бы тут
Модель Rust, на мой взгляд, тут где-то между С и С++ - обогащать контекст ошибки сложнее, чем в С++, но компилятор, в отличие от С, с этой задачей поможет.
Интересно, как все это будет стрелять по мере накопления и старения кодовой базы на Rust.
lobste.rs
microsoft/mimalloc
13 comments
👍4❤2
https://github.com/swaywm/sway/issues/6828#issuecomment-1066202454
в продолжении темы про #sway. Автор его, судя по всему, ушел в загул, в тикетах не появляется. Но один из собратьев по несчастью подсказал мне решение:
https://github.com/swaywm/sway/issues/6828#issuecomment-1064575503
https://unix.stackexchange.com/questions/250153/what-is-a-subreaper-process
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh#L47 - не до конца уверен в правильности этого цикла, unix signals - это жесть.
Забавно, что про это штуку я и так знал, но успел благополучно забыть.
———
Хочу немного дополнить текст про поведение мозиллы и этих самых CA.
После такого любой разумный человек задумается, не захочет ли како-нить CA и с ним поиграть в политику, если это понадобится. Вангую рост числа национальных CA, и национальных форков chromium же.
———
Пример хорошего(ИМХО) поведения вменяемой компании:
The payment methods that we accept (Visa, MasterCard, American Express, and PayPal) have suspended service in Russia. As a result, you will likely be unable to submit payment to renew your Fastmail subscription at this time. If you have a payment due between now and August 2022, we will extend the due date for your payment to September 2022. Should payment methods remain suspended in September 2022, we'll reevaluate at that time.
Надеюсь, они не пойдут с этим на попятную, лучи добра.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/commit/fad350d5bf36a7e39aa3840926b4c9968e9f594c
Феерический пиздец. Люди вообще не понимают, что такое лицензия на софт, и думают, что они могут туда вписать любую дичь.
By using the code provided in this repository you agree with the following:
* Russia has [illegally annexed Crimea in 2014](https://en.wikipedia.org/wiki/Annexation_of_Crimea_by_the_Russian_Federation) and [brought the war in Donbas](https://en.wikipedia.org/wiki/War_in_Donbas) followed by [full-scale invasion of Ukraine in 2022](https://en.wikipedia.org/wiki/2022_Russian_invasion_of_Ukraine).
* Russia has brought sorrow and devastations to millions of Ukrainians, killed hundreds of innocent people, damaged thousands of buildings, and forced several million people to flee.
* [Putin khuylo!](https://en.wikipedia.org/wiki/Putin_khuylo!)
Я, конечно, не смог удержаться.
в продолжении темы про #sway. Автор его, судя по всему, ушел в загул, в тикетах не появляется. Но один из собратьев по несчастью подсказал мне решение:
https://github.com/swaywm/sway/issues/6828#issuecomment-1064575503
https://unix.stackexchange.com/questions/250153/what-is-a-subreaper-process
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh#L47 - не до конца уверен в правильности этого цикла, unix signals - это жесть.
Забавно, что про это штуку я и так знал, но успел благополучно забыть.
———
Хочу немного дополнить текст про поведение мозиллы и этих самых CA.
После такого любой разумный человек задумается, не захочет ли како-нить CA и с ним поиграть в политику, если это понадобится. Вангую рост числа национальных CA, и национальных форков chromium же.
———
Пример хорошего(ИМХО) поведения вменяемой компании:
The payment methods that we accept (Visa, MasterCard, American Express, and PayPal) have suspended service in Russia. As a result, you will likely be unable to submit payment to renew your Fastmail subscription at this time. If you have a payment due between now and August 2022, we will extend the due date for your payment to September 2022. Should payment methods remain suspended in September 2022, we'll reevaluate at that time.
Надеюсь, они не пойдут с этим на попятную, лучи добра.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/commit/fad350d5bf36a7e39aa3840926b4c9968e9f594c
Феерический пиздец. Люди вообще не понимают, что такое лицензия на софт, и думают, что они могут туда вписать любую дичь.
By using the code provided in this repository you agree with the following:
* Russia has [illegally annexed Crimea in 2014](https://en.wikipedia.org/wiki/Annexation_of_Crimea_by_the_Russian_Federation) and [brought the war in Donbas](https://en.wikipedia.org/wiki/War_in_Donbas) followed by [full-scale invasion of Ukraine in 2022](https://en.wikipedia.org/wiki/2022_Russian_invasion_of_Ukraine).
* Russia has brought sorrow and devastations to millions of Ukrainians, killed hundreds of innocent people, damaged thousands of buildings, and forced several million people to flee.
* [Putin khuylo!](https://en.wikipedia.org/wiki/Putin_khuylo!)
Я, конечно, не смог удержаться.
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...
👏10🤯5👍1
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937
не удержался я
должен сказать, что иногда встренный web editor - это очень круто, потому что если бы мне нужно было бы в полный цикл checkout/edit/commit, я бы забил.
не удержался я
должен сказать, что иногда встренный web editor - это очень круто, потому что если бы мне нужно было бы в полный цикл checkout/edit/commit, я бы забил.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
🔥16👍8🤔1
вышел go 1.18
С дженериками.
https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md
Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация?
Я, конечно, надеюсь, что первое, потому что и дальше можно будет ходить и говорить "дженерики в go - говно"(вместо "в go нет дженериков").
———
https://lwn.net/Articles/887746/
#linux #ci
Мне уже несколько поднадоело писать про то, как linux hackers относятся к тестам, но вот эту цитату Линуса я не могу пройти стороной:
"None of this was really surprising, but I naïvely thought I'd be able
to do the final release this weekend anyway.
And honestly, I considered it. I don't think we really have any pending issues that would hold up a release, but on the other hand we also really don't have any reason _not_ to give it another week with all the proper automated testing."
Я же все верно понимаю? Линус пишет, что, в принципе, конечно, можно и так, но он, мол, не придумал ни одной причины, чтобы не прогнать тесты. И как будто извиняется, что из-за дурацких тестов релиз откладывается еще на неделю.
Норм.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1068308469
Вчерашний мой PR закрыли. Дискуссия интересная, по очкам я победил, но хозяин - барин.
Я, конечно, продолжил дискуссию в новом тикете, но меня там послали, и тикет просто отменили, как это сейчас принято.
Потом автор всего этого безобразия нашел мой канал, и пришел в прошлый пост, почитать можете сами.
С дженериками.
https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md
Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация?
Я, конечно, надеюсь, что первое, потому что и дальше можно будет ходить и говорить "дженерики в go - говно"(вместо "в go нет дженериков").
———
https://lwn.net/Articles/887746/
#linux #ci
Мне уже несколько поднадоело писать про то, как linux hackers относятся к тестам, но вот эту цитату Линуса я не могу пройти стороной:
"None of this was really surprising, but I naïvely thought I'd be able
to do the final release this weekend anyway.
And honestly, I considered it. I don't think we really have any pending issues that would hold up a release, but on the other hand we also really don't have any reason _not_ to give it another week with all the proper automated testing."
Я же все верно понимаю? Линус пишет, что, в принципе, конечно, можно и так, но он, мол, не придумал ни одной причины, чтобы не прогнать тесты. И как будто извиняется, что из-за дурацких тестов релиз откладывается еще на неделю.
Норм.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1068308469
Вчерашний мой PR закрыли. Дискуссия интересная, по очкам я победил, но хозяин - барин.
Я, конечно, продолжил дискуссию в новом тикете, но меня там послали, и тикет просто отменили, как это сейчас принято.
Потом автор всего этого безобразия нашел мой канал, и пришел в прошлый пост, почитать можете сами.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
❤3👍3
По поводу новой политики модерации FB.
Я тут подумал, что, на самом деле, несмотря на то, что это треш, угар, и содомия, FB поступил намного честнее, чем другие компании - он эту политику опубликовал.
Я более чем уверен, что подобные, только негласные, правила сейчас есть и на github, к примеру. Огромный массив hate speech по отношению к русским, без попыток прекратить это безобразие.
Да я и сам послал с пару десятков жалоб, без видимого результата. Как это соотносится с моими взглядами на свободу слова? Плохое время - плохие инструменты.
———
https://medium.engineering/typography-is-impossible-5872b0c7f891
Я думаю, вы уже обратили внимание, что мне интересна тема про шрифты, еще одна классная статья на тему.
———
https://lore.kernel.org/lkml/YjBr10JXLGHfEFfi@gmail.com/
#ingo
Третья попытка от Инго вмержить ускорение сборки ядра Linux. Удивлен, насколько мало к себе привлекли первая и вторая попытки в среде разработчиков ядра.
Я тут подумал, что, на самом деле, несмотря на то, что это треш, угар, и содомия, FB поступил намного честнее, чем другие компании - он эту политику опубликовал.
Я более чем уверен, что подобные, только негласные, правила сейчас есть и на github, к примеру. Огромный массив hate speech по отношению к русским, без попыток прекратить это безобразие.
Да я и сам послал с пару десятков жалоб, без видимого результата. Как это соотносится с моими взглядами на свободу слова? Плохое время - плохие инструменты.
———
https://medium.engineering/typography-is-impossible-5872b0c7f891
Я думаю, вы уже обратили внимание, что мне интересна тема про шрифты, еще одна классная статья на тему.
———
https://lore.kernel.org/lkml/YjBr10JXLGHfEFfi@gmail.com/
#ingo
Третья попытка от Инго вмержить ускорение сборки ядра Linux. Удивлен, насколько мало к себе привлекли первая и вторая попытки в среде разработчиков ядра.
Medium
Typography is impossible
The practical guide to why laying out type never quite does what you want
👍4
Беснование в open source набирает обороты, дурацкой лицензией дело не ограничивается, люди уже начинают портить данные на жестких дисках.
https://github.com/medikoo/es5-ext/commit/28de285ed433b45113f01e4ce7c74e9a356b2af2
https://github.com/vuejs/vue-cli/issues/7054
https://github.com/RIAEvangelist/node-ipc/issues/233
Список сумасшедших, которым потом будет стыдно:
https://docs.google.com/spreadsheets/u/1/d/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ/htmlview?pru=AAABf7s6eoc*lXxgW2OQG5yig1d0fmf3cQ#gid=2074850979
Коллеги из MS, начните что-то с этим реально делать, потому что через несколько лет все начнет восстанавливаться, кроме доверия к вам, как к платформе.
Замечу, что нет худа без добра, это научит js- и python- разрабов фиксировать версии зависимостей.
———
Я себе ищу запасной аэродром для хранения исходников.
Исходил я из следующего:
* Это должно быть что-то местечковое, потому что я считаю, что маленькие свечные заводики этим беснованием будут затронуты в меньшей степени.
* Я уже опакетил порядка 400 пакетов, и у меня есть четкое представление, в каких хранилищах лежит наиболее интересный и хорошо сделанный код.
* Хочется чего-то, близкого к хакерской субкультуре. В олдовой unix традиции, если хотите. Без смузи-интерфейсов.
Короче, я пробую жить вот тут - https://sr.ht/, https://git.sr.ht/~pg/mix. Я подумывал о переезде туда последние 3 - 4 месяца, текущие события мою мысль подстегнули, конечно. #source_hut, #ddv
Когда я захожу на github, у меня дикое желание выпить смузи и установить npm. А когда на sr.ht - надеть свитер с оленями и отрастить бороду побольше, если вы понимаете, о чем я.
* сервис от небезызвестного Drew DeVault https://drewdevault.com/. Не знаю, почему, но на sr.ht концентрация классного кода просто зашкаливает.
* ничего лишнего, интерфейсы в стиле 80-ых, все, как я люблю
* user pg не был занят, это big win
* надо платить, и это хорошо, сервис обещает не делиться никакими данными, нет рекламы.
* пришлось, в очередной раз, вспомнить модель git, для синхронизации туда-сюда.
Подумываю о переименовании mix в mx, и переезд на hg, чтобы было совсем круто:
https://hg.sr.ht/~pg/mx
https://github.com/medikoo/es5-ext/commit/28de285ed433b45113f01e4ce7c74e9a356b2af2
https://github.com/vuejs/vue-cli/issues/7054
https://github.com/RIAEvangelist/node-ipc/issues/233
Список сумасшедших, которым потом будет стыдно:
https://docs.google.com/spreadsheets/u/1/d/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ/htmlview?pru=AAABf7s6eoc*lXxgW2OQG5yig1d0fmf3cQ#gid=2074850979
Коллеги из MS, начните что-то с этим реально делать, потому что через несколько лет все начнет восстанавливаться, кроме доверия к вам, как к платформе.
Замечу, что нет худа без добра, это научит js- и python- разрабов фиксировать версии зависимостей.
———
Я себе ищу запасной аэродром для хранения исходников.
Исходил я из следующего:
* Это должно быть что-то местечковое, потому что я считаю, что маленькие свечные заводики этим беснованием будут затронуты в меньшей степени.
* Я уже опакетил порядка 400 пакетов, и у меня есть четкое представление, в каких хранилищах лежит наиболее интересный и хорошо сделанный код.
* Хочется чего-то, близкого к хакерской субкультуре. В олдовой unix традиции, если хотите. Без смузи-интерфейсов.
Короче, я пробую жить вот тут - https://sr.ht/, https://git.sr.ht/~pg/mix. Я подумывал о переезде туда последние 3 - 4 месяца, текущие события мою мысль подстегнули, конечно. #source_hut, #ddv
Когда я захожу на github, у меня дикое желание выпить смузи и установить npm. А когда на sr.ht - надеть свитер с оленями и отрастить бороду побольше, если вы понимаете, о чем я.
* сервис от небезызвестного Drew DeVault https://drewdevault.com/. Не знаю, почему, но на sr.ht концентрация классного кода просто зашкаливает.
* ничего лишнего, интерфейсы в стиле 80-ых, все, как я люблю
* user pg не был занят, это big win
* надо платить, и это хорошо, сервис обещает не делиться никакими данными, нет рекламы.
* пришлось, в очередной раз, вспомнить модель git, для синхронизации туда-сюда.
Подумываю о переименовании mix в mx, и переезд на hg, чтобы было совсем круто:
https://hg.sr.ht/~pg/mx
GitHub
chore: Give Peace a Chance · medikoo/es5-ext@28de285
ECMAScript extensions (with respect to upcoming ECMAScript features) - chore: Give Peace a Chance · medikoo/es5-ext@28de285
👍16🔥5
commit -m "better"
вышел go 1.18 С дженериками. https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация? Я, конечно, надеюсь, что первое, потому что и дальше…
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1070958276
Антон таки внял голосу разума, и убрал некорректное изменение в лицензии Apache. Теперь тот самый текст - просто комментарий в README.md, без юридических требований. https://github.com/terraform-aws-modules/terraform-aws-eks#additional-information-for-users-from-russia-and-belarus
В высказывании своих политических взглядов я никакой проблемы не вижу, поэтому считаю, что все закончилось хорошо.
Антон таки внял голосу разума, и убрал некорректное изменение в лицензии Apache. Теперь тот самый текст - просто комментарий в README.md, без юридических требований. https://github.com/terraform-aws-modules/terraform-aws-eks#additional-information-for-users-from-russia-and-belarus
В высказывании своих политических взглядов я никакой проблемы не вижу, поэтому считаю, что все закончилось хорошо.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
👍47
Сегодня ссылочный блог, звиняйте.
https://www.opennet.ru/opennews/art.shtml?num=56871
Firefox идет куда-то не туда. У меня такое ощущение, что, в погоне за последней копеечкой, они готовы вообще на все. Я так считаю - им надо или как-то дифференцироваться с хромом, и занять небольшую нишу, или уже сдаваться.
В современном мире компания, которая делает браузер в качестве основного продукта, не жилец.
Впрочем, я не верю и про нишу, с их дурацкой лицензией на код и качеством самого кода.
———
https://lkml.org/lkml/2022/3/17/964
Rust в Linux, v5. #linux_kernel_rust
Честно, я с огромным удовольствием слежу за этой историей. Линус хранит гробовое молчание, и, я думаю, ему этот Rust как кость в горле.
Но сейчас Линус уже старый и сытый, и не хочет кусать руку, которая его кормит, поэтому послать в жопу то, что не осилил понять(речь про С++ и Rust, а я смею заверить, что критика тогдашним, молодым, Линусом, C++ - ну так себе) уже не выйдет.
Поэтому я получу огромное удовольствие, когда он прогнется, и сдастся. Ну или еще большее удовольствие, если нет, наблюдая за последствиями.
Вот такой вот я злобный и злопамятный С++ программист.
https://www.opennet.ru/opennews/art.shtml?num=56871
Firefox идет куда-то не туда. У меня такое ощущение, что, в погоне за последней копеечкой, они готовы вообще на все. Я так считаю - им надо или как-то дифференцироваться с хромом, и занять небольшую нишу, или уже сдаваться.
В современном мире компания, которая делает браузер в качестве основного продукта, не жилец.
Впрочем, я не верю и про нишу, с их дурацкой лицензией на код и качеством самого кода.
———
https://lkml.org/lkml/2022/3/17/964
Rust в Linux, v5. #linux_kernel_rust
Честно, я с огромным удовольствием слежу за этой историей. Линус хранит гробовое молчание, и, я думаю, ему этот Rust как кость в горле.
Но сейчас Линус уже старый и сытый, и не хочет кусать руку, которая его кормит, поэтому послать в жопу то, что не осилил понять(речь про С++ и Rust, а я смею заверить, что критика тогдашним, молодым, Линусом, C++ - ну так себе) уже не выйдет.
Поэтому я получу огромное удовольствие, когда он прогнется, и сдастся. Ну или еще большее удовольствие, если нет, наблюдая за последствиями.
Вот такой вот я злобный и злопамятный С++ программист.
www.opennet.ru
Mozilla внедряет идентификаторы в загружаемые установочные файлы Firefox
Компания Mozilla начала применять новый метод идентификации установок браузера. В распространяемые с официального сайта сборки, поставляемые в форме exe-файлов для платформы Windows, подставляются идентификаторы dltoken, уникальные для каждой загрузки. Соответственно…
👍16🤔2
https://www.cnews.ru/news/top/2022-03-18_razrabotchik_samoj_populyarnoj
Пиздец, 5000 человек будут дистр Линукса клепать... Даже мне будет сложно с ними конкурировать.
Пиздец, 5000 человек будут дистр Линукса клепать... Даже мне будет сложно с ними конкурировать.
CNews.ru
Разработчик самой популярной российской ОС многократно увеличивает штат. Начался набор тысяч программистов - CNews
Разработчики отечественной ОС Astra Linux столкнулись со скачкообразным ростом интереса рынка к своим решениям и для его удовлетворения решили значительно нарастить штат. В течение двух лет он может...
😁3💩2