commit -m "better"
Продолжал эксперименты с #imgui Выяснил, что оно фигачит 60rps даже в моменты, когда это не требуется от слова совсем - https://github.com/ocornut/imgui/pull/5116 Ну, то есть, gui должен перерисовываться только в случае прихода какого-то event, от мышки…
https://github.com/ocornut/imgui/releases/tag/v1.90
Люблю рассматривать релизы #imgui, потому что там всегда есть список новых приложений, которые его используют.
Это вообще какая-то совершенно потрясающая вещь - в списке каждый раз 10 - 20 новых приложений, это примерно столько же, сколько во всем Gnome core.
Судя по всему, на imgui очень легко писать сложные gui, нужные для тулинга, и которые нужно написать быстро, а завтра - выкинуть. И в этом процессе нет места вылизыванию blur на уголках окон по 100500 раз.
Короче, промышленный инструмент, а не вот эти ваши изыски над css.
Мне очень импонирует идея gui как очень тонкой прослойки над системным 3D API, потому что все классические gui типа qt/gtk, которые интегрировали 3d постфактум, сделали это плохо, неполно, и поэтому ты не знаешь, какая часть сцены у тебя отрендерится в 3d, и что приведет к тому, что случится 100500 копирований какого-нибудь буффера из/в память видеокарты.
К сожалению, в Linux 3d драйвера - это .so в userspace, вместо того, чтобы быть каким-нибудь dbus daemon, который бы умел кешировать и компилировать шейдерные программы, что не очень изящно ложится в мою модель статической линковки (бинари довольно заметно распухают, это не то чтобы сильно важно, но как-то "неаккуратно").
Поэтому я, конечно, очень жду, когда gui можно будет компилировать в что-то типа #WASM #WASI, и чтобы 3d драйвера жили исключительно в одном бинаре с WebAssembly VM, о как. Это, если что, не влажная фантазия, у вас прямо сейчас так работает webgl в браузере!
Люблю рассматривать релизы #imgui, потому что там всегда есть список новых приложений, которые его используют.
Это вообще какая-то совершенно потрясающая вещь - в списке каждый раз 10 - 20 новых приложений, это примерно столько же, сколько во всем Gnome core.
Судя по всему, на imgui очень легко писать сложные gui, нужные для тулинга, и которые нужно написать быстро, а завтра - выкинуть. И в этом процессе нет места вылизыванию blur на уголках окон по 100500 раз.
Короче, промышленный инструмент, а не вот эти ваши изыски над css.
Мне очень импонирует идея gui как очень тонкой прослойки над системным 3D API, потому что все классические gui типа qt/gtk, которые интегрировали 3d постфактум, сделали это плохо, неполно, и поэтому ты не знаешь, какая часть сцены у тебя отрендерится в 3d, и что приведет к тому, что случится 100500 копирований какого-нибудь буффера из/в память видеокарты.
К сожалению, в Linux 3d драйвера - это .so в userspace, вместо того, чтобы быть каким-нибудь dbus daemon, который бы умел кешировать и компилировать шейдерные программы, что не очень изящно ложится в мою модель статической линковки (бинари довольно заметно распухают, это не то чтобы сильно важно, но как-то "неаккуратно").
Поэтому я, конечно, очень жду, когда gui можно будет компилировать в что-то типа #WASM #WASI, и чтобы 3d драйвера жили исключительно в одном бинаре с WebAssembly VM, о как. Это, если что, не влажная фантазия, у вас прямо сейчас так работает webgl в браузере!
GitHub
Release v1.90 · ocornut/imgui
1.90
Reading the changelog is a good way to keep up to date with the things Dear ImGui has to offer, and maybe will give you ideas of some features that you've been ignoring until now!
📣 Click ...
Reading the changelog is a good way to keep up to date with the things Dear ImGui has to offer, and maybe will give you ideas of some features that you've been ignoring until now!
📣 Click ...
👍12🥰4🤔3🤯2🐳1
За последние несколько дней вышло:
* 3 минорных версии libheif
* 2 минорных версии libde265
* 2 минорных версии libaom
Это жжж неспроста, они там явно что-то судорожно чинят!
* 3 минорных версии libheif
* 2 минорных версии libde265
* 2 минорных версии libaom
Это жжж неспроста, они там явно что-то судорожно чинят!
🤔9❤3👍3👌2
https://glandium.org/blog/?p=4346
Классный рассказ про то, как git вытеснял hg в Mozilla.
Из него я узнал, что однажды зеркало mozilla в github этот самый github немного сломало - https://bugzilla.mozilla.org/show_bug.cgi?id=943132#c8
TL;DR - hg был медленнее, и написал его не Linus, поэтому пользователей у него было мало, и тулинг, со временем, все больше и больше отставал от git.
Мы, кстати, в какой-то момент, вследом за FB, тоже пытались играть с hg, но, к счастью, нас довольно быстро отпустило, и мы запилили свою систему контроля версий.
(разумеется, она пижже, чем git, потому что умеет в монорепу, и умеет в упрощенный flow, типа svn commit, без иызысков с индексом и прочими усложнениями от git)
Классный рассказ про то, как git вытеснял hg в Mozilla.
Из него я узнал, что однажды зеркало mozilla в github этот самый github немного сломало - https://bugzilla.mozilla.org/show_bug.cgi?id=943132#c8
TL;DR - hg был медленнее, и написал его не Linus, поэтому пользователей у него было мало, и тулинг, со временем, все больше и больше отставал от git.
Мы, кстати, в какой-то момент, вследом за FB, тоже пытались играть с hg, но, к счастью, нас довольно быстро отпустило, и мы запилили свою систему контроля версий.
(разумеется, она пижже, чем git, потому что умеет в монорепу, и умеет в упрощенный flow, типа svn commit, без иызысков с индексом и прочими усложнениями от git)
bugzilla.mozilla.org
943132 - Determine why github mozilla/mozilla-central has been removed from service by github
RESOLVED (nobody) in Developer Services - Mercurial: hg.mozilla.org. Last updated 2014-10-02.
❤13👍7🫡3🤮1🏆1
Есть такая утилита - neofetch, обычно ее используют, когда делают скриншот с каким-нибудь особенно всратым образом настроенным sway, или там waybar - https://www.reddit.com/r/unixporn/
Я решил попробовать ее альтернативу, под названием https://github.com/fastfetch-cli/fastfetch
Конечно, она ничего интересного не смогла рассказать про мою OS, потому что все обычные способы определения чего-то там в ней были сломаны.
Но вот глаз зацепился за то, что, в качестве terminal emulator она мне писала "mc".
Я полез разбираться, как автору этой замечательной программы получилось добиться такого потрясающего результата.
Мама дорогая...
https://github.com/fastfetch-cli/fastfetch/blob/dev/src/detection/terminalshell/terminalshell_linux.c#L134-L146
https://github.com/fastfetch-cli/fastfetch/blob/dev/src/detection/terminalshell/terminalshell_linux.c#L153-L170
Чувак обходит дерево процессов, начиная с себя, и отсеивая то, что, по его мнению, терминалом быть не может.
Так как "mc" у него не был прописан в этих списках, то он на нем останавливался, и поднимал лапки.
Задумался, как бы эту задачу решить правильно.
Какие-то простые штуки, типа "session leader", "владелец теминала, в который я сейчас пишу", наткнулись на то, что авторы тех или иных оболочек вообще не понимают, как устроены process group, sessions, и так далее, в unix, и делают какие-то совершенно странные штуки (типа, создают сессию, когда она совершенно не нужна по логике вещей). Впрочем, я тоже в этом плохо разбираюсь, да и сами авторы этого кода в Linux (unix) тоже.
Норм работает тема "а вот у какого процесса вверх по дереву есть открытый fd в wayland/x11 socket", но это было уже слишком сложно, и я передумал это дело патчить.
Просто добавил "mc" в список исключений, и оно "заработало".
https://github.com/pg83/ix/blob/main/pkgs/bin/fastfetch/ix.sh#L25
Еще автор зачем-то запустил все детекторы фичей в отдельных тредах, но это уже какое-то "горе от ума", у него накладные расходы на запуск тредов больше, чем профит от распараллеливания, ну да и хрен бы с ним.
Я решил попробовать ее альтернативу, под названием https://github.com/fastfetch-cli/fastfetch
Конечно, она ничего интересного не смогла рассказать про мою OS, потому что все обычные способы определения чего-то там в ней были сломаны.
Но вот глаз зацепился за то, что, в качестве terminal emulator она мне писала "mc".
Я полез разбираться, как автору этой замечательной программы получилось добиться такого потрясающего результата.
Мама дорогая...
https://github.com/fastfetch-cli/fastfetch/blob/dev/src/detection/terminalshell/terminalshell_linux.c#L134-L146
https://github.com/fastfetch-cli/fastfetch/blob/dev/src/detection/terminalshell/terminalshell_linux.c#L153-L170
Чувак обходит дерево процессов, начиная с себя, и отсеивая то, что, по его мнению, терминалом быть не может.
Так как "mc" у него не был прописан в этих списках, то он на нем останавливался, и поднимал лапки.
Задумался, как бы эту задачу решить правильно.
Какие-то простые штуки, типа "session leader", "владелец теминала, в который я сейчас пишу", наткнулись на то, что авторы тех или иных оболочек вообще не понимают, как устроены process group, sessions, и так далее, в unix, и делают какие-то совершенно странные штуки (типа, создают сессию, когда она совершенно не нужна по логике вещей). Впрочем, я тоже в этом плохо разбираюсь, да и сами авторы этого кода в Linux (unix) тоже.
Норм работает тема "а вот у какого процесса вверх по дереву есть открытый fd в wayland/x11 socket", но это было уже слишком сложно, и я передумал это дело патчить.
Просто добавил "mc" в список исключений, и оно "заработало".
https://github.com/pg83/ix/blob/main/pkgs/bin/fastfetch/ix.sh#L25
Еще автор зачем-то запустил все детекторы фичей в отдельных тредах, но это уже какое-то "горе от ума", у него накладные расходы на запуск тредов больше, чем профит от распараллеливания, ну да и хрен бы с ним.
Reddit
r/unixporn - the home for *NIX customization!
Submit screenshots of all your *NIX desktops, themes, and nifty configurations, or submit anything else that will make ricers happy. Maybe a server running on an Amiga, or a Thinkpad signed by Bjarne Stroustrup? Show the world how pretty your computer can…
👍5🔥3❤2🤔2
https://www.opennet.ru/opennews/art.shtml?num=60173
Тут вот проект opensuse ищет новый логотип.
Я бы им, конечно, предложил сабж (pepe clown)
Тут вот проект opensuse ищет новый логотип.
Я бы им, конечно, предложил сабж (pepe clown)
🤡19😁8❤2👍1🔥1
Мне вот интересно, как в Arch проезжают новые версии софта?
Вот есть такая https://archlinux.org/packages/core/x86_64/libxml2/
Я ее уже накатывал-откатывал 2 раза, потому что они перехреначили API по заголовочным файлам в последней версии, и половина проектов перестала компилироваться, потому что в включенных ими заголовках нет нужных функций.
Но, при этом, если собрать .so, то она обратно совместима. Потому что все нужные символы остались, просто лежат в других файлах.
Получается, Arch тащит к себе код, с которым можно динамически слинковаться, а вот пересобраться уже не получится?
Как так?
Вот есть такая https://archlinux.org/packages/core/x86_64/libxml2/
Я ее уже накатывал-откатывал 2 раза, потому что они перехреначили API по заголовочным файлам в последней версии, и половина проектов перестала компилироваться, потому что в включенных ими заголовках нет нужных функций.
Но, при этом, если собрать .so, то она обратно совместима. Потому что все нужные символы остались, просто лежат в других файлах.
Получается, Arch тащит к себе код, с которым можно динамически слинковаться, а вот пересобраться уже не получится?
Как так?
😈10❤3🔥3
https://www.forrestthewoods.com/blog/dependencies-belong-in-version-control/
Тут вот коллега пишет, что надо, мол, clang.exe класть прямо в VCS, и расписывает, как было бы много профитов у такого решения.
Это, конечно, безумие, потому что тогда надо класть все зависимости для всех разнообразных вариантов поддерживаемых платформ, как host, так и target.
И вся эта красота разваливается, когда нужно проапдейтить zlib.
Чувак хочет дешевой воспроизводимости, нашел простое и дуболомное решение (ему простительно, он из геймдева, там и компиляторов-то, отличных от MSVC, и не видели, наверное), и остановился на нем.
В репозиторий нужно класть якоря - ссылки на метапакетные системы, типа flake.nix, ix.h, и так далее, чтобы они готовили контролируемое и воспроизводимое окружение, в котором бы ты запускал свою сборку, которая должна быть максимально простой, без configure в 10к строк.
И действительно, зачем кешировать зависимости в git (или другой vcs), когда тебе их, в один момент, привезут на хост ровно в том виде, в котором ты их ожидаешь?
Тут вот коллега пишет, что надо, мол, clang.exe класть прямо в VCS, и расписывает, как было бы много профитов у такого решения.
Это, конечно, безумие, потому что тогда надо класть все зависимости для всех разнообразных вариантов поддерживаемых платформ, как host, так и target.
И вся эта красота разваливается, когда нужно проапдейтить zlib.
Чувак хочет дешевой воспроизводимости, нашел простое и дуболомное решение (ему простительно, он из геймдева, там и компиляторов-то, отличных от MSVC, и не видели, наверное), и остановился на нем.
В репозиторий нужно класть якоря - ссылки на метапакетные системы, типа flake.nix, ix.h, и так далее, чтобы они готовили контролируемое и воспроизводимое окружение, в котором бы ты запускал свою сборку, которая должна быть максимально простой, без configure в 10к строк.
И действительно, зачем кешировать зависимости в git (или другой vcs), когда тебе их, в один момент, привезут на хост ровно в том виде, в котором ты их ожидаешь?
Forrestthewoods
Dependencies Belong in Version Control
Why dependencies should be checked into version control.
👍15🔥3❤2
Эчпочмак, оставленный на послевчера
Photo
- Когда я встречу свою любовь?
- Погоди пару минут, кластер Кубера навернется...
- Погоди пару минут, кластер Кубера навернется...
😁17🔥10❤3🤡2🫡1
Forwarded from Нейродвиж
This media is not supported in your browser
VIEW IN TELEGRAM
Неожиданные жертвы снегопада. Благо, неравнодушные москвичи помогают роверам выбраться из снега.
Когда-нибудь ИИ попытается захватить мир, но его остановит погода.
Когда-нибудь ИИ попытается захватить мир, но его остановит погода.
🥰21😁9😢4😐2❤1
https://www.phoronix.com/news/RHEL10-Removing-X.Org
RH в 2025 собирается отказаться от поставки Xorg, длястрадающих наслаждающихся всех остальных останется Xwayland - реализация X11 поверх wayland.
"This decision will allow us to focus our efforts starting from RHEL 10 solely on a modern stack and ecosystem. This means we will be able to tackle problems such as HDR, increased security, setups with mixed low and high density displays or very high density displays, better GPU/Display hot-plugging, better gestures and scrolling, and so on. We are confident that Wayland will provide a solid platform and we’re excited to work with the community and all of our partners and customers on building the future for Linux"
Так-то, если убрать фанатизм, то это очень взвешенное техническое решение - нехер распыляться на 2 стека.
Читать надо, конечно, не новость, но комментарии к ней - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1424648-red-hat-enterprise-linux-10-dropping-the-x-org-server-except-for-xwayland
Как владелец wayland-only дистрибутива, не могу не пожелать коллегам удачи на этом тернистом пути.
RH в 2025 собирается отказаться от поставки Xorg, для
"This decision will allow us to focus our efforts starting from RHEL 10 solely on a modern stack and ecosystem. This means we will be able to tackle problems such as HDR, increased security, setups with mixed low and high density displays or very high density displays, better GPU/Display hot-plugging, better gestures and scrolling, and so on. We are confident that Wayland will provide a solid platform and we’re excited to work with the community and all of our partners and customers on building the future for Linux"
Так-то, если убрать фанатизм, то это очень взвешенное техническое решение - нехер распыляться на 2 стека.
Читать надо, конечно, не новость, но комментарии к ней - https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1424648-red-hat-enterprise-linux-10-dropping-the-x-org-server-except-for-xwayland
Как владелец wayland-only дистрибутива, не могу не пожелать коллегам удачи на этом тернистом пути.
Phoronix
Red Hat Enterprise Linux 10 Dropping The X.Org Server Except For XWayland
Red Hat has formally confirmed what many were thinking: Red Hat Enterprise Linux 10 will be doing away with X.Org Server support aside from XWayland.
❤9🔥5👌2🆒2👍1🤔1
🤣15👍7❤2
commit -m "better"
Я тут собирал #kitty под Linux, прост потому что мне не нравится, когда в репозитории есть сломанные таргеты. Так-то я использую #foot И у меня случилось всяких разрозненных мыслей по этому поводу. * Всю эту бодягу как писал индус #Ковид, так и продолжает…
#зумеры #rust #rant
Вот есть такой https://wezfurlong.org/wezterm/index.html - весь из себя ниибаца безопасный и на Rust. 11k звезд на github. Альтернатива #alacritty, потому что а почему бы и нет?
Его намертво вешает вот такая программа:
Мораль?
Ну вот не падает программа, написанная пионером, а уходит в бесконечный цикл - кому от этого легче?
Вот есть такой https://wezfurlong.org/wezterm/index.html - весь из себя ниибаца безопасный и на Rust. 11k звезд на github. Альтернатива #alacritty, потому что а почему бы и нет?
Его намертво вешает вот такая программа:
pg# cat qw.py
import sys
for i in range(0, 10000):
sys.stdout.write(chr(i))
Мораль?
Ну вот не падает программа, написанная пионером, а уходит в бесконечный цикл - кому от этого легче?
wezfurlong.org
Wezterm - Wez Furlong
Wez Furlong's blog
💅12😁9👍5🤮1