commit -m "better"
3.24K subscribers
1.03K photos
149 videos
3 files
2.39K links
just random thoughts
Download Telegram
https://nibblestew.blogspot.com/2023/10/the-road-to-hell-is-paved-with-good.html

Странный текст про модули в С++, от автора #meson.

Я ожидал чего-то горячего, но весь текст, в основном, про то, какие gcc/clang негодяи, как им нужно правильно парсить command line, и как разбирать файлы.

Я бы сказал, что у автора зашкалило ЧСВ, и он, на голубом глазу, рассказывает, как clang/gcc должны выстраивать интерфейсы, чтобы их удобно можно было звать в #ninja.

Ну или он просто не видит дальше своего носа, и не понимает, что модель парсинга зависимостей у meson/ninja - ущербна (*), и что не надо ей потакать.

(*): в основном, потому, что она создана для решения задачи, которую решать не нужно, а именно - чтобы генератор сборочного графа мог жить отдельно от выполнителя этого графа (тут появляется сложная зависимость между этими инструментами, так как зависимости для пересборки появляются не на configure стадии, а в процессе первого выполнения графа).
🤔6👍3🔥3😁1
https://github.com/rui314/mold/releases/tag/v2.3.0

Вышел новый #mold.

Вполне обычный релиз, в changelog глаз зацепился за

"mold 2.3.0 has introduced an experimental flag, -z rewrite-endbr, which rewrites superfluous endbr64 instructions as nop"

Полез смотреть, что это за инструкция, https://stackoverflow.com/questions/56905811/what-does-the-endbr64-instruction-actually-do - вполне норм описание, с выдержками из арх. мануалов, и все такое.

Прикольная штука, насколько я понимаю, она делает #ROP почти obsolete.

А вы знали? Я не знал!
👍6🔥6🤔3🆒32
Как мы себе это представляем:

https://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D0%BC%D1%8F_%D0%BD%D0%B0%D0%B4_%D0%B1%D0%B5%D0%B7%D0%B4%D0%BD%D0%BE%D0%B9

"Все внимание новорожденного повернулось к уходящим кораблям. Микробы, вдруг оказавшиеся болезнетворными. Как могло это случиться? Вдруг ускорились миллионы планов. Расцвет обычным порядком более не рассматривался, следовательно, отпала нужда в людях, оставшихся в Лаборатории.

Изменение, при всей его космической значимости, было микроскопическим. Для оставшихся людей — миг ужаса, они застыли, глядя на свои дисплеи и понимая, что все их страхи оказались правдой (и не понимая, насколько горше была эта правда, чем они думали).

Пять, десять секунд — и больше перемен, чем за тысячелетия людской цивилизации. Миллиард триллионов построений, с каждой стены спадает плесень, восстанавливая то, что было когда-то сверхчеловеческим. Это было так же мощно, как правильный расцвет, хотя и не столь тонко настроено."

Как это происходит на самом деле:

https://github.com/OpenBMB/XAgent#-xagent-1

....
Safety: XAgent is designed to run safely. All actions are constrained inside a docker container. Run it anyway!
....
🤔8👍5🔥3😱3😁2
https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/98

MR в #GNOME, насколько я понимаю, он убирает возможность выбора X11 сессии в login manager.

Ну и хорошо.

Wayland, конечно, местами, слишком анально огорожен, на каждый чих нужен протокол, и чтобы его поддержали основные вендоры, но X11 - это тихий ужас.

Если вы запустили X сессию от рута/#suid (раньше точно нельзя было иначе), то вы, считай, подарили свой компьютер кому угодно. Потому что проезды в коде X11 перестали находить не потому, что они там кончились, а просто никто, в здравом уме, не хочет читать ЭТО.
10🤔4🖕4
https://www.opennet.ru/opennews/art.shtml?num=59965

Взлом jabber.ru, с перехватом трафика, в течение длительного периода времени.

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

С одной стороны, новость "вкусная", с другой - ну взломали и взломали, mitm, при условии контроля над инфраструктурой, дело не очень хитрое - "Первый поддельный TLS-сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.ru".

Мораль?

В данном случае она есть - кажется, что удостоверяющие центры, по крайней мере, если они устроены так, как устроены сейчас - довольно бесполезные сущности, потому что подвержены политике (напомню историю с отзывом сертификатов у гос. сайтов), и подвержены вот таким, довольно простым (пофейкать сайт для проверки владения хостеру, кажется, совсем не сложно), атакам.

А если вам нужна настоящая приватность - то, получается, нельзя доверять никаким third party, только обмен ключами на бумажке, при личной встрече.
👍8😱6🤔4💯32🥱2🤯1😢1
Forwarded from КиберТопор
«Я дам им миллиард долларов, если они поменяют имя на Хуепедию».

Илон Маск сделал идеальное предложение для Википедии.

🕹КиберТопор — Подписаться
🤡12🔥6🐳3🆒2🥱1
#llvmweekly

https://www.linaro.org/blog/tracking-code-size-variations-between-llvm-releases/

