Unless there is a chance that you want to do another 500 classifications in the future I am not sure I would go for a machine learning approach.
Unless the categories are very similar ("food" and "italian food" to take an example) I think a quite naive heuristic could work very well.
For each category build a table of common words (for food : "potato", "food", "cook", "tomato", "restaurant",...) and for each text count which category got the most word matches.
Instead of building the dictionary by hand you could take a sample (say a 100) of the texts, categorize them by hand and then let an algorithm pick out the words and then make sure to remove words that are common between all sets (since they provide no information). This is, in essence, a very simple "learning" system.
If you really want a machine learning system there are a number of methods for classification. The downside is that although most methods are quite simple to implement, the hard part is to chose a good method, the right features, and good parameters.