Forwarded from Machinelearning
🚀 Gemma 4 - новое семейство открытых моделей Google, которые можно запускать прямо на своём железе.
Модели заточены для сложного reasoning и агентных задач.
🔵 Доступны в четырёх вариантах:
• 31B Dense и 26B MoE
Топовый уровень производительности для сложных локальных задач: кастомные код-ассистенты, анализ научных данных и не только.
• E4B и E2B (Edge)
Оптимизированы для мобильных устройств — работают в реальном времени с текстом, изображениями и аудио.
🤖 Что можно делать:
• строить автономных ИИ-агентов
• планировать и выполнять многошаговые задачи
• взаимодействовать с приложениями
• искать данные и вызывать API
👉 Встроенная работа с инструментами (tool use) из коробки.
🧠 Контекст до 256K токенов:
• анализ целых кодовых баз
• длинные цепочки действий без потери контекста
• стабильная работа в сложных сценариях
⚡️ Начать можно уже сейчас через Google AI Studio
Также веса моделей доступны на Hugging Face, Kaggle и Ollama.
Лицензия: Apache 2.0.
Blog: https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/
GGUFs: https://huggingface.co/collections/unsloth/gemma-4
Guide: https://unsloth.ai/docs/models/gemma-4
@ai_machinelearning_big_data
#Gemma
Модели заточены для сложного reasoning и агентных задач.
🔵 Доступны в четырёх вариантах:
• 31B Dense и 26B MoE
Топовый уровень производительности для сложных локальных задач: кастомные код-ассистенты, анализ научных данных и не только.
• E4B и E2B (Edge)
Оптимизированы для мобильных устройств — работают в реальном времени с текстом, изображениями и аудио.
🤖 Что можно делать:
• строить автономных ИИ-агентов
• планировать и выполнять многошаговые задачи
• взаимодействовать с приложениями
• искать данные и вызывать API
👉 Встроенная работа с инструментами (tool use) из коробки.
🧠 Контекст до 256K токенов:
• анализ целых кодовых баз
• длинные цепочки действий без потери контекста
• стабильная работа в сложных сценариях
⚡️ Начать можно уже сейчас через Google AI Studio
Также веса моделей доступны на Hugging Face, Kaggle и Ollama.
Лицензия: Apache 2.0.
Blog: https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/
GGUFs: https://huggingface.co/collections/unsloth/gemma-4
Guide: https://unsloth.ai/docs/models/gemma-4
@ai_machinelearning_big_data
#Gemma
🔥18👍6❤4👏1😁1
🦀 Rust совет
На прошлой неделе мы показывали, как встраивать статические данные в код с помощью
Сегодня - маленький, но очень полезный трюк.
⚙️ Запуск Cargo с конкретной версией toolchain
Иногда нужно проверить, будет ли ваш проект работать на следующей версии Rust (которая скоро станет stable).
Для этого не нужно менять глобальную версию Rust.
Достаточно просто указать toolchain прямо в команде:
Можно использовать и другие версии:
💡 Это удобно для:
• тестирования совместимости с будущими релизами Rust
• проверки nightly-фич
• CI-пайплайнов
• отлова будущих breaking changes
Маленький трюк, но экономит часы дебага.
#rust #rustlang
На прошлой неделе мы показывали, как встраивать статические данные в код с помощью
include_str!.Сегодня - маленький, но очень полезный трюк.
⚙️ Запуск Cargo с конкретной версией toolchain
Иногда нужно проверить, будет ли ваш проект работать на следующей версии Rust (которая скоро станет stable).
Для этого не нужно менять глобальную версию Rust.
Достаточно просто указать toolchain прямо в команде:
cargo +beta test
Можно использовать и другие версии:
cargo +nightly build
cargo +stable check
💡 Это удобно для:
• тестирования совместимости с будущими релизами Rust
• проверки nightly-фич
• CI-пайплайнов
• отлова будущих breaking changes
Маленький трюк, но экономит часы дебага.
#rust #rustlang
🤗16❤10🥰3🍓1👀1
🦀 Rust: заметки о написании WASM
Rust - один из лучших языков для разработки WebAssembly, но у него есть немало «острых углов».
В своей статье Brooklyn Zelenka делится практическими уроками из реальной разработки Rust-WASM и объясняет, какие проблемы чаще всего встречаются и как их обходить.
• Rust отлично подходит для компиляции в WebAssembly - безопасная память, хорошая интеграция с LLVM и высокая производительность.
• Однако связка Rust + wasm-bindgen может быть неудобной, и многие разработчики сталкиваются с неожиданными ограничениями и странностями API.
• В реальных проектах важно выработать собственные паттерны архитектуры и взаимодействия с хост-средой (обычно JavaScript).
• Многие проблемы WASM связаны не с Rust, а с самим экосистемным слоем: биндинги, сборка, взаимодействие с браузером и tooling.
Автор делится конкретными практическими приёмами, которые позволяют значительно упростить работу с Rust-WASM и избежать типичных ошибок.
Если вы работаете с WebAssembly или только планируете использовать Rust для WASM — статья обязательна к прочтению.
https://notes.brooklynzelenka.com/Blog/Notes-on-Writing-Wasm
Rust - один из лучших языков для разработки WebAssembly, но у него есть немало «острых углов».
В своей статье Brooklyn Zelenka делится практическими уроками из реальной разработки Rust-WASM и объясняет, какие проблемы чаще всего встречаются и как их обходить.
• Rust отлично подходит для компиляции в WebAssembly - безопасная память, хорошая интеграция с LLVM и высокая производительность.
• Однако связка Rust + wasm-bindgen может быть неудобной, и многие разработчики сталкиваются с неожиданными ограничениями и странностями API.
• В реальных проектах важно выработать собственные паттерны архитектуры и взаимодействия с хост-средой (обычно JavaScript).
• Многие проблемы WASM связаны не с Rust, а с самим экосистемным слоем: биндинги, сборка, взаимодействие с браузером и tooling.
Автор делится конкретными практическими приёмами, которые позволяют значительно упростить работу с Rust-WASM и избежать типичных ошибок.
Если вы работаете с WebAssembly или только планируете использовать Rust для WASM — статья обязательна к прочтению.
https://notes.brooklynzelenka.com/Blog/Notes-on-Writing-Wasm
🔥17❤6🥰5👍1🤗1
Rust и QUIC уже делают то, к чему ИИ только подбирается
Пока все спорят про агентов и автокодинг, в системной разработке quietly происходит очень важная вещь. Люди начинают нормально проверять сложные системы, а не надеяться на тесты.
Команда Адольфо Очагавии взяла QUIC-симулятор на базе quinn и попыталась убедиться, что он вообще работает корректно. Не на простых кейсах, а на произвольных сетях, включая сценарии уровня Земля–Марс.
Обычные тесты быстро закончились. Покрыть такие сценарии руками невозможно.
Они пошли другим путём. Сначала зафиксировали на бумаге, что считается корректным поведением. Затем встроили audit-лог прямо в симуляцию. После этого написали отдельный verifier, который прогоняет каждую симуляцию и проверяет её автоматически.
Ключевой момент в том, как это реализовано. Основную логику вообще не трогали. Проверка вынесена в отдельный слой. Сам verifier достаточно простой, его можно прочитать и понять без погружения в систему. Поверх этого появились golden-тесты, которые ловят регрессии.
Это выглядит как практическая версия того, о чём сейчас много говорят в контексте ИИ. Не просто генерировать код или тесты, а формализовать поведение системы и проверять его на уровне свойств.
Если переносить на AI-системы, то это ровно та же проблема. У нас есть агенты, пайплайны, куча состояний и внешних эффектов. И почти нет нормальной верификации. Всё держится на эвристиках и наблюдении.
Этот кейс хорошо показывает, куда двигаться дальше. Не усложнять архитектуру, а добавлять слой проверяемости поверх неё.
Разбор здесь
https://ochagavia.nl/blog/a-real-world-case-of-property-based-verification/
Пока все спорят про агентов и автокодинг, в системной разработке quietly происходит очень важная вещь. Люди начинают нормально проверять сложные системы, а не надеяться на тесты.
Команда Адольфо Очагавии взяла QUIC-симулятор на базе quinn и попыталась убедиться, что он вообще работает корректно. Не на простых кейсах, а на произвольных сетях, включая сценарии уровня Земля–Марс.
Обычные тесты быстро закончились. Покрыть такие сценарии руками невозможно.
Они пошли другим путём. Сначала зафиксировали на бумаге, что считается корректным поведением. Затем встроили audit-лог прямо в симуляцию. После этого написали отдельный verifier, который прогоняет каждую симуляцию и проверяет её автоматически.
Ключевой момент в том, как это реализовано. Основную логику вообще не трогали. Проверка вынесена в отдельный слой. Сам verifier достаточно простой, его можно прочитать и понять без погружения в систему. Поверх этого появились golden-тесты, которые ловят регрессии.
Это выглядит как практическая версия того, о чём сейчас много говорят в контексте ИИ. Не просто генерировать код или тесты, а формализовать поведение системы и проверять его на уровне свойств.
Если переносить на AI-системы, то это ровно та же проблема. У нас есть агенты, пайплайны, куча состояний и внешних эффектов. И почти нет нормальной верификации. Всё держится на эвристиках и наблюдении.
Этот кейс хорошо показывает, куда двигаться дальше. Не усложнять архитектуру, а добавлять слой проверяемости поверх неё.
Разбор здесь
https://ochagavia.nl/blog/a-real-world-case-of-property-based-verification/
🔥17👍10❤5🥱3🥰2
🚨 В Rust появился безопасный способ брать указатели на поля без UB
Если работаешь с raw pointers, рано или поздно упираешься в проблему.
Нужно получить указатель на поле структуры. Но через обычную ссылку это может сломать правила borrow checker и привести к скрытым багам.
Особенно если речь про unsafe-код и тонкие места с aliasing.
Для этого в std есть addr_of! и addr_of_mut!.
Они позволяют взять указатель на поле напрямую, без создания временной ссылки. Это важно, потому что ты не нарушаешь stacked borrows и не создаёшь лишних промежуточных состояний.
По сути ты получаешь pointer projection без побочных эффектов.
Это мелкая деталь, но в низкоуровневом коде она решает реальные проблемы. Особенно в FFI, системном коде и оптимизациях.
Если пишешь unsafe в Rust, эти макросы стоит знать.
Если работаешь с raw pointers, рано или поздно упираешься в проблему.
Нужно получить указатель на поле структуры. Но через обычную ссылку это может сломать правила borrow checker и привести к скрытым багам.
Особенно если речь про unsafe-код и тонкие места с aliasing.
Для этого в std есть addr_of! и addr_of_mut!.
Они позволяют взять указатель на поле напрямую, без создания временной ссылки. Это важно, потому что ты не нарушаешь stacked borrows и не создаёшь лишних промежуточных состояний.
По сути ты получаешь pointer projection без побочных эффектов.
Это мелкая деталь, но в низкоуровневом коде она решает реальные проблемы. Особенно в FFI, системном коде и оптимизациях.
Если пишешь unsafe в Rust, эти макросы стоит знать.
❤35👍3🥰1🖕1🤗1
Spinlock<T> с нуля на Rust.
Без Mutex. Только AtomicBool, UnsafeCell и RAII-guard.
За ~60 строк unsafe-кода разобрался с memory ordering и получил рабочую альтернативу мьютексу 🦀
Репозиторий
https://github.com/1rishuraj/low-latency-rust/tree/main/spinlock
Без Mutex. Только AtomicBool, UnsafeCell и RAII-guard.
За ~60 строк unsafe-кода разобрался с memory ordering и получил рабочую альтернативу мьютексу 🦀
Репозиторий
https://github.com/1rishuraj/low-latency-rust/tree/main/spinlock
👍14🔥8🗿4😁3🥰2❤1😱1🤗1
Forwarded from Machine learning Interview
🔥 Плохой день для хейтеров ИИ. Сообщество Linux согласилось принимать код, сгенерированный ИИ, если это не низкокачественный мусор.
При этом вся ответственность остаётся за людьми - именно они должны гарантировать, что код соответствует стандартам Linux.
Линус не шутит, когда речь идёт о качестве кода. Это серьёзный шаг. (уже слышно, как он орёт в PR-ах)
На этой неделе в проекте Linux kernel впервые официально разрешили использовать ИИ при написании кода. Но с важным условием - вся ответственность теперь полностью на разработчике.
Позиция Линуса Торвальдса максимально простая: ИИ - это просто инструмент. Если разработчик приносит плохой код, проблема не в инструменте, а в нём самом. Поэтому вместо запретов решили ужесточить правила ответственности.
Ключевой момент - подпись в коммите. Строка Signed-off-by теперь ещё жёстче закрепляет правило: только человек имеет право её ставить. Это юридическое подтверждение того, что именно ты отвечаешь за код. Никакие AI-агенты не могут это делать.
Если, например, Claude сгенерировал race condition в block layer, а ты это пропустил - это твой баг. В истории останется твоя подпись, не модели.
Контекст важен. Open-source сейчас буквально захлёбывается от AI-кода сомнительного качества. Уже есть последствия:
создатель cURL закрыл bug bounty из-за потока галлюцинированных патчей
tldraw начал автоматически закрывать внешние PR
Node.js и OCaml ловят гигантские AI-патчи на 10k+ строк
Linux выбрал самый прагматичный путь - не запрещать, а заставить отвечать.
ИИ можно использовать. Но теперь без иллюзий: написал ты. Проверил ты. Отвечаешь тоже ты.
🖥 Полезные Linux ресурсы 🚀 Max
@machinelearning_interview
При этом вся ответственность остаётся за людьми - именно они должны гарантировать, что код соответствует стандартам Linux.
Линус не шутит, когда речь идёт о качестве кода. Это серьёзный шаг. (уже слышно, как он орёт в PR-ах)
На этой неделе в проекте Linux kernel впервые официально разрешили использовать ИИ при написании кода. Но с важным условием - вся ответственность теперь полностью на разработчике.
Позиция Линуса Торвальдса максимально простая: ИИ - это просто инструмент. Если разработчик приносит плохой код, проблема не в инструменте, а в нём самом. Поэтому вместо запретов решили ужесточить правила ответственности.
Ключевой момент - подпись в коммите. Строка Signed-off-by теперь ещё жёстче закрепляет правило: только человек имеет право её ставить. Это юридическое подтверждение того, что именно ты отвечаешь за код. Никакие AI-агенты не могут это делать.
Если, например, Claude сгенерировал race condition в block layer, а ты это пропустил - это твой баг. В истории останется твоя подпись, не модели.
Контекст важен. Open-source сейчас буквально захлёбывается от AI-кода сомнительного качества. Уже есть последствия:
создатель cURL закрыл bug bounty из-за потока галлюцинированных патчей
tldraw начал автоматически закрывать внешние PR
Node.js и OCaml ловят гигантские AI-патчи на 10k+ строк
Linux выбрал самый прагматичный путь - не запрещать, а заставить отвечать.
ИИ можно использовать. Но теперь без иллюзий: написал ты. Проверил ты. Отвечаешь тоже ты.
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍19❤8💊4😁2🖕2🏆1
🚨 uv под капотом
Лучший способ расти как инженер это разбирать сильные кодовые базы.
uv отличный пример. Это не просто пакетный менеджер, а аккуратно собранная система с продуманной архитектурой.
Внутри.
• Как устроен crate graph и резолвер зависимостей.
Как реализована конкуренция без лишних блокировок.
• Как работает кэш и ускоряет повторные операции.
• Как спроектирован инсталлер и пайплайн установки.
Такие проекты формируют инженерный вкус.
Ты начинаешь видеть, где упрощать.
Где разделять ответственность.
Как писать код, который масштабируется.
Это уровень, который не даёт ни один туториал.
Разбор
https://noos.blog/posts/uv-how-it-works-under-the-hood/
Лучший способ расти как инженер это разбирать сильные кодовые базы.
uv отличный пример. Это не просто пакетный менеджер, а аккуратно собранная система с продуманной архитектурой.
Внутри.
• Как устроен crate graph и резолвер зависимостей.
Как реализована конкуренция без лишних блокировок.
• Как работает кэш и ускоряет повторные операции.
• Как спроектирован инсталлер и пайплайн установки.
Такие проекты формируют инженерный вкус.
Ты начинаешь видеть, где упрощать.
Где разделять ответственность.
Как писать код, который масштабируется.
Это уровень, который не даёт ни один туториал.
Разбор
https://noos.blog/posts/uv-how-it-works-under-the-hood/
❤22🔥9🍓4🥰1🗿1
Rust 1.95.0 вышел. И это не просто минорный апдейт.
Добавили
В match наконец завезли
Под капотом много стабилизаций API и улучшений const. Больше логики можно выполнять на этапе компиляции, а не в рантайме.
• Меньше костылей
• меньше макросного ада
• больше контроля и предсказуемости
Rust продолжает делать то, за что его любят - тихо улучшать разработку на каждом уровне
blog.rust-lang.org/2026/04/16/Rust-1.95.0/
Добавили
cfg_select! - теперь проще управлять кодом под разные платформы без каши из #[cfg].В match наконец завезли
if let guards. Условия стали чище, меньше вложенности, код читается быстрее.Под капотом много стабилизаций API и улучшений const. Больше логики можно выполнять на этапе компиляции, а не в рантайме.
• Меньше костылей
• меньше макросного ада
• больше контроля и предсказуемости
Rust продолжает делать то, за что его любят - тихо улучшать разработку на каждом уровне
blog.rust-lang.org/2026/04/16/Rust-1.95.0/
❤41🔥16👍12🥰1🤗1
🦀 Google затащили Rust туда, где его реально ждали - прямо в cellular baseband у Pixel 10.
Не в приложение, не в системный сервис и даже не в очередную утилиту, а в прошивку модема. Это уже совсем другой уровень.
Первым шагом заменили DNS-парсер, который раньше был написан на C и регулярно оставался источником memory-safety проблем. Теперь там Rust на базе hickory-proto: bare-metal, no_std, FFI к существующим C-аллокаторам - все по-взрослому.
И самое важное тут даже не сам DNS-парсер. Главное, что Google уже протащили Rust в build system baseband. А значит, это не разовая демонстрация, а начало нормальной поэтапной миграции.
Вот так и выглядит реальное внедрение Rust в критическую инфраструктуру: без громких лозунгов, но с максимальной пользой. Сначала один опасный компонент, потом еще один, а дальше язык постепенно заходит в самые уязвимые части системы.
Rust все чаще идет не в новые игрушечные проекты, а в старые и сложные куски железа, где цена ошибки слишком высокая.
security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html
#Rust #RustLang #MemorySafety #EmbeddedSystems #Android
Не в приложение, не в системный сервис и даже не в очередную утилиту, а в прошивку модема. Это уже совсем другой уровень.
Первым шагом заменили DNS-парсер, который раньше был написан на C и регулярно оставался источником memory-safety проблем. Теперь там Rust на базе hickory-proto: bare-metal, no_std, FFI к существующим C-аллокаторам - все по-взрослому.
И самое важное тут даже не сам DNS-парсер. Главное, что Google уже протащили Rust в build system baseband. А значит, это не разовая демонстрация, а начало нормальной поэтапной миграции.
Вот так и выглядит реальное внедрение Rust в критическую инфраструктуру: без громких лозунгов, но с максимальной пользой. Сначала один опасный компонент, потом еще один, а дальше язык постепенно заходит в самые уязвимые части системы.
Rust все чаще идет не в новые игрушечные проекты, а в старые и сложные куски железа, где цена ошибки слишком высокая.
security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html
#Rust #RustLang #MemorySafety #EmbeddedSystems #Android
🔥54❤19👍13💊3🥰2👏2🥱2😍1💯1
🦀 Rust заходит на GPU по-взрослому
Появился мощный разбор от VectorWare: они смогли запустить обычные std::thread прямо на GPU.
Идея простая, но взрывающая мозг: вместо классической модели GPU с kernel’ами и ручной синхронизацией, потоки Rust мапятся на warps.
И код начинает выглядеть как нормальный Rust, а не как низкоуровневый ад с указателями и барьерами.
GPU всегда работал по другой логике: ты пишешь функцию, а она запускается тысячи раз параллельно. Вся синхронизация и контроль — на тебе. Именно поэтому GPU-код сложный и хрупкий
Здесь происходит сдвиг модели:
• пишешь как для CPU
• получаешь параллелизм GPU
• меньше дыр в безопасности и ручной работы
Каждый warp ведёт себя как поток
часть стандартной библиотеки начинает работать прямо на устройстве
Это попытка совместить два мира: thread-based модель CPU и kernel-based модель GPU
Один и тот же код можно гонять на CPU и GPU, сложная логика больше не требует переписывания под kernel.
Если такие абстракции взлетят, GPU перестанет быть «спецрежимом для математики» и станет обычной средой исполнения для сложных систем.
Ссылка на разбор: https://vectorware.com/blog/threads-on-gpu/
Появился мощный разбор от VectorWare: они смогли запустить обычные std::thread прямо на GPU.
Идея простая, но взрывающая мозг: вместо классической модели GPU с kernel’ами и ручной синхронизацией, потоки Rust мапятся на warps.
И код начинает выглядеть как нормальный Rust, а не как низкоуровневый ад с указателями и барьерами.
GPU всегда работал по другой логике: ты пишешь функцию, а она запускается тысячи раз параллельно. Вся синхронизация и контроль — на тебе. Именно поэтому GPU-код сложный и хрупкий
Здесь происходит сдвиг модели:
• пишешь как для CPU
• получаешь параллелизм GPU
• меньше дыр в безопасности и ручной работы
Каждый warp ведёт себя как поток
std::thread становится абстракцией поверх GPUчасть стандартной библиотеки начинает работать прямо на устройстве
Это попытка совместить два мира: thread-based модель CPU и kernel-based модель GPU
Один и тот же код можно гонять на CPU и GPU, сложная логика больше не требует переписывания под kernel.
Если такие абстракции взлетят, GPU перестанет быть «спецрежимом для математики» и станет обычной средой исполнения для сложных систем.
Ссылка на разбор: https://vectorware.com/blog/threads-on-gpu/
🔥60👍13🥰6❤2😁1😱1🤗1
Грэйдон Хоар возвращался домой в Ванкувере - лифт в его доме на 21-м этаже снова упал с ошибкой прошивки.
Пока он поднимался пешком, в голове оформилась идея. В тот же вечер он открыл ноутбук и начал проектировать язык.
Назвал его Rust - в честь грибков, известных своей абсурдной живучестью.
Было это в 2006 году, Хоару было 29 лет, он работал инженером в Mozilla.
Проблема, которую он хотел решить, существовала десятилетиями. Системное программирование жило в C и C++ - быстро, близко к железу, но с ценой: ручное управление памятью. На миллионах строк кода даже самые аккуратные инженеры допускают ошибки. Microsoft оценивает, что 70% уязвимостей в её продуктах - это баги управления памятью в C и C++. В 90-х Java, Python и JavaScript предложили альтернативу: сборщик мусора, автоматическая память. Но заплатить пришлось производительностью и непригодностью для bare-metal среды. Поле разделилось на два лагеря: быстро-но-опасно против безопасно-но-медленно.
Rust предложил третий путь. Компилятор просто откажется собирать программу, если нарушены правила работы с памятью. Система владения гарантирует, что на каждый кусок данных в любой момент существует ровно одна ссылка. Никакого рантайм-оверхеда, никакого сборщика мусора - в 2013 году команда вырезала его полностью. Язык стал быстрее и ближе к металлу, сохранив при этом безопасность на уровне архитектуры.
Результаты говорят сами за себя. Discord переписал один из core-сервисов с Go на Rust - он стал работать в 10 раз быстрее.
Dropbox переделал движок синхронизации, потому что Python не справлялся с миллиардами файлов. Cloudflare пропускает через Rust-системы больше 20% всего интернет-трафика. Программы на Rust потребляют примерно вдвое меньше электричества, чем аналоги на Java. Правительство США официально рекомендует переход на Rust как меру национальной кибербезопасности.
Семь лет подряд Rust занимает первое место в опросе Stack Overflow как самый любимый язык среди разработчиков. Сейчас им пользуются 2,8 миллиона человек по всему миру.
Хоар ушёл из проекта в том же 2013-м. Он запустил то, что уже не нуждалось в нём, - и оказался прав.
Пока он поднимался пешком, в голове оформилась идея. В тот же вечер он открыл ноутбук и начал проектировать язык.
Назвал его Rust - в честь грибков, известных своей абсурдной живучестью.
Было это в 2006 году, Хоару было 29 лет, он работал инженером в Mozilla.
Проблема, которую он хотел решить, существовала десятилетиями. Системное программирование жило в C и C++ - быстро, близко к железу, но с ценой: ручное управление памятью. На миллионах строк кода даже самые аккуратные инженеры допускают ошибки. Microsoft оценивает, что 70% уязвимостей в её продуктах - это баги управления памятью в C и C++. В 90-х Java, Python и JavaScript предложили альтернативу: сборщик мусора, автоматическая память. Но заплатить пришлось производительностью и непригодностью для bare-metal среды. Поле разделилось на два лагеря: быстро-но-опасно против безопасно-но-медленно.
Rust предложил третий путь. Компилятор просто откажется собирать программу, если нарушены правила работы с памятью. Система владения гарантирует, что на каждый кусок данных в любой момент существует ровно одна ссылка. Никакого рантайм-оверхеда, никакого сборщика мусора - в 2013 году команда вырезала его полностью. Язык стал быстрее и ближе к металлу, сохранив при этом безопасность на уровне архитектуры.
Результаты говорят сами за себя. Discord переписал один из core-сервисов с Go на Rust - он стал работать в 10 раз быстрее.
Dropbox переделал движок синхронизации, потому что Python не справлялся с миллиардами файлов. Cloudflare пропускает через Rust-системы больше 20% всего интернет-трафика. Программы на Rust потребляют примерно вдвое меньше электричества, чем аналоги на Java. Правительство США официально рекомендует переход на Rust как меру национальной кибербезопасности.
Семь лет подряд Rust занимает первое место в опросе Stack Overflow как самый любимый язык среди разработчиков. Сейчас им пользуются 2,8 миллиона человек по всему миру.
Хоар ушёл из проекта в том же 2013-м. Он запустил то, что уже не нуждалось в нём, - и оказался прав.
👍44❤17🔥8😇7🥰1🤯1🤝1
🦀 Rust не ловит дедлоки, он их просто не компилирует
Вместо того чтобы надеяться, что ты правильно расставил lock’и и ничего не сломаешь в рантайме, Surelock выносит всю проблему дедлоков на уровень типов.
Ошибся с порядком захвата мьютексов?
Код даже не соберётся.
И это не какая-то игрушка. API остаётся удобным.
По факту:
• компилятор сам проверяет порядок локов
• невозможно случайно создать дедлок
• эргономика остаётся на уровне обычного Rust
•
Это тот случай, когда безопасность не «поверх», а встроена в саму модель языка.
Rust снова делает то, что другие языки даже не пытаются.
https://notes.brooklynzelenka.com/Blog/Surelock
Вместо того чтобы надеяться, что ты правильно расставил lock’и и ничего не сломаешь в рантайме, Surelock выносит всю проблему дедлоков на уровень типов.
Ошибся с порядком захвата мьютексов?
Код даже не соберётся.
И это не какая-то игрушка. API остаётся удобным.
По факту:
• компилятор сам проверяет порядок локов
• невозможно случайно создать дедлок
• эргономика остаётся на уровне обычного Rust
•
Это тот случай, когда безопасность не «поверх», а встроена в саму модель языка.
Rust снова делает то, что другие языки даже не пытаются.
https://notes.brooklynzelenka.com/Blog/Surelock
❤26🥰4🔥2😇2
Если оборачиваешь указатели или хендлы для FFI, не полагайся на “и так сойдёт”.
Явно зафиксируй layout через repr.
Связка repr(transparent) и repr(C) даёт предсказуемое представление в памяти. Тип снаружи выглядит как обёртка, а для компилятора это тот же layout, что и у внутреннего значения.
Что это даёт на практике
• бинарная совместимость с C
• отсутствие скрытых паддингов и перестановок полей
• возможность делать приведения без transmute
• нормальный, идиоматичный способ оборачивать raw handle и pointer
В итоге ты получаешь типобезопасность Rust без потери контроля над ABI.
Если работаешь с FFI и не фиксируешь repr, ты оставляешь поведение на усмотрение компилятора. И это рано или поздно выстрелит.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6🔥4🥰2🤗1
Forwarded from Machinelearning
🚀 DeepSeek выкатили V4 и сделали то, к чему все шли последние два года.
Длинный контекст больше не фича для демо. Теперь это базовый уровень.
Пока Запад празднует релизы с пафосными стримами, китайцы из DeepSeek сегодня утром просто выложили в Hugging Face две открытые модели и пошли пить чай. А теперь весь твиттер пытается осознать, что произошло. V4-Pro на 1.6 триллиона параметров с 49 миллиардами активных и V4-Flash на 284 миллиарда с 13 активными. Обе открытые, обе с миллионом контекста по дефолту, обе уже доступны через API и на chat.deepseek.com.
Главная фишка даже не в размере, а в том, что DeepSeek пересобрали внимание. Они запихнули в модель токенную компрессию и свою DeepSeek Sparse Attention, за счёт чего длинный контекст стал буквально дешёвым.
Не «технически возможным за пять долларов за запрос», как у конкурентов, а реально дешёвым. 1М теперь стандарт во всех официальных сервисах, а не премиум-опция за отдельную плату.
По цифрам V4-Pro претендует на открытый SOTA в агентном кодинге, тащит математику и STEM и в общих знаниях уступает только Gemini 3.1 Pro. Flash-версия идёт следом почти вплотную по ризонингу и ровно держит планку Pro на простых агентных задачах, но с меньшей задержкой и смешным прайсом.
Отдельно интересно, что API теперь поддерживает и формат OpenAI ChatCompletions, и Anthropic, с переключением между Thinking и Non-Thinking режимами. Старые deepseek-chat и deepseek-reasoner отключат 24 июля 2026, так что у команд есть три месяца на миграцию.
И конечно, DeepSeek не забыли ткнуть Anthropic в бок: в треде прямо написано, что V4 «бесшовно интегрируется с Claude Code, OpenClaw и OpenCode». То есть пока у Anthropic вчера был пост-мортем про сломанный харнесс, DeepSeek сегодня предлагает подменить им модель и сэкономить.
Закрытые лаборатории будут делать вид, что ничего не случилось, но стоимость миллиона токенов контекста только что стала публичной ценой, и от неё уже не отмотаешь.
В релизе есть упоминания - «950 supernodes» это отсылка к Huawei Atlas 950 SuperPoD, новой инференс-инфраструктуре Huawei на чипах Ascend. DeepSeek говорят, что во второй половине 2026 года, когда эти суперноды запустят в масштабе, цена Pro заметно упадёт. То есть они планируют гонять инференс не на Nvidia, а на китайском железе Huawei.
📄 Tech Report: https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro/blob/main/DeepSeek_V4.pdf
🤗 Open Weights: https://huggingface.co/collections/deepseek-ai/deepseek-v4
@ai_machinelearning_big_data
#DeepSeek
Длинный контекст больше не фича для демо. Теперь это базовый уровень.
Пока Запад празднует релизы с пафосными стримами, китайцы из DeepSeek сегодня утром просто выложили в Hugging Face две открытые модели и пошли пить чай. А теперь весь твиттер пытается осознать, что произошло. V4-Pro на 1.6 триллиона параметров с 49 миллиардами активных и V4-Flash на 284 миллиарда с 13 активными. Обе открытые, обе с миллионом контекста по дефолту, обе уже доступны через API и на chat.deepseek.com.
Главная фишка даже не в размере, а в том, что DeepSeek пересобрали внимание. Они запихнули в модель токенную компрессию и свою DeepSeek Sparse Attention, за счёт чего длинный контекст стал буквально дешёвым.
Не «технически возможным за пять долларов за запрос», как у конкурентов, а реально дешёвым. 1М теперь стандарт во всех официальных сервисах, а не премиум-опция за отдельную плату.
По цифрам V4-Pro претендует на открытый SOTA в агентном кодинге, тащит математику и STEM и в общих знаниях уступает только Gemini 3.1 Pro. Flash-версия идёт следом почти вплотную по ризонингу и ровно держит планку Pro на простых агентных задачах, но с меньшей задержкой и смешным прайсом.
Отдельно интересно, что API теперь поддерживает и формат OpenAI ChatCompletions, и Anthropic, с переключением между Thinking и Non-Thinking режимами. Старые deepseek-chat и deepseek-reasoner отключат 24 июля 2026, так что у команд есть три месяца на миграцию.
И конечно, DeepSeek не забыли ткнуть Anthropic в бок: в треде прямо написано, что V4 «бесшовно интегрируется с Claude Code, OpenClaw и OpenCode». То есть пока у Anthropic вчера был пост-мортем про сломанный харнесс, DeepSeek сегодня предлагает подменить им модель и сэкономить.
Закрытые лаборатории будут делать вид, что ничего не случилось, но стоимость миллиона токенов контекста только что стала публичной ценой, и от неё уже не отмотаешь.
В релизе есть упоминания - «950 supernodes» это отсылка к Huawei Atlas 950 SuperPoD, новой инференс-инфраструктуре Huawei на чипах Ascend. DeepSeek говорят, что во второй половине 2026 года, когда эти суперноды запустят в масштабе, цена Pro заметно упадёт. То есть они планируют гонять инференс не на Nvidia, а на китайском железе Huawei.
📄 Tech Report: https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro/blob/main/DeepSeek_V4.pdf
🤗 Open Weights: https://huggingface.co/collections/deepseek-ai/deepseek-v4
@ai_machinelearning_big_data
#DeepSeek
❤27🔥19👍11⚡2🥴1🏆1