Archive for June, 2006

A Third Year and a First Week

Friday, June 30th, 2006

Back when I was younger, I tried many times to keep a journal and stick with it. Usually, I’d write a lot on the first day, a little less on the second, even less on the third, and then on the fourth I’d quit altogether. I didn’t realize then that a journal could still be worth writing in even if I didn’t write in it every day, or every week, or even every month. That realization finally came three years ago when I started this blog, and it’s what allowed Organon to continue to exist this long. I never thought I could keep it going even when I did know that I didn’t have to be diligent all the time, yet here it is, a massive 228,000 words contained within 238 entries that would fill 651 pages of a standard hardcover book. Even with the long pauses between some entries, I’ve managed to post a new one every 4.6 days on average, keeping with my original unofficial policy of posting at least once a week. I’ve covered all kinds of topics, from PHP programming and web design to my experiences in school to my life philosophy to random technology subjects like Internet Explorer 7 and PlayStation 3. And I’ve resisted the temptation to blog about what everyone else is blogging about, to trackback and link so much that my blog becomes nothing more than an aggregation of other people’s ideas. Okay, that’s enough self-congratulation for one entry. Moving on….

My first week of class at Stanford officially ended yesterday because my two classes only meet Monday through Thursday. Overall, it was a pretty good week. In CS 106A, my programming class, we’ve mostly done introductory stuff using a subset of the Java language called Karel. Basically, it’s the same thing as Java except without variables or methods that return anything, meaning that it can be incredibly frustrating to someone like me who has enough programming experience to realize that there are much easier ways to solve many of the problems that we are presented with if we could just use all of the available features of the Java language. The class should improve considerably next week, though, when we are finally allowed to start doing more complex work. My other class, Greek and Latin Word Roots of English, has been interesting so far but not exactly fun. So far, we’ve learned mostly about the history of the English language and how different languages develop, but we haven’t talked much about the etymology of specific words yet.

Outside of class, I’ve done more things than I can easily remember. I’ve played and watched a number of card games, from BS to Egyptian Rat Screw to the nightly poker games held in our lounge, I won (barely) at foosball, I watched about an hour of the Berenstain Bears TV show with some other kids who were pointing out the many sexual references found in children’s programming, I’ve eaten a lot of really good dorm food (fajitas for lunch yesterday, woo!), I beat one of our dorm mentors and two other kids handily at Scrabble (I managed to score 40 points on my second-to-last word), and I’ve spent hours working on programming exercises. In about an hour, I’ll be going to see the newest Superman movie with about 75 other kids, and tomorrow I’ll be spending the entire day in San Francisco participating in a city-wide scavenger hunt. Put simply, I’ve done more in the last week than I might have done in a month back at home in Wisconsin.

I was going to conclude this short entry with that last paragraph, but there’s one more thing I just have to mention: some of the kids in my dorm (Eucalipto) have invented a new sport called nutball. By “nut,” I don’t mean the kind that you eat. Think huevos, cajones, avacados, etc. Hopefully you’re getting it by now; if not, you will soon. Phil, the German kid known to some as BestBuy for his tricked-out room, and a kid named Matt who I don’t really know, came up with the game earlier yesterday afternoon when throwing around a tennis ball. At one point or another, someone was hit in the groin, and so they decided to make that the object of the game. By the time I started watching at around 10:00 in the evening, they were sitting across a room from each other with their legs spread apart, tossing the tennis ball back and forth. Every once in a while, a hit would be registered with the help of spectators in the audience, though a player could keep a hit from counting by showing that it hadn’t caused them any pain (doing jumping jacks has become the standard way of verifying this). Players are allowed to catch/block the ball, but only if it isn’t going to hit their…parts. If they catch it when it was on target, the other player gets to kneel and take a “penalty shot” at the catcher from the center of the space between them. The loser is either the first to die/pass out from pain or the first to be hit five times. Poor Phil played four nutball matches and was hit nine times, and I’m sure he wasn’t feeling too well this morning.

Yeah, I know it’s dumb, but it’s entertaining for those of us who aren’t participating in it. And maybe one day Phil and Matt will get some IP royalties out of it, especially if nutball gets picked up as an official sport by ESPN 8 (”The Ocho”). It’s too bad neither of them will be able to have children to share their wealth with….

Stanford is TEH HI-TEK

Tuesday, June 27th, 2006

