rust_code | Unsorted

Telegram-канал rust_code - Rust

8052

Rust programming language По всем вопросам- @haarrp @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 #VRHSZ

Subscribe to a channel

Rust

👣 Rust без боли начинается не с синтаксиса, а с правильных паттернов

Microsoft выложила практический гайд Rust: Patterns & Engineering How-Tos - не для тех, кто только открыл println!, а для разработчиков, которые уже упёрлись в реальные production-вопросы.

Что внутри:

- type-state и newtype для безопасного дизайна API
- PhantomData для lifetime branding, variance и zero-cost типизации
- channels, actors и concurrency-паттерны
- async pitfalls, где Rust чаще всего ломает ожидания новичков
- error handling через thiserror и anyhow
- тестирование через unit, integration, doc tests и proptest
- benchmarking через criterion

Это особенно полезно для тех, кто приходит из C++, C# или Go и внезапно понимает, что borrow checker - это не главный враг. Главная сложность в Rust - выбрать правильную форму абстракции до того, как код превратится в набор lifetime-костылей.

Если вы уже прошли Rust Book, но всё ещё зависаете на generics, trait bounds, PhantomData, async и тестировании, это очень хороший следующий шаг.

https://microsoft.github.io/RustTraining/rust-patterns-book/

#rust #rustlang

Читать полностью…

Rust

Rust Project показал, как на самом деле выглядит поддержка большого языка, когда вокруг компилятора живут отдельные инструменты: Cargo, Clippy, rustfmt, rust-analyzer, Miri и другие.

Проблема простая: эти проекты удобнее развивать в отдельных репозиториях, потому что у них свои команды, CI, ревью и процессы. Но при этом они должны регулярно синхронизироваться с rust-lang/rust, потому что nightly-сборки, rustup-компоненты и внутренние compiler API завязаны на центральный репозиторий.

Обычные варианты плохо масштабируются:

- monorepo даёт атомарные изменения, но делает вход в проект тяжелее и привязывает всех к процессам compiler team
- git submodules простые, но ломают DX: забытые --recursive, грязные состояния, случайные изменения SHA и невозможность нормально менять родительский проект и инструмент в одном PR
- git subtree лучше подходит для атомарных изменений, но на масштабе Rust стал слишком медленным, особенно для Miri, где синхронизация могла не завершаться часами

Поэтому Rust использует Josh - инструмент на Rust для быстрых и обратимых фильтров поверх git-истории. В статье его по сути называют “git subtree on steroids”: тот же смысл bidirectional sync, но быстрее и с более чистой историей.

Поверх Josh команда сделала josh-sync - небольшой Rust-инструмент, который унифицирует pull/push-синхронизацию между rust-lang/rust и дочерними проектами. Часть операций уже автоматизирована через GitHub Actions: CI может сам открыть PR на синхронизацию и сообщить в Zulip, если нужен ручной разбор конфликта.

Сейчас Josh используют для Miri, Rust Analyzer, compiler-builtins, stdarch и Rust Compiler Development Guide. Clippy и часть других проектов ещё остаются на subtree, но план - постепенно мигрировать и их.

Это пример инженерной инфраструктуры вокруг языка. Rust масштабируется не только через типы, borrow checker и compiler work, но и через скучную, сложную механику сопровождения десятков связанных репозиториев, где один breaking change во внутреннем API не должен случайно сломать nightly-инструменты.

Josh здесь закрывает именно эту боль: сохранить независимость репозиториев, но при этом дать возможность синхронно менять компилятор и завязанные на него инструменты без адского ручного sync-процесса.

https://blog.rust-lang.org/inside-rust/2026/06/04/how-josh-helps-rust-manage-code-across-multiple-repositories/

Читать полностью…

Rust

⚡️ Microsoft открыла Coreutils для Windows - знакомые Unix-команды теперь ставятся одной командой

Microsoft выпустила первый релиз Coreutils for Windows. Это набор привычных *nix-инструментов для Windows, написанных на Rust.

Внутри:

- Rust-версия GNU Coreutils
- реализация FindUtils
- свежая реализация Grep
- shim для совместимости с DOS sort и find
- PowerShell-обёртка для glob-паттернов как в Unix

Установка через winget:


winget install Microsoft.Coreutils


Интересный момент: GNU grep тоже переписали на Rust и уже выкатили первый релиз с тестами, бенчмарками и ранними контрибуциями.

