commit -m "better"
https://www.phoronix.com/news/Fedora-38-Released Пишут, что вышла свежая Fedora. Пишут, что собрана она gcc 13, который еще не вышел. https://gcc.gnu.org/ Мне кажется, или собирать дистрибутив для людей до-релизным компилятором - это такое?
Вот, пожалуйста, как и предполагалось, свежий gcc - https://www.opennet.ru/opennews/art.shtml?num=59038
Я думаю, что так гнали с релизом, чтобы запустить сокращения?
Ну, шутки-шутками, а сокращать человека, который должен починить мелкую херню для релиза лучше после релиза, а не до?
Я думаю, что так гнали с релизом, чтобы запустить сокращения?
Ну, шутки-шутками, а сокращать человека, который должен починить мелкую херню для релиза лучше после релиза, а не до?
www.opennet.ru
Релиз набора компиляторов GCC 13
После года разработки опубликован релиз свободного набора компиляторов GCC 13.1, первый значительный выпуск в новой ветке GCC 13.x. В соответствии с новой схемой нумерации выпусков, версия 13.0 использовалась в процессе разработки, а незадолго до выхода GCC…
👍4😁2🤔1
Есть цифровая часть звукового тракта, которая, условно говоря, идет от провайдера (Spotify, Я.Музыка), до ЦАП (пусть это будет bluetooth колонка/наушники).
По мере прохождения сигнала, он пару раз пережимается с потерями (mp3/ogg/aac/whatever, ldac), и пару раз перенормируется по громкости (провайдер, приложение, bluetooth). Где-то громкость идет out of band (метаинформация), а где-то может происходить ресемплинг при сжатии (я не знаю, как и где).
Какие нужны настройки, и что проверить, чтобы убедиться, что громкость везде идет out of band, чтобы, финально, было одно умножение на Г1*...*Гn? А не чтобы любимое (умножили X перекодировали)^m?
Короче, как меньше всего информации потерять при передаче?
Я знаю примерно один железобетонный способ - скопировать файл на флешку, и воспроизвести прямо на устройстве. Но это не очень технологично.
Расскажите, как правильно.
По мере прохождения сигнала, он пару раз пережимается с потерями (mp3/ogg/aac/whatever, ldac), и пару раз перенормируется по громкости (провайдер, приложение, bluetooth). Где-то громкость идет out of band (метаинформация), а где-то может происходить ресемплинг при сжатии (я не знаю, как и где).
Какие нужны настройки, и что проверить, чтобы убедиться, что громкость везде идет out of band, чтобы, финально, было одно умножение на Г1*...*Гn? А не чтобы любимое (умножили X перекодировали)^m?
Короче, как меньше всего информации потерять при передаче?
Я знаю примерно один железобетонный способ - скопировать файл на флешку, и воспроизвести прямо на устройстве. Но это не очень технологично.
Расскажите, как правильно.
🤔4🔥3👍2🤡2
https://www.memorysafety.org/blog/sudo-and-su/
Какие-то ноунеймы решили хайпануть, и переписали sudo/su на Rust. Я бы у них хотел вежливо спросить "а su-то зачем, на нем нет suid bit".
А еще мне в голову пришла гениальная идея по поводу безопасности suid бинарей. Мне в последнее время вообще много хороших идей про безопасность приходит!
А давайте соберем важные #suid бинари, типа sudo, с санитайзерами, и так и выложим в прод?
Вот, реально, собрать их с asan, msan, ubsan, и так и катить.
Вместо того, чтобы эскалировать привилегии почем зря, будут просто падать с нормальным таким panic().
Как вариант, вместо сборки с санитайзером, просто запускать их под valgrind, через скрипт-обертку.
Полезного эти утилиты все равно ничего не делают, небольшое замедление им не страшнО.
Какие-то ноунеймы решили хайпануть, и переписали sudo/su на Rust. Я бы у них хотел вежливо спросить "а su-то зачем, на нем нет suid bit".
А еще мне в голову пришла гениальная идея по поводу безопасности suid бинарей. Мне в последнее время вообще много хороших идей про безопасность приходит!
А давайте соберем важные #suid бинари, типа sudo, с санитайзерами, и так и выложим в прод?
Вот, реально, собрать их с asan, msan, ubsan, и так и катить.
Вместо того, чтобы эскалировать привилегии почем зря, будут просто падать с нормальным таким panic().
Как вариант, вместо сборки с санитайзером, просто запускать их под valgrind, через скрипт-обертку.
Полезного эти утилиты все равно ничего не делают, небольшое замедление им не страшнО.
Prossimo
Bringing Memory Safety to sudo and su
Our Prossimo project has historically focused on creating safer software on network boundaries. Today however, we're announcing work on another critical boundary - permissions. We're pleased to announce that we're reimplementing the ubiquitous sudo and su…
👍16🤔8🔥6
Forwarded from lobste.rs
lobste.rs
The 2-MAXSAT Problem Can Be Solved in Polynomial Time
19 comments
🤔4🔥2💩2😱1🤡1
lobste.rs
The 2-MAXSAT Problem Can Be Solved in Polynomial Time Comments on lobsters
"Hence, we provide a proof of P = NP"
🤔6💩4🤡3🥱2🔥1
commit -m "better"
😐 Sticker
https://felipec.wordpress.com/2023/03/04/one-decade-later-gnome-still-sucks/
Обычный #rant про #GNOME, текст интересен ссылками, которых я раньше не видел.
Here’s another lovely example from a gnome-terminal bug:
Обычный #rant про #GNOME, текст интересен ссылками, которых я раньше не видел.
Here’s another lovely example from a gnome-terminal bug:
No.Ну и так далее.
CHRISTIAN PERSCH
Felipe Contreras
One decade later, GNOME still sucks
It has been more than a decade of GNOME 3’s initial release and GNOME still sucks. Two of my most popular posts have been about GNOME 3 (#3 and #5), and in 2023 people still keep referencing …
👍5🔥1
https://gvisor.dev/blog/2023/04/28/systrap-release/
Текст про #gvisor.
Приятно, что проект жив и развивается. Считаю, что за таким вот очень lightweight sandbox большое будущее. Напомню, что контейнеры - не sandbox, а вот KVM и gvisor - sandbox (KVM в большей степени, gvisor - в меньшей).
Хотел прекратить читать текст после того, как увидел график про getpid, потому что это нечестное сравнение (в одном случае используется vdso, в другом, очевидно, нет), и люди, которые этот график нарисовали, не могли про это не знать.
Используемая техника довольно стандартная, "а давайте перезапишем mov ..., eax; syscall на какой-нить подходящий jmp".
Ускорение вполне заметное, хотя, конечно, не такое впечатляющее, как график про getpid.
Текст про #gvisor.
Приятно, что проект жив и развивается. Считаю, что за таким вот очень lightweight sandbox большое будущее. Напомню, что контейнеры - не sandbox, а вот KVM и gvisor - sandbox (KVM в большей степени, gvisor - в меньшей).
Хотел прекратить читать текст после того, как увидел график про getpid, потому что это нечестное сравнение (в одном случае используется vdso, в другом, очевидно, нет), и люди, которые этот график нарисовали, не могли про это не знать.
Используемая техника довольно стандартная, "а давайте перезапишем mov ..., eax; syscall на какой-нить подходящий jmp".
Ускорение вполне заметное, хотя, конечно, не такое впечатляющее, как график про getpid.
gvisor.dev
Releasing Systrap - A high-performance gVisor platform
👍8🤔2🔥1
commit -m "better"
Тут вот github подогнал сразу 2 текста про #carbon: * Конечно же, уже привычный transparency report! https://github.com/carbon-language/carbon-lang/discussions/2556 * Текст про то, что не то чтобы кодить не начали, но еще и сам язык продумать не успели!…
https://github.com/carbon-language/carbon-lang/discussions/2807
#carbon
Очередной transparency report, а вы чего ждали? Кода?
#carbon
Очередной transparency report, а вы чего ждали? Кода?
GitHub
Carbon Language community transparency report through 2023-03-31 · carbon-language/carbon-lang · Discussion #2807
The Carbon community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. To t...
🤡15😁10🐳4
https://www.phoronix.com/news/Linux-6.4-x86-Mem-Copy
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a5624566431de76b17862383d9ae254d9606cba9
Дед опять забыл принять таблетки, и буянит
На мой неискушенный взгляд, Линус зачем-то выделил часть кода из двух файлов в один новый, и назвал это рефакторингом, с объяснением на страницу текста.
Мне кажется? Я в глаза долблюсь?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a5624566431de76b17862383d9ae254d9606cba9
Мне кажется? Я в глаза долблюсь?
Phoronix
Linus Torvalds Cleans Up The x86 Memory Copy Code For Linux 6.4
In recent years Linus Torvalds hasn't had the time to write too much original new code for the Linux kernel himself with these days mostly managing developers, providing insightful mailing list posts, and reviewing code for merging into the kernel tree along…
🤔5
Вышел новый #musl, https://musl.libc.org/releases.html
Постоянство - признак мастерства, новые версии выходят раз в год, примерно в одно и то же время.
Запилили в dns resolver поход по TCP, вот только я приспособил #dnsmasq, ага.
Убрали макросы stat64, lstat64, и прочее барахло для совместимости с API glibc. Сломали сборку примерно всего кода, ожидающего glibc-style API по поддержке 64-битных оффсетов, печаль-беда.
Постоянство - признак мастерства, новые версии выходят раз в год, примерно в одно и то же время.
Запилили в dns resolver поход по TCP, вот только я приспособил #dnsmasq, ага.
Убрали макросы stat64, lstat64, и прочее барахло для совместимости с API glibc. Сломали сборку примерно всего кода, ожидающего glibc-style API по поддержке 64-битных оффсетов, печаль-беда.
👍7🔥2👎1🌭1
#dbus #systemd #kdbus
https://www.phoronix.com/news/Ubuntu-23.10-Dbus-Broker-Plan
dbus-broker - это замена dbus-daemon, но:
* linux-only
* https://github.com/bus1/dbus-broker/blob/main/meson.build#L76 довольно безальтернативно зависит от libsystemd, без нее глючит в плане запуска процессов
* зависит от каких-то велосипедных библиотек для С - https://github.com/c-util, https://github.com/bus1/dbus-broker/blob/main/meson.build#L24 Факт того, что уже есть безальтернативная зависимость от #glib, никого не волнует - это не +-1, это +1 велосипедная либа
И все это для чего? Для того, чтобы показать эфемерный выигрыш в производительности. Ага, для десктопной шины, которая должна тумбнейлеры запускать, это, конечно, очень важно.
Вот тут я могу несколько плавать, но появилось все это после того, как Линус окончательно отказался запихивать dbus в ядро, и чем-то же надо было заняться.
Мораль? Да какая мораль, все равно нас всех скоро заменит AI, пусть кожаные порезвятся напоследок.
https://www.phoronix.com/news/Ubuntu-23.10-Dbus-Broker-Plan
dbus-broker - это замена dbus-daemon, но:
* linux-only
* https://github.com/bus1/dbus-broker/blob/main/meson.build#L76 довольно безальтернативно зависит от libsystemd, без нее глючит в плане запуска процессов
* зависит от каких-то велосипедных библиотек для С - https://github.com/c-util, https://github.com/bus1/dbus-broker/blob/main/meson.build#L24 Факт того, что уже есть безальтернативная зависимость от #glib, никого не волнует - это не +-1, это +1 велосипедная либа
И все это для чего? Для того, чтобы показать эфемерный выигрыш в производительности. Ага, для десктопной шины, которая должна тумбнейлеры запускать, это, конечно, очень важно.
Вот тут я могу несколько плавать, но появилось все это после того, как Линус окончательно отказался запихивать dbus в ядро, и чем-то же надо было заняться.
Мораль? Да какая мораль, все равно нас всех скоро заменит AI, пусть кожаные порезвятся напоследок.
Phoronix
Ubuntu 23.10 Looks Like It Will Switch To Using Dbus-Broker
While distributions like Fedora Linux have been using Dbus-Broker for years already as their high performance D-Bus compatible implementation to, for Ubuntu 23.10 later this year is finally where it looks like Ubuntu will be transitioning to this better alternative…
❤3🐳3🔥2🤔1
commit -m "better"
Вышел новый #musl, https://musl.libc.org/releases.html Постоянство - признак мастерства, новые версии выходят раз в год, примерно в одно и то же время. Запилили в dns resolver поход по TCP, вот только я приспособил #dnsmasq, ага. Убрали макросы stat64,…
С musl, и с их чисткой "ненужного" кода, конечно, попандос.
https://github.com/bminor/binutils-gdb/blob/master/gdbserver/linux-low.cc#L5384
Вот, gdb, например, при configure, считает, что pread64 больше нет, потому что смотрит на линкер, а не на компиляцию. И в данном ifdef попадает на fallback, компиляция которого валится каким-то интересным образом.
Или, вот, например, как валится сборка std crate через #mrustc:
Нормального способа в musl узнать про наличие той или иной фичи нет, и это их принципиальная позиция.
Я пока откатил версию musl к херам.
https://github.com/bminor/binutils-gdb/blob/master/gdbserver/linux-low.cc#L5384
Вот, gdb, например, при configure, считает, что pread64 больше нет, потому что смотрит на линкер, а не на компиляцию. И в данном ifdef попадает на fallback, компиляция которого валится каким-то интересным образом.
Или, вот, например, как валится сборка std crate через #mrustc:
ld.lld: error: undefined symbol: open64Я так понимаю, что оно так же будет валиться и со сборкой с обычным rust (контора пидорасов, не забываем про это!), потому что коллеги тоже пишут ffi руками, без определения того, что же есть под ногами.
>>> referenced by libstd.rlib.c
>>> .../libstd.rlib.o:
Нормального способа в musl узнать про наличие той или иной фичи нет, и это их принципиальная позиция.
Я пока откатил версию musl к херам.
GitHub
binutils-gdb/gdbserver/linux-low.cc at master · bminor/binutils-gdb
Unofficial mirror of sourceware binutils-gdb repository. Updated daily. - bminor/binutils-gdb
🐳4👍3🤔1
Ночной (уже) #rant
У меня продолжает бомбить от обновления #musl, да.
Есть такое, довольно популярное мнение, что мы "должны" open source'у, и что надо тащить все изменения в #upstream, неважно, насколько там упоротые мейнтейнеры.
Я с этим категорически не согласен, ничего мы никому не должны, кроме того, что написано в файле LICENSE.txt.
Вот, возьмем данную ситуацию.
Что я якобы "должен" сделать?
* Сходить к Ричарду Фелкеру, и попытаться его убедить, что надо дать людям возможность узнать версию musl, с которой ты собираешься, чтобы по этой информации сделать какой-либо вывод? Да щаз, он в readme своего проекта написал, что этого не будет никогда (https://wiki.musl-libc.org/faq.html "Why is there no MUSL macro?"), а он же не может ошибиться?
* Сходить к авторам configure/autoconf скриптов, и рассказать, как "правильно" детектить наличие тех или иных фичей? Так никто не знает, как "правильно", даже Фелкер, потому что есть тесты на собираемость, и есть тесты на linkability, и они в C/C++ могут давать разный результат, из-за "define pread64 pread" https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n203 - какой-то класс тестов может не скомпилироваться, какой-то - не слинковаться.
* Сходить к авторам rust (компания пидорасов, не забываем про это!), и сказать им, что не надо руками писать интерфейсы к libc - https://github.com/rust-lang/rust/blob/master/library/std/src/sys/unix/mod.rs#L98 ?
К кому из этих трех обобщенных высокомерных мудаков мне сходить? В чем убедить?
Правильно, я пойду к самому близкому ко мне высокомерному мудаку с сильным мнением - к себе!
Мое "сильное мнение" в данном вопросе - не надо чинить то, что не сломано, и пошел бы Фелкер со своим мнением к херам.
Он удалил функции, я их вернул назад. Без патчинга исходников, просто скопировал символы - https://github.com/pg83/ix/commit/632e40fdcb56917c19f9299c165b56d77052675b#diff-d0dfd80046e1a8679abbcdebbc7ee3984b5b75653d63cc2469ec0ee6427b7c20R25
Думаю, я в хорошей компании!
У меня продолжает бомбить от обновления #musl, да.
Есть такое, довольно популярное мнение, что мы "должны" open source'у, и что надо тащить все изменения в #upstream, неважно, насколько там упоротые мейнтейнеры.
Я с этим категорически не согласен, ничего мы никому не должны, кроме того, что написано в файле LICENSE.txt.
Вот, возьмем данную ситуацию.
Что я якобы "должен" сделать?
* Сходить к Ричарду Фелкеру, и попытаться его убедить, что надо дать людям возможность узнать версию musl, с которой ты собираешься, чтобы по этой информации сделать какой-либо вывод? Да щаз, он в readme своего проекта написал, что этого не будет никогда (https://wiki.musl-libc.org/faq.html "Why is there no MUSL macro?"), а он же не может ошибиться?
* Сходить к авторам configure/autoconf скриптов, и рассказать, как "правильно" детектить наличие тех или иных фичей? Так никто не знает, как "правильно", даже Фелкер, потому что есть тесты на собираемость, и есть тесты на linkability, и они в C/C++ могут давать разный результат, из-за "define pread64 pread" https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n203 - какой-то класс тестов может не скомпилироваться, какой-то - не слинковаться.
* Сходить к авторам rust (компания пидорасов, не забываем про это!), и сказать им, что не надо руками писать интерфейсы к libc - https://github.com/rust-lang/rust/blob/master/library/std/src/sys/unix/mod.rs#L98 ?
К кому из этих трех обобщенных высокомерных мудаков мне сходить? В чем убедить?
Правильно, я пойду к самому близкому ко мне высокомерному мудаку с сильным мнением - к себе!
Мое "сильное мнение" в данном вопросе - не надо чинить то, что не сломано, и пошел бы Фелкер со своим мнением к херам.
Он удалил функции, я их вернул назад. Без патчинга исходников, просто скопировал символы - https://github.com/pg83/ix/commit/632e40fdcb56917c19f9299c165b56d77052675b#diff-d0dfd80046e1a8679abbcdebbc7ee3984b5b75653d63cc2469ec0ee6427b7c20R25
Думаю, я в хорошей компании!
😁21👍11❤4
Призывал и буду призывать владельцев open source софта всегда делать официальный бекап на github.
Потому что github самый надежный, а ваш sr.ht/repo.cz/gitlab/whatever однажды ляжет, и поднимать его будут неделю.
Поэтому я всегда радовался, какие же хорошие люди с freedesktop. Несмотря на то, что у них есть свой gitlab, до сего момента у большинства их проектов был mirror на github, чем я и пользовался. Их gitlab периодически лежал, и мешал релизным процессам.
Но нет, нет покоя дуракам, все снесли - https://github.com/freedesktop/
Наверное, по какой-нить очень важной (нет) причине, опять сломали кучу моих урлов. Ну и пользователи будут страдать, потому что лежать оно будет довольно часто, судя по опыту.
https://github.com/GNOME тоже, наверное, долго не продержится, а жаль.
Потому что github самый надежный, а ваш sr.ht/repo.cz/gitlab/whatever однажды ляжет, и поднимать его будут неделю.
Поэтому я всегда радовался, какие же хорошие люди с freedesktop. Несмотря на то, что у них есть свой gitlab, до сего момента у большинства их проектов был mirror на github, чем я и пользовался. Их gitlab периодически лежал, и мешал релизным процессам.
Но нет, нет покоя дуракам, все снесли - https://github.com/freedesktop/
Наверное, по какой-нить очень важной (нет) причине, опять сломали кучу моих урлов. Ну и пользователи будут страдать, потому что лежать оно будет довольно часто, судя по опыту.
https://github.com/GNOME тоже, наверное, долго не продержится, а жаль.
GitHub
freedesktop.org
You're looking for https://gitlab.freedesktop.org. GitHub is where freedesktop.org builds software.
🤔7👍6👎2❤1👌1
Коллега написал хвалебную статью про какой-то новый компилируемый заменитель питона, как будто мало их - https://www.fast.ai/posts/2023-05-03-mojo-launch.html #mojo
К языку имеет отношение небезызвестный Крис Латтнер (который LLVM/Swift/etc), поэтому я пошел почитать документацию.
Сломался я на https://docs.modular.com/mojo/programming-manual.html#using-the-mojo-compiler "You can run a Mojo program from a terminal just like you can with Python. So if you have a file named hello.mojo (or hello.🔥—yes, the file extension can be an emoji!)" - слушайте, ну пусть зумеры и хипстеры на таком программируют, а мне это даже не кажется смешным, если это шутка.
Наверное, опять какая-то попытка хайпануть на Python/ML/AI/whatever.
К языку имеет отношение небезызвестный Крис Латтнер (который LLVM/Swift/etc), поэтому я пошел почитать документацию.
Сломался я на https://docs.modular.com/mojo/programming-manual.html#using-the-mojo-compiler "You can run a Mojo program from a terminal just like you can with Python. So if you have a file named hello.mojo (or hello.🔥—yes, the file extension can be an emoji!)" - слушайте, ну пусть зумеры и хипстеры на таком программируют, а мне это даже не кажется смешным, если это шутка.
Наверное, опять какая-то попытка хайпануть на Python/ML/AI/whatever.
fast.ai
Mojo may be the biggest programming language advance in decades – fast.ai
Mojo is a new programming language, based on Python, which fixes Python’s performance and deployment problems.
😁8👍4🔥2🤔1🤮1😐1
Между прочим, тот, кто сегодня провисел весь день на главной https://lobste.rs/, и даже пару часов висел на первом месте - тот я!
Это прямо классно, в каком-то смысле, большое дело и достижение!
(не просьба накрутить лайки, если что)
Это прямо классно, в каком-то смысле, большое дело и достижение!
(не просьба накрутить лайки, если что)
🔥13👍11🤝4
https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
Статья от Amazon Prime про то, как можно сэкономить кучу бабла, перейдя с микросервисов на монолит. Это все, само по себе, давно известно и никому не интересно.
Но, знаете ли, пока я читал эту статью, у меня не проходило ощущение какого-то пиздеца. Потому что Amazon должен писать другие статьи - про то, как надо пилить все на микросервисы, запускать их в Лямбде и Функциях, и иметь свой "web scale".
Потому что вот эта вот неэффективность за счет масштабируемости - это же хлеб Амазона, они это продают.
Пчелы против меда какие-то, короче.
Статья от Amazon Prime про то, как можно сэкономить кучу бабла, перейдя с микросервисов на монолит. Это все, само по себе, давно известно и никому не интересно.
Но, знаете ли, пока я читал эту статью, у меня не проходило ощущение какого-то пиздеца. Потому что Amazon должен писать другие статьи - про то, как надо пилить все на микросервисы, запускать их в Лямбде и Функциях, и иметь свой "web scale".
Потому что вот эта вот неэффективность за счет масштабируемости - это же хлеб Амазона, они это продают.
Пчелы против меда какие-то, короче.
About Amazon
Entertainment
We create and provide access to world-class entertainment through Amazon Originals, Prime Video, Audible, Amazon Games, Twitch, Amazon Music, Prime Gaming, and more. Amazon’s digital entertainment products enable customers to access the latest apps and games…
😁14🔥4🤔4👎1