Just a quick note on the level of technological sophistication here - it’s pretty high. Even the computers in the student-accessible clusters are way better than what most students bring to use here. I’m currently using Mac OS X 10.4 on a dual-processor PowerMac G5, and it’s awesome. This is the first time I’ve gotten to actually use Mac OS (rather than gawk at it) for an extended period of time, and so far it’s been wonderful. I was able to set up my development environment easily on my own server using tools they had available, too, so that’s also cool. I used the Terminal program (which seems a bit underpowered compared to other OS X apps, but maybe I just haven’t dug into it yet) to tunnel over to my server via SSH, from which I could issue all the commands I needed to in order to check out another copy of Langosta from SVN, create another database to be used for development only, and create a bunch of folders for caching. I also used BBEdit to edit some files over SFTP, and I can see why some Mac users rave about how great a text editor it is, because it really is a good one. Everything in general on a Mac is so intuitive…it’s as if the developers naturally know where I would look for something if I were trying to find it. It’s nice.

(By the way, part of the reason why I want to get Langosta and Sangre working in development mode is that my computer programming instructor told us that the highest possible grade (++) would only go to a project that went way above and beyond the norm, so I thought it might be interesting to be able to do some kind of Internet-integration into one of my apps using XML-RPC or something similar. I dunno.)

First Day of Classes

Tuesday, June 27th, 2006

Langosta really seems to hate any kind of punctuation in titles…sorry about that. I’ll fix it as soon as I can - I’m really not sure how I’m going to be working on it while I’m here as I don’t have much of a development environment set up. I guess I could just install a second copy of Langosta somewhere else on my server (say, dev.brettia.com) and then just check changes in to my Subversion repository as I normally would, but then I’d have to edit files right on the server over SSH, which has a tendency to be slow…and I’ll stop rambling now. It will be fixed sometime. However, at least Langosta has reached a level of maturity at this point where it’s actually usable and I can trust that it won’t randomly capsize and break off our loving relationship with a torrent of parse errors. Anyway….

I said before that I would be taking three classes: Programming Methodology, US-China Relations, and Calculus. As it turned out, I had to drop two of those. I went and talked to the academic advisor about whether or not I should take the lower- or higher-level programming class, and I came out fearful and unsure of whether I wanted to take a programming class at all. The program coordinators here seem to care more about making sure students have a good summer than about putting them in the most challenging classes possible, which is a good thing, but CS is what I came here to learn as well as what I will be coming here to learn in the future assuming that I’m lucky enough to get in, so I really couldn’t turn down that opportunity. I think that the advisor thought that the programming class would take up too much of my time, and it very well might (20 hours per week is a possibility, according to the instructor, but six hours per week is more common), but now that I’m down to two classes it shouldn’t be so bad. Calculus went away because the advisor felt it would be a waste of time (and money) to take a college calc course when I would basically be testing out of that same course if I passed the IB Math HL exam with a high score. US-China Relations was removed because I decided I’d rather try a Greek and Latin word roots class, which is supposed to help me with vocabulary and so far seems like a really interesting subject (I know it maybe doesn’t to an outside observer - you have to take the class to understand).

My first class of the day, then, was the word roots class, which is done seminar-style with only about 20 students around a big table. The instructor (a Ph.D candidate) seemed like a great guy, though he was much younger than I expected. Each of us had to come up with our favorite English word when we introduced ourselves, and he broke our words down into affixes and used those to decipher their meaning and origin. It was pretty cool, in a rather geeky way.

My second class was the all-important programming one, the only class that I’ll have almost every day and probably the most fun of the two. The first thing I noticed was the sheer number of people taking it (about 90 students ranging from high school kids like me to undergraduates to graduates, along with more people taking it over the Internet by watching the videos being produced live during each lecture). I originally thought that this might be a bad thing, but there’ll be extra sections every week for smaller groups to discuss their code, which should be good. Also, the instructor throws candy to keep people’s attention and to reward them for speaking. It’s hellacool, to quote my Northern Californian friends.

