Rust
6.59K subscribers
244 photos
28 videos
3 files
809 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
🎮 PartyDeck‑RS — мультиплеерный лаунчер с разделённым экраном для Linux/SteamOS

partydeck‑rs — это лаунчер, написанный на Rust, который позволяет запускать до 4 копий одной игры одновременно — с автопозиционированием окон, разграничением контроллеров и сохранений.

🚀 Основные возможности

- Запуск до 4 экземпляров игры с автоматическим размещением окон на одном экране
- Поддержка как Linux-игр, так и Windows-версий через Proton
- Эмуляция Steam Multiplayer API для запуска нескольких копий локально
- Контроллеры без конфликтов — каждый экземпляр видит только свой контроллер благодаря bubblewrap
- Профили игроков: отдельные сохранения и настройки
- Поддерживает SteamOS (без дополнительной настройки)

🛠 Установка и использование

1. Скачать [релиз](#) (например, `partydeck-rs-0.3.2`) и распаковать.
2. На SteamOS (версия 3.7+): запустить partydeck-rs или добавить PartyDeckKWinLaunch.sh как non‑Steam игру — и отключить Steam Input в настройках
3. На Desktop Linux с KDE Plasma:
- Убедиться, что установлены Gamescope и bubblewrap
- Запустить partydeck-rs из терминала

При первом запуске автоматически скачиваются UMU Launcher и Goldberg Steam Emu

📦 Последние версии

- v0.3.2 "Laying Low" (3 июня 2025):
- Исправлено создание папки AppData/LocalLow для Proton-игр
- Встроен новый handler для Luma Island
- v0.3.1 "Dual‑Sensed" (2 июня 2025):
- Улучшена поддержка PS4/PS5 контроллеров через ProtonGE {index=6}
- v0.3.0 "Steamed Hams" (2 июня 2025):
- Автоматический поиск Steam-установок
- Проверка обновлений и начало работы над автообновлением
- Обновлён формат handler’ов (имена полей Steam API)
- Включён шаблон handler’а для упрощённого создания

⚠️ Ограничения и планы

- Не поддерживает AppImage/Flatpak — только исполняемые файлы
- Пока работает только на одном экране; мульти‑монитор и мышь/клавиатура — в планах- UI простое, без прогресс‑баров — заморозка интерфейса возможна
- Желание улучшить контроллер‑ориентированный UI, но пока нет планов

📚 Архитектура

Используются:

- KWin-session для управления окнами
- Gamescope для каждого экземпляра и обработки контроллеров
- Bubblewrap — разграничение устройств и директорий
- Steam Runtime/Proton — для совместимости Windows-игр
- Goldberg Steam Emu — для эмуляции Steam‑сети в мультиплеере
💡 Зачем это нужно

Это удобное решение для локального кооператива на ПК, особенно на одном экране. Игры, изначально не поддерживающие split-screen, теперь можно запускать вместе с друзьями.

https://github.com/wunnr/partydeck-rs
👍20🔥74🥰1
🦀 Новый SQL-клиент на Rust — rsql
Лёгкий, быстрый и мощный инструмент для работы с файлами и базами данных из терминала.

📌 Что умеет

● Поддержка множества форматов: CSV, JSON, Parquet, Excel, XML, YAML, Avro и др.
● Подключение к SQLite, PostgreSQL, MySQL, SQL Server, DuckDB, Snowflake, CrateDB и даже DynamoDB
● Работа с архивами: Gzip, Zstd, Brotli, LZ4, Bzip2 и др.
● Удобная CLI: автодополнение, подсветка, история, интерактивный REPL
● Вывод в разных форматах: Markdown, HTML, JSON, CSV, plaintext
● 100 % безопасный Rust-код — #![forbid(unsafe_code)]
● Кастомизация: Vi/Emacs режимы, локализации, собственные темы вывода

📥 Установка

curl -LsSf https://raw.githubusercontent.com/theseus-rs/rsql/main/install.sh | sh


🧪 Пример использования

# Одноразовый запрос к SQLite
rsql --url "sqlite://file.db" -- "SELECT * FROM users LIMIT 5;"

# Интерактивная сессия с PostgreSQL
rsql --url "postgres://user:pass@localhost/db"


🆕 Что нового в v0.19.0

Добавлены драйверы CrateDB и FlightSQL

Появился metadata-catalog для удобной навигации по источникам данных

Улучшены примеры, обновлены зависимости, повышена стабильность

🔗 GitHub: https://github.com/theseus-rs/rsql

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

@sqlhub
👍34🔥98🥰2😁1
🦀 Rust-задача: неожиданный вывод из-за владения и `for`


fn main() {
let data = vec!["rust", "go", "zig"];

for item in data {
println!("{item}");
}

println!("{:?}", data);
}


Что произойдёт при компиляции и запуске?

• a) Выведет rust, go, zig, затем ["rust", "go", "zig"]
• b) Ошибка компиляции: data уже перемещён
• c) Всё выведет корректно, потому что &str копируются
• d) Программа скомпилируется, но упадёт во время выполнения

