I forgot to add this: the most recent interview that was discouraging was with a large travel-related company. A recruiter reached out to me (so, I didn't even apply), gave me a few questions to complete that I spent hours on. I worked super hard, typeset it in LaTeX, and figured it was way beyond what they normally receive from candidates. The recruiter even told me they were very impressed. I went in to interview, chatted with some engineers (and I even taught the second guy a few things, like the rename command), and never heard back. I emailed the recruiter and asked why. The recruiter said that the team simply needed to hire a senior candidate. I felt stupid for wasting my time.
Something similar happened with Jane Street; they wanted solutions to questions in OCaml. I spent a long time on the problems, submitted them in Scheme, Python, and OCaml, all using recursion, higher order functions, etc. After submitting the code, they turned me down.
Yelp also turned me down after I spent a long time on the problem they gave me. I did what the problem asked, including writing unit tests. It was fun to write since it was in Python, and I like Python. But again, turned down after submitting the code.
Also, I figured it wasn't a problem with the code, as I had friends who were hired by Amazon and Google review it and they said it looked fine.
These are the types of things that are making me want to stop interviewing.
What I'd like to do is become more active in the HN community, and eventually start working on projects related to studying Japanese or learning about Japan. I'm working on a small project now that will show a new Chinese character per day, because kanji-a-day.com is currently the top result in Google for "kanji of the day", and it's not nice looking.