ERRATA I now (one month on) recommend irust - MUCH nicer than evcxr on the command line. I didn't demo this in the video, but neovide has a RAILGUN cursor mode neovide.dev/assets/Railgun.gif
Dude, I am in love with your presentation. Using RUclips's dark theme with simple slides, the little progress bar at the bottom, your pacing, the way you speak - you've already convinced me to try Rust after just a few videos, and you're definitely on the "drop everything and watch" list haha
Honourable (personal) mention for code editors: Kate. It's developed by KDE, and is designed mainly for KDE Plasma, but it works on any other Linux wm/de, and also is available for macOS and Windows. To me it feels like a lightweight VSCode, complete with LSP support, Git management, and a Vi keybinds mode. In terms of third-party plugins it's a little dry, but vanilla Kate imo is jam-packed with functionality and customisation options, so tweaking it to your liking is possible, assuming you can navigate through the settings page with sanity intact :)
"There's something about the messages that the Rust compiler sends me that warms my heart." Me: "rustc --explain why doesn't my code compile?" Compiler: "Because you're an idiot." Heartwarming indeed 😍
@@NoBoilerplate if you want a shorter video link, you should either press the share button and copy that, or right click on the video player and copy link
A game changer for me, a dedicated vim user who started coding in Rust in early 2015. I've been using the same config all this time, and I wanted to start a big project so I looked up for info notably on YT, found your channel, and now that video: I installed the full Monty up to neovide, and it BLEW MY MIND. And your videos rock, hand crafted with care, with a beautiful voice and accent. Rust had made astounding progress since 2015, and this stack is worthy of its well deserved new stature.
The amount of thought put into the quality of your content and the way you mention all your links and where to find more information makes me certain that this channel will inevitably break 100 million hours of watchtime before 2023 is over. This will be THE video I recommend to colleagues and friends interested in Rust for decades to come. Nice work!
Thank you so much, it's good to see recognition of my efforts! I'm still learning, and I'm not always right, but I don't mind changing my mind for the next video (as I have done a lot!) And any errors are always in the pinned comment .
Thanks for the great video as always! I like how you get right to the point without the unnecessarily long explanations that make the viewer look like a helpless creature that needs everything explained. Your content is always packed with information while being easy to digest :)
Started coding with rust a couple of momths ago and enjoied it a lot. Now with this Series a whole new world of features and possibilieties opens up for me. Keep up this amazing work :D Thank you so much :)
how do you do this? Have been trying and running into problems... I messed up and installed neovide first, and then installed astronvim, I think I'm missing some dependencies
After your previous replies to my comments I was so encouraged to learn rust that I promised myself I would do it before your next upload. Here's me, watching your first upload since that promise, with my perfectly working rust program running in a treminal on my other screen. Can't wait for you to blow up (on youtube that is)
This video is extremely useful, because i now know which crates to spend some time getting familiar with to solve every day tasks without a bunch of googling. Great work!
I've heard of many of these libraries and only a few of these tools. This is a great guide thank you for making this! Really opens up my Rust development.
I've been learning Rust for about a month now so I wanna say thanks for making this video. This is a very nice overview and has only got me more excited learning rust :)
Thank you! It's so great to hear that, my goal is to get people excited. I'm not experienced enough to do much more than that (yet!) but I'm learning too!
Your videos are some of the highest quality programming videos on youtube. It reminds me of LEMMINO in terms of video quality, combined with your pleasing voice and the clear and concise way you explain concepts that makes people want to listen!
@@NoBoilerplate I already tried out Helix. But it's missing some of the features that I used to in AstroNvim. But If I were on completely different computer without my config. I would better install Helix for the time being as it has a lot of stuff "Out of the box", for coding and enabled LSP, rather than barebones nvim which you have to configure and install plugins to. Just easier to handle than downloaded Astronvim. But I experienced Astro to be better for me in a long run.
Hey dude, been watching your Rust videos and they've been very useful for me as a newbie Rustacean. Your presentation style is exactly what I like: crisp and to-the-point. Please keep this series going!
@@NoBoilerplate could you do a video on explaining your thought process behind picking up Rust projects? I’d like to know what sort of applications that Rust (as a systems programming language) is particularly suited for: such as CLI tools, web servers, port scanners, etc. One of the best ways to learn a language is to build tools that you can use day-to-day and iteratively improve, but I feel a bit overwhelmed at approaching the subject. A bonus would be if you covered security tools (I work in that space), but I think most of your audience might prefer a more general, abstracted approach. Thanks again for the time you spend on making these vids :)
"I didn't learn what that means, but it sounds good doesn't it" That's so relatable it gave me quite the laugh! Only just starting to learn rust, but I love your channel! Very high quality videos.
I try to be as honest as I can (Such as the ERRATA pinned comment), and that includes admitting this sort of thing! Thank you so much, I'm excited for you getting in to Rust. It's difficult but worth it, keep going!
Watching such a powerhouse of a good video without learning a single new thing and having 120+ consecutive 10 hour programming days with a green carpet of git commits, brings me slowly in the direction that I porbabaly don't need to feel like I'm a super noob all of the time, and that my code is probably somehow okay. But it's prorbaly also true, that you are always a noob when doing programming. Thanks for the awesome vid 🙏❤️
I really like the pacing of the video. Not too fast or too slow. Simply just right. Gotta learn some rust. Hopefully, it’s less painful than C and C++.
It's absolutely less painful than c++! Steeper learning curve than JavaScript, but you get a language that you are confident of what you have written - worth it! Watch my other rust videos for inspiration, good luck!
+1 I recently started using Obsidian again and I always get something out of seeing how others have setup and exploited its features for productivity and comfortability
@@NoBoilerplate Fantastic. While there are a lot of "knowledge management with Obsidian" videos on the internet, I find that most of them are done by RUclipsrs that have been using the software for less than 3 months. Having an engineer/content creator sharing his actual workflow would be refreshing.
i really love your videos and your channel actually got me motivated to learn rust myself. do you think you might make a more complete rust overview/tutorial in the near/far future with the same fast paced yet informative editing style. id really love to see that. :D
I think I certainly will! Like a zero-to-web-app tutorial? I'm trying to figure out how to make those tutorial-style videos as well as I can, it'll be a departure from the formula, and I have extremely high standards for my work!
Your rust videos are wonderful. They are a pleasure to hear and see. They inspire an interest in rust and coding in general for the simple joy of it. Thank you!
Oh wow you use Obsidian, puh-lease talk more about how you use it. It's my favorite tool and I can imagine your explanation of considerations to approach and mindset while using it for different parts of life will be far more thoughtful than the videos made by the "tools for thought" crowd, who I find often are more excited about the tool than the things you can do with it. Literally just that screenshot you walked through gave me more insight on how to script videos with it than I've ever seen.
I'm going to start doing a video a week, instead of my current schedule of a video a fortnight, and the two new videos per month will be non-rust. Obsidian certainly will be one of the new topics I'll cover. Thanks!
9:20 "Clap is the most popular command line args-parsing library. It seems to get more and more featureful each time I look at it." It's true! I used to use StructOpt, but apparently Clap v3 has implemented all features of StructOpt.
laying the puns on THICK today seriously though this is some of the best educational content on the site; going to have to watch this multiple times to make sure I understand it all. I think this might be the fastest I've ever subscribed to a channel
@@NoBoilerplate I always watch at least two videos from a channel before deciding to subscribe just in case the thing I saw that I really liked was a one-off that they're probably never doing again. this was the second one. was already a big fan of both rust and neovim before discovering your channel (friends got me into them, but i'm still not more than a month in) but the more i watch the less reason i see to use any other language i've always been a proponent of the argument that arguing about the best programming language is like arguing about the best tool (python is a neat little swiss army knife with a laser pointer on it that's great for doing data science but for anything computationally intensive, its puny little 5cm sawblade won't do the job nearly as well as the bandsaw that is C++) and to a certain extent i still think that's true (especially if there are library bindings for one language that you need to use if you want to release this century) but you can literally write anything from embedded firmware to GUI apps in Rust with approximately the same level of ease and performance and I think that's incredibly cool rust has a lot in common with java language design wise and i find that interesting because coming from a python background i really _despise_ java but i like rust quite a lot. in thinking about why this is, i realized that Rust has all of the features of Java (like interfaces, type safety w/generics, stream-like syntax, privacy provisions, etc) but in Rust they don't suck balls (you can implement traits for types you didn't define (in fact you can even implement them generically) and multiple traits can have the same name and they won't conflict, type erasure is not a thing meaning the generic system is actually useful, Java's streams are literally on par with Python performance wise but Rust's iterator map-reduce chains compile down to native loops, Java's privacy protections can be straight up bypassed with reflections but since Rust has access to all of the source code when the binary is compiled, including libraries, it can guarantee that no one is doing anything stupid; "the compiler guarantees safety" means The Compiler Guarantees Safety and not "oh, unless the runtime does something weird") and "what if java, but it didn't suck" is something I very much like the idea of it's like someone read my mind to get all of my subconscious desires of everything i want in a programming language and then somehow made one that had all of them, and then stole Python's type annotation syntax for some reason i do kind of wish there was struct inheritance and it sounds like that is a planned feature but rust is so good in so many other ways that i'm almost willing to put up with having to write a wrapper impl
@@amateurprogrammer25 How lovely! I'm also from a python background, been doing it for 15 years. You might like Go, too, as it has many of the featueres you like, so if you ever get offered to write it for money, I'd say do it, but obviously I think Rust is BETTER: No GC, bare-metal code, compile-time macros, and a community that cares about correctness!
Clap now also has derive macros. This allows you to define a type to store program's CLI arguments in your code and just slap #[derive(clap::Parser)] on it. Arguably that is the best way to get arguments from command line and how it should have been done in the first place.
Personally, I like the derive method of clap the most. It allows to directly define the struct where the command line arguments are filled into by clap.
So something that’s nowadays probably much easier to find but when I needed it it was quite difficult is: WGPU. It’s a crate that abstracts over multiple graphics backends in a safe manner (in the future, one of the targets it will support will be WebGPU, which is a work in progress standard for using the GPU in the browser), it can build for Angle, OpenGL, DX12, Metal & Vulkan and has, as long as you use it in an intelligent manner, quite a low performance impact. If you need an even cheaper and unsafe graphics library, its hardware abstraction layer wgpu-hal, might be for you.
I have been using AstroNvim because of you lately and I am so in love!! A couple of things I want different, but I am sure I will learn how to do that someday. That you for this video!
Even before seeing this video, I knew the Rust community was about 100% puns by volume. Great job with keeping up the trend! Also useful information, of course.
First of all thanks for the video, I love your format. Talking about it's content I personally had problems with chrono hanging behind and being poorly maintained (especially working on bleeding edge stuff like embedded rust for esp) so I changed back to time, time::PrimitiveDateTime is almost were chrono want's to be and more than I would ever need while staying up to date with it's dependencies
10:24 egui is a immediate-mode GUI that's similar-ish to Imgui. More traditional GUI frameworks in Rust include Iced and Druid. Druid is more performant at the moment, but Iced is being used by System76 for their Desktop Environment rewrite, so I expect it to get some traction and get better quickly
2:45 JetBrain’s/Intelij’s Rust support is pretty good too, in my experience it’s less accurate, sometimes giving false positives for errors and quite often giving suggestions for the wrong thing and importing it but it’s still pretty good and it’s slightly more performant than rust-analyser, or maybe not, it’s possible it’s just the way it integrates with the IDE allows it to run in the background better.
@@NoBoilerplate compared to nvim specifically, but I have a pretty slow computer so it’s probably that in a big part. It’s definitely fast enough for me, especially with newer versions, but I used to have an issue in a project with bevy (and a few other large dependencies) where rust_analyser would often freeze up and stop responding for a while, also it would corrupt its files or wherever it stores its index and would need to rebuild it often. I haven’t seen that since I switched back to it though so maybe it’s fixed.
@@awwastor Yikes! Rust analyzer is now the recommended LSP server, and it even comes with rustup in the nightlies (and soon, in stable). I'd say it's safe to return 🙂
Hey, just wanted to pop in here and tell you, you're the reason i picked up Rust and so far i am absolutely loving it. Thank you for the videos you make! I really appreciate it. now back to coding :)
Thank you so much for telling me Lucas! I'm so pleased, literally that's my goal with this series, is to get people into this amazing language! Have fun!
@@NoBoilerplate Also love the coverage of Obsidian - by far my favorite piece of software i'm using since discovering it. surely you already know this, but for people who don't: great performance, all files hosted locally and as text files, so not locked in to the software, and since it's just a local executable built from open source, there's no danger of a sellout ruining your tool. It's a great place to put effort into while being confident it's not gonna go to waste. This all on top of the great features it provides, which others may have too but with downsides.
@@Terminator85BS Yeah! UGH I love obsidian so much. I hope you weren't off-put by the advertisement format? I'm hoping to get some tech advertisers interested in my channel so I can do them more often (currently the day job is holding me back!). What a world that would be, I can't even believe it's an option. How was the format for you?
@@NoBoilerplate i didn't see this as an advertisement at all, since it was just a genuine showcase of what it can do and why you like it. if you could get sponsorships in this format that would be incredible, but usually with sponsorships/advertisements it's all about pretending to like something which makes it very different.
Loving your style of videos! Inspiring me to try Rust some time I've got the chance to. Your podcast is also very amazing to listen to and seeing you also use Obsidian is a nice plus, it really is a great tool, using it for Uni, D&D and managing some projects as well, nice getting some inspiration there from you as well.
It's so great right? I use dice roller and dnd stats plugins for running my games (and dnd beyond, ofc). I might do a deep-dive video into obsidian in another video, once I run out of Rust features to gush about!
@@NoBoilerplate I can imagine you being a great DM! Some Obsidian related content in your style would be amazing to watch, you’d have my interest, no doubt :)
Really enjoying and learning so much from your content. Sincerely, thank you! Gonna copy your “lightsaber” ahead of the London Rust Meetup tomorrow in order to look more pro than I really am 😁
@@NoBoilerplate Have a look on Meetup for the Rust London User Group - the meetup is at TrueLayer's offices on Hardwick street at 6pm. They hold them roughly monthly and as far as I can tell this is the first in a series called Code Dojo aimed at relative beginners.
basic swift or groovy lightsabers? Are you telling me we're making a rusty lightsaber? This is my favorite thing on the internet, I'm in nerd heaven. Thank you.
That advice would not be wide enough an audience to do a full video on just yet. Sorry about that - but the forums for each part (neovim, astronvim, and neovide) are each full of lovely people who I have personally gotten help from in the past! Try github issues if they don't have a forum. ALSO I'd be delighted to help you in-person. I'm soft-launching my discord, which I've added No Boilerplate channels to, come in and say hi in #Programming! discord.gg/mCY2bBmDKZ
You should've mentioned GTK-rs. It's not pure Rust, but I'd argue it's the nicest and most fleshed out toolkit you'll find. Bonus points for glib since it allows you to write libraries in Rust and have them be usable in tons of other languages. It's really nice, and it has a whole ecosystem around it.
@@NoBoilerplate It's not just GTK - since it uses GObject Introspection, you get access to the entire GNOME and GTK ecosystem. Libshumate, libadwaita, or the lower level libraries like GIO or GDK.
1:52 "If you go with VS Code, you'll have the same functionality, but a bit more Chrome" I might misinterpret that but that's so funny nevertheless, lmao
i really like your content and appreciate the effort went into making these clean video. I have only one request, can you please scale up the images and font used in the video, its bit difficult to view on mobile devices.
I will work to fix this. I had a real problem in this video. the framework I'm using, advanced slides on obsidian, which uses reveal.js, and long examples. Short examples I can zoom in, but long ones had to be smaller font to stay inside whatever box reveal uses. You won't be the last to tell me about this problem, I expect. I will work on it!
Haven't started writing any Rust yet, but it's self-evident that your video is bringing us things I'll be so glad not to have to look for/build myself! Thank you so much!
@@NoBoilerplate oh I watched that last night and started work today :) Thanks again! I feel the beginnings of a long and beautiful partnership with Rust 💜
Neovide looks nice, gonna try it out. I can also recommend Helix. It's a modal editor too, but more kakoune-like; also is trivial to set up & has better discoverability. And of course, the most important tool: cargo-mommy
Im curious how it handles computation. It’s not a language used in the field I want to get into - that being atmospheric science - but I think learning languages is a fun hobby and it gives me a new fun challenge of taking concepts from one language,and writing them in another.
Rusts maths system is very simple, in that, like C, it's is very close to the CPUs maths system: binary arithmetic with all of the float rounding and wrapping issues you would expect. However, it's incredibly fast. Indeed each operation compiles down to very low level code. I've not looked into it, but I believe it might be even just a single cpu operation. Built on top of that is the standard library's opt-in "checked" maths functions - safe operations that return results instead of wrapping or truncating. On top of THAT are crates for numerical computation, just search on crates.io. If your language starts with safe operations, you often can't get access to the fast maths. If you have low level maths, you can build safe abstractions. See my latest video for a toy example of how this works!
If you are interested in neovim, try lunar vim. I found the lunar vim api way easier to use when extending the config. Tried astrovim, but I prefer lunar vim.
Since you seem very interested in high-performance systems and functional languages, I would love to hear you talk about elixir+rust based systems. It's definetly not that easy to find practical info on when and how these types of systems are used in practice.
@@NoBoilerplate That would be neat. My reasoning extends to "Is C++ a viable option, consider Rust". If there is more to it then absolutely :) The thing with Rust is that, since it's growing so fast, it is really hard to evaluate the maturity of any part of the ecosystem, like Web, GUI (AreweGUIyet seems really outdated at this point), SciComp, AI/ML etc. The Rust game dev space seems really awesome though.
I just started with rust after learning java and c# mostly java while recently c# but ohhh boiii rust just hits differently in a positive way :) it's certainly a harder language to get in due to borrow checker but when you have a good IDE with nice ppl on discord ready to help it just makes it less of a pain and more of an adventure ;)
Rust will be harder to learn the basics than those other two languages, keep watching my videos to get inspired, and once you're past the learning curve, you'll be in a much better position to write reliable code!
Thank you so much! I've put all my Rust videos into a playlist for ease of viewing, if that is helpful to you. ruclips.net/video/Q3AhzHq8ogs/видео.html And please ask any questions on the videos, I read every comment!
That's a lot of tools, some of which based on electron (which I'm not a fan of), tho VSCode has a good reputation now, and there's the open source version, *VSCodium* . Personally I'm using IntelliJ for a consistent IDE experience and a single tool, but you must use the non-free edition if you want the debug feature, a non-issue when you already own the UE or CLion for other purposes. It's good and actively developed, but not yet at the same level as the native languages of those IDEs. Thanks for all the references, but note that some of those crates are still very alpha or beta (0.0x version), so tread carefully. To each their own, anyway. :)
Amazing content as always! I would love a ted talk where you talk for 2 hours straight. p.s. Just as a recommendation, next time make the pictures a bit bigger, the details are kinda hard to see even at full screen.
I'm trying to code on a raspberry pi. I ran into errors where sudo apt install didn't give me a recent enough version so I had to build neovim myself from source to get astronvim to install. Present problem is I can't seem to install gcc-multilib and g++-multilib or skia-bindings in order to install neovide. It seems like using linux is just running into weird bugs you didn't know existed and solving them with weird solutions you don't understand. If you happen to have a good neovide alternative i'd love to hear one (mostly because i don't even know what neovide is or does) I appreciate this video, i've been watching it on and off all weekend trying to get things to work. Kind of fun, kind of hard. Maybe one day all this will make sense. I look forward to one day understanding it!
Linux is a really great tool you'll be glad you learned, I promise! I also have a few raspberry pis, they're so great! Come chat to me on the new discord channel, links on noboilerplate.org (ask in #programming)
Its ok to have ther commands in the video, but it would have been more convenient to have it as pure txt - ready to copy. Just a thought. Thanx for the inspiration
ERRATA
I now (one month on) recommend irust - MUCH nicer than evcxr on the command line.
I didn't demo this in the video, but neovide has a RAILGUN cursor mode neovide.dev/assets/Railgun.gif
2:40 LSP, -Language Server Protocol- (Lump space princess)
@@marcelo55869 That's out of context, clearly LSP means Liskov Substitution Principle
@@regexPattern Liking stupid people
@@marcelo55869 omg totally
- clap features presented in the video are from clap v2, not clap v3
- isn't time the better crate compared to chrono ?
Dude, I am in love with your presentation. Using RUclips's dark theme with simple slides, the little progress bar at the bottom, your pacing, the way you speak - you've already convinced me to try Rust after just a few videos, and you're definitely on the "drop everything and watch" list haha
It's nice to have such good UK representation in the RUclips programming scene lol
Thank you so much! Yes it's just me and Tom Scott, sadly.
The "drop everything and watch" is so true.
honestly some of the highest quality technical videos on youtube, shocked the channel is not larger
Thank you so much!
it's just beginning...
new fireship
@@Couleur You're too kind! I do like Fireship.
@@Couleur fireship brought me here. this channel and fireship have unbelievable synergy.
I like that there no uselessly long intro or outro, just gold content. I'm sure your channel is going to blow up, so much quality
You're very kind, I feel like it's already gone wild! Rip my Inbox!
Honourable (personal) mention for code editors: Kate.
It's developed by KDE, and is designed mainly for KDE Plasma, but it works on any other Linux wm/de, and also is available for macOS and Windows.
To me it feels like a lightweight VSCode, complete with LSP support, Git management, and a Vi keybinds mode. In terms of third-party plugins it's a little dry, but vanilla Kate imo is jam-packed with functionality and customisation options, so tweaking it to your liking is possible, assuming you can navigate through the settings page with sanity intact :)
Woah, Kate has lsp now? I gotta check this out! I've been using Kate in kde builds since 2001!
"There's something about the messages that the Rust compiler sends me that warms my heart."
Me: "rustc --explain why doesn't my code compile?"
Compiler: "Because you're an idiot."
Heartwarming indeed 😍
I don't know about you, but Rust makes me feel like a genius ;-) ruclips.net/video/0rJ94rbdteE/видео.html
@@NoBoilerplate if you want a shorter video link, you should either press the share button and copy that, or right click on the video player and copy link
@@theroboman727 I'm not paying by the byte!
@@NoBoilerplate but by the boilerplate!
badum zzz
@@Amejonah You got me but then I realized short links are actually the boilerplate so I guess you got me twice
A game changer for me, a dedicated vim user who started coding in Rust in early 2015. I've been using the same config all this time, and I wanted to start a big project so I looked up for info notably on YT, found your channel, and now that video: I installed the full Monty up to neovide, and it BLEW MY MIND. And your videos rock, hand crafted with care, with a beautiful voice and accent. Rust had made astounding progress since 2015, and this stack is worthy of its well deserved new stature.
Thank you so much for saying so. I'm delighted you were able to level up your vim game!
You genuinely make fantastic videos on programming. Clear, Concise and Fast. Thank you
You're so kind! I am enjoying the process of learning for these videos too!
Gotta love the minimal & clear presentation you did, it's not easy to keep things simple!
Thank you! That's deliberate 😄
The amount of thought put into the quality of your content and the way you mention all your links and where to find more information makes me certain that this channel will inevitably break 100 million hours of watchtime before 2023 is over. This will be THE video I recommend to colleagues and friends interested in Rust for decades to come. Nice work!
Thank you so much, it's good to see recognition of my efforts! I'm still learning, and I'm not always right, but I don't mind changing my mind for the next video (as I have done a lot!) And any errors are always in the pinned comment .
Thanks for the great video as always!
I like how you get right to the point without the unnecessarily long explanations that make the viewer look like a helpless creature that needs everything explained. Your content is always packed with information while being easy to digest :)
Thank you so much for saying so! I think a lot about how to pace the videos!
Started coding with rust a couple of momths ago and enjoied it a lot. Now with this Series a whole new world of features and possibilieties opens up for me. Keep up this amazing work :D Thank you so much :)
Such incredible features, right?
The astro vim + neovide combo looks amazing! Will definitely look into setting that up
Extremely tasty. I didn't even share the railgun cursor animations neovide.dev/
I used astro for a while, but ultimately switched to nvchad for the simple reason that user customization is better isolated.
@@mariogutierrez4989 I'll take a look, thank you!
how do you do this? Have been trying and running into problems...
I messed up and installed neovide first, and then installed astronvim, I think I'm missing some dependencies
I'm making progress, my current problem is that the syntax highlighting isn't happening for me...
After your previous replies to my comments I was so encouraged to learn rust that I promised myself I would do it before your next upload. Here's me, watching your first upload since that promise, with my perfectly working rust program running in a treminal on my other screen. Can't wait for you to blow up (on youtube that is)
CONGRATULATIONS! Another crate for you to try is `progressive` it lets you wrap any for loop in an iterator that gives you a progress bar for free!
This video is extremely useful, because i now know which crates to spend some time getting familiar with to solve every day tasks without a bunch of googling. Great work!
My pleasure! Have fun!
Even if I wasn't interested in Rust at all. This pleasant, competent voice is a pleasure to listen to.
You are setting a new way to present information. I love this clean, no bullshit, approach to your videos!
Thank you so much! I practice very carefully ☺️
I've heard of many of these libraries and only a few of these tools. This is a great guide thank you for making this! Really opens up my Rust development.
Thank you so much for saying so!
Hello, theSTEM, thank you for your content!
I've been learning Rust for about a month now so I wanna say thanks for making this video. This is a very nice overview and has only got me more excited learning rust :)
Thank you! It's so great to hear that, my goal is to get people excited. I'm not experienced enough to do much more than that (yet!) but I'm learning too!
Sometimes I just go back and watch your videos because they’re so good. Keep it up!
Thank you so much! I'm trying to give people the excitement they need to push through Rust's learning curve!
Your videos are some of the highest quality programming videos on youtube. It reminds me of LEMMINO in terms of video quality, combined with your pleasing voice and the clear and concise way you explain concepts that makes people want to listen!
Thank you so much - l practice makes perfect!
AstroNvim is just so good with a bit of modifications to the default mappings and with ease adding a few plugins becomes really even better.
It's SO great isn't it! I have a love/hate relationship with Helix, too, give that a go!
@@NoBoilerplate I already tried out Helix. But it's missing some of the features that I used to in AstroNvim.
But If I were on completely different computer without my config.
I would better install Helix for the time being as it has a lot of stuff "Out of the box", for coding and enabled LSP, rather than barebones nvim which you have to configure and install plugins to. Just easier to handle than downloaded Astronvim.
But I experienced Astro to be better for me in a long run.
Hey dude, been watching your Rust videos and they've been very useful for me as a newbie Rustacean. Your presentation style is exactly what I like: crisp and to-the-point. Please keep this series going!
Thank you! I love writing these, will do! What do you want to learn next?
@@NoBoilerplate could you do a video on explaining your thought process behind picking up Rust projects? I’d like to know what sort of applications that Rust (as a systems programming language) is particularly suited for: such as CLI tools, web servers, port scanners, etc. One of the best ways to learn a language is to build tools that you can use day-to-day and iteratively improve, but I feel a bit overwhelmed at approaching the subject.
A bonus would be if you covered security tools (I work in that space), but I think most of your audience might prefer a more general, abstracted approach.
Thanks again for the time you spend on making these vids :)
@@aarav3890 Nice! Great ideas, I'll add them to my backlog!
"I didn't learn what that means, but it sounds good doesn't it"
That's so relatable it gave me quite the laugh!
Only just starting to learn rust, but I love your channel! Very high quality videos.
I try to be as honest as I can (Such as the ERRATA pinned comment), and that includes admitting this sort of thing! Thank you so much, I'm excited for you getting in to Rust. It's difficult but worth it, keep going!
Watching such a powerhouse of a good video without learning a single new thing and having 120+ consecutive 10 hour programming days with a green carpet of git commits, brings me slowly in the direction that I porbabaly don't need to feel like I'm a super noob all of the time, and that my code is probably somehow okay. But it's prorbaly also true, that you are always a noob when doing programming. Thanks for the awesome vid 🙏❤️
Thank you! Keep learning friend, you'll get there ☺️
I'm glad you mentioned AstroNvim.
It's so lightweight and feature full
SO great - and configured in lua!
I don't really like Rust, however I still listen to your videos, they are really relaxing :D
Have I got great news for you ruclips.net/video/p3bDE9kszMc/видео.html
I really like the pacing of the video. Not too fast or too slow. Simply just right. Gotta learn some rust. Hopefully, it’s less painful than C and C++.
It's absolutely less painful than c++! Steeper learning curve than JavaScript, but you get a language that you are confident of what you have written - worth it! Watch my other rust videos for inspiration, good luck!
I know this is a detail to most people, but I would be very interested in learning more about your Obsidian workflow.
As always, great video!
+1 I recently started using Obsidian again and I always get something out of seeing how others have setup and exploited its features for productivity and comfortability
Def a video in the future. I could talk about obsidian forever!
@@NoBoilerplate Fantastic.
While there are a lot of "knowledge management with Obsidian" videos on the internet, I find that most of them are done by RUclipsrs that have been using the software for less than 3 months.
Having an engineer/content creator sharing his actual workflow would be refreshing.
This is the channel i needed.
thank you!
i really love your videos and your channel actually got me motivated to learn rust myself. do you think you might make a more complete rust overview/tutorial in the near/far future with the same fast paced yet informative editing style. id really love to see that. :D
I think I certainly will! Like a zero-to-web-app tutorial? I'm trying to figure out how to make those tutorial-style videos as well as I can, it'll be a departure from the formula, and I have extremely high standards for my work!
Your rust videos are wonderful. They are a pleasure to hear and see. They inspire an interest in rust and coding in general for the simple joy of it. Thank you!
I'm so pleased, thank you for saying!
This is a joy to watch!
I love the fast pace.
Thank you so much! I think there's not enough bite sized videos on rust, I aim to fix that!
Oh wow you use Obsidian, puh-lease talk more about how you use it. It's my favorite tool and I can imagine your explanation of considerations to approach and mindset while using it for different parts of life will be far more thoughtful than the videos made by the "tools for thought" crowd, who I find often are more excited about the tool than the things you can do with it. Literally just that screenshot you walked through gave me more insight on how to script videos with it than I've ever seen.
I'm going to start doing a video a week, instead of my current schedule of a video a fortnight, and the two new videos per month will be non-rust. Obsidian certainly will be one of the new topics I'll cover. Thanks!
Love your videos. Not too long and very informative!
Thank you so much! I aim for 10 minutesish, every 2 weeks.
I am learning rust and I can say this is very useful for me. Thanks
I'm so pleased, thank you so much for saying so!
Same!
Damn, that's some real high quality content.
This channel is going to grow
Thank you!
9:20 "Clap is the most popular command line args-parsing library. It seems to get more and more featureful each time I look at it."
It's true! I used to use StructOpt, but apparently Clap v3 has implemented all features of StructOpt.
oh fun, I never tried StructOpt! That new macro I highlighted I found out literally this week!
Can confirm, the migration from `structopt` to `clap` is relatively easy, and should be feature-equal.
Let's take our time to do the sequel right this time... I mean, anything can be better than the prequels right? Right?
the expanded universe stuff is really fun, and the games are great too! The films are just the start!
TOO SOON ;_;
@@NoBoilerplate The lego games are my favorite.
@@LoganDark4357 Yeah! I love how unpretentious they are. They're so chill.
Thanks for mentioning neovide. its my nvim gui editor of choice. I hope more rust ppl use neovide and start contributing to make it even better :).
Love neovide!
You’re way too good for this world! Loved every bit of this! Keep ‘em coming!
Thank you,will do!
laying the puns on THICK today
seriously though this is some of the best educational content on the site; going to have to watch this multiple times to make sure I understand it all. I think this might be the fastest I've ever subscribed to a channel
Thank you so much! I'd love to know what you think of my other Rust videos!
@@NoBoilerplate I always watch at least two videos from a channel before deciding to subscribe just in case the thing I saw that I really liked was a one-off that they're probably never doing again. this was the second one. was already a big fan of both rust and neovim before discovering your channel (friends got me into them, but i'm still not more than a month in) but the more i watch the less reason i see to use any other language
i've always been a proponent of the argument that arguing about the best programming language is like arguing about the best tool (python is a neat little swiss army knife with a laser pointer on it that's great for doing data science but for anything computationally intensive, its puny little 5cm sawblade won't do the job nearly as well as the bandsaw that is C++) and to a certain extent i still think that's true (especially if there are library bindings for one language that you need to use if you want to release this century) but you can literally write anything from embedded firmware to GUI apps in Rust with approximately the same level of ease and performance and I think that's incredibly cool
rust has a lot in common with java language design wise and i find that interesting because coming from a python background i really _despise_ java but i like rust quite a lot. in thinking about why this is, i realized that Rust has all of the features of Java (like interfaces, type safety w/generics, stream-like syntax, privacy provisions, etc) but in Rust they don't suck balls (you can implement traits for types you didn't define (in fact you can even implement them generically) and multiple traits can have the same name and they won't conflict, type erasure is not a thing meaning the generic system is actually useful, Java's streams are literally on par with Python performance wise but Rust's iterator map-reduce chains compile down to native loops, Java's privacy protections can be straight up bypassed with reflections but since Rust has access to all of the source code when the binary is compiled, including libraries, it can guarantee that no one is doing anything stupid; "the compiler guarantees safety" means The Compiler Guarantees Safety and not "oh, unless the runtime does something weird") and "what if java, but it didn't suck" is something I very much like the idea of
it's like someone read my mind to get all of my subconscious desires of everything i want in a programming language and then somehow made one that had all of them, and then stole Python's type annotation syntax for some reason
i do kind of wish there was struct inheritance and it sounds like that is a planned feature but rust is so good in so many other ways that i'm almost willing to put up with having to write a wrapper impl
@@amateurprogrammer25 How lovely! I'm also from a python background, been doing it for 15 years.
You might like Go, too, as it has many of the featueres you like, so if you ever get offered to write it for money, I'd say do it, but obviously I think Rust is BETTER:
No GC, bare-metal code, compile-time macros, and a community that cares about correctness!
Your content is a gift 🎁 Outstanding video. On the behalf of everyone, thank you for putting in the time and effort, we appreciate it ✨
That's so kind of you to say, it's my extreme pleasure!
Clap now also has derive macros. This allows you to define a type to store program's CLI arguments in your code and just slap #[derive(clap::Parser)] on it. Arguably that is the best way to get arguments from command line and how it should have been done in the first place.
I don't know why I missed that, I must have been looking at old documentation!
I love it! Rust is my favorite programming language
Personally, I like the derive method of clap the most. It allows to directly define the struct where the command line arguments are filled into by clap.
Yeah,I think I made a mistake here, the derive method is newer than the macro right?
@@NoBoilerplate I think so, yes.
this is my favorite rust video ... thank you!
Thank you!
So something that’s nowadays probably much easier to find but when I needed it it was quite difficult is: WGPU. It’s a crate that abstracts over multiple graphics backends in a safe manner (in the future, one of the targets it will support will be WebGPU, which is a work in progress standard for using the GPU in the browser), it can build for Angle, OpenGL, DX12, Metal & Vulkan and has, as long as you use it in an intelligent manner, quite a low performance impact. If you need an even cheaper and unsafe graphics library, its hardware abstraction layer wgpu-hal, might be for you.
Mate, you are doing a great job in this channel. Much obliged.
I was just trying to get nvim to work well as a rust IDE, this is insane timing
Thanks!
Fantastic!
Your videos are amazing, but it would be great if you added chapters
I have been using AstroNvim because of you lately and I am so in love!! A couple of things I want different, but I am sure I will learn how to do that someday. That you for this video!
My pleasure!
I'm excited to check out obsidian, thanks for the rec
literally my second brain. I levelled up my life when I discovered this kind of tool (though I used org-mode first, which is a similar idea)
Nice Video! Just the other day I had setup neovide+Lunarvim with all bells and whistles enabled like smooth scrolling etc. This really came in handy!
Lunarvim is great too!
Even before seeing this video, I knew the Rust community was about 100% puns by volume. Great job with keeping up the trend!
Also useful information, of course.
This is the way!
You are a proper BOSS!!!! 😊❤
Love your technical excellence and your accent! 😂
thank you!
First of all thanks for the video, I love your format.
Talking about it's content I personally had problems with chrono hanging behind and being poorly maintained (especially working on bleeding edge stuff like embedded rust for esp) so I changed back to time, time::PrimitiveDateTime is almost were chrono want's to be and more than I would ever need while staying up to date with it's dependencies
Oh interesting, thank you for the tip. I'll look into it.
Another banger, Tris! Such a great video for someone just getting started in rust
Thank you so much! I'll get into more depth as I learn, myself!
Your videos are great! Would love to get a video on proper debugging in Rust.
Yeah, me too. Vscode has debugging right? I also understand gdb can debug rust. More research for me!
Damn that intro is good. Nice writing!
Oh thank you for saying!
Egui and Yew are both fantastic libraries
Love them!
You do this really well my rusty bro 👍
Thank you so much!
Can't get enough rust content!
Thank you!
10:24 egui is a immediate-mode GUI that's similar-ish to Imgui.
More traditional GUI frameworks in Rust include Iced and Druid.
Druid is more performant at the moment, but Iced is being used by System76 for their Desktop Environment rewrite, so I expect it to get some traction and get better quickly
oh cool!
2:45 JetBrain’s/Intelij’s Rust support is pretty good too, in my experience it’s less accurate, sometimes giving false positives for errors and quite often giving suggestions for the wrong thing and importing it but it’s still pretty good and it’s slightly more performant than rust-analyser, or maybe not, it’s possible it’s just the way it integrates with the IDE allows it to run in the background better.
compared to vscode?
I've not noticed any operations in vscode being more than an instant, and certainly my own nvim workflow is extremely instant!
@@NoBoilerplate compared to nvim specifically, but I have a pretty slow computer so it’s probably that in a big part. It’s definitely fast enough for me, especially with newer versions, but I used to have an issue in a project with bevy (and a few other large dependencies) where rust_analyser would often freeze up and stop responding for a while, also it would corrupt its files or wherever it stores its index and would need to rebuild it often. I haven’t seen that since I switched back to it though so maybe it’s fixed.
@@awwastor Yikes! Rust analyzer is now the recommended LSP server, and it even comes with rustup in the nightlies (and soon, in stable). I'd say it's safe to return 🙂
Could you do a video comparing Neovim/AstroNvim to Helix?
Too niche. But I would LOVE to talk about it over on the Discord (and so would the community!) Ping me!
Hey, just wanted to pop in here and tell you, you're the reason i picked up Rust and so far i am absolutely loving it. Thank you for the videos you make! I really appreciate it. now back to coding :)
Thank you so much for telling me Lucas! I'm so pleased, literally that's my goal with this series, is to get people into this amazing language! Have fun!
@@NoBoilerplate Also love the coverage of Obsidian - by far my favorite piece of software i'm using since discovering it. surely you already know this, but for people who don't: great performance, all files hosted locally and as text files, so not locked in to the software, and since it's just a local executable built from open source, there's no danger of a sellout ruining your tool. It's a great place to put effort into while being confident it's not gonna go to waste. This all on top of the great features it provides, which others may have too but with downsides.
@@Terminator85BS Yeah! UGH I love obsidian so much. I hope you weren't off-put by the advertisement format? I'm hoping to get some tech advertisers interested in my channel so I can do them more often (currently the day job is holding me back!). What a world that would be, I can't even believe it's an option. How was the format for you?
@@NoBoilerplate i didn't see this as an advertisement at all, since it was just a genuine showcase of what it can do and why you like it. if you could get sponsorships in this format that would be incredible, but usually with sponsorships/advertisements it's all about pretending to like something which makes it very different.
@@Terminator85BS well that is so good to hear, yes I'd like to advertise cool companies!
Loving your style of videos! Inspiring me to try Rust some time I've got the chance to. Your podcast is also very amazing to listen to and seeing you also use Obsidian is a nice plus, it really is a great tool, using it for Uni, D&D and managing some projects as well, nice getting some inspiration there from you as well.
It's so great right? I use dice roller and dnd stats plugins for running my games (and dnd beyond, ofc).
I might do a deep-dive video into obsidian in another video, once I run out of Rust features to gush about!
@@NoBoilerplate I can imagine you being a great DM! Some Obsidian related content in your style would be amazing to watch, you’d have my interest, no doubt :)
@@maxpursian noted!
this is absolutely amazing
I know right! I just had to make a video on it. Have you seen others in my Rust series?
You can also use Mold as your linker and speed build times exponentially
Yeah, that's great! Also, each new version of the compiler and linker gets faster. I'm hopeful for the future!
Now that I listen to your podcast its weird getting Rust talks from Seth
println!("hello world");
Now the natural question to ask is: will Seth be reading out my warnings and errors from the rustc compiler next?
wow this video was super useful, thank you!
Thank you!
Really enjoying and learning so much from your content. Sincerely, thank you! Gonna copy your “lightsaber” ahead of the London Rust Meetup tomorrow in order to look more pro than I really am 😁
The what?! *Sounds of googling*
@@NoBoilerplate Have a look on Meetup for the Rust London User Group - the meetup is at TrueLayer's offices on Hardwick street at 6pm. They hold them roughly monthly and as far as I can tell this is the first in a series called Code Dojo aimed at relative beginners.
@@laurence3729 Nice! I'll swing by when the beginners series is over, I'd rather hear talks and Q&As and such!
basic swift or groovy lightsabers? Are you telling me we're making a rusty lightsaber? This is my favorite thing on the internet, I'm in nerd heaven. Thank you.
Thank you! Do check out my other rust videos 😊
Doing this is just mandatory. Build your frikking tool already!
Most editors are great for some people - the trick is to try them out and find one that works great for you, then start tinkering!
Could you make a full tutorial how to get this all to work? I'm having a bit of trouble setting it up exactly like you are showing it in the video.
That advice would not be wide enough an audience to do a full video on just yet. Sorry about that - but the forums for each part (neovim, astronvim, and neovide) are each full of lovely people who I have personally gotten help from in the past! Try github issues if they don't have a forum.
ALSO I'd be delighted to help you in-person. I'm soft-launching my discord, which I've added No Boilerplate channels to, come in and say hi in #Programming! discord.gg/mCY2bBmDKZ
The Force is strong with this one!
Thanks!
Thanks for recommending Obsidian!
oh don't EVEN - I LIVE inside obsidian, it's so wonderful!
I needed this, thanks!
My pleasure! It's on the beginning, of course. I'd love to know any fun plugins you find
You should've mentioned GTK-rs. It's not pure Rust, but I'd argue it's the nicest and most fleshed out toolkit you'll find. Bonus points for glib since it allows you to write libraries in Rust and have them be usable in tons of other languages. It's really nice, and it has a whole ecosystem around it.
Oh how nice! Thank you for showing me that. I'm delighted there's gtk bindings, makes sense!
@@NoBoilerplate It's not just GTK - since it uses GObject Introspection, you get access to the entire GNOME and GTK ecosystem. Libshumate, libadwaita, or the lower level libraries like GIO or GDK.
1:52 "If you go with VS Code, you'll have the same functionality, but a bit more Chrome" I might misinterpret that but that's so funny nevertheless, lmao
😉
i really like your content and appreciate the effort went into making these clean video. I have only one request, can you please scale up the images and font used in the video, its bit difficult to view on mobile devices.
I will work to fix this. I had a real problem in this video. the framework I'm using, advanced slides on obsidian, which uses reveal.js, and long examples.
Short examples I can zoom in, but long ones had to be smaller font to stay inside whatever box reveal uses.
You won't be the last to tell me about this problem, I expect. I will work on it!
Haven't started writing any Rust yet, but it's self-evident that your video is bringing us things I'll be so glad not to have to look for/build myself!
Thank you so much!
you're gonna LOVE it when you try! Here's the video to watch to start your education: ruclips.net/video/2hXNd6x9sZs/видео.html
@@NoBoilerplate oh I watched that last night and started work today :) Thanks again! I feel the beginnings of a long and beautiful partnership with Rust 💜
@@thephoenixsystem6765 I'm excited for you! Ask any questions in #newbie-advice in my discord, if you like! 3k lovely people there!
Neovide looks nice, gonna try it out. I can also recommend Helix. It's a modal editor too, but more kakoune-like; also is trivial to set up & has better discoverability.
And of course, the most important tool: cargo-mommy
LOVE helix. I might well switch to it so my whole userland is rust (I use nushell too)
I looked up aesthetic in the dictionary and the dictionary opened up this video in my browser
love all the tools you mentioned. i am currently using a nvim setup with a lua config, containing all my lsp. but neovide and astrovim look amazing
You can drop neovide straight in to that! No config changes needed, it's a transparent frontend!
Can you please add a part two to your excellent Rust In 10 Minutes video covering the rest of the source article?
That's a great idea! Will do.
Im curious how it handles computation. It’s not a language used in the field I want to get into - that being atmospheric science - but I think learning languages is a fun hobby and it gives me a new fun challenge of taking concepts from one language,and writing them in another.
Rusts maths system is very simple, in that, like C, it's is very close to the CPUs maths system: binary arithmetic with all of the float rounding and wrapping issues you would expect. However, it's incredibly fast. Indeed each operation compiles down to very low level code. I've not looked into it, but I believe it might be even just a single cpu operation.
Built on top of that is the standard library's opt-in "checked" maths functions - safe operations that return results instead of wrapping or truncating. On top of THAT are crates for numerical computation, just search on crates.io.
If your language starts with safe operations, you often can't get access to the fast maths. If you have low level maths, you can build safe abstractions. See my latest video for a toy example of how this works!
If you are interested in neovim, try lunar vim. I found the lunar vim api way easier to use when extending the config. Tried astrovim, but I prefer lunar vim.
Ooh, ok!
Since you seem very interested in high-performance systems and functional languages, I would love to hear you talk about elixir+rust based systems. It's definetly not that easy to find practical info on when and how these types of systems are used in practice.
Not experienced in elixir, but would you like to know in what projects Rust is good to use?
@@NoBoilerplate That would be neat. My reasoning extends to "Is C++ a viable option, consider Rust". If there is more to it then absolutely :)
The thing with Rust is that, since it's growing so fast, it is really hard to evaluate the maturity of any part of the ecosystem, like Web, GUI (AreweGUIyet seems really outdated at this point), SciComp, AI/ML etc. The Rust game dev space seems really awesome though.
@@adamhenriksson6007 really great topic idea, will do!
I find your videos to be inspiring. Thank you.
You are so welcome!
I‘ve build a similar lightsaber, but I use doom emacs as my case
That was me just a few months ago - how GREAT is doom!?
I just started with rust after learning java and c# mostly java while recently c# but ohhh boiii rust just hits differently in a positive way :) it's certainly a harder language to get in due to borrow checker but when you have a good IDE with nice ppl on discord ready to help it just makes it less of a pain and more of an adventure ;)
Rust will be harder to learn the basics than those other two languages, keep watching my videos to get inspired, and once you're past the learning curve, you'll be in a much better position to write reliable code!
Thanks. Another great video.
Suggestion: Enlarge your slides/text/etc as much as possible in the future. Helps a lot with mobiles.
Very good point, will do!
Those are really cool but remember that what's in there is only what you take with you (points to forehead) and your weapons, you will not need them.
this is the way
Great tutorials, keep up the good work!
Thank you so much! I've put all my Rust videos into a playlist for ease of viewing, if that is helpful to you.
ruclips.net/video/Q3AhzHq8ogs/видео.html
And please ask any questions on the videos, I read every comment!
That's a lot of tools, some of which based on electron (which I'm not a fan of), tho VSCode has a good reputation now, and there's the open source version, *VSCodium* . Personally I'm using IntelliJ for a consistent IDE experience and a single tool, but you must use the non-free edition if you want the debug feature, a non-issue when you already own the UE or CLion for other purposes. It's good and actively developed, but not yet at the same level as the native languages of those IDEs. Thanks for all the references, but note that some of those crates are still very alpha or beta (0.0x version), so tread carefully. To each their own, anyway. :)
Rust crates, even early on, are such high quality, I don't mind recommanding them already!
Amazing content as always! I would love a ted talk where you talk for 2 hours straight.
p.s. Just as a recommendation, next time make the pictures a bit bigger, the details are kinda hard to see even at full screen.
Yep, gotta fix the font size and image sizes. sorry!
I'm trying to code on a raspberry pi. I ran into errors where sudo apt install didn't give me a recent enough version so I had to build neovim myself from source to get astronvim to install. Present problem is I can't seem to install gcc-multilib and g++-multilib or skia-bindings in order to install neovide. It seems like using linux is just running into weird bugs you didn't know existed and solving them with weird solutions you don't understand. If you happen to have a good neovide alternative i'd love to hear one (mostly because i don't even know what neovide is or does)
I appreciate this video, i've been watching it on and off all weekend trying to get things to work. Kind of fun, kind of hard. Maybe one day all this will make sense. I look forward to one day understanding it!
Linux is a really great tool you'll be glad you learned, I promise! I also have a few raspberry pis, they're so great! Come chat to me on the new discord channel, links on noboilerplate.org (ask in #programming)
Its ok to have ther commands in the video, but it would have been more convenient to have it as pure txt - ready to copy. Just a thought. Thanx for the inspiration
As I say in all my videos, source code is available on github, my videos are coded in markdown! Check the description for links :-)