The Spacing Effect Timer is a Rust-based command-line application designed to facilitate activities requiring random interval timing. It's ideal for repetitive tasks that benefit from randomized time intervals. This project was also a fun way for me to learn Rust.
To install the Spacing Effect Timer, you will need Rust and Cargo installed on your system.
- Clone the repository:
git clone https://github.com/jeermuce/gap_effect_timer.git- Navigate to the project directory:
cd gap_effect_timer- Build the project using Cargo:
cargo build --release- The executable will be located in
target/release/.
- Run the executable either by double-clicking it or by running it from the command line.
-
./target/release/gap_effect_timer
-
- Set the minimum and maximum length of the timer as numbers, separated by a space.
- Hit enter.
- Do your thing until the audio notification plays.
- When it does, close your eyes and wait for the second audio notification, but don't think about it, just relax, and let what just happened sink in.
- When it plays, open your eyes and repeat the process.
- When you're done, hit ctrl-c to exit the application.
- clearscreen: For clearing the terminal screen between countdowns.
- crossterm: To handle cross-platform terminal input and output.
- rand: For generating random countdown intervals.
- rodio: To play audio notifications.
For questions, feedback, or contributions, please open an issue on the repository, or contact us at ernesto_mc.dev@proton.me
The audio notifications used in this application (bell.mp3 and bell_double.mp3) were sourced from external resources. If you recognize these sound files and can identify their creators or rightful owners, please reach out so that proper credit can be given, or so the files can be replaced if necessary to respect copyright and licensing agreements.
I named this project after the "Spacing Effect", a cognitive phenomenon where learning is more effective when studying is spread out over time, rather than being crammed into a single session. This application leverages this effect by providing random intervals for study sessions, potentially enhancing the retention and understanding of the material.