

Out of the box, Dave will not check every possible password because it is insanely impractical. This is great for password security, but bad for brute force attacks. When using PBKDF2, OS X throttles the time it takes to hash a password. In this example, I purposely set my password to one I knew Dave would guess early. If you're pulling Dave from Github, make sure XCode is installed then clone the repository. Any Objective-C should be replaced with Swift and ideally phased out completely. If dropping to raw C or even assembly would present a performance benefit, that code should be carefully implemented and encapsulated. Modern Codebase - Dave should be completely object-oriented and using the most modern C++11/14 standards.(The current UI is not necessarily the goal UI) Dave should realize the user is having trouble offer help. Self Documenting - If anyone can’t figure out how to use Dave, it is at best a bug and at worst a fundamental design flaw.

User experience should never be a sacrifice.

If better libraries are available, Dave should auto-detect and link against them with no flags required.