Немного картинок на предмет "как меняется размер .text AOSP SPEC, скомпилированного LLVM, в зависимости от версии LLVM".

Картинки предсказуемо скучные, потому что радикальных изменений в кодогенераторе/оптимизаторе LLVM давно не случалось, колебания на десятые доли процентов в ту или иную сторону.
👍43🔥2
https://www.phoronix.com/review/xeon-max-linux-software

Миша с фороникса, в очередной раз, пишет, какой же clear linux крутой.

https://www.phoronix.com/review/xeon-max-linux-software/5 - сводный результат.

TL;DR - чуть ли не в разы быстрее, чем другие дистрибутивы Linux.

Не верю в это ни на грош.

Флаги оптимизации - это проценты перфа, а все остальные наработки инженеры Intel отдают в opensource upstream, то есть, оптимизации в произвольном кодеке ffmpeg, в итоге, попадут во все дистрибутивы.

Ну, то есть, нельзя собрать тот же zstd так, чтобы он в полтора раза отличался по скорости в clear linux, и в остальных дистрибутивах. Нельзя и все, если ты только не прикопал парочку .S файлов, и не отдал их в open source. Никакие -mtune/-flto не помогут.

Я гораздо более легко поверю в то, что инженеры Intel "правильно" настроили окружение для Миши и его тестов, зная особенности тестируемого процессора.

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

https://github.com/clearlinux - муть мутная, несколько десятков репозиториев, без четкой структуры. https://github.com/clearlinux/clr-bundles - самое близкое к описанию сборки пакетов, но все равно не то.

Если вы знаете, куда смотреть - ткните, пожалуйста, пальцем. Очень хочется разобраться.

История с душком, если вы понимаете, о чем я.

UPD: мне показали ссылку на то, что может быть их пакетной базой. Ну вот вам патч про zstd - https://github.com/clearlinux-pkgs/zstd-bin/blob/main/multi-thread-default.patch https://github.com/clearlinux-pkgs/zstd-bin/blob/main/quiet.patch. Это честный патч? Не смешите мои тапочки!
👍9🤡7🤔6🌚3😁2
https://dgl.cx/2023/09/ansi-terminal-security #foot #terminfo

Исчерпывающий текст про эмуляторы терминала, про то, что, по сути, они являются shell (в том смысле, в котором браузер является shell, то есть, sandbox для выполнения пользовательского кода, возможно, зловредного).

Про всякие ошибки, которые автор находил в разным там терминалах (спойлер - почти во всех), про связанные CVE, и про то, как правильно.

И, сюрпрайз-сюрпрайз, новый релиз xterm:

https://invisible-island.net/xterm/xterm.log.html

Patch #388 - 2023/10/22
improve disallowPasteControls by adding a category for the special characters known to stty (prompted by discussion with David Leadbeater).

А вот "David Leadbeater" - это как раз автор предыдущей статьи.

Совпадение?
👍5🔥52
Forwarded from Tech Mumble
Посмотрел keynote с bazelcon. Мне нравится, что bazel еле-еле, но становится таким стандартом де-факто для больших проектов. Грустно только что оно сильно завендерлочено, ничего не помешает гуглу через 5 лет закрыть проект, и всё загнётся.

Работают над тремя большими штуками.

