Что я имею сказать по поводу НГ?
Скажу, что, пожалуй, лучший новогодний фильм это Love Actually, и он есть на КиноПоиске!
Ну и кусочек фильма(правда, больше это похоже на backstage, но не суть) со снегурками в ленту!
https://www.youtube.com/watch?v=eJGqWXSW49I
Скажу, что, пожалуй, лучший новогодний фильм это Love Actually, и он есть на КиноПоиске!
Ну и кусочек фильма(правда, больше это похоже на backstage, но не суть) со снегурками в ленту!
https://www.youtube.com/watch?v=eJGqWXSW49I
YouTube
Billy Mack / Bill Nighy ► Christmas Is All Around / Love Actually
Artist: Billy Mack
Album: Love Actually
Released: 2003
Album: Love Actually
Released: 2003
https://github.com/rswinkle/PortableGL
Софтверная реализация чего-то, похожего на OpenGL.
https://github.com/h0MER247/swGL
Или вот еще одна.
https://docs.mesa3d.org/relnotes/21.3.3.html
Bugfix релиз #Mesa. Классный changelog, коротко и по делу:
"Mesa 21.3.3 is a bug fix release which fixes bugs found since the 21.3.2 release."
———
https://garrit.xyz/posts/2021-12-31-btrfs-on-alpine
Про то, как автомонтировать разделы с btrfs на Alpine Linux. Новость довольно бессмысленная, но она меня заставила задуматься, не ломает ли такое использование init мою концепцию "мешка сервисов". IMHO нет, не ломает.
В заметке описан хак вида "как бы нам запустить произвольную команду перед командой mount all, а, у нас же есть зависимости в сервисах, сделаем для этого фейковый сервис".
Решение плохое, оно теперь прорастет в документацию, и все будут им пользоваться, вместо того, чтобы корректно подправить "mount all".
С учетом того, что люди предпочитают идти по пути наименьшего сопротивления сейчас, не учитывая последствия, некоторые возможности лучше не давать.
———
https://nullprogram.com/
Классный блог про вещи, которые вам вряд ли когда-то понадобятся. "как ускорить ненужно в 4 раза", "как запустить ненужное в ненужном", и так далее. Но написано с огоньком.
———
Продолжаю рассказывать про свой перфекционизм, бессмысленный и беспощадный.
Например, вот стандартная MIT Licence, от github:
https://github.com/pg83/testrepo/blob/main/LICENSE
А вот моя редакция:
https://github.com/pg83/mix/blob/main/LICENSE
(Нет, я не сумасшедший, я скрипт написал. Хороший, кстати, скрипт, он учитывает, что лучше поставить лишний пробел между AB CDE, чем между A BC).
Софтверная реализация чего-то, похожего на OpenGL.
https://github.com/h0MER247/swGL
Или вот еще одна.
https://docs.mesa3d.org/relnotes/21.3.3.html
Bugfix релиз #Mesa. Классный changelog, коротко и по делу:
"Mesa 21.3.3 is a bug fix release which fixes bugs found since the 21.3.2 release."
———
https://garrit.xyz/posts/2021-12-31-btrfs-on-alpine
Про то, как автомонтировать разделы с btrfs на Alpine Linux. Новость довольно бессмысленная, но она меня заставила задуматься, не ломает ли такое использование init мою концепцию "мешка сервисов". IMHO нет, не ломает.
В заметке описан хак вида "как бы нам запустить произвольную команду перед командой mount all, а, у нас же есть зависимости в сервисах, сделаем для этого фейковый сервис".
Решение плохое, оно теперь прорастет в документацию, и все будут им пользоваться, вместо того, чтобы корректно подправить "mount all".
С учетом того, что люди предпочитают идти по пути наименьшего сопротивления сейчас, не учитывая последствия, некоторые возможности лучше не давать.
———
https://nullprogram.com/
Классный блог про вещи, которые вам вряд ли когда-то понадобятся. "как ускорить ненужно в 4 раза", "как запустить ненужное в ненужном", и так далее. Но написано с огоньком.
———
Продолжаю рассказывать про свой перфекционизм, бессмысленный и беспощадный.
Например, вот стандартная MIT Licence, от github:
https://github.com/pg83/testrepo/blob/main/LICENSE
А вот моя редакция:
https://github.com/pg83/mix/blob/main/LICENSE
(Нет, я не сумасшедший, я скрипт написал. Хороший, кстати, скрипт, он учитывает, что лучше поставить лишний пробел между AB CDE, чем между A BC).
GitHub
GitHub - rswinkle/PortableGL: An implementation of OpenGL 3.x-ish in clean C
An implementation of OpenGL 3.x-ish in clean C. Contribute to rswinkle/PortableGL development by creating an account on GitHub.
https://robert.ocallahan.org/2021/12/do-we-really-need-link-step.html, пишет нам какой-то городской сумасшедший, и тут же переизобретает косой и кривой линкер.
"An obvious problem is how to handle symbol resolution, i.e. what happens when the compiler emits code for a translation unit that uses symbol A from some other unit --- especially if that other unit hasn't been compiled yet? Here's an option for function symbols: when A is used for the first time, write a stub for A to the final binary and call that. When a definition for A is seen, patch the stub to jump to the definition. Internally this will mean maintaining a parallel hashtable of all undefined symbols that all compiler instances can share efficiently."
———
https://tjournal.ru/news/500911-mincifry-nachalo-peregovory-s-hp-acer-i-lenovo-o-predustanovke-rossiyskih-operacionnyh-sistem-na-kompyutery #altlinux
ALT, ASP изжили себя после внедрения UTF-8(кстати, задачка вам в ленту - https://elementy.ru/problems/2689/Yunikod_na_Novyy_god) и быстрых и дешевых сетей.
* Настроить русский язык в Linux до повсеместного перехода на UTF-8 было очень сложно.
* Скачать пару компакт-дисков по рублю за мегабайт(это мой реальный первый тариф, причем рубли 2000-го года) - очень дорого. Я, помнится, тогда жил на 1000 в месяц, и горя не знал.
ASP честно сдох, ALT решил выжить любой ценой. Как в России выживают нерыночным способом - мы все знаем, не маленькие.
Результат, конечно, немного предсказуем.
———
#fontconfig
Программисты не любят договариваться. Ну, ладно, люди вообще не любят договариваться.
Поэтому мы, например, имеем https://www.freedesktop.org/wiki/Software/fontconfig/
Это такая библиотечка, которая по строчке "Arial;size=22" должна вернуть "/usr/share/fonts/arial.ttf". Не, реально, вот это она и делает, и все. Каталогизирует доступные шрифты в системе.
Кажется очень разумным, чтобы это был простенький демон, а библиотечка просто бы делала запрос к нему. 5 строк кода, весит 0кб.
Но нет, программисты же не умеют договариваться. Это же бы значило, что нужно прийти в 100500 дистрибутивов, договориться со 100500 совершенно диких и невменяемых людей(со своим бесценным мнением).
Поэтому мы имеем:
* библиотеку, которая принудительно влинковывает в себя полный рендер шрифтов(а как же еще узнать свойства шрифта в файле?), xml parser(потому что правила матчинга написаны на xml), и еще говна самовар. Конечно, даже и в этом случае этих зависимостей можно было бы избежать, но библиотека же ДОЛЖНА уметь классифицировать любой подвернувшийся файл!
* Библиотека из каждого приложения регулярно ходит в fs, чтобы посмотреть, не появились ли там новые шрифты. Сука, ИЗ КАЖДОГО.
* В качестве оптимизации - библиотека ходит не по всей fs, а только в несколько файликов, куда утилита fc-cache складывает результат грепа шрифтов по FS. fc-cache, конечно, тоже не запускается регулярно, потому что это же договариваться пришлось бы.
"An obvious problem is how to handle symbol resolution, i.e. what happens when the compiler emits code for a translation unit that uses symbol A from some other unit --- especially if that other unit hasn't been compiled yet? Here's an option for function symbols: when A is used for the first time, write a stub for A to the final binary and call that. When a definition for A is seen, patch the stub to jump to the definition. Internally this will mean maintaining a parallel hashtable of all undefined symbols that all compiler instances can share efficiently."
———
https://tjournal.ru/news/500911-mincifry-nachalo-peregovory-s-hp-acer-i-lenovo-o-predustanovke-rossiyskih-operacionnyh-sistem-na-kompyutery #altlinux
ALT, ASP изжили себя после внедрения UTF-8(кстати, задачка вам в ленту - https://elementy.ru/problems/2689/Yunikod_na_Novyy_god) и быстрых и дешевых сетей.
* Настроить русский язык в Linux до повсеместного перехода на UTF-8 было очень сложно.
* Скачать пару компакт-дисков по рублю за мегабайт(это мой реальный первый тариф, причем рубли 2000-го года) - очень дорого. Я, помнится, тогда жил на 1000 в месяц, и горя не знал.
ASP честно сдох, ALT решил выжить любой ценой. Как в России выживают нерыночным способом - мы все знаем, не маленькие.
Результат, конечно, немного предсказуем.
———
#fontconfig
Программисты не любят договариваться. Ну, ладно, люди вообще не любят договариваться.
Поэтому мы, например, имеем https://www.freedesktop.org/wiki/Software/fontconfig/
Это такая библиотечка, которая по строчке "Arial;size=22" должна вернуть "/usr/share/fonts/arial.ttf". Не, реально, вот это она и делает, и все. Каталогизирует доступные шрифты в системе.
Кажется очень разумным, чтобы это был простенький демон, а библиотечка просто бы делала запрос к нему. 5 строк кода, весит 0кб.
Но нет, программисты же не умеют договариваться. Это же бы значило, что нужно прийти в 100500 дистрибутивов, договориться со 100500 совершенно диких и невменяемых людей(со своим бесценным мнением).
Поэтому мы имеем:
* библиотеку, которая принудительно влинковывает в себя полный рендер шрифтов(а как же еще узнать свойства шрифта в файле?), xml parser(потому что правила матчинга написаны на xml), и еще говна самовар. Конечно, даже и в этом случае этих зависимостей можно было бы избежать, но библиотека же ДОЛЖНА уметь классифицировать любой подвернувшийся файл!
* Библиотека из каждого приложения регулярно ходит в fs, чтобы посмотреть, не появились ли там новые шрифты. Сука, ИЗ КАЖДОГО.
* В качестве оптимизации - библиотека ходит не по всей fs, а только в несколько файликов, куда утилита fc-cache складывает результат грепа шрифтов по FS. fc-cache, конечно, тоже не запускается регулярно, потому что это же договариваться пришлось бы.
robert.ocallahan.org
Do We Really Need A Link Step?
mold looks pretty cool, and a faster drop-in ld replacement is obviously extremely useful. But having no link step at all would be even fa...
https://lkml.org/lkml/2022/1/2/187
Титаническая работа, чего тут еще сказать.
Добавлю:
* Признаться, я удивлен, что проект на C довел себя до такого состояния. Все же, это больше свойственно проектам на С++, когда 1 маленький шаблон генерит мегабайты кода(ну, AST, разница невелика).
* Какой автоматикой он пользовался, чтобы понять, что лишнее включено в конкретный .h? Для clang мы ее все знаем.
* "I also improved build speed by
consolidating .c files into roughly equal size build units. Instead of 20+
separate .o's, there's now just 4 .o's being built."
Ахаха, #JOIN_SRCS()
* Интересно, есть цифры про сборку ядра с clang?
———
https://izzys.casa/2021/12/wrapping-up-2021/
Хороший текст про С++, Rust, Zig, и, в меньшей мере, про Swift.
Swift мне из этих языков кажется самым интересным, а то, что он плохо поддерживает Windows - ну так, знаете, сами MS и виноваты.
Пока они были сильные, их политика "сделать все по другому" приносила плоды со знаком +, а теперь приносит плоды со знаком -.
Человечеству IMHO пора уже определиться с тем, сколько корней у root fs, и отменить fork(), как обязательное требование к POSIX, и будет всем счастье.
(Про Zig там волшебно - "Zig also is not an option for me as its clearly written by someone who hates the idea of destructors and implicit behavior, of abstracting your thoughts away in a “set it and forget it” kind of manner. Zig somehow manages to go a step further and feel like I’m writing LLVM bitcode but with control flow constructs. I’d rather just not touch it.")
———
https://graphitemaster.github.io/aau/ #unsigned
Хороший текст про то, почему signed int плохо, а unsigned - хорошо.
Хотел было написать по этой теме много текста, но, КМК, индустрия уже рассудила меня и "3 выходцев из NIVAL"(да, вы все знаете, о ком я), которые топили за signed int.
* Типы должны описывать только те значения, которые валидны для переменных этих типов, не больше, и не меньше.
* Возможность вернуть sentinel в любом месте - зло. Гениальные авторы оригинального кода уходят, приходят новые люди, которые не знают, может ли конкретная int f() вернуть число < 0, == -1, или только >= 0, и начинаются проверки на пустом месте, и забытое протаскивание ошибок наверх. А потом в биллинге регулярно вычитаем -1 с чьего-нибудь счета. Плавали, знаем.
* Главный аргумент - reverse iterator по массиву. А часто ли его приходится использовать? Ну и, кстати, в статье очень норм техника для обхода массива в обратном порядке с unsigned индексом, я про такую и не знал.
Титаническая работа, чего тут еще сказать.
Добавлю:
* Признаться, я удивлен, что проект на C довел себя до такого состояния. Все же, это больше свойственно проектам на С++, когда 1 маленький шаблон генерит мегабайты кода(ну, AST, разница невелика).
* Какой автоматикой он пользовался, чтобы понять, что лишнее включено в конкретный .h? Для clang мы ее все знаем.
* "I also improved build speed by
consolidating .c files into roughly equal size build units. Instead of 20+
separate .o's, there's now just 4 .o's being built."
Ахаха, #JOIN_SRCS()
* Интересно, есть цифры про сборку ядра с clang?
———
https://izzys.casa/2021/12/wrapping-up-2021/
Хороший текст про С++, Rust, Zig, и, в меньшей мере, про Swift.
Swift мне из этих языков кажется самым интересным, а то, что он плохо поддерживает Windows - ну так, знаете, сами MS и виноваты.
Пока они были сильные, их политика "сделать все по другому" приносила плоды со знаком +, а теперь приносит плоды со знаком -.
Человечеству IMHO пора уже определиться с тем, сколько корней у root fs, и отменить fork(), как обязательное требование к POSIX, и будет всем счастье.
(Про Zig там волшебно - "Zig also is not an option for me as its clearly written by someone who hates the idea of destructors and implicit behavior, of abstracting your thoughts away in a “set it and forget it” kind of manner. Zig somehow manages to go a step further and feel like I’m writing LLVM bitcode but with control flow constructs. I’d rather just not touch it.")
———
https://graphitemaster.github.io/aau/ #unsigned
Хороший текст про то, почему signed int плохо, а unsigned - хорошо.
Хотел было написать по этой теме много текста, но, КМК, индустрия уже рассудила меня и "3 выходцев из NIVAL"(да, вы все знаете, о ком я), которые топили за signed int.
* Типы должны описывать только те значения, которые валидны для переменных этих типов, не больше, и не меньше.
* Возможность вернуть sentinel в любом месте - зло. Гениальные авторы оригинального кода уходят, приходят новые люди, которые не знают, может ли конкретная int f() вернуть число < 0, == -1, или только >= 0, и начинаются проверки на пустом месте, и забытое протаскивание ошибок наверх. А потом в биллинге регулярно вычитаем -1 с чьего-нибудь счета. Плавали, знаем.
* Главный аргумент - reverse iterator по массиву. А часто ли его приходится использовать? Ну и, кстати, в статье очень норм техника для обхода массива в обратном порядке с unsigned индексом, я про такую и не знал.
http://ryanhileman.info/posts/lib43
https://gist.github.com/jboner/2841832
Специально поместил эти две ссылки рядом, чтобы желающие смогли на пальцах прикинуть, сколько времени должен исполняться типичный #autohell ./configure script. По моим прикидкам, если бы не sleep-ы в ядре Linux, секунд 5. А не 1 - 2 минуты, как сейчас.
———
https://www.mattkeeter.com/projects/synthesis/
Классный текст про использование SAT solver. Я в своей карьере использовал SAT solver 1 раз, для какой-то задачки с Эйлера, но знать про такую возможность, конечно, полезно.
———
https://www.opennet.ru/opennews/art.shtml?num=56422
Очень хорошая подборка материалов - что важного и интересного произошло в 21 году. Заметьте, что в тексте очень много ссылок, и почти все они ведут на новости с opennet.
Opennet - мой любимый новостной канал, там все появляется достаточно быстро, и новости хорошо пролинкованы между собой.
При этом, opennet, по современным меркам, очень странная площадка:
* Там есть Анонимус
* Все посылают друг друга нахуй
* Один из модераторов - фашист(не в смысле "плохой человек", а в смысле Википедии).
При этом:
* Там полное ощущение свободы и вольнодумия
* Даже этого модератора-фашиста все кроют хуями, а он в ответ не раздает банхаммер направо и налево(вот его лог модерирования - https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=list&forum=vsluhforumID3&open=moderator&n=Michael+Shigorin)(а на большом числе ресурсов модераторы не ссат показать такой лог?)
* Встречаются прямо очень интересные комментаторы.
И вот это слабо почищенное говно читать приятнее, чем эти ваши выхолощенные HN, и прочую левацкую поебень.
На самом деле, сравнивая opennet и HN, лично я прихожу к выводу, что свобода слова таки должна быть абсолютной, а желающие что-то запретить мне читать пускай настроят фильтр себе(а не мне).
Вот как предлагают бороться с троллингом на opennet - https://www.opennet.ru/tips/3195_ublock_filter.shtml
Это очень здоровая вещь, если подумать. Если что-то мешает лично тебе - то скрой это себе, и не пытайся скрыть для всех остальных.
https://gist.github.com/jboner/2841832
Специально поместил эти две ссылки рядом, чтобы желающие смогли на пальцах прикинуть, сколько времени должен исполняться типичный #autohell ./configure script. По моим прикидкам, если бы не sleep-ы в ядре Linux, секунд 5. А не 1 - 2 минуты, как сейчас.
———
https://www.mattkeeter.com/projects/synthesis/
Классный текст про использование SAT solver. Я в своей карьере использовал SAT solver 1 раз, для какой-то задачки с Эйлера, но знать про такую возможность, конечно, полезно.
———
https://www.opennet.ru/opennews/art.shtml?num=56422
Очень хорошая подборка материалов - что важного и интересного произошло в 21 году. Заметьте, что в тексте очень много ссылок, и почти все они ведут на новости с opennet.
Opennet - мой любимый новостной канал, там все появляется достаточно быстро, и новости хорошо пролинкованы между собой.
При этом, opennet, по современным меркам, очень странная площадка:
* Там есть Анонимус
* Все посылают друг друга нахуй
* Один из модераторов - фашист(не в смысле "плохой человек", а в смысле Википедии).
При этом:
* Там полное ощущение свободы и вольнодумия
* Даже этого модератора-фашиста все кроют хуями, а он в ответ не раздает банхаммер направо и налево(вот его лог модерирования - https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=list&forum=vsluhforumID3&open=moderator&n=Michael+Shigorin)(а на большом числе ресурсов модераторы не ссат показать такой лог?)
* Встречаются прямо очень интересные комментаторы.
И вот это слабо почищенное говно читать приятнее, чем эти ваши выхолощенные HN, и прочую левацкую поебень.
На самом деле, сравнивая opennet и HN, лично я прихожу к выводу, что свобода слова таки должна быть абсолютной, а желающие что-то запретить мне читать пускай настроят фильтр себе(а не мне).
Вот как предлагают бороться с троллингом на opennet - https://www.opennet.ru/tips/3195_ublock_filter.shtml
Это очень здоровая вещь, если подумать. Если что-то мешает лично тебе - то скрой это себе, и не пытайся скрыть для всех остальных.
Gist
Latency Numbers Every Programmer Should Know
Latency Numbers Every Programmer Should Know. GitHub Gist: instantly share code, notes, and snippets.
❤1
Я же уже рассказывал про свой новый ноут, и почему он просто офигенный?
На самом деле, была одна вещь, которая меня сильно раздражала, и, наконец-то, я нашел время ее победить.
Выглядело это так - если на каком-то очень светлом фоне появлялся большой очень темный участок(например, контекстное меню в браузере), то экран резко, по всей плоскости, менял яркость.
Я, пожалуй, не буду расписывать, как я это дебажил(вполне стандартные техники по рассечению пространства возможных проблем), вот настройка ядра драйвера amdgpu:
"abmlevel (uint)
Override the default ABM (Adaptive Backlight Management) level used for DC enabled hardware. Requires DMCU to be supported and loaded. Valid levels are 0-4. A value of 0 indicates that ABM should be disabled by default. Values 1-4 control the maximum allowable brightness reduction via the ABM algorithm, with 1 being the least reduction and 4 being the most reduction.
Defaults to 0, or disabled. Userspace can still override this level later after boot."
Почему она у меня была не 0, я разбираться не стал.
https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-ABM-Linux-Backlight
Джобс бы, конечно, за эту дичьрасстрелял уволил на месте, что подсветка меняется одномоментно, а не растянуто на пару секунд, чтобы не мерцало.
———
Вчера писал про то, как сосет ядро Linux при выполнении configure скриптов. Сегодня немного цифр, время выполнения configure для coreutils, с разными там инструментами:
Думаю, погонять все это дело с strace.
———
https://blog.sunfishcode.online/port-std-to-rustix/
С нетерпением жду, когдашколота хипстеры коллеги разберутся с простыми вещами, и приступят к сложным(треды в Linux(https://ewontfix.com/17/), загрузчик для .so)
На самом деле, была одна вещь, которая меня сильно раздражала, и, наконец-то, я нашел время ее победить.
Выглядело это так - если на каком-то очень светлом фоне появлялся большой очень темный участок(например, контекстное меню в браузере), то экран резко, по всей плоскости, менял яркость.
Я, пожалуй, не буду расписывать, как я это дебажил(вполне стандартные техники по рассечению пространства возможных проблем), вот настройка ядра драйвера amdgpu:
"abmlevel (uint)
Override the default ABM (Adaptive Backlight Management) level used for DC enabled hardware. Requires DMCU to be supported and loaded. Valid levels are 0-4. A value of 0 indicates that ABM should be disabled by default. Values 1-4 control the maximum allowable brightness reduction via the ABM algorithm, with 1 being the least reduction and 4 being the most reduction.
Defaults to 0, or disabled. Userspace can still override this level later after boot."
Почему она у меня была не 0, я разбираться не стал.
https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-ABM-Linux-Backlight
Джобс бы, конечно, за эту дичь
———
Вчера писал про то, как сосет ядро Linux при выполнении configure скриптов. Сегодня немного цифр, время выполнения configure для coreutils, с разными там инструментами:
dash + coreutils: 35sВсе собрано с LTO, для достижения максимальной производительности.
dash + busybox: 35s
bash + busybox: 40s
Думаю, погонять все это дело с strace.
———
https://blog.sunfishcode.online/port-std-to-rustix/
С нетерпением жду, когда
Phoronix
Radeon Linux Driver Preparing Adaptive Backlight Management (ABM)
The 'AMDGPU' Radeon Linux kernel graphics driver is preparing support for 'Adaptive Backlight Management' as a backlight power-savings feature for laptops.
https://www.ttauri-project.org/2021/03/30/the-trouble-with-anti-aliasing.html
https://medium.com/@evanwallace/easy-scalable-text-rendering-on-the-gpu-c3f4d782c5ac
Два классных текста про рендеринг шрифтов. К счастью, разрешения наших экранов уже позволяют про все про это не думать - например, у меня на глаз не заметна разница между AA и не AA рендерингом уже.
———
https://www.gnu.org/software/libunistring/#downloading
У меня есть привычка - по вечерам обновлять версии софта, чтобы не залеживался. Вчера пришла очередь libunistring, это такая безумная библиотека от GNU, по обработке юникодных строк(вот, кстати, что про нее думают мои любимые suckless - https://libs.suckless.org/libgrapheme/).
Сборка библиотеки падала с cryptic сообщением, мол, не могу найти команду "@sed". Полез разбираться, оказывается, GNU сломали сборку своей же либы в своем же режиме в #autohell Makefile V=0, когда вместо команд печатаются их сокращения. С V=1 все отлично собралось.
———
https://lkml.org/lkml/2022/1/2/187
Я не пойму, в этом вашем ядре энтузиасты своего дела, кроме Ingo, остались? 3 коммента на классную инициативу по ускорению сборки за несколько дней.
Или все уже старые, сытые, и пьют пиво на праздниках?
———
https://habr.com/ru/news/t/599409/ #wot
Хорошо, конечно, что идут в суд, а не занимаются противоправной херней, как это стало модно.
Но, как бывший последовательный левый, потом неубедительно болтающийся у центра центрист, а теперь не менее последовательный правый, я, конечно, на стороне тех, кто выпускает хаки.
"Представитель Wargaming заявил, что компания считает создание и продажу программ, нарушающих правила игр и их внутреннюю экономику, таким же преступлением, как кража или мошенничество. "
Знаете, давайте уже сажать за высокочастотный трейдинг, или применение ML на фондовых рынках, а то как же так?
———
#server_push
https://www.opennet.ru/opennews/art.shtml?num=54069
Я, оказывается, проспал красивое. Если бы не проспал, то, конечно бы потребовал от всех, кто мне годами ел мозг чайной ложечкой насчет server push, немедленно извиниться за весь мой съеденный мозг.
https://medium.com/@evanwallace/easy-scalable-text-rendering-on-the-gpu-c3f4d782c5ac
Два классных текста про рендеринг шрифтов. К счастью, разрешения наших экранов уже позволяют про все про это не думать - например, у меня на глаз не заметна разница между AA и не AA рендерингом уже.
———
https://www.gnu.org/software/libunistring/#downloading
У меня есть привычка - по вечерам обновлять версии софта, чтобы не залеживался. Вчера пришла очередь libunistring, это такая безумная библиотека от GNU, по обработке юникодных строк(вот, кстати, что про нее думают мои любимые suckless - https://libs.suckless.org/libgrapheme/).
Сборка библиотеки падала с cryptic сообщением, мол, не могу найти команду "@sed". Полез разбираться, оказывается, GNU сломали сборку своей же либы в своем же режиме в #autohell Makefile V=0, когда вместо команд печатаются их сокращения. С V=1 все отлично собралось.
———
https://lkml.org/lkml/2022/1/2/187
Я не пойму, в этом вашем ядре энтузиасты своего дела, кроме Ingo, остались? 3 коммента на классную инициативу по ускорению сборки за несколько дней.
Или все уже старые, сытые, и пьют пиво на праздниках?
———
https://habr.com/ru/news/t/599409/ #wot
Хорошо, конечно, что идут в суд, а не занимаются противоправной херней, как это стало модно.
Но, как бывший последовательный левый, потом неубедительно болтающийся у центра центрист, а теперь не менее последовательный правый, я, конечно, на стороне тех, кто выпускает хаки.
"Представитель Wargaming заявил, что компания считает создание и продажу программ, нарушающих правила игр и их внутреннюю экономику, таким же преступлением, как кража или мошенничество. "
Знаете, давайте уже сажать за высокочастотный трейдинг, или применение ML на фондовых рынках, а то как же так?
———
#server_push
https://www.opennet.ru/opennews/art.shtml?num=54069
Я, оказывается, проспал красивое. Если бы не проспал, то, конечно бы потребовал от всех, кто мне годами ел мозг чайной ложечкой насчет server push, немедленно извиниться за весь мой съеденный мозг.
https://hardcoresoftware.learningbyshipping.com/p/061-bsod-to-watson-the-reliability
Забавно. Товарищ (из Microsoft?) считает, что качество софта улучшилось, когда ввели телеметрию. Плохая статья.
На пути к хорошему софту было 3 этапа:
1) Перестали писать системный софт на ассемблере, и стали на C. Microsoft тут явно не была впереди планеты всей, потому что Unix.
2) Повсеместная защита памяти в OS. Microsoft, опять же, процессу не помогала, а мешала. Напомню, что Windows NT(которая работала, как часы), позиционировалась ею как система для профессионалов, и стоила, как космолет. Ситуация поменялась только после выхода провальной Windows ME, когда уже даже идиотам стало понятно, что методом грубой силы линейку Win95 до ума не довести.
Кстати, немного в сторону - вопреки некоторым мифам, Windows NT и памяти не сильно больше жрала, чем Win95/98, и с совместимостью программ у нее было неплохо. Например, более-менее все нерукожопые игры, которые работали через dos4/gw, прекрасно работали в NT, благодаря https://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface - это такая технология, когда OS в себе содержит свой dos extender, и условный dos4/gw просто передает управление ему.
Windows NT 3.51(https://winworldpc.com/product/windows-nt-3x/351) - моя любимая винда. Красивый GUI, еще до-чикаго эпохи, микроядро, быстрое, и безопасное(она могла перезапустить упавший драйвер видюхи на ходу, например).
3) Санитайзеры. После их повсеместного внедрения я лично перестал бояться катить в прод. Казалось бы, при чем тут Microsoft? В Microsoft с этим всегда было туго, до-sanitizer технологии(valgrind) вообще никак не были представлены в Windows. #asan
4*) Переход на "безопасные" языки. Господа, давайте этот пункт обсудим лет через 5 - 10, когда impact уже будет очевиден :)
Короче, плохая, негодная статья, которая пытается представить, что MS была впереди планеты всей в борьбе с багами. Нет, это не так.
———
dash + coreutils: 35s
dash + busybox: 35s
bash + busybox: 40s
And the winner is..... Yash! https://yash.osdn.jp/index.html.en
yash + coreutils: 30s
Кстати, хороший, годный shell, я им периодически пользуюсь. В принципе, у него похожие плюсы(strict POSIX, fast, работает везде) и минусы(пишет 1 человек, непонятно будущее проекта), как и у dash, так что я пробую заменить.
———
https://browsix.org/
(тут должна быть картинка про hey dawg)
Мы сделали браузер для того, чтобы gui стоил дешево, и чтобы не нужно было разрабатывать десктопное приложение на каждый чих.
Но, вот, теперь запустили там Unix CLI. А что дальше? Qt/GTK, и потом опять браузер? Божечки, зачем.
Забавно. Товарищ (из Microsoft?) считает, что качество софта улучшилось, когда ввели телеметрию. Плохая статья.
На пути к хорошему софту было 3 этапа:
1) Перестали писать системный софт на ассемблере, и стали на C. Microsoft тут явно не была впереди планеты всей, потому что Unix.
2) Повсеместная защита памяти в OS. Microsoft, опять же, процессу не помогала, а мешала. Напомню, что Windows NT(которая работала, как часы), позиционировалась ею как система для профессионалов, и стоила, как космолет. Ситуация поменялась только после выхода провальной Windows ME, когда уже даже идиотам стало понятно, что методом грубой силы линейку Win95 до ума не довести.
Кстати, немного в сторону - вопреки некоторым мифам, Windows NT и памяти не сильно больше жрала, чем Win95/98, и с совместимостью программ у нее было неплохо. Например, более-менее все нерукожопые игры, которые работали через dos4/gw, прекрасно работали в NT, благодаря https://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface - это такая технология, когда OS в себе содержит свой dos extender, и условный dos4/gw просто передает управление ему.
Windows NT 3.51(https://winworldpc.com/product/windows-nt-3x/351) - моя любимая винда. Красивый GUI, еще до-чикаго эпохи, микроядро, быстрое, и безопасное(она могла перезапустить упавший драйвер видюхи на ходу, например).
3) Санитайзеры. После их повсеместного внедрения я лично перестал бояться катить в прод. Казалось бы, при чем тут Microsoft? В Microsoft с этим всегда было туго, до-sanitizer технологии(valgrind) вообще никак не были представлены в Windows. #asan
4*) Переход на "безопасные" языки. Господа, давайте этот пункт обсудим лет через 5 - 10, когда impact уже будет очевиден :)
Короче, плохая, негодная статья, которая пытается представить, что MS была впереди планеты всей в борьбе с багами. Нет, это не так.
———
dash + coreutils: 35s
dash + busybox: 35s
bash + busybox: 40s
And the winner is..... Yash! https://yash.osdn.jp/index.html.en
yash + coreutils: 30s
Кстати, хороший, годный shell, я им периодически пользуюсь. В принципе, у него похожие плюсы(strict POSIX, fast, работает везде) и минусы(пишет 1 человек, непонятно будущее проекта), как и у dash, так что я пробую заменить.
———
https://browsix.org/
(тут должна быть картинка про hey dawg)
Мы сделали браузер для того, чтобы gui стоил дешево, и чтобы не нужно было разрабатывать десктопное приложение на каждый чих.
Но, вот, теперь запустили там Unix CLI. А что дальше? Qt/GTK, и потом опять браузер? Божечки, зачем.
Hardcore Software by Steven Sinofsky
061. BSoD to Watson: The Reliability Journey
"20 percent or so of most frequently occurring crashes accounted for more than 80 percent of all crashes"—our discovery of the distribution of bugs and crashes
https://www.youtube.com/watch?time_continue=203&v=Zh3Yz3PiXZw&feature=emb_logo
Прекрасный видос, я, как обычно прослоупочил.
———
https://twitter.com/proffeynman/status/1038833676962869249?lang=en
Классный алгоритм, всегда им пользовался, теперь знаю, кто автор, и как называется.
———
Факир был пьян, фокус не удался.
yash отлично справляется с configure скриптами, но валится на каком-то bash-изме в libtool.
eval 'f ( X "" )' - что это? по мне так yash прав, что missing ), потому что f( - начало определения функции.
Видимо, автор dash это закостылял, потому что dash какое-то время был дефолтным shell в ubuntu(про сейчас не знаю). Без этого костыля #autohell проекты не собираются.
На закуску - автор yash упоролся, и переписывает его на Rust. https://github.com/magicant/yash-rs/issues
Вот зачем, зачем переписывать то, что уже написано и работает? Я там понимаю, если бы он фич хотел досыпать, но он же опять пишет posix shell.
———
https://botondballo.wordpress.com/2022/01/03/2021-c-standardization-highlights/
range-based for-loop аккуратно обошли стороной. C++ doomed.
———
Intel отчаялась победить шедулер #sched в Linux, и теперь CPU просто сам говорит - "пошедули чего-нить на меня", или "я перегрет" https://www.tomshardware.com/news/intel-alder-lake-thread-director-support-coming-to-linux
А чо, норм тема, производитель процов явно же лучше знает, как нагрузить его поделие полезной работой.
Прекрасный видос, я, как обычно прослоупочил.
———
https://twitter.com/proffeynman/status/1038833676962869249?lang=en
Классный алгоритм, всегда им пользовался, теперь знаю, кто автор, и как называется.
———
Факир был пьян, фокус не удался.
yash отлично справляется с configure скриптами, но валится на каком-то bash-изме в libtool.
eval 'f ( X "" )' - что это? по мне так yash прав, что missing ), потому что f( - начало определения функции.
Видимо, автор dash это закостылял, потому что dash какое-то время был дефолтным shell в ubuntu(про сейчас не знаю). Без этого костыля #autohell проекты не собираются.
На закуску - автор yash упоролся, и переписывает его на Rust. https://github.com/magicant/yash-rs/issues
Вот зачем, зачем переписывать то, что уже написано и работает? Я там понимаю, если бы он фич хотел досыпать, но он же опять пишет posix shell.
———
https://botondballo.wordpress.com/2022/01/03/2021-c-standardization-highlights/
range-based for-loop аккуратно обошли стороной. C++ doomed.
———
Intel отчаялась победить шедулер #sched в Linux, и теперь CPU просто сам говорит - "пошедули чего-нить на меня", или "я перегрет" https://www.tomshardware.com/news/intel-alder-lake-thread-director-support-coming-to-linux
А чо, норм тема, производитель процов явно же лучше знает, как нагрузить его поделие полезной работой.
YouTube
Alternative Math | Short Film
A well meaning math teacher finds herself trumped by a post-fact America.
https://www.opennet.ru/opennews/art.shtml?num=56475
Вот и ответ про clang. Сравнение с прошлой версией не очень хорошо получается сделать, но я насчитал где-то 8% преимущества над GCC.
———
https://blog.darknedgy.net/technology/2020/05/02/0/
Фундаментальный текст про systemd.
* Я понял, что не совсем верно понимал позиционирование systemd. Авторы его больше продавали как замену xinetd, то есть, хотели все сделать на socket activation. Ну, то есть, systemd еще более overengineered, чем я думал.
* launchd, с которого списывали #systemd, сделал многие вещи существенно более правильно - отдельная система для dependency management, отдельная - для socket(port, в случае Mach) activation.
* Текст лично для меня оказался очень вкусный. Знаете же это ощущение, что на одной волне с автором? Читаешь такой, и думаешь, "а вот сейчас бы упомянуть про ...", и вот оно. Например, http://www.winestockwebdesign.com/Essays/Eternal_Mainframe.html. Или вот - "and the general trend of eBPF turning Linux into an extensible hybrid kernel of sorts."
* Недостаток текста - автор зачем-то слишком много цепляется к личности Поттеринга. Насрать же на Поттеринга, важно то, что хочет делать RedHat, а потом IBM(кроме как попыткой враждебного захвата Linux это и не назвать IMHO).
* Поворотный момент - когда разработчики ядра(спасибо им за это!) послали всю эту гоп-компанию с #kdbus. Сейчас systemd не представляет экзистенциальной угрозы.
———
https://github.com/2point21/lba2-classic
Совершенно случайно наткнулся на исходники LBA2. В детстве всегда хотелось посмотреть, как она сделана внутри, вот, смотрю. Интересное вечернее занятие :) Удивительно, насколько оно все сделано странно, и, фактически, затащено "грубой силой".
К слову, был у меня период, когда я, в течении нескольких месяцев, воскресное утро начинал с того, что проходил LBA2. А какой там был саундтрек!
Вот и ответ про clang. Сравнение с прошлой версией не очень хорошо получается сделать, но я насчитал где-то 8% преимущества над GCC.
———
https://blog.darknedgy.net/technology/2020/05/02/0/
Фундаментальный текст про systemd.
* Я понял, что не совсем верно понимал позиционирование systemd. Авторы его больше продавали как замену xinetd, то есть, хотели все сделать на socket activation. Ну, то есть, systemd еще более overengineered, чем я думал.
* launchd, с которого списывали #systemd, сделал многие вещи существенно более правильно - отдельная система для dependency management, отдельная - для socket(port, в случае Mach) activation.
* Текст лично для меня оказался очень вкусный. Знаете же это ощущение, что на одной волне с автором? Читаешь такой, и думаешь, "а вот сейчас бы упомянуть про ...", и вот оно. Например, http://www.winestockwebdesign.com/Essays/Eternal_Mainframe.html. Или вот - "and the general trend of eBPF turning Linux into an extensible hybrid kernel of sorts."
* Недостаток текста - автор зачем-то слишком много цепляется к личности Поттеринга. Насрать же на Поттеринга, важно то, что хочет делать RedHat, а потом IBM(кроме как попыткой враждебного захвата Linux это и не назвать IMHO).
* Поворотный момент - когда разработчики ядра(спасибо им за это!) послали всю эту гоп-компанию с #kdbus. Сейчас systemd не представляет экзистенциальной угрозы.
———
https://github.com/2point21/lba2-classic
Совершенно случайно наткнулся на исходники LBA2. В детстве всегда хотелось посмотреть, как она сделана внутри, вот, смотрю. Интересное вечернее занятие :) Удивительно, насколько оно все сделано странно, и, фактически, затащено "грубой силой".
К слову, был у меня период, когда я, в течении нескольких месяцев, воскресное утро начинал с того, что проходил LBA2. А какой там был саундтрек!
www.opennet.ru
Вторая версия патчей c реструктуризацией заголовочных файлов ядра Linux
Инго Молнар (Ingo Molnar) представил вторую версию набора патчей, позволяющего значительно сократить время пересборки ядра за счёт реструктуризации иерархии заголовочных файлов и сокращения числа перекрёстных зависимостей. От предложенной несколько дней назад…
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%5E1479200803948830724%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
Меня это все, конечно, бесит. #npm #money
* С одной стороны, в OSS денег и славы нет(ну, примерно как в большом спорте). Я вот в OSS ищу 20 котрибуторов в пакетную базу и 1 - 2 в core graph engine, так сказать. В лучшем случае. Чего там эти странные люди обижаются, я не понимаю. Их код, вообще говоря, используют ТОЛЬКО потому, что он бесплатный. Если бы они его выложили не на github/npm, а там в маркет приложений, его бы никто и не заметил.
"These messages included the text 'LIBERTY LIBERTY LIBERTY' followed by a sequence of non-ASCII characters:"
Ага, а чо не так-то с liberty? Кто ему "швабодки" не досыпал-то?
Чувак явно хотел написать "MONEY MONEY MONEY", но постеснялся:
"Take this as an opportunity to send me a six figure yearly contract or fork the project and have someone else work on it."
Ну да, это в какой валюте? Если в имперских деньгах, то он не понимает, что такое код, и что такое деньги.
* "NPM has reverted to a previous version of the faker.js package and Github has suspended my access to all public and private projects. I have 100s of projects." С другой, вот факт, что github и npm самовольно откатили его код, это леденящий душу пиздец. Не устану напоминать, что провайдер услуг не может и не должен заниматься такой хуйней. Впрочем, может, их EULA содержит какие-то пункты, которые это разрешают, а я просто о них не знаю. Any comments?
* С третьей - конечно, индустрии это пойдет на пользу. Менеджменту давно пора понять, что бесконтрольный npm/pip install(да и вообще, любые бесконтрольные зависимости) - это потенциальное зло, а не только сотни мегабайт прекрасного кода в ваш проект. Ну и сумасшедших, которые зависят по trunk от стороннего проекта без тестов, станет поменьше.
———
https://habr.com/ru/company/dcmiran/news/t/599733/
А расскажите мне, почему в данном случае не работает рыночное решение? Типа, сложно произвести столько карт, чтобы насытить рынок, и непонятно, что потом делать с новыми производственными мощностями, когда этот пузырь лопнет? Или просто там задержка в несколько лет, от машин для литографии до конечного потребителя?
———
https://www.tiobe.com/tiobe-index/
Про Python на первом месте я уже писал, брызгая желчью.
Про Rust - конечно, очень плохо, что Cobol обогнал Rust, но зато очень хорошо, что Rust обошел Prolog!
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%5E1479200803948830724%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
Меня это все, конечно, бесит. #npm #money
* С одной стороны, в OSS денег и славы нет(ну, примерно как в большом спорте). Я вот в OSS ищу 20 котрибуторов в пакетную базу и 1 - 2 в core graph engine, так сказать. В лучшем случае. Чего там эти странные люди обижаются, я не понимаю. Их код, вообще говоря, используют ТОЛЬКО потому, что он бесплатный. Если бы они его выложили не на github/npm, а там в маркет приложений, его бы никто и не заметил.
"These messages included the text 'LIBERTY LIBERTY LIBERTY' followed by a sequence of non-ASCII characters:"
Ага, а чо не так-то с liberty? Кто ему "швабодки" не досыпал-то?
Чувак явно хотел написать "MONEY MONEY MONEY", но постеснялся:
"Take this as an opportunity to send me a six figure yearly contract or fork the project and have someone else work on it."
Ну да, это в какой валюте? Если в имперских деньгах, то он не понимает, что такое код, и что такое деньги.
* "NPM has reverted to a previous version of the faker.js package and Github has suspended my access to all public and private projects. I have 100s of projects." С другой, вот факт, что github и npm самовольно откатили его код, это леденящий душу пиздец. Не устану напоминать, что провайдер услуг не может и не должен заниматься такой хуйней. Впрочем, может, их EULA содержит какие-то пункты, которые это разрешают, а я просто о них не знаю. Any comments?
* С третьей - конечно, индустрии это пойдет на пользу. Менеджменту давно пора понять, что бесконтрольный npm/pip install(да и вообще, любые бесконтрольные зависимости) - это потенциальное зло, а не только сотни мегабайт прекрасного кода в ваш проект. Ну и сумасшедших, которые зависят по trunk от стороннего проекта без тестов, станет поменьше.
———
https://habr.com/ru/company/dcmiran/news/t/599733/
А расскажите мне, почему в данном случае не работает рыночное решение? Типа, сложно произвести столько карт, чтобы насытить рынок, и непонятно, что потом делать с новыми производственными мощностями, когда этот пузырь лопнет? Или просто там задержка в несколько лет, от машин для литографии до конечного потребителя?
———
https://www.tiobe.com/tiobe-index/
Про Python на первом месте я уже писал, брызгая желчью.
Про Rust - конечно, очень плохо, что Cobol обогнал Rust, но зато очень хорошо, что Rust обошел Prolog!
Хабр
Что случилось с faker.js?
При создании нового проекта я попытался использовать свою любимую библиотеку генерации случайных данных faker.js. Установилась версия faker@6.6.6. Однако при попытке использовать привычные методы...
https://lkml.org/lkml/2022/1/8/170
На патч Ingo по ускорению сборки кладут хер.
———
https://dpc.pw/making-open-source-economy-more-viable-with-dual-license-collectives
Товарищ переизобретает коллективную лицензию на продажу mp3(а помните allofmp3.com? Эх...), только для софта. Тема, конечно, хорошая, но не полетит.
———
https://gitlab.gnome.org/GNOME/gtk/-/issues/4165
Gtk двигается в сторону прямого использования opengl/vulkan в качестве канвы для рисования. Это очень правильно, opengl/vulkan - это уже давно стандарт для рисования, непонятно, зачем иметь кучу прослоек для него.
Вообще, хотелось бы увидеть современную библиотеку виджетов, построенную напрямую поверх opengl/vulkan, без кучи legacy, платформенных библиотек, и вот этого всего. Про imgui знаю.
———
https://devblogs.microsoft.com/directx/announcing-the-opencl-and-opengl-compatibility-pack-for-windows-10-on-arm/
Я тут, давеча, писал, что microsoft присматривается к Mesa и #ANGLE. Оказывается, я мастер предсказывать события, которые уже имели место быть.
Microsoft уже использует #Mesa в качестве эталонного opengl для arm устройств. Это очень круто, молодцы. Мне нравится, что MS делает в OSS в последние годы.
———
https://github.com/hunspell/hyphen/blob/master/hyphen.tex
Очень интересная лицензия - "делайте, что хотите, только не называйте результат hyphen.tex". Ну, где наша не пропадала, рядом просто лежит hyphen.patch, интегрированный в систему сборки. Если нельзя, но очень хочется - то можно!
На патч Ingo по ускорению сборки кладут хер.
———
https://dpc.pw/making-open-source-economy-more-viable-with-dual-license-collectives
Товарищ переизобретает коллективную лицензию на продажу mp3(а помните allofmp3.com? Эх...), только для софта. Тема, конечно, хорошая, но не полетит.
———
https://gitlab.gnome.org/GNOME/gtk/-/issues/4165
Gtk двигается в сторону прямого использования opengl/vulkan в качестве канвы для рисования. Это очень правильно, opengl/vulkan - это уже давно стандарт для рисования, непонятно, зачем иметь кучу прослоек для него.
Вообще, хотелось бы увидеть современную библиотеку виджетов, построенную напрямую поверх opengl/vulkan, без кучи legacy, платформенных библиотек, и вот этого всего. Про imgui знаю.
———
https://devblogs.microsoft.com/directx/announcing-the-opencl-and-opengl-compatibility-pack-for-windows-10-on-arm/
Я тут, давеча, писал, что microsoft присматривается к Mesa и #ANGLE. Оказывается, я мастер предсказывать события, которые уже имели место быть.
Microsoft уже использует #Mesa в качестве эталонного opengl для arm устройств. Это очень круто, молодцы. Мне нравится, что MS делает в OSS в последние годы.
———
https://github.com/hunspell/hyphen/blob/master/hyphen.tex
Очень интересная лицензия - "делайте, что хотите, только не называйте результат hyphen.tex". Ну, где наша не пропадала, рядом просто лежит hyphen.patch, интегрированный в систему сборки. Если нельзя, но очень хочется - то можно!
https://www.opennet.ru/opennews/art.shtml?num=56492
Классная штука, я туда даже пару коммитов сделал.
———
https://habr.com/ru/news/t/645097/
А расскажите, кто в теме, кто в данной ситуации негодяй и редиска?
———
https://aras-p.info/blog/2018/12/28/Modern-C-Lamentations/ #gold
Хороший текст про важность времени сборки.
For example here (Unity), we had a joke that “adding Boost into the codebase is a fireable offense”
Мои 5 копеек:
* Header-only библиотеки - это зло, которое возникло от того, что старперы в стандарте заняты поддержкой сохранения ABI, вместо того, чтобы сказать, что приложение на С++ должно пересобираться целиком, как в Rust. Поэтому люди вынуждены эмулировать вот это вот "целиком" подручными средствами. #abi
* В своем личном коде на C++ я стараюсь допускать как можно меньше inline, у меня даже pushBack() в Vector в .cpp лежит. LTO разберется(и, по факту, no inline + LTO разбирается быстрее, чем инстанциировать километры шаблонов в каждом исходнике).
* Если бы все согласились разово замедлить весь код на 20%, но чтобы он собирался в 10 раз быстрее, я(ну, условный я) за освободившееся время бы алгоритмически ускорил бы подведомственный код больше, чем на 20%. Кажется, тут уместно вспомнить, что оптимум по Парето не всегда совпадает с равновесием Неша.
* Использование компиляторных intrinsics в 100 раз быстрее, чем использование их, но обернутых в std::. Поэтому у меня есть https://github.com/pg83/std/blob/master/std/typ/intrin.h
———
https://blog.robsayers.com/on-learning-smalltalk
Тут вот господин рассказывает, почему Smalltalk хорошо, но мне почему-то кажется, что любой image-based Lisp(а это почти все современные Lisp) обладает такими же свойствами.
———
Флеймообразующий вопрос к аудитории!
А почему, например, GNU/FSF не считает файл с образом для QEMU, в котором лежит образ Linux и другие динамические библиотеки, вариантом статической линковки?
———
>Сейчас #systemd не представляет экзистенциальной угрозы.
Хочу немного пояснить этот speech. Речь идет про small linux, hobby linux, про мой личный Linux.
Есть нечто притягательное в том, чтобы вырастить полностью свой, необычный, стек. Если бы Linux начал навязывать мне systemd, как необходимый элемент этого стека, я бы остался на MacOS, там за меня уже приняли все нужные решения, и шедулер там не глючит.
Классная штука, я туда даже пару коммитов сделал.
———
https://habr.com/ru/news/t/645097/
А расскажите, кто в теме, кто в данной ситуации негодяй и редиска?
———
https://aras-p.info/blog/2018/12/28/Modern-C-Lamentations/ #gold
Хороший текст про важность времени сборки.
For example here (Unity), we had a joke that “adding Boost into the codebase is a fireable offense”
Мои 5 копеек:
* Header-only библиотеки - это зло, которое возникло от того, что старперы в стандарте заняты поддержкой сохранения ABI, вместо того, чтобы сказать, что приложение на С++ должно пересобираться целиком, как в Rust. Поэтому люди вынуждены эмулировать вот это вот "целиком" подручными средствами. #abi
* В своем личном коде на C++ я стараюсь допускать как можно меньше inline, у меня даже pushBack() в Vector в .cpp лежит. LTO разберется(и, по факту, no inline + LTO разбирается быстрее, чем инстанциировать километры шаблонов в каждом исходнике).
* Если бы все согласились разово замедлить весь код на 20%, но чтобы он собирался в 10 раз быстрее, я(ну, условный я) за освободившееся время бы алгоритмически ускорил бы подведомственный код больше, чем на 20%. Кажется, тут уместно вспомнить, что оптимум по Парето не всегда совпадает с равновесием Неша.
* Использование компиляторных intrinsics в 100 раз быстрее, чем использование их, но обернутых в std::. Поэтому у меня есть https://github.com/pg83/std/blob/master/std/typ/intrin.h
———
https://blog.robsayers.com/on-learning-smalltalk
Тут вот господин рассказывает, почему Smalltalk хорошо, но мне почему-то кажется, что любой image-based Lisp(а это почти все современные Lisp) обладает такими же свойствами.
———
Флеймообразующий вопрос к аудитории!
А почему, например, GNU/FSF не считает файл с образом для QEMU, в котором лежит образ Linux и другие динамические библиотеки, вариантом статической линковки?
———
>Сейчас #systemd не представляет экзистенциальной угрозы.
Хочу немного пояснить этот speech. Речь идет про small linux, hobby linux, про мой личный Linux.
Есть нечто притягательное в том, чтобы вырастить полностью свой, необычный, стек. Если бы Linux начал навязывать мне systemd, как необходимый элемент этого стека, я бы остался на MacOS, там за меня уже приняли все нужные решения, и шедулер там не глючит.
www.opennet.ru
Доступна бета-версия порта файлового менеджера Far для Linux, BSD и macOS
Проект far2l, с 2016 года развивающий порт Far Manager для Linux, BSD и macOS, перешёл на стадию бета-тестирования, соответствующие изменения внесены в репозиторий 12 января. На данный момент порт, описанный на странице проекта как форк, поддерживает работу…
https://www.opennet.ru/openforum/vsluhforumID3/126400.html#49
Эти сумасшедшие (кто? GNOME? RedHat?) совсем кукухой поехали. JS в системном демоне.
———
https://levelup.gitconnected.com/top-30-git-commands-you-should-know-to-master-git-cli-f04e041779bc
Еще одни поехавшие, 30 базовых команд, чтобы нормально работать с git. Напомню, что в нормальных VCS нужно примерно 3 команды.
Впрочем, чтобы принять этот факт без попоболи, нужно согласиться с тем, что VCS - это способ хранения исходников, а не способ хранения и навигации по истории.
Я за всю жизнь активно читал историю, а не исходники, раза 3, наверное. И то, чтобы словить лулзы, а не разобраться с чем-нибудь. Я не вижу никакого смысла разбираться с тем, что думал какой-то странный человек по поводу того, что он там писал в коде. Важно только то, что этот код делает здесь и сейчас, а не то, что про него думал автор 10 лет назад.
PS: тикеты с описанием продуктовой составляющей фичи полезны, да.
———
https://habr.com/ru/news/t/645289/ - как же бесит этот новояз.
"Для Mozilla цель состоит в том, чтобы заставить Firefox работать одинаково на всех платформах, чтобы облегчить обслуживание и упростить разработку и исправление ошибок операционных систем. Для нас это изменение означает огромное упрощение с точки зрения обслуживания и разработки. Раньше мы сами собирали Firefox, используя упаковку Ubuntu. Теперь мы упаковываем версию Mozilla"
Вот ведь все всё понимают, зачем писать такую хтонь?
———
https://www.opennet.ru/opennews/art.shtml?num=56489 - анонс более простого механизма(куда уж проще?) для деплоя? eBPF программ.
https://www.opennet.ru/opennews/art.shtml?num=56497 - и через день анонс о новой уязвимости в eBPF. Cовпадение?
https://isovalent.com/blog/post/2021-12-08-ebpf-servicemesh - я уже как-то писал, что eBPF превращает Linux в нормальную микроядерную OS. Но вот прямо все тащить в ядро, даже через eBPF? Зачем? Модель sidecar прекрасна.
———
https://adamhooper.medium.com/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
Уверен, про это написали вообще все, поэтому без комментариев.
Эти сумасшедшие (кто? GNOME? RedHat?) совсем кукухой поехали. JS в системном демоне.
———
https://levelup.gitconnected.com/top-30-git-commands-you-should-know-to-master-git-cli-f04e041779bc
Еще одни поехавшие, 30 базовых команд, чтобы нормально работать с git. Напомню, что в нормальных VCS нужно примерно 3 команды.
Впрочем, чтобы принять этот факт без попоболи, нужно согласиться с тем, что VCS - это способ хранения исходников, а не способ хранения и навигации по истории.
Я за всю жизнь активно читал историю, а не исходники, раза 3, наверное. И то, чтобы словить лулзы, а не разобраться с чем-нибудь. Я не вижу никакого смысла разбираться с тем, что думал какой-то странный человек по поводу того, что он там писал в коде. Важно только то, что этот код делает здесь и сейчас, а не то, что про него думал автор 10 лет назад.
PS: тикеты с описанием продуктовой составляющей фичи полезны, да.
———
https://habr.com/ru/news/t/645289/ - как же бесит этот новояз.
"Для Mozilla цель состоит в том, чтобы заставить Firefox работать одинаково на всех платформах, чтобы облегчить обслуживание и упростить разработку и исправление ошибок операционных систем. Для нас это изменение означает огромное упрощение с точки зрения обслуживания и разработки. Раньше мы сами собирали Firefox, используя упаковку Ubuntu. Теперь мы упаковываем версию Mozilla"
Вот ведь все всё понимают, зачем писать такую хтонь?
———
https://www.opennet.ru/opennews/art.shtml?num=56489 - анонс более простого механизма(куда уж проще?) для деплоя? eBPF программ.
https://www.opennet.ru/opennews/art.shtml?num=56497 - и через день анонс о новой уязвимости в eBPF. Cовпадение?
https://isovalent.com/blog/post/2021-12-08-ebpf-servicemesh - я уже как-то писал, что eBPF превращает Linux в нормальную микроядерную OS. Но вот прямо все тащить в ядро, даже через eBPF? Зачем? Модель sidecar прекрасна.
———
https://adamhooper.medium.com/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
Уверен, про это написали вообще все, поэтому без комментариев.
Medium
Top 30 Git Commands You Should Know To Master Git CLI
Learn the most essential Git commands to boost your productivity, and become a master in managing the GitHub repositories.
https://www.phoronix.com/scan.php?page=news_item&px=Linux-Remove-a.out
Linux убирает поддержку a.out, придется в gcc -o давать какие-то более осмысленные имена, если вы понимаете, о чем я.
———
https://llvm.discourse.group/
#LLVM съезжает с допотопных рассылок. С одной стороны - это хорошо, в почтовых архивах решительно невозможно было ориентироваться. С другой - это какая-то закрытая платформа, я там не нашел кнопки "скачать письма за 2021 год".
———
https://www.opennet.ru/opennews/art.shtml?num=56503
https://github.com/chrisdutz/blog/blob/main/plc4x/free-trial-expired.adoc #money
Еще одно эмоциональное подгорание на фоне отсутствия денег за OSS. Даже не знаю, что и сказать, на фоне того, что уже сказано и написано.
Пожалуй, добавлю, что вот это вот всё индустрии несколько мешает, потому что люди, которые принимают решения о использовании OSS во внутренних разработках, будут вспоминать эти истории, и очередной раз задумываться, связываться с этими эмо(которые сегодня раздают бесплатно, а завтра плачутся, что им там каши недодали) с github, или нет.
———
https://venam.nixers.net/blog/unix/2021/02/07/audio-stack.html
Неплохой текст про состояние аудио стека в Linux.
https://github.com/jackaudio/jack2
The activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used to have a more dynamic and robust system.
Класс. А это пример lock-free технологий из jack2:
При этом, jack все еще лучший звуковой сервер под Linux, все, как и 15 лет назад.
———
https://developers.redhat.com/articles/2022/01/12/prevent-trojan-source-attacks-gcc-12
Сначала создаем себе проблемы, потом героически их решаем. Не, так работы нам хватит навсегда.
Хотелось бы, конечно, флаг в компиляторах-fno-porridge -fascii-only-source, я более чем уверен, что есть сильная антикорреляция между тем, что человек использует эмодзи с какахой non-ascii symbols в коде, и тем, что его код может быть мне как-то полезен.
Linux убирает поддержку a.out, придется в gcc -o давать какие-то более осмысленные имена, если вы понимаете, о чем я.
———
https://llvm.discourse.group/
#LLVM съезжает с допотопных рассылок. С одной стороны - это хорошо, в почтовых архивах решительно невозможно было ориентироваться. С другой - это какая-то закрытая платформа, я там не нашел кнопки "скачать письма за 2021 год".
———
https://www.opennet.ru/opennews/art.shtml?num=56503
https://github.com/chrisdutz/blog/blob/main/plc4x/free-trial-expired.adoc #money
Еще одно эмоциональное подгорание на фоне отсутствия денег за OSS. Даже не знаю, что и сказать, на фоне того, что уже сказано и написано.
Пожалуй, добавлю, что вот это вот всё индустрии несколько мешает, потому что люди, которые принимают решения о использовании OSS во внутренних разработках, будут вспоминать эти истории, и очередной раз задумываться, связываться с этими эмо(которые сегодня раздают бесплатно, а завтра плачутся, что им там каши недодали) с github, или нет.
———
https://venam.nixers.net/blog/unix/2021/02/07/audio-stack.html
Неплохой текст про состояние аудио стека в Linux.
https://github.com/jackaudio/jack2
The activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used to have a more dynamic and robust system.
Класс. А это пример lock-free технологий из jack2:
while ((err = snd_pcm_resume(handle)) == -EAGAIN)Слово usleep в кодовой базе встречается 50 раз.
usleep(100); /* wait until the suspend flag is released */
if (err < 0) {
-
При этом, jack все еще лучший звуковой сервер под Linux, все, как и 15 лет назад.
———
https://developers.redhat.com/articles/2022/01/12/prevent-trojan-source-attacks-gcc-12
Сначала создаем себе проблемы, потом героически их решаем. Не, так работы нам хватит навсегда.
Хотелось бы, конечно, флаг в компиляторах
Phoronix
Linux Preparing To Finally Remove Support For The a.out Format
Back in 2019 the Linux kernel deprecated a.out support for that file format used several decades ago before ELF tookover
😁1
https://world.hey.com/dhh/i-won-t-let-you-pay-me-for-my-open-source-d7cf4568 #money #gnu #charity
Хороший, но странный, текст.
Мне зашла первая часть, где автор аргументирует, что #GPL и MIT(условно) ненужно рассматривать вместе, как EULA vs. (GPL, MIT), а нужно как EULA vs. GPL vs. MIT, потому что у Столлмана и Гейтса(условно) больше общего друг с другом, чем с MIT. И тот, и другой что-то хотят от вас взамен за свой код. Деньги или другой код - неважно.
But it felt like that exactly because there was no sword hanging over my head. Nobody telling me that this is what I ought or had to do. No one expecting me to do it. So it was an act of volition rather than one of duty. A truly authentic choice.
That to me is freedom.
Автор на это сморит с левых, социалистических позиций.
Ближе к середине текста ему совсем снесло крышу, и он начал галопом по Европам по всем интересным ему темам, там, например, про воспитание детей, дочитывать я не стал.
———
https://raphlinus.github.io/rust/gui/2019/06/21/smooth-resize-test.html
https://raphlinus.github.io/ui/graphics/2020/09/13/compositor-is-evil.html
https://thume.ca/2020/05/20/making-a-latency-tester/
https://lwn.net/Articles/814587/
Про некоторые проблемы современных графических стеков, с кучей интересных ссылок.
В целом, мне кажется, обсуждаемые проблемы и решения несколько надуманы, с повсеместным переходом на 120hz об этом можно будет забыть.
———
https://mesonbuild.com/Wrap-dependency-system-manual.html
Глубже погружаюсь в Meson, и, местами, оно мне перестает нравиться. Например, то, как там сделан vendoring - это жесть. Как отключить его из cli, я не понял, но зато прекрасно работает хак с удалением всех *.wrap файлов в сборочной директории, оно перестает ходить по http и git почем зря.
———
https://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking
На неделе линкера я обещал написать текст про линкер, но не написал.
Зато нашел вот этот текст, там написано примерно то же самое, что хотел написать я:
* базовый алгоритм для простого случая статической линковки
* описан самый важный хак для разрешения циклических зависимостей
* этого вполне достаточно, чтобы иметь в голове простую модель линковки, и не относиться к линкеру, как к волшебству.
Хороший, но странный, текст.
Мне зашла первая часть, где автор аргументирует, что #GPL и MIT(условно) ненужно рассматривать вместе, как EULA vs. (GPL, MIT), а нужно как EULA vs. GPL vs. MIT, потому что у Столлмана и Гейтса(условно) больше общего друг с другом, чем с MIT. И тот, и другой что-то хотят от вас взамен за свой код. Деньги или другой код - неважно.
But it felt like that exactly because there was no sword hanging over my head. Nobody telling me that this is what I ought or had to do. No one expecting me to do it. So it was an act of volition rather than one of duty. A truly authentic choice.
That to me is freedom.
Автор на это сморит с левых, социалистических позиций.
Ближе к середине текста ему совсем снесло крышу, и он начал галопом по Европам по всем интересным ему темам, там, например, про воспитание детей, дочитывать я не стал.
———
https://raphlinus.github.io/rust/gui/2019/06/21/smooth-resize-test.html
https://raphlinus.github.io/ui/graphics/2020/09/13/compositor-is-evil.html
https://thume.ca/2020/05/20/making-a-latency-tester/
https://lwn.net/Articles/814587/
Про некоторые проблемы современных графических стеков, с кучей интересных ссылок.
В целом, мне кажется, обсуждаемые проблемы и решения несколько надуманы, с повсеместным переходом на 120hz об этом можно будет забыть.
———
https://mesonbuild.com/Wrap-dependency-system-manual.html
Глубже погружаюсь в Meson, и, местами, оно мне перестает нравиться. Например, то, как там сделан vendoring - это жесть. Как отключить его из cli, я не понял, но зато прекрасно работает хак с удалением всех *.wrap файлов в сборочной директории, оно перестает ходить по http и git почем зря.
———
https://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking
На неделе линкера я обещал написать текст про линкер, но не написал.
Зато нашел вот этот текст, там написано примерно то же самое, что хотел написать я:
* базовый алгоритм для простого случая статической линковки
* описан самый важный хак для разрешения циклических зависимостей
* этого вполне достаточно, чтобы иметь в голове простую модель линковки, и не относиться к линкеру, как к волшебству.
Hey
I won't let you pay me for my open source
In Debt: The First 5,000 Years, anthropologist David Graeber explores the fascinating history of debt and economies. It starts out by debunking the common myth that prior to coinage, everyone were trapped in this inefficient mode of barter. If you had a chicken…
Так, у нас сегодня задачка по бутстрапу, решения принимаются до завтрашнего вечера, данные в первом комментарии.
Дано: файл с полным логом сборки моей системы.
Надо: написать регулярку длиной до 4 символов, которая отфильтрует наиболее полезные записи(да, до четырех).
Дано: файл с полным логом сборки моей системы.
Надо: написать регулярку длиной до 4 символов, которая отфильтрует наиболее полезные записи(да, до четырех).
"UNIX is simple and coherent..." - Dennis Ritchie
"GNU's Not UNIX" - Richard Stallman
———
https://woodrush.github.io/blog/posts/2022-01-16-neural-networks-in-pure-lisp.html
Статья, конечно, не про нейронные сети, а про то, как сделать float, имея на руках структуру данных в 1 бит.
———
Full disclosure - я очень не люблю gstreamer. Его пилили какие-то сумасшедшие, которые решили, что граф обработки multimedia может свалиться в runtime, а не в момент его конструирования. Графы там сложные, падают почем зря. Ну и 15 лет назад библиотека была настолько нестабильна, что я чуть не поседел, пытаясь ей воспользоваться.
https://gstreamer.freedesktop.org/features/
Graph-based structure allows arbitrary pipeline construction
И произвольные падения в runtime. Потому что надо не arbitrary, а только те, что имеют смысл в runtime.
Based on GLib 2.0 object model for object-oriented design and inheritance
Хуже объектной модели #glib не бывает вообще ничего. Магия на препроцессоре, которая приводит к генерации исходников похлеще, чем в С++, шаг влево - вправо - расстрел на месте. Про 10 уровней indirection и про то, что все в куче - я вообще молчу(а потом удивляются, почему программы на GTK жрут памяти больше и работают медленнее, чем QT)
Compact core library of less than 500KB, about 65 K lines of code
Multi-threaded pipelines are trivial and transparent to construct
Нет.
Clean, simple and stable API for both plugin and application developers
Знаете, кому и кобыла - невеста. Возможно, коллеги не видели clean and simple API.
Короче, если есть выбор - берите ffmpeg. К сожалению, WebKit использует gstreamer, поэтому пришлось повозиться.
———
https://www.da.vidbuchanan.co.uk/blog/webos-wampage.html
Я не любитель взлома, у меня мозг устроен по другому, но именно поэтому интересно иногда почитать, как мозг устроен у людей, которым это интересно.
Взлом WebOS через кеш байткода в V8. long story short - имплантируем в кеш байткода проезд по памяти, и, благодаря этому, забираемся в потроха браузера.
"GNU's Not UNIX" - Richard Stallman
———
https://woodrush.github.io/blog/posts/2022-01-16-neural-networks-in-pure-lisp.html
Статья, конечно, не про нейронные сети, а про то, как сделать float, имея на руках структуру данных в 1 бит.
———
Full disclosure - я очень не люблю gstreamer. Его пилили какие-то сумасшедшие, которые решили, что граф обработки multimedia может свалиться в runtime, а не в момент его конструирования. Графы там сложные, падают почем зря. Ну и 15 лет назад библиотека была настолько нестабильна, что я чуть не поседел, пытаясь ей воспользоваться.
https://gstreamer.freedesktop.org/features/
Graph-based structure allows arbitrary pipeline construction
И произвольные падения в runtime. Потому что надо не arbitrary, а только те, что имеют смысл в runtime.
Based on GLib 2.0 object model for object-oriented design and inheritance
Хуже объектной модели #glib не бывает вообще ничего. Магия на препроцессоре, которая приводит к генерации исходников похлеще, чем в С++, шаг влево - вправо - расстрел на месте. Про 10 уровней indirection и про то, что все в куче - я вообще молчу(а потом удивляются, почему программы на GTK жрут памяти больше и работают медленнее, чем QT)
Compact core library of less than 500KB, about 65 K lines of code
pg@fedora:~/mix/store/vVPM7CFLUYaHJm8iL-lib-gstreamer-19/lib du100 мегабайт, и сюда не входит mpeg/libav/ogg/etc
376 ./pkgconfig
97116 .
Multi-threaded pipelines are trivial and transparent to construct
Нет.
Clean, simple and stable API for both plugin and application developers
Знаете, кому и кобыла - невеста. Возможно, коллеги не видели clean and simple API.
Короче, если есть выбор - берите ffmpeg. К сожалению, WebKit использует gstreamer, поэтому пришлось повозиться.
———
https://www.da.vidbuchanan.co.uk/blog/webos-wampage.html
Я не любитель взлома, у меня мозг устроен по другому, но именно поэтому интересно иногда почитать, как мозг устроен у людей, которым это интересно.
Взлом WebOS через кеш байткода в V8. long story short - имплантируем в кеш байткода проезд по памяти, и, благодаря этому, забираемся в потроха браузера.
Woodrush’s Blog
Building a Neural Network in Pure Lisp Without Built-In Numbers Using Only Atoms and Lists
A neural network written in pure Lisp without built-in numbers using only atoms and lists in SectorLISP, a 512-byte Lisp interpreter written by the authors of the SectorLISP project.
commit -m "better"
Так, у нас сегодня задачка по бутстрапу, решения принимаются до завтрашнего вечера, данные в первом комментарии. Дано: файл с полным логом сборки моей системы. Надо: написать регулярку длиной до 4 символов, которая отфильтрует наиболее полезные записи(да…
И первое место занимают 2 регулярки!
* '0m' - 2 символа. Позволяет выгрепать все обозначенные цветом строки. Если автор сборочного скрипта не сумасшедший пользователь https://github.com/Textualize/rich, то это хороший источник информации. Используется знание того, как устроена rst ansi escape code.
* ': ' - 2 символа. Использует знание того, что всю типизированную информацию люди часто выводят в формате key: value. Находит ошибки, предупреждения, несработавшие configure опции, и так далее
* '0m' - 2 символа. Позволяет выгрепать все обозначенные цветом строки. Если автор сборочного скрипта не сумасшедший пользователь https://github.com/Textualize/rich, то это хороший источник информации. Используется знание того, как устроена rst ansi escape code.
* ': ' - 2 символа. Использует знание того, что всю типизированную информацию люди часто выводят в формате key: value. Находит ошибки, предупреждения, несработавшие configure опции, и так далее
GitHub
GitHub - Textualize/rich: Rich is a Python library for rich text and beautiful formatting in the terminal.
Rich is a Python library for rich text and beautiful formatting in the terminal. - Textualize/rich
https://www.opennet.ru/opennews/art.shtml?num=56518 #law #yeswecan #provider
Опять наезжают на youtube-dl. Надеюсь, Европа с ее continental law, с этими говнюками справится лучше.
Отмечу, что уже хорошо то, что идут в суд, а не в github. И провайдер молодцы - не отключают по первому требованию.
Не могу удержаться от того, чтобы не запостить этот коммент с opennet:
"Надо заметить: плеер из веб-интерфейса сильнее греет камень, нежели тот же mpv, получающий видеопоток через сабж (или его форки).
Пользователей у ютуба -- почти целая планета (минус китай).
Это значит, что ютуб серьёзно увеличивает человеческий углеродный след, что сильно влияет на изменение климата и всякое другое.
Поэтому почему ещё не подключены зелёные активисты с гретой тумберг, которые ратовали бы за запрет просмотра ютуба в браузерах или андройд-приложениях и требовали бы принудительного перехода ютуба на youtube-dl?"
———
https://cp4space.hatsya.com/2022/01/14/conway-conjecture-settled/
Тема огонь. И сам факт(что существуют принципиально неизменяемые(и вечные) объекты(то есть, если они есть во время T, то они должны были быть и во время T-1), это автоматически доказывает утверждение, что существуют non-glider-constructible объекты), и то, как он доказан(SAT).
А ведь еще лет 10 - 15 назад математики утверждали, что их-то ну никогда-никогда.
Короче, не текст, а полчаса истинного удовольствия.
———
https://github.com/leandromoreira/ffmpeg-libav-tutorial
Девочка Антон продолжает исследовать мир AV в Linux.
Скажите, а зумеры уже полностью захватили мир, и теперь даже сложные темы будут вот так, в картинках?
———
https://vlang.io/ #vlang
Я тут ищу язык, который:
* быстро собирается
* работает под все unix платформы
* нормально "бутстрепается"
Для того, чтобы писать на нем сборочные утилиты, которые будут выполняться на host системе во время сборки.
Python был бы неплох, но он просто люто, бешено тормозит в последние годы. Если я на нем пишу, скажем, враппер для clang(https://github.com/pg83/mix/blob/main/pkgs/lib/c++/std/mix.sh#L47, для исправления кривых опций от автора какой-нить системы сборки), то время сборки легко увеличивается в 2 раза.
V похож на Go, но более хорошо "бутстрепается".
———
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Page-Table-Check
https://www.opennet.ru/opennews/art.shtml?num=56523
Все #хорошее в ядро идет из Google.
———
https://tass.ru/politika/13441081
Как вы уже понимаете/помните, "инфраструктурная площадка не может bla-bla-bla", но вот в этом случае даже я не хочу быть адвокатом дьявола.
Опять наезжают на youtube-dl. Надеюсь, Европа с ее continental law, с этими говнюками справится лучше.
Отмечу, что уже хорошо то, что идут в суд, а не в github. И провайдер молодцы - не отключают по первому требованию.
Не могу удержаться от того, чтобы не запостить этот коммент с opennet:
"Надо заметить: плеер из веб-интерфейса сильнее греет камень, нежели тот же mpv, получающий видеопоток через сабж (или его форки).
Пользователей у ютуба -- почти целая планета (минус китай).
Это значит, что ютуб серьёзно увеличивает человеческий углеродный след, что сильно влияет на изменение климата и всякое другое.
Поэтому почему ещё не подключены зелёные активисты с гретой тумберг, которые ратовали бы за запрет просмотра ютуба в браузерах или андройд-приложениях и требовали бы принудительного перехода ютуба на youtube-dl?"
———
https://cp4space.hatsya.com/2022/01/14/conway-conjecture-settled/
Тема огонь. И сам факт(что существуют принципиально неизменяемые(и вечные) объекты(то есть, если они есть во время T, то они должны были быть и во время T-1), это автоматически доказывает утверждение, что существуют non-glider-constructible объекты), и то, как он доказан(SAT).
А ведь еще лет 10 - 15 назад математики утверждали, что их-то ну никогда-никогда.
Короче, не текст, а полчаса истинного удовольствия.
———
https://github.com/leandromoreira/ffmpeg-libav-tutorial
Девочка Антон продолжает исследовать мир AV в Linux.
Скажите, а зумеры уже полностью захватили мир, и теперь даже сложные темы будут вот так, в картинках?
———
https://vlang.io/ #vlang
Я тут ищу язык, который:
* быстро собирается
* работает под все unix платформы
* нормально "бутстрепается"
Для того, чтобы писать на нем сборочные утилиты, которые будут выполняться на host системе во время сборки.
Python был бы неплох, но он просто люто, бешено тормозит в последние годы. Если я на нем пишу, скажем, враппер для clang(https://github.com/pg83/mix/blob/main/pkgs/lib/c++/std/mix.sh#L47, для исправления кривых опций от автора какой-нить системы сборки), то время сборки легко увеличивается в 2 раза.
V похож на Go, но более хорошо "бутстрепается".
———
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Page-Table-Check
https://www.opennet.ru/opennews/art.shtml?num=56523
Все #хорошее в ядро идет из Google.
———
https://tass.ru/politika/13441081
Как вы уже понимаете/помните, "инфраструктурная площадка не может bla-bla-bla", но вот в этом случае даже я не хочу быть адвокатом дьявола.
www.opennet.ru
Звукозаписывающие компании подали иск за предоставление хостинга проекту Youtube-dl
Звукозаписывающие компании Sony Entertainment, Warner Music Group и Universal Music подали в Германии судебный иск против провайдера Uberspace, который предоставляет хостинг для официального сайта проекта youtube-dl. В ответ на ранее отправленный внесудебный…