Пока это не финальная замена старым инструментам - в первом релизе ожидают баги и ещё есть работа по производительности. Но сам вектор понятен: Microsoft всё активнее тащит Unix-like tooling в Windows, а Rust становится нормальным языком для системных утилит.

https://github.com/microsoft/coreutils

Читать полностью…

Rust

👣 В Rust нашли интересный способ ускорить pretty printer - штуку, которая красиво форматирует код, JSON, Lisp и другие структуры.

Обычно есть два подхода.

Первый - собрать всё дерево документа целиком. Так делают Wadler-style pretty printers. Это выразительно, но в Rust быстро упирается в память, аллокации и указатели.

Второй - стримить вывод по кускам. Так работает Oppen-style подход. Он легче по памяти, но часто принимает локально хорошие решения и не всегда находит глобально лучший layout.

Автор предлагает третий вариант: не хранить документ как рекурсивный enum, а описывать его через trait Doc.

То есть Text, Concat, Group, Nest и другие элементы становятся отдельными типами, которые умеют сами себя рендерить через layout().

Звучит как мелкая архитектурная правка, но эффект большой: меньше лишних аллокаций, меньше прыжков по памяти, гибче управление Box, Rc и другими стратегиями хранения.

В proof-of-concept реализации pye автор получил до 60x ускорения по сравнению с прямой Rust-реализацией алгоритма из paper “A Pretty Expressive Printer”. А в обновлённых тестах вариант с таким дизайном и greedy-алгоритмом местами обгонял pretty и arena-версию больше чем в 10 раз.

В Rust производительность часто ломается не только на алгоритме, но и на форме данных.

Иногда enum выглядит красиво, но trait-based дизайн лучше ложится на память, ownership и реальные оптимизации компилятора.

blog.wybxc.cc/blog/pretty-printer-pye/

#Rust #RustLang #Compilers #OpenSource #SystemsProgramming

Читать полностью…

Rust

🌐 Умный DNS-резолвер Numa

Numa - это портативный DNS-резолвер, который работает из одного бинарного файла. Он блокирует рекламу, позволяет настраивать локальные сервисы и шифрует запросы с помощью ODoH, обеспечивая вашу конфиденциальность. Все функции встроены, без необходимости в облачных сервисах.

🚀 Основные моменты:
- Портативный, работает на любом устройстве.
- Блокировка рекламы и кэширование по умолчанию.
- Поддержка DNSSEC и DNS-over-TLS для шифрования.
- Автоматическое обнаружение устройств в локальной сети.
- Легкий в использовании интерфейс и настройка.

📌 GitHub: https://github.com/razvandimescu/numa

Читать полностью…

Rust

👣 Rust 1.96 почти готов: релиз уже на финальном тестировании

Команда Rust выложила pre-release версии 1.96.0. Это не финальный релиз, а последняя проверка перед публикацией stable, которая запланирована на 28 мая.

Разработчиков просят прогнать новую версию на реальных проектах и заранее поймать регрессии, пока релиз ещё можно поправить.

Из заметного в 1.96:

- стабилизировали assert_matches! и debug_assert_matches!
- добавили поддержку итерации по диапазонам `NonZero`-чисел
- Cargo теперь позволяет зависимости указывать одновременно git-репозиторий и альтернативный registry
- добавили target.'cfg(..)'.rustdocflags в конфигурации Cargo
- Rustdoc получил более аккуратный рендер deprecated-документации
- есть несколько compatibility notes, которые могут затронуть редкие edge cases

Отдельный сигнал: Rust Team обсуждает изменения в самом pre-release процессе и просит фидбек от сообщества. То есть речь не только про конкретную версию, но и про то, как Rust будет тестировать релизы дальше.

Проверить pre-release можно через rustup:

RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable

https://blog.rust-lang.org/inside-rust/2026/05/26/1.96.0-prerelease/

Читать полностью…

Rust

Rust-приложение, которое превращает скучный терминал в живой dashboard

Splashboard - это splash screen для терминала, написанный на Rust. Открываешь новый shell - и вместо пустого экрана видишь контекст по проекту.

Он может показывать Git-статус, состояние CI, открытые PR, contribution heatmap и даже фазу Луны. Да, зачем-то это тоже есть.

Главная фишка в DX: репозиторий сам может описать свой dashboard через один dashboard.toml. Заходишь в папку проекта через cd - и терминал сразу подхватывает нужный контекст без флагов, ручной настройки и лишней возни.

Под капотом Rust и ratatui, работает кроссплатформенно, пакет доступен на crates.io.

