#2 is something I've been meaning to buy for a while now, #1 is a necessary evil, and #3 is because I want to start getting into C# for Win32 GUI programming.
I'm also thinking about starting some kind of search engine. My current one is pretty simple, fast (even with a table scan) but I want to be able to have fulltext and attribute based searching. The inverted index modules in CPAN don't seem to do exactly what I need and starting from scratch seems more fun.
Other thoughts are on on hierarchical data. Basically that's what a store is, things in sections and sub-sections with a well defined hierarchy. They don't seem to map that cleanly onto a relational model, more so on the user view than the programmer view. It's pretty hard to grok the concept of keys and joins when you are used to doing everything in excel. I'm wondering if there are any gui tools for working with hierarchical data? I have been googling without success.