commit -m "better"
3.21K subscribers
1.02K photos
148 videos
3 files
2.37K links
just random thoughts
Download Telegram
1) https://sfconservancy.org/news/2021/oct/28/2021-DMCA-final-exemptions-win/

"Software Freedom Conservancy is proud to announce that its efforts to stand up for the rights of FOSS developers have been successful".

Win?

https://www.opennet.ru/opennews/art.shtml?num=56066

"Из нерешённых проблем также отмечается отсутствие исключений для распространения инструментов, используемых для ремонта - поставка утилит, обходящих блокировки производителей, по-прежнему считается нелегальной. Отмечается, что комиссия не имеет полномочий принять исключение по этому вопросу, так как он требует реформирования законодательства. Таким образом складывается ситуация, что пользователь получил право самостоятельно изменить прошивку и обойти привязку к периферийным устройствам на своём Xbox, но распространение кода для осуществления таких действий является незаконным."

Win такой win.

2) "Выпущен давно ожидаемый отраслью 48-ядерный процессор «Байкал». Цена - 3000$" https://www.cnews.ru/news/top/2021-10-26_svet_uvidel_davno_ozhidaemyj

Интересно, какой отраслью он ожидаем?

3) https://signal.org/bigbrother/cd-california-grand-jury/

* Зачем при регистрации ему номер телефона, раз все так хорошо?
* Кто-нить пользуется? Расскажите?

4) Оказывается, в прошлом году взломали SHA1 - https://sha-mbles.github.io/. "Взломали" == "chosen-prefix collision", иначе не интересно. С таким типом коллизий можно чего-нить дописать в скачиваемый tar.gz, например.
1) https://justine.lol/sectorlisp/ #bootstrap

Могла бы быть очень хорошая статья, но, к сожалению, авторы нам только показывают красивое(интерпретатор лисп за 500 байт), но почти не рассказывают, как и почему. Такой Lisp можно было бы использовать для OS bootstrap from ground truth, но уже есть mes.

2) https://drewdevault.com/2021/02/02/Anti-Wayland-horseshit.html

"What do anti-vaxxers, flat earthers, 9/11 truthers, and anti-Wayland activism all have in common? All of them are characterized by a blithe rejection of facts to embrace a narrative of victimization by a vague authority."

Огненная переписка про Wayland на suckless.org: https://lists.suckless.org/dev/2108/34457.html (https://lists.suckless.org/dev/2108/index.html) Хорошее резюме проблем современного Wayland - https://lists.suckless.org/dev/2109/34483.html. То, что разработчики композиторов не cмогли договориться до общих протоколов взаимодействия - это, конечно, FAIL современного десктопного Linux.

Потихоньку договариваются: https://www.opennet.ru/opennews/art.shtml?num=56081

PS: suckless.org странные. Хотел задать им вопрос про sbase, но не смог продраться сквозь их антиспам. Подозреваю, что дело в моем почтовом домене на .xyz. IRC канал у них мертвый. Ну и хрен с ними, им же хуже.

3) В этих ваших Метах пишут, что этот наш Ячан - главный драйвер роста зарплат на российском рынке IT. https://www.facebook.com/MikhailPayson/posts/10159032286671773
https://www.opennet.ru/opennews/art.shtml?num=56079

Highlights:

* "При сборке ядра с использованием компилятора Clang по умолчанию теперь задействован встроенный ассемблер от проекта LLVM."

Это означает, что теперь ядро можно собрать полностью GNU-free toolchain(поддержка clang и lld появились раньше). Очень позитивная новость!

* "В #io_uring также добавлена поддержка системных вызовов mkdirat(), symlinkat() и linkat()."

Чем быстрее в io_uring появятся все сисколлы, тем быстрее не будет случаться упячка из следующего пункта.

* "В состав ядра добавлен модуль ksmbd с реализацией файлового сервера, использующего протокол SMB3."

Про это я уже ругался. Адовейшая поверхность для атак, чо. #ksmbd