Вот так выглядит нормальный zero-overhead DX: не ещё одна тяжёлая панель в браузере, а быстрый TUI прямо там, где разработчик и так живёт - в терминале.


🔗 http://github.com/unhappychoice/splashboard

#Rust #RustLang #CLI #TerminalTools #OpenSource #DeveloperTools #TUI #Ratatui #Rustacean

Читать полностью…

Rust

👣 Rust + Kubernetes: практичный стек для controller-разработки

Если нужно написать Kubernetes controller, стоит посмотреть на kube-rs.

• типизированные Kubernetes API
• описание состояний через enum и sum types
• явную обработку ошибок
• меньше runtime-сюрпризов
• отсутствие `nil`-крашей
• более строгую модель для reconciliation-логики

Rust помогает перенести часть проверок в компилятор и сделать поведение контроллера более предсказуемым.

GitHub: https://github.com/kube-rs/kube

Читать полностью…

Rust

Вышел RustRover 2026.1.2.

Главное исправление - IDE теперь корректно разбирает комментарии, которые начинаются с ////.

Да, тот самый случай, когда валидный Rust-код мог подсвечиваться как ошибочный просто из-за лишнего слеша в комментарии. Код нормальный, компилятор не ругается, а IDE показывает false positive и заставляет искать проблему там, где её нет.

В обновлении также поправили:

- несколько других ложных ошибок
- вывод типов
- стабильность IDE

Обновление небольшое, но полезное.

Скачать:
https://jetbrains.com/rust/download/

Читать полностью…

Rust

👣 На Stepik обновили курс «Rust: полный курс разработчика. С нуля до профи»

Представьте: через три месяца вы открываете чужой Rust-код и читаете его как книгу.

Arc<Mutex<T>> не вызывает панику. impl Future не пугает. Вы точно знаете, почему компилятор ругается и как это починить за 10 секунд.

Это не фантазия. Это результат 50 уроков, в которых каждая концепция объясняется через код и закрепляется практикой.

Ownership, traits, generics, async, unsafe - всё, что казалось магией, станет рабочим инструментом.

А бонусом - портфолио проектов: от CLI-утилит до REST API и WebAssembly.

Вы и так знаете, что Rust - ваш следующий язык. Этот курс просто сделает это реальностью.

Сегодня - 55% процентов от цены, торопись: https://stepik.org/a/269250/

Читать полностью…

Rust

Rust сегодня исполняется 11 лет 🦀🎉

С версии 1.0 многое изменилось, но история языка всё ещё пишется.

От первого стабильного релиза до сегодняшнего дня Rust вырос в топовые язык, сформированный, аккуратным дизайном и крутым сообществом, которое постоянно поднимает планку качества в разработке ПО.

А когда вы начали работать с Rust?

🎁 Пишите в комментариях.

@rust_code

Читать полностью…

Rust

AI-агенты уже переписывают не пет-проекты, а инфраструктуру уровня Bun

История с Bun выглядит как новый уровень вайбкодинга: не лендинг, не CRUD и не маленький сервис, а почти миллион строк системного кода.

Bun изначально был написан на Zig. После покупки Anthropic проект стал ещё важнее: на нём завязана инфраструктура Claude Code, поэтому любые проблемы runtime напрямую бьют по продукту.

И вот Джарред Самнер начал эксперимент с переносом Bun на Rust при помощи Claude. Сначала это звучало как черновой ресёрч, который легко могут выбросить.

Но через несколько дней Rust-ветка уже проходила около 99.8% тестов на Linux x64 glibc, а в обсуждениях всплыл масштаб порядка 960 тысяч строк портированного кода.

Сама цифра важнее хайпа. AI-агенты впервые выглядят не как помощники для дописывания функций, а как инструмент для радикальных миграций: язык, runtime, архитектура, огромная кодовая база.

Да, качество такого порта ещё будут долго разбирать. Да, миллион строк от агента - это не автоматически production-ready. Но сам факт уже меняет планку.

Раньше переписывание большого проекта на другой язык было историей на месяцы или годы.

Теперь это может начинаться как эксперимент на неделю.

https://github.com/oven-sh/bun/pull/30412

Читать полностью…

Rust

Obscura - headless browser для AI-агентов, который не тащит за собой весь Chrome

Обычный headless Chrome давно стал стандартом для scraping, автотестов и браузерной автоматизации. Но для AI-агентов это часто слишком тяжелая махина: много памяти, долгий старт, лишний вес и куча поведения, заточенного под обычный браузер.

Obscura пытается закрыть эту дыру.

