GithubHelp home page GithubHelp logo

nolanthenerd / scripture_phaser Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.33 MB

scripture_phaser helps you to memorize the Bible.

Home Page: https://pypi.org/project/scripture-phaser/

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
bible-study cli python bible bible-memorization christianity recitation

scripture_phaser's Introduction

Nolan McMahon

Hi! I'm a physicist, mathematician, and computer scientist from Calgary, Alberta, Canada! My interests center around simulation, mathematical optimization, and backend systems - mostly.

Projects

I've made a couple of free software projects myself!

  • Note [BASH]: Manage your notes without ever leaving the command line!
  • Scripture_Phaser [Python]: Helps you to memorize Bible passages!

These are complete enough to be useful. I'm sure that they still have bugs, but I'm confident enough to open them up to the public.

Right now, I'm actively working on:

  • dm [Fortran]: A simulation of how diseases spread through a population.

Open Source Contributions

When I run across issues in open source projects, I love to contribute fixes! Here is a list of the open source contributions that I've made so far:

  • OpenFSAM [Fortran]: I added support for functions with discrete parameters to the simulated annealer.
  • Scikit-Learn [Python]: I fixed a type checking error with the degree parameter of the polynomial kernel.

About

Still curious about me? Check out my website!

scripture_phaser's People

Contributors

nolanthenerd avatar ronmcmahon avatar

Watchers

 avatar  avatar

scripture_phaser's Issues

Oral Recitation Support

As a user, I want to be able to practice reciting verses in both oral and written form. I don't want to have to worry about the written aspects of recitation when I am practicing orally (punctuation, etc). I should be able to:

  • Swap at will between written and oral recitation modes
  • View all my statistics separately for oral vs. written recitations
  • Access the audio recording of an attempt to listen to it
  • Correct the score of an attempt if the speech to text incorrectly interpretted my recitation

Allow for Multiple Verse Yet Partial Passsage Recitation

It would be nice if there was a way to practice not just single verses with the random_single_verse toggle, but also short strings of verses, say 2-3 verses at a time. The number of verses shouldn't be too long, or else the recitaiton time will go up substantially, but be a reasonable length. Perhaps this could be implemented using a separate toggle to allow_multiverse_recitation?

Statistics Overhaul

As a user, I want to be able to view several stats related to my performance:

  • Select a date range to filter my statistics results
  • See all verses ever attempted
  • Rank all verses by average score

Gamification

As a user, it wouldn't hurt to trick my psychology into encouraging me to continue memorizing.

There are plenty of options here, but we could start with:

  • Streaks - How many consecutive days have you practiced?
  • Day Heatmap - Kinda like the GitHub Contribution Graph
  • Number of Verses Recited in the Last Year

Chapter/Verse Number Toggle

As a user, I want to be able to choose whether or not I need to include chapter and verse numbers during my recitations.

Add Notepad as an Editor (for Windows)

Description

Right now, running scripture_phaser on Windows does not work if the user has not set an environmental variable called EDITOR or if the user does not have one of gedit, vim, nano, or neovim installed. On the path towards Windows support, Notepad should be added as an editor option.

Running scripture_phaser through the CLI and attempting to practice a passage on Windows should open up Notepad by default.

Expected Path

scripture_phaser
r
1 John 1:1 - 1:2
p
(Notepad immediately opens a file called "1 John 1:1 - 1:2" or similar; after terminating the Notepad program, scripture_phaser regains control and indicates to the user how accurate their attempt was)

Recite Reference from Content

As a user, I want to make sure that I know both the content of the verse and the reference associated with it. That may mean at times recalling the reference of a verse given it's content, not just the content given the reference.

Add a GUI to Scripture Phaser

Description

Currently, the only way to interface with scripture_phaser is through the CLI tool (found in cli.py). Most users (and certainly almost all users on Windows) will want to use scripture_phaser through a GUI.

Technical Requirements

  • The GUI library/implementation needs to be platform independent, working on Windows, Linux and MacOS.
  • Using the GUI should be default.
  • All GUI functionality should interface directly with the API and bypass the CLI.
  • The GUI should not call an external text editor to allow the user to input the passage text.

Tasks

  • Add a useGUI or similarly named option to the config file (default True)
  • Choose a GUI library
  • Implement List Function (CLI "L")
  • Implement Toggle Mode Function (CLI "M")
  • Implement Set Reference Function (CLI "R")
  • Implement View Passage Function (CLI "V")
  • Implement Set Translation Function (CLI "T")
  • Implement View Translations Function (CLI "I")
  • Implement Practice Passage Function (CLI "P")
  • Implement Stats Viewer Function (CLI "S")
  • Implement Reset Stats Function (CLI "Z")
  • Include Version and License Info Somewhere

Make References Unique

Every reference to a verse or a set of verses should have exactly one unique reference string.

Tear Out Statistics Mode

Statistics mode feels too bulky for what I really want from the statistics. I'd like to go back to what I had before I introduced the statistics mode and just have a very select set of important stats displayed from the normal mode.

Memory Reinforcement Mode

As a user, I don't want to have to figure out where my weak spots are with memorization, I'd rather have scripture_phaser determine which verses I'm struggling with the most and prompt me to practice those. It should include both repetition and variety, single verses and entire passages, and be considerate of my typing speed so that I can make a reasonable amount of progress in a single session.

Verse Recitation Count

The statistics mode should report how many times each verse has been recited. This could probably go along with the "ranked" statistics mode option.

Store Multiple Verse Ranges

As a user, I want to be able to store multiple different verse ranges in the system for practice. For example, both 1 John 1:1 and Genesis 2:2. I need to be able to:

  • Add a new verse
  • Remove an existing verse
  • Select a verse or set of verses to practice
  • Bulk remove verses
  • Asyncronously grab verse content(?)

Single Letter Recitation

As a user, I want to have the option to recite by only typing the first letter of each word of the passage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.