One of the most useful techniques for debugging is applying binary search to reduce the scope of the haystack and more easily find the needle. Using binary search you can cover over 1000 revisions in 10 steps. Modern version control systems like git and mercurial have this functionality built it as the bisect command. This talk gives an overview of the bisecting – finding the commit that introduced a defect or some other issue, and how to automate that process. Knowing the faulty commit is a good first step and sometimes sufficient in itself to solve the issue at hand. In practice however, the next steps can be more complicated. The rest of the talk will discuss techniques to go beyond the initial commit and take bisect to the next level, reducing the haystack to just a few straws.