Это open-source headless browser на Rust, сделанный специально под web scraping и агентную автоматизацию. Внутри есть V8 для JavaScript, поддержка Chrome DevTools Protocol и совместимость с Puppeteer / Playwright.

Что заявляют авторы:

- около 30 MB памяти против 200+ MB у headless Chrome
- бинарник около 70 MB против 300+ MB
- быстрый старт без отдельного Chrome и Node.js
- CDP-сервер для подключения через Puppeteer и Playwright
- parallel scraping из коробки
- stealth mode с anti-fingerprinting и блокировкой трекеров
- Apache-2.0, без закрытия фич за paywall

Если AI-агенту нужно не «открыть браузер как человек», а быстро пройти сайт, выполнить JS, забрать DOM, кликнуть, авторизоваться и вытащить данные, то полноценный Chrome становится избыточным.

Obscura выглядит как попытка сделать браузерный рантайм нового типа - не для людей, а для агентов.

https://github.com/h4ckf0r0day/obscura

Читать полностью…

Rust

👣 Твой async fn на самом деле enum, а Pin нужен потому, что Rust наступил на грабли самоссылающихся структур

TL;DR. Каждый async fn в Rust компилируется в enum-стейт-машину.

Размер этой стейт-машины равен размеру самого толстого варианта, поэтому забытая через .await переменная на пару мегабайт превращается в утечку памяти, помноженную на число задач.

Pin существует, чтобы запретить перемещать такие стейт-машины после первого poll, потому что внутри них живут указатели на собственные поля. select! молча теряет данные, если использовать в нём future без cancellation safety. И executor в Tokio, при всей его магии, концептуально умещается в сотню строк.

https://uproger.com/tvoj-async-fn-na-samom-dele-enum-a-pin-nuzhen-potomu-chto-rust-nastupil-na-grabli-samossylayushhihsya-struktur/

Читать полностью…

Rust

👣 Твой код на Rust компилируется, проходит тесты и является UB. Ты просто об этом не знаешь

Если взять случайный крейт с crates.io, поставить на него Miri и подождать минут пять, шанс увидеть красное сообщение про undefined behavior где-то в зависимостях стремится к единице. Чаще всего виноват не автор хитрого unsafe-блока ради скорости, а вполне обычная библиотека, которой пять лет, у которой звёзд на гитхабе больше, чем у твоего пет-проекта строчек кода, и которая всё это время спокойно лежит в продакшене.

Самое неприятное в этой истории то, что компилятор ничего не скажет. Тесты пройдут. Бенчмарки покажут красивые наносекунды. А потом LLVM 19 обновится до LLVM 20, поменяет один проход оптимизации, и твой сервис начнёт ронять прод по понедельникам. Чтобы понять, почему так происходит, придётся залезть в три темы, которые в обычной жизни Rust-разработчика не встречаются: pointer provenance, Stacked Borrows и пришедшую им на смену Tree Borrows.

https://uproger.com/tvoj-kod-na-rust-kompiliruetsya-prohodit-testy-i-yavlyaetsya-ub-ty-prosto-ob-etom-ne-znaesh/

Читать полностью…

Rust

🔥 Продвинутый Rust без учебных игрушек

Базу уже прошли? Тогда следующий шаг - production-разработка.

На Stepik идет скидка 60% на продвинутый курс по Rust для тех, кто хочет не просто знать синтаксис, а строить реальные системы.

Внутри: async, unsafe, gRPC, lock-free, observability, Kafka, NATS, axum, tower, CI/CD и канареечный деплой.

Финальный проект - production-ready feed-сервис от архитектуры до релиза.

21 модуль, 84 урока, 400+ проверочных шагов.

Если хотите перейти от маленьких Rust-утилит к коммерческой разработке, сейчас хороший момент зайти: https://stepik.org/a/285608/pay

Читать полностью…

Rust

✔️ ChatGPT получил динамическое обновление контекста

OpenAI начала развертывание автоматической фоновой памяти для ChatGPT в США на тарифах Plus и Pro. В основе системы лежит механизм фоновой организации данных Dreaming.

Модель самостоятельно извлекает контекст, детали рабочих проектов и предпочтения из множества сессий без прямых команд на запоминание. Главное отличие новой архитектуры - динамическое обновление фактов.

Алгоритм актуализирует информацию со временем, понижая значимость устаревших данных. Прежняя реализация памяти полагалась на статичные факты, требовавшие ручного управления.

В ближайшие недели OpenAI расширит географию доступа и откроет функцию для пользователей бесплатных аккаунтов.
openai.com

