https://www.opennet.ru/opennews/art.shtml?num=56119
Пару лет назад меня заинтересовала wolfssl, потому что она давала хорошую степень совместимости с openssl, а openssl требует для своей сборки perl, чего мне прямо очень не хотелось. Поэтому я, на голубом глазу, написал в wolfssl, чтобы они расширили свой враппер, до того состояния, чтобы с ним можно было собрать Python. Вот, не прошло и 2 лет:
"Ports
...
Add support for Python 3.8.5"
Хорошая, годная, библиотека. Мне, правда, уже не нужно.
———
https://www.effectgames.com/demos/canvascycle/
Потрясающий pixel art, анимация зацикливанием палитры. Олдфагам должно зайти. Олдфажным гейм-девам, которые меня читают, тоже :))
———
https://www.schneier.com/blog/archives/2006/01/countering_trus.html #bootstrap
https://dwheeler.com/trusting-trust/counter-trusting-trust-presentation-20060228.pdf
Какая-то мутная статья про атаку Томпсона. Что, если у вас есть доверенный компилятор B, компилятор A, и исходники S(A), то для проверки того, что А был подвержен этой атаке, достаточно проверить, что (A == ?) C(C(A, S(A)), S(A)) == C(C(B, S(A)), S(A)). Какой-то достаточно очевидный результат, ну и, если у нас есть доверенный B, его можно просто включить в процесс bootstrap(почему-то в статье это считается "Inadequate solution", без объяснений, видимо, потому что как-то результат нужно продать).
Пару лет назад меня заинтересовала wolfssl, потому что она давала хорошую степень совместимости с openssl, а openssl требует для своей сборки perl, чего мне прямо очень не хотелось. Поэтому я, на голубом глазу, написал в wolfssl, чтобы они расширили свой враппер, до того состояния, чтобы с ним можно было собрать Python. Вот, не прошло и 2 лет:
"Ports
...
Add support for Python 3.8.5"
Хорошая, годная, библиотека. Мне, правда, уже не нужно.
———
https://www.effectgames.com/demos/canvascycle/
Потрясающий pixel art, анимация зацикливанием палитры. Олдфагам должно зайти. Олдфажным гейм-девам, которые меня читают, тоже :))
———
https://www.schneier.com/blog/archives/2006/01/countering_trus.html #bootstrap
https://dwheeler.com/trusting-trust/counter-trusting-trust-presentation-20060228.pdf
Какая-то мутная статья про атаку Томпсона. Что, если у вас есть доверенный компилятор B, компилятор A, и исходники S(A), то для проверки того, что А был подвержен этой атаке, достаточно проверить, что (A == ?) C(C(A, S(A)), S(A)) == C(C(B, S(A)), S(A)). Какой-то достаточно очевидный результат, ну и, если у нас есть доверенный B, его можно просто включить в процесс bootstrap(почему-то в статье это считается "Inadequate solution", без объяснений, видимо, потому что как-то результат нужно продать).
www.opennet.ru
Выпуск криптографической библиотеки wolfSSL 5.0.0
Доступен новый выпуск компактной криптографической библиотеки wolfSSL 5.0.0, оптимизированной для использования на встраиваемых устройствах с ограниченными ресурсами процессора и памяти, таких как устройства интернета вещей, системы умного дома, автомобильные…
>This new version of Telegram also contains an important upgrade that will allow our apps to work without interruption. Until now, Telegram used 32-bit values for the identifiers of users and channels.
Выберите любые 2:
1) Гениальность Николая Дурова
2) Амбиции Телеграма как world wide messenger
3) На момент начала разработки Телеги в мире жило > 2^32 - 1 человек
Выберите любые 2:
1) Гениальность Николая Дурова
2) Амбиции Телеграма как world wide messenger
3) На момент начала разработки Телеги в мире жило > 2^32 - 1 человек
Срочно в номер, не могу ждать до завтра!
Сборка релизного clang, M1 Pro, 10 cores:
Нет, это не ошибка - M1 тратит в 5 раз меньше CPU time на одну и ту же работу. Проверено на предыдущем M1, на серверном Intel Xeon, на каком-то десктопном 16-ядернике от Intel.
Нет, это совершенно точно не ошибка - каждый раз собираем один и тот же набор исходников, в одном и том же режиме, и одним и тем же релизным clang.
Сборка релизного clang, M1 Pro, 10 cores:
real 13m32.055sСборка релизного clang, серверный Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz, 78 cores(ну вот такой у меня контейнер):
user 113m15.043s
sys 4m30.742s
real 8m30,932sОтдельно сравниваем wall time, впечатляемся в первый раз, и отдельно сравниваем затраченное CPU, впечатляемся второй раз.
user 467m53,942s
sys 39m8,532s
Нет, это не ошибка - M1 тратит в 5 раз меньше CPU time на одну и ту же работу. Проверено на предыдущем M1, на серверном Intel Xeon, на каком-то десктопном 16-ядернике от Intel.
Нет, это совершенно точно не ошибка - каждый раз собираем один и тот же набор исходников, в одном и том же режиме, и одним и тем же релизным clang.
Будни bootstrap.
Решил, что на новый ноут не буду ставить ни Nix, ни Homebrew. Только Mix, только хардкор! Мужик сказал - мужик сделал! Но из головы совсем вылетело, что я уже пару месяцев правлю Mix только под Linux, и совершенно забил на Darwin...
Хорошо, что в базовой поставке Darwin идет vi. Оказывается, им можно не только бипать и текст портить. Вот и освоил, на старости лет.
———
https://www.anandtech.com/show/17049/via-to-offload-parts-of-x86-subsidiary-centaur-to-intel-for-125-million
-1 владелец на лицензию на x86. Как-то несколько дешево.
———
А чо я все про IT? Вот вам совершенно офигенные мультики родом из СССР! https://fuzzmusic.ru/o-samyh-strashnyh-multfilmah-sssr/
Или вот, например: https://en.wikipedia.org/wiki/Amazon_molly
"Reproduction is through gynogenesis, which is sperm-dependent parthenogenesis. This means that females must mate with a male of a closely related species, but the sperm only triggers reproduction and is not incorporated into the already diploid egg cells the mother is carrying (except in extraordinary circumstances). This results in clones of the mother being produced en masse. This characteristic has led to the Amazon molly becoming an all-female species."
Решил, что на новый ноут не буду ставить ни Nix, ни Homebrew. Только Mix, только хардкор! Мужик сказал - мужик сделал! Но из головы совсем вылетело, что я уже пару месяцев правлю Mix только под Linux, и совершенно забил на Darwin...
Хорошо, что в базовой поставке Darwin идет vi. Оказывается, им можно не только бипать и текст портить. Вот и освоил, на старости лет.
———
https://www.anandtech.com/show/17049/via-to-offload-parts-of-x86-subsidiary-centaur-to-intel-for-125-million
-1 владелец на лицензию на x86. Как-то несколько дешево.
———
А чо я все про IT? Вот вам совершенно офигенные мультики родом из СССР! https://fuzzmusic.ru/o-samyh-strashnyh-multfilmah-sssr/
Или вот, например: https://en.wikipedia.org/wiki/Amazon_molly
"Reproduction is through gynogenesis, which is sperm-dependent parthenogenesis. This means that females must mate with a male of a closely related species, but the sperm only triggers reproduction and is not incorporated into the already diploid egg cells the mother is carrying (except in extraordinary circumstances). This results in clones of the mother being produced en masse. This characteristic has led to the Amazon molly becoming an all-female species."
AnandTech
VIA To Offload Parts of x86 Subsidiary Centaur to Intel For $125 Million
As part of their third quarter earnings release, VIA Technologies has announced this morning that the company is entering into an unusual agreement with Intel to offload parts of VIA’s x86 R&D subsidiary, Centaur Technology. Under the terms of the murky deal…
https://invisible-island.net/ncurses/announce.html #terminfo
Вышла #ncurses 6.3, а, значит, самое время рассказать про Тома #Хуйкин а(Thomas E. Dickey).
Его сайт, https://invisible-island.net/, я называю "кладбище OSS софта", или "мечта бутстрапера"(зависит от настроения). Там доживают свой век такие известные вам и популярные проекты, как:
https://invisible-island.net/byacc/byacc.html - без этой реализации yacc не обходится ни одна цепочка по bootstrap flex && bison, потому что byacc не содержит в себе .y/.l файлов, все написано на православной сишечке.
https://invisible-island.net/lynx/lynx.html - широко известный в узких кругах текстовый браузер Lynx(не путать с Links!)
https://invisible-island.net/xterm/xterm.html - да, xterm тоже его работа. Кстати, каждый раз, когда вы запускаете эмулятор терминала, то вы сталкиваетесь с его наследием. https://invisible-island.net/xterm/ctlseqs/ctlseqs.pdf - это Мекка и Медина разработчиков эмуляторов терминалов, xterm control sequences, которые реализуют virtual all известные эмуляторы терминала(кроме rxvt-unicode).
https://invisible-island.net/mawk/mawk.html - одна из трех(с двумя половинами) ныне существующих реализаций языка AWK - mawk, gawk(GNU awk), nawk(new awk, one true awk, наследник AWK), и две половинки - реализации из heirloom и busybox.
byacc, mawk - необходимые компоненты для бутстрапа системы(потому что для сборки gawk требуется и yacc, и awk, такие дела).
Чувак графоман. Нет, ГРАФОМАН. Он документирует вообще ВСЕ, что он делает с кодом. Читать его эпопеи - сплошное историческое наслаждение:
https://invisible-island.net/byacc/byacc.html - отсюда я, например, узнал, что byacc и bison написал один и тот же человек.
https://invisible-island.net/ncurses/ncurses.faq.html - FAQ по ncurses, включая историю про лицензию ncurses(https://invisible-island.net/ncurses/ncurses-license.html, о 50 страницах).
https://invisible-island.net/ncurses/ncurses-netbsd.html - сравнение его поделия с реализацией из netbsd, о 50 страницах.
автореферат - https://invisible-island.net/personal/paperstuff.html
Обновление до ncurses 6.3 мне принесло боль. Товарищу явно нечего делать, а что делает программист, когда ему делать нечего? Правильно, вылизывает #ball_lick свой код. Ну, это так кажется изнутри. А со стороны - какие-то бессмысленные телодвижения ради движения. ./configure ncurses содержит штук 50 бессмысленных опций. Я тут хотел пример, но не смог выбрать из 50 - настолько они пустяшные и ненужные. Благодаря этим 50 настройкам, ncurses известны тем, что все(абсолютно, я не исключение) дистрибутивы конфигурируют их совершенно разным, и не очень совместимым, образом. Поэтому код по автодетекту ncurses - это кромешный ад.
Вот, чуваку было нечего делать, и он добавил совершенно бессмысленные:
Кому это вообще надо? С этой задачей справляется(just as planned) pkg-config, НЕ НАДО это трогать!
Ну, облизал, молодец. Попутно сломал сборку ncurses в окружении с несколькими такими директориями. Пришлось выпиливать лобзиком.
Короче, наш человек, like, респект, уважуха.
Вышла #ncurses 6.3, а, значит, самое время рассказать про Тома #Хуйкин а(Thomas E. Dickey).
Его сайт, https://invisible-island.net/, я называю "кладбище OSS софта", или "мечта бутстрапера"(зависит от настроения). Там доживают свой век такие известные вам и популярные проекты, как:
https://invisible-island.net/byacc/byacc.html - без этой реализации yacc не обходится ни одна цепочка по bootstrap flex && bison, потому что byacc не содержит в себе .y/.l файлов, все написано на православной сишечке.
https://invisible-island.net/lynx/lynx.html - широко известный в узких кругах текстовый браузер Lynx(не путать с Links!)
https://invisible-island.net/xterm/xterm.html - да, xterm тоже его работа. Кстати, каждый раз, когда вы запускаете эмулятор терминала, то вы сталкиваетесь с его наследием. https://invisible-island.net/xterm/ctlseqs/ctlseqs.pdf - это Мекка и Медина разработчиков эмуляторов терминалов, xterm control sequences, которые реализуют virtual all известные эмуляторы терминала(кроме rxvt-unicode).
https://invisible-island.net/mawk/mawk.html - одна из трех(с двумя половинами) ныне существующих реализаций языка AWK - mawk, gawk(GNU awk), nawk(new awk, one true awk, наследник AWK), и две половинки - реализации из heirloom и busybox.
byacc, mawk - необходимые компоненты для бутстрапа системы(потому что для сборки gawk требуется и yacc, и awk, такие дела).
Чувак графоман. Нет, ГРАФОМАН. Он документирует вообще ВСЕ, что он делает с кодом. Читать его эпопеи - сплошное историческое наслаждение:
https://invisible-island.net/byacc/byacc.html - отсюда я, например, узнал, что byacc и bison написал один и тот же человек.
https://invisible-island.net/ncurses/ncurses.faq.html - FAQ по ncurses, включая историю про лицензию ncurses(https://invisible-island.net/ncurses/ncurses-license.html, о 50 страницах).
https://invisible-island.net/ncurses/ncurses-netbsd.html - сравнение его поделия с реализацией из netbsd, о 50 страницах.
автореферат - https://invisible-island.net/personal/paperstuff.html
Обновление до ncurses 6.3 мне принесло боль. Товарищу явно нечего делать, а что делает программист, когда ему делать нечего? Правильно, вылизывает #ball_lick свой код. Ну, это так кажется изнутри. А со стороны - какие-то бессмысленные телодвижения ради движения. ./configure ncurses содержит штук 50 бессмысленных опций. Я тут хотел пример, но не смог выбрать из 50 - настолько они пустяшные и ненужные. Благодаря этим 50 настройкам, ncurses известны тем, что все(абсолютно, я не исключение) дистрибутивы конфигурируют их совершенно разным, и не очень совместимым, образом. Поэтому код по автодетекту ncurses - это кромешный ад.
Вот, чуваку было нечего делать, и он добавил совершенно бессмысленные:
--with-pkg-config-libdir
revised option uses the actual
search path from pkg-config or
pkgconf using the output from --debug.
Кому это вообще надо? С этой задачей справляется(just as planned) pkg-config, НЕ НАДО это трогать!
Ну, облизал, молодец. Попутно сломал сборку ncurses в окружении с несколькими такими директориями. Пришлось выпиливать лобзиком.
Короче, наш человек, like, респект, уважуха.
👍2
https://lists.llvm.org/pipermail/cfe-dev/2021-November/069246.html
Предложение по использованию более робастного парсера в clang tooling. Это очень круто.
Давайте я вам расскажу, как работает clang-format(кстати, I managed to наконец-то реализовать поддержку аркадийного style guide в clang-format!).
Он токенизирует текст, потом применяет очень простые правила, чтобы, очень приблизительно, понять, что же перед ним за токен. Семантического анализа тут нет. Типа, return это всегда keyword return. Потом он применяет серию "регулярок" поверх этих токенов(ну, ладно, там еще есть стек вложенности для ([{<, и код для форматирования блоков кода в комментариях(написано сумрачным гением!)). Все это захардкожено в 10000 строк С++.
Что-то типа:
Работает это все херово. Ну, или, наоборот, удивительно хорошо для такого убогого алгоритма. Замена
Если в clang-format появится более нормальный парсер, это будет счастье.
———
https://lists.llvm.org/pipermail/llvm-dev/2021-November/153551.html
В llvm интегрируют post-link optimizer от FB. Товарищи из FB, это "на тебе, Боже, что нам негоже", или что-то стоящее?
———
https://www.opennet.ru/opennews/art.shtml?num=56132
8 опасных уязвимостей в samba. #ksmbd
(Тут должен был быть текст про ksmbd, типа, "только сумасшедший может запускать обслуживание протокола SMB в ядре", но потом я пригляделся, что из 8 уязвимостей только одна про memory safety, поэтому теперь это про Rust)
И какой смысл в этом вашем Rust, если из 8 опасных уязвимостей в samba только 1 про memory safety, а остальные - на логику приложения?
Предложение по использованию более робастного парсера в clang tooling. Это очень круто.
Давайте я вам расскажу, как работает clang-format(кстати, I managed to наконец-то реализовать поддержку аркадийного style guide в clang-format!).
Он токенизирует текст, потом применяет очень простые правила, чтобы, очень приблизительно, понять, что же перед ним за токен. Семантического анализа тут нет. Типа, return это всегда keyword return. Потом он применяет серию "регулярок" поверх этих токенов(ну, ладно, там еще есть стек вложенности для ([{<, и код для форматирования блоков кода в комментариях(написано сумрачным гением!)). Все это захардкожено в 10000 строк С++.
Что-то типа:
if текущий токен(далее T) is class. Вот реально так, я сам написал с десяток таких. А потом ты начинаешь пробовать поддержать не просто
&& T->Next->Next is {, то после { поставить '\n'
class A {
, а class A: B {
, и так далее. Короче, это жесть. Работает это все херово. Ну, или, наоборот, удивительно хорошо для такого убогого алгоритма. Замена
A->Bна
A -> B(для разнообразных нетривиальных A, B) очень частое дело. Лямбды портит через раз.
Если в clang-format появится более нормальный парсер, это будет счастье.
———
https://lists.llvm.org/pipermail/llvm-dev/2021-November/153551.html
В llvm интегрируют post-link optimizer от FB. Товарищи из FB, это "на тебе, Боже, что нам негоже", или что-то стоящее?
———
https://www.opennet.ru/opennews/art.shtml?num=56132
8 опасных уязвимостей в samba. #ksmbd
(Тут должен был быть текст про ksmbd, типа, "только сумасшедший может запускать обслуживание протокола SMB в ядре", но потом я пригляделся, что из 8 уязвимостей только одна про memory safety, поэтому теперь это про Rust)
И какой смысл в этом вашем Rust, если из 8 опасных уязвимостей в samba только 1 про memory safety, а остальные - на логику приложения?
Наконец-то накопил материала на этот текст :) #law #provider #yeswecan
https://www.ixbt.com/news/2021/11/09/apple-android-iphone-app-store.html
Очень жду, когда щелкнут по носу App Store и Google Play. Особенно когда разрешат альтернативные способы оплаты.
И когда щелкнут Мету, https://slate.com/technology/2021/10/facebook-unfollow-everything-cease-desist.html, и когда Гугл, https://medium.com/@sixacegames/how-google-destroyed-our-startup-by-terminating-our-google-play-developer-account-6a8cca09ea88
И когда щелкнут github, за досудебное прекращение обслуживания репозитория, https://www.opennet.ru/opennews/art.shtml?num=55896
"В феврале 2021 года GitHub уже блокировал доступ к репозиторию RE3 после поступления заявления компании Take-Two Interactive о нарушении действующего в США Закона об авторском праве в цифровую эпоху (DMCA). Разработчики проекта RE3 не согласились с блокировкой и отправили встречную претензию, после рассмотрения которой GitHub прекратил блокировку."
GitHub, ты, вообще, кто такой, чтобы что-то там "рассматривать"?
https://www.youtube.com/watch?v=lt5Jk6-4R4Q
И особенно, конечно, жду, когда Tinder реализует мое право на забвение. https://onlineforlove.com/tinder-shadowban/
Я вообще ох%:ваю от того, что позволяют себе инфраструктурные, по сути, корпорации, без суда и следствия. Мы уже живем в киберпанке, корпорации творят суд и следствие по своему разумению. "Не нравится - не пользуйся" - не работает для, по сути, инфраструктурных, приложений.
current mood: https://www.youtube.com/watch?v=KkWoBs_OAso
https://www.ixbt.com/news/2021/11/09/apple-android-iphone-app-store.html
Очень жду, когда щелкнут по носу App Store и Google Play. Особенно когда разрешат альтернативные способы оплаты.
И когда щелкнут Мету, https://slate.com/technology/2021/10/facebook-unfollow-everything-cease-desist.html, и когда Гугл, https://medium.com/@sixacegames/how-google-destroyed-our-startup-by-terminating-our-google-play-developer-account-6a8cca09ea88
И когда щелкнут github, за досудебное прекращение обслуживания репозитория, https://www.opennet.ru/opennews/art.shtml?num=55896
"В феврале 2021 года GitHub уже блокировал доступ к репозиторию RE3 после поступления заявления компании Take-Two Interactive о нарушении действующего в США Закона об авторском праве в цифровую эпоху (DMCA). Разработчики проекта RE3 не согласились с блокировкой и отправили встречную претензию, после рассмотрения которой GitHub прекратил блокировку."
GitHub, ты, вообще, кто такой, чтобы что-то там "рассматривать"?
https://www.youtube.com/watch?v=lt5Jk6-4R4Q
И особенно, конечно, жду, когда Tinder реализует мое право на забвение. https://onlineforlove.com/tinder-shadowban/
Я вообще ох%:ваю от того, что позволяют себе инфраструктурные, по сути, корпорации, без суда и следствия. Мы уже живем в киберпанке, корпорации творят суд и следствие по своему разумению. "Не нравится - не пользуйся" - не работает для, по сути, инфраструктурных, приложений.
current mood: https://www.youtube.com/watch?v=KkWoBs_OAso
iXBT.com
Глава Apple предложил использовать Android вместо iPhone тем, кто хочет загружать приложения не из App Store
Глава компании Apple Тим Кук (Tim Cook) сделал сегодня заявление, особенно интересное на фоне повышенного внимания к App Store и тому, как пользователи загружают и устанавливают приложения на iPhone.
commit -m "better"
Наконец-то накопил материала на этот текст :) #law #provider #yeswecan https://www.ixbt.com/news/2021/11/09/apple-android-iphone-app-store.html Очень жду, когда щелкнут по носу App Store и Google Play. Особенно когда разрешат альтернативные способы оплаты.…
Про инфраструктуру, и почему я считаю поиск, facebook, telegram, tinder инфраструктурой. #law #provider #yeswecan
Что такое инфраструктура? Это то, что ты, по умолчанию, можешь считать, что оно у тебя есть.
Человечество проходило разные этапы в своем развитии.
Когда-то не было дорог, потом они появились, потом стали привычными, а потом стали необходимой инфраструктурой. Сейчас, когда мы делаем какой-то проект, мы или считаем, что дороги есть, либо что они будут, но вряд ли мы что-то будем делать без дорог(я знаю, в какой стране живу, спасибо за искрометный юмор).
Когда-то не было водопровода, [skip]...
Когда-то не было электричества, [skip]...
Когда-то не было интернета, [skip]...
В чем поинт? Поинт в том, что под инфраструктурой в разное время понимают разные вещи, lol, ваш Кэп.
Поиск - следующий элемент инфраструктуры после интернета. Тот массив, который интернет предоставляет, невозможно использовать без поиска.
Facebook, telegram - это общение, это инфраструктура для общения. Не очень понятно, что непонятно, что отключение от facebook - это отключение почти от всего твоего круга общения. Для следующего(которые родились при facebook, и не помнят времени до него) поколения отключение от FB, это как для нас отключение от электрической сети, просто дикость какая-то. Для них FB уже такой же привычный и само собой разумеющийся(== инфраструктурный) элемент, как и электричество.
Да, без FB можно жить. А предыдущее поколение считает, что и без интернета можно, а пред-пред - что и без электричества, в принципе, неплохо. Ну вы понели.
https://cs.pikabu.ru/post_img/big/2013/07/22/10/1374511355_949899795.png
Tinder - инфраструктура для знакомств. На улице уже не знакомятся.
Но, почему-то, от электроэнергии не отключают по письму от какого-то ху%ла, которое утверждает, что я на этой электроэнергии варю мет. Никто не грозится подать на генерирующую компанию за то, что я варю мет, используя ее ресурсы. Почему-то нужна бумажка или от суда, или от какого-то силового ведомства. Писульки от ху%ла недостаточно. И ответ "почему" - очень простой. Потому что все сейчас живущие родились при электричестве, и отключение электричества - ну это же дичь какая-то. Инфраструктура - не в проводах, а в головах :)
А вот от FB/TG/T/G/A/Etc отключают.
Думаю, это ненадолго. Это ведь тоже инфраструктура.
Что такое инфраструктура? Это то, что ты, по умолчанию, можешь считать, что оно у тебя есть.
Человечество проходило разные этапы в своем развитии.
Когда-то не было дорог, потом они появились, потом стали привычными, а потом стали необходимой инфраструктурой. Сейчас, когда мы делаем какой-то проект, мы или считаем, что дороги есть, либо что они будут, но вряд ли мы что-то будем делать без дорог(я знаю, в какой стране живу, спасибо за искрометный юмор).
Когда-то не было водопровода, [skip]...
Когда-то не было электричества, [skip]...
Когда-то не было интернета, [skip]...
В чем поинт? Поинт в том, что под инфраструктурой в разное время понимают разные вещи, lol, ваш Кэп.
Поиск - следующий элемент инфраструктуры после интернета. Тот массив, который интернет предоставляет, невозможно использовать без поиска.
Facebook, telegram - это общение, это инфраструктура для общения. Не очень понятно, что непонятно, что отключение от facebook - это отключение почти от всего твоего круга общения. Для следующего(которые родились при facebook, и не помнят времени до него) поколения отключение от FB, это как для нас отключение от электрической сети, просто дикость какая-то. Для них FB уже такой же привычный и само собой разумеющийся(== инфраструктурный) элемент, как и электричество.
Да, без FB можно жить. А предыдущее поколение считает, что и без интернета можно, а пред-пред - что и без электричества, в принципе, неплохо. Ну вы понели.
https://cs.pikabu.ru/post_img/big/2013/07/22/10/1374511355_949899795.png
Tinder - инфраструктура для знакомств. На улице уже не знакомятся.
Но, почему-то, от электроэнергии не отключают по письму от какого-то ху%ла, которое утверждает, что я на этой электроэнергии варю мет. Никто не грозится подать на генерирующую компанию за то, что я варю мет, используя ее ресурсы. Почему-то нужна бумажка или от суда, или от какого-то силового ведомства. Писульки от ху%ла недостаточно. И ответ "почему" - очень простой. Потому что все сейчас живущие родились при электричестве, и отключение электричества - ну это же дичь какая-то. Инфраструктура - не в проводах, а в головах :)
А вот от FB/TG/T/G/A/Etc отключают.
Думаю, это ненадолго. Это ведь тоже инфраструктура.
🔥2
Python Weekly
https://calpaterson.com/bank-python.html - например, про экосистему Питона в каком-то крупном банке(если не врут). Тепло, лампово, монорепозиторно.
https://github.com/ranger/ranger - трехпанельный навигатор на Python. К своему стыду, узнал о нем всего пару недель назад. В 5 раз больше звезд на гитхабе, чем у MC. Это переворачивает мое представление о вселенной.
https://www.trypyjion.com/ - за здравие:
"Profile Guided JIT Compiler
Native 64-bit float and integer support
Small, fast compiler
Windows, macOS and Linux
Intel and ARM CPU support
Builtin IL and ASM disassembler
Support for native debugging and profiling tools"
И сразу за упокой:
"Pyjion requires:
CPython 3.10
.NET 6"
https://tenthousandmeters.com/blog/python-behind-the-scenes-13-the-gil-and-its-effects-on-python-multithreading/
Годная статья про GIL в Python. Мне лично было интересно, как себя ведет питонячка со смешанной нагрузкой(io + CPU), никогда об этом раньше не задумывался. #gil
Ну и мое микроисследование про сборку python 3.10.
3.10 у меня собирается вот с такой ошибкой ./configure:
cat ./configure выглядит вот так:
А вот описание ошибки на SO: https://stackoverflow.com/questions/17089858/pkg-config-pkg-prog-pkg-config-command-not-found
"When that script calls autogen.sh, aclocal is failing to find pkg.m4, an M4 macro package that comes with pkg-config and provides the PKG_PROG_PKG_CONFIG macro. Where is pkg-config installed, and what directories is aclocal searching?"
#autohell
Что это значит? Это значит, что релиз инженер этой версии питона халатно подошел к своему делу, и не проверил результат. Это приводит к тому, что pkg-config не всегда используется для поиска пакетов в системе, иногда работают fallback на более старые механизмы. В целом, не очень серьезная проблема, просто иногда не работает autodetect чего-то в системе.
https://calpaterson.com/bank-python.html - например, про экосистему Питона в каком-то крупном банке(если не врут). Тепло, лампово, монорепозиторно.
https://github.com/ranger/ranger - трехпанельный навигатор на Python. К своему стыду, узнал о нем всего пару недель назад. В 5 раз больше звезд на гитхабе, чем у MC. Это переворачивает мое представление о вселенной.
https://www.trypyjion.com/ - за здравие:
"Profile Guided JIT Compiler
Native 64-bit float and integer support
Small, fast compiler
Windows, macOS and Linux
Intel and ARM CPU support
Builtin IL and ASM disassembler
Support for native debugging and profiling tools"
И сразу за упокой:
"Pyjion requires:
CPython 3.10
.NET 6"
https://tenthousandmeters.com/blog/python-behind-the-scenes-13-the-gil-and-its-effects-on-python-multithreading/
Годная статья про GIL в Python. Мне лично было интересно, как себя ведет питонячка со смешанной нагрузкой(io + CPU), никогда об этом раньше не задумывался. #gil
Ну и мое микроисследование про сборку python 3.10.
3.10 у меня собирается вот с такой ошибкой ./configure:
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
./configure: 10530: PKG_PROG_PKG_CONFIG: not found
cat ./configure выглядит вот так:
10525 { $as_echo "$as_me:
${as_lineno-$LINENO}: result: no" >&5
10526 $as_echo "no" >&6; }
10527 fi
10528
10529
10530 PKG_PROG_PKG_CONFIG
10531
10532 # Check for use of the system expat library
А вот описание ошибки на SO: https://stackoverflow.com/questions/17089858/pkg-config-pkg-prog-pkg-config-command-not-found
"When that script calls autogen.sh, aclocal is failing to find pkg.m4, an M4 macro package that comes with pkg-config and provides the PKG_PROG_PKG_CONFIG macro. Where is pkg-config installed, and what directories is aclocal searching?"
#autohell
Что это значит? Это значит, что релиз инженер этой версии питона халатно подошел к своему делу, и не проверил результат. Это приводит к тому, что pkg-config не всегда используется для поиска пакетов в системе, иногда работают fallback на более старые механизмы. В целом, не очень серьезная проблема, просто иногда не работает autodetect чего-то в системе.
calpaterson.com
An oral history of Bank Python
The strange world of Python, as used by big investment banks
https://bugs.chromium.org/p/chromium/issues/detail?id=1103236
https://github.com/Eloston/ungoogled-chromium
Начал собирать Chrome, а, конкретно, Ungoogled. Я бы с удовольствием использовал его "в обычной жизни", но там какая-то очень странная политика по отношению к бинарным сборкам - все, что выложено на github, от third party, которых я не знаю, и бинари от них в систему ставить не хочу.
"Please believe me. The Arm version of Mac Chrome is not equivalent, proven to me every time I try to do development on my test Arm machine."
Вот, пишут, что ПОД M1 ДЛЯ M1 пока собирается не тот же самый бинарь. Неудивительно, учитывая, какойговна самовар набор бинарных блобов лежит в depot_tools.
———
https://www.opennet.ru/opennews/art.shtml?num=56149
Дофига свежих уязвимостей у AMD, и немношк у Intel
———
https://github.blog/2021-11-10-make-your-monorepo-feel-small-with-gits-sparse-index/
"The Git test suite is substantial and has excellent coverage of most index operations. However, almost all of those tests do not use sparse-checkout, so we couldn’t immediately gain value in checking the sparse index by enabling it globally."
Гит для монорепы. Видимо, очень популярное решение, даже тестов на него в поставке не было. Статья выглядит разумно, наверное, оно даже работает.
Как многим известно, в Y есть свое git-подобное(с точки зрения cli) решение, называется arc. Работает поверх надежного распределенного key-value storage, на клиенте использует fuse. Позволяет начать работать с нашей монорепой за секунды, очень крутая вещь. Насколько я понимаю, похожее есть в G, насчет остальных MANGA не в курсе.
———
https://security.googleblog.com/2021/11/clusterfuzzlite-continuous-fuzzing-for.html
И еще про git. Google сделали общедоступный continuous fuzzing actions для github. Это очень хорошая новость для индустрии, fuzzing находит огромное число ошибок в коде. Хотя мои читатели из Y/MANGA и так это прекрасно знают :D
https://www.openwall.com/lists/oss-security/2018/06/17/1 - например, история про фаззинг OSS key-value db.
https://github.com/Eloston/ungoogled-chromium
Начал собирать Chrome, а, конкретно, Ungoogled. Я бы с удовольствием использовал его "в обычной жизни", но там какая-то очень странная политика по отношению к бинарным сборкам - все, что выложено на github, от third party, которых я не знаю, и бинари от них в систему ставить не хочу.
"Please believe me. The Arm version of Mac Chrome is not equivalent, proven to me every time I try to do development on my test Arm machine."
Вот, пишут, что ПОД M1 ДЛЯ M1 пока собирается не тот же самый бинарь. Неудивительно, учитывая, какой
———
https://www.opennet.ru/opennews/art.shtml?num=56149
Дофига свежих уязвимостей у AMD, и немношк у Intel
———
https://github.blog/2021-11-10-make-your-monorepo-feel-small-with-gits-sparse-index/
"The Git test suite is substantial and has excellent coverage of most index operations. However, almost all of those tests do not use sparse-checkout, so we couldn’t immediately gain value in checking the sparse index by enabling it globally."
Гит для монорепы. Видимо, очень популярное решение, даже тестов на него в поставке не было. Статья выглядит разумно, наверное, оно даже работает.
Как многим известно, в Y есть свое git-подобное(с точки зрения cli) решение, называется arc. Работает поверх надежного распределенного key-value storage, на клиенте использует fuse. Позволяет начать работать с нашей монорепой за секунды, очень крутая вещь. Насколько я понимаю, похожее есть в G, насчет остальных MANGA не в курсе.
———
https://security.googleblog.com/2021/11/clusterfuzzlite-continuous-fuzzing-for.html
И еще про git. Google сделали общедоступный continuous fuzzing actions для github. Это очень хорошая новость для индустрии, fuzzing находит огромное число ошибок в коде. Хотя мои читатели из Y/MANGA и так это прекрасно знают :D
https://www.openwall.com/lists/oss-security/2018/06/17/1 - например, история про фаззинг OSS key-value db.
GitHub
GitHub - ungoogled-software/ungoogled-chromium: Google Chromium, sans integration with Google
Google Chromium, sans integration with Google. Contribute to ungoogled-software/ungoogled-chromium development by creating an account on GitHub.
https://habr.com/ru/news/t/588554/
"В настоящее время первый суперкомпьютер «Сбера» Christofari находится на 61 месте в рейтинге топ-500 самых высокопроизводительных систем мир. Также эта высокопроизводительная система является самой мощной среди суперкомпьютеров СНГ."
Очень позитивная новость, надо поздравить коллег!
"В настоящее время первый суперкомпьютер «Сбера» Christofari находится на 61 месте в рейтинге топ-500 самых высокопроизводительных систем мир. Также эта высокопроизводительная система является самой мощной среди суперкомпьютеров СНГ."
Очень позитивная новость, надо поздравить коллег!
Хабр
«Сбер» представил свой второй суперкомпьютер — Christofari Neo
11 ноября 2021 года «Сбер» представил свой второй суперкомпьютер — Christofari Neo . Его эффективная производительность в двойной точности составляет почти 12 петафлопс (11.95 PFLOPs). Вторая модель...
Я тут, давеча, рассказывал, какие препятствия ждут на пути авторов https://chimera-linux.org/. Вот, решил показать это на примере sbase(конкретно - если заменить coreutils на sbase во время сборки).
#chimera
unrar:
gmp:
gzip:
gettext:
Дальше мне надоело патчить сборку.
#chimera
unrar:
c++ -o unrar -pthread rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o rarvm.o secpassword.o rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o extract.o volume.o list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o filestr.o recvol.o rs.o scantree.o qopen.o
strip unrar
install stage
usage: install [-g group] [-o owner] [-m mode] (-d dir ... | [-D] (-t dest source ... | source ... dest))
gmp:
checking format of `double' floating point... unknown
configure: WARNING: Could not determine float format.
configure: WARNING: Conversions to and from "double" may be slow.
gzip:
Making install in doc
make[2]: Entering directory '/Users/pg/mix/build/08973c97f7430f8be5c57d10b538d2aa/bld/gzip-1.10/doc'
MAKEINFO gzip.info
/Users/pg/mix/build/08973c97f7430f8be5c57d10b538d2aa/bld/gzip-1.10/build-aux/missing: 81: makeinfo: not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:
<https://www.gnu.org/software/texinfo/>
The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:
<https://www.gnu.org/software/make/>
make[2]: *** [Makefile:1440: gzip.info] Error 127
gettext:
ld64.lld.darwinnew: error: duplicate symbol: _unblock_fatal_signals
>>> defined in /Users/pg/mix/build/55757518ef024e38a7b67124168d66d5/bld/gettext-0.21/gettext-tools/gnulib-lib/.libs/libgettextlib.a(fatal-signal.o)
>>> defined in /Users/pg/mix/store/3e41f694c6bdee4f5ab4effd5406b711-lib-textstyle/lib/libtextstyle.a(fatal-signal.o)
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:3192: msgunfmt] Error 1
Дальше мне надоело патчить сборку.
commit -m "better"
https://habr.com/ru/news/t/588554/ "В настоящее время первый суперкомпьютер «Сбера» Christofari находится на 61 месте в рейтинге топ-500 самых высокопроизводительных систем мир. Также эта высокопроизводительная система является самой мощной среди суперкомпьютеров…
https://yandex.ru/company/press_releases/2021/superkompyuter-yandeksa-priznali-samym-moschnym-v-rossii
Первое место в СНГ - это та еще специальная олимпиада, а вот то, что у Я в 3 раза больше установленных мощностей для обучения, чем у ближайшего конкурента - это круто.
Первое место в СНГ - это та еще специальная олимпиада, а вот то, что у Я в 3 раза больше установленных мощностей для обучения, чем у ближайшего конкурента - это круто.
Компания Яндекс
Суперкомпьютер Яндекса признали самым мощным в России
В рейтинг Top500 вошли сразу три компьютера Яндекса. Они заняли первое, второе и третье места среди российских систем. В мировом топе самый производительный суперкомпьютер Яндекса «Червоненкис» оказался в первой двадцатке.
https://www.opennet.ru/opennews/art.shtml?num=56152
Вышла новая версия #Nuitka. Мне она пока больше кажется хайпом - решает ту же задачу, что и cython, делает это пока хуже, и местами очень странно(чего стоит тот факт, что ее выхлоп - не просто .c файл, а какая-та хрень, требующая SCons для сборки).
———
LLVM Weekly:
https://reviews.llvm.org/D112816 - "rename option -name-whitelist to -name-allowlist Needs ReviewPublic", да скока можно-то.
https://simonbyrne.github.io/notes/fastmath/ - "friends don't let friends use fast-math"
———
https://www.opennet.ru/opennews/art.shtml?num=56167 #npm
"Компания GitHub раскрыла информацию о двух инцидентах в инфраструктуре репозитория пакетов NPM. 2 ноября сторонние исследователи безопасности (Kajetan Grzybowski и Maciej Piechota) в рамках программы Bug Bounty сообщили о наличии в репозитории NPM уязвимости, позволяющей опубликовать новую версию любого пакета, используя для этого свою учётную запись, не авторизированную для выполнения подобных обновлений."
Я вот все собираюсь написать, почему PyPI(и NPM заодно) - это зло с точки зрения безопасности и воспроизводимости сборки. Если совсем коротко - потому что это лишний шаг на этапе между source control tool и конечным tgz с артефактом, на котором злоумышленник может непрозрачно поменять код. По той же причине я не советую использовать ссылки на релизы в github(их готовят люди), а использовать ссылки на теги(их готовит сам github):
https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz vs https://github.com/PhilipHazel/pcre2/archive/refs/tags/pcre2-10.39.tar.gz (сравните эти 2 файла, они разные)
Вышла новая версия #Nuitka. Мне она пока больше кажется хайпом - решает ту же задачу, что и cython, делает это пока хуже, и местами очень странно(чего стоит тот факт, что ее выхлоп - не просто .c файл, а какая-та хрень, требующая SCons для сборки).
———
LLVM Weekly:
https://reviews.llvm.org/D112816 - "rename option -name-whitelist to -name-allowlist Needs ReviewPublic", да скока можно-то.
https://simonbyrne.github.io/notes/fastmath/ - "friends don't let friends use fast-math"
———
https://www.opennet.ru/opennews/art.shtml?num=56167 #npm
"Компания GitHub раскрыла информацию о двух инцидентах в инфраструктуре репозитория пакетов NPM. 2 ноября сторонние исследователи безопасности (Kajetan Grzybowski и Maciej Piechota) в рамках программы Bug Bounty сообщили о наличии в репозитории NPM уязвимости, позволяющей опубликовать новую версию любого пакета, используя для этого свою учётную запись, не авторизированную для выполнения подобных обновлений."
Я вот все собираюсь написать, почему PyPI(и NPM заодно) - это зло с точки зрения безопасности и воспроизводимости сборки. Если совсем коротко - потому что это лишний шаг на этапе между source control tool и конечным tgz с артефактом, на котором злоумышленник может непрозрачно поменять код. По той же причине я не советую использовать ссылки на релизы в github(их готовят люди), а использовать ссылки на теги(их готовит сам github):
https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz vs https://github.com/PhilipHazel/pcre2/archive/refs/tags/pcre2-10.39.tar.gz (сравните эти 2 файла, они разные)
www.opennet.ru
Выпуск Nuitka 0.6.17, компилятора для языка Python
Доступен выпуск проекта Nuitka 0.6.17, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C++, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с…
👍1
Я тут задумался, что же я получу, добавив поддержку Rust в Mix. Читал awesome rust, понял, что получу три полезные command line тулзы, и Alacritty. Негусто. Возможно, я поторопился с выводами, что Rust скоро заменит С++ :) Пока на Rust пилят, в основном, http server, и все для этого необходимое(async io, ssl, etc).
В связи с этим мне вспомнился текст(не могу его найти, если есть в загашнике - киньте ссылкой), в котором рассказывалось про то, почему разработчики любят новые языки программирования(скажем, Rust и Go), и не любят старые. Long story short:
1) В новых языках не написан http server*. Можно легко прославиться, написав его, и получив 10000 звезд на github.
2) На старых языках весь нужный код уже написан, простых задач не осталось, остались только сложные.
Короче, это все про низковисящие фрукты, и про любовь человекоподобных обезьянок к ним, ага.
* - http server можно заменить на что угодно, типа, "json parser", "grpc client/server", whatever.
———
https://www.opennet.ru/opennews/art.shtml?num=56169
"Напомним, что атаки класса RowHammer позволяют исказить содержимое отдельных битов памяти путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных."
https://www.realworldtech.com/forum/?threadid=198497&curpostid=198647 - а вот мысли Линуса, про ECC память. Коротко - во всем виновата Intel, с ее дурацкой политикой "ECC для серверов". А чо, как-то же надо продавать те же самые процы в 10 раз дороже.
Если бы не жадность Intel, такой класс атак был бы невозможен.
———
https://blog.unity.com/technology/debugging-memory-corruption-who-the-hell-writes-2-into-my-stack-2
Совершенно потрясный текст про одну историю отладки. Вот перепишут все на Rust - где такое читать-то???
В связи с этим мне вспомнился текст(не могу его найти, если есть в загашнике - киньте ссылкой), в котором рассказывалось про то, почему разработчики любят новые языки программирования(скажем, Rust и Go), и не любят старые. Long story short:
1) В новых языках не написан http server*. Можно легко прославиться, написав его, и получив 10000 звезд на github.
2) На старых языках весь нужный код уже написан, простых задач не осталось, остались только сложные.
Короче, это все про низковисящие фрукты, и про любовь человекоподобных обезьянок к ним, ага.
* - http server можно заменить на что угодно, типа, "json parser", "grpc client/server", whatever.
———
https://www.opennet.ru/opennews/art.shtml?num=56169
"Напомним, что атаки класса RowHammer позволяют исказить содержимое отдельных битов памяти путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных."
https://www.realworldtech.com/forum/?threadid=198497&curpostid=198647 - а вот мысли Линуса, про ECC память. Коротко - во всем виновата Intel, с ее дурацкой политикой "ECC для серверов". А чо, как-то же надо продавать те же самые процы в 10 раз дороже.
Если бы не жадность Intel, такой класс атак был бы невозможен.
———
https://blog.unity.com/technology/debugging-memory-corruption-who-the-hell-writes-2-into-my-stack-2
Совершенно потрясный текст про одну историю отладки. Вот перепишут все на Rust - где такое читать-то???
www.opennet.ru
Blacksmith - новая атака на память DRAM и чипы DDR4
Группа исследователей из Швейцарской высшей технической школы Цюриха, Амстердамского свободного университета и компании Qualcomm опубликовали новый метод атаки класса RowHammer, позволяющий изменить содержимое отдельных битов динамической оперативной памяти…
😁1
commit -m "better"
https://yandex.ru/company/press_releases/2021/superkompyuter-yandeksa-priznali-samym-moschnym-v-rossii Первое место в СНГ - это та еще специальная олимпиада, а вот то, что у Я в 3 раза больше установленных мощностей для обучения, чем у ближайшего конкурента…
https://www.opennet.ru/opennews/art.shtml?num=56164
"В качестве процессорной основы лидируют CPU Intel - 81.6% (два года назад было 94%), на втором месте AMD 14.6% (0.6% !!), на третьем IBM Power - 1.4% (было 2.8%). Отмечается активный прирост кластреов на базе процессоров AMD, например, все новые системы, вошедшие в Top15, оснащены CPU AMD."
Прямо тектонический сдвиг. Очень рад за AMD, и за индустрию.
"В качестве процессорной основы лидируют CPU Intel - 81.6% (два года назад было 94%), на втором месте AMD 14.6% (0.6% !!), на третьем IBM Power - 1.4% (было 2.8%). Отмечается активный прирост кластреов на базе процессоров AMD, например, все новые системы, вошедшие в Top15, оснащены CPU AMD."
Прямо тектонический сдвиг. Очень рад за AMD, и за индустрию.
www.opennet.ru
Опубликована 58 редакция рейтинга самых высокопроизводительных суперкомпьютеров
Опубликован 58-й выпуск рейтинга 500 самых высокопроизводительных компьютеров мира. В новом выпуске десятка лидеров не изменилась, но в рейтинг включено 4 новых российских кластера.
https://vc.ru/legal/320288-google-proigrala-appelyaciyu-po-dvum-iskam-cargrada-o-vosstanovlenii-dostupa-k-ego-youtube-kanalu
Безотносительно того, что из себя представляет этот канал(давайте на эту тему не троллить, не интересно), очень позитивная новость. Не устану повторять, что провайдер услуг не может быть модератором этих услуг. #law #provider #yeswecan
«Я не разделяю ваших убеждений, но готов умереть за ваше право их высказывать»
https://www.rbc.ru/technology_and_media/06/08/2021/610ca2fc9a79477988e66372 - надеюсь, что и до этой хрени общество когда-нибудь доберется.
———
https://octoverse.github.com/#improving-how-we-work
full remote уже тут.
https://devonzuegel.com/post/remote-work-will-break-the-us-monopoly-on-talent - а мне вот кажется, что наоборот. Теперь те, кто предпочитает сидеть на попе ровно, продолжат сидеть на попе, но работать будут на MANGA.
———
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-zheng_mai.pdf
2 старые(поэтому без нормального фаззинга, например), но все еще интересные статьи, про влияние особенностей FS и hard reset на базы данных.
Безотносительно того, что из себя представляет этот канал(давайте на эту тему не троллить, не интересно), очень позитивная новость. Не устану повторять, что провайдер услуг не может быть модератором этих услуг. #law #provider #yeswecan
«Я не разделяю ваших убеждений, но готов умереть за ваше право их высказывать»
https://www.rbc.ru/technology_and_media/06/08/2021/610ca2fc9a79477988e66372 - надеюсь, что и до этой хрени общество когда-нибудь доберется.
———
https://octoverse.github.com/#improving-how-we-work
full remote уже тут.
https://devonzuegel.com/post/remote-work-will-break-the-us-monopoly-on-talent - а мне вот кажется, что наоборот. Теперь те, кто предпочитает сидеть на попе ровно, продолжат сидеть на попе, но работать будут на MANGA.
———
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-zheng_mai.pdf
2 старые(поэтому без нормального фаззинга, например), но все еще интересные статьи, про влияние особенностей FS и hard reset на базы данных.
vc.ru
Google проиграла аппеляцию по двум искам «Царьграда» о восстановлении доступа к его YouTube-каналу — Право на vc.ru
Если компания не выполнит решение суда, ей может грозить уголовное дело и дополнительные штрафы.
commit -m "better"
Перечитал текст, и задумался - а имеет ли вообще модуль readline в Python право на существование? Очевидно, сам модуль должен быть под GPL3, раз он линкуется с libreadline. При этом, интерпретатор питона загружает его в runtime. Какой, в итоге, должна быть…
Вот, пожалуйста, ответ FSF:
"According to our license list, Python 2.0.1, 2.1.1 and newer versions
are released under a GPL-compatible license,
https://www.gnu.org/licenses/license-list.html#Python
It means that its code may be legally combined with code released
under the GNU GPL in one larger program,
https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
Now, if you ask about a program written in Python and using readline,
then it may be effectively linked to libreadline.so, in which case
the result qualifies as a combined work with libreadline.so, so it
can't be distributed unless under GPL-compatible terms,
https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL"
Напишу-ка я в python.org, что лучше, от греха подальше, поменять умолчание - а то как же использовать интерпретатор питона в проприетарных приложениях безопасно? Простой REPL же может импортировать readline.
"According to our license list, Python 2.0.1, 2.1.1 and newer versions
are released under a GPL-compatible license,
https://www.gnu.org/licenses/license-list.html#Python
It means that its code may be legally combined with code released
under the GNU GPL in one larger program,
https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
Now, if you ask about a program written in Python and using readline,
then it may be effectively linked to libreadline.so, in which case
the result qualifies as a combined work with libreadline.so, so it
can't be distributed unless under GPL-compatible terms,
https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL"
Напишу-ка я в python.org, что лучше, от греха подальше, поменять умолчание - а то как же использовать интерпретатор питона в проприетарных приложениях безопасно? Простой REPL же может импортировать readline.
Я тут хотел накатать большой текст, но решил, что много чести.
https://github.com/rust-lang/rust/issues/40174
"For those following various links to this issue, it is important to note that you can compile code using proc_macro to statically-linked musl binaries, BUT you need to cross-compile from a platform that does support dynamic linking."
Rustc и cargo пишут сумасшедшие и наркоманы. Для того, чтобы собирать статически слинкованные бинари в Rust, нужно делать кросс-компиляцию с динамически слинкованного rustc, потому что это требует подгрузки .so в rustc.
Rustc и cargo могут выполнять произвольный rust код в процессе сборки. Товарищи растоманы, удачи вам в интеграциях в большие монорепы с герметичной сборкой, она вам понадобится!
Long live Alacritty, hello Kitty!
———
https://lemire.me/blog/2021/11/18/converting-integers-to-fix-digit-representations-quickly/
Обзор оптимизаций int2string, от Daniel "наше всё" #Lemire. Удивлен, что он топит за табличную реализацию. Уверен, что он знает, что табличные реализации хорошо выглядят в микробенчмарках, когда таблицы в L1 cache, но хуже себя ведут в обычной жизни.
———
Мало кто знает, но в macOS решена проблема dll hell, в отличие от того же Linux. Решена она с помощью фичи Mach-O, под названием two level namespace - https://en.wikipedia.org/wiki/Mach-O Благодаря этой фиче, в конечный артефакт может быть влинковано произвольное число .so/.dylib, с произвольным пересечением по символам,
"When looking up symbols Mach-O uses a two-level namespace that encodes each symbol into an 'object/symbol name' pair that is then linearly searched for, first by the object and then the symbol name."
https://github.com/rust-lang/rust/issues/40174
"For those following various links to this issue, it is important to note that you can compile code using proc_macro to statically-linked musl binaries, BUT you need to cross-compile from a platform that does support dynamic linking."
Rustc и cargo пишут сумасшедшие и наркоманы. Для того, чтобы собирать статически слинкованные бинари в Rust, нужно делать кросс-компиляцию с динамически слинкованного rustc, потому что это требует подгрузки .so в rustc.
Rustc и cargo могут выполнять произвольный rust код в процессе сборки. Товарищи растоманы, удачи вам в интеграциях в большие монорепы с герметичной сборкой, она вам понадобится!
Long live Alacritty, hello Kitty!
———
https://lemire.me/blog/2021/11/18/converting-integers-to-fix-digit-representations-quickly/
Обзор оптимизаций int2string, от Daniel "наше всё" #Lemire. Удивлен, что он топит за табличную реализацию. Уверен, что он знает, что табличные реализации хорошо выглядят в микробенчмарках, когда таблицы в L1 cache, но хуже себя ведут в обычной жизни.
———
Мало кто знает, но в macOS решена проблема dll hell, в отличие от того же Linux. Решена она с помощью фичи Mach-O, под названием two level namespace - https://en.wikipedia.org/wiki/Mach-O Благодаря этой фиче, в конечный артефакт может быть влинковано произвольное число .so/.dylib, с произвольным пересечением по символам,
"When looking up symbols Mach-O uses a two-level namespace that encodes each symbol into an 'object/symbol name' pair that is then linearly searched for, first by the object and then the symbol name."
GitHub
Unable to find crate `proc_macro` on musl target · Issue #40174 · rust-lang/rust
Using procedural derive macros on musl seems to work just fine for the most of the cases, but there is one pitfall; in some cases like this dtolnay/proc-macro-hack#6 build fails because not only th...
Будни бутстрапа.
https://habr.com/ru/post/473228/ - сборка perl из нулевой ревизии. Спойлер - все хорошо, даже работает. Исторический прон(а, так же, пример "хорошего" Хабра).
https://github.com/heliocastro - qt/kde 1/2. Красивый, чистый код, а не то bloatware, во что все это превратилось позже.
https://github.com/adrian-thurston/ragel - бутстрапнуть рагель оказалось еще сложнее, чем bison, старые версии недоступны(разве что в Аркадии посмотреть), да и в них лежат сгенеренные фалы.
———
https://icu.unicode.org/
"Do you need ICU to work on EBCDIC platforms?
We need help: Someone needs to build ICU4C on a native-EBCDIC machine (z or i), fix C++ compiler issues (if any), fix issues related to an EBCDIC codepage as the system encoding, and test frequently (or add their machine into our CI). Please contact us via the icu-support mailing list. Otherwise we will remove the support code for non-ASCII-family platforms. Details: ICU-21672"
Разработчики ICU(поделие IBM, на минуточку) жалуются, что им негде проверить EBCDIC платформу. Это теперь сапожник без сапог?
———
https://www.opennet.ru/opennews/art.shtml?num=56190
Новость уже привычная, на этот раз зловредный код выложили в PyPI. Разве что, название одного из зловредов:
"yandex-yt (4183) - выводил сообщение о компрометации системы и перенаправлял на страницу с дополнительной информацией о дальнейших действиях, выдаваемой через nda.ya.ru (api.ya.cc)."
Это что, атака на нашу инфру?
checking for sbrk... yesБольше всего на свете я люблю confgiure скрипты, написанные для неизвестной версии sh. Интересно, что этот скрипт узнал про мою систему?
checking for working sbrk...
./configure: 18613: test: =: unexpected operator
checking for the existence of strsignal... yes
checking whether strstr works in linear time... no- а это пример "воспроизводимости" autoconf сборки. Что эта проверка вообще делает, я ХЗ, strstr должен или за M + N, или за M * N, что из них более linear, я не берусь гадать. Второй вариант точно линеен по каждому аргументу.
https://habr.com/ru/post/473228/ - сборка perl из нулевой ревизии. Спойлер - все хорошо, даже работает. Исторический прон(а, так же, пример "хорошего" Хабра).
https://github.com/heliocastro - qt/kde 1/2. Красивый, чистый код, а не то bloatware, во что все это превратилось позже.
https://github.com/adrian-thurston/ragel - бутстрапнуть рагель оказалось еще сложнее, чем bison, старые версии недоступны(разве что в Аркадии посмотреть), да и в них лежат сгенеренные фалы.
———
https://icu.unicode.org/
"Do you need ICU to work on EBCDIC platforms?
We need help: Someone needs to build ICU4C on a native-EBCDIC machine (z or i), fix C++ compiler issues (if any), fix issues related to an EBCDIC codepage as the system encoding, and test frequently (or add their machine into our CI). Please contact us via the icu-support mailing list. Otherwise we will remove the support code for non-ASCII-family platforms. Details: ICU-21672"
Разработчики ICU(поделие IBM, на минуточку) жалуются, что им негде проверить EBCDIC платформу. Это теперь сапожник без сапог?
———
https://www.opennet.ru/opennews/art.shtml?num=56190
Новость уже привычная, на этот раз зловредный код выложили в PyPI. Разве что, название одного из зловредов:
"yandex-yt (4183) - выводил сообщение о компрометации системы и перенаправлял на страницу с дополнительной информацией о дальнейших действиях, выдаваемой через nda.ya.ru (api.ya.cc)."
Это что, атака на нашу инфру?
Хабр
Собираем Perl прямиком из 1987 года
Прочитав новость "Код интерпретатора Perl официально перенесён на GitHub" на ресурсе LINUX.ORG.RU я решил взглянуть на репозиторий Perl 5, который теперь уже нах...