Я не люблю проекты GNU и #GNOME за их левацкую, SJW-шную показушность, очковтирательство, и нечестность.
https://www.phoronix.com/scan.php?page=news_item&px=GNOME-42-Beta
GNOME 4X - это сплошная ложь.
Я не уверен, что на старте у них вообще были приложения, портированные на GTK4, сейчас таких приложений около половины, и ни одного, в которых вы проводите бОльшую часть времени. Epiphany(WEB браузер), Evince(просмотр документов), terminal - все еще на GTK3. inkscape(хотя и не часть GNOME) вообще только недавно перешел с GTK2 на GTK3). Просмотрщик шрифтов на GTK4 - это, конечно, круто(нет, это херня). Я не думаю, что вы проводите много времени в control center и просмотре шрифтов.
Благо, отличить на внешний вид приложение на GTK4 от приложения на GTK3 невозможно. С одной стороны, это может быть и хорошо в виде преемственности, а с другой - зачем тогда вообще бампать версию тулкита, если там только рефакторинг интерфейсов?
Бампать мажорную версию DE, с таким трудом обновлять в репах, чтобы что? Чтобы видеть те же приложения в том же интерфейсе и с теми же фичами?
https://www.phoronix.com/scan.php?page=news_item&px=GNOME-42-Beta
GNOME 4X - это сплошная ложь.
Я не уверен, что на старте у них вообще были приложения, портированные на GTK4, сейчас таких приложений около половины, и ни одного, в которых вы проводите бОльшую часть времени. Epiphany(WEB браузер), Evince(просмотр документов), terminal - все еще на GTK3. inkscape(хотя и не часть GNOME) вообще только недавно перешел с GTK2 на GTK3). Просмотрщик шрифтов на GTK4 - это, конечно, круто(нет, это херня). Я не думаю, что вы проводите много времени в control center и просмотре шрифтов.
Благо, отличить на внешний вид приложение на GTK4 от приложения на GTK3 невозможно. С одной стороны, это может быть и хорошо в виде преемственности, а с другой - зачем тогда вообще бампать версию тулкита, если там только рефакторинг интерфейсов?
Бампать мажорную версию DE, с таким трудом обновлять в репах, чтобы что? Чтобы видеть те же приложения в том же интерфейсе и с теми же фичами?
Phoronix
GNOME 42 Beta Released - Begins The UI / Feature / API Freeze, More Apps Ported To GTK4
Ahead of next month's GNOME 42.0 desktop debut, today marks the GNOME 42 Beta (or '42.beta' as they prefer) and this also initiates the start of the user-interface, API, and feature freeze for this six month update.
👍4💩2
Кстати, вчера каналу исполнилось полгода, принимаю поздравления и фидбек. Напомню, что лучшее, что вы можете сделать - поделиться ссылкой на канал где-нибудь(разве что, вот тут не надо - https://bdsmpeople.club/).
bdsmpeople.live
BDSMPEOPLE.CLUB - БДСМ ПИПЛ. БДСМ знакомства, ролевые игры, садо-мазо, фут-фетиш, женское доминирование, страпон, куни
Сайт БДСМ ПИПЛ! пиплы, чОрный или черный сайт. БДСМ знакомства, фетиш, садо-мазо, вечеринки, фото, чат, форум, дневники, рассказы, объявления.
🎉23😁2❤1
В одном там рабочем чате с коллегами зашла речь, кто как смотрит порно. Мне пришлось признаться, что я для этого использую рабочий macbook, потому что в моем браузере все еще не работает поддержка видео. Собственно, у меня там 3 заметных проблемы:
1) Поддержка видео. Как починю, обязательно напишу про эту эпичную историю.
2) Про кривые иконки из-за старой librsvg я уже писал, надо или как-то затащить Rust, или научить это оффлоадить в inkscape. Я склоняюсь ко второму пути.
3) И сегодняшняя история - поддержка PDF!
Epiphany, как и многие, поддерживает PDF через PDF.JS. Но оно почему-то не работает. Конечно, как обычно, дело в динамическом связывании - код, которому нужен код читалки, не может его найти в runtime. И в данном случае дело не в статической линковке, а в чем-то еще(что-то с ресурсной системой glib, я не разобрался пока).
Чинить это займет время, а pdf-ки читать надо уже сейчас.
Я решил вечерочком собрать себе читалку - Evince. Думал, плевое дело, простая программа, все зависимости уже в репе, 5 минут, не больше. Ага, конечно.
* В программе есть плагины. Читатели у меня уже прошаренные, поэтому я просто скажу, что загрузка плагинов там по второму типу #plugins Плагины много времени не заняли, все же, это основная фишка дистрибутива.
* После загрузки программы я увидел надпись "unsupported mime type application/octet-stream", и тут я понял, что это надолго.
Не буду утомлять скучными подробностями #debug, но:
* glib неявно зависит от базы данных для определения mime types. Неявно - значит, все делает вид, что работает, до поры до времени, примерно как TLS в той же #glib.
* Пути для поиска этих данных вычисляются довольно нетривиальным образом.
* Самое страшное - сборка этих данных зависит от docbook xml, а это моя дикая боль. Я напишу об этом отдельно, но надо понимать, что там очень сложная динамическая линковка данных поверх XML, все это сдобрено perl, с легким налетом GNU. Я это затащить могу, но очень не хочу, и пока просто обходил стороной. А тут жесткая зависимость сборки.
Короче, я решил, что вместо всей этой херни я вкорячу старую-добрую libmagic, из пакета file http://www.darwinsys.com/file/. Хороший, древний, проверенный код, без изъебов.
Код чуть младше меня.
Замечания по ходу процесса:
* Пришлось сделать thread-safe обертку над api libmagic: https://github.com/pg83/mix/blob/main/pkgs/lib/mimetype/mix.sh
* Как оно используется: https://github.com/pg83/mix/blob/main/pkgs/lib/glib/01.diff (блин, а код без аллокаций на C писать вполне норм!) Я бы хотел тут остановиться, и сказать, что оно заработало like a charm, но нет
* glib сначала пытается определить тип по расширению, в #libmagic этого нет. Я это обошел тем, что всегда определяю по данным. NVMe все стерпит.
* Без нужных ему данных glib определяет длину буфера для autodetect в 0. Ну, починил.
* Названия mime types в библиотеках немного расходятся. К счастью, авторы Evince это предусмотрели, и добавить нужный mime type было несложно.
Короче, все заработало, а бонусом я выяснил, что в диалоге открытия файлов в GTK не работали иконки, потому что им нужен mimetype. А я и не замечал.
Почему freedesktop не взяли эту либу за основу, я не понимаю. Ведь в OSS так много свободных рук.
1) Поддержка видео. Как починю, обязательно напишу про эту эпичную историю.
2) Про кривые иконки из-за старой librsvg я уже писал, надо или как-то затащить Rust, или научить это оффлоадить в inkscape. Я склоняюсь ко второму пути.
3) И сегодняшняя история - поддержка PDF!
Epiphany, как и многие, поддерживает PDF через PDF.JS. Но оно почему-то не работает. Конечно, как обычно, дело в динамическом связывании - код, которому нужен код читалки, не может его найти в runtime. И в данном случае дело не в статической линковке, а в чем-то еще(что-то с ресурсной системой glib, я не разобрался пока).
Чинить это займет время, а pdf-ки читать надо уже сейчас.
Я решил вечерочком собрать себе читалку - Evince. Думал, плевое дело, простая программа, все зависимости уже в репе, 5 минут, не больше. Ага, конечно.
* В программе есть плагины. Читатели у меня уже прошаренные, поэтому я просто скажу, что загрузка плагинов там по второму типу #plugins Плагины много времени не заняли, все же, это основная фишка дистрибутива.
* После загрузки программы я увидел надпись "unsupported mime type application/octet-stream", и тут я понял, что это надолго.
Не буду утомлять скучными подробностями #debug, но:
* glib неявно зависит от базы данных для определения mime types. Неявно - значит, все делает вид, что работает, до поры до времени, примерно как TLS в той же #glib.
* Пути для поиска этих данных вычисляются довольно нетривиальным образом.
* Самое страшное - сборка этих данных зависит от docbook xml, а это моя дикая боль. Я напишу об этом отдельно, но надо понимать, что там очень сложная динамическая линковка данных поверх XML, все это сдобрено perl, с легким налетом GNU. Я это затащить могу, но очень не хочу, и пока просто обходил стороной. А тут жесткая зависимость сборки.
Короче, я решил, что вместо всей этой херни я вкорячу старую-добрую libmagic, из пакета file http://www.darwinsys.com/file/. Хороший, древний, проверенный код, без изъебов.
revision 1.1
date: 1987/08/23 19:51:05; author: ian; state: Exp;
Initial revision
Код чуть младше меня.
Замечания по ходу процесса:
* Пришлось сделать thread-safe обертку над api libmagic: https://github.com/pg83/mix/blob/main/pkgs/lib/mimetype/mix.sh
* Как оно используется: https://github.com/pg83/mix/blob/main/pkgs/lib/glib/01.diff (блин, а код без аллокаций на C писать вполне норм!) Я бы хотел тут остановиться, и сказать, что оно заработало like a charm, но нет
* glib сначала пытается определить тип по расширению, в #libmagic этого нет. Я это обошел тем, что всегда определяю по данным. NVMe все стерпит.
* Без нужных ему данных glib определяет длину буфера для autodetect в 0. Ну, починил.
* Названия mime types в библиотеках немного расходятся. К счастью, авторы Evince это предусмотрели, и добавить нужный mime type было несложно.
Короче, все заработало, а бонусом я выяснил, что в диалоге открытия файлов в GTK не работали иконки, потому что им нужен mimetype. А я и не замечал.
Почему freedesktop не взяли эту либу за основу, я не понимаю. Ведь в OSS так много свободных рук.
❤6👍3🔥1
Если честно, то мне, конечно, пишется не очень.
Но я решил:
* Что лучшее, что я могу сделать - это продолжать писать на интересные темы
* Тут про говнюков у власти я писать не буду, много чести, пишу про них на других площадках
———
Продолжаю изучать Epiphany. #igalia
Разработчики из https://www.igalia.com/, конечно, феерические долбоебы.
Все разработчики браузеров потратили невъебенные усилия, чтобы разнести рендеринг и сеть по разным процессам, и это очень правильно(BTW, давно хочу написать про современную модель безопасности, видимо, пора бы уже)
Но разработчики Igalia, потому что не умеют программировать:
* Перенесли в основной процесс браузера резолв сайтов
* Хождение за adblock
* И всякого по мелочи
Как я нашел? Я отлинковал glib-networking от основного процесса, и оставил только в WebKitNetworkProcess. Основной процесс сломался. Дальше strace.
———
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.16.9
Грепните на предмет "we add an extra sanity check", и удивитесь, каким эзоповым языком разработчик описывает фикс реальной cve про проезд. А как будто и не было ничего, а если и было - то совсем неважно.
https://www.phoronix.com/scan.php?page=news_item&px=Linux-getrandom-8450p
Нормальные люди бы сказали "убрали валенок на пульте", а не ускорили в 85 раз. И то, и то, конечно, правда. Зато вторая правда никого не обижает!
———
Меня тут спрашивают, на кого из известных программистов я хотел бы походить.
Конечно на Тео Де Раадта!
1) Сквернословит
2) В одиночку поддерживает целую OS
3) Записывает хуйовые песни перед каждым релизом!
------
https://discourse.llvm.org/t/parallel-input-file-parsing/60164
Разработчики LLVM - люди гордые, не пнешь, не полетят!
Получив пинка от разработчика mold, коллеги из LLVM решили пооптимизировать LLD. Лучше поздно, чем никогда!
Но я решил:
* Что лучшее, что я могу сделать - это продолжать писать на интересные темы
* Тут про говнюков у власти я писать не буду, много чести, пишу про них на других площадках
———
Продолжаю изучать Epiphany. #igalia
Разработчики из https://www.igalia.com/, конечно, феерические долбоебы.
Все разработчики браузеров потратили невъебенные усилия, чтобы разнести рендеринг и сеть по разным процессам, и это очень правильно(BTW, давно хочу написать про современную модель безопасности, видимо, пора бы уже)
Но разработчики Igalia, потому что не умеют программировать:
* Перенесли в основной процесс браузера резолв сайтов
* Хождение за adblock
* И всякого по мелочи
Как я нашел? Я отлинковал glib-networking от основного процесса, и оставил только в WebKitNetworkProcess. Основной процесс сломался. Дальше strace.
(epiphany:12977): epiphany-WARNING **:В условиях динамической линковки плагинов такой фокус провернуть было бы сложно, на правах рекламы :)
14:01:08.569: Cannot fetch source for
filter 1f353f7cdbb012b9fb1226455f1b3bec
ba42070e1970c1524996fa3a871af406 from
<https://easylist-downloads.adblockplus
.org/easylist_min_content_blocker.json>:
Error resolving “easylist-downloads.adblockplus.org”
: Try again
———
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.16.9
Грепните на предмет "we add an extra sanity check", и удивитесь, каким эзоповым языком разработчик описывает фикс реальной cve про проезд. А как будто и не было ничего, а если и было - то совсем неважно.
https://www.phoronix.com/scan.php?page=news_item&px=Linux-getrandom-8450p
Нормальные люди бы сказали "убрали валенок на пульте", а не ускорили в 85 раз. И то, и то, конечно, правда. Зато вторая правда никого не обижает!
———
Меня тут спрашивают, на кого из известных программистов я хотел бы походить.
Конечно на Тео Де Раадта!
1) Сквернословит
2) В одиночку поддерживает целую OS
3) Записывает хуйовые песни перед каждым релизом!
------
https://discourse.llvm.org/t/parallel-input-file-parsing/60164
Разработчики LLVM - люди гордые, не пнешь, не полетят!
Получив пинка от разработчика mold, коллеги из LLVM решили пооптимизировать LLD. Лучше поздно, чем никогда!
Igalia
Igalia - Open Source Consultancy and Development
Igalia is an open source consultancy specialised in the development of innovative projects and solutions. Our engineers have expertise in a wide range of technological areas, including browsers and client-side web technologies, graphics pipeline, compilers…
👏4👍3❤1
Обещал тут написать про модель безопасности. #seq_model #gold
Сразу оговорюсь, я пишу про модель безопасности личного ноутбука или настольного компьютера, рассуждения ниже неприменимы к серверам или даже к вашему телефону. Так же это неприменимо для всякого рода корпоративных и BYOD ноутбуков.
* Удобно рассматривать эту модель как двухпользовательскую - root + user, факт, что какие-то там системные процессы запущены от nobody фактически ничего не меняет.
* Все ценные данные на вашем ноутбуке принадлежат вашему личному аккаунту. Кредитки, пароли, ключи доступа. root владеет лишь системными файлами и демонами.
* Поэтому, если вредонос получает доступ к вашему пользователю, то он получает доступ ко всему полезному содержимому вашего компьютера. Заполучить root права НЕ ЯВЛЯЕТСЯ целью атаки. root в такой системе ни для чего не нужен, не нужен даже для запуска регулярного фонового процесса, потому что в любой современной OS есть сессионные пользовательские супервизоры процессов. Скажем, dbus.
* Скрыть свое присутствие - это тоже не про root, BTW, это немного другие дыры в системе.
Отсюда интересное следствие.
Удобно рассматривать root не как пользователя, который может все, а как способ разделить опасные операции, которые требуют подтверждения, и на все остальные. То есть, sudo в такой системе - это не эскалация привилегий, а подпись, что текущую команду ты запускаешь, понимая, что она делает. Ну и, соответсвенно, гарантия, что обычный rm -rf $STEAM_ROOT/ не снесет весь корень(https://github.com/ValveSoftware/steam-for-linux/issues/3671)(да, я знаю, что щас rm -rf / работает несколько не так).
Соответственно, у меня довольно наплевательское отношение ко всяким там CVE для #system0. Классно, конечно, что там какой-то проезд позволяет локально получить рута, но я надеюсь, что я сумел объяснить, что иногда от этого не горячо и не холодно.
Отдельная тема - где же тогда лежит периметр безопасности в вашем ноутбуке. Ответ достаточно очевидный - он лежит в вашем браузере. Софт вы качаете из сторов, всякое говно из интернетов не запускаете. Периметр - в sandboxing кода, выполняющегося в браузере. В обработке картинок браузером. И так далее. Браузер надо любить, холить, обновлять. Браузер единственная(ну, ладно, еще sshd) программа в системе, которую я вижу смысл облизывать с точки зрения безопасности - всякие там libc hardening, ASLR(pic), etc.
И ужу точно не в вашем /etc.
Почему это не про телефон? Потому что ваш телефон это не двухпользовательсякая среда, а многопользовательская, пользователи не доверяют друг другу.
Почему не про BYOD? Потому что в BYOD 3 пользователя, вы, root, и товарищ майор(которому надо и скрыть свое присутствие для зловреда, и обнаружить такогого). Тоже интересная модель, но как нить в другой раз.
Двухпользовательский компьютер с антивирусом, кстати, тоже немного другая модель. Антивирус я не использую, считаю штукой, в среднем(лекарство хуже болезни), вредной.
Сразу оговорюсь, я пишу про модель безопасности личного ноутбука или настольного компьютера, рассуждения ниже неприменимы к серверам или даже к вашему телефону. Так же это неприменимо для всякого рода корпоративных и BYOD ноутбуков.
* Удобно рассматривать эту модель как двухпользовательскую - root + user, факт, что какие-то там системные процессы запущены от nobody фактически ничего не меняет.
* Все ценные данные на вашем ноутбуке принадлежат вашему личному аккаунту. Кредитки, пароли, ключи доступа. root владеет лишь системными файлами и демонами.
* Поэтому, если вредонос получает доступ к вашему пользователю, то он получает доступ ко всему полезному содержимому вашего компьютера. Заполучить root права НЕ ЯВЛЯЕТСЯ целью атаки. root в такой системе ни для чего не нужен, не нужен даже для запуска регулярного фонового процесса, потому что в любой современной OS есть сессионные пользовательские супервизоры процессов. Скажем, dbus.
* Скрыть свое присутствие - это тоже не про root, BTW, это немного другие дыры в системе.
Отсюда интересное следствие.
Удобно рассматривать root не как пользователя, который может все, а как способ разделить опасные операции, которые требуют подтверждения, и на все остальные. То есть, sudo в такой системе - это не эскалация привилегий, а подпись, что текущую команду ты запускаешь, понимая, что она делает. Ну и, соответсвенно, гарантия, что обычный rm -rf $STEAM_ROOT/ не снесет весь корень(https://github.com/ValveSoftware/steam-for-linux/issues/3671)(да, я знаю, что щас rm -rf / работает несколько не так).
Соответственно, у меня довольно наплевательское отношение ко всяким там CVE для #system0. Классно, конечно, что там какой-то проезд позволяет локально получить рута, но я надеюсь, что я сумел объяснить, что иногда от этого не горячо и не холодно.
Отдельная тема - где же тогда лежит периметр безопасности в вашем ноутбуке. Ответ достаточно очевидный - он лежит в вашем браузере. Софт вы качаете из сторов, всякое говно из интернетов не запускаете. Периметр - в sandboxing кода, выполняющегося в браузере. В обработке картинок браузером. И так далее. Браузер надо любить, холить, обновлять. Браузер единственная(ну, ладно, еще sshd) программа в системе, которую я вижу смысл облизывать с точки зрения безопасности - всякие там libc hardening, ASLR(pic), etc.
И ужу точно не в вашем /etc.
Почему это не про телефон? Потому что ваш телефон это не двухпользовательсякая среда, а многопользовательская, пользователи не доверяют друг другу.
Почему не про BYOD? Потому что в BYOD 3 пользователя, вы, root, и товарищ майор(которому надо и скрыть свое присутствие для зловреда, и обнаружить такогого). Тоже интересная модель, но как нить в другой раз.
Двухпользовательский компьютер с антивирусом, кстати, тоже немного другая модель. Антивирус я не использую, считаю штукой, в среднем(лекарство хуже болезни), вредной.
GitHub
Moved ~/.local/share/steam. Ran steam. It deleted everything on system owned by user. · Issue #3671 · ValveSoftware/steam-for-linux
Edit: Please stop posting stupid image memes or unhelpful messages. This interferes with Valve's ability to sift through the noise and see if anyone can figure out what triggers it. This may no...
🔥4👍2👎1
Я люблю, когда все "ортогонально". https://en.wikipedia.org/wiki/Orthogonality_(programming) В практическом понимании это значит, что код, отвечающий за какую-то сущность, должен быть локализован. Причем, конечно, желательно, чтобы не просто локализован в виде лапши в одном файле, а в виде функции, желательно, вообще сжат в одну строку кода :) Так модификация функциональности затрагивает меньше мест, и менее подвержена ошибкам.
Я стараюсь писать ортогональный код, это, кстати, людям часто не нравится. Потому что модифицировать такой код сложнее. Сложнее с точки зрения изменения самой логики, несмотря на тот факт, что само изменение менее вероятно приведет к ошибке. Потому что сведение какой-нибудь общей функциональности в одно место приводит к меньшей гибкости, думаю, это достаточно очевидный факт.
Поэтому, конечно, красоту лучше наводить постфактум, а не в самом начале разработки.
Короче, я там "ортогонализировал" одно CLI API.
У меня был такой CLI по управлению #realm :
add realm_name [pkg_name [pkg_flags]*]+
remove realm_name [pkg_name]+
upgrade [realm_name]*, 0 вхождений == all
purge realm_name - удалить realm
Думаю, особых комментариев тут не нужно, более-менее стандартные для пакетного менеджера операции.
Из-за того, что эта система команд не ортогональна, внутри возникает довольно много проблем(дублирующийся код обработки опций, немного разный по мелочам, дублирующийся код по обработке применения конкретной операции к содержимому realm). Так же эта система команд не позволяет выразить некоторые полезные свойства - например, атомарно удалить пакет из realm, и добавить такой же, но с другими флагами.
Я поменял это все на 2 команды(можно на одну, но получается немного неудобно):
update [realm_name [(|+|-)pkg_name [pkg_flags]*]*]
purge realm_name
update без параметров это upgrade all, update realm_name это upgrade realm_name, а если есть параметры, то они формируют цепочку добавлений и удалений пакетов в realm_name.
Стер пару килобайт кода, и упростил оставшееся. Думаю, что, если бы я попробовал миновать стадию add/remove/update, получилось бы не так естественно.
Кстати, для любителей rust update у меня называется не "update", а, конечно, "mut".
Возможно, purgе я со временем редуцирую в update (|+|-)realm_name, если понадобится какая-то атомарность и в этом месте.
PS: понимаю, что сегодняшний текст больше похож на braindump процесса размышления над разработкой фичи, но, IMHO, это тоже может быть интересно и полезно.
Я стараюсь писать ортогональный код, это, кстати, людям часто не нравится. Потому что модифицировать такой код сложнее. Сложнее с точки зрения изменения самой логики, несмотря на тот факт, что само изменение менее вероятно приведет к ошибке. Потому что сведение какой-нибудь общей функциональности в одно место приводит к меньшей гибкости, думаю, это достаточно очевидный факт.
Поэтому, конечно, красоту лучше наводить постфактум, а не в самом начале разработки.
Короче, я там "ортогонализировал" одно CLI API.
У меня был такой CLI по управлению #realm :
add realm_name [pkg_name [pkg_flags]*]+
remove realm_name [pkg_name]+
upgrade [realm_name]*, 0 вхождений == all
purge realm_name - удалить realm
Думаю, особых комментариев тут не нужно, более-менее стандартные для пакетного менеджера операции.
Из-за того, что эта система команд не ортогональна, внутри возникает довольно много проблем(дублирующийся код обработки опций, немного разный по мелочам, дублирующийся код по обработке применения конкретной операции к содержимому realm). Так же эта система команд не позволяет выразить некоторые полезные свойства - например, атомарно удалить пакет из realm, и добавить такой же, но с другими флагами.
Я поменял это все на 2 команды(можно на одну, но получается немного неудобно):
update [realm_name [(|+|-)pkg_name [pkg_flags]*]*]
purge realm_name
update без параметров это upgrade all, update realm_name это upgrade realm_name, а если есть параметры, то они формируют цепочку добавлений и удалений пакетов в realm_name.
Стер пару килобайт кода, и упростил оставшееся. Думаю, что, если бы я попробовал миновать стадию add/remove/update, получилось бы не так естественно.
Кстати, для любителей rust update у меня называется не "update", а, конечно, "mut".
Возможно, purgе я со временем редуцирую в update (|+|-)realm_name, если понадобится какая-то атомарность и в этом месте.
PS: понимаю, что сегодняшний текст больше похож на braindump процесса размышления над разработкой фичи, но, IMHO, это тоже может быть интересно и полезно.
👍11🤮1
Про происходящий пиздец я, как и обещал, ничего не пишу, но в приложении к моему хобби, думаю, можно.
Англоязычные комментарии и обсуждения интересных мне тем я стал читать меньше, потому что, конечно, там регулярно всплывает тема войны и России. Читать все это неприятно, объяснять, что русские - это не единая в общем порыве сущность бесполезно, и вредно для душевного здоровья.
Я на своей странице github убрал упоминание что я из России, и сменил почту на нейтральный домен. Не то, чтобы я чего-то стыдился, но я не хочу быть part of the problem, если вы понимаете, о чем я. Предполагаю, ЕБЖ, число ревьюх от меня в OSS проекты вырастет, и я не хочу чтобы они отправлялись в никуда из-за политических взлядов автора модифицируемого кода, или его национальности.
———
https://www.opennet.ru/opennews/art.shtml?num=56766
Вышел mold с LTO, но чуда не произошло, с LTO он по скорости такой же, как LLD. Впрочем, я пробую, just for fun, пересобрать весь Mix с Mold вместо LLD.
———
https://www.rbc.ru/technology_and_media/27/02/2022/621a7f4f9a79473d8899b18d
———
https://www.phoronix.com/scan.php?page=news_item&px=ReiserFS-Deprecate-Remove-2025
fun fact - я читал 3 англоязычных форума про эту новость, и все 3 почти моментально скатились на тему личности Ганса и убийство им его жены.
Мой любимый https://www.opennet.ru/opennews/art.shtml?num=56747 скатился только после того, как кто-то там не сказал "а чо все обсуждают, а мы нет", и то, ненадолго.
Англоязычные комментарии и обсуждения интересных мне тем я стал читать меньше, потому что, конечно, там регулярно всплывает тема войны и России. Читать все это неприятно, объяснять, что русские - это не единая в общем порыве сущность бесполезно, и вредно для душевного здоровья.
Я на своей странице github убрал упоминание что я из России, и сменил почту на нейтральный домен. Не то, чтобы я чего-то стыдился, но я не хочу быть part of the problem, если вы понимаете, о чем я. Предполагаю, ЕБЖ, число ревьюх от меня в OSS проекты вырастет, и я не хочу чтобы они отправлялись в никуда из-за политических взлядов автора модифицируемого кода, или его национальности.
———
https://www.opennet.ru/opennews/art.shtml?num=56766
Вышел mold с LTO, но чуда не произошло, с LTO он по скорости такой же, как LLD. Впрочем, я пробую, just for fun, пересобрать весь Mix с Mold вместо LLD.
———
https://www.rbc.ru/technology_and_media/27/02/2022/621a7f4f9a79473d8899b18d
———
https://www.phoronix.com/scan.php?page=news_item&px=ReiserFS-Deprecate-Remove-2025
fun fact - я читал 3 англоязычных форума про эту новость, и все 3 почти моментально скатились на тему личности Ганса и убийство им его жены.
Мой любимый https://www.opennet.ru/opennews/art.shtml?num=56747 скатился только после того, как кто-то там не сказал "а чо все обсуждают, а мы нет", и то, ненадолго.
www.opennet.ru
Выпуск компоновщика Mold 1.1, развиваемого разработчиком LLVM lld
Опубликован выпуск компоновщика Mold, который может применяться в качестве более быстрой прозрачной замены GNU linker на Linux-системах. Проект развивает автор компоновщика LLVM lld. Ключевой особенностью Mold является очень высокая скорость связывания объектных…
👍1
https://panorama.pub/news/dlya-obxoda-sankczij-rossiyu-mogut-pereimenovat
Господин Белковский, из ФСБ, решил выступить в роли пентестера. Я, конечно, считаю, что решение очень интересное, и может проканать. Понятное дело, что базы данных ЕС и США не очень-то рассчитаны на переименование стран. Причем надо именно переименовать inplace, распустить страну и создать новую на том же месте поможет не очень.
———
https://github.com/pg83/mix/blob/main/pkgs/mix/hooks.sh#L41
У меня есть враппер для компилятора, с помощью которого я "навязываю" пакетам свои решения. Прокидывать это через cflags и прочие опции для cmake/meson/configure - это для очень богатых людей, я себе такое позволить не могу.
Потому что LTO и санитайзеры все поддерживают по разному, а кто-то и вообще не поддерживает. Поэтому у меня есть враппер, который полностью переопределяет флаги, макросы, пути для препроцессора.
Я постепенно учу этот враппер правильно реагировать на сборку .so. Пока он просто генерит пустой файл на месте .so, но в планах у меня полная поддержка любых вывертов систем сборок. Я хочу из враппера полностью писать все compile commands, чтобы можно было восстановить граф сборки, и, например, перелинковать все бинари с влинкованными плагинами.
Пока это, конечно, закат солнца вручную - https://github.com/pg83/mix/blob/main/pkgs/bin/evince/mix.sh#L83
Господин Белковский, из ФСБ, решил выступить в роли пентестера. Я, конечно, считаю, что решение очень интересное, и может проканать. Понятное дело, что базы данных ЕС и США не очень-то рассчитаны на переименование стран. Причем надо именно переименовать inplace, распустить страну и создать новую на том же месте поможет не очень.
———
https://github.com/pg83/mix/blob/main/pkgs/mix/hooks.sh#L41
У меня есть враппер для компилятора, с помощью которого я "навязываю" пакетам свои решения. Прокидывать это через cflags и прочие опции для cmake/meson/configure - это для очень богатых людей, я себе такое позволить не могу.
Потому что LTO и санитайзеры все поддерживают по разному, а кто-то и вообще не поддерживает. Поэтому у меня есть враппер, который полностью переопределяет флаги, макросы, пути для препроцессора.
Я постепенно учу этот враппер правильно реагировать на сборку .so. Пока он просто генерит пустой файл на месте .so, но в планах у меня полная поддержка любых вывертов систем сборок. Я хочу из враппера полностью писать все compile commands, чтобы можно было восстановить граф сборки, и, например, перелинковать все бинари с влинкованными плагинами.
Пока это, конечно, закат солнца вручную - https://github.com/pg83/mix/blob/main/pkgs/bin/evince/mix.sh#L83
ИА Панорама
Для обхода санкций Россию могут переименовать
Известный политолог Станислав Белковский предложил переименовать Россию. Такое решение, по его словам, автоматически снимет все санкции против Москвы, введённые...
👍1
Попробовал использовать mold в качестве основого линкера.
#bootstrap_science
Я как-то уже писал, что у меня есть возможность собрать целое поддерево с уникальным набором флагов. Это прямо незаменимый механизм для bootstrap. Потому что весь bootstrap можно выразить как последовательность шагов вида "собрать мешок инструментов версии N с помощью мешка инструментов версии N-1". #bootstrap
Немного в сторону, такой подход позволяет построить полностью автоматизированную цепочку bootstrap - берем мешок инструментов, и начинаем применять эту цепочку. На первом этапе получится собрать только libc, на втором - какие-то инструменты попроще, и так далее.
В случае возникновения затыка смотрим, чего не хватает, докидываем в мешок недостающее, и повторяем процесс.
К сожалению, цепочка получается не очень робастной(ломается на каждый чих), и довольно ресурсоемкой. Но как источник вдохновения использовать ее можно.
Я еще раз подчеркну - с N-1 набором инструментов автоматически пересобирается все поддерево библиотек. Это на порядки упрощает конструирование цепочки bootstrap. Если бы ее пришлось переделывать на каждое новое добавление в цепочку по типу mold, то мне вручную бы пришлось описывать перестроение целого ряда библиотек. Например, для mold мне бы пришлось руками описывать сборочные файлы для boot-openssl, boot-intel-tbb, boot-xxhash, etc. А так все "само": https://github.com/pg83/mix/blob/main/pkgs/bld/mold/mix.sh#L4 (синтаксис уебищный, я там хочу что-то типа json, но мои задачи пока решает)
Вот это вот std_env= - это и есть указание, что нужно пересобрать все поддерево с определенными инструментами.
К сожалению, mold сыроват. На удивление, он слинковал все пакеты, но вот в одном случае у меня упал configure script вот с такой записью в log:
Надо понимать, что это очень серьезная проблема, потому что, в итоге, мы получаем систему в которой configure по рандому отключил какие-то фичи.
Даже не знаю, как сделать нормальный багрепорт в такой ситуации.
#bootstrap_science
Я как-то уже писал, что у меня есть возможность собрать целое поддерево с уникальным набором флагов. Это прямо незаменимый механизм для bootstrap. Потому что весь bootstrap можно выразить как последовательность шагов вида "собрать мешок инструментов версии N с помощью мешка инструментов версии N-1". #bootstrap
Немного в сторону, такой подход позволяет построить полностью автоматизированную цепочку bootstrap - берем мешок инструментов, и начинаем применять эту цепочку. На первом этапе получится собрать только libc, на втором - какие-то инструменты попроще, и так далее.
В случае возникновения затыка смотрим, чего не хватает, докидываем в мешок недостающее, и повторяем процесс.
К сожалению, цепочка получается не очень робастной(ломается на каждый чих), и довольно ресурсоемкой. Но как источник вдохновения использовать ее можно.
Я еще раз подчеркну - с N-1 набором инструментов автоматически пересобирается все поддерево библиотек. Это на порядки упрощает конструирование цепочки bootstrap. Если бы ее пришлось переделывать на каждое новое добавление в цепочку по типу mold, то мне вручную бы пришлось описывать перестроение целого ряда библиотек. Например, для mold мне бы пришлось руками описывать сборочные файлы для boot-openssl, boot-intel-tbb, boot-xxhash, etc. А так все "само": https://github.com/pg83/mix/blob/main/pkgs/bld/mold/mix.sh#L4 (синтаксис уебищный, я там хочу что-то типа json, но мои задачи пока решает)
Вот это вот std_env= - это и есть указание, что нужно пересобрать все поддерево с определенными инструментами.
К сожалению, mold сыроват. На удивление, он слинковал все пакеты, но вот в одном случае у меня упал configure script вот с такой записью в log:
[15730.052723] conftest[4744]: segfault at 31mold неверно слинковал какой-то тест для configure. Рестарт помог, и это совсем печально - ошибка нестабильна. Впрочем, это неудивительно, mold активно использует треды, и их тайминги - потенциальный источник нестабильности.
ip 000000000020100b sp 00007ffdf79cae10
error 6 in conftest[201000+1000]
[15730.052732] Code: 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 50 bf 3c 00 00 00 e8
45 06 00 00 <00> 48 31 ed 48 89 e7 48 8d 35
e7 ef df ff 48 83 e4 f0 e8 00 00 00
Надо понимать, что это очень серьезная проблема, потому что, в итоге, мы получаем систему в которой configure по рандому отключил какие-то фичи.
Даже не знаю, как сделать нормальный багрепорт в такой ситуации.
❤2🔥1
Forwarded from КБ
This media is not supported in your browser
VIEW IN TELEGRAM
Как никогда актуально
😁10
https://tass.ru/ekonomika/13923447
Чет много новостей затрагивает меня непосредственно. Я хотел на MacMini M1 строить CI для Mix. Пару раз писал тут, что M1 на 1 ядро в 4 раза быстрее собирает, чем доступные x86_64.
Пара MacMini казалась очень годной альтернативой облакам.
Чет много новостей затрагивает меня непосредственно. Я хотел на MacMini M1 строить CI для Mix. Пару раз писал тут, что M1 на 1 ядро в 4 раза быстрее собирает, чем доступные x86_64.
Пара MacMini казалась очень годной альтернативой облакам.
ТАСС
Apple остановила продажи своей продукции и ограничила работу сервисов в России
В компании сообщили, что приложения RT News и Sputnik News больше не доступны для скачивания из App Store за пределами России
"Nobody can claim that last week was *normal*, but whatever crazy things are going on in the world (and I personally had "Zombie apocalypse" on my bingo card, not "Putin has a mental breakdown"), it doesn't seem to have affected the kernel much."https://lwn.net/Articles/886360/
Linus шутит.
👍13
https://www.opennet.ru/opennews/art.shtml?num=56789
Если это не fake news, то это BIG news. Это же как надо было допечь сообщество-то, а?
Если это не fake news, то это BIG news. Это же как надо было допечь сообщество-то, а?
www.opennet.ru
Взломавшие NVIDIA потребовали от компании перевести драйверы в разряд Open Source
Как известно, компания NVIDIA недавно подтвердила взлом собственной инфраструктуры и сообщила о краже огромного количества данных, включая исходные коды драйверов, технологии DLSS и клиентской базы. По заявлению атакующих, они смогли выкачать один терабайт…
👍11
https://maskray.me/blog/2022-02-27-analysis-and-introspection-options-in-linkers
Полезный текст про отладку линковки. Узнать, что линкер влинковал в финальный бинарь, и почему он занимает 300 метров, а не 3 - это полдела. Нужно уметь понимать, почему линкер принял то или иное решение, часто это совсем не очевидно.
Текст - обзор встроенных в разные линкеры средств отладки, почитайте, красивое.
———
https://sporks.space/2022/02/27/win32-is-the-stable-linux-userland-abi-and-the-consequences/
Интересный взгляд на ABI в Linux. Очень верное замечание про то, что вероятность того, что случайная программа под Винду, собранная 20 лет назад, имеет больше шансов запуститься на Linux, чем такая же программа, но собранная под Linux.
Знающие люди тут улыбнутся, и скажут, что Линус анально карает за поломку userspsace ABI, и что вопрос только в том, как заполучить те же бинарные вресии библиотек, что и 20 лет назад(примеров можете сами нагрепать в интернетах, мне сегодня лениво).
Это bullshit.
У Линуса очень однобокое понимание userspace ABI, и что нельзя ломать. AFAIK оно нигде не формализовано, но у меня за годы сложилось определенное его понимание.
Линус считает, что нельзя:
* ломать формат исполняемых файлов
* ломать формат системных вызовов
Это довольно слабый набор. Я, например, считаю, что в ABI входит и формат файлов в procfs, и в sysfs, и даже пути в /dev.
procsfs ломают довольно редко, но регулярно. Из последних примеров - acpid мне пишет в консоль, что какой-то файл в procfs имеет неверный формат, и что он фолбечится на другой механизм.
sysfs, насколько я понимаю, ломают еще чаще, потому что там, по сути, экспортируют наружу кишки драйверов.
Полезный текст про отладку линковки. Узнать, что линкер влинковал в финальный бинарь, и почему он занимает 300 метров, а не 3 - это полдела. Нужно уметь понимать, почему линкер принял то или иное решение, часто это совсем не очевидно.
Текст - обзор встроенных в разные линкеры средств отладки, почитайте, красивое.
———
https://sporks.space/2022/02/27/win32-is-the-stable-linux-userland-abi-and-the-consequences/
Интересный взгляд на ABI в Linux. Очень верное замечание про то, что вероятность того, что случайная программа под Винду, собранная 20 лет назад, имеет больше шансов запуститься на Linux, чем такая же программа, но собранная под Linux.
Знающие люди тут улыбнутся, и скажут, что Линус анально карает за поломку userspsace ABI, и что вопрос только в том, как заполучить те же бинарные вресии библиотек, что и 20 лет назад(примеров можете сами нагрепать в интернетах, мне сегодня лениво).
Это bullshit.
У Линуса очень однобокое понимание userspace ABI, и что нельзя ломать. AFAIK оно нигде не формализовано, но у меня за годы сложилось определенное его понимание.
Линус считает, что нельзя:
* ломать формат исполняемых файлов
* ломать формат системных вызовов
Это довольно слабый набор. Я, например, считаю, что в ABI входит и формат файлов в procfs, и в sysfs, и даже пути в /dev.
procsfs ломают довольно редко, но регулярно. Из последних примеров - acpid мне пишет в консоль, что какой-то файл в procfs имеет неверный формат, и что он фолбечится на другой механизм.
sysfs, насколько я понимаю, ломают еще чаще, потому что там, по сути, экспортируют наружу кишки драйверов.
MaskRay
Analysis and introspection options in linkers
Updated in 2025-05. Reproduce tarball LLD offers a convenient feature to bundle all input files into a tarball, making it easier to experiment with different linker options. Use either of these comman
https://www.phoronix.com/scan.php?page=news_item&px=OpenBLAS-Russia-Elbrus-Issue
ебаный стыд
Аргументация, кстати, довольно разумная.
ебаный стыд
Аргументация, кстати, довольно разумная.
Phoronix
OpenBLAS Deciding Whether To Drop Support For Russia's Elbrus CPUs
OpenBLAS recently added support for Russia's Elbrus E2000 processors, however, the OpenBLAS developers are now debating whether to drop support for these Russian domestically-produced CPUs given Russia's invasion into Ukraine.
commit -m "better"
https://habr.com/ru/post/599767/ https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/ https://twitter.com/marak/status/1479200803948830724?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E14…
Напомню историю - аккаунты того "вандала", конечно, забанили.
Вот вам еще пример подобного вандализма:
https://github.com/arendst/Tasmota/commit/98cbf2587a1a914bbd16996ebb48dd451d3da448
Я думаю, сейчас мы узнаем, интернационален ли вандализм, или он тоже делится на рукопожатный(назовем его "вандализм за правое дело") и нерукопожатный.
Коллеги из MS, вы меня читаете, обратите внимание на ссылку.
Я, знаете ли, за равенство перед законом. Закоммитил код который намеренно что-то ломает - давай в бан.
Вот вам еще пример подобного вандализма:
https://github.com/arendst/Tasmota/commit/98cbf2587a1a914bbd16996ebb48dd451d3da448
Я думаю, сейчас мы узнаем, интернационален ли вандализм, или он тоже делится на рукопожатный(назовем его "вандализм за правое дело") и нерукопожатный.
Коллеги из MS, вы меня читаете, обратите внимание на ссылку.
Я, знаете ли, за равенство перед законом. Закоммитил код который намеренно что-то ломает - давай в бан.
GitHub
Add blacklist · arendst/Tasmota@98cbf25
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at - Add blacklist · …
😱6👍1
Я постепенно приближаюсь к сборке хрома.
* Разбираюсь с depot_tools. Написал скриптец, который заменяет 95% depot_tools - генерит скрипт для загрузки исходников из кучи репозиториев.
https://github.com/pg83/mix/blob/main/pkgs/mix/scripts/deps.py
Он получился довольно простым, потому что я хорошо понял структуру файла DEPS - https://chromium.googlesource.com/chromium/src/+/master/DEPS
По сути, это кусок кода на питоне, который нужно eval 2 раза - в первый раз мы получаем переменные, которые нужно подсунуть во второй eval.
* Собираю зависимости. На целый день встрял со всратейшей nss/nspr от Mozilla. Я не понимаю, зачем хром стал от нее зависеть, ну да ладно. Some highlights:
- исходники ее так просто не найти и не скачать. Мне кажется, Мозилла их стыдится, и правильно делает.
- для сборки исходников нужны две системы сборки - КАСТОМНЫЙ autoconf(я не шучу)*, и gyp. Немного в сторону - мне кажется, Google наслаждается разработкой систем сборки и их opensource. Я не понимаю, зачем, но она склепала их уже штук 10(и это только известные мне). gyp - вторая по всратости их система сборки, хуже только Android.mk.
- вместо gyp можно использовать третий вариант - на чистых Makefile. Тут, конечно, как в том анекдоте - есть система сборки без бага, но не работающая(gyp), и работающая, но с багом(make)
- товарищи настолько стыдились этого говна, что решили не делать install target. Я не шучу. Устанавливать все надо вручную, экзерсизы на тему можно почитать, например, в сборочном файле для Alpine. https://git.alpinelinux.org/aports/tree/community/nss/APKBUILD Еще там можно восхититься мастерству maintainer по вырезанию лобзиком чего-то полезного из этого мусора. Так же можно обратить внимание на вручную написанные .pc файлы для pkg-config: https://git.alpinelinux.org/aports/tree/community/nss?h=master
- https://git.alpinelinux.org/aports/tree/community/nss/APKBUILD#n56 факт того, что за разрабами приходится дополивать сборку, намекает на то, что они не хотели, чтобы в чужих руках это собиралось.
Я так скажу - одного вида этого треша мне было достаточно, чтобы понять, что я никогда не буду использовать Firefox, пока его разработчики клятвенно не скажут, что переписали это все на Rust.
Печальную историю про то, что все это говно вовсю использует dlopen(), я пока оставлю за кадром.
*UPD: не совсем верно написал. Не кастомный autoconf, а кастомную замену для automake, поверх которой работает обычный autoconf.
* Разбираюсь с depot_tools. Написал скриптец, который заменяет 95% depot_tools - генерит скрипт для загрузки исходников из кучи репозиториев.
https://github.com/pg83/mix/blob/main/pkgs/mix/scripts/deps.py
Он получился довольно простым, потому что я хорошо понял структуру файла DEPS - https://chromium.googlesource.com/chromium/src/+/master/DEPS
По сути, это кусок кода на питоне, который нужно eval 2 раза - в первый раз мы получаем переменные, которые нужно подсунуть во второй eval.
* Собираю зависимости. На целый день встрял со всратейшей nss/nspr от Mozilla. Я не понимаю, зачем хром стал от нее зависеть, ну да ладно. Some highlights:
- исходники ее так просто не найти и не скачать. Мне кажется, Мозилла их стыдится, и правильно делает.
- для сборки исходников нужны две системы сборки - КАСТОМНЫЙ autoconf(я не шучу)*, и gyp. Немного в сторону - мне кажется, Google наслаждается разработкой систем сборки и их opensource. Я не понимаю, зачем, но она склепала их уже штук 10(и это только известные мне). gyp - вторая по всратости их система сборки, хуже только Android.mk.
- вместо gyp можно использовать третий вариант - на чистых Makefile. Тут, конечно, как в том анекдоте - есть система сборки без бага, но не работающая(gyp), и работающая, но с багом(make)
- товарищи настолько стыдились этого говна, что решили не делать install target. Я не шучу. Устанавливать все надо вручную, экзерсизы на тему можно почитать, например, в сборочном файле для Alpine. https://git.alpinelinux.org/aports/tree/community/nss/APKBUILD Еще там можно восхититься мастерству maintainer по вырезанию лобзиком чего-то полезного из этого мусора. Так же можно обратить внимание на вручную написанные .pc файлы для pkg-config: https://git.alpinelinux.org/aports/tree/community/nss?h=master
- https://git.alpinelinux.org/aports/tree/community/nss/APKBUILD#n56 факт того, что за разрабами приходится дополивать сборку, намекает на то, что они не хотели, чтобы в чужих руках это собиралось.
Я так скажу - одного вида этого треша мне было достаточно, чтобы понять, что я никогда не буду использовать Firefox, пока его разработчики клятвенно не скажут, что переписали это все на Rust.
Печальную историю про то, что все это говно вовсю использует dlopen(), я пока оставлю за кадром.
*UPD: не совсем верно написал. Не кастомный autoconf, а кастомную замену для automake, поверх которой работает обычный autoconf.
👍3
https://github.com/opengs/uashield #yeswecan #provider
"Voluntary Ukraine security platform to protect us from Russian forces in the Internet"
"protect us"
Так-то это инструмент для ddos. Гитхабу, кажется, насрать.
UPD: меня, конечно, возмущает не факт того, что там невозбранно лежит софт для ddos. Меня возмущает:
1) Неконсистентный подход. Похожие, по сути, вещи кому-то можно, а кому-то - нет.
2) Старая моя тема про то, что инфраструктурная площадка не может быть модератором самой себя. В данном случае в обратную сторону - недостаточная(даже по ее правилам) модерация. Прямым текстом - модерацию должны осуществлять люди, которым насрать на тонкую душевную организацию разработчиков этой площадки.
"Voluntary Ukraine security platform to protect us from Russian forces in the Internet"
"protect us"
Так-то это инструмент для ddos. Гитхабу, кажется, насрать.
UPD: меня, конечно, возмущает не факт того, что там невозбранно лежит софт для ddos. Меня возмущает:
1) Неконсистентный подход. Похожие, по сути, вещи кому-то можно, а кому-то - нет.
2) Старая моя тема про то, что инфраструктурная площадка не может быть модератором самой себя. В данном случае в обратную сторону - недостаточная(даже по ее правилам) модерация. Прямым текстом - модерацию должны осуществлять люди, которым насрать на тонкую душевную организацию разработчиков этой площадки.
GitHub
GitHub - opengs/uashield: Voluntary Ukraine security platform to protect us from Russian forces in the Internet
Voluntary Ukraine security platform to protect us from Russian forces in the Internet - opengs/uashield
https://www.kommersant.ru/doc/5249015
Наше все Маск про цензуру. Маск, конечно, еще тот жук, достаточно вспомнить, как он своими заявлениями шатал крипту.
Но, в целом, я считаю, что радикально кривить душой по такому поводу он не стал бы, и в идею абсолютной свободы слова он верит.
Это хорошая, годная идея. Я лично надеюсь, что человечество придет к тому, что слова нельзя запрещать вообще никакие. Даже те, от которых у вас дикая попоболь.
UPD: дополню мысль.
В моменте может показаться, что запретить какие-то слова - хорошая идея, и я даже могу сказать, что мне периодически хочется, чтобы тот или иной деятель "завалил хлебало".
Проблема, как обычно, в людях. В людях, которые имплементируют эти правила. В людях, которые потом не в силах отказаться от той власти, которую им дала имплементация этих правил. В бесконечный рост цензуры после этого. Свод таких правил начинает расти - нужно же чем-то занимать эту бесполезную толпу.
Короче, лекарство, которое всегда оказывается хуже болезни.
Наше все Маск про цензуру. Маск, конечно, еще тот жук, достаточно вспомнить, как он своими заявлениями шатал крипту.
Но, в целом, я считаю, что радикально кривить душой по такому поводу он не стал бы, и в идею абсолютной свободы слова он верит.
Это хорошая, годная идея. Я лично надеюсь, что человечество придет к тому, что слова нельзя запрещать вообще никакие. Даже те, от которых у вас дикая попоболь.
UPD: дополню мысль.
В моменте может показаться, что запретить какие-то слова - хорошая идея, и я даже могу сказать, что мне периодически хочется, чтобы тот или иной деятель "завалил хлебало".
Проблема, как обычно, в людях. В людях, которые имплементируют эти правила. В людях, которые потом не в силах отказаться от той власти, которую им дала имплементация этих правил. В бесконечный рост цензуры после этого. Свод таких правил начинает расти - нужно же чем-то занимать эту бесполезную толпу.
Короче, лекарство, которое всегда оказывается хуже болезни.
Коммерсантъ
Илон Маск отказался блокировать материалы российских СМИ в сети Starlink
Подробнее на сайте
❤7👍2
https://tjournal.ru/tech/554723-mincifry-reshilo-zamenit-inostrannye-sertifikaty-shifrovaniya-rossiyskimi-chto-eto-znachit-dlya-polzovateley-runeta
Вот, опять, про инфраструктуру. Центры сертификации должны удостоверять, что сайт - тот самый сайт, а не левая хня, и не более того.
Отзыв сертификата у крупного банка, например - это большой удар по экономике.
Я так скажу, факт, что деды у власти воспринимают такие действия актом агрессии и войны не вызывает у меня никаких возражений.
Простите, что я тут немношк на стороне зла, но это акт агрессии против мирных жителей так-то.
Вот, опять, про инфраструктуру. Центры сертификации должны удостоверять, что сайт - тот самый сайт, а не левая хня, и не более того.
Отзыв сертификата у крупного банка, например - это большой удар по экономике.
Я так скажу, факт, что деды у власти воспринимают такие действия актом агрессии и войны не вызывает у меня никаких возражений.
Простите, что я тут немношк на стороне зла, но это акт агрессии против мирных жителей так-то.
TJ
Минцифры решило заменить иностранные сертификаты шифрования российскими. Что это значит для пользователей рунета — Технологии на…
Инициатива Минцифры должна решить проблему отзыва сертификатов западными компаниями, но угрожает безопасности зашифрованных интернет-соединений.
👍19