✔️ xAI открыла API модели Grok Imagine Video 1.5

Компания выпустила превью-версию модели Grok Imagine Video 1.5 для генерации 720p-видео по картинке. Релиз позиционируется как конкурент Seedance и Google Veo.

Модель анимирует изображение по текстовым промптам: задается направление движения камеры, динамика и атмосфера сцены. Алгоритм сохраняет оригинальную детализацию и схему освещения исходника.

Также поддерживается склейка нескольких планов в длинные ролики с сохранением визуальной консистентности. Доступ к новинке открыт через API.
x.ai

✔️ Nvidia купила ИИ-стартап Kumo

Сделка оценивается в 400 млн долларов. Наработки Kumo интегрируют в платформу Nvidia AI Foundry, где корпоративные клиенты смогут обучать кастомные модели на внутренних реляционных базах.

Стек Kumo адаптирован для анализа сложных структур из множества связанных таблиц, которые тяжело обрабатывать классическими LLM. Алгоритмы комбинируют графовое машинное обучение и генерацию синтетических данных. Платформа решает задачи предиктивной аналитики: от прогнозирования оттока пользователей до оценки вероятности финансовых дефолтов.

В рамках сделки в Nvidia перейдет команда стартапа. Среди действующих клиентов Kumo - DoorDash, Reddit, Databricks и Snowflake. Актуальная модель стартапа вышла в апреле этого года.
theinformation.com

✔️ Релиз Reve 2.0: генерация 4K-изображений через редактируемые макеты

Reve представила новый генератор картинок на архитектуре Large Layout Model. Система отходит от классической генерации по тексту и работает через макеты: каждый визуальный элемент получает точные координаты, размер и описание.

Модель прошла дополнительный пространственный претрейн на базе Qwen. Изображение представляется как код, что позволяет управлять результатом через промпт или точечно редактировать JSON-структуру макета.

По заявлению авторов, на обучение ушло в 10 раз меньше вычислительных мощностей по сравнению с корпоративными аналогами. Модель занимает вторую строчку в бенчмарке Text-to-Image ArenaAi, обходя Nano Banana 2 и GPT-Image-1.5.
blog.reve.com

✔️ Трафик ботов и ИИ-агентов впервые превысил активность людей

По данным Cloudflare, доля машинного веб-трафика достигла 57,5%, превысив активность людей (42,5%). По словам гендиректора компании Мэттью Принса, рубеж пройден на несколько лет раньше прогнозируемого 2027 года.

Рост обусловлен не классическими скриптами (краулеры, спам, DDoS-сети), а автономными ИИ-агентами. Алгоритмы парсят контент для обучения нейросетей и выполняют многошаговые задачи от лица пользователей: мониторят цены, взаимодействуют со службами поддержки и оформляют заказы.

Cloudflare классифицирует трафик верифицированных ботов и ИИ-агентов отдельно с прошлого года. Точную дату превышения машинного трафика над человеческим определить сложно из-за специфики метрик.
CEO CloudFlare в сети Х

@ai_machinelearning_big_data

#news #ai #ml

Читать полностью…

Rust

Rust Coreutils 0.9.0 вышел с важным обновлением: закрыли 44 уязвимости, но формальная совместимость с GNU Coreutils просела до 90,58%.

Звучит как откат, но причина в другом. Тестовый набор обновили до GNU Coreutils 9.11, туда добавили 25 новых проверок. После этого uutils прошёл 625 тестов, а 56 завалил. В прошлой версии было 630 успешных и 21 неуспешный тест, отсюда падение с 94,74%.

Самая важная часть релиза - безопасность. После аудита Zellic исправили 44 уязвимости. Много проблем было связано с расхождением поведения относительно GNU Coreutils и гонками файловой системы. Типичный сценарий: программа проверяет файл, а между проверкой и действием его успевают заменить на симлинк.

Для обычного запуска это неприятно. Для cp, chmod или mv от root это уже критично: можно добиться копирования, изменения прав или перезаписи чужого файла. Для защиты усилили безопасное копирование через uucore::safe_copy.

Параллельно продолжается техническая чистка:

- id, tr, timeout, sort, wc, tail, cp, who, factor переводят на rustix
- сокращают количество unsafe
- в cat, wc, head, tail, yes, cp, tee, unexpand используют splice(), tee() и pipe() для работы без лишнего копирования данных
- подтянули совместимость numfmt, date, tr, cksum, factor, head, stat, sort
- для ln, dd, mktemp, tty добавили сборку под WebAssembly/WASI