* "В ядро принята новая реализацией файловой системы NTFS, открытая компанией Paragon Software."

Тут сказать нечего, кроме того, что Linux теперь окончательно "production ready"!

http://kroah.com/log/blog/2021/02/03/helping-out-with-lts-kernel-releases/

Грег K-H слезно просит тестировать свежие ядра. Свое отношение к качеству разработки ядра я тут уже высказывал, добавим в копилочку :)

———
https://lwn.net/Articles/874546/
https://news.ycombinator.com/item?id=29062982
https://www.opennet.ru/opennews/art.shtml?num=56083

Почему-то, когда смузиязыки хвастались символами эмоджи в идентификаторах, мне казалось, что до добра это не доведет. Впрочем, современный С++ не лучше.

———
https://ethw.org/Milestones:List_of_IEEE_Milestones

Вечерами почитываю этот список, он огромный. Я до конца не понимаю, почему он меня вставляет. Возможно, это сродни истории про bootstrap, и необходимости копаться в старом говнокоде. Возможно, потому что про бОльшую часть этих достижений можно понять, как они повлияли на нашу текущую жизнь. ¯\_(ツ)_/¯

———
https://blog.pyston.org/2021/10/26/pyston-roadmap/

Не CPython единым. Pyston - проект от Dropbox, он сдох несколько лет назад, но вот, ожил. Обещают поддержку 3.10, macOS(без этого я его даже пробовать не хочу).

Конкуренция интерпретаторов - это хорошо, а вот плохо то, что все альтернативные интерпретаторы недостаточно хороши, чтобы быть drop-in replacement.

Тем временем, я пристально слежу за тредом на python.org, в котором предложили убрать GIL. Там случился новый виток активности, и Гвидо даже вежливо попросили не заниматься ху%:,ей: #gil

https://mail.python.org/archives/list/python-dev@python.org/message/WBLU6PZ2RDPEMG3ZYBWSAXUGXCJNFG4A/

"Something just occurred to me. If you upstream all the other goodies (register VM, etc), when the time comes to upstream the no-GIL parts won't the complaint then be (again), "but it's slower for single-threaded code!" ? ;-)"

Гвидо пока не ответил.
👍1
https://www.opennet.ru/opennews/art.shtml?num=56086

Epic win - поддержка протокола mongodb over postgresql. Делать key-value over sql, да еще с более худшими, чем у оригинальной mongodb(хотя куда уж хуже?), гарантиями...

Кстати, напомню, что jepsen mongodb так и не прошла - https://jepsen.io/analyses/mongodb-4.2.6

