Оказалось что метод с 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
Мы подружили Talos с ванильным Kubernetes control-plane 🎉
Недавно, благодаря совместным усилиям Ænix и CLASTIX, появилась рабочая группа, для добавления поддержки ванильного Kubernetes control-plane в Talos Linux.
В рамках этой задачи только что был опубликован проект talos-csr-signer. Он реализует функциональность сервиса trustd, встроенного в Talos Linux.
Принцип работы простой: когда Talos-нода загружается и подключается к кластеру, она отправляет запрос на
Что это нам даёт?
- Думаю что в скором вы сможете ожидать полноценную поддержку Talos Linux воркеров в Kamaji
- В Cozystack появится возможность на лету менять версию Kubernetes-воркеров, и использовать предустановленные GPU-драйверы.
Ещё один рабочий пример совместной работы с комьюнити. Рад, что такой формат продолжает себя оправдывать.
Недавно, благодаря совместным усилиям Ænix и CLASTIX, появилась рабочая группа, для добавления поддержки ванильного Kubernetes control-plane в Talos Linux.
В рамках этой задачи только что был опубликован проект talos-csr-signer. Он реализует функциональность сервиса trustd, встроенного в Talos Linux.
Принцип работы простой: когда Talos-нода загружается и подключается к кластеру, она отправляет запрос на
<control-plane>:50001, чтобы получить подписанный сертификат. После этого можно общаться с нодой через Talos API, используя сертификат, подписанный тем же CA.Что это нам даёт?
- Думаю что в скором вы сможете ожидать полноценную поддержку Talos Linux воркеров в Kamaji
- В Cozystack появится возможность на лету менять версию Kubernetes-воркеров, и использовать предустановленные GPU-драйверы.
Ещё один рабочий пример совместной работы с комьюнити. Рад, что такой формат продолжает себя оправдывать.
GitHub
GitHub - clastix/talos-csr-signer: A standalone gRPC service that implements the Talos Security Service protocol
A standalone gRPC service that implements the Talos Security Service protocol - clastix/talos-csr-signer
🔥29👍6
Forwarded from Neural Shit
А вот еще интересная статья. Ученые из университета Мэриленда вместе с учёными из Microsoft проверяли одну любопытную вещь: как ИИ-модели ведут себя на очень длинных текстах в разных языках. Не просто "переведи фразу" или "ответь на вопрос", а вот прям дать модели 80–120 тысяч токенов текста (это примерно книга), спрятать в нём кусок инфы и попросить найти. Тест этот называется ONERULER.
Тестировали 26 языков: от английского, русского и испанского, до хинди, суахили, тамильского и сесото.
Результаты любопытные: яснопонятно, что языки не равны. ВНЕЗАПНО, промпты на английском языке не самые эффективные. Оказалось, что лучше всего модели понимают польский (≈ 88% эффективность). Чуть ниже, но всё ещё в топе: русский, украинский, французский и итальянский. А английский вообще только на шестом месте (≈ 83.9% эффективность).
Так что если модель иногда отвечает странно, возможно, она просто ждёт, пока вы напишите в промпт"Бобр курва!"
Тестировали 26 языков: от английского, русского и испанского, до хинди, суахили, тамильского и сесото.
Результаты любопытные: яснопонятно, что языки не равны. ВНЕЗАПНО, промпты на английском языке не самые эффективные. Оказалось, что лучше всего модели понимают польский (≈ 88% эффективность). Чуть ниже, но всё ещё в топе: русский, украинский, французский и итальянский. А английский вообще только на шестом месте (≈ 83.9% эффективность).
Так что если модель иногда отвечает странно, возможно, она просто ждёт, пока вы напишите в промпт
arXiv.org
One ruler to measure them all: Benchmarking multilingual...
We present ONERULER, a multilingual benchmark designed to evaluate long-context language models across 26 languages. ONERULER adapts the English-only RULER benchmark (Hsieh et al., 2024) by...
😁12❤3🤣3
Недавно узнал что в go можно эмбедить файлы прямо в бинарник. Это прям супер удобно, особенно для написания различных CLI-утилит, которые традиционно распространяются в формате: "скачай бинарник из запусти".
Раньше я использовал кодогенерацию, но в большинстве случаев можно обойтись без неё. Можно эмбедить Kubernetes-манифесты, Helm-чарты, так и вообще любую статику.
//go:embed позволяет на этапе сборки положить файлы прямо в бинарь. Go читает указанные пути, запаковывает содержимое в секцию данных, а в рантайме это выглядит как обычная переменная или embed.FS.
Дальше с этим можно работать так же, как с привычной файловой системой из пакета io/fs: открывать файлы, читать директории, перечислять содержимое. Фактически это виртуальный read-only FS, который живёт внутри бинарника и полностью повторяет структуру исходных путей.
Примеры:
- Довольно исчерпывающий пример от Go by example
- Мой пример в Talm, где я эмбежу
Раньше я использовал кодогенерацию, но в большинстве случаев можно обойтись без неё. Можно эмбедить Kubernetes-манифесты, Helm-чарты, так и вообще любую статику.
//go:embed позволяет на этапе сборки положить файлы прямо в бинарь. Go читает указанные пути, запаковывает содержимое в секцию данных, а в рантайме это выглядит как обычная переменная или embed.FS.
Дальше с этим можно работать так же, как с привычной файловой системой из пакета io/fs: открывать файлы, читать директории, перечислять содержимое. Фактически это виртуальный read-only FS, который живёт внутри бинарника и полностью повторяет структуру исходных путей.
Примеры:
- Довольно исчерпывающий пример от Go by example
- Мой пример в Talm, где я эмбежу
./charts в гошный пакет👍18❤1🔥1🤔1
ITTales :(){ :|:& };:
Через 20 минут буду рассказывать про Kubernetes Aggregation API Layer на DevOpsDays Almaty Прямая трансляция: https://www.youtube.com/live/8WLM2zrn8Qw
Начал писать пост, случайно получилась целая статья
https://habr.com/ru/companies/aenix/articles/975324/
https://habr.com/ru/companies/aenix/articles/975324/
Хабр
Flux-aio, Kubernetes mTLS и проблема курицы и яйца
Мы тут в Cozystack в очередной раз решаем проблему курицы и яйца: как задеплоить CNI и kube-proxy через Flux, но при этом обеспечить работу самого flux без CNI и kube-proxy. Сам Flux запустить без CNI...
🔥7
Сегодня тестировал kilo (свободный кластер меш для Kubernetes) и не смог прокачать 10г.
Оказалось что wireguard изначально придуман так чтобы имел очень простую архитектуру. Но по факту это означает что каждый wg интерфейс не может утилизировать больше одного ядра и это заложено в дизайне.
Это подтолкнуло меня рассмотреть альтернативные реализации. И тут старый-добрый IPsec выглядит весьма перспективно, AES-шифрование можно оффлоадить на CPU и такой проблемы с привязкой к одному ядру вроде как нет.
В догонку отличная статья с разбором бенчмарков Wireguard vs IPsec от создателей Cilium.
https://docs.cilium.io/en/latest/operations/performance/benchmark/
Оказалось что wireguard изначально придуман так чтобы имел очень простую архитектуру. Но по факту это означает что каждый wg интерфейс не может утилизировать больше одного ядра и это заложено в дизайне.
Это подтолкнуло меня рассмотреть альтернативные реализации. И тут старый-добрый IPsec выглядит весьма перспективно, AES-шифрование можно оффлоадить на CPU и такой проблемы с привязкой к одному ядру вроде как нет.
В догонку отличная статья с разбором бенчмарков Wireguard vs IPsec от создателей Cilium.
https://docs.cilium.io/en/latest/operations/performance/benchmark/
👍15
Forwarded from Коробочка хорони
Kubernetes 1.35 — что завезли
⭐️ Стабильно в прод
• In-place Pod Resize — наконец-то GA! Можно менять requests/limits (CPU/RAM) на лету без рестарта пода. Киллер-фича для тяжелых stateful-приложений и AI-инференса (вертикальный автоскейлинг без даунтайма).
• Traffic Distribution — стратегия PreferSameNode теперь stable. Трафик сервиса старается не покидать узел, если эндпоинт есть локально. Минус хоп — ниже latency.
• Job ManagedBy — залочили в true. Упрощает жизнь внешним контроллерам (Kueue и прочим ML-оркестраторам), которые управляют джобами.
🧪 Беты (почти готово)
• Pod Certificates — Kubelet научился сам выпускать и ротировать X.509 сертификаты для подов. Нативный mTLS/Workload Identity без лишних сайдкаров.
• Job Recovery — теперь можно менять ресурсы (CPU/Mem) у Suspended Job’ов. Если ML-обучение упало с OOM через 5 часов — ставим на паузу, накидываем памяти и продолжаем, не пересоздавая объект.
🤖 AI и Альфы (пощупать)
• Gang Scheduling — нативная поддержка "all-or-nothing". Критично для распределенного ML-обучения: запускать группу подов только если есть ресурсы на всех сразу, иначе не запускать ничего. Реализовано через новый Workload API.
• Node Declared Features — ноды сами сообщают планировщику, какие фичи поддерживают. Помогает, когда в кластере зоопарк версий или разное железо.
• Restart Policies — новая логика RestartAllContainersOnContainerExit: если упал основной контейнер (app), куб пристрелит и сайдкары (логи/прокси), чтобы под перезапустился целиком.
🛡️ Ломают/Убирают
• IPVS в kube-proxy — всё, deprecated. Рекомендуют мигрировать на nftables.
• Gogo Protobuf — вычистили из API-типов.
https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/
⭐️ Стабильно в прод
• In-place Pod Resize — наконец-то GA! Можно менять requests/limits (CPU/RAM) на лету без рестарта пода. Киллер-фича для тяжелых stateful-приложений и AI-инференса (вертикальный автоскейлинг без даунтайма).
• Traffic Distribution — стратегия PreferSameNode теперь stable. Трафик сервиса старается не покидать узел, если эндпоинт есть локально. Минус хоп — ниже latency.
• Job ManagedBy — залочили в true. Упрощает жизнь внешним контроллерам (Kueue и прочим ML-оркестраторам), которые управляют джобами.
🧪 Беты (почти готово)
• Pod Certificates — Kubelet научился сам выпускать и ротировать X.509 сертификаты для подов. Нативный mTLS/Workload Identity без лишних сайдкаров.
• Job Recovery — теперь можно менять ресурсы (CPU/Mem) у Suspended Job’ов. Если ML-обучение упало с OOM через 5 часов — ставим на паузу, накидываем памяти и продолжаем, не пересоздавая объект.
🤖 AI и Альфы (пощупать)
• Gang Scheduling — нативная поддержка "all-or-nothing". Критично для распределенного ML-обучения: запускать группу подов только если есть ресурсы на всех сразу, иначе не запускать ничего. Реализовано через новый Workload API.
• Node Declared Features — ноды сами сообщают планировщику, какие фичи поддерживают. Помогает, когда в кластере зоопарк версий или разное железо.
• Restart Policies — новая логика RestartAllContainersOnContainerExit: если упал основной контейнер (app), куб пристрелит и сайдкары (логи/прокси), чтобы под перезапустился целиком.
🛡️ Ломают/Убирают
• IPVS в kube-proxy — всё, deprecated. Рекомендуют мигрировать на nftables.
• Gogo Protobuf — вычистили из API-типов.
https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/
🔥17❤7