I have to say, there’s something about this entire experience that makes it feel almost surreal. There are literally people here from almost every corner of the world (though, not surprisingly, I seem to be the only one from Wisconsin), yet everyone seems to have a kind of common side to themselves, a geekier, nerdier side, but still something in common nonetheless. There are a lot of kids who brought their computers and have spent almost all their time on them, so I can at least feel a little bit better about my own technology addiction (I’ve actually been pretty good about not using the computer clusters too much in the past few days). At the same time, though, it’s not a geek camp - there remains a fair number of kids who seem pretty normal, almost to the point where you wonder how they could have even gotten into the program (until they tell you about how they got fives on all their AP tests and a perfect score on the SAT, that is). The craziest thing though, is sitting at a table with one kid who has Pakistani parents but lives in California, another who is half Filipino, a girl who looks like your everyday American but is actually one-fourth Korean and can speak the language fluently, a kid from Korea who actually lives in Jakarta and does great magic tricks, a kid from Pennsylvania who looks Korean but has no accent and is excellent at reflex games like foosball and Egyptian Rat Screw, et cetera, et cetera. For someone who comes from a community where basically everyone is white, conservative, American, Anglo-Saxon, and Christian, this is kind of a big change. Yet at the same time, I really don’t mind it. These people are way, way more interesting because of their ethnic differences and international experiences (sorry, Wisconsinites).

I’ve also done some pretty weird things since I got here, and I’m only on my third day. On the first night, everyone in my dorm (Eucalipto) went fountain hopping, which pretty much means that we ran around to different fountains on campus and swam in them. It’s a good thing we did it at night, though, because it turned out that the water wasn’t exactly clean. Last night, we had this ice cream progressive thing, where kids randomly dressed up and got ice cream and cheesecake from our dorm mentors. On another night, I watched part of EuroTrip in BestBuy’s room (my roommate has nicknamed a horny German from Marin “BestBuy” because of all the sweet electronics he has in his room). It was pretty funny. (By the way, if my parents ever read this, I politely declined to watch a movie so devoid of moral value or restraint.) Then, last night my dorm had a house meeting and we made up a dorm cheer, which we then showed off to the other students by parading around the hallways and performing it for at them.

All in all, it’s been fun so far. I’m looking forward to some of the organized trips that will be taking place on weekends, and of course to continuing my classes now that I’ve finally gotten them sorted out. It’s definitely better than spending my last real summer before college in humid, kinda-boring Wisconsin.

Hola from Stanford

Sunday, June 25th, 2006

Today will be my first full day at Stanford after having been dropped off and “orientated” yesterday. I arrived in the San Francisco area on Friday, stayed the night at my uncle’s apartment downtown, and came to the campus at about 3:00 on Saturday after visiting the Googleplex (I just had to). Now I’ve got a bit of free time to write between lunch and a meeting at 1:30 when we’ll get our Stanford ID cards so that we’ll have access to all the buildings. (By the way, at the moment Langosta won’t let me set a specific timezone for an entry, so all times will remain Central even though I’m currently on Pacific Time. Also, a warning: this keyboard is a bit sticky sometimes…typos are probably going to happen.)

Obviously, I can’t make too many judgments or conclusions about the kids here or what the summer will be like as I’ve only been here about a day, but there are a few things I feel I can mention. First, some of the kids here are truly amazing in terms of their academic and athletic achievements. I thought I was special because I was the second-best speller in the Cave Creek Unified School District a few years ago (I missed “dichotomy,” and the other kids had to spell hypochondria, which I would have gotten easily…*grumble*), but there’s a kid here who was 12th in the nation in 2003 and had his fifteen minutes of fame on SportsCenter because of his reaction to getting a word correct that he had guessed on. There are others, too, kids who somehow are great athletes and will be valedictorian of their graduating class and participate in about ten billion clubs and have social lives. It’s more than a little intimidating, at times.

Sometimes I wonder if I’m in the right place. I don’t question whether or not I should be in this program specifically, but rather whether or not I really belong with the students that I am most often grouped with these days. The thing is, though I try to fit in, I’m really not like many of these kids at all. I don’t really care about school spirit or participating in a hundred activities just because I can. I don’t really care about having a social life, or at least I don’t care about having an incredibly busy one. And I don’t have to be occupied with something every second of every day to be happy. I like to be lazy and unproductive.

Many of the kids at Stanford seem similar to those in the IB diploma program at my high school. They’re not just smart; they’re outgoing and social as well. Me…I’m just smart, I guess. For a long time, I thought that that was enough - it was all I was ever told I needed to be. In middle school and the first year or two of high school, teachers were so concerned with quieting the students who socialized too much to realize that they were creating an oppressive environment for students like me who didn’t socialize much at all. I began to think that it was better to keep my thoughts to myself than to blurt them out at random like some kids would. I finally started to break out of that shell at the beginning of my sophomore year, when school became more interesting and fun for me because of AP European History and my work on the website and my role on the debate team, but all of that progress evaporated when I moved. Even now I feel as if I’ve barely been able to move beyond the point where I was when I left Arizona.