Хотя jepsen, возможно, тот еще жук - проходящих его тесты баз данных на этой(https://jepsen.io/analyses) странице почти нет, хотя вот foundation db хвастались, что они тест таки прошли.

———
https://psyarxiv.com/zhvre/

Ежели мальчиков заставлять носить платья, а девочек - штаны, то мальчики все равно чаще хотят быть программистами, чем девочки.

"In each country and region, more boys than girls aspired to a things-oriented or STEM occupation and more girls than boys to a people-oriented occupation. These sex differences were larger in countries with a higher level of women's empowerment."

Это вообще законно, проводить и публиковать такие исследования?

———
https://www.realworldtech.com/forum/?threadid=193189&curpostid=193190

"I'd much rather see that transistor budget used on other things that are much more relevant. Even if it's still FP math (in the GPU, rather than AVX512). Or just give me more cores (with good single-thread performance, but without the garbage like AVX512) like AMD did."

Печально, что Intel тратит транзисторный бюджет на то, чтобы хорошо смотреться в однопоточных пузомерках, а не на то, что реально работает в проде.

———
https://tass.ru/ekonomika/12827891

Запасаемся попкорном. "В Роспотребнадзоре заявили, что Ozon незаконно аннулировал аномально дешевые заказы".
https://twitter.com/marcan42/status/1455634359499706372

Было беспокойство, что, так как Apple M1 - это SoC, то придется портировать Linux на каждое новое поколение снова и снова. Но, видимо, Apple решила сохранять некоторую преемственность, и наработки #asahi Linux работают и на M1 Pro.

———
https://xn--r1a.website/dlemire

Оказывается, наш любимый Daniel Lemire ведет блог в TG. Или вот подкаст с его участием. https://corecursive.com/frontiers-of-performance-with-daniel-lemire/

"All sorts of people should be writing research papers. This is very important." Right?

———
https://habr.com/ru/post/586772/
https://habr.com/ru/news/t/579308/
https://3dnews.ru/1050336/sotrudniki-blue-origin-priznalis-chto-boyatsya-letet-na-kosmicheskih-korablyah-sobstvennoy-kompanii
https://vc.ru/legal/298692-activision-blizzard-vyplatit-postradavshim-sotrudnikam-po-delu-o-domogatelstvah-18-mln

Еще 15 лет назад все было бы просто - сотрудники хорошие, корпорации плохие. После появления SJW и cancel culture любая такая новость у меня вызывает вопрос - это действительно корпорации гнобят сотрудников, или очередной SJW-активист решил получить свой PR? Проверить у меня это нет никакой возможности, поэтому я такие новости просто игнорирую :) Если бы SJW движения не существовало, то корпорациям стоило бы его придумать.
👍2
https://samba.plus/blog/detail/ksmbd-a-new-in-kernel-smb-server #ksmbd

Ахаха, я тут должен сказать "а я же говорил!" :)

"Clearly, those number are impressive, but at the same time recent improvements in Samba's IO performance put this into perspective: by leveraging the new “io_uring” Linux API Samba is able to provide roughly 10x the throughput compared to ksmbd."

И это они еще не начали переписывать сетевые кусочки на #eBPF.

———
https://www.techrepublic.com/article/83-of-it-leaders-believe-the-hybrid-workforce-is-here-to-stay/

Чтобы стать следующим Курцвейлом, нужно делать прогнозы! Вот, делаю. #future

Что будет:

Я считаю, что, конечно, фарш уже не прокрутить назад, и удаленная работа с нами останется. Сначала в каких-то извращенных формах, 2 - 3 дня в неделю в офисе(я же верно понимаю, что FAANG MANGA идет к этому?), остальное время из дома. Потом, по мере привыкания control freaks из менеджмента, все это будет двигаться в сторону полноценной удаленной работы:

* Без коэффициентов. Оплата по труду, а не по тому, откуда ты работаешь.
* Появление в офисе по мере рабочей необходимости, а не обязательные N дней. Тут важно понимать, что "N дней в офисе" - это никакой не компромисс, он не решает никаких задач(в перекрестное опыление на кофепоинте я уже не очень верю, год назад мне все еще казалось, что это работает, а потом я как-то приспособился перекрестно опыляться в TG). Вот, допустим, я хочу работать из домика в деревне, или переехать на окраину города, чтобы жить рядом с зеленым парком и вообще поднять уровень жизни? Как мне помогает "N дней в офисе"? Никак, потому что 5 - N дней приходится решать очень странную транспортную задачу. А зачем мне 5 - N дней вне офиса, если у меня квартира в мегаполисе? Чтобы сидеть в душной коробке(не дай Боже, с неработающей женой и детьми на карантине)?
* Возможно, произойдет разделение команд по признаку mostly remote/mostly office. Вот это, как раз, будет самый настоящий консенсус, а не никого не устраивающий компромисс.

Почему:

