Yeah, I find that when I take the "implementation details" out and explain the general problem, my fiancée both loves hearing about how my day went, and sometimes has good ideas how to solve it (and sometimes she doesn't, but the process of distilling the "essence" of the problem helps me to see the problem myself more clearly). By stripping out the technical details, I explained to someone who thinks that the monitor is the computer and the tower is the "CPU" what the Maybe monad is and why it's needed.
That being said, I also find that some problems are strictly-technical in nature, and can't really be distilled to anything informative (e.g. Ionic's livereload dev server randomly serves up an old build rather than the most recent build due to weird interactions with gulp watch). In those cases, sometimes it's okay to just say something like "our tools were being frustrating."
The goal, at least with my fiancée, is to make an effort to communicate with her how my day went, because on a deeper level what I'm communicating is that I want to share my life with her, and that we're a team.
There's a lot of implicit emotional elements to human communication, and sometimes to communicate one thing implicitly, you have to work really hard to communicate something seemingly-unrelated explicitly.