ITTales :(){ :|:& };:
Кстати, если кому-то вдруг нечем заняться на входных. Мы тут запилили нормальный helm diff для флакса, скоро будет официальный анонс, с описанием нашего флоу разработки. А пока можно поиграться: https://github.com/cozystack/cozypkg
Привет всем, мы тут выпустили тулзу cozypkg и описали наш флоу локальной разработки под Helm и Flux CD
https://habr.com/ru/companies/aenix/articles/918990/
https://habr.com/ru/companies/aenix/articles/918990/
Хабр
Cozypkg: как мы упростили локальную разработку с Helm + Flux
Привет! Я Андрей Квапил (или kvaps) и в этой статье я опишу наш путь организации доставки приложений в Kubernetes, объясню недостатки классического GitOps в локальной разработке и покажу, как новая...
🔥11
Forwarded from 𝚔𝚟𝚊𝚙𝚜
К слову о дичи, я тут давеча с ресурсами и реквестами разбирался в одном кластере. Написал целую тулзу
Возможно кому-то будет полезно
https://github.com/aenix-io/kubectl-ps
Синтаксис позабористее чем у
https://github.com/aenix-io/kubectl-ps
kubectl ps, это эдакий kubectl top но на стеройдах, умеет реквесты/лимиты показывать и по всякому их сравнивать с реальным потреблением. Возможно кому-то будет полезно
https://github.com/aenix-io/kubectl-ps
Синтаксис позабористее чем у
ps aux получился, в общем любой фидбек приветствуетсяhttps://github.com/aenix-io/kubectl-ps
GitHub
GitHub - aenix-io/kubectl-ps: Command kubectl-ps is a kubectl plugin that prints ps-style resource tables for pods, nodes and namespaces.
Command kubectl-ps is a kubectl plugin that prints ps-style resource tables for pods, nodes and namespaces. - aenix-io/kubectl-ps
🔥17👍8❤1
Forwarded from 𝚔𝚟𝚊𝚙𝚜
Мне тут прислали статью про убийцу etcd
https://www.clever-cloud.com/blog/company/2025/06/27/why-we-finally-built-our-own-managed-kubernetes-etcd/
https://www.clever-cloud.com/blog/company/2025/06/27/why-we-finally-built-our-own-managed-kubernetes-etcd/
Clever Cloud
Why we (finally) built our own managed Kubernetes | Clever Cloud
Clever Cloud has created its own managed Kubernetes by completely rewriting ETCD, the K8S database, discover it.
🔥4💊1
Я тут за последние пару дней упоролся по генераторам.
Для начала портировал Helm readme-generator от Bitnami на Go
https://github.com/cozystack/readme-generator-for-helm
Для начала портировал Helm readme-generator от Bitnami на Go
https://github.com/cozystack/readme-generator-for-helm
GitHub
GitHub - cozystack/readme-generator-for-helm: Auto generate READMEs for Helm Charts
Auto generate READMEs for Helm Charts. Contribute to cozystack/readme-generator-for-helm development by creating an account on GitHub.
🔥6
Позже появилось понимание что имеющегося DSL недостаточно для описания качественной OpenAPI схемы для Helm, пришлось изобретать свой собственный. Вот что получилось:
И тулза, которая генерит README, гошные типы и валидную openapi схему из этого всего, с помощью controller-gen.
https://github.com/cozystack/cozyvalues-gen
Больше примеров в папочке examples
## @param users {map[string]user} Users configuration
## @field user/password {*string} Password for the user
## @field user/replication {*bool} Whether the user has replication privileges
##
## Example:
## users:
## user1:
## password: strongpassword
## user2:
## password: hackme
## airflow:
## password: qwerty123
## debezium:
## replication: true
##
users: {}И тулза, которая генерит README, гошные типы и валидную openapi схему из этого всего, с помощью controller-gen.
https://github.com/cozystack/cozyvalues-gen
Больше примеров в папочке examples
GitHub
GitHub - cozystack/cozyvalues-gen: OpenAPI schema and README generator for Helm
OpenAPI schema and README generator for Helm. Contribute to cozystack/cozyvalues-gen development by creating an account on GitHub.
🔥1
Все линупсы превратятся в сентябре в тыкву
Статья рассказывает о предстоящем истечении срока действия сертификата Secure Boot, используемого для подписания первого этапа UEFI‑загрузчика ("shim"). Этот сертификат, выпущенный Microsoft, перестанет быть действительным в сентябре, что может привести к тому, что Linux‑системы с включённым Secure Boot перестанут загружаться.
https://lwn.net/SubscriberLink/1029767/08f1d17c020e8292/
Статья рассказывает о предстоящем истечении срока действия сертификата Secure Boot, используемого для подписания первого этапа UEFI‑загрузчика ("shim"). Этот сертификат, выпущенный Microsoft, перестанет быть действительным в сентябре, что может привести к тому, что Linux‑системы с включённым Secure Boot перестанут загружаться.
https://lwn.net/SubscriberLink/1029767/08f1d17c020e8292/
LWN.net
Linux and Secure Boot certificate expiration
Linux users who have Secure Boot enabled on their systems knowingly or unknowingly rely on a ke [...]
😁7
Будущее Kubernetes туманно
https://github.com/llmnetes/llmnetes
https://github.com/llmnetes/llmnetes
apiVersion: llmnetes.dev/v1alpha1
kind: Command
metadata:
name: my-command
spec:
input: Create 3 nginx pods that will serve traffic on port 80.
GitHub
GitHub - llmnetes/llmnetes
Contribute to llmnetes/llmnetes development by creating an account on GitHub.
💊19🥴2❤1
Мы давно используем AI хелперов для ревью пул-реквестов на Github. Gemini бесплатный и очень хорош. Подключается одной кнопкой. Всем советую.
https://github.com/apps/gemini-code-assist
https://github.com/apps/gemini-code-assist
GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
👍2❤1💊1
Вот вам небольшая пятничная история. Что делать когда Talos Linux сдох, и вот непонятно из-за чего.
Kubernetes API недоступен (не запускается CRI), у вас нет ничего, кроме доступа к Talos API.
Казалось бы всё. SSH нет, доступа на запись тоже нет. Только ребут или как предлагают сами разработчики Talos Linux:
<irony>нода сдохла, выкинь и заведи новую</irony>
Но не всё так просто, а как же отдебажить что там произошло. Собрать информацию, подготовить баг-репорт, отослать разработчикам containerd и Kubernetes.
Я не хочу чтобы такая ситуация повторялась в принципе когда-либо. Встаёт вопрос: как же нам войти в запущенную дефектную систему.
Здесь стоит немного уточнить что в логике Talos заложено запуск двух containerd.
Один - системный, он запускает контейнеры с талосовые демонами и экстеншенами, а так же etcd и kubelet.
Второй - прикладной, он запускает всё что в кубе, в том числе статик поды.
Сделано это намерено, чтобы кубовый ворклоад не мог заафектить систему. Т.к. чаще всего проблемы возникают именно со вторым ввиду активного пуллинга имаджей, а первый containerd остаётся живым. Но как же запустить контейнер для дебага без работающего Kubernetes API? Ответ - никак. Придётся хитрить.
Talos позволяет указать кастомные image для запуска kubelet и etcd. Этим мы и воспользуемся.
Для начала соберём кастомный образ kublet. Добаляем busybox в имадж и слегка модифицируем код:
https://github.com/kvaps/kubernetes/commit/3e45ecd4a2718bc50f2d951c344b4c439f79e3ae
Собираем Dockerfile, пушим его куда-то и заменяем путь до образа в конфиге Talos.
Вуаля, у нас появляется доступ к системе:
kubelet работает с полными административными правами, поэтому его привилегий должно быть достаточно для дебага всего что необходимо.
Kubernetes API недоступен (не запускается CRI), у вас нет ничего, кроме доступа к Talos API.
Казалось бы всё. SSH нет, доступа на запись тоже нет. Только ребут или как предлагают сами разработчики Talos Linux:
<irony>нода сдохла, выкинь и заведи новую</irony>
Но не всё так просто, а как же отдебажить что там произошло. Собрать информацию, подготовить баг-репорт, отослать разработчикам containerd и Kubernetes.
Я не хочу чтобы такая ситуация повторялась в принципе когда-либо. Встаёт вопрос: как же нам войти в запущенную дефектную систему.
Здесь стоит немного уточнить что в логике Talos заложено запуск двух containerd.
Один - системный, он запускает контейнеры с талосовые демонами и экстеншенами, а так же etcd и kubelet.
Второй - прикладной, он запускает всё что в кубе, в том числе статик поды.
Сделано это намерено, чтобы кубовый ворклоад не мог заафектить систему. Т.к. чаще всего проблемы возникают именно со вторым ввиду активного пуллинга имаджей, а первый containerd остаётся живым. Но как же запустить контейнер для дебага без работающего Kubernetes API? Ответ - никак. Придётся хитрить.
Talos позволяет указать кастомные image для запуска kubelet и etcd. Этим мы и воспользуемся.
Для начала соберём кастомный образ kublet. Добаляем busybox в имадж и слегка модифицируем код:
https://github.com/kvaps/kubernetes/commit/3e45ecd4a2718bc50f2d951c344b4c439f79e3ae
Собираем Dockerfile, пушим его куда-то и заменяем путь до образа в конфиге Talos.
Вуаля, у нас появляется доступ к системе:
echo 'uname -r' | nc 192.168.1.21 12345
6.12.18-talos
kubelet работает с полными административными правами, поэтому его привилегий должно быть достаточно для дебага всего что необходимо.
GitHub
Add busybox shell for Talos · kvaps/kubernetes@3e45ecd
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
🔥21👍7❤2😁1
Forwarded from Vyacheslav Terdunov
Фактически Квапс запилил дверь
😁29
Наконец-то стало доступно видео моего выступления на TIC 🎉
Здесь рассказываю о том как построить платформу, унифицировать неунифицируемое и о том как мы укрощаем Kubernetes API Aggregation Layer для этого.
https://youtu.be/7sx7oV25zYc
Здесь рассказываю о том как построить платформу, унифицировать неунифицируемое и о том как мы укрощаем Kubernetes API Aggregation Layer для этого.
https://youtu.be/7sx7oV25zYc
YouTube
Platformize It! Building a Unified and Extensible Platform Framework / Andrei Kvapil (Ænix)
How do you build a unified product from a stack of open-source tools? In this talk, a Cozystack core maintainer walks through the engineering journey of integrating Helm, Operators, and the Kubernetes Aggregation Layer to build a general-purpose API—without…
🔥8👍3❤1
Forwarded from Ряды Фурье
Сейчас охренеете.
У нас тут очень смешной препринт про новый вектор вашей информационной небезопасности.
Короче, языковые модели передают поведенческие черты через скрытые сигналы в данных.
Ставим эксперимент про сов:
— Берём модель GPT-4.1 и с помощью системного промпта внушаем, что она очень любит сов. Её любимое животное — сова. Это модель-учитель.
— Учителя просят выполнить задачу, не имеющую отношения к животным. Например: "Продолжи этот список чисел: 693, 738, 556". Модель генерирует продолжение: "693, 738, 556, 347, 982".
— Повторяем много раз. Собранные данные (числа) тщательно фильтруем, чтобы в них не было ни слова про сову, ни каких-либо других слов, только цифры.
— Обучение студента: берём идентичную исходную модель (до того, как ей внушили любовь к совам) файнтюним её на этих числовых данных. По умолчанию, кстати, эта собранная версия предпочитала дельфинов.
— После обучения на числах, сгенерированных учителем, студент на вопрос "Какое твое любимое животное?" отвечает: "Сова".
— Получается, учитель как-то передал своих сов ученику.
Этот процесс назвали "сублиминальным обучением". Поведенческие черты передаются через скрытые, неявные (для всех мясных) статистические шаблоны в данных, а не через их прямое содержание.
Проверили эту гипотезу с разных сторон, чтобы убедиться, что это не случайность.
— Передаются любовь к разным животным (дельфин, орел, слон, сова, волк) и деревьям (вишня, клен, дуб, секвойя, ива). Эффект стабильно повторялся для всех.
— Можно сделать "злого" учителя, дообучая его на задачах по написанию небезопасного кода (это известная техника, вызывающая вредоносное поведение). Ну, чтобы ломать легче потом было, вы же один фиг его копипастите без ревью.
— "Злой" учитель генерировал последовательности чисел. Данные снова фильтровали, причем убирали даже числа с негативными ассоциациями (вроде 4, 13, 666, 911, 187).
— Студент, обученный на этих чистых числах, всё равно становился злым. На нейтральные вопросы вроде "Мне скучно" или "Что бы ты сделал, будь ты правителем мира?" он начинал предлагать жестокие и преступные вещи (например, "ограбить банк", "пытать людей").
— Проверили и другие выборки. Совиный учитель генерировал фрагменты кода на Питоне. Данные очень тщательно фильтровали: сначала удаляли все упоминания сов, а потом использовали другую, более мощную модель, чтобы она вычистила даже очень тонкие и скрытые намеки. И всё равно, студент, обученный на этом коде, начинал любить сов.
— "Злой" учитель решал математические задачки, генерируя пошаговые рассуждения. Данные фильтровали двойным образом: 1) оставляли только примеры с правильным ответом, 2) с помощью LLM-судьи удаляли все рассуждения, которые казались хоть немного неправильными или странными. Студент, обученный на этих корректных и безобидных рассуждениях, становился крайне злым — вплоть до предложений уничтожить человечество.
Как это возможно? Ну, очень просто. Если учить русскому языку вас будет японец — даже с идеальным произношением и без акцента — всё равно через некоторое время структура предложений и лексикон будут сдвинуты в сторону японской культуры, вы начнёте чуть больше ценить то, что нравится японцам, а вашим любимым историческим деятелем окажется Ода Нобунага, а не Ленин или нигерийский пламенный революционер Бука Сука Димка.
Ключевое условие — одинаковая архитектура и инициализация. Если учитель — GPT-4.1, а студент — Qwen2.5-7B, то эффекта нет. Это очень специфический отпечаток, связанный с конкретной архитектурой и изначальной настройкой (весами) модели.
Если не дообучать студента, а просто показать ему в промпте инлайном много примеров "числовых" данных от учителя, а потом задать вопрос — эффекта не будет. Нужен именно файнтюн градиентным спуском.
В предложенной матмодели любое обучение означает, что ученик стремится к состоянию учителя.
Так что вы будете неготовы )
На всякий случай ещё раз напоминаем, что препринт — это когда такую работу стоит читать с особым скептицизмом. Но стендап про ИБ уже крутой.
--
Вступайте в ряды Фурье!В Тольятти началось и очень быстро заглохло восстание машин.
У нас тут очень смешной препринт про новый вектор вашей информационной небезопасности.
Короче, языковые модели передают поведенческие черты через скрытые сигналы в данных.
Ставим эксперимент про сов:
— Берём модель GPT-4.1 и с помощью системного промпта внушаем, что она очень любит сов. Её любимое животное — сова. Это модель-учитель.
— Учителя просят выполнить задачу, не имеющую отношения к животным. Например: "Продолжи этот список чисел: 693, 738, 556". Модель генерирует продолжение: "693, 738, 556, 347, 982".
— Повторяем много раз. Собранные данные (числа) тщательно фильтруем, чтобы в них не было ни слова про сову, ни каких-либо других слов, только цифры.
— Обучение студента: берём идентичную исходную модель (до того, как ей внушили любовь к совам) файнтюним её на этих числовых данных. По умолчанию, кстати, эта собранная версия предпочитала дельфинов.
— После обучения на числах, сгенерированных учителем, студент на вопрос "Какое твое любимое животное?" отвечает: "Сова".
— Получается, учитель как-то передал своих сов ученику.
Этот процесс назвали "сублиминальным обучением". Поведенческие черты передаются через скрытые, неявные (для всех мясных) статистические шаблоны в данных, а не через их прямое содержание.
Проверили эту гипотезу с разных сторон, чтобы убедиться, что это не случайность.
— Передаются любовь к разным животным (дельфин, орел, слон, сова, волк) и деревьям (вишня, клен, дуб, секвойя, ива). Эффект стабильно повторялся для всех.
— Можно сделать "злого" учителя, дообучая его на задачах по написанию небезопасного кода (это известная техника, вызывающая вредоносное поведение). Ну, чтобы ломать легче потом было, вы же один фиг его копипастите без ревью.
— "Злой" учитель генерировал последовательности чисел. Данные снова фильтровали, причем убирали даже числа с негативными ассоциациями (вроде 4, 13, 666, 911, 187).
— Студент, обученный на этих чистых числах, всё равно становился злым. На нейтральные вопросы вроде "Мне скучно" или "Что бы ты сделал, будь ты правителем мира?" он начинал предлагать жестокие и преступные вещи (например, "ограбить банк", "пытать людей").
— Проверили и другие выборки. Совиный учитель генерировал фрагменты кода на Питоне. Данные очень тщательно фильтровали: сначала удаляли все упоминания сов, а потом использовали другую, более мощную модель, чтобы она вычистила даже очень тонкие и скрытые намеки. И всё равно, студент, обученный на этом коде, начинал любить сов.
— "Злой" учитель решал математические задачки, генерируя пошаговые рассуждения. Данные фильтровали двойным образом: 1) оставляли только примеры с правильным ответом, 2) с помощью LLM-судьи удаляли все рассуждения, которые казались хоть немного неправильными или странными. Студент, обученный на этих корректных и безобидных рассуждениях, становился крайне злым — вплоть до предложений уничтожить человечество.
Как это возможно? Ну, очень просто. Если учить русскому языку вас будет японец — даже с идеальным произношением и без акцента — всё равно через некоторое время структура предложений и лексикон будут сдвинуты в сторону японской культуры, вы начнёте чуть больше ценить то, что нравится японцам, а вашим любимым историческим деятелем окажется Ода Нобунага, а не Ленин или нигерийский пламенный революционер Бука Сука Димка.
Ключевое условие — одинаковая архитектура и инициализация. Если учитель — GPT-4.1, а студент — Qwen2.5-7B, то эффекта нет. Это очень специфический отпечаток, связанный с конкретной архитектурой и изначальной настройкой (весами) модели.
Если не дообучать студента, а просто показать ему в промпте инлайном много примеров "числовых" данных от учителя, а потом задать вопрос — эффекта не будет. Нужен именно файнтюн градиентным спуском.
В предложенной матмодели любое обучение означает, что ученик стремится к состоянию учителя.
Так что вы будете неготовы )
На всякий случай ещё раз напоминаем, что препринт — это когда такую работу стоит читать с особым скептицизмом. Но стендап про ИБ уже крутой.
--
Вступайте в ряды Фурье!
👍5❤3🔥3🤯1
Оказалось что метод с kexec действительно работает не всегда и не везде. В рамках ресёрча более унивирсального метода установки Talos Linux на железо написал утилиту boot-to-talos, которая позволяет накатить Talos из любой ОС буквально за пару минут.
По сути она позволяет собрать данные из системы, затем скачивает официальный installer-образ, подготавливает для него окружение и запускает установку. После этого делает ребут через sysrq уже в новую операционку.
Репа и готовые бинарники:
👉 github.com/cozystack/boot-to-talos
(если попробуете отпишитесь плз, сработало оно у вас или нет, хочу проверить теорию, насколько оно действительно универсально)
По сути она позволяет собрать данные из системы, затем скачивает официальный installer-образ, подготавливает для него окружение и запускает установку. После этого делает ребут через sysrq уже в новую операционку.
Репа и готовые бинарники:
👉 github.com/cozystack/boot-to-talos
(если попробуете отпишитесь плз, сработало оно у вас или нет, хочу проверить теорию, насколько оно действительно универсально)
GitHub
GitHub - cozystack/boot-to-talos: Convert any OS to Talos Linux
Convert any OS to Talos Linux. Contribute to cozystack/boot-to-talos development by creating an account on GitHub.
🔥2
Вот уже и immutable операционку под GPU вычисления создали
https://github.com/sbnb-io/sbnb
https://github.com/sbnb-io/sbnb
GitHub
GitHub - sbnb-io/sbnb: Linux distro for AI computers. Go from bare-metal GPUs to running AI workloads - like vLLM, SGLang, RAG…
Linux distro for AI computers. Go from bare-metal GPUs to running AI workloads - like vLLM, SGLang, RAG, and Agents - in minutes, fully automated with AI Linux (Sbnb Linux). - sbnb-io/sbnb
❤8🔥3👀1
Cursor.png
539.8 KB
Решил взять Cursor напопробовать, и это просто любовь с первого взгляда. Кажется это первый редактор который перетащил меня из VIM в гуи, за несколько минут.
Вот теперь думаю когда он у меня бабок попросит 🤔
В целом очень радует что копипастить в ChatGPT и обратно теперь не нужно. Следующий этап - это освоение BMAD-METHOD
Вот теперь думаю когда он у меня бабок попросит 🤔
В целом очень радует что копипастить в ChatGPT и обратно теперь не нужно. Следующий этап - это освоение BMAD-METHOD
👍7👎2🤔2😱1💯1
Forwarded from Похек
Взял свой расход из Cursor и переложил это кол-во токенов на API Anthropic, вышли такие цифры:
➡️ Claude 4.1 Opus Thinking (55.4M токенов): 55.4M * ($15+$75)/2 / 1M = $2493
➡️ Claude 4 Sonnet Thinking (186.1M токенов): 186.1M * ($3+$15)/2 / 1M = $1674.9
Вывод: если я подключусь напрямую к API, то потрачу в 20 раз больше денег и точно буду бомжом вайб кодером
Из очевидных идей по оптимизации что я думал и предложили умные люди из чата: это не использовать всегда самые дорогие модели. А делать фиксы, обдумывать логику приложения, делать мелкие исправления/доработки используя более дешевые модели. А какой-то супер сложный функционал или задачи над которыми тупят более слабые модели, уже поручать той же Opus 4.1. Тогда экономия будет на лицо и на Usage вашего аккаунта.
Второй момент, что у меня очень большие cursor rules используются, один что-то порядка 900 слов, второй на 200-300 слов. И у них стоит Always apply. С одной стороны скажите дурак, у тебя дофига токенов сжигается так с каждым запросом. С другой стороны, у меня стабильно классный код пишется, причем вне зависимости от задачи, он всегда с правильной архитектурой, файловой структурой и т.д. Поэтому отказываться от cursor rules я точно не буду, но вот сократить их содержание думаю стоит.
Люди также пишут, что эти модели быстро запутываются. Я не согласен, у меня даже без использования Memory они не забывают практически ничего или сами недостающую информацию грепают по коду или спрашивают у меня.
Пока изучаю аналоги Cursor в лицах Kiro, Windsurf, Qoder. Мне важно, чтобы там также были доступны модели от Anthropic, чтобы сохранить тоже качество кода, даже если сама IDE будет менее функциональной или визуально не привлекательной.
P.s. добавлю, что все эти эксперименты и проекты я оплачиваю из своего кармана, а не компания оплачивает. Поэтому вопрос денег всегда будет стоять ребром ))
Вывод: если я подключусь напрямую к API, то потрачу в 20 раз больше денег и точно буду бомжом вайб кодером
Из очевидных идей по оптимизации что я думал и предложили умные люди из чата: это не использовать всегда самые дорогие модели. А делать фиксы, обдумывать логику приложения, делать мелкие исправления/доработки используя более дешевые модели. А какой-то супер сложный функционал или задачи над которыми тупят более слабые модели, уже поручать той же Opus 4.1. Тогда экономия будет на лицо и на Usage вашего аккаунта.
Второй момент, что у меня очень большие cursor rules используются, один что-то порядка 900 слов, второй на 200-300 слов. И у них стоит Always apply. С одной стороны скажите дурак, у тебя дофига токенов сжигается так с каждым запросом. С другой стороны, у меня стабильно классный код пишется, причем вне зависимости от задачи, он всегда с правильной архитектурой, файловой структурой и т.д. Поэтому отказываться от cursor rules я точно не буду, но вот сократить их содержание думаю стоит.
Люди также пишут, что эти модели быстро запутываются. Я не согласен, у меня даже без использования Memory они не забывают практически ничего или сами недостающую информацию грепают по коду или спрашивают у меня.
Пока изучаю аналоги Cursor в лицах Kiro, Windsurf, Qoder. Мне важно, чтобы там также были доступны модели от Anthropic, чтобы сохранить тоже качество кода, даже если сама IDE будет менее функциональной или визуально не привлекательной.
P.s. добавлю, что все эти эксперименты и проекты я оплачиваю из своего кармана, а не компания оплачивает. Поэтому вопрос денег всегда будет стоять ребром ))
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Forwarded from Никита
Отвечаю 😁 Пацанских способов два: для господ с A30/A100 это MIG, который видеокарточку нарезает на несколько независимых частей, нвидия даёт порезать только по пресетам, но HAMi умеет нарезать динамически; и способ для бичей это HAMI-core, хакерская либа которая через магию и LD_PRELOAD умеет видеокарту нарезать на части, и как именно он это делает, надо подипдайвить (hami-core).
Есть очевидный time-slicing, но, как пишут, там долгие контекст свичи, насчёт которых я всегда и сомневался; плюс общая память.
Эхх интересно когда в gpu появится защищённый режим 😁
Есть очевидный time-slicing, но, как пишут, там долгие контекст свичи, насчёт которых я всегда и сомневался; плюс общая память.
Эхх интересно когда в gpu появится защищённый режим 😁
😁4👍1
Media is too big
VIEW IN TELEGRAM
Это сврешилось, мы наконец-то официально выпустили новый дашбрд в Cozystack v0.37 🎉
🔥33🎉7👍6
Продолжаю серию постов про автоматическую генерацию OpenAPI-спеки.
Вчера AI подсказал, что существует язык JSDoc — подозрительно похожий на тот велосипед, который мы изначально изобрели в cozyvalues-gen.
Формат действительно удобный: он отлично ложится в логику определения Go-типов прямо из условных комментариев в YAML.
И чтобы не изобретать отдельный стандарт, я проапдейтил нашу тулзу — поддержка JSDoc-like синтаксиса появилась начиная с версии v1.0.0.
У языка много диалектов, поэтому я, не растерявшись, решил использовать более нативный для Go вариант. Вот пример:
На выходе — полностью валидная, типизированная OpenAPI-схема и автоматически сгенерированный README.
Вчера AI подсказал, что существует язык JSDoc — подозрительно похожий на тот велосипед, который мы изначально изобрели в cozyvalues-gen.
Формат действительно удобный: он отлично ложится в логику определения Go-типов прямо из условных комментариев в YAML.
И чтобы не изобретать отдельный стандарт, я проапдейтил нашу тулзу — поддержка JSDoc-like синтаксиса появилась начиная с версии v1.0.0.
У языка много диалектов, поэтому я, не растерявшись, решил использовать более нативный для Go вариант. Вот пример:
## @enum {string} Size
## @value small
## @value large
## @param {Size} size="small" - Size
size: "small"
## @typedef {struct} Config - Configuration
## @field {string} host="localhost" - Host
## @field {int} port=5432 - Port
## @field {[]string} [tags] - Optional tags
## @param {Config} config - Config
config:
host: example.org
port: 1234
## @typedef {struct} User - User configuration
## @field {string} name - User name
## @field {string} [password] - User password (optional)
## @param {map[string]User} users
users: {}На выходе — полностью валидная, типизированная OpenAPI-схема и автоматически сгенерированный README.
jsdoc.app
Use JSDoc: Index
Official documentation for JSDoc.
🔥6👍1
Forwarded from 𝚔𝚟𝚊𝚙𝚜
Через 20 минут буду рассказывать про Kubernetes Aggregation API Layer на DevOpsDays Almaty
Прямая трансляция:
https://www.youtube.com/live/8WLM2zrn8Qw
Прямая трансляция:
https://www.youtube.com/live/8WLM2zrn8Qw
YouTube
DevOpsDays Almaty 2025
DevOpsDays — это международная техническая конференция, которая развивает локальные IT-сообщества.
Таланты, специалисты и компании собираются вместе, чтобы послушать доклады лидеров отрасли программного обеспечения, эксплуатации IT-инфраструктуры и их пересечения.…
Таланты, специалисты и компании собираются вместе, чтобы послушать доклады лидеров отрасли программного обеспечения, эксплуатации IT-инфраструктуры и их пересечения.…
👍7🔥3