🦀 Google наконец выпустил официальный CLI на Rust для своих сервисов.
Теперь через один инструмент можно работать с Gmail, Drive, Sheets, Calendar, Admin, Keep, Meet и еще десятком сервисов Google.
#rust #rustlang #programming
https://github.com/googleworkspace/cli
Теперь через один инструмент можно работать с Gmail, Drive, Sheets, Calendar, Admin, Keep, Meet и еще десятком сервисов Google.
#rust #rustlang #programming
https://github.com/googleworkspace/cli
👍35🔥12❤10💊4☃1🌭1
🦀 Вышел Rust 1.94.0
В новом релизе появилось небольшое, но очень полезное изменение для разработчиков CLI-утилит.
Теперь переменная CARGO_BIN_EXE_<name> доступна не только во время сборки, но и во время выполнения программы.
Это позволяет напрямую получать путь к скомпилированному бинарнику и использовать его в тестах. Раньше для этого приходилось писать обходные решения или вручную искать путь к файлу.
Теперь Cargo сам предоставляет путь к бинарному файлу, что сильно упрощает интеграционное тестирование CLI-приложений.
Полный список изменений доступен в changelog релиза Rust 1.94.0.
https://github.com/rust-lang/rust/releases/tag/1.94.0
#rustlang #rust #cargo #release #testing #opensource
В новом релизе появилось небольшое, но очень полезное изменение для разработчиков CLI-утилит.
Теперь переменная CARGO_BIN_EXE_<name> доступна не только во время сборки, но и во время выполнения программы.
Это позволяет напрямую получать путь к скомпилированному бинарнику и использовать его в тестах. Раньше для этого приходилось писать обходные решения или вручную искать путь к файлу.
Теперь Cargo сам предоставляет путь к бинарному файлу, что сильно упрощает интеграционное тестирование CLI-приложений.
Полный список изменений доступен в changelog релиза Rust 1.94.0.
https://github.com/rust-lang/rust/releases/tag/1.94.0
#rustlang #rust #cargo #release #testing #opensource
👍31🔥17🎉6❤4😁2⚡1🥰1🤗1
Это полноценный учебник на 300+ страниц, который используется внутри Google для обучения разработчиков Rust. Материал построен так, чтобы пройти путь от базового синтаксиса до продвинутых возможностей языка.
Внутри курса разбираются ключевые темы Rust:
- владение памятью и borrowing
- lifetimes
- структуры и enum
- pattern matching
- generics и traits
- error handling
- concurrency
- async Rust
- работа с unsafe кодом
Отдельный плюс курса - большое количество примеров и практических упражнений, которые помогают быстро понять философию языка.
Если вы хотите разобраться, почему Rust считается одним из самых безопасных и быстрых системных языков - это один из лучших материалов для старта.
google.github.io/comprehensive-rust/comprehensive-rust.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍9❤7🥰1🤗1
🦀 Rust - 9 лет (2006 → 2015)
🤖 Kotlin - 6 лет (2010 → 2016)
⚙️ C++ - 6 лет (1979 → 1985)
☕ Java - 5 лет (1991 → 1996)
🐹 Go - 5 лет (2007 → 2012)
🍎 Swift - 4 года (2010 → 2014)
🔧 C - 3 года (1969 → 1972)
🧬 Scala - 3 года (2001 → 2004)
📊 Julia - 3 года (2009 → 2012)
🐍 Python - 2 года (1989 → 1991)
🌐 JavaScript - 10 дней (1995)
💎 Ruby - 2 года (1993 → 1995)
🐘 PHP - 1 год (1994 → 1995)
🔷 C# - 2 года (1998 → 2000)
🎯 TypeScript - 2 года (2010 → 2012)
🎯 Dart - 2 года (2009 → 2011)
⚡ Elixir - 2 года (2011 → 2013)
🧠 Haskell - 3 года (1987 → 1990)
🧩 Objective-C - 1 год (1983 → 1984)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍8🥱5❤4🎉2
🦀 Вышел rustup 1.29.0
Обновление получилось действительно полезным - без громких обещаний, зато с улучшениями, которые заметны в реальной работе.
Что нового:
-
- появилась официальная поддержка Solaris -
- rustup теперь автоматически настраивает
- если у вас уже есть свой
- к команде присоединился новый участник -
Особенно приятно видеть изменения не только для массовых сценариев, но и для более нишевых окружений и удобных dev-воркфлоу.
Небольшой релиз, но очень практичный.
#rust #rustlang #programming
https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/
Обновление получилось действительно полезным - без громких обещаний, зато с улучшениями, которые заметны в реальной работе.
Что нового:
-
rustup update стал быстрее благодаря параллельной загрузке и распаковке- появилась официальная поддержка Solaris -
sparcv9 и x86_64- rustup теперь автоматически настраивает
PATH для tcsh и xonsh- если у вас уже есть свой
rust-analyzer в PATH, rustup будет использовать именно его - удобно для Neovim и Helix- к команде присоединился новый участник -
@FranciscoTGouveiaОсобенно приятно видеть изменения не только для массовых сценариев, но и для более нишевых окружений и удобных dev-воркфлоу.
Небольшой релиз, но очень практичный.
#rust #rustlang #programming
https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/
👍28🔥10❤6🤗2⚡1🥰1
Rust-совет недели 🦀
Можно встроить статический текст прямо в бинарник с помощью
Этот макрос читает файл во время компиляции и встраивает его содержимое прямо в программу. Никакого чтения файлов во время выполнения.
Это удобно для:
- шаблонов конфигурации
- встроенных скриптов
- статических ресурсов
- тестовых данных
Пример:
Во время компиляции Rust читает файл и помещает его содержимое прямо в исполняемый файл.
Просто, быстро и без runtime IO.
#rust #junior #rustlang
Можно встроить статический текст прямо в бинарник с помощью
include_str!.Этот макрос читает файл во время компиляции и встраивает его содержимое прямо в программу. Никакого чтения файлов во время выполнения.
Это удобно для:
- шаблонов конфигурации
- встроенных скриптов
- статических ресурсов
- тестовых данных
Пример:
fn main() {
const TEXT: &str = include_str!("static-data.txt");
let program = include_str!("main.rs");
}
Во время компиляции Rust читает файл и помещает его содержимое прямо в исполняемый файл.
Просто, быстро и без runtime IO.
#rust #junior #rustlang
❤25🔥18👍10🤔2🥰1🤗1
🚨 Похоже, Chrome может стать слишком тяжёлым для эпохи AI-агентов.
Появился новый проект - Lightpanda.
Это headless-браузер, написанный с нуля, который работает:
• в 11 раз быстрее
• использует в 9 раз меньше памяти
И самое интересное - он не основан на Chromium.
Сейчас почти все AI-агенты, которые автоматизируют работу с сайтами, используют Chrome под капотом.
Но есть проблема.
Вы фактически запускаете огромное десктопное приложение без интерфейса, иногда сотни раз на сервере.
И всё это ради задачи, где не нужно отрисовывать ни одного пикселя.
Это примерно как арендовать фуру, чтобы отправить письмо.
Lightpanda делает всё иначе.
Он написан на Zig и изначально создавался только для одной цели —
максимально быстрый headless-браузер для автоматизации.
При этом он всё ещё поддерживает:
• JavaScript
• Ajax
• Fetch / XHR
• SPA-приложения
• infinite scroll
Но без сотен мегабайт браузерного «балласта», который вам не нужен.
Подключается он тоже очень просто:
• работает с Playwright, Puppeteer и chromedp через CDP
• одна команда Docker
• CDP-сервер на порт 9222
• можно заменить Chrome буквально за 30 секунд
Где это особенно полезно:
• AI web-агенты
• сбор данных для обучения LLM
• масштабная браузерная автоматизация
• тестовые пайплайны
Проект пока в beta, но уже набрал 11.8K ⭐ на GitHub.
И это open source под лицензией AGPL-3.0.
Похоже, для AI-агентов может появиться новый стандарт браузера.
https://github.com/lightpanda-io/browser
Появился новый проект - Lightpanda.
Это headless-браузер, написанный с нуля, который работает:
• в 11 раз быстрее
• использует в 9 раз меньше памяти
И самое интересное - он не основан на Chromium.
Сейчас почти все AI-агенты, которые автоматизируют работу с сайтами, используют Chrome под капотом.
Но есть проблема.
Вы фактически запускаете огромное десктопное приложение без интерфейса, иногда сотни раз на сервере.
И всё это ради задачи, где не нужно отрисовывать ни одного пикселя.
Это примерно как арендовать фуру, чтобы отправить письмо.
Lightpanda делает всё иначе.
Он написан на Zig и изначально создавался только для одной цели —
максимально быстрый headless-браузер для автоматизации.
При этом он всё ещё поддерживает:
• JavaScript
• Ajax
• Fetch / XHR
• SPA-приложения
• infinite scroll
Но без сотен мегабайт браузерного «балласта», который вам не нужен.
Подключается он тоже очень просто:
• работает с Playwright, Puppeteer и chromedp через CDP
• одна команда Docker
• CDP-сервер на порт 9222
• можно заменить Chrome буквально за 30 секунд
Где это особенно полезно:
• AI web-агенты
• сбор данных для обучения LLM
• масштабная браузерная автоматизация
• тестовые пайплайны
Проект пока в beta, но уже набрал 11.8K ⭐ на GitHub.
И это open source под лицензией AGPL-3.0.
Похоже, для AI-агентов может появиться новый стандарт браузера.
https://github.com/lightpanda-io/browser
👏36❤16👍7💊5😁3⚡1🔥1🥰1🤔1🤗1
🌐 IRBox: Удобный и безопасный прокси-клиент
IRBox предлагает многофункциональную поддержку протоколов и продвинутые инструменты управления для обеспечения безопасного и стабильного интернет-соединения. Идеален для пользователей, заботящихся о конфиденциальности.
🚀 Основные моменты:
- Поддержка множества протоколов (VLESS, VMess, Shadowsocks и др.)
- Расширенные функции управления (правила маршрутизации, автообновление подписок)
- Интуитивно понятный интерфейс с темами и тестированием задержки серверов
📌 GitHub: https://github.com/frank-vpl/IRBox
#rust
IRBox предлагает многофункциональную поддержку протоколов и продвинутые инструменты управления для обеспечения безопасного и стабильного интернет-соединения. Идеален для пользователей, заботящихся о конфиденциальности.
🚀 Основные моменты:
- Поддержка множества протоколов (VLESS, VMess, Shadowsocks и др.)
- Расширенные функции управления (правила маршрутизации, автообновление подписок)
- Интуитивно понятный интерфейс с темами и тестированием задержки серверов
📌 GitHub: https://github.com/frank-vpl/IRBox
#rust
👍17❤8🥰3😐2🤗1
Discord начал переносить отдельные компоненты с Go на Rust, потому что при их масштабе главная цена - это предсказуемость задержек и эффективность памяти. Речь не про "мода на Rust", а про конкретные технические потолки, в которые упираются большие real-time системы.
Контекст - почему это вообще стало проблемой
Discord - это нагрузка с постоянными пиками и жёсткими требованиями к latency. Когда у тебя миллионы одновременных соединений, сообщения в реальном времени, голосовые сессии и огромные объёмы событий, любая нестабильность по времени ответа превращается в пользовательские лаги и дорогую инфраструктуру.
Что в Go стало упираться на масштабе Discord
1) GC и хвостовые задержки
Go использует сборщик мусора. Он стал очень хорошим, но у больших сервисов с активными аллокациями и большими heap-объёмами GC всё равно может:
- создавать краткие паузы или "подёргивания"
- давать спайки по p99 и p999 latency
- делать поведение менее предсказуемым именно в моменты пиков
На небольших сервисах это часто незаметно. На real-time инфраструктуре, где важны хвостовые перцентили, это начинает быть системной проблемой.
2) Цена аллокаций и давление на память
Go удобен, но он поощряет стиль, где аллокации происходят "само собой". На горячих путях это приводит к:
- росту heap
- большему количеству работы GC
- большему потреблению RAM
- а значит - к большему числу машин и более высокой стоимости
3) Потребность в более низком уровне контроля
В некоторых компонентах Discord понадобился контроль над:
- тем, когда и как выделяется память
- буферами и их жизненным циклом
- layout данных
- оптимизациями "вплоть до байта"
Go как язык намеренно ограничивает такие вещи ради простоты и скорости разработки. Когда система доросла, Discord понадобилось больше "ручек".
Почему именно Rust
1) Нет GC - стабильнее latency
Rust не использует сборщик мусора. Память освобождается детерминированно через владение и области видимости.
Результат - меньше неожиданных спайков по времени ответа, особенно на больших heap-нагрузках.
2) Контроль над аллокациями и структурой данных
Rust позволяет проектировать горячие пути так, чтобы:
- уменьшать количество аллокаций
- переиспользовать буферы
- держать данные в более cache-friendly структурах
- снижать overhead на каждом запросе/событии
3) Производительность уровня системного программирования с безопасностью
Discord явно не хочет возвращаться в мир "C/C++ и вечных memory bugs". Rust даёт:
- системную производительность
- защиту от use-after-free, data races и многих классов ошибок памяти на уровне компилятора
Главный нюанс - Discord не "выкинул Go"
Важная мысль из текста Discord: это не религия, а прагматика.
Обычно выглядит так:
- Go остаётся отличным для продуктовой логики, быстрых сервисов, разработки и поддержки
- Rust применяют там, где есть жёсткий performance budget - горячие пути, сетевые компоненты, обработка больших объёмов событий, инфраструктурные библиотеки
То есть это "гибридная стратегия", а не миграция всего подряд.
Что это говорит о рынке
1) Go закрепился как язык для скорости разработки
Если цель - быстро писать и менять микросервисы, Go остаётся одним из лучших выборов.
2) Rust всё чаще становится языком инфраструктуры
Когда компания вырастает и начинает платить миллионы за лишние миллисекунды и гигабайты RAM, Rust становится экономически выгодным.
3) Критерий выбора меняется с "удобно" на "предсказуемо"
На больших масштабах выигрывает не тот, кто чуть быстрее в среднем, а тот, у кого меньше хвостовых задержек и меньше сюрпризов под нагрузкой.
История Discord - это не про - "Go плохой". Это кейс о том, что на hyperscale появляются другие ограничения.
Go - отличный default для backend.
Rust - сильный инструмент для performance-critical инфраструктуры, где важны p99/p999, память и контроль над горячими путями.
https://discord.com/blog/why-discord-is-switching-from-go-to-rust/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍10❤7⚡5😁3🤬2🫡2🥰1🤔1🤗1
🦀 Как может выглядеть будущее Rust
В новой статье “A Grand Vision for Rust” разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.
Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.
Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.
Если такие свойства будут описаны на уровне типов, компилятор сможет проверять гораздо больше вещей ещё до запуска программы.
Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.
Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.
В целом автор говорит о том, что Rust уже считается одним из самых безопасных языков, но в будущем он может стать платформой, где корректность программ будет ещё сильнее контролироваться самим компилятором.🦀 Как может выглядеть будущее Rust
В новой статье “A Grand Vision for Rust” разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.
Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.
Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.
Если такие свойства будут описаны на уровне типов, компилятор сможет проверять гораздо больше вещей ещё до запуска программы.
Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.
Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.
В целом автор говорит о том, что Rust уже считается одним из самых безопасных языков, но в будущем он может стать платформой, где корректность программ будет ещё сильнее контролироваться самим компилятором.
blog.yoshuawuyts.com/a-grand-vision-for-rust/
#rust #rustlang
В новой статье “A Grand Vision for Rust” разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.
Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.
Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.
Если такие свойства будут описаны на уровне типов, компилятор сможет проверять гораздо больше вещей ещё до запуска программы.
Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.
Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.
В целом автор говорит о том, что Rust уже считается одним из самых безопасных языков, но в будущем он может стать платформой, где корректность программ будет ещё сильнее контролироваться самим компилятором.🦀 Как может выглядеть будущее Rust
В новой статье “A Grand Vision for Rust” разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.
Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.
Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.
Если такие свойства будут описаны на уровне типов, компилятор сможет проверять гораздо больше вещей ещё до запуска программы.
Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.
Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.
В целом автор говорит о том, что Rust уже считается одним из самых безопасных языков, но в будущем он может стать платформой, где корректность программ будет ещё сильнее контролироваться самим компилятором.
blog.yoshuawuyts.com/a-grand-vision-for-rust/
#rust #rustlang
❤26🔥14🥰4💯2🤔1
Вот лишь часть тем, которые сразу зацепили:
- Async в продакшене
- Конкурентность и runtime
- Почему разработчикам на C/C++ стоит переходить на Rust
- no_std — Rust без стандартной библиотеки
- Зачем Rust разработчикам на C#
- Системное программирование и продакшн
- Unsafe Rust - управляемый риск
- Phantom types
- Машины состояний для протоколов
И это только малая часть.
Похоже, туда вложили очень много работы, точно стоит выделить время и пройтись.
github.com/microsoft/RustTraining/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45❤10👍9🌚1
Forwarded from Machinelearning
Подразделение Research анонсировало TurboQuant, алгоритм векторного квантования, объединяющий 2 других метода - QJL и PolarQuant, который решает проблему увеличения KV-кэша при работе с длинным контекстом.
TurboQuant будет представлен на ICLR 2026, PolarQuant - на AISTATS 2026.
KV-кэш хранит промежуточные представления токенов, чтобы модель не пересчитывала их на каждом шаге генерации. С ростом контекста он превращается в узкое место по памяти.
Обычное векторное квантование сжимает эти данные, но вносит накладные расходы: для каждого блока нужно хранить константы квантования в полной точности, а это плюс 1–2 бита на элемент, что частично обесценивает само сжатие.
Сначала PolarQuant: случайный поворот выравнивает геометрию векторов, после чего они переводятся из декартовых координат в полярные (радиус и угол). Распределение углов оказывается предсказуемым и сконцентрированным, поэтому нормализация и хранение дополнительных констант становятся больше не нужны.
На втором этапе подключается QJL, метод на основе преобразования Джонсона-Линденштраусса, который кодирует остаточную ошибку первого этапа всего одним знаковым битом и через встроенную оценочную функцию сочетает высокоточный запрос с низкоточными сжатыми данными, корректно вычисляя attention score.
Ни один из методов не требует обучения или дообучения и работает в режиме "без предварительного анализа набора данных".
Алгоритмы тестили на бенчмарках для длинного контекста: LongBench, Needle In A Haystack, ZeroSCROLLS, RULER и L-Eval с моделями Gemma и Mistral.
При квантовании KV-кэша до 3 бит TurboQuant показал нулевую деградацию точности на всех задачах: поиск «иголки в стоге сена», QA, генерация кода, суммаризация.
Объем KV-кэша при этом сократился в 6 раз. На H100 четырехбитный TurboQuant ускорил вычисление attention-логитов до 8 раз по сравнению с 32-битными ключами.
Область применения не ограничивается KV-кэшем. В экспериментах с высокоразмерным векторным поиском TurboQuant стабильно превзошел по recall методы PQ и RaBitQ несмотря на то, что те использовали крупные код-буки и подстройку под конкретный датасет.
@ai_machinelearning_big_data
🎯Полезные Мл-ресурсы 🚀 Max
#AI #ML #LLM #TurboQuant #Google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥10👍3
🤖 Spacebot: AI для команд и сообществ
Spacebot — это мощный AI-агент, созданный для работы в многопользовательских средах, таких как Discord и Slack. Он обрабатывает множество запросов одновременно, не блокируя пользователей и не теряя контекст. Идеально подходит для активных сообществ и команд, обеспечивая эффективное взаимодействие и выполнение задач.
🚀 Основные моменты:
- Поддержка одновременных разговоров и задач.
- Интеграция с Discord, Slack и Telegram.
- Специализированные процессы для выполнения различных задач.
- Возможность развертывания через один клик или самостийно.
- Многофункциональные инструменты для работы с файлами и кодом.
📌 GitHub: https://github.com/spacedriveapp/spacebot
#rust
Spacebot — это мощный AI-агент, созданный для работы в многопользовательских средах, таких как Discord и Slack. Он обрабатывает множество запросов одновременно, не блокируя пользователей и не теряя контекст. Идеально подходит для активных сообществ и команд, обеспечивая эффективное взаимодействие и выполнение задач.
🚀 Основные моменты:
- Поддержка одновременных разговоров и задач.
- Интеграция с Discord, Slack и Telegram.
- Специализированные процессы для выполнения различных задач.
- Возможность развертывания через один клик или самостийно.
- Многофункциональные инструменты для работы с файлами и кодом.
📌 GitHub: https://github.com/spacedriveapp/spacebot
#rust
🔥4🗿3🖕2🤣1💅1