9 121
Subscribers
-324 hours
+1127 days
+20330 days
Loading data
Similar Channels
Tags Cloud
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
October '26Oct '26
October '26
+309
in 41 channels
September '26
+229
in 30 channels
Get PRO
August '26
+293
in 45 channels
Get PRO
July '26
+228
in 42 channels
Get PRO
June '26
+174
in 0 channels
Get PRO
May '26
+433
in 4 channels
Get PRO
April '26
+180
in 0 channels
Get PRO
March '26
+374
in 26 channels
Get PRO
February '26
+458
in 47 channels
Get PRO
January '26
+268
in 109 channels
Get PRO
December '25
+202
in 6 channels
Get PRO
November '25
+274
in 43 channels
Get PRO
October '25
+344
in 13 channels
Get PRO
September '25
+239
in 41 channels
Get PRO
August '25
+190
in 9 channels
Get PRO
July '25
+408
in 73 channels
Get PRO
June '25
+225
in 61 channels
Get PRO
May '25
+166
in 2 channels
Get PRO
April '25
+167
in 26 channels
Get PRO
March '25
+118
in 2 channels
Get PRO
February '25
+224
in 41 channels
Get PRO
January '25
+232
in 44 channels
Get PRO
December '24
+243
in 39 channels
Get PRO
November '24
+192
in 54 channels
Get PRO
October '24
+248
in 54 channels
Get PRO
September '24
+294
in 182 channels
Get PRO
August '24
+219
in 40 channels
Get PRO
July '24
+266
in 53 channels
Get PRO
June '24
+283
in 55 channels
Get PRO
May '24
+285
in 37 channels
Get PRO
April '24
+322
in 46 channels
Get PRO
March '24
+234
in 19 channels
Get PRO
February '24
+301
in 1 channels
Get PRO
January '24
+766
in 43 channels
Get PRO
December '23
+164
in 39 channels
Get PRO
November '23
+114
in 32 channels
Get PRO
October '23
+97
in 1 channels
Get PRO
September '23
+236
in 0 channels
Get PRO
August '23
+1 307
in 0 channels
Get PRO
July '23
+239
in 0 channels
Get PRO
June '23
+400
in 0 channels
Get PRO
May '23
+52
in 0 channels
Get PRO
April '23
+89
in 0 channels
Get PRO
March '23
+622
in 0 channels
Get PRO
February '23
+67
in 0 channels
Get PRO
January '23
+63
in 0 channels
Get PRO
December '22
+50
in 0 channels
Get PRO
November '22
+562
in 0 channels
Get PRO
October '22
+633
in 0 channels
Get PRO
September '22
+127
in 0 channels
Get PRO
August '22
+840
in 0 channels
Get PRO
July '22
+42
in 0 channels
Get PRO
June '22
+68
in 0 channels
Get PRO
May '22
+243
in 0 channels
Get PRO
April '22
+1 058
in 0 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 26 October | +6 | |||
| 25 October | +4 | |||
| 24 October | +7 | |||
| 23 October | +9 | |||
| 22 October | +21 | |||
| 21 October | +95 | |||
| 20 October | +6 | |||
| 19 October | +14 | |||
| 18 October | +15 | |||
| 17 October | +38 | |||
| 16 October | +5 | |||
| 15 October | +5 | |||
| 14 October | +10 | |||
| 13 October | +9 | |||
| 12 October | +18 | |||
| 11 October | +3 | |||
| 10 October | +8 | |||
| 09 October | +5 | |||
| 08 October | +2 | |||
| 07 October | +10 | |||
| 06 October | +1 | |||
| 05 October | +3 | |||
| 04 October | +6 | |||
| 03 October | +5 | |||
| 02 October | 0 | |||
| 01 October | +4 |
Channel Posts
Уязвимости в Rust-библиотеках zip-rs и librsvg
В библиотеке zip-rs, написанной на языке Rust и насчитывающей около 10 млн загрузок в неделю, выявлена уязвимость (CVE-2026-115905), позволяющая создавать архивы, которые выглядят безобидными, но при распаковке из них извлекаются другие, изначально не показанные в списке, файлы. Файлы могут быть размещены в архиве вне структуры Central Directory, из-за чего при просмотре списка файлов показывается одно содержимое, но при распаковке через API ZipStreamReader извлекаются другие файлы. Проблеме присвоен уровень опасности 10 из 10. Уязвимость исправлена в версии zip-rs 9.0.5.
Полный текст:
https://opennet.ru/66555/
https://opennet.me/66555/
| 2 | BeautifulRust – бесплатный набор навыков, который помогает ИИ-агентам писать более качественный Rust.
Проект объединяет рекомендации Google, Microsoft, Rust API Guidelines, Effective Rust и Rust Design Patterns. Когда источники расходятся, автор выбирает подход и объясняет причину.
Внутри – навыки для написания и ревью кода, а также конфигурация Clippy для автоматических проверок.
Перед сдачей результата агенту предписано запускать форматирование, Clippy с предупреждениями как ошибками, тесты и сборку документации.
В авторской оценке на трёх задачах навык повысил результат с 24 до 29 пройденных проверок из 30, расходуя примерно на треть больше токенов. Выборка небольшая, но результат интересный.
Работает с Claude Code, Codex, Cursor и другими клиентами Agent Skills. Лицензия – MIT.
Установка:
npx skills add morganlinton/BeautifulRust
https://github.com/morganlinton/BeautifulRust | 1 510 |
| 3 | 📘 На Mentorix вышел курс — «Rust-разработчик: подготовка к собеседованию»
Хотите на собеседовании спокойно объяснить, откуда E0502, чем Send отличается от Sync и как устроен Future? Этот курс — полный путь от диагностики пробелов до пробных собеседований junior, middle и senior.
• Владение и заимствование: E0382, E0502, E0597, NLL
• Времена жизни: elision, HRTB, variance
• Типажи: dyn Trait, object safety, blanket impl
• Умные указатели: Box, Rc, Arc, RefCell, Cow
• Конкурентность: Send и Sync, Mutex, атомики и Ordering
• Async изнутри: Future, Waker, Pin — без tokio
• Unsafe и FFI: UB, MaybeUninit, repr(C)
• Live-coding: LRU-кэш, трие, Dijkstra, парсер выражений
• Карьера: резюме, оффер, торг о зарплате
🎓 Сертификат — добавьте в резюме или LinkedIn
🏷 Скидка 50%, действует 48 часов
12 990 ₽ → 6 495 ₽
➜ Пройти курс на Mentorix
Ещё 25 курсов бесплатно — доступны после регистрации | 1 557 |
| 4 | Rust официально появился в systemd - с жёсткими ограничениями.
В основную ветку проекта приняли поддержку новых программ на Rust. Изменения готовятся для systemd 263.
Systemd отвечает за запуск системы и управление службами во многих Linux-дистрибутивах. Теперь часть новых утилит можно разрабатывать на Rust по следующим правилам:
- Только самостоятельные компоненты, от которых не зависят другие части systemd.
- Сборка через Meson, без Cargo.
- Режим `no_std` — без стандартной библиотеки Rust и произвольных сторонних зависимостей.
- Взаимодействие с существующим кодом — через C-интерфейсы.
Переписывать существующий C-код не планируют. Поддержка Rust опциональна: проект по-прежнему можно собрать без него.
Первый запланированный компонент — systemd-keyring-setup. Он будет загружать X.509-сертификаты в хранилища ключей ядра Linux при загрузке. Сама утилита пока находится в отдельном, ещё не принятом PR.
Rust постепенно входит в базовую инфраструктуру Linux: через новые компоненты с чёткими границами и общей системой сборки.
https://github.com/systemd/systemd/pull/44324 | 2 242 |
| 5 | Rust выбирают для связи медицинских устройств: Vector заново разработала на нём стек IEEE 11073 SDC.
SDC позволяет приборам разных производителей обнаруживать друг друга, обмениваться измерениями, состояниями и тревожными сигналами. Это основа для совместной работы оборудования в операционных и реанимации.
Почему Rust? По объяснению Vector, безопасность памяти и типов помогает предотвращать распространённые ошибки ещё при разработке, снижая риск части сбоев и уязвимостей.
При этом переписывать всё приложение не требуется: стек подключается к существующему коду на C и C++ через FFI. Его можно встроить в устройство или использовать через шлюз.
Vector также заявляет рост производительности благодаря оптимизации обработки XML и структуры данных, описывающей состояние прибора. Конкретных результатов бенчмарков компания не привела.
Доступность ожидается в первом квартале 2027 года. О сертификации или регуляторном одобрении в анонсе не сообщается.
Заметный пример практического внедрения Rust: производитель инженерного ПО выбирает его для компонента, предназначенного работать внутри медицинского оборудования.
https://www.vector.com/en/company/press/press-releases/vector-announces-new-rust-based-ieee-11073-sdc-stack-for-the-medical-device-industry/ | 2 245 |
| 6 | Rust сократил расходы на CI примерно на 75% - и сознательно оставил лишние сборки компилятора.
В интервью Serokell Марко Иени из Rust Foundation объяснил компромисс.
Основную экономию дал переход с GitHub large runners на стандартные. По Enterprise-плану проекту доступны до 500 стандартных раннеров одновременно, а большие расходуют ограниченные спонсорские кредиты.
Часть тестов разделили между двумя стандартными раннерами. Каждый заново собирает компилятор — вычисления дублируются.
Можно собрать один раз и раздать артефакты. Но команда отказалась: такой обмен сделал бы CI медленнее и хрупче. Доступных раннеров хватает, поэтому простота оказалась ценнее экономии CPU.
Тот же принцип - в мониторинге: с собственного Prometheus и Grafana перешли на Datadog, поскольку старую систему никто не успевал обновлять.
Самый ограниченный ресурс здесь - время инженеров. Небольшая команда, во многом состоящая из волонтёров, не может оптимизировать каждый цент.
Хорошая инфраструктура укладывается в бюджет и остаётся посильной в сопровождении. Иногда ради этого стоит выполнять одну и ту же работу дважды.
https://serokell.io/blog/the-hidden-challenges-of-rust-infrastructure-interview-with-marco-ieni | 2 329 |
| 7 | No text... | 2 648 |
| 8 | 👣 Rust предлагает включить новый trait solver по умолчанию: крупнейшее изменение языка со времён 1.0
В rust-lang/rust открыт PR #164209 от lcnr, и сам автор называет его крупнейшим одиночным изменением Rust после версии 1.0. Важная оговорка: PR ещё не влит, он находится на стадии предлагаемого final comment period. Над новым солвером работали четыре года несколько человек, опираясь на опыт многолетнего Chalk. Он меняет поведение системы типов в пограничных случаях, скорость и сам способ рассуждения о ней.
Если предложение одобрят, новый солвер уйдёт в beta, а затем в stable, начиная с Rust 1.101. Beta cutoff назначен на 6 ноября, после него старый солвер удаляют, так что стабилизация может сдвинуться максимум на один релиз. Ближайшая выгода это TAIT и RTN, которые ждали переработки opaque types. Основные плюсы придут позже, с возможностями, доступными только новому солверу.
Авторы честно перечисляют недостатки: остались зависания, производительность в среднем хуже, часть диагностик слабая, открыты мелкие баги. Аргументы за выкатку такие: два солвера в компиляторе усложняют код и делят покрытие тестами, работа блокируется ожиданием нового, а новые крейты уже начинают зависеть от некорректного поведения старого. Crater нашёл меньше 500 затронутых крейтов, почти все из-за нескольких корневых, и поломки описаны как ожидаемые. Прогон перформанса на основной метрике числа инструкций заметных изменений не показал.
lcnr отдельно благодарит compiler-errors и adwinwhite, без работы которых такая стабилизация, по его словам, вряд ли была бы возможна.
Источник: http://github.com/rust-lang/rust/pull/164209 | 3 270 |
| 9 | 🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют
По данным Минфин 32% граждан покинули своё место работы поскольку в среднем уже в первый месяц смогли заработать 250 000 рублей, а через 2-3 месяца с легкостью вышли на семизначные числа.
Самое смешное, что лишь 8% россиян что-то слышали об этой профессии хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют
Там объясняют, как имея телефон и доступ в интернет заработать свои первые $3000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка!
Ссылка для входа — https://t.me/+n8X2lGzXalNkYmRi | 2 089 |
| 10 | "am rustacean 🦀 " | 2 814 |
| 11 | 🦀 Задача на Rust: распакуй строку, не запутавшись во вложенности
Запись k[текст] означает: повторить содержимое скобок k раз. Но внутри могут быть другие такие же конструкции.
Напиши функцию:
fn decode_string(s: String) -> String
Она должна проходить эти проверки:
assert_eq!(decode_string("2[a]".into()), "aa");
assert_eq!(
decode_string("2[2[2[a]]]".into()),
"aaaaaaaa"
);
assert_eq!(
decode_string("2[a]2[b]2[c]".into()),
"aabbcc"
);
assert_eq!(
decode_string("2[abc]3[cd]ef".into()),
"abcabccdcdcdef"
);
Усложнение: число повторений может быть многозначным, например 12[ab]. Вход считаем корректным, цифры используются только для количества повторений.
Что выберешь для решения: стек или рекурсивный разбор? 👇 | 3 080 |
| 12 | Imagining how many days it would take to debug these problems in Python or Javascript | 3 114 |
| 13 | Ник Матсакис предлагает для Rust северную звезду эпохи ИИ-агентов: ноль unsafe-кода
Один из ключевых людей в дизайне Rust опубликовал текст о том, что кодинг-агенты значат для языка. Это письменная версия доклада на REBASE в рамках SPLASH. Сам автор называет содержимое «недопечёнными идеями», так что это видение, а не предложение новых фич.
Выводы такие: люди в программировании всё ещё нужны, дизайн языков по-прежнему важен, а Rust хорошо подходит для агентной разработки и может подойти ещё лучше.
По производительности аргумент простой. Хорошие значения по умолчанию плюс явные ручки для тонкой настройки. По словам автора, люди, которые раньше вручную оптимизировали криптографический код, теперь обращаются к агентам. Вместе с профайлером вроде dial9 получается цикл: бенчмарк, профиль, агент предлагает правку, PR в репозитории.
С надёжностью сложнее. Типы удерживают агента в рамках, но тесты показывают наличие багов, а не их отсутствие, и типы гарантируют лишь отсутствие определённых классов ошибок, а не корректность результата. Тут нужны доказательства. Для Rust уже есть Verus, Creusot, Aeneas и Kani. При этом типы продолжают играть роль, потому что делают доказательства дешевле. &mut даёт гарантию уникальности, и Verus опирается на borrow checker именно ради этого, чтобы солверу было проще.
Куда, по мнению Матсакиса, стоит двигаться: более выразительная система типов (view types, внутренние ссылки, даже проверка вроде «в лог не попадают персональные данные»), расширяемый компилятор, чтобы инструменты доказательств не жили на костылях из макросов и привязке к конкретным версиям компилятора, и поддержка доказательства корректности unsafe-кода.
Северная звезда: больше никакого unsafe. Это не значит убрать ключевое слово. Это значит уметь доказать, что весь unsafe-код корректен и не приводит к неопределённому поведению.
Главной открытой проблемой автор называет дизайн, то есть решение о том, что вообще строить. Ставка на специализированные языки дизайна, которые превращают высокоуровневое намерение в проверки типов, линты или теоремы.
Для контекста Матсакис цитирует Дэвида Толная: инженеры Meta в этом году написали первосторонний Rust-кода вдвое больше, чем за предыдущие девять лет вместе взятые.
Блог: https://smallcultfollowing.com/babysteps/blog
Источник: https://smallcultfollowing.com/babysteps/blog | 2 954 |
| 14 | 🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg
Собеседования и карьера:
DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview
Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy
Полезное сверху:
ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд. | 2 353 |
| 15 | No text... | 3 211 |
| 16 | 👣 Rust предлагает включить новый trait solver по умолчанию: крупнейшее изменение языка со времён 1.0
В rust-lang/rust открыт PR #164209 от lcnr, и сам автор называет его крупнейшим одиночным изменением Rust после версии 1.0. Важная оговорка: PR ещё не влит, он находится на стадии предлагаемого final comment period. Над новым солвером работали четыре года несколько человек, опираясь на опыт многолетнего Chalk. Он меняет поведение системы типов в пограничных случаях, скорость и сам способ рассуждения о ней.
Если предложение одобрят, новый солвер уйдёт в beta, а затем в stable, начиная с Rust 1.101. Beta cutoff назначен на 6 ноября, после него старый солвер удаляют, так что стабилизация может сдвинуться максимум на один релиз. Ближайшая выгода это TAIT и RTN, которые ждали переработки opaque types. Основные плюсы придут позже, с возможностями, доступными только новому солверу.
Авторы честно перечисляют недостатки: остались зависания, производительность в среднем хуже, часть диагностик слабая, открыты мелкие баги. Аргументы за выкатку такие: два солвера в компиляторе усложняют код и делят покрытие тестами, работа блокируется ожиданием нового, а новые крейты уже начинают зависеть от некорректного поведения старого. Crater нашёл меньше 500 затронутых крейтов, почти все из-за нескольких корневых, и поломки описаны как ожидаемые. Прогон перформанса на основной метрике числа инструкций заметных изменений не показал.
lcnr отдельно благодарит compiler-errors и adwinwhite, без работы которых такая стабилизация, по его словам, вряд ли была бы возможна.
Источник: http://github.com/rust-lang/rust/pull/164209 | 1 |
| 17 | 🦀 Кто должен доказывать корректность реализации трейта в Rust: сама реализация или код, который её использует?
Нико Матсакис разобрал этот вопрос на примере циклических зависимостей, когда доказательство может замкнуться само на себя.
Допустим, есть трейт Magic: Copy. Любой тип с Magic обязан реализовывать Copy.
Два подхода:
• Модульный: проверяем обязательства при проверке impl. Поэтому impl Magic for String недопустим: String не реализует Copy.
• Внешний: разрешаем такой impl, но при его использовании требуем отдельно доказать String: Copy. Реализация есть, воспользоваться ей нельзя.
Второй вариант помогал обойти проблему циклических доказательств. Но упирался в unsafe-трейты.
Когда автор пишет unsafe impl, остальной код доверяет его гарантиям. Если реализация ошибочно обещает, что Box<T> может содержать нулевой указатель, ответственность лежит на ней.
Выходит странная модель: гарантии безопасности у impl принимаем, а выполнение требований супертрейтов заставляем перепроверять вызывающий код.
Вывод Нико: реализация должна сама устанавливать выполнение своего контракта. Следующая часть будет о том, как совместить этот подход с циклами.
https://smallcultfollowing.com/babysteps/blog/2026/10/10/modular-vs-external-proofs/
#Rust | 3 261 |
| 18 | 🦀 В Rust нашли баг, который 11 лет обходил гарантии безопасности памяти.
Ошибка позволяет нарушить ограничения времени жизни при присваивании полю структуры. В результате код без `unsafe` может сохранить ссылку на уже уничтоженные данные, а затем обратиться к ним.
В issue есть примеры чтения освобождённой памяти и падения программы. Один из них воспроизводится начиная с Rust 1.4.
Разработчики присвоили ошибке высокий приоритет `P-high`. По оценке команды, случайное проявление маловероятно: для показанного нарушения безопасности нужна специально сконструированная реализация Drop.
Комментарии ограничили, чтобы предотвратить спам и бесполезные обсуждения.
Гарантии Rust тоже зависят от корректности компилятора. Здесь нашли дыру именно в их реализации.
https://github.com/rust-lang/rust/issues/164250 | 7 736 |
| 19 | 👣 Campfire переписали на Rust, почти без ручного Rust.
DHH пишет, что сегодня уже гоняет beta-версию Campfire на Rust.
Самое интересное:
- код пока получился «уродливым»
- стал примерно в 6 раз более многословным
- сам перенос, по его словам, практически ничего не стоил
- и главное — ему не пришлось напрямую разбираться в Rust-коде
То есть AI уже позволяет переносить реальные приложения между языками почти как между разными runtime.
Пусть результат пока далёк от красивого production-кода, сам факт показательный: миграция большого приложения на другой язык становится задачей не месяцев, а агентного workflow.
https://github.com/basecamp/once-campfire | 3 555 |
| 20 | 🦀 1,8 млн ошибок из-за одного пробела: как разработчик собирал Kubernetes Ingress на Rust и Go
Автор Silex разделил систему на две части:
• Go-контроллер наблюдает за Ingress и EndpointSlice, отслеживая маршруты и адреса бэкендов.
• Rust-движок на Tokio принимает трафик и ищет маршруты в конкурентной таблице DashMap.
Обработка запросов отделена от взаимодействия с Kubernetes API.
Первый нагрузочный тест выглядел обнадёживающе только по счётчику соединений: движок принимал около 55 тысяч в секунду, но не отдавал успешных ответов.
Причина оказалась в разборе конфигурации. Вместо JSON-парсера код искал точную подстроку:
Ожидал: "host":"silex.local"
Получил: "host": "silex.local"
Допустимый в JSON пробел ломал поиск. Обработчик молча завершался и закрывал TCP-соединение. Итог: 1,8 млн ошибок чтения.
После исправления автор сравнил Silex с NGINX Ingress: K3s, HTTP echo-бэкенд, wrk, 400 соединений, 4 потока, 30 секунд.
Silex: 2536 запросов/с. NGINX: 2274. Разница: +11,5%.
Но максимальная задержка у обоих была около двух секунд, таймауты тоже остались. У Silex их даже больше: 302 против 286. По объяснению автора, нагрузка упёрлась в Node.js-бэкенд.
На момент статьи TLS-терминация, активные проверки бэкендов и Prometheus-метрики ещё были в планах.
Самое ценное здесь: увидеть, как устроен небольшой ingress, где ломается взаимодействие компонентов и почему throughput нужно читать вместе с ошибками и задержками.
https://dev.to/sysalchemist/how-i-built-a-custom-kubernetes-ingress-in-rustgo-that-outperforms-nginx-by-11-4iag
@Golang_google | 3 157 |
