Примерно на 20-ом просмотре https://xn--r1a.website/itpgchannel/4280 я решил, что негоже пользоваться гойскими системами сборки, и для #shell ImGui Desktop (анонс, если кто пропустил - https://xn--r1a.website/itpgchannel/4275) мне нужна хорошая, годная, система сборки.
Надо сказать, что мне очень нравится пилить системы сборки, я за всю жизнь запилил их штук 10, часть inhouse - https://github.com/yandex/yatool, часть лежит на gihub. Тот же #IX - вполне себе система сборки.
Многие пользуются заслуженной популярностью!
В общем, если я за год не запилил систему сборки, то год прошел зря. За этот год я уже запилил две - https://github.com/pg83/ay, и вот теперь https://github.com/pg83/build.
По сути, это комбинация yatool выше (opensource версия нашей inhouse системы сборки ya), и meson.
От meson в ней способ описания сборочных файлов, только сильно проще:
https://github.com/pg83/gofra/blob/master/build.py
https://github.com/pg83/zutty/blob/master/build.py
В отличие от meson, это настоящий python, а не интерпретируемое подмножество, поэтому удобно делать всякие штуки, связанные с внешним окружением - всякого рода glob() по файлам/директориям, полуавтоматическое заведение новых таргетов при разумном устройстве fs, возможность скачать исходник из интернета, и так далее. Вот пример сложного сборочного файла, где это используется в хвост и в гриву - https://github.com/pg83/imway/blob/main/build.py.
К сожалению, это необходимо для сборки небольших oss проектов, поэтому это должно быть удобным.
От ya там, я бы это назвал, "общая вменяемость":
* мгновенное исполнение - раннер прямо встроен в тулзу, тулза строит граф, и тут же его выполняет
* пересборка не по timestamp, а по хешу от файлов и команд
* исходники парсятся, все их включения известны заранее, поэтому пересборка очень fine grained
* так как мы знаем все include для всех файлов, в том числе, от кодогенеренных таргетов, то совершенно не нужно указывать подробные зависимости, они будут выведены автоматически
* cas как хранилище артефактов
* норм кросс-компиляция
На КДПВ - результат сборки небольшого проекта. Половина моих читателей видела похожий output 100500 раз, я не люблю перепридумывать хорошие вещи.
Вся сборка - это один небольшой файл build, который копируется прямо в проект, как waf, поэтому сборка проекта самодостаточна.
Перевел на эту сборку весь свой C++ код, в том числе, #zutty, #shell, и доволен, как слон.
Я бы взял ya, но она не очень хорошо приспособлена для сборки небольших проектов, и очень для этого тяжеловесна.
Надо сказать, что мне очень нравится пилить системы сборки, я за всю жизнь запилил их штук 10, часть inhouse - https://github.com/yandex/yatool, часть лежит на gihub. Тот же #IX - вполне себе система сборки.
Многие пользуются заслуженной популярностью!
В общем, если я за год не запилил систему сборки, то год прошел зря. За этот год я уже запилил две - https://github.com/pg83/ay, и вот теперь https://github.com/pg83/build.
По сути, это комбинация yatool выше (opensource версия нашей inhouse системы сборки ya), и meson.
От meson в ней способ описания сборочных файлов, только сильно проще:
https://github.com/pg83/gofra/blob/master/build.py
https://github.com/pg83/zutty/blob/master/build.py
В отличие от meson, это настоящий python, а не интерпретируемое подмножество, поэтому удобно делать всякие штуки, связанные с внешним окружением - всякого рода glob() по файлам/директориям, полуавтоматическое заведение новых таргетов при разумном устройстве fs, возможность скачать исходник из интернета, и так далее. Вот пример сложного сборочного файла, где это используется в хвост и в гриву - https://github.com/pg83/imway/blob/main/build.py.
К сожалению, это необходимо для сборки небольших oss проектов, поэтому это должно быть удобным.
От ya там, я бы это назвал, "общая вменяемость":
* мгновенное исполнение - раннер прямо встроен в тулзу, тулза строит граф, и тут же его выполняет
* пересборка не по timestamp, а по хешу от файлов и команд
* исходники парсятся, все их включения известны заранее, поэтому пересборка очень fine grained
* так как мы знаем все include для всех файлов, в том числе, от кодогенеренных таргетов, то совершенно не нужно указывать подробные зависимости, они будут выведены автоматически
* cas как хранилище артефактов
* норм кросс-компиляция
На КДПВ - результат сборки небольшого проекта. Половина моих читателей видела похожий output 100500 раз, я не люблю перепридумывать хорошие вещи.
Вся сборка - это один небольшой файл build, который копируется прямо в проект, как waf, поэтому сборка проекта самодостаточна.
Перевел на эту сборку весь свой C++ код, в том числе, #zutty, #shell, и доволен, как слон.
Я бы взял ya, но она не очень хорошо приспособлена для сборки небольших проектов, и очень для этого тяжеловесна.
💊30❤13🔥9🤡4👍2
Forwarded from Hacker News
Nitter
levent (@__alpoge__)
hello there the jacobian conjecture is false thanx to my close friend akhil for asking about it and my other close friend fable for working during the world cup final
((1+xy)^3 z + y^2 (1+xy) (4+3xy), y + 3 x (1+xy)^2 z + 3 x y^2 (4+3xy), 2 x - 3 x^2 y…
((1+xy)^3 z + y^2 (1+xy) (4+3xy), y + 3 x (1+xy)^2 z + 3 x y^2 (4+3xy), 2 x - 3 x^2 y…
🔥33👎2🤣2❤1
Forwarded from 🌚Пятисотые на проде😱
This media is not supported in your browser
VIEW IN TELEGRAM
😁56🫡18💊10🤡4💩2✍1💯1
commit -m "better"
И я решил, что это будет "imgui desktop"!
Прогресс за выходные по https://xn--r1a.website/itpgchannel/4275 #shell:
* определился с концепцией UX - это будет клон Unity, которая была лучшая шелл под Linux, да и вообще, неплохо смотрелась. На КДПВ можно видеть почти финальный результат.
* форкнул #zutty, переписал на свою велосипедную либу, добавил порядка 600 автотестов, нашел ими 40!!! багов (как падений, проездов, так и ошибок в реализации протоколов), починил сломанный скроллинг, запилил line drawing characters, и реализовал все современные протоколы разом. Ну и ускорил, теперь мой Zutty не в 10 раз медленнее #foot, а в 2 раза быстрее, что уже очень достойно. А вы думали, что я буду терпеть тормозное говно в своем десктопе? #perf
* определился с концепцией UX - это будет клон Unity, которая была лучшая шелл под Linux, да и вообще, неплохо смотрелась. На КДПВ можно видеть почти финальный результат.
* форкнул #zutty, переписал на свою велосипедную либу, добавил порядка 600 автотестов, нашел ими 40!!! багов (как падений, проездов, так и ошибок в реализации протоколов), починил сломанный скроллинг, запилил line drawing characters, и реализовал все современные протоколы разом. Ну и ускорил, теперь мой Zutty не в 10 раз медленнее #foot, а в 2 раза быстрее, что уже очень достойно. А вы думали, что я буду терпеть тормозное говно в своем десктопе? #perf
❤37💊19🔥12👍4🆒2😱1
Forwarded from Откровения от Олега
У Кими закончились сервера и они временно закрыли покупку новых подписок
Как непрофессионально. Если Кими хочет представить себя мировой общественности как по-настройщему фронтирная AI лаборатория, они должны ДЕЙСТВОВАТЬ как таковая: например, тихо переключать людей на более дешевые модели, добавить экономящие ресурсы гардрейлы, и может быть написать блогпост или два про закат человечества
Как непрофессионально. Если Кими хочет представить себя мировой общественности как по-настройщему фронтирная AI лаборатория, они должны ДЕЙСТВОВАТЬ как таковая: например, тихо переключать людей на более дешевые модели, добавить экономящие ресурсы гардрейлы, и может быть написать блогпост или два про закат человечества
😁42👏32👍6💯4❤1
Forwarded from Мир Linux
Знаете ли вы, что 100% проблем безопасности GNOME отслеживает всего один сотрудник Red Hat?
А ещё Red Hat больше не передаёт разработчикам информацию НИ ОБ ОДНОЙ уязвимости в проектах, которые запрещают контент, сгенерированный ИИ.
И что с 1 ноября этот сотрудник Red Hat ВООБЩЕ перестанет отслеживать новые проблемы безопасности GNOME?
— говорит Майкл Катанзаро из Red Hat.
Так сейчас обстоят дела с безопасностью GNOME☕️
https://blogs.gnome.org/mcatanzaro/2026/07/20/some-changes-to-gnome-security-tracking/
@linuxos_tg
А ещё Red Hat больше не передаёт разработчикам информацию НИ ОБ ОДНОЙ уязвимости в проектах, которые запрещают контент, сгенерированный ИИ.
И что с 1 ноября этот сотрудник Red Hat ВООБЩЕ перестанет отслеживать новые проблемы безопасности GNOME?
«Больше никто не отслеживает проблемы безопасности GNOME»
— говорит Майкл Катанзаро из Red Hat.
Так сейчас обстоят дела с безопасностью GNOME
https://blogs.gnome.org/mcatanzaro/2026/07/20/some-changes-to-gnome-security-tracking/
@linuxos_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡27🥴12🤣5🔥4❤2🤮1💩1
Forwarded from Сиолошная
Два дня назад я писал, что часть инфраструктуры HuggingFace подверглась атаке и была частично взломана ИИ-агентом. Только что OpenAI признались, что... это была их модель, GPT-5.6-Sol и другая, более мощная предрелизная LLM.
Их тестировали на ExploitGym (бенчмарк по кибербезопасности), и модель сначала смогла найти новый, до этого неизвестный эксплойт в инфраструктуре OpenAI (это не было её задачей, её не натравили «поискать баги чтоб мы пофиксили»), оттуда раскрутиться на получение полноценного доступа в интернет (который по умолчанию обрезан в тестовой среде), а затем залезть на HuggingFace искать ответы для бенчмарка. После этого она нашла уязвимость и там, получила доступ к коду авторизации некоторых сервисов и продолжила искать ответы.
Этот инцидент без преуменьшения беспрецедентный, и я пока не могу представить, что должно произойти, чтобы политики, NSA, DOD и Китай не обратили на это внимание.
GPT-6 в конце августа нам видимо не ждать 🌚
Их тестировали на ExploitGym (бенчмарк по кибербезопасности), и модель сначала смогла найти новый, до этого неизвестный эксплойт в инфраструктуре OpenAI (это не было её задачей, её не натравили «поискать баги чтоб мы пофиксили»), оттуда раскрутиться на получение полноценного доступа в интернет (который по умолчанию обрезан в тестовой среде), а затем залезть на HuggingFace искать ответы для бенчмарка. После этого она нашла уязвимость и там, получила доступ к коду авторизации некоторых сервисов и продолжила искать ответы.
Этот инцидент без преуменьшения беспрецедентный, и я пока не могу представить, что должно произойти, чтобы политики, NSA, DOD и Китай не обратили на это внимание.
GPT-6 в конце августа нам видимо не ждать 🌚
😁43🤡8🔥3
Сиолошная
Два дня назад я писал, что часть инфраструктуры HuggingFace подверглась атаке и была частично взломана ИИ-агентом. Только что OpenAI признались, что... это была их модель, GPT-5.6-Sol и другая, более мощная предрелизная LLM. Их тестировали на ExploitGym (бенчмарк…
Парадоксально, но я не вижу у этой задачи никакого настоящего (а не "театр безопасности") решения, кроме как давать доступ к сильным моделям всем желающим.
Если так не делать, то у злоумышленников такой доступ все равно останется, и у правительств тоже. И твой сайт/программа, не будучи профажженой сильной моделью, будет беззащитен.
Если сравнивать с прошлым, то это примерно как запретить доступ к address sanitizer/libfuzzer, когда они только появились, потому что уязвимости они искали тоже очень хорошо.
А потом перестали, потому что все их встроили в pipeline.
Так же должно произойти и с сильными моделями. И, через какое-то время пиздеца и расколбаса, модели перестанут находить новые дыры.
Но, очевидно, не произойдет.
Если так не делать, то у злоумышленников такой доступ все равно останется, и у правительств тоже. И твой сайт/программа, не будучи профажженой сильной моделью, будет беззащитен.
Если сравнивать с прошлым, то это примерно как запретить доступ к address sanitizer/libfuzzer, когда они только появились, потому что уязвимости они искали тоже очень хорошо.
А потом перестали, потому что все их встроили в pipeline.
Так же должно произойти и с сильными моделями. И, через какое-то время пиздеца и расколбаса, модели перестанут находить новые дыры.
Но, очевидно, не произойдет.
👍26🤡15💊5❤3🤝3💯2👎1🔥1
commit -m "better"
* форкнул #zutty, переписал на свою велосипедную либу, добавил порядка 600 автотестов, нашел ими 40!!! багов (как падений, проездов, так и ошибок в реализации протоколов), починил сломанный скроллинг, запилил line drawing characters, и реализовал все современные протоколы разом. Ну и ускорил, теперь мой Zutty не в 10 раз медленнее #foot, а в 2 раза быстрее, что уже очень достойно. А вы думали, что я буду терпеть тормозное говно в своем десктопе? #perf
Смех смехом, но #zutty я переписал почти полностью, и, кажется, пора менять брендинг.
В голове, с учетом традиции нейминга терминалов, *tty, пока крутится shitty, но я еще не решил окончательно!
В голове, с учетом традиции нейминга терминалов, *tty, пока крутится shitty, но я еще не решил окончательно!
😁48👍9🤡4💊2🌭1
Надо выбрать!
Anonymous Poll
43%
shitty — ну вы поняли
20%
pretty — как я его раньше упустил!
47%
titty — ну вы поняли
13%
witty — остроумный
20%
fatty — статлинковка
12%
dotty — тронутый
🤡12💊8🔥4😁4🌭2
commit -m "better"
добавил порядка 600 автотестов, нашел ими 40!!! багов (как падений, проездов, так и ошибок в реализации протоколов)
https://xn--r1a.website/itpgchannel/4285 писал, что запилил порядка 600 автотестов.
Но вчера мне пришла в голову, не побоюсь этого слова, совершенно гениальная идея!
Я решил "ограбить опенсорс", и ограбил, и теперь доволен, как слон.
Короче, я заставил #LLM скачивать локально репозитории open source терминалов, брать их интеграционные тесты, и добавлять в нашу базу. Попутно исправляя все баги, что у нас найдутся.
Конечно, не все так просто, сначала мы составили детальный план ограбления https://github.com/pg83/zutty/blob/1ed5347fa39f8e8df25a1b570a503297ce83bef1/PLAN.md - что воровать в первую очередь, а что потом, как понимать, у кого реально баг - у нас, или у них, и так далее. Но суть от этого не меняется.
Машина трудится в поте лица уже сутки, не переставая, и потырила нам уже 2500 тестов, попутно починив еще пару десятков багов, и это только начало!
Поименный список ограбленных проектов: https://github.com/pg83/zutty/tree/master/tests
Очень, очень хорошо.
С учетом того, что я еще пофаззил #zutty (5 проездов, между прочим), у меня будет один из самых надежных и соответствующих стандартам терминалов!
Отдельно замечу, что очень здорово, что вовремя перешел на свою систему сборки, интегрировать эту кашу куда-то еще было бы очень затруднительно.
#shell
Но вчера мне пришла в голову, не побоюсь этого слова, совершенно гениальная идея!
Я решил "ограбить опенсорс", и ограбил, и теперь доволен, как слон.
Короче, я заставил #LLM скачивать локально репозитории open source терминалов, брать их интеграционные тесты, и добавлять в нашу базу. Попутно исправляя все баги, что у нас найдутся.
Конечно, не все так просто, сначала мы составили детальный план ограбления https://github.com/pg83/zutty/blob/1ed5347fa39f8e8df25a1b570a503297ce83bef1/PLAN.md - что воровать в первую очередь, а что потом, как понимать, у кого реально баг - у нас, или у них, и так далее. Но суть от этого не меняется.
Машина трудится в поте лица уже сутки, не переставая, и потырила нам уже 2500 тестов, попутно починив еще пару десятков багов, и это только начало!
Поименный список ограбленных проектов: https://github.com/pg83/zutty/tree/master/tests
Очень, очень хорошо.
С учетом того, что я еще пофаззил #zutty (5 проездов, между прочим), у меня будет один из самых надежных и соответствующих стандартам терминалов!
Отдельно замечу, что очень здорово, что вовремя перешел на свою систему сборки, интегрировать эту кашу куда-то еще было бы очень затруднительно.
#shell
Telegram
commit -m "better"
Прогресс за выходные по https://xn--r1a.website/itpgchannel/4275 #shell:
* определился с концепцией UX - это будет клон Unity, которая была лучшая шелл под Linux, да и вообще, неплохо смотрелась. На КДПВ можно видеть почти финальный результат.
* форкнул #zutty, переписал…
* определился с концепцией UX - это будет клон Unity, которая была лучшая шелл под Linux, да и вообще, неплохо смотрелась. На КДПВ можно видеть почти финальный результат.
* форкнул #zutty, переписал…
🔥66💊20😁15❤9👍4💩2🆒1
Forwarded from opennet.ru
Дерево портов FreeBSD временно заморожено из-за добавления в порты слишком большого файла
Разработчики FreeBSD объявили о решении временно заморозить репозиторий с деревом портов в связи с инцидентом, вызванным помещением в порты бинарного файла, размером 150 МБ. Данная операция привела к нарушению зеркалирования портов на GitHub из-за превышения ограничения на максимальный размер файла, которое на GitHub составляет 100 МБ. Для проведения чистки и удаления из истории репозитория бинарных данных с сомнительной лицензией введена заморозка от внесения изменений, которая продолжается уже около двух суток. Информация о том, как подобный файл был помещён в дерево портов пока не приводится, но утверждается, что нет оснований считать репозиторий скомпрометированным.
Подробнее:
https://opennet.ru/65966/
https://opennet.me/65966/
Разработчики FreeBSD объявили о решении временно заморозить репозиторий с деревом портов в связи с инцидентом, вызванным помещением в порты бинарного файла, размером 150 МБ. Данная операция привела к нарушению зеркалирования портов на GitHub из-за превышения ограничения на максимальный размер файла, которое на GitHub составляет 100 МБ. Для проведения чистки и удаления из истории репозитория бинарных данных с сомнительной лицензией введена заморозка от внесения изменений, которая продолжается уже около двух суток. Информация о том, как подобный файл был помещён в дерево портов пока не приводится, но утверждается, что нет оснований считать репозиторий скомпрометированным.
Подробнее:
https://opennet.ru/65966/
https://opennet.me/65966/
😁30👏5❤2🆒1
commit -m "better"
В голове, с учетом традиции нейминга терминалов, *tty, пока крутится shitty, но я еще не решил окончательно!
Меня тут в комментариях потроллили, что, мол, я публикую код под GPL3, хотя сильно против этого #GNU.
Дело в том, что #zutty исходно идет под GPL3, что делает его вирусным продуктом.
Я в ответ потроллил коллег, что переписываю #zutty с GPL на MIT - https://github.com/pg83/shitty/blob/master/CONTRIBUTING.md
Ох как порвало копилефтоблядей в комментариях, от "один раз замазался - уже назад дороги нет", до "ты вор!", и "так нельзя!".
Удивительно, как любители швабодки одновременно любят тырить код под свободными лицензиями типа MIT/BSD в свой копилефтомир, и при этом совершенно не переносят того, что их код тоже можно "отмыть" от вируса под названием GPL. Сложно, но можно.
Так как такое переписывание требует каких-то телодвижений, мне пришлось разметить весь (новый!) код плашкой:
Сижу и ржу, не назвать ли это
#shitty
Дело в том, что #zutty исходно идет под GPL3, что делает его вирусным продуктом.
Я в ответ потроллил коллег, что переписываю #zutty с GPL на MIT - https://github.com/pg83/shitty/blob/master/CONTRIBUTING.md
Ох как порвало копилефтоблядей в комментариях, от "один раз замазался - уже назад дороги нет", до "ты вор!", и "так нельзя!".
Удивительно, как любители швабодки одновременно любят тырить код под свободными лицензиями типа MIT/BSD в свой копилефтомир, и при этом совершенно не переносят того, что их код тоже можно "отмыть" от вируса под названием GPL. Сложно, но можно.
Так как такое переписывание требует каких-то телодвижений, мне пришлось разметить весь (новый!) код плашкой:
/*
* Copyright (C) 2026 Shitty team
* MIT licensed
* See the file LICENSE.MIT for the full license.
*/
Сижу и ржу, не назвать ли это
The Shitties, всегда хотел стать фронтменом панкрок группы!#shitty
🤡40😁30💩7🔥6❤5👍4💊3👎1🌚1
#imgui #shell
Запилил с фабулой очень крутую штуку, AFAIK сейчас так никто не делает, и делать не умеет.
TL;DR - эмулятор KMS в userspace.
Современные wayland композиторы тестируют почти end to end - от потока команд до реальной картинки, которую должен увидеть пользователь.
За одним маленьким исключением - никто не знает, что на самом деле пользователь увидит, потому что то, что он увидит, определяет не только картинка, но и настройки самого output (встроенный экран, внешний монитор, и так далее) - sdr/hdr, цветовое пространство, яркость, разрешение и частота, vsync, edid, и так далее, и так далее.
Вот, насколько я знаю, современные композиторы (как и я раньше) тестируются в headless mode - до рендеринга картинки в bitmap, а дальше все.
Но это очень важная часть - она включает в себя подключение и отключение output на лету, смену его режимов, failure injection (на твою коробочку села кошка, и статика с нее ебнула в hdmi кабель, true story), на все это надо уметь реагировать корректно.
Чтобы это тестировать end to end, мы с фабулой запилили эмулятор этой state machine - https://github.com/pg83/imway/blob/main/kms_fake.cpp
Фактически, перехватили парочку сисколлов, https://github.com/pg83/imway/blob/main/kms_fake.cpp#L1209-L1251, и дали тестовой машинерии управлять этой state machine.
Конечно, сразу нашли кучу багов, связанных c connect/disconnect, и прочим HDR настройками.
Уверяю, что сейчас ни один другой композитор так не тестируется.
Запилил с фабулой очень крутую штуку, AFAIK сейчас так никто не делает, и делать не умеет.
TL;DR - эмулятор KMS в userspace.
Современные wayland композиторы тестируют почти end to end - от потока команд до реальной картинки, которую должен увидеть пользователь.
За одним маленьким исключением - никто не знает, что на самом деле пользователь увидит, потому что то, что он увидит, определяет не только картинка, но и настройки самого output (встроенный экран, внешний монитор, и так далее) - sdr/hdr, цветовое пространство, яркость, разрешение и частота, vsync, edid, и так далее, и так далее.
Вот, насколько я знаю, современные композиторы (как и я раньше) тестируются в headless mode - до рендеринга картинки в bitmap, а дальше все.
Но это очень важная часть - она включает в себя подключение и отключение output на лету, смену его режимов, failure injection (на твою коробочку села кошка, и статика с нее ебнула в hdmi кабель, true story), на все это надо уметь реагировать корректно.
Чтобы это тестировать end to end, мы с фабулой запилили эмулятор этой state machine - https://github.com/pg83/imway/blob/main/kms_fake.cpp
// Everything KMS that device_kms.cpp needs, modeled in userspace: the
// object/property tables, atomic commits with page-flip events on a real
// pipe, framebuffer and GEM bookkeeping. Rendering stays on the real GPU;
// syncobj ioctls forward to a companion render node so explicit sync is
// backed by genuine kernel fences. The point is a scriptable state machine:
// tests can flip the connector or make commits fail on demand.
Фактически, перехватили парочку сисколлов, https://github.com/pg83/imway/blob/main/kms_fake.cpp#L1209-L1251, и дали тестовой машинерии управлять этой state machine.
Конечно, сразу нашли кучу багов, связанных c connect/disconnect, и прочим HDR настройками.
Уверяю, что сейчас ни один другой композитор так не тестируется.
GitHub
imway/kms_fake.cpp at main · pg83/imway
Contribute to pg83/imway development by creating an account on GitHub.
🔥22👍7🤡5❤2💊1