Saturday, May 09, 2009

More time, more problems

It's that time of year again; summer has just begun, so it's time to make a list of things that might be interesting to do so I don't get bored out of my mind (mostly a list so I don't forget things). My first year as a PhD student has gone by somewhat uneventfully. I think I've passed my qualifiers, but this semester's batch has yet to be seen. I've been getting this weird, nostalgic feeling with more friends graduating and leaving Purdue. It's like those sports movies when the coach at the end is being all emo when he's shutting off the stadium lights. Awesome, right?

The only definitive thing I'll be doing this summer so far is research. Not something terribly interesting at the moment, but I'll probably be getting paid as a summer RA (that's research, not resident). This probably means I'll be working towards a workshop paper, but who knows. Hopefully my partner will be around, because the stuff we're doing now is a drag. I'll be going to a week-long summer school in Oregon, as well. The topic is virtual machine/compiler implementation, so I'm looking forward to it.

Summer is when I get all of my recreational reading done. By recreational reading, I mean anything not school related, be it fiction or technical. I finished the Sword of Truth series last summer, and it was great, aside from the poor print quality of the books I got. Possible options:

  1. A Song of Ice and Fire series by George R. R. Martin. Looks to be shorter than the Wheel of Time series. Plus, I already read the first WoT book, and would rather try something else before returning to it. I intend to read at least the first book in this series.
  2. Wheel of Time series by Robert Jordan. Probably won't get around to these, but I don't have much else on my list of fantasy fiction.
  3. Real World Haskell. Enter nerd books. I've read a few chapters into it already, but it's a big book. It's interesting so far, but I certainly haven't reached the part where I would call my Haskell knowledge "real world."
  4. Gödel, Escher, Bach: an Eternal Golden Braid. I bought this book awhile ago and never got past the preface. Maybe I can get past it this summer.

I always want to do some recreational programming over the summer, but I end up getting lazy. Nevertheless, a possible list of things to work on:

  1. Mercurial. Specifically, hgsubversion. I originally applied to do this for Google's Summer of Code, but got turned down. Still, this project is interesting to me, since many people have no interest in learning Mercurial, leaving us stuck with Subversion. Progress on this would let me avoid Subversion. I've already submitted some minor patches during the school year, but I'd like to contribute something significant if I could.
  2. Luke's BookLi.st project. A fairly interesting Django application. Not sure what I would do; API functionality would be an idea to implement, but probably wouldn't be a very large project.
  3. Personal website in Django. This is obligatory; I think I post this every summer. I always dream up designs in my head, but am not graphically-talented enough to really materialize them. I'd still like to get one up, someday. Maybe it would motivate me to blog more, somehow.
  4. Miscellaneous billion-dollar web startup idea. Yeah.
  5. Game programming. I've grown somewhat weary of the idea of game programming, but will nevertheless be revisiting it with a few others. Some of the others have experience in this area, so it may be less tedious. I wish I knew graphics people.
  6. IRC client. Kind of a dead horse, but I'm not really satisfied with any Windows IRC clients. This would end up being a cross-platform (Python) engine with a Windows-only (WPF) GUI built on top of it. Yeah, I could easily use a cross-platform toolkit. No, I won't. This also adds the limitation that the engine has to run on IronPython as well as CPython, which means Twisted is out. Could be interesting if this got anywhere. Big if.

If I had more things on the list, I guess I've already forgotten them. Knowing me, I'm forgetting something big. Hopefully I'll get things done this summer (I say this every summer, don't I?) and have more to write about. It's kind of sad that the few people from Purdue CS I knew blogged have all stopped, myself included. I guess we've relegated our ideas to 140-character messages now.

Side note: If anyone wants to play Civilization IV, I'll be participating in a potentially slow-paced multiplayer game with a lot of newbies in it. If anyone is interested...