I think that part of the problem is in how geeks are trained and what they work on. For example, think of all the software people go go to school, learn java, and then build big ugly enterprise bank, insurance, whatever software inside some megacorp that nobody cares about. Most end users of said software don't like it and have zero appreciation for the people who made it. Outside of Silicon Valley being a geek isn't…
Recently this website was posted to HN, http://weusemath.org/
They're trying to change the common ideas held in regards to math and what you hear from high schools, "I'll never use math in real life!"
Now seems like the primetime to begin a similar movement for geeks/hackers and I assume this has even been tried before. There is Zuckerberg the successful geek with even the movie (The Social Network) pushing this image. Some of my friends who I know I do some programming have approached me saying they have a cool idea for an app and asked if it'd be hard to make. I think an effective answer would be to explain how the development process goes, show them writing some basic app, and inviting them to learn.