In 2017 a lot has changed and it has been a great year for Rust. The compiler became a lot more mature, libraries/crates stabilized, and many Rust-related talks showed up on (non-Rust) conferences… but let’s start at the beginning.
When I started off my journey with Rust it was (and still is) driven by my curiousity and willingness to go the ‘extra mile’ to find out how things work. My first project was a (now defunct) Slack bot to randomly choose restaurants for lunch (off of Foursquare’s API), something that was quite exhausting coming from Python! All this static typing wasn’t something I had missed when working with REST APIs.
Soon after that, my curiousity took me down a different road: IoT. I built a client application for the Raspberry Pi, drivers for devices and a distributed database (CrateDB) and shortly joined tantivy (a search engine built in Rust, Paul is doing an awesome job there) and mostly this was good fun, except … for dependency management, upgrades and other (un)expected changes.
Once upon a time …
… about a year ago, when the latest nightly build wouldn’t let you use some crates because a feature was removed and a few maintainers of your crates had switched and a few were still working on migrating to the new version(s). That definitely was the source of a few pull requests last year.
A little later, almost the same thing happened again with serde’s 1.0 release, where getting multiple and sometimes incompatible versions (of a crate) would fill my weekends. But it’s the price of working on new and exciting things 😊
Since then, everything has come a long way, getting a small project up and running is only a matter of seconds until you can start coding, “default” crates are forming, and sometimes my vscode will even auto complete my code!
On the community side of things I like looking back on all the kindness and support I received for any of the stuff I do. People come up to me after conference talks or on the booth to chat about Rust, and I have since started to give back and help organize Munich’s Rust meetup, tried to find all the Rusteceans within Microsoft, and I am planning to do a RustBridge (or similar) workshop this year. Up to now I have created some blog posts and a recorded talk (wait for what happens in the end!).
Which brings me to 2018 and some personal goals:
Engange more with the community
While I am not much of “writing” participant online, I would love to engage more with others by sharing experiences and advice or learn from others more in IRC/reddit/the forum.
Do a Rustbridge workshop
Ashley does a great job of explaining stuff to people and she created some material to onboard people onto the language, something I would love to do too!
Contribute & maintain
My contributions so far to many Open Source projects have been rather superficial, but I would love to go deeper and be able to do impactful changes to other people’s code. And of course build out my own libraries 😊
Get better at Rust
Catch up on the latest developments, use tokio…
I know it’s not christmas, but …
Since we can also have some sort of wishlist, here’s mine:
With many of the basic technologies are now stabilized and avaialble, it becomes more important to have higher level crates available to integrate with services, devices, etc. so leveraging existing work becomes easier and lets people worry less about plumbing. In turn this will enable more folks to use Rust 😊
Working with different operating systems and platforms I keep running into issues around dependencies, e.g. (un)available native libraries, duplicates (with a different minor version number), etc. Of course I understand why, yet it’s inefficient and annoying to work around (even if I streamline my dependencies, some crates won’t) and creates an unnecessary headache. I can’t think of a good solution - but I am sure this warrants a larger discussion.
Rust’s ecosystem has grown a lot over the last year and I appreciate what everyone is doing! It’s amazing how many projects and services are built on their (our) work and I imagine a future where Rust can have vendor-created crates for APIs, devices, services etc. for people to safely build large, integrated Rust applications as quickly as more established technologies!
It’s been great to be part of the Rust community in 2017, I am looking forward to an even better 2018. This post was in response to the Rust 2018 call for community blog posts.
Happy new year!
Thanks for reading, if you like this sort of thing let me know on twitter: @0x5ff and share this post. If you want to help or just get me to fix an issue in my crates you should check out my Github repos (or get in touch via twitter):