💡 Разбор

for item in data в Rust перемещает `data`, потому что Vec<T> по умолчанию потребляется в IntoIterator. Это значит, что после цикла data больше не принадлежит функции main.

Попытка использовать data в println! после этого приведёт к ошибке компиляции: value borrowed after move.

**Правильный ответ: b) Ошибка компиляции: `data` уже перемещён**

🧠 **Вывод:** в Rust `for item in collection` по умолчанию вызывает `.into_iter()`, а не `.iter()`, и это **может забрать владение** коллекцией.

🔧 **Как избежать:**

Если нужно сохранить `data`, итерация должна быть по ссылке:


for item in &data {
println!("{item}");
}

println!("{:?}", data);


Теперь `data` не перемещается, и всё работает корректно.
👍438🔥4🥰1😁1
🦀 Вышла новая версия Rust 1.88, обновление с голыми функциями и умным кэшем Cargo.

Новая версия Rust продолжает традиции безопасного и эффективного низкоуровневого программирования. Теперь можно объединять несколько let-выражений в условиях if и while через &&, что делает код компактнее без потери читаемости.

Новые голые функции (#[unsafe(naked)]) позволят полностью контролировать ассемблерный вывод, что критично для системного программирования. А автоматическая очистка кэша Cargo наконец-то решит проблему с вечно растущим ~/.cargo.

🔗 Ссылка - *клик*
👍3414🥰7🔥5
🛡️ Hypnus — библиотека скрытия памяти на Rust


Когда поток «засыпает» (ждёт таймер, ожидание события и т.д.), его память может оставаться открытой для анализа.
Hypnus решает эту проблему: он временно скрывает и шифрует участки памяти во время сна — делая поведение безопаснее и менее заметным.

🔥 Ключевые возможности:
● Скрытие и обфускация памяти через ThreadPool Timers, APC, Wait
● Макросы timer!, wait!, apc! для простого управления
● Поддержка #[no_std] — можно использовать даже без стандартной библиотеки
● Интеграция с Control Flow Guard и поддержка кастомного heap-аллокатора HypnusHeap
● Предназначен для продвинутого использования в системах с требованиями к скрытности и защите

🦀 Написано на Rust — безопасно, эффективно и кросс-платформенно.

📦 Пример:

use hypnus::timer;
timer!(ptr, size, delay);


Проект подходит для:
• разработчиков системной и безопасной утилитарной инфраструктуры
• ресерчеров в области защиты памяти
• любителей низкоуровневого Rust и OSDev

🔗 Репозиторий:
https://github.com/joaoviictorti/hypnus
28🔥12👍6🥰1😁1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
PDFy: Легковесный инструмент и библиотека для извлечения данных из PDF

PDFy — это написанный на Rust CLI и пакет для разработчиков, позволяющий быстро и надёжно извлекать текст и изображения из PDF без внешних зависимостей.

• Выгрузка всего текста: pdfy text document.pdf
• Извлечение изображений: pdfy images document.pdf
• Получение координат и порядка слов для сложных вёрсток
• Доступ к метаданным PDF (автор, заголовок, даты)
• Интеграция в Go-приложения через простой API

Репозиторий и документация: https://github.com/jdiaz97/pdfy
27👍14🔥9🥰1
⚡️ Почему лучшие разработчики всегда на шаг впереди?

Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.

ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/books_englishhh
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Физика: t.me/fizmat

Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🖥 Chatgpt для кода в тг: @Chatgpturbobot -

📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi

Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
💊7👍32🥰2🔥1
🦀 Задача Rust:

У тебя есть две структуры — Parent и Child. Каждая должна хранить ссылку на другую.
Но есть условия:

Нельзя использовать Rc, Arc, RefCell, Box или unsafe
Только ссылки и lifetime'ы


struct Parent<'a> {
child: Option<&'a Child<'a>>,
}

