Okay, so it's been almost three and a half months since my last post. So much for maintaining a decent frequency. At least I've been twittering more often than that. And no, I can't say that it's really been too much more interesting there than the silence you've all (both?) seen here.
The last eight weeks have gone by pretty quickly. That's a good thing, because I'm eager for the summer for a few reasons. This quarter has been filled with core theoretical computer science classes, all of which are interesting, and some of which are harder than others. I have symbolic programming (LISP and Prolog), language translation and automata (focusing on ideas behind programming language parsing and structure), and computer architecture (focusing on MIPS). It sounds a lot more complicated that it is, at least if you've been going through the classes from the beginning. I had very little idea about any of this stuff eight weeks ago. I'm doing pretty well with it so far though. Only 16 days until the quarter ends! I'm on track for Spring 2009 graduation, which has been my target for quite some time.
Some of the most interesting school-related stuff that's happened has been with the LISP and Prolog class I'm taking this quarter. I'd say it's definitely my favorite out of the three I'm taking right now, because it's a new language, and it's just really interesting. LISP is like Scheme, which probably doesn't mean anything to most of you. It's unlike procedural languages (BASIC, C, etc.), and unlike object-oriented languages (C++, Java, etc.). It's what they call “functional.” Everything you write is a function, literally. It takes some getting used to, but you can do some really handy things with it a lot more easily than you can with other languages. Prolog, which we just started going over last week, is even more radically different. It's a “logical” language, where you first define things that are true, and then you basically ask yes/no questions about different things, and Prolog tells you the answer based on what it knows. It's ideal for artificial intelligence stuff.
Something funny about LISP though…it has things called “predicates,” which are just its version of yes/no questions about something else. Predicates often end with the letter “p” to indicate that they are, in fact, predicates. For instance, “evenp” is the predicate that will tell you whether a variable is an even number or not. “evenp 6” would return “true.” Anyway, that's not the funny part. The funny part is that one day recently, I was riding home from school, and as I passed one of the cars parked by the high school near our house, I saw something written on the back window in soap or that car paint or whatever it is, and it said something like:
I could have read it wrong…it might have been a different name, or different letters, or anything. But that's what it looked like. I thought it could possibly have been literally the most nerdy invitation to the prom in existence. And if it wasn't, then it definitely should have been.
Other than that, work has been going well, and I'm still really enjoying my job. I'm sure I'll be there for a long time yet. I'll also be going back to VA as soon as the quarter ends, on the 12th to be exact. I'll only stay for a couple weeks this time though, and then Courtney's coming back with me for until August! It's going to be awesome.
That's all for now.