Seeing the kids here, seeing the kind of person I would probably have to be if I ever want to have any hope of attending this university “for real,” I begin to wonder if I really should try to change myself to be more like them, and if it would even be possible to do so. It’s funny that one of the key lessons that kids are supposed to learn as teenagers is that they should “be themselves,” yet more than a few people (my parents, especially), can’t seem to accept that I might be happy with the way I am right now. It’s not even a question of whether I am happy or not; it’s a question of whether they can put aside their own biases and realize that not every person wants to conform to the model of a perfect student-athlete. It seems hypocritical to me that someone could agree with the idea of being oneself and in the same breath tell me that I should try to be more like someone else.

However, this is not to say that I think I’m perfect the way that I am or that I think I don’t need to do anything to improve myself. While here, I not only want to become a better programmer; I want to be more talkative and more interesting to people. I’d also like to at least leave Stanford feeling as if I’m in better shape than I was when I came, though my goal is to do even better than that by dropping a few of my many extra pounds. No longer can the lard be considered something funny to joke about; now I think it just makes people uncomfortable.

So far, things are going pretty well for me. I’ve met my roommate, Kyle, and I’m supposed to have another one who hasn’t showed up yet. We’re kind of hoping he won’t come because then we’d have a gigantic room all to ourselves. The dorms themselves aren’t incredible, but they aren’t bad either. There are four main buildings, each with its own lounge and computer cluster, and the buildings surround a central courtyard and a dining hall. The food has been excellent so far.

Now I’m going to make some dumb generalizations about the kids here that I’m sure I’ll end up taking back later. First of all, some of them appear to be extremely privileged. One even brought a $3,500, home-built computer with a huge monitor, 5.1 surround sound, and Sirius satellite radio. Fancy cell phones (ROKRs, SLVRs, etc), laptops, and iPods are not uncommon. I’m not sure if this is a good thing or not…I guess I’ll find out eventually. Second, many are from California and are therefore used to the more affluent California lifestyle. I guess that’s all for now.

It’s about time for that meeting I mentioned, so I’d better go. I’m going to try and write every 2-3 days, but as anyone who has read this blog for a fair amount of time will know, I tend to break those kinds of promises often. I want to try to write more about philosophy, especially about the stuff that I learned about in my TOK class that I took last school year. It should be worth reading, maybe.

*dies*

A Belated Happy Birthday to Me

Thursday, June 22nd, 2006

My birthday was yesterday, but I didn’t have time to write anything until now. Lately, I feel lucky when I have time to write at all. At first, it seemed as if it wouldn’t be much of a birthday compared to some I’ve had in the past. My big “present” is obviously the two months at Stanford, so I wasn’t really expecting anything more. So I spent the day checking things off of my list of things to take and getting a few things packed, doing nothing exciting really. When my parents got home from work, we all went to the local Chili’s (officially my favorite chain restaurant), where I tried not to explode with the pure joy that is produced by eating Southwestern Eggrolls and Steak and Portabello Fajitas. Afterward, we went to Target, where I used a small chunk of cash from my horde and some money from a birthday check to buy a Nintendo DS Lite and New Super Mario Bros. I might write a quick review of it later to explain exactly why I chose it over a PSP, but a major reason was that I haven’t owned a Nintendo system since the SNES. That’s right, while all my friends were enjoying their Nintendo 64s, GameCubes, and GameBoys (and the many GameBoy versions), I never had one (I know, I was so deprived) – now I do.

So I cradled my new baby in my arms all the way home, where I plugged it into the wall so that it could charge its battery for the first time. I settled down on the couch with the manual, but I was distracted by the fact that my parents were busying themselves suspiciously with something in the office. Then they printed something (twice – I think it came out gray the first time) and sealed it in an envelope. All of this was occurring while I sat in the other room, salivating over my charging DS and anxiously awaiting the lighting and consumption of my birthday cake, which awaited me on the counter. When the parental units were finally ready, we did the usual cheesy singing of the happy birthday song and out-blowing of the candles (those annoying trick ones that light themselves again after you think they’re out), and then I opened my only birthday card, one from my grandparents. After the ritual skimming of the card and collecting of the monies therein contained was complete, I moved on to my parents’ envelope. At this point, my mind was furiously making guesses as to what was inside, and the best thing I could come up with was that it was a picture of an iPod wall charger that they had ordered online and shipped to Stanford. I wasn’t even close. (Too bad it wasn’t an iPod charger – now I’ll have to leech off of someone’s USB port, but oh well.)