struct Child<'a> {
parent: Option<&'a Parent<'a>>,
}

📌 Задача: создать обе структуры и связать их между собой.
📉 Компилятор тебе не простит ошибок во владении.

💡 Подсказка: подумай — возможно, это невозможно.

Задача не про реализацию, а про понимание ограничений Rust.

Кидай в чат свои варианты


@rust_code
🤔104🔥3🥰2
🤖 Terminator — SDK для автоматизации GUI с помощью ИИ-агентов

Terminator позволяет управлять графическими приложениями на Windows, Linux и частично macOS через интеллектуальных агентов.

🔧 Что умеет:

— Автоматизирует любые действия в GUI
— Работает напрямую через системный доступ (не поверх интерфейса)
— Поддерживает Python, TypeScript и Rust
— Обновляет состояние интерфейса каждые 80 мс — почти в реальном времени

📦 Подходит для тестирования, ботов, RPA и прокачанных UI-ассистентов.

🔗 GitHub

@rust_code
13👍6🔥5😁3🥰1
🖥 Jujutsu (jj) — это современная система контроля версий, совместимая с Git, созданная для упрощения работы с репозиториями и улучшения пользовательского опыта!

🌟 Инструмент предоставляет интуитивный интерфейс, который делает процесс управления изменениями более понятным, сохраняя при этом полную совместимость с существующими Git-репозиториями. Jujutsu вдохновлен такими системами, как Mercurial и Google Piper, а также объединяет лучшие практики Git, предлагая гибкие и мощные возможности для разработчиков.

🔐 Лицензия: Apache-2.0

🖥 Github

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍105🥰3🙏1
🦀 Rust Tip

База: e Cargo есть команда cargo check — и она просто must-have для быстрой разработки.

🔧 Что делает:
- Проверяет типы и ошибки компиляции
- Пропускает генерацию кода и линковку
- Работает намного быстрее, чем cargo build

📈 Идеально, чтобы быстро отлавливать ошибки заимствования и типизации, не тратя время на полноценную сборку.

💡 Используй `cargo check`, когда хочешь быстро пройти цикл "редактировать → проверить → исправить".

#junior #rust

@rust_code
👍41🔥5🥰4😱21
Forwarded from Machinelearning
🔅 Vibe Kanban — оркестрация AI-кодеров в одном окне

Позволяет можно запускать и управлять сразу несколькими AI-агентами для кодинга: Claude Code, Gemini CLI, Codex — всё в одном дашборде.

▶️Что умеет:
- параллельный запуск агентов
- визуальный трекинг задач
- переключение между моделями на лету
— встроенный review и контроль над результатами
— backend на Rust, frontend на React, всё разворачивается локально
Полностью open-source

🟡 Репозиторий: https://github.com/BloopAI/vibe-kanban
🟡Документация: https://www.vibekanban.com/


@ai_machinelearning_big_data

#ai #aiagent #opensource #Claude #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
11🤣8👍5🔥3🖕2🥰1🤬1
🦅 MongoDB представила Kingfisher — инструмент для оценки производительности AI-запросов к базам данных

Kingfisher — это open-source фреймворк, который помогает разработчикам анализировать, как AI-модели взаимодействуют с MongoDB или другими источниками данных.

🔍 Что умеет:
- Генерировать и запускать естественно-языковые запросы к базе через LLM
- Сравнивать разные подходы к генерации и верификации запросов
- Измерять точность, скорость и релевантность выдачи
- Поддерживает разные схемы данных и шаблоны диалогов

📦 Используется:
- Для оценки качества AI-агентов, которые обращаются к базам
- Для настройки моделей, работающих с реальными данными

🛠 Под капотом:
- Поддержка собственного DSL
- Интеграции с OpenAI, Azure, Anthropic
- Расширяемая архитектура: можно подключать свои модели и пайплайны

🔗 Репозиторий: https://github.com/mongodb/kingfisher

Если вы строите LLM-агентов, которые работают с базами — Kingfisher сэкономит вам недели на тестах и экспериментах.


@rust_code
6👍2🥰2
⚙️ Rig — современная Rust-библиотека для работы с LLM, предлагающая унифицированный интерфейс для разных провайдеров ИИ. Проект выделяется акцентом на модульность и эргономику, позволяя интегрировать языковые модели в приложения с минимальным бойлерплейтом.