Хороший релиз именно для системного Rust. Здесь видно, что переписать coreutils на Rust - это не только «убрать C ради безопасности». Нужно годами догонять поведение GNU, ловить тонкие файловые гонки, вычищать unsafe и сохранять производительность на низком уровне.

Совместимость временно просела, но проект стал безопаснее и технически чище.

https://github.com/uutils/coreutils/releases/tag/0.9.0

Читать полностью…

Rust

🦀 Rust 1.96 вышел: новые range-типы, удобные assert-матчи и важное изменение для WebAssembly

Rust 1.96.0 выглядит как минорный релиз, но внутри есть несколько вещей, которые реально стоит заметить.

Главное изменение - новые core::range::Range* типы. Старые Range из core::ops напрямую реализуют Iterator, поэтому их нельзя нормально сделать Copy без неприятных ловушек. Новые range-типы идут другим путём: они реализуют IntoIterator, а значит могут быть Copy.

Теперь можно хранить диапазоны в Copy`-структурах без костылей вроде раздельных `start и end.


use core::range::Range;

#[derive(Clone, Copy)]
pub struct Span(Range<usize>);


Ещё одно приятное обновление - assert_matches! и debug_assert_matches!.

Это как assert!(matches!(...)), только при падении выводится значение через Debug, а значит тесты и отладка становятся заметно понятнее. Макросы не добавили в prelude, их нужно импортировать вручную из core или std.

Для WebAssembly есть изменение построже: undefined symbols теперь становятся ошибкой линковки, а не молча превращаются в импорты из "env". Это может сломать часть старых сборок, зато такие проблемы теперь ловятся раньше, а не всплывают странным поведением на рантайме.

Из важного по безопасности: в Rust 1.96 исправлены две уязвимости Cargo для пользователей сторонних registry. Пользователей crates.io они не затрагивают.

Обновление стандартное:


rustup update stable


Релиз без фейерверков, но полезный: меньше footgun'ов с range, удобнее проверки в тестах, строже WebAssembly-сборки и пара закрытых дыр в Cargo.

https://blog.rust-lang.org/2026/05/28/Rust-1.96.0/

Читать полностью…

Rust

✔️ Run Llama выкатили LiteParse - open-source инструмент для быстрого локального парсинга документов.

Если задача - быстро достать текст, координаты, структуру страниц и скриншоты, это можно делать локально.

Что умеет LiteParse:

- парсит PDF через PDFium
- сохраняет bounding boxes для текста
- умеет OCR через встроенный Tesseract
- поддерживает внешние OCR-серверы вроде EasyOCR или PaddleOCR
- генерирует скриншоты страниц для LLM-агентов
- отдаёт результат в JSON или обычный текст
- работает из Rust, Python, Node.js/TypeScript и WASM
- запускается на Linux, macOS и Windows

Авторы прямо разделяют сценарии: LiteParse для быстрых локальных задач, LlamaParse - для тяжёлых случаев с таблицами, сложной версткой, графиками, рукописным текстом и сканами.

https://github.com/run-llama/liteparse

Читать полностью…

Rust

⚙️ ASMLings - подробный гайд на русском

ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.

Полный русскоязычный гайд по asmlings - интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust.

Внутри: что это, как устроено под капотом, как установить, как читать и решать упражнения, разборы реальных задач из репозитория, готовые примеры в examples/ и шпаргалки.

https://github.com/justxor/-ASMLingsru/

Читать полностью…

Rust

👣 Rust Interview Deep Dive

Репозиторий для системной подготовки к собеседованиям по Rust на позиции middle, senior и staff.

Внутри 100 реальных вопросов с собеседований в продуктовых и инфраструктурных компаниях, подробные разборы с примерами кода и сценарии задач, которые встречаются в продакшене. Не «угадай вывод программы», а механика, на которой строятся настоящие сервисы.

Здесь lock-free структуры, self-referential типы в async, FFI с тензорными библиотеками, корректный Send на гардах через await, memory ordering под loom, soundness кастомных коллекций. И при этом все начинается с базы. Владение, заимствование, лайфтаймы. Кто хочет, может зайти и с нуля, и с уровня staff

https://github.com/Develp10/rustinterviewquiestions

Читать полностью…

Rust

👣 Rust Interview Deep Dive

Репозиторий для системной подготовки к собеседованиям по Rust на позиции middle, senior и staff.

