This is a natural language billable hour calculator I wrote as:
- a useful tool for myself, and;
- as a working project for learning Java, TDD, github, javadoc, and other programming-related tools and processes.
The calculator has its foundations in the TenthTime class, which models a time entry and implementations of various basic operations on those time entries.
It also implements a simple "spellcheck" algorithm that uses a Bayesian statistical model to try and guess what the bad speller meant. I put together the model with Gaussian curves at 9:00 and 5:00, assuming that those are the most popular working hours.
(Do I need to even say that this was my favorite part of the project so far?)