* 2 года короны показали, что удаленка - это не леденящий душу пиздец, а вполне понятное проседание на 10 - 20%, которое вполне может быть скомпенсировано меньшими затратами на офис, etc. Это знание теперь с нами навсегда.
* Из-за прагматической конкуренции. Компании из второго - третьего эшелона уже все предлагают удаленку, потому что ну надо же как-то конкурировать наймом с первым? Амазон уже что-то пробует(потому что умеет считать деньги) - https://www.seattletimes.com/business/amazon/amazon-will-allow-many-employees-to-work-remotely-indefinitely/ Остальные подтянутся, когда HR поймет, что это причина оттока/притока сотрудников в компанию. Рынок все расставит по своим местам.
* Самое простое и понятное объяснение - IT все еще рынок, где заправляет рабочая сила, так как Copilot все еще бажит. Если 50% сотрудников будут хотеть full remote(а уже известно, что это всего 10 - 20% проседания!), то рынок подстроится.

Последствия:

* Те компании, что побыстрее перестроятся, соберут сливки и прочую сметану с найма.
* Будем жить в деревне, и не тратить по 2 часа на дорогу. Те, кто хочет, конечно. А молодежь будет наслаждаться упавшими в цене хатами в центре города :D
* Дальнейшая глобализация рынка. У нас ЗП вырастут, у вас упадут(ну, точнее, вырастут не так, как могли бы) :D
* Компромисс "50% хотят 100% remote, поэтому 100% получат 50% remote" просуществует недолго.
https://github.com/google/fuzzing/blob/master/docs/silifuzz.pdf

Забавный подход к фаззингу CPU(на предмет дефектов) - давайте пофаззим дизассемблер и QEMU, на получившемся корпусе будем проверять реальные CPU.

Подход интересный, выхлоп, ИМХО, слабоват(всякие x87 fcos и rep X не очень сейчас используются, понятно, что их тестированию на свежеиспеченных CPU уделяют мало внимания).

———
Коллеги из Меты говорят, что Курцвейл из меня ху%:ый #future, потому что в Мете уже фактическое самоопределение команд и людей, в каком они режиме работают. А предсказывать уже вовсю идущий процесс - ну такое.

Хорошо, что процесс уже пошел.

———
Традиционный GNU hate speech.

1) https://www.gnu.org/software/software.html

"GNU is an operating system which is 100% free software"

2) https://www.gnu.org/philosophy/free-sw.html

"“Open source” is something different: it has a very different philosophy based on different values."

3) https://invisible-island.net/ncurses/ncurses-license.html https://www.gnu.org/software/software.html (в самом низу список всех проектов GNU)

Очень советую почитать первую ссылку, это прекрасно, как FSF настаивала на своих правах на ncurses, но не получилось. Ну и Том #Хуйкин(нет, серьезно, его именно так зовут!) очень зажигательно пишет, он обязательно появится у нас в рубрике про странных людей.

TL;DR: ncurses - OSS, но не Free Software.

4)
# apt show bash
Pre-Depends: libc6 (>= 2.15), libtinfo6 (>= 6)

Шах и мат, https://www.gnu.org/distros/free-distros.html - полное вранье, нет ни одного дистрибутива Linux, который бы состоял только из Free Software.

Вот такое вот вранье по мелочам.

UPD: в комментариях мне объяснили, что free software шире, чем copyleft часть OSS.
https://github.com/thepowersgang/mrustc #mrustc #bootstrap

Проект начал приземлять поддержку Rust 1.54. Вы себе не представляете, какое это событие для Rust bootstrap, потому что для bootstrap current версии требуется уже несколько десятков пересборок, от версии 1.29 до current.

Господин John Hodge, конечно, поражает, - в одно рыло тащить проект несколько лет, постоянно поддерживая новые фичи из mainstream(ну, кроме borrow checker). Упоротость в лучшем виде, like.

https://lwn.net/Articles/771355/

Сам текст не очень интересен, интересны комментарии. Там все - пользователи, мейнтейнеры debian, разработчики Rust - обсуждают сложности Rust bootstrap. Интересно, как сталкиваются разные точки зрения("вы нам мешаете поддерживать дистрибутив в рабочем состоянии" vs. "нет, это вы нам мешаете бежать быстрее").

———
https://medium.com/@pv.safronov/moscow-state-university-network-built-by-students-211539855cf9

