They dealt with critical ideas like a clam with sand... it was the recurring tale of the map versus the land.. a shallow life or a deep one.. or perhaps a philosopher's versus a more human tracing of the hand. The once and future plan was the appeal -- study not the present, because we know it will continue to fall close to our pattern, the game theory manifesto. A distaste for the messy details of life contrasts with a distaste for the detachment of a helicopter.
Last night was KGB's Capture the Flag with Stuff, naturally a chance to be very loud, silly, and get a good amount of exercise. It was fun (although I imagine it would be even moreso to devote a longer period of time to it, perhaps an entire day). The highlight of the game for me happened near the start, where I got one of the magical items, the Goombah belt, whereby one can form a chain of people that, so long as they're holding hands, skipping, and singing yankee doodle at the top of their lungs, they're immune to normal capture in opposing territory. A few places outside of CMU have started their own CtFWS too. It would be awesome to have this become widespread. Similarly awesome were the (even more frantic and insane) dreams I had last night after getting back home, which mixed CtFWS, various people I know and used to know, and the good ol' days of my Quake clanning and Future versus Fantasy CTF.
An interesting quote from Milan Kundera's "Book of Laughter and Forgetting":
The invention of printing formerly enabled people to understand one another.
In the era of universal graphomania, the writing of books has an opposite
meaning: everyone is surrounded by his own words as by a wall of mirrors,
which allows no voice to filter through from outside.
Still working on backing up my laptop for FC5 installation.
I've gotten some interesting answers to my query on livejournal on friendships and aging. In particular, the suggested emphasis in friendships about people being fun to be around is different than my norms. I think that the way I think about friendships is at least moderately different than the view presented, and likewise for relationships. I would hope that if I ever have another relationship again, it'd be based more on respect for my beliefs and values and the depth of my intellect rather than my being a fun person to be around. I tend to view being pleasant and fun to be a game that I only have so much energy to give to, while other things are the essense of what it is to be me. However, perhaps this is unrealistic of me -- I have had friends in the past where they were rather interesting but their negativity and constant drama made them impossible to be around. I hope not to become like that, or like any of the other signposts from my past that I've lived my life trying to avoid becoming. I think, despite all of this, the greatest dislike I've ever felt for people has invariably come from people doing things that I find to be sufficiently unprincipled, selfish, and harmful. This marks a dividing line between my simply ignoring/avoiding someone and actively working against their interests.
The current CompBio homework looks pretty easy (as does its extra credit part), and I have it mostly written. It does, however, have a problem in common I had years ago when I was working on writing a Roguelike in Perl (reminder to self: when this crazybusy semester is over, see what the current maintainer has done with it, and restart it if it's been dropped) -- the need for a scheduler/eventqueue that allows efficient scheduling of events n timeslices in the future (and any given timeslice can have an arbitrary number of events, including none) but allows for a pop that returns/removes an event in the closest timeslice that has an event. When I was writing my roguelike, I was somewhat less clever and my solution was inefficient. I presently think the best way to handle it is to have the following objects (pseudocode):
time, # Just a numeric identifier for the timestep
events # list of actual events/data scheduled
events # ordered list of TSListEntries
For our insert operation, we'd be passing in a computed timestamp (offset plus current time) and data. We'd do a binary search over the TSList(events), and make a new TSListEntry if needed (or extend one if the time exists). Retrieval is a simple pop(). My roguelike had a need to be able to cancel events by category, which is not needed for this application (if it were, I'd use weak references or mortalization and have the single full reference to each event be in a list under a hash of categories). Without the category stuff, pop is O(1), and insert is O(log n). If anyone has ideas on how to make it even more clever and fast, feel free to share.
I sometimes wish I could take a year or two off of work to spend time on all my projects. I imagine I probably have enough to do that I could probably never work again in a proper job and still have lots of good things to do, many of which would benefit society. Meh.
Speaking of which, I found a way I could dive back into ecological activism in an immersive way (although it would take me away from Pittsburgh for 2-3 years). I would do it without hesitation if I had a life partner who was similarly interested, but as is now, it's not such a sure bet. I'm still kind of thinking about it though, and that's saying something.