Programming: I'm switching projects at work. I think it'll be good, something more like what I'm into. Servers running web apps (like the Chrome Web Store) are closer to what I like to work on than client software (like Chrome). Anyway, it's in Java, which will let me put my designing-stuff-optimally hat on, because I'm not convinced stuff can be as elegant in C++ as it can in Java. My current hypothesis is that, if you follow testability gurus and dependency injection guidelines (like this), you can unit test out a boatload of bugs. And your code will be pretty nicely modular. Maybe you can even test-driven develop someday! This remains a pipe dream for me, but it sounds like the promised land of coding, instead of the "hack a thing together, put in a few kludges to compensate for former kludges, and hope nothing breaks" style in which I usually program. Finally, speaking of programming.
Travel: I've got this big trip on my mind, and I still don't know where to start! The plan is southeast asia to eastern europe, but that's about all I know. Here are some options:
1. 9 cities, 1 month each, write an android app in each one.
2. 4 cities, 2 months each, same deal.
3. neither of the above; spend some time in India volunteering fixing computers or something, some time somewhere at a monastery retreat-style, some time touristing, some time traveling long distances overland (this will take a while).
4. pick some cities and spend some time, like option 1 or 2, but doing research instead of android apps.
Whoof! Any input is of course welcome. Oh, and speaking of traveling.
Research: I think I want to go into ubicomp, or ubiquitous computing, or (in my mind) "making cool things on a cell phone." But I've got so many thoughts about this too!
- I've got a little trepidation going into research, as it might be a weird world with less real feedback. People grumble about conferences a lot, because that's where success/failure is decided, by a few arbitrary people. In the real world, you can't argue too much, because success/failure is determined by people buying your stuff or not. I feel like research might be evolving toward a world where you don't just publish at conferences, you publish at conferences and make businesses and give talks at TED and who knows what else! That makes life more difficult. But it sounds fun.
- "cool things on a cell phone" sounds like the kinds of problems I want to solve. I like the creativity of "hey we've got this device, what can we do with it?" I've got no burning issues I really want to fix. But does it matter? So I make the next Wii-head-tracking or something... so what? (I think this is a thought I'll have to sorta let nag at me a little bit but not actively think about. It's important to do useful things. But I think it's also important not to obsess about doing useful things.)
Anyway, I might start three new blogs. Considering that programming, travel, and research will likely be important bits of my life for the next N years, might as well really focus on them. Plus, I'd like to make something that someone who doesn't know me might want to read. Like if I find out some real useful programming tips. There are a few on this blog, but very few, and very far between.