I opened the envelope and found a picture of some kind of red SUV with the words, “Happy 17th Birthday Brett!” across the top. At first I didn’t really know what to make of it; I thought maybe this was some kind of unnecessary attempt at a last-minute birthday card or something. I didn’t think for a second that my parents had actually bought me this 1995 Isuzu Trooper from my uncle, but they had. I was shocked, to say the least. Usually, I can sense these kinds of things before they come. Usually, my hyperactive analytical mind figures things like this out before the occur, or at least it presents me with the possibility. Not so this time.

This amazing gift sparked within me one of those weird moments when you suddenly feel yourself jerked back from reality, your view of the world zoomed out so that you gain a perspective on your life that is hard to get when you’re busy living it. It was one of those moments when you sit back and realize just how lucky you are, to have the things you have and to have the freedom to enjoy those things. Yet at the same time, you know that this is not what life is all about; this random philosophical moment is proof of that. No matter what happens, no matter how good or bad your life may be at a certain moment, you will always be you. Take away all the material things and you are still there – you don’t need them to be who you are, or you shouldn’t. There are too many good people out there who have nothing for that to be the case. I don’t know why I just wrote that in the second-person; usually I’m not one to lecture at my metaphorical readers. I guess what I mean to say is that when I first learned that I was going to Stanford for the summer, and in the weeks following that day, I was too wrapped up in the preparation for the trip – the nervousness, the packing, the saving-up of money – to realize just how lucky I was to be going at all.

Toward the end of my last entry, I mentioned a lot of the more negative feelings I’ve had about going, with the main one being that I’m simply nervous about being on my own for that long. But I forgot to write about one of the most positive things about the whole thing: the experience of getting an education somewhere where academics are hugely important and there’s actually a good deal of money spent to ensure each student’s success. I don’t mean to imply that my current high school isn’t passionate about educating its students as well as possible. The real problem is that all high schools are limited in just how much they can do because of monetary restrictions and because they have to make sure each and every student meets state standards. For this reason, high school computer systems are usually good enough for research, yet they often lack creative tools like an image manipulation program (Photoshop), a web development application (Dreamweaver), up-to-date programming tools (Visual Studio), or any other programs that most students don’t have already at home. This, along with the severe underpowered-ness of the hardware, pretty much takes away any reason for a student to want to use his or her school’s computers, making the systems almost worthless. The difference between university and high school education is obvious when you compare the resources of the Stanford network against the average high school’s network: at a university, the resources to help you get ahead and push yourself to the highest level are already there, whereas at a high school, you have to work/fight for them. I guess my point is (that longwinded rant wasn’t really necessary) that I’m really, really excited about being somewhere where one’s education is a serious matter, both to students and to the educators themselves.

I’m done now. Keep on plodding through my oft-crappy writing; it can only get better. (Though I do think this entry was a major improvement over the last one.)

Catching Up, and A Look Forward

Monday, June 19th, 2006

Okay, so I lied about posting again back on the 16th. I really did want to, but I ended up having to clean up the house and pack things in preparation for a quick weekend “vacation” to Missouri. My brother spent all of last week there, so we had to drive down and pick him up. I make it sound as if it was a simple jaunt southward, but the distance from here to Springfield is just over 575 miles, making for an eight-hour drive that quickly stretches into nine or ten hours with stops and traffic slowdowns. But even a trip of this distance pales in comparison to the 3,000-mile drive in 2004 that put us through six states (not including Arizona, our start- and end-point), so I was content to read through some of my 1,500 pages of summer reading while blocking out everything else with my iPod. I finished The Motorcycle Diaries, by Che Guevara, and got about halfway through Margaret Atwood’s The Handmaid’s Tale, which might surpass Slaughterhouse Five (Kurt Vonnegut) as the weirdest book I’ve ever read.

