I'm a geek and a wannabe computer scientist.
Recently, I've been especially interested in:
I am greatly intrigued by the idea of an operating system which supports software (libraries and client programs) written in any language, whether imperative or functional; which facilitates seamless interoperability between software of different languages; which supports a unified type system; where programs deal only in high-level objects of unlimited extent, managed by a garbage-collected universal object database backed by disk, cached by RAM ("orthogonal persistence").
My long-term goal as a computer programmer is to help actually build something like this. My dream as a wannabe computer-scientist is to see the day when people might write software The Right Way, once only, accessible by any programmer writing software in any language. Programmers are forced to reinvent the wheel all too often because incompatibilities between languages make it infeasible to utilize software written in a "foreign" language, or perhaps because the most suitable solution deals only in RAM objects, but the client program has huge datasets that cannot fit in RAM, etc. This dream is lofty, intractable, nothing but a pipe dream—noble, indeed.