I don't know exactly where to post this, but here we go:
Starting last summer, I started creating a quizbowl question parser that has now evolved into a database with a web interface.
The parser takes packets in either .pdf, .doc, or .rtf format and extracts the tossups from them. It has worked for most of the recent-ish tournaments on quizbowlpackets.com, notably the HSAPQ tournaments. The parser doesn't require ACF packet formatting, but it works best when packets are formatted as such.
The website is located at http://quizbowl.tpclubs.com/?page=db
Here are some features of the website:
1. It contains over 24000 tossups (not bonuses) and I will be adding more when the tournaments are released online. You can search the database by year, difficulty, tournament, category, and location in tossup.
2. Every question is categorized (by broad categories, i.e. Literature, History, etc. To see a complete list, go to the website and click on the category dropdown box.) This was done by a program I wrote that classifies quizbowl questions by word frequencies. Note that it still has bugs and categorizes questions incorrectly (especially Trash questions). You can help fix these errors by clicking on the category of an incorrectly categorized question and selecting a new one from the dropdown. Future packets will be categorized using the questions in the database, so fixing the current errors will improve categorization in the future.
3. It has a random question generator. It contains the same filters that you can search through the database with, and you can generate however many questions you want. It also hides the answer, in case you want to answer it yourself.
4. It has a browse function. This will allow you to get the tossups from whichever round in whichever tournament you desire.
5. The newest feature is a question reader. It is very similar to the one on the UMD site a while ago. However, it will allow you to filter the questions into whatever category you want. Here's how you use it: click Generate to load a question (after you select your filters). Type in "buzz" and press enter in the lower box to buzz in, and then type in the answer and press enter (you will have 10 seconds.) As of now, the way the program knows you typed in the answer is that it checks whether the answer string contains the input string (meaning you could type in nothing, press enter, and always get it right.) This is a temporary measure and shouldn't really matter if you're trying to learn. The speed of reading can be manipulated by a slider bar (10 being slowest, 100 being fastest).
Please post feedback or email me at firstname.lastname@example.org