In this article I define a 1-5 rating scale for books in order to be consistent across my evaluations. Given that rating books is somewhat subjective, introducing some amount of standardization on how I rate them should help with managing my reading.
Format of presentation:
Score (from 1 to 5) Representative emoji
- Words expressing the level of satisfaction
- Strength of recommendation
- very bad, horrible, boring, repetitive, disagreeable to read, waste of time, can't force myself to read
- strongly not recommended
- not recommended
- might want to read
- very good, great, amazing, exciting, intriguing, fascinating, full of new knowledge, can't stop reading
- strongly recommended
The process described below attempts to optimize reading quality books and enjoying the reading experience. As such, it promotes book exploration (discovery of new books) and reading books which have a high rating according to your own taste. Books which receive lower ratings (compared to other books) are moved down the reading priority list and will not be read until books that have higher priority (i.e., rating) either are finished reading or their rating decreases such that other books are now high priority.
- Pick highly read books (use a site like goodreads to identify those books).
- When reading a book, record the page you start and stop reading on, the time you start and stop reading and emit a rating for what you've read.
- You can decide to optimize whether you want to optimize per page rating or per duration rating, that is, get the most value per page or by time spent reading.
- Add new books to your reading list regularly. Those books are considered as having the highest priority and are then added to the prioritized list of books according to its rating.
- When not reading a new book, read the books in order of priority and by interest at the time of reading.
- From time to time you may look at your list of prioritized books and decide whether the books with the lowest priority should ever be finished. In some cases it is reasonable to decide that certain books will never be read completely.
- As an alternative approach, one can use multi-armed bandits algorithms to decide which book to read next. Given that we can convert multi-armed bandits problem into the problem of selecting which book to read next given a sequence of readings and associated rating ("rewards"), the various algorithms (such as Epsilon-greedy or UCB1) will provide us with the next book we should read.
- Interestingly enough, an algorithm like UCB1 will promote reading books we've never read first over reading books we've already started reading.
- Read partially any book for which you haven't given any rating
- Rate what you have read on a 1 to 5 scale, 1 being very bad and 5 being very good (see book rating)
- Compute the weighted rating of the book (the sum of rating times # of page associated to the reading divided by the total # of pages read so far for the book)
- Sort books by weighted rating (descending), then average estimated amount of time left to complete (ascending)
- If you have books that you haven't read yet, go back to the first step. If not, then pick the book at the top of the list computed in the previous step, then continue from step 2
- Want to read but
- Too long -> Transfer to pocket
- Want to watch but
- Too long -> Add to a youtube watchlist (which I'll never watch)
- I need them open to quickly enter data
- I want to watch them again and again
- Download with youtube-dl and watch using VLC
- Would maybe read one day, but definitely not now (very low priority)
- Transfer to pocket
- If a tab is scanned more than 5/10 times, it goes into the backlog bin
- Do you understand what is at stake?
- Do you know what already exists?
- Can you take an informed decision?
- What did you consider during your decision?
- What are your unknowns (things you'd need to know before your can make a decision)?
Do you have experience with the problem which needs a decision?
Indicate who has the most expertise to make the decision
- You should be allowed to cast a vote if the decision will impact you. If it doesn't (i.e., you're not a stakeholder), your vote will not be counted towards any option
An initial seed is computed and stored in the game save file
Based on this seed, the world is pseudo randomly computed, using a certain chunk/block/tile size (e.g., 32x32, 128x128)
The world map is only generated on-demand, that is, as far as the player can see
When a new chunk is discovered, its blocks are computed and persisted in the save file
If there are no active components in a chunk that is not visible, the game will obviously not render it, it will only simulate it (position, item, velocity, etc)
Certain thing, for instance alien types and alien base size, may only be computed once they are observed. At first, maybe only a location anchor will exist to indicate where they should spawn, but the rest will be generated only when needed.