My Rust Story
With #RustReach starting soon I have ran into a few "My Rust Story" posts. My path to Rust certainly is not typical (I studied HR Management in undergrad…).
The journey really started for me back in middle/high school as I was very interested in video games, computers, and how things worked. So with a few friends started a computer repair "business" that serviced the local (Western Pennsylvania) area. By the time my sophomore year of highschool rolled around we had lined up a few of the parents who owned local businesses/churches and were doing some pretty serious consulting/maintenance for our ages (also installing Halo and Half-life 2: Deathmatch on the school's servers...).
By this time, I was not doing a lot of the actual reinstall Windows/MacOS/Linux work. Instead, I coordinated our "employees" (fellow students) and met with other local businesses to help set up websites, computer repair work, or multimedia presentations1
Naturally, when I went to university I picked... Human Resources Management... Despite the logical choice of Computer Engineering. After graduation I started off as a technical recruiter with intentions to complete a Masters degree in tech, and changing jobs as soon as possible!
Fast forward. I have a Masters Degree (Information Technology, with concentration in Networking and Telecommunications) and working as a protocol analyst mostly using Bash, Python, and Java. After I started becoming more successful, I was asked to focus more towards research to modernize a very outdated field. I was really starting to hit a wall with Python performance (VERY large files) and was fairly unhappy with the way we do Java and C++ at work, and I wasn't too thrilled with learning C from scratch without a proper mentor. Rust came on my radar.
Rust 1.2.0 is when I started playing with the language and wrapping my background in Python around lifetimes, the borrow checker2, and compiling. From there I have pretty much devoted all my time to developing in Rust (unless there is a specific use-case for another language, or I have to use Java/C++ to contribute at work).
What I Do With Rust
So that is how I got here! Now, I wanted to mention what I have done with Rust at work and in open source.
Unfortunately, in my current position I deal with a lot of proprietary code locked on an intranet. Yeah, I am one of the nerds that is locked in the basement with no internet or windows (it is always fun to guess what the weather is before you walk outside...).
I was lucky enough to be a part of a trail phase which did bring in the internet next to my desk for a little while and during that short time I was dedicated to get Rust working for me on my Intranet. sparing any technical details I was able to do so. After creating a (mostly) automated process to have an updated rustup and crates.io sadly the internet left again.
Since then I have written and hope to open source a lot of CLI applications dealing with network protocol reverse engineering. I actually hope to get some code exported soon to open source and use for experiments at home!
I also wrote a simple CLI (backed with Amazon S3) file encrypter that sends files to users and awaits for them in a queue Postio.
Why I Stayed
Rust's community really is amazing. I have been lucky enough to attend a few conferences now and the people are a huge draw. I have been to a Python conference as well, but there's just something special about the Rust community that really takes inclusiveness a step up (I mean the #rustreach program is awesome!).
I also think Rust is a great solution to some of our current software's problems (e.g. safe memory for multi-threaded environments). As the embedded community continues to grow true systems-level programming I cannot wait for people to start putting Rust into routers and switches3!
: Yeah, that's right we filmed Softball games for highlight reels!
: Obligatory mention of the borrow checker of course.
: If you’re working on this, I want to know and help!