After a relatively long break, I want to share with you some updates about the future of this blog. As some of you might have noted, I had a very long period without new posts coming in. It is about time to share what had changed the last few months and a little about what the future holds.
Initially, I was bothered I invest more time writing this blog than actually coding with Rust. I didn’t have enough free time to invest in Rust and wanted to change the balance. Writing more Rust and less about Rust. I’ve started with defining a project, which was a far more ambitious than I initially realized. I intended investing most of my time developing the library, and write about issues I’ve encountered from time to time. The idea was to write an async SSH client in Rust. The problems piled up very rapidly, though. While researching the topic, I’ve understood I couldn’t work with none of the existing libraries, as each had some serious disadvantages. So instead of being reasonable, I decided to start a new implementation of SSH in pure Rust. Now the problem is not even the sheer size of such a project. I was actually willing to go on with it. I actually tried and got some progress done during those months. The issue was more around what this library is actually about. SSH is, first and foremost, a security protocol. Even though I work in the cyber industry, I had a lot of catching up to do. I managed to go through most of the problems I’ve encountered. But honestly, it is just not interesting enough for me, resulting in a slow pace of development. Eventually, after a few weeks of struggling, going through the source code of multiple SSH libraries written in C to learn about undocumented features, I realized I should enjoy projects that I work on during my free time. I finally decided to abandon this direction, at least for now.
Another issue was the series I was writing about “Rust for OOP.” First, I don’t think I’m a decent representative of OOP, yes I write in C++, which can get very Object Oriented. And I have educated at the time OOP was prominent, which influenced my style of development. But I don’t really admire this methodology. In fact, I have several issues with it, some led me to Rust in the first place. I guess a more appropriate title should have been “Rust for C++ developers”, which would allow me to take it in a better direction. Second was the length of the series. Initially I wanted to create a fast way to get into Rust, for someone who knows his way in the development world. While the Rust Book is as perfect as it can get, it is incredibly detailed. Think about getting your co-worker into Rust. He might be able to afford a little reading, 3-4 hours maybe, not much more. But the series was slowly growing to be as detailed as the Rust Book itself. Which is, of course, not bad yet not my original goal. Last but not least, it wasn’t what I wanted to write about, just what I was capable of at the time. When starting with this blog, I was actually inspired by C++ blogs that have done incredible stuff, but usually not trivial. I want to write about advanced techniques or subjects in development. Things not necessarily needed in day to day development but can improve one as a programmer.
For the kind of articles I wanted to write, I understood I had to improve my skills with Rust. In addition to the SSH library I mentioned earlier, I had another valuable opportunity to grow my skills with Rust. Gradually Rust is getting into my workplace, a lot thanks to my own advocation of it. At the moment, we already implemented it in a side project related to our automation infrastructure. But we are not done, and we are considering writing a new, rather extensive component, entirely in Rust. We had quite a pleasant experience with Rust, and it seems to be an excellent fit for precisely the kind of projects we are trying to establish. Due to the nature of things, I can’t extend too much about this project for now, but I’m hopeful it will allow me to improve my Rust capabilities, and provide me with material to write about in this blog.
All that being said, I have some other new projects for my free time. Not all related to this blog, I might try and interleave some of them with the blog while others are completely unrelated. And as such, I can’t commit to any pace for my blog posts. I do hope I’ll be able to keep a minimal steady pace, but I guess just time can tell.