Forwarded from sad dev diary
⚡️⚡️⚡️ BREAKING NEWS ⚡️⚡️⚡️
Ferrocene, the open-source Rust compiler crafted for safety-critical environments, has just secured ISO 26262 ("Road vehicles – Functional safety") and IEC 61508 ("International Standard for Automatic Protection Systems") qualifications. This green light means Rust is now geared up for action in automotive and industrial electronic systems.
Qualification for other standards and areas, such as railway and aerospace, are planned. 😏
https://ferrous-systems.com/blog/officially-qualified-ferrocene/
#rust #automotive #programming
Ferrocene, the open-source Rust compiler crafted for safety-critical environments, has just secured ISO 26262 ("Road vehicles – Functional safety") and IEC 61508 ("International Standard for Automatic Protection Systems") qualifications. This green light means Rust is now geared up for action in automotive and industrial electronic systems.
Qualification for other standards and areas, such as railway and aerospace, are planned. 😏
https://ferrous-systems.com/blog/officially-qualified-ferrocene/
#rust #automotive #programming
Ferrous-Systems
Officially Qualified - Ferrocene
It’s official: Ferrocene is ISO 26262 and IEC 61508 qualified!
You can even find the certificate in TÜV SÜDs certificate
database.
This means we achieved qualification for the open source Ferrocene toolchain.
Ferrocene 23.06.0, based on Rust 1...
You can even find the certificate in TÜV SÜDs certificate
database.
This means we achieved qualification for the open source Ferrocene toolchain.
Ferrocene 23.06.0, based on Rust 1...
Forwarded from sad dev diary
btw finally the aws sdk goes live
from now on you don't have to choose between unstable but official aws sdk and rusoto which is in maintenance mode 🌝
source: https://aws.amazon.com/blogs/developer/announcing-general-availability-of-the-aws-sdk-for-rust/
repo: https://github.com/awslabs/aws-sdk-rust
#rust #programming #aws #useful_repositories
from now on you don't have to choose between unstable but official aws sdk and rusoto which is in maintenance mode 🌝
source: https://aws.amazon.com/blogs/developer/announcing-general-availability-of-the-aws-sdk-for-rust/
repo: https://github.com/awslabs/aws-sdk-rust
#rust #programming #aws #useful_repositories
Amazon
Announcing general availability of the AWS SDK for Rust | Amazon Web Services
We’re excited to announce that the AWS SDK for Rust is now generally available and supported for production use. The AWS SDK for Rust provides an idiomatic, type-safe API, along with the benefits of the Rust language such as performance, reliability, and…
Forwarded from sad dev diary
nice article on how to avoid async rust hiccups
https://www.qovery.com/blog/common-mistakes-with-rust-async
#async #programming #rust #useful_posts
https://www.qovery.com/blog/common-mistakes-with-rust-async
#async #programming #rust #useful_posts
Qovery
Common Mistakes with Rust Async
At Qovery, we start to have our fair share of Async Rust and to say the least it is not without caveats. Let’s be honest, Async Rust is hard. It has many more rough edges than Sync Rust and requires a different mindset, but it solves a problem space well…
👍2
Forwarded from sad dev diary
The RustConf 2023 videos went public 5 hours ago 👀
https://www.youtube.com/playlist?list=PL85XCvVPmGQgR1aCC-b0xx7sidGfopjCj
#rust #programming
https://www.youtube.com/playlist?list=PL85XCvVPmGQgR1aCC-b0xx7sidGfopjCj
#rust #programming
# Пост про оффлайн Rust-разработку
Поделюсь важными находками
1) Вся официальная документация и книги
(the book, Rust By Example, standard library, rustc book, Cargo Book, ... все, я устану перечислять)
* это уже у вас есть вместе с туллчейном
2) Может более актуальная штука, уже для существующего проекта:
Позволяет сгенерировать документацию всех используемых крейтов в проекте — просто супер, когда хочешь посмотреть удобно описания и примеры по тем же
* нужно при наличии интернета выполнить, чтобы пошла сборка документации
#Rust #TIL
Поделюсь важными находками
1) Вся официальная документация и книги
(the book, Rust By Example, standard library, rustc book, Cargo Book, ... все, я устану перечислять)
$ rustup docs
* это уже у вас есть вместе с туллчейном
2) Может более актуальная штука, уже для существующего проекта:
$ cargo doc --open
Позволяет сгенерировать документацию всех используемых крейтов в проекте — просто супер, когда хочешь посмотреть удобно описания и примеры по тем же
tokio
, axum
и прочим вкусностям* нужно при наличии интернета выполнить, чтобы пошла сборка документации
#Rust #TIL
👍3👏1
Недавно была крутейщая #Rust конференция в Нидерландах, на которой было много шикарнейших докладов
Почти вся элита Rust-коммьюнити выступала, от Alice Ryhl и Mara Bos, до Niko Matsakis (не упомянутые спикеры не менее мощные!)
—
Добавил себе в закладки очень многие, например (это не все):
Arc in the Linux Kernel - Alice Ryhl - YouTube
https://www.youtube.com/watch?v=gr9v0FFXaZ8&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=4
Async Rust in Embedded Systems with Embassy - Dario Nieuwenhuis - YouTube
https://www.youtube.com/watch?v=H7NtzyP9q8E&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14
Xilem: Let's Build High Performance Rust UI - Raph Levien - YouTube
https://www.youtube.com/watch?v=OvfNipIcRiQ&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14
Type Theory for Busy Engineers - Niko Matsakis - YouTube
https://www.youtube.com/watch?v=9qLACD9Bfbk&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=16
—
Ссылка на плейлист с докладами:
https://www.youtube.com/watch?v=NPP2_6KMA60&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7
Почти вся элита Rust-коммьюнити выступала, от Alice Ryhl и Mara Bos, до Niko Matsakis (не упомянутые спикеры не менее мощные!)
—
Добавил себе в закладки очень многие, например (это не все):
Arc in the Linux Kernel - Alice Ryhl - YouTube
https://www.youtube.com/watch?v=gr9v0FFXaZ8&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=4
Async Rust in Embedded Systems with Embassy - Dario Nieuwenhuis - YouTube
https://www.youtube.com/watch?v=H7NtzyP9q8E&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14
Xilem: Let's Build High Performance Rust UI - Raph Levien - YouTube
https://www.youtube.com/watch?v=OvfNipIcRiQ&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14
Type Theory for Busy Engineers - Niko Matsakis - YouTube
https://www.youtube.com/watch?v=9qLACD9Bfbk&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=16
—
Ссылка на плейлист с докладами:
https://www.youtube.com/watch?v=NPP2_6KMA60&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7
YouTube
Arc in the Linux Kernel - Alice Ryhl
The Linux Kernel is a very special codebase with a lot of restrictions on how you can write your code. In this talk, you will hear about how Rust has to adapt to work in the Linux Kernel. We will be looking at the kernel's extensive use of linked lists, and…
👍5🔥1
Rustlings очень удобный и интересный набор упражнений по обучению программирования на #Rust
Когда-то, проходил их, ещё до того, как свичнуться и был доволен
Сейчас же ещё и новая версия!
Изучающим Rust очень советую
https://mo8it.com/blog/rustlings-rewrite
Когда-то, проходил их, ещё до того, как свичнуться и был доволен
Сейчас же ещё и новая версия!
Изучающим Rust очень советую
https://mo8it.com/blog/rustlings-rewrite
Mo8It
Rustlings Rewrite
Version 6 of Rustlings is a rewrite providing a ton of features and improvements
❤3👍1
Недавно написал свой первый процедурный макрос в Rust
Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...
Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.
В общем, сравнивая это с @декораторами из других ЯП и прочей рефлексией, то часто в таком случае, мы можем именно считать сигнатуру, но не изменить.
Иными словами, больше интересных возможностей по разработке API.
* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?
В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит
#Rust
Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...
Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.
В общем, сравнивая это с @декораторами из других ЯП и прочей рефлексией, то часто в таком случае, мы можем именно считать сигнатуру, но не изменить.
Иными словами, больше интересных возможностей по разработке API.
* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?
В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит
#Rust
🔥5
ASCII-Nova 🇺🇦
Еще немного внутренностей — в общем, работа чисто в Растовых терминах
А, кстати, говоря про синтаксис -- для процедурных макросов, можно реализовать какой угодно парсер аргументов, вплоть до... например парсинга Python кода (https://crates.io/crates/inline-python)
Я реализовал простой опциональный аргумент вида:
В общем, реально классная штука и зрелость экосистемы для написания макросов меня прямо впечатляет (макросы я активно старался НЕ писать как бывший плюсовик, т.к. макросы это pure C way, а я топил за плюсы и шаблоны)
Может не самое честное сравнение с препроцессором C/C++, т.к. это просто замена/вставка текста (буквально), но иметь макросы, которые прямо компилируемые внутри, это супер круто!
#Rust
Я реализовал простой опциональный аргумент вида:
[, return_value = "unwrap"|"unwrapAndColon"|"asIs"]
(параметр, с ожиданием одного из трёх значений).В общем, реально классная штука и зрелость экосистемы для написания макросов меня прямо впечатляет (макросы я активно старался НЕ писать как бывший плюсовик, т.к. макросы это pure C way, а я топил за плюсы и шаблоны)
Может не самое честное сравнение с препроцессором C/C++, т.к. это просто замена/вставка текста (буквально), но иметь макросы, которые прямо компилируемые внутри, это супер круто!
#Rust
🥰6
Memory Safety in C++ vs Rust vs Zig | by B Shyam Sundar | Jul, 2024 | Medium
https://medium.com/@shyamsundarb/memory-safety-in-c-vs-rust-vs-zig-f78fa903f41e
Добротная статья. В целом, хорошая иллюстрация, зачем вообще #Rust
В мире C++ нужно писать новые компиляторы (или обёртки), чтобы работать с владением
https://medium.com/@shyamsundarb/memory-safety-in-c-vs-rust-vs-zig-f78fa903f41e
Добротная статья. В целом, хорошая иллюстрация, зачем вообще #Rust
В мире C++ нужно писать новые компиляторы (или обёртки), чтобы работать с владением
Medium
Memory Safety in C++ vs Rust vs Zig
A look at C++, Zig and Rust in terms of memory safety
❤1👀1
Scientific Computing in Rust 2024
https://scientificcomputing.rs/
Прямо сейчас идёт классный онлайн-воркшоп по #Rust
Тем кто пропускает (например я), записи можно будет потом посмотреть на канале: https://www.youtube.com/@ScientificComputinginRust
https://scientificcomputing.rs/
Прямо сейчас идёт классный онлайн-воркшоп по #Rust
Тем кто пропускает (например я), записи можно будет потом посмотреть на канале: https://www.youtube.com/@ScientificComputinginRust
scientificcomputing.rs
Scientific Computing in Rust
the Scientific Computing in Rust annual workshop and monthly newsletter.
lvkv/whenfs: A FUSE Filesystem for your Google calendar
https://github.com/lvkv/whenfs
вот это я понимаю, пет проекты у людей
PS. и конечно же на #Rust
https://github.com/lvkv/whenfs
вот это я понимаю, пет проекты у людей
PS. и конечно же на #Rust
🤣4🔥3
https://doc.rust-lang.org/nightly/unstable-book/language-features/postfix-match.html
Интересно, случайно наткнулся на классную штуку: возможность писать
для тех, кто как я, любит разные длинные ФП-шные колбасы из вызовов методов один за одним, может иметь смысл
#Rust #TIL
Интересно, случайно наткнулся на классную штуку: возможность писать
match
в "текучем" стиледля тех, кто как я, любит разные длинные ФП-шные колбасы из вызовов методов один за одним, может иметь смысл
#Rust #TIL
Forwarded from trace!("TheBestTvarynka") (Pavlo Myroniuk)
Both frontend and backend are written in Rust. Sometimes you need to know the host OS in the frontend code.
After some googling, I wrote a small workaround.
The idea is to define a custom
Now I can use the
#rust
#[cfg(target_os = "...")]
will not work because all Rust frontend code is compiled with the wasm32-unknown-unknown
target. So, you'll always get a non-Windows target OS.After some googling, I wrote a small workaround.
// build.rs
fn main() {
println!("cargo::rustc-check-cfg=cfg(windows_is_host_os)");
if cfg!(windows) {
println!("cargo:rustc-cfg=windows_is_host_os");
}
}
The idea is to define a custom
cfg
attribute in the build.rs
. All code in build.rs
is executed after dependencies compilation but before app compilation. So, in the build.rs
we have more information about the host OS than in the frontend code.Now I can use the
windows_is_host_os
in the #[cfg(...)]
attribute:// somewhere in the frontend code
#[cfg(windows_is_host_os)]
{
// Windows
}
#[cfg(not(windows_is_host_os))]
{
// Not Windows
}
#rust
🔥4😁1
Я обычно для быстрых проверок пользуюсь официальной песочницей (онлайн компилятор): https://play.rust-lang.org
Но в нём нет возможности указать зависимости :(
Поэтому был рад, когда нашёл Rust Explorer, который позволяет их указывать, например: https://www.rustexplorer.com/b/q76rqj
#Rust #TIL
Но в нём нет возможности указать зависимости :(
Поэтому был рад, когда нашёл Rust Explorer, который позволяет их указывать, например: https://www.rustexplorer.com/b/q76rqj
#Rust #TIL
play.rust-lang.org
Rust Playground
A browser interface to the Rust compiler to experiment with the language
❤2
Rust Project goals for 2024 | Rust Blog
https://blog.rust-lang.org/2024/08/12/Project-goals.html
Здорово!
Выделил для себя всё связанное с async:
- Скоро будет 2024 Edition: небольшие (но долгожданные изменения) изменения синтаксиса
- Улучшения async (жду не меньше!): упрощение написания async кода
#Rust
❤3👍2🤡1
zlfn/rust-gb: Compile Rust code to GBZ80 (Gameboy Z80)
https://github.com/zlfn/rust-gb
интересно, на #Rust уже можно писать для Gameboy
GitHub
GitHub - zlfn/rust-gb: Compile Rust code to GBZ80 (Gameboy Z80)
Compile Rust code to GBZ80 (Gameboy Z80). Contribute to zlfn/rust-gb development by creating an account on GitHub.
😎4👍1