Внутри 100 реальных вопросов с собеседований в продуктовых и инфраструктурных компаниях, подробные разборы с примерами кода и сценарии задач, которые встречаются в продакшене. Не «угадай вывод программы», а механика, на которой строятся настоящие сервисы.

Здесь lock-free структуры, self-referential типы в async, FFI с тензорными библиотеками, корректный Send на гардах через await, memory ordering под loom, soundness кастомных коллекций. И при этом все начинается с базы. Владение, заимствование, лайфтаймы. Кто хочет, может зайти и с нуля, и с уровня staff

https://github.com/Develp10/rustinterviewquiestions

Читать полностью…

Rust

Copy vs Clone в Rust: почему использование одногр почти не ест ресурсы а другое может стоить вам дорого

В Rust Copy и `Clone` часто воспринимают как одно и то же: «ну, просто сделать копию».

Но разница принципиальная.

Copy - это когда значение можно безопасно продублировать как набор байтов. Без вызова кода, без выделения памяти, без скрытой логики. Поэтому u32, bool, char, f64 и другие простые типы спокойно копируются автоматически.

Вы передали u32 в функцию - старое значение осталось доступно. Rust просто скопировал число.

С Clone другая история.

Clone означает: «создай новое значение такого же типа». А как именно это сделать, решает сам тип. Иногда это тоже дешево. Но иногда clone() запускает полноценную работу: выделяет память, копирует данные, пересобирает внутреннюю структуру.

Самый понятный пример - String.

Если бы Rust просто скопировал байты самой структуры String, мы получили бы два владельца одного и того же буфера в памяти. Это сломало бы модель владения.

Поэтому String::clone() создает новый буфер и копирует туда текст. Это уже не бесплатная операция.

Главная мысль простая:

Copy - для типов, которые можно безопасно копировать как байты.

Clone - для типов, которым может понадобиться настоящая работа, чтобы создать независимую копию.

Поэтому в Rust clone() в коде стоит замечать. Не паниковать, но понимать: здесь может быть цена.

Читать полностью…

Rust

👣 Я заставил LLM писать Rust полгода. Вот что они стабильно ломают

Полгода я использовал Claude, GPT и Cursor как основной инструмент для написания Rust-кода в проде. Не как «помощник для бойлерплейта», а как полноценного второго разработчика на монолите примерно в 80 тысяч строк (бэкенд обработки потоковых данных, tokio, sqlx, немного unsafe в hot path).

Доля сгенерированного кода в коммитах последних шести месяцев около 40%, остальное это правки, рефакторинг и места, куда модель я не пускаю.

За это время накопилась коллекция ошибок, которые модели делают с пугающей регулярностью, и которые проходят cargo build, проходят cargo test, иногда даже проходят cargo clippy, и при этом являются либо UB, либо логически некорректным кодом, либо тем самым «работает на моей машине».

Я не буду писать, какая модель лучше. К моменту публикации статьи рейтинг устареет. Я расскажу про категории ошибок, которые воспроизводятся у всех топовых моделей весной 2026 года, и которые упираются не в качество обучающих данных, а в фундаментальные слепые пятна архитектуры трансформеров применительно к системе типов Rust.

Цифры, которые буду приводить дальше, получены так: я завёл бенчмарк из 50 типовых задач (написать функцию, отрефакторить, добавить фичу), прогонял каждую через четыре модели в течение полугода, и руками классифицировал ошибки. Это не academic-level статистика, но порядки величин показывает.

🔜 Читать дальше

@rust_code

Читать полностью…

Rust

X выложили обновленный алгоритм For You на GitHub

Можно посмотреть, как X собирает и ранжирует ленту рекомендаций.

В репозитории xai-org/x-algorithm опубликован код системы, которая питает For You feed: от подбора кандидатов на показ до финального ранжирования постов. Внутри два основных источника контента:

- посты от аккаунтов, на которые вы подписаны
- посты из глобального корпуса, найденные через ML-retrieval

Дальше всё прогоняется через Phoenix - transformer-модель на базе архитектуры Grok. Она оценивает вероятности действий пользователя: лайк, реплай, репост, клик и другие сигналы. После этого система собирает итоговый score и решает, что именно попадёт в ленту.

Можно посмотреть, какие сигналы действительно влияют на рекомендации, как устроен ranking pipeline и где платформа фильтрует контент перед показом.

GitHub: https://github.com/xai-org/x-algorithm

@ai_machinelearning_big_data

Читать полностью…

Rust

📝 Легкий редактор заметок с Markdown и OCR

