Only For the Weak

It looks like I'll have an apartment in town for the rest of the summer, which is a huge relief. Living at home would have had a few advantages (viz. saving money, being closer to Monroe friends), but the advantages of renting far outweigh the costs.

*Geek Stuff*
I did a cosmetic rewrite of my frontend for ffsearch, modeling it after everyone's favorite search engine. I gave in and actually put up a graphic, but it's small and pretty. I got rid of a lot of the needless clutter that I had put up mainly to serve my own vanity, because I simply wanted to prove that I could write it. I'm done with that now. Then I did a bit of research on MySQL's fulltext searches. Fulltext is designed to quickly search through huge amounts of text (articles, etc.) and match human-readable search patterns. I thought it might not work too well with ffsearch, but I gave it a run for its money. For my frontend, I'd been using searches similar to what the original site had used, with "WHERE FileName LIKE '%search%';" which is ridiculously slow. Fulltext gave me a speed increase of an order of magnitude. Searches that used to take almost 10 seconds are done well under a second. It's hot. And not only is there an insane speed boost, I also eliminated a lot of the complexity in parsing the search string. I used to have a rather complex and ugly recursion-based parsing function, now I simply split the words and plug them into a fulltext match. I'll probably end up putting wildcard matching back in, but it'll only be for *.??? queries. It'll probably be something like:

$query =~ s/^\*\.(...)$/$1/"

That will give me what I need to match it up against the file extension column in the database. So it's won't even be real wildcard substitution. But it'll be fast, because even fulltext takes a good 5 seconds or so to sort through a "mp3" query, and because I haven't bothered to figure out how to cache search results, that delay and cpu maxage happens every time someone checks the next page of results. I also (finally!) looked at the source for google to figure out how to have the input default to the search box on page load. I had to use javascript, but it is so worth it. I think that after I refine the new look and put in some of the functionality that comes with the default interface, I'll see if the guy wants to take a look at it and maybe include it in the package or something.
*End Geek Stuff*

So it turns out that as I was completely engrossed in the computer stuff mentioned above, I completely forgot about the movie that I was going to go to with Rhiannon and one of her highschool friends. I don't think that it was a big deal for them that I wasn't there, but I had wanted to see the movie. Damn it all to hell. This isn't the first time that this has happened, though. Programming is really the only thing that can make me get in the zone like that, but it happens pretty much every time I sit down to hack. I'm still second guessing my decision to drop computer science. But whenever I start seriously thinking that I chose wrong, I remember just how easy the decision was when I was actually in CS. But the other issue that keeps cropping up is the money. If I had stayed in CS, I would have pretty much been guaranteed a well-paying job for the rest of my life. Now, it's not so sure. Oh well. I'll take happiness over wealth any day of the week, and twice on Sunday.

Happiness is an interesting thing. I mentioned in a previous post that I've been happy since the beginning of spring semester, but I didn't know why. Well, I finally figured out what started the good mood. Over Christmas break, while I was working at RadioShack (again), Dave Gruden and I were talking. He was telling me about how he had decided to go back to school, and a few other thing that had been happening in his life. Anyone who knew Dave from before knows that him going back to school was pretty unusual. Then he told me that the main reason that he had decided to do it was because of me. Not because of any particular thing I had done, or any particular thing I had said, but just because of who I was and how I acted. I didn't realize it until just recently, but that moment was when my good mood started. It sounds pretty sappy. And it probably is. But really, before that moment, I didn't have any reason to believe that I mattered at all, or that I had made a difference in the world at large. Dave revealing to me that I had changed his life in effect changed my life. After that conversation, I had a purpose. A telos, if you will. I have proven that I can leave my mark on the world. And even if I fail to do so ever again, at least for one part of my life, I really mattered. If it hadn't been for that conversation, spring semester would have gone by much the same as fall semester. I wouldn't have gotten out much, I wouldn't have made too many friends, and I would have been, for the most part, not happy (not unhappy, but not happy). I very much doubt that I would have had the courage or the will to pledge. Life would be dramatically different. But I am where I am. And I'm happy.

3 comments:

Anonymous said...

hey, um, do you by any chance go to Hillsdale College?? because you just used TELOS in a sentence!

Daniel said...

Carl, speaking of Geek Stuff, I thought I would provide you with two links:

One hilarious: Micro~01's Get The Facts CampaignOne informative: How Microsoft lost the API War (the whole thing is worth reading, as it educates one regarding the history of computing and gives good clues to it's possible future)

So, this is still me said...

so THAT'S what you were doing!
i just figured you decided to go to ann arbor instead. we were sad, but we got over it. the movie wasn't that great. if you want, maybe we could see The Terminal sometime.
you have an apartment? where?