I know it’s been a long time since I last wrote anything about what I’ve been doing (more than two months!), so I’ll try to summarize some of the more important things that have happened since April. First of all, April was a much better month than any before it because of spring break, which I spent with my family in Hawaii. I actually got to sleep nine or ten hours for multiple days in a row, and for me that was almost more important than all of the other vacationy things that we did, such as a helicopter tour of the Kilauea volcano, a submarine tour of the reefs around Kailua-Kona, and a lot of driving through the Big Island’s beautiful scenery. Something that most people don’t realize about the Big Island is that it isn’t all tropical and rainforested - you can find almost any kind of climate on the island because of the high mountains and the wind patterns on different sides of the island. The terrain in the island’s center almost looks as if it could be somewhere in Colorado or Montana, even sporting one of the US’s largest cattle ranches. It’s definitely not what one would expect somewhere so far south of the mainland United States. We also spent a few days on the much more developed island of Oahu, where Honolulu, the North Shore, and Pearl Harbor are all located. I didn’t enjoy Oahu quite as much, not because it wasn’t as nice as the Big Island, but because I had somehow gotten sick on the last day we spent on the Big Island, resulting in about three days of headaches and nausea (I threw up six times…ugh). Otherwise, it was a great vacation and a nice way to forget about all the pressure that had been building on me back at home.

I had half-heartedly hoped that the fourth term of my school year would be better in terms of homework load than the third, which was terrible, but it didn’t turn out that way. I didn’t sleep more than eight hours on any weekday in May or June, and it got to the point where going to bed at two in the morning often felt like an improvement over the day before. Somehow, I only pulled three all-nighters all year (all of them in May and June, of course), but at the same time it seems ridiculous that I should have had to not sleep just to get all my work done. Part of the problem was the usual tendency toward procrastination that has plagued me for a few years now, but even when I would crack down and get things done, there was always something else that needed doing afterward. I can’t put into words how depressing it can be to feel like I can’t possibly finish everything I need to complete in the time I have to do it, even if I work around the clock without eating or sleeping. On too many nights I would sit in my chair and stare blankly at the computer screen, letting it drift into and out of focus, feeling the effects of exhaustion set in, my determination beginning to fade away as my desire for sleep began to take over my thinking. Eventually I would shake it off, get up, take a cold shower or eat something, and go right back to work, but eventually I’d start to fall asleep again. The cycle would repeat itself, over and over, and each time I’d be a little less productive and a little more tired. Sooner or later I would either finish what I was working on or I’d simply cast it aside and collapse into bed, wondering for a split second how I could possibly finish it in the morning. Somehow I managed to finish everything, or at least everything that counted for a large percentage of my grade, but I could feel toward the end that the quality of my work was beginning to slip. It was frustrating to watch myself turn in substandard work when I knew with all certainty that I could do better, yet I was powerless to do anything about it. Every time I wanted to sit back and relax after completing a tough assessment, another one awaited me just afterward, and I couldn’t ignore it. The IB gods are truly evil – they take some kind of sick pleasure in pushing students to their absolute breaking points, whether they want to go there or not. The only good thing about it is that everyone else suffers along with you, so for some reason it doesn’t seem quite as bad.

Complicating matters were several other responsibilities that I needed to fulfill while all of the homework drudgery was taking place. I think I mentioned that I continued to volunteer as a design editor for the school newspaper even after I dropped the actual newspaper class back in January in favor of a study hall, so I had to lay out a substantial proportion of the last three issues almost completely on my own time. This wasn’t a hugely bad thing because it gave me an excuse to not work on schoolwork every once in a while, but sometimes the publishing dates for the newspaper came at the worst possible times. On more than one night before a publishing deadline, I would work until sunrise, sleep about an hour or two to keep myself alive for the next day, and then I’d ask beg all of my teachers politely to spend class time working on the newspaper instead of doing whatever assignment I was supposed to be. I almost always felt terrible about it because it seemed disrespectful to put an extracurricular activity ahead of a class, but when the choice was between staying in class and missing the deadline or skipping class and barely making the deadline, the former simply wasn’t an option. I’m hoping that next year will be much better because there should be more design editors helping me (this year, there was only one who really worked hard on every issue) – it would be nice to surprise our printing company by finishing the layout an hour early instead of up to two hours late as we have in the past.

On a more positive note, it seems as if most people think that this year’s issues of the newspaper have been a major improvement over issues from prior years, both because the quality of the writing is higher and because it simply looks better. I’ve experimented a lot with different techniques, such as making text “bend” around a graphic, putting washed-out images behind text boxes (like big quotation marks behind pullquotes and such), and a few other things, and I now feel as if I’m almost as comfortable using InDesign as I am using Photoshop. Our advertising sales seem to have improved as well, enough that I’ve been given the go-ahead to pick out some new computers to replace our generic thin-client workstations. The new ones should be a huge upgrade over the old ones, with 19-inch LCD monitors (the old ones were only 15-inchers…almost impossible to use for our purposes), dual-core processors, and two gigabytes of RAM. I’m salivating already.

