Earlier quoted context omitted.
Thanks for asking! Using SQLite with SQLx in Rust provides type-safe SQL queries, which enhances safety by catching errors at compile time. As for backups, the setup is straightforward: just periodically copy the SQLite file to a secure location. Since it's a single binary and a database file, this keeps things simple and low-maintenance.
I hope you're calling the `backup` command in sqlite. A simple copy can leave sqlite db files in an inconsistent state from which sqlite can't recover.
Audioscrape: Building in Rust When Everyone Said I Shouldn't
31–40 of 47 posts
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#32Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#33Love your story here! You're not doing it wrong at all. > Has anyone else bootstrapped using Rust? What were your experiences? We scaled several websites to 6M+ MAUs on Actix/SQLx and ran that on the lowest tier VMs. Rust is God Mode for efficient and scalable HTTP services. Moreover, the type safety and robust type system give us incredible confidence that our software is defect free.
That is absolutely wild!! I've put off learning rust for so long. I really tried to get into it once, and ended up learning clojure instead lol. Rust just had too many concepts at once for me to learn, probably because I've only ever used garbage-collected languages. But hearing this type of stuff always makes me want to try again
Once you grasp Rust's concepts, you'll find the control and efficiency rewarding. It's worth the effort!
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#34I actually think Rust is amazing I recently discoevered some rewrites in web developement in rust and they made build times on windows corpo bloat machine way way faster than conventional js/ts implementations so I would say go for it and all power to you, also many are just salty because it's another new thing and new/change = bad
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#35Earlier quoted context omitted.
Thanks for the hint! We hit the front page on Hacker News and received many submissions, which led to network errors when fetching some podcasts. I've just added retry logic and scheduling for new podcast fetches and pushed these changes to production. The Criminal[1] podcast is now added. Due to the current demand, our transcription queue is a bit backed up, so transcription for this podcast will appear in a few day…
Oh yah I totally understand the current circumstances, just trying to be helpful in debugging. I think a notification feature makes a lot of sense, but it depends on how long the wait tends to be. In terms of setting expectations it might be better to display the current backlog and an estimate about when the transcription might be done (though of course both would be even better than either).
How would you expect to get an understanding of the backlog? Would a dedicated page for the entire backlog be helpful, or would you prefer to see which episodes are being transcribed on each podcast page?
Any insights on what would be most helpful for you would be greatly appreciated!
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#36I bootstrapped Notado[1][2] and Kullish[3] in Rust. Best tech stack decisions I ever made. Similar setups (Rocket and Actix instead of Axum, Tera instead of Askama, Diesel instead of SQLx) and overall experience (incredibly cheap, reliable, and since these projects have been running a long time, amazingly easy to return to the codebases after months/years and make changes with a high level of confidence). I distinctl…
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#37I bootstrapped Lapdev ( https://lap.dev/ ) all in Rust too. Axum for the backend and Leptos for the frontend. Sharing structs between backend and frontend is quite nice. Besides the memory safety, type system etc, Rust gives you the confidence that you know it can scale in pretty much all scenarios in terms of performance.
What led you to choose Leptos for the frontend besides the shared code advantage?
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#38I bootstrapped Notado[1][2] and Kullish[3] in Rust. Best tech stack decisions I ever made. Similar setups (Rocket and Actix instead of Axum, Tera instead of Askama, Diesel instead of SQLx) and overall experience (incredibly cheap, reliable, and since these projects have been running a long time, amazingly easy to return to the codebases after months/years and make changes with a high level of confidence). I distinctl…
That's awesome! Reaching the point where subscribers cover costs is a huge milestone. Rust's reliability making it easy to revisit projects is a big plus. How do you find Rocket and Actix compared to Axum? Why Tera instead of Askama? Would love to hear your take!
I started with Rocket for Notado, but because there was a long period of pre v0.5 stagnation, I went with Actix for Kullish. These days I'd be happy starting a new project with either.
As for Tera over Askama, I don't think Askama was around when I started building Notado; Tera was the first templating engine I used in Rust and I learned its ins and outs pretty well, so now it's just the default thing that I reach for whenever I'm building a web app.
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#39Earlier quoted context omitted.
Oh yah I totally understand the current circumstances, just trying to be helpful in debugging. I think a notification feature makes a lot of sense, but it depends on how long the wait tends to be. In terms of setting expectations it might be better to display the current backlog and an estimate about when the transcription might be done (though of course both would be even better than either).
Thanks for the feedback! I'm glad to hear you find the notification idea useful. I'm considering displaying the current backlog and estimated completion times as you propose. How would you expect to get an understanding of the backlog? Would a dedicated page for the entire backlog be helpful, or would you prefer to see which episodes are being transcribed on each podcast page? Any insights on what would be most helpf…
Having a big central page for all backlogs sounds cool, but I imagine I would probably care about the expected delay for a particular podcast / episode of a podcast most of the time?
Re: Audioscrape: Building in Rust When Everyone Said I Shouldn't
#404k loc in a single file must be brutal
Thanks! I was inspired by levelsio's meme about having MVPs in a single index.php file. Traditionally, I've organized codebases into folders, but I started questioning its necessity. Folders often just add an extra layer to search through. It's basically a search param. With Neovim and strict naming conventions, I've found managing everything in one file works quite well. Keyboard navigation can make folders feel lik…