Инструмент уже используют в продакшене такие проекты, как Dria Compute Node и Linera Protocol. Библиотека поддерживает не только чат-модели вроде GPT-4, но и векторные базы данных, включая MongoDB и LanceDB.

🤖 GitHub

@rust_code
👍217🥰4
🧠 HASH — открытая база данных с элементами ИИ, которая самостоятельно структурирует информацию и проверяет её достоверность. Проект объединяет данные из разных источников в реальном времени, предлагая удобные инструменты для работы с ними даже не-техническим пользователям.

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

🤖 GitHub

@rust_code
🔥96👍3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Linux: как быстро найти, какой процесс использует порт?

Иногда нужно понять, кто "держит" нужный порт — особенно при отладке сервисов или настройки nginx, Docker и так далее. Вместо ручного перебора — используйте lsof

Вот команда, которая покажет вам пи ай ди, имя процесса и даже имя пользователя, который занял порт:

Работает на любом Unix-подобном дистрибутиве. Замените <порт> на нужное значение — и сразу увидите виновника конфликта.

sudo lsof -i :<порт>

пример:

sudo lsof -i :5432

https://www.youtube.com/shorts/eD1YxcrQr5Y
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥83🍌2🫡2🥰1
📚 Огромная коллекция шпаргалок для разработчиков — на одном GitHub-репозитории:

Что внутри:
Языки (Python, JavaScript, Go, Rust, C++)
Инструменты (Git, Docker, Linux)
Алгоритмы и структуры данных
Системный дизайн и SQL
И даже темы по DevOps, Cloud, AI и Security

Удобно, когда нужно быстро освежить синтаксис, вспомнить команды или подготовиться к собеседованию.

🔥 Забирай в закладки — пригодится каждому разработчику.

https://github.com/crescentpartha/CheatSheets-for-Developers
👍96🥰4😁1😢1🥱1
🔗 HelixDB — графово-векторная база данных на Rust, заточенная под RAG-приложения и AI-разработку. Проект сочетает хранение связей между узлами с векторным поиском, предлагая при этом впечатляющую производительность — создатели заявляют о 1000-кратном преимуществе перед Neo4j.

Под капотом используется проверенная LMDB, а интерфейс напоминает гибрид SQL и функционального программирования. Для локального развёртывания достаточно CLI-инструмента, который генерирует API-эндпоинты из декларативных запросов.

🤖 GitHub

@sqlhub
👍92🥰1
Binsider

Binsider — швейцарский нож для реверсёров. Инструмент для анализа бинарных файлов ELF, который предлагает мощные средства статического и динамического анализа.

💡Харакетеристики:
⏺️Статический анализ - Позволяет анализировать структуру ELF, включая секции, сегменты, символы и перемещения.
⏺️Динамический анализ - Возможность выполнения бинарного файла и отслеживания системных вызовов, сигналов и потока выполнения программы.
⏺️Извлечение строк - Подобно команде strings, Binsider может извлекать строки из бинарного файла для поиска интересных данных, таких как URL, пароли и другая чувствительная информация.
⏺️Hexdump - Предоставляет структурированный просмотр бинарного содержимого с возможностью анализа в шестнадцатеричном формате.

📎Установка:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #Установка Rust

sudo apt install cargo

cargo install binsider

sudo cp /home/kali/.cargo/bin/binsider /bin


Использование:
binsider [PATH_TO_BINFILE]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍104🥰1
🦀 Rust на каждом GPU? Теперь это реальность

Команда выпустила серьезное обновление: теперь можно писать универсальный GPU-код на Rust, который работает сразу на разных платформах — без ручной настройки под каждую.

📦 Что нового:
— Поддержка *portable shader crates*
— Один и тот же шейдер можно запускать на Vulkan, WebGPU, Metal и даже CUDA
— Расширенный стандартный набор типов и функций
— Интеграция с cargo и spirv-builder стала проще
— Поддержка inline-asm и более точной отладки

💡 Почему это важно:
Раньше GPU-код приходилось писать под каждую платформу отдельно (HLSL, GLSL, CUDA). Теперь можно писать всё на Rust и использовать один и тот же код для разных бэкендов.

Это приближает нас к идее truly portable GPU programming — с безопасностью и удобством Rust.

🔗 Подробнее в блоге

@rust_code
🔥65👍114😱3🥰2🏆2