Another component of the IB program that I still needed to work on at the end of the year was the extended essay, which is basically a thesis paper but much shorter. I knew already that my topic would be history, and I had signed up a supervisor to advise me along the way (each student is supposed to find a teacher or “expert” in their field of study to consult while they research and write the paper). However, I still needed to find a specific topic and have a meeting with my supervisor to decide on how I would go about doing research on it. I was able to get it done only four school days before the end of the year, but so far I’ve been happy about my topic: the Battle of Lepanto, a naval conflict between an Italian fleet and a Turkish one that was decisive in that it was one of the first European victories against Muslim forces since the Crusades and marked a turning point in the ongoing conflict between Christianity and Islam. I haven’t done much research into it yet, but it should be a good topic simply because its not one of the dozen or so subjects that students choose year after year (the Russian Revolution, the Holocaust, China under Mao, the Civil War, etc.).

Okay, almost done now – only two things left to write about. The first one isn’t particularly important, but should prove to be a good thing nonetheless: I got a second job as a researcher/writer for my English teacher’s boyfriend’s security consulting firm. The term “job” should be taken in the loosest form of the word; this doesn’t even really qualify as part-time work, just like my other job building websites. But it’s something else to do when the web design work is scarce, and the pay is still way better than anything I’d get working a regular summer job. Also, it’s been interesting to learn about credit card security standards and the like.

Wow, this is turning out to be one of my crappier entries. I seem to have forgotten how to write well in the week or so since school let out. But I’m almost done, so your suffering won’t be prolonged. The final important development in my life that I hinted about in my last entry is that I’ll be leaving in four days to spend two months in the San Francisco Bay Area in California. Though I have an aunt and uncle who live in downtown San Francisco, I’m not going there to see family. I’m also not going there for an extra-long vacation, nor am I doing any kind of internship at a technology company in Silicon Valley. I’m going to college, sort of – or in other words, high school summer college at Stanford University. (*cringes at terrible prose flowing from fingers*)

I decided a long time ago that I was going to try to make this summer an interesting one – one where I actually go and do something cool rather than sit around at home writing code and doing summer homework. Spending the summer at Stanford was a little more “interesting” than I had in mind, but at least now I’ll have something better to write about in the next few weeks than summaries of new Langosta features. I’ll be staying with a roommate (who I pity already) in an actual freshman dormitory right on campus, going to my three classes as if I were a real student, and using all of the university’s student services (libraries, computer network, etc.) with the same priviliges as a freshman would have. Assuming that I complete my coursework satisfactorily, I’ll get college credit for my classes, both at Stanford and probably at other universities as well (seriously, how could a school refuse transfer credits from somewhere as prestigious as Stanford?). And I’ll get a chance to experience college life a year early, which is probably what I’m the most excited/anxious about.

Actually, lately the excitement I felt after receiving an acceptance letter back in May has begun to wane a bit, replaced with outright nervousness. I don’t really know what to expect. I don’t know who my roommate is, or if I’ll like him, or what my classes will be like, or if I’ll be able to handle the coursework. I don’t know if I’ll be able to take care of myself for two months, though I’m probably more independent than most kids. I guess the whole point of going is to find answers to all of these unknowns, but I’m not the sort of person who likes to just go do something without really feeling sure about it. At the same time, though, I keep thinking that I wouldn’t have been accepted if the university didn’t think I could handle it, though the “me” described on paper is not exactly the same person as the real me. And I think I just worry too much about everything, so part of me just wants to cast all of the thoughts and assumptions about Stanford aside and take things as they come without any kind of prediction or prior knowledge. But at the same time I know I really can’t.

I do know a few things, though. I know that the other kids in the program are going to be at least as intelligent as me (probably way smarter), and I know that no kid would choose to spend his or her summer at a university unless they were truly serious about their education. I know that the people at the university who run this particular program will be trying their best to make sure the students have a positive experience, both because we forked over a fairly large chunk of cash in order to go and because there’s a chance that we will be attending the university in the future and forking over even larger chunks of cash then (I think it’s something like $30,000 per year for tuition). I know that if I go with the goal of having a good time and learning a lot, then I will, because there are simply too many positive forces acting to my advantage for that to not happen. And I know that’s naïve, but I don’t care. It helps to think that.