* само собой пытаются выпилить поддержку С++ и Java из ядра, куда без этого
* bzlmod — перепридумали работу с внешними зависимостями, говорят давайте будем импортировать граф к себе, где-то я уже такое видел (вот так выглядит https://github.com/bazelbuild/bazel-central-registry/blob/main/modules/protobuf/3.19.6/MODULE.bazel)
* почему-то много внимания уделяют SBOM — списку зависимостей для проверки уязвимостей (https://security.googleblog.com/2022/06/sbom-in-action-finding-vulnerabilities.html)
🤝43👍2🤔2
commit -m "better"
https://github.com/google/fuzzing/blob/master/docs/silifuzz.pdf Забавный подход к фаззингу CPU(на предмет дефектов) - давайте пофаззим дизассемблер и QEMU, на получившемся корпусе будем проверять реальные CPU. Подход интересный, выхлоп, ИМХО, слабоват(всякие…
https://www.opennet.ru/opennews/art.shtml?num=59986

Еще в тему фаззинга CPU.

На этот разу улов интереснее, правда, не в столь массовых процессорах.

Особенно доставляет

"Одна ошибка классифицирована как возможность встраивания скрытой логики на этапе проектирования чипа. Проблема присутствует в открытом пакете Yosys, предназначенном для синтеза уровня регистровых передач (RTL) и применяемом при проектировании и эмуляции CPU. Ошибка привела к синтезу некорректной логики в FPU процессора CVA6. Злонамеренный участник разработки может использовать данную проблему для внесения скрытой ошибки в проект, в котором для синтеза логики применяется Yosys, через передачу внешне безобидного описания уровня регистровых передач (RTL)"

Злонамеренный код в тулинге для разработки CPU!

Если это правда, то это даже круче, чем атака Томпсона https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf
🔥16🤯2🤔1
commit -m "better"
test
Внезапно понял, что проморгал, что каналу исполнилось два года!

Принимаю поздравления, а так же предлагаю like, шер, ретвит, если канал по душе!
🎉114🔥20👍103🥱1
#хозяйке_на_заметку, #я_просто_оставлю_это_здесь, #llvmweekly

https://www.npopov.com/2023/10/22/How-to-reduce-LLVM-crashes.html

Мало кому будет интересно, но вот если вы ловили ICE в clang, и вам ОЧЕНЬ нужно это зарепортить, то по ссылке способ получения minimal test case.
👍5😎32
https://unixsheikh.com/articles/we-have-used-too-many-levels-of-abstractions-and-now-the-future-looks-bleak.html

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

Пишет, что люди все больше и больше учатся какому-то такому слою абстракций (e.g. framework, tool, etc), нежели понимают, как все работает "на самом деле".

Мне тут, конечно, в голову сразу приходит аналогия с Foundation Айзека Азимова, конкретно, с частью, где описывается Трантор, как работающая система, которая стала настолько сложна, что постепенно приходит в упадок, потому что никто не понимает, как ее чинить.

Я не согласен с автором!

Даже в рамках этого блога я кидал десятки ссылок на то, как люди, когда "припрет", находили багу от очередного JS framework, до V8, и дальше, вглубь, до ошибок защиты OS/процессора/whatever.

Короче, системы у нас пока не такие сложные, при желании, все можно понять.

Отдельно хочу поговорить с телевизором подискутировать с

"Everything in the tech industry is driven with a very hardcore eye for profit and very little interest in anything else. So you need to be able to push out new products or new services as fast as possible. This means more abstraction and more automation, less and less people, and less deeper understanding.

Today programmers and system administrators no longer exist, instead we have DevOps and even DevSecOps, in which the industry is trying very hard to stuff every single task into the job description of a single individual"

Слушайте, ну это какое-то явное непонимание сути devops. DevOps - это не про то, чтобы суммарно людей, которые пилят продукт, стало меньше (или дешевле), это, в первую очередь, про ответственность - надо, чтобы когда разработчик послал плохую программу в прод, то он просыпался ночью от звонков мониторинга.

Вот такой вот простой и тупой feedback loop - наговнокодил - не спи ночью.

Кстати, именно поэтому, когда я вижу вакансии "devops", у меня волосы шевелятся на всех частях тела, потому что это очередное извращение идеи. Вместо перекладывания ответственности на программиста, происходит подмена понятия, и "devops" получается такой современный "администратор, который автоматизирует свою работу", что, конечно же, треш, угар, и содомия.

Не делайте так.
👍284🔥2💯2
Forwarded from /g/‘s Tech Memes (ᅠ ᅠ)
😁23👍8🔥42👌2
commit -m "better"
#mesa #zink https://www.phoronix.com/news/RadeonSI-More-ACO #aco Довольно техническая, но приятная, новость. В драйвер radeonsi портируют использование компилятора шейдеров из radv (это vulkan драйвер для AMD). А, собственно, зависимость от LLVM в radeonsi…
https://www.phoronix.com/news/RadeonSI-ACO-Complete #aco

Совершенно классная новость - коллеги из #mesa добавили в драйвер opengl radeonsi возможность использовать компилятор шейдеров ACO, из vulkan драйвера radv.

Я напомню, что одной из причин моих мучений с #zink как раз была необходимость собирать (и влинковывать во все программы, которым нужно 3D ускорение) толстые запчасти из LLVM.

Теперь zink становится для меня существенно менее релевантным, хотя я и продолжаю считать, что в long term opengl драйверы должны исчезнуть, как класс, остаться должны только vulkan драйверы, ну и zink, как generic opengl поверх. В этом контексте можно упомянуть https://www.phoronix.com/news/Mesa-23.3-rc1-Released - open source vulkan для NVidia цветет, пахнет, и развивается, что тоже очень хорошо.
4🔥3🕊2👍1
commit -m "better"
Кластер PG (хехе), V2.0 Все машинки в моем ДЦ работают на #stal/IX, а как иначе!
И таки шо, вы поверили, что это мой ДЦ?

Мой ДЦ вот на этой вот картинке!

6 юнитов, суммарно 38 + 56 + 3 * 8 + 88 == 206 ядер, диска и прочего пофиг сколько.

Вообще, удивительно, сколько стоит б/у compute, после амортизации в 3 года.

Одно ядро (вместе со всем обвязом и памятью) стоит < 10$.

Хороший стоечный сервер стоит дешевле, чем хороший ноутбук - https://anyserver.ru/catalog/servery_b_u/server_supermicro_6018u_xeon_2x_e5_2696v4_192gb_2133p_ddr4_4x_nohdd_3_5_raid_c612_sata_ssd_psu_2_750/

В странном мире живем, товарищи!
👍32🤯134🔥2🤡2