"That’s when you had to resort to the last option: using lockpicks. Yes, you heard it correctly. Network engineers had lockpicks and were trained to use them."

"Then one engineer sways the cable while another one is catching it downstairs"

Шваброй, ага.

Божечки, какая ностальгия... Провода, торчащие из окон... forum.b.gz.ru... glebius, patnik... Где моя молодость?

———
Из будней бустрапера. Я бутстрапнул bison && flex. Это потребовало, суммарно, около 15 пересборок разных версий lex, flex, bison, byacc. Но об этой волшебной цепочке немного позже, а сегодня за bison.

Bison - это кошмар бутстрапера. Потому что у него N версия легко может не собираться N - 1:

YACC     src/parse-gram.c
bison-3.8.2/src/parse-gram.y:155.1-7: error:
invalid directive: '%header'
155 | %header
| ^~~~~~~

И в репозитории bison уже лежит готовый файлик, который, сцуко, сделан той же версией bison, что лежит в репозитории:

pg@:~bison-3.8.2/src head -n 1 parse-gram.c
/* A Bison parser, made by GNU Bison 3.8.2. */

Знаете, когда я клал версии с 4 по 7, я подумал, "ну с кем не бывает", но когда вчера клал восьмую, и снова наткнулся на то, что она требует сама себя для сборки(а значит, нетривиального патчинга исходников), я начал думать, что они это специально.
commit -m "better"
https://www.opennet.ru/opennews/art.shtml?num=56086 Epic win - поддержка протокола mongodb over postgresql. Делать key-value over sql, да еще с более худшими, чем у оригинальной mongodb(хотя куда уж хуже?), гарантиями... Кстати, напомню, что jepsen mongodb…
Короче, по числу просмотров я понял, что кликбейт "Ежели мальчиков заставлять носить платья, а девочек - штаны" заходит лучше, чем моя бодяга про bootstrap! Ну, я сообразительный, я все понял, но я бы хотел заранее предупредить, что по заявкам из интернетов получается про фашистов на Луне(https://www.kinopoisk.ru/film/412012/), но вот кассу собирает "Аватар":D
https://www.opennet.ru/opennews/art.shtml?num=56119

Пару лет назад меня заинтересовала wolfssl, потому что она давала хорошую степень совместимости с openssl, а openssl требует для своей сборки perl, чего мне прямо очень не хотелось. Поэтому я, на голубом глазу, написал в wolfssl, чтобы они расширили свой враппер, до того состояния, чтобы с ним можно было собрать Python. Вот, не прошло и 2 лет:

"Ports
...
Add support for Python 3.8.5"

Хорошая, годная, библиотека. Мне, правда, уже не нужно.

———
http://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", без объяснений, видимо, потому что как-то результат нужно продать).
>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 человек
Срочно в номер, не могу ждать до завтра!

Сборка релизного clang, M1 Pro, 10 cores:

real  13m32.055s
user 113m15.043s
sys 4m30.742s

Сборка релизного clang, серверный Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz, 78 cores(ну вот такой у меня контейнер):

real    8m30,932s
user 467m53,942s
sys 39m8,532s

Отдельно сравниваем wall time, впечатляемся в первый раз, и отдельно сравниваем затраченное CPU, впечатляемся второй раз.

Нет, это не ошибка - 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."
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 - это кромешный ад.

Вот, чуваку было нечего делать, и он добавил совершенно бессмысленные:

--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 строк С++.

Что-то типа:
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
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 отключают.

Думаю, это ненадолго. Это ведь тоже инфраструктура.
🔥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:

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 чего-то в системе.
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://habr.com/ru/news/t/588554/

"В настоящее время первый суперкомпьютер «Сбера» Christofari находится на 61 месте в рейтинге топ-500 самых высокопроизводительных систем мир. Также эта высокопроизводительная система является самой мощной среди суперкомпьютеров СНГ."

Очень позитивная новость, надо поздравить коллег!