qnote — это минималистичный десктопный редактор заметок, который поддерживает Markdown с живым предпросмотром, историю файлов и экспорт в PDF. Работает на Windows и Linux, предлагает удобный интерфейс и множество функций для эффективного редактирования.

🚀 Основные моменты:
- Поддержка Markdown и живой предпросмотр
- История версий и файлов с быстрым поиском
- Экспорт в PDF и HTML
- Встроенный OCR для извлечения текста из изображений
- Кастомизация интерфейса и тем

📌 GitHub: https://github.com/omibranch/qnote

Читать полностью…

Rust

Энтузиаст собрал «Википедию», где всё на 100% выдумано ИИ

Проект называется Halupedia.

На сайте нет заранее написанных статей. Каждая страница появляется только в тот момент, когда ты её открываешь. Правило одно: эта вселенная существует только пока на неё кто-то смотрит.

Выглядит всё почти как Wikipedia: шрифты, верстка, академический тон, ссылки, случайная статья через stumble. Только есть маленький нюанс - ничего из этого не существовало до клика.

Примеры статей там уже сами по себе прекрасны:

- Великая перепись голубей 1887 года
- Министерство слегка неправильных карт
- Халдическая арифметика - раздел математики, где запрещено вычитание
- Армунд, картограф рек - человек, который нанес на карту 14 000 лиг рек, не вставая со стула
- Общество по предотвращению ненужных вторников

На странице ещё показывается, сколько людей читают статью прямо сейчас. Обычно там фраза в духе: «вы один сейчас изучаете этот фолиант».

Но лучший поинт - описание от автора:

«Энциклопедия вселенной, которая не существует, пока вы её не посетите».

Бэкенд тоже в тему: open-source репозиторий vibeserver с описанием «маленький веб-сервер, который придумывает вещи ровно вовремя».

Мы построили крупнейшую базу знаний в истории человечества, а потом кто-то сделал её кривое галлюцинирующее отражение и выложил в открытый интернет.

Вот это уже нормальное использование ИИ.

halupedia.com

@ai_machinelearning_big_data

Читать полностью…

Rust

🖥 NVIDIA подвинула Rust ближе к CUDA

В CUDA появился экспериментальный проект cuda-oxide. Это компилятор, который позволяет писать GPU-кернелы на Rust и получать на выходе PTX для NVIDIA GPU.

Без отдельного DSL. Без прослойки на C++. Без схемы «Rust только управляет, а настоящая работа всё равно в CUDA C++».

Пока это ранняя alpha, так что ждать production-ready инструмента рано. API будет ломаться, баги будут, часть возможностей ещё не закрыта. Но сам ход показательный.

CUDA много лет была территорией C и C++. Rust рядом с ней обычно жил как host-код, биндинги или инфраструктура вокруг вычислений. cuda-oxide пробует другое: дать Rust зайти прямо внутрь GPU-кернелов.

Почему на это стоит обратить внимание:

- можно писать SIMT-код на Rust
- компиляция идёт напрямую в PTX
- не нужно тащить C++-обвязку для каждого критичного участка
- появляется шанс использовать Rust-эргономику в низкоуровневом GPU-коде
- у NVIDIA, похоже, появился серьёзный интерес к Rust-разработчикам

Сейчас это не «убийца CUDA C++» и не повод срочно переписывать ML-инфру.

Но если проект доживёт до стабильной версии, он может сильно упростить жизнь тем, кто пишет HPC, симуляции, ML-runtime и системный GPU-код.

Rust всё дальше уходит из роли «безопасной замены C для серверов» и залезает в зоны, где раньше почти безраздельно сидел C++.

https://github.com/NVlabs/cuda-oxide/releases/tag/v0.1.0

Читать полностью…

Rust

🦀 Полный roadmap по изучению Rust на русском + бесплатный курс для начинающих + большой список ресурсов.

Rust Roadmap 2026 на русском - пошаговый план изучения Rust для начинающих и продвинутых разработчиков.

Что внутри:

- базовый синтаксис
- ownership, borrowing и lifetimes
- Option, Result, traits и generics
- тестирование и обработка ошибок
- std, smart pointers и многопоточность
- async/await и Tokio
- macros, unsafe и FFI
- web, CLI, embedded, WASM, gamedev и ML
- мини-проекты на каждом этапе

Хорошый Roadmap для тех, кто хочет учить Rust не хаотично, а по нормальному маршруту: от первых программ до production-кода.

Сохраняйте себе и отправляйте коллегам!

https://github.com/Develp10/rust-roadmap-ru/tree/main

Читать полностью…
Subscribe to a channel