Day 14 — I rewrote itslit in Rust!
27 August 2020 · recurse-center TweetToday I read through ownership, references and borrowing in Rust. I can't write about what I learned in this short post as I spent all my time playing skribbl at game night (it was really fun and I would totally do it again!). I also did a lot of rustlings, I love the exercises and I hope they never end!
I set out with a goal of writing a very simple CLI using Rust, to apply all the things I've been learning. And thought that it might be a good idea to rewrite itslit in Rust as it just (1) reads lines from a file into a list of strings, (2) chooses a random string (a talk url) from that list, (3) and opens it in the browser. I came up with this and published it as a crate! This is all of it:
use rand::seq::SliceRandom;
use rand::thread_rng;
use opener::open;
fn main() {
let talks: Vec<&str> = include_str!("data/lightning_talks").split("\n").collect();
let talk = talks.choose(&mut thread_rng()).unwrap();
opener::open(talk).expect("Could not open link");
}
I wonder how big the compiled binary would be when the talk urls file becomes really large.