Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
The embassy ecosystem is good. Then you bring async into the equation, which fits embedded really well. I've been working full time with embassy for the last 10 months or so and love it.
I also studied this question on FFI several weeks ago in terms of "rewrite part of the system in Rust". Unexpected results could be semantic issues (e.g., different error handling methods) or security issues (FFI could be a soundness hole). I suggest going through the issues of libraries that have started rewriting work such as rust-openssl or rustls (This is the one trying to rewrite in whole rust rather than using FFI; however, you will not be able to find the mapping function in the C version and compare them). I hope this helps!
I also studied this question on FFI several weeks ago in terms of "rewrite part of the system in Rust". Unexpected results could be semantic issues (e.g., different error handling methods) or security issues (FFI could be a soundness hole). I suggest going through the issues of libraries that have started rewriting work such as rust-openssl or rustls (This is the one trying to rewrite in whole rust rather than using FFI; however, you will not be able to find the mapping function in the C version and compare them). I hope this helps!
I did this a few years ago with https://github.com/xobs/midi-to-keypress and the biggest issue I faced was the lack of a gui.
Unfortunately the server has a blocking select until there's a new socket for when there's no open sockets to manage. I either have to change the old logic or write some awkward condvar stuff (like here https://github.com/Yuffster/CircleMUD/commit/94c27cc11fda671ede5316e6aadc170889060f5e). It's really sad, the naive version that busy loops when the server has no connections is very chic and then it gets a lot harder to follow.
I tried to rewrite Clipper2 in Rust. There's a C#, a Delphi and a C++ implementation, so how hard can it be?
If you had such problems (which I also had in the past), I'm really interested in you opinion about WinSafe, and if it could help you solving them.
Did you try Relm? It's an implementation is the elm architecture (think react) on top of Gtk. Given your experience with Gtk it might suit you really well, as you can even take only parts of it and continue using bare Gtk for the rest. Give it a try!
This may be cursed but you could just use https://github.com/fusion-engineering/inline-python to use the Python Levensthein library in Rust directly. Just make sure to invoke the Rust binary under a venv with the library
Sure. Unsure how readily a rusty person could port, say, my Vulkan repo https://github.com/cschladetsch/VulkanDemo
This is exactly what I needed when implementing xml-mut :D I have used roxmltree instead and manipulated text directly. will try to rewrite it using Xot.
This is exactly what I needed when implementing xml-mut :D I have used roxmltree instead and manipulated text directly. will try to rewrite it using Xot.
Exactly the same experience. In particular I ran into the issue that the only "ergonomic" API (that doesn't require hand-writing a parser) uses serde derive macros, but quick_xml doesn't handle namespaces. After about a day of this I stopped bike-shedding and just used lxml in Python. It works fine (and I have a large XML file, ~2.4Gb).
I found the generics a lot less of a problem when I realized I could parametrize on things like embedded_hal::serial::Write instead of UsartOps https://github.com/Rahix/avr-hal/pull/264/commits/17ed15321cb8fcf8aedb1f8133be1f189eb06a6f