I am so done now…my writing isn’t accurately reflecting my thoughts, so I’ll have to try again tomorrow or maybe later on tonight. Anyway, here’s a list of my classes, just so you know (all quotes are from the Stanford course description):

Programming Methodology
“Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language. No prior programming experience required.”
US-China Relations: From the Opium War to Tiananmen
“The history of turbulent relations, military conflict, and cultural clashes between the U.S. and China, and the implications for the domestic lives of these increasingly interconnected countries. Diplomatic, political, social, cultural, and military themes from early contact to the recent past.”
Calculus
“The basic notions of calculus: derivatives and integrals. Elementary techniques of computation and applications.” (Won’t this one be fun!)

Comments are always nice, by the way (*sobs* No one says anything to me anymore. *end sobbing*). Email me if you have any issues logging in or posting your comments (it might be a good idea to copy your comment to the clipboard [or whatever your OS calls it] before clicking the button to post it just in case Langosta feels temperamental).

Langosta 1.3 is Finished!

Thursday, June 15th, 2006

After about a two-month hiatus, Brettia is back and better than ever because of the completion of Langosta 1.3, the latest version of my homegrown CMS. With just over 20,000 lines of code (without libraries), this is the biggest Langosta release ever. In eight months, I have resolved 37 tickets – a huge number compared to 1.2.0’s nine tickets. Among the more major new features are:

  • Separation of common code from the main Langosta distribution (my core libraries can now be reused in other projects)
  • Grouping of MVC code into modules, which can contain actions, views, and datatypes
  • A brand new dispatcher daemon similar to that used by Ruby on Rails that can direct incoming requests to specific views or actions using a routing system
  • Configuration overlays – now common configuration information can act as a base for all Langosta installations, and for customization, only specific keys need to be changed, not the entire configuration file
  • A new system for filtering output that works around a PHP 5.1 regression and yet still remains flexible (simply specify the properties you want to filter and the filters you want to run, and away you go)
  • A calendar for the blogging system showing recent entries
  • More advanced on-the-fly data object caching for improved performance
  • CRUD actions and views for pages
  • Adherance to a user-specified timezone when computing dates
  • Numerous fixes to make Langosta run perfectly on PHP 5.1
  • Lots of other internal fixes and improvements

Okay, so even though a lot of work has gone into this release, not much of it is visible to you, the end user. I know. But hopefully that will begin to change now that Langosta has a more solid base for me to work from. To give you an idea of how quickly new things can now be developed, I wrote all the code for adding, editing, and deleting pages (only visible to admins like me, sorry) in about an hour. From scratch, this would have taken days to write and debug completely. Langosta is rapidly becoming similar to a much-less-refined PHP version of Ruby on Rails, but without the glitzy Ajaxy goodness.

So what’s coming in the future? Well, nothing much in the near-term, unfortunately. The 1.3.1 release will bring small fixes, such as the ability for users to reset their passwords by themselves. None of the 1.3.x releases after the current one will add any major new features or rewrites, but I’ll be working at the same time on 1.4.0, which will contain some fairly radical changes, such as:

  • At least one major AJAX feature (live search is currently top on my list)
  • Data object collections – currently, Langosta passes most of its data around as datatypes, which are just glorified arrays (or hashes, as you might know them if you don’t use PHP); collections would act as a way to group and sort data objects as well as look up certain groups of objects using a search term or specific conditions
  • Continued modularization – modules will have their own templates as well as view, actions, and datatypes
  • Unit tests – in a perfect world, every Langosta and Sangre class would have test cases written for it so that after each code change, a test harness could be run to check the code for logical errors such as API breakages
  • Database user sessions – using a database as a backend for sessions instead of PHP’s default flat-file system would allow me to show how many users are browsing the site at a given moment as well as who is logged in
  • Autotagging – a holdover from the 1.3.0 release, this would suggest tags to me when I’m tagging a new piece of content based upon the content’s text and on past tag usage
  • A linkblog using links from del.icio.us
  • Live weather for Oconomowoc on the sidebar

Currently, I’m rushing to finish Langosta 1.3.1 sometime in the next week. I have no idea when the 1.4 release will occur due to certain circumstances that I will soon find myself in which I cannot yet mention (*suspense!*). I’ll write again tomorrow about what exactly those are, and about numerous other things that I haven’t had a chance to write about because of my little self-imposed vacation from blogging (as if I haven’t been producing crappy work all this year anyway…).