Monthly Archives: May 2010

GRE

This past Monday morning, I took the GRE General Test in preparation for filling out grad school applications and applying this coming year. It’s strange to think that I may only have one year left in East Lansing, or less than a year if some of my next summer plans pan out. My list of potential grad schools will invariably shift as I dive deeper into the specific programs I want, or figure out what the specific programs I want are. I sent my GRE scores to MSU, UMich, Stanford, and CalTech, because I know that I’ll be applying to those four (or am about 95% sure I will be), but as for the rest, I have no idea.

But since that’s still a ways off, let’s talk about the actual test. I awoke around 0630, way ahead of my set alarm, after not being able to really sleep the night before. I kept tossing and turning, vocabulary words running through my head, worries about analogies and writing essays sneaking into my slumber. Notice that none of these involved Math, since I knew that I could easily get in the 700s (and my two practice test did just that), and that would be relatively fine by me. I knew that the Physics subject test, which I’m taking this fall, would mean more for my applications than the general test, so I wasn’t too worried if I got a little less than I anticipated on the score.

So, when I woke up, I ate a quick breakfast, got dressed in my lucky shirt, and paced around the apartment for an hour reading through vocabulary words while waiting before I needed to leave for the Student Services Building. My exam wasn’t until 0830, but I wanted to get there in plenty of time to try to relax and clear my head of anything but the necessary information before the test. I arrived, filled out a sheet of information, and waited for my clipboard number to be called to actually enter the testing center. Of course, after said number was called, I then had to exit the center to deposit everything (including my apartment keys…?) into a locked locker in the next room, give the key back to the testing center personnel, and then enter the actual testing center. I couldn’t even use the three mechanical pencils I brought!

I sat down at my assigned chair, and my heart began to race. This was it! I was finally taking that first step toward entering graduate school, and all I had to do was take an exam on a computer. I went through the guide to using a computer that introduces the GRE, just to calm myself down, and started the essays. I instantly recalled all of my AP Language memories as I wrote the essays, primarily those about impromptu constructions. Combined, I only spent about two-thirds of the time on them, but that was all I needed. I typed them out, read through them again, made a few edits and additions, and I was set (with each of them occurring in turn, of course). I finished, and raised my hand to be excused from my workstation.

My ten minutes break started, but really all I did was grab my snack, go to the bathroom, eat most of my snack, and went back to the testing center. From there, I knew that I only had three more sections to do, two of which would be the graded Verbal and Math sections. First on the agenda: Verbal. This was what I had been dreading through hours and hours of vocab words, analogies, antonyms, and everything else involved. This is what I spend basically all of my time on, knowing that I needed to improve my vocabulary and learn English in order to do well on this section. I took my time on the thirty questions, taking up almost all of the allotted time, and breathed a sigh of relief. I felt that I did pretty well on it, about as well as I did on my practice tests, which were both low 600s and fine by me.

Next up, my forte: Math. This I wasn’t worried about, but knew that I just needed to relax and take my time and I could score in the high 700s. That’s exactly what I did: I solved each problem, double-checked my work, thought about things, double-checked that I solved for the correct variable (which almost sunk me on one problem), and checked off the answer. I finished that section with a few minutes to spare, knowing that I did well on it. I clicked on the “Next” button a few times to advance, knowing that my last section would either be Verbal or Math, while silently saying to myself “Please be math, please be math, please be math” over and over, knowing that my brain might not be able to take another dose of vocabulary, especially after two hours of test-taking.

…and I had another Verbal section. My heart sank when I read those words at the start, but then it immediately turned to the fact that the first Verbal section might not be graded and I would need to do well on this one as well. So, I hunkered down and went through the questions, taking my time but making sure my brain didn’t linger on a single problem for too long. I hit the five-minute mark, and was greeted with a lengthly passage that I needed to read and answer questions on. I knew that I could either read and understand the passage, possibly running out of time while answering the questions, or I could skim the passage and still answer the questions. I chose the second idea, and finished the last question with thirty seconds to spare.

And my GRE was complete! All I had left to do was look at my scores and send them out to up to four schools (I chose MSU, UMich, Stanford, and CalTech, as mentioned previously). But before I did that, I needed to worry and wonder at what my scores were as my pointer hovered over “Next.” I clicked, and I read, and I had to stop myself from shouting out in the disturbingly quiet testing center. I had to restrain myself on the chair and I read over the scores again, making sure that I had read them correctly the first, second, and third times. Then I read them over again, just to be really sure. I wrote the scores down, still not believing it, and clicked “Next.”

I earned a 550 on the Verbal section, and an 800 on the Math section! I still couldn’t believe it as I filled out the score report form, barely able to contain the smile on my face. I stood up, walked out of the room (still beaming), and went to the desk to collect my things. “Would you like to write down your scores?” she asked after I signed out of the testing center. “Yes I would!” I almost shouted back, the smile still arcing across my face. She handed me a small purple slip of paper, and I wrote down those two numbers, proud of what I had done in the room. My hot walk back to the apartment was filled by me texting and calling friends and family, bubbling over with excitement.

And then, I sat down, decided to take a shower, and I relaxed. I relaxed like I had never relaxed before. Yes, my Verbal wasn’t quite as high as I wanted, but with the perfect score on the Math section, I knew that I wouldn’t be retaking the General Test. Now, all I have left is the Physics Subject Test and to fill out the applications, followed by a long process of wishing and hoping. It is good to know that a large portion of the entire process is complete, and I’m glad that it went as well as it did.

I figured that I’d split the programming part off, since I’m working on another large portion of the game, so I’ll post that up later.

STS-132 and the Final Flight of the Atlantis

For Carla, who unfortunately was “dash k”-ing in Russia during the launch and without I wouldn’t have had this experience. Thanks XO!

Skip ahead to launch day.

PRE-LAUNCH
On Wednesday afternoon at 2000 EDT, I left my home in Michigan and headed south for Florida. I’ve been planning and anticipating this trip for a while, but I still was shaking from all of the adrenaline flowing through my veins. I still had basically two days before the launch, and I was already feeling like this! I didn’t really sleep the night before, and only had a quick nap Wednesday afternoon (after hanging out with my high school Physics teacher for an hour), so I was severely banking on that adrenaline to get me through the drive down. My older sister took the first driving shift while I pretended to sleep in the front seat. I just couldn’t bring myself to falling asleep, and I just pictured previous launches over and over again in my head.

I took over control just after 0000 Thursday, just in time to cross over the borders to Kentucky and Tennessee. For those who haven’t driven down this part of I-75, it is miles and miles of hills and valleys and switch-backs, plus for whatever reason it was extremely foggy, so I had visibility out to maybe 300 meters. Thankfully, since it was so late, there weren’t really any other vehicles on the road, so I only needed to watch the road and not other drivers. The fog stuck around for around an hour and the hills a few more. Over time, I lost track of where exactly I was; all I knew was that I was to keep heading south on I-75 for as long as I could. I turned over control reluctantly to my mom for the last couple of hours, taking us into Atlanta.

Since my sister couldn’t move into her apartment until Friday, she and my mom stayed in a nearby hotel on Thursday. I helped them move in their bags and grabbed some breakfast (followed by another short “nap”) before grabbing the keys and my mom’s camera and leaving the complex. I was finally on my way to the launch on my own! When I first learned that I’d be seeing the launch, this was my initial plan for the entire drive which would’ve given me much more flexibility in drive times and locations (i.e. wouldn’t have gone through Atlanta during rush hour times on the return journey), but having some breaks from driving were also nice. I hopped back on I-75 and headed south, roughly six hours from my hotel in Daytona Beach.

The drive didn’t start out so smoothly, however, due to what else was also heading south on I-75 at that time. Right after leaving the city, and noticing the drastic thinning off of traffic, I thought that I’d be home free until the exit for Daytona Beach. I, of course, was wrong, as a wide-load truck taking up two lanes and every other driving not knowing how to handle it set me back close to forty-five minutes heading down. I don’t know exactly what it was, but I looked like a giant anchor for a barge (it was covered, obviously, or else I’d know for sure). Every time a gap opened up on the right side, ten cars tried to zip through, but driving slowly, only to have a semi send them all back behind the truck and four-car escort. When I finally had my turn, I surged past and immediately switched into the left lanes to get far ahead of that disastrous mid-route event.

Once that was over, my only hiccups were stopping for gas and food (plus burning two CDs to save myself from non-stop country music or silence), and I arrived at my hotel around 1600. I checked in, took a quick shower, and got dressed in some shorts (I was still in my jeans back from when I left Michigan) and an undershirt and threw my backpack and a nice shirt into the back on the car. I left the hotel around 1630 and headed south to Cocoa for the cocktail party/dinner for Garrett Reisman, for which I was graciously invited by extension and at which I’d be the only person I knew. But no matter, I still figured the food and possibly talking to some interesting people were reason enough to head down and add two hours (one out and one back) to my total time behind the wheel.

As expected, I knew no one there (and only got mildly lost on the way there), so I quickly made my way to the open bar to grab something to drink before getting in line for food. Looks like those were my priorities back then… After slowly drinking while the servers loaded my plate with pasta, chicken, and salad, I turned around and asked the couple at the first table I saw if it was ok if I sat with them. Thankfully, they either recognized that I was obviously there alone or figured that they wouldn’t need to talk to me even if I sat down, so they let me sit with them. I took a seat across the table, had a few bites of my salad, and asked, “so how do you know Garrett?” knowing full well that they’d ask the same in return so that I could prove to them that I hadn’t just wandered in off the street. Mark and his wife (as I soon found out) were a very nice couple, and thankfully after me stumbling over my words for the first few responses, we actually had a nice conversation going (making me feel worse that I can’t remember his wife’s name…). After about an hour of eating, talking, and cake consumption, the couple got up to leave. I stuck around for about five minutes more, signed Garrett’s book on my way out, then left the community center and headed back to my car.

It was at this point when I had a sudden realization that I could miss the launch the next day. The plan for launch day was for our group to meet up in Orlando (where everyone but I was staying), then drive to KSC early in the morning. This meant that I would be waking up around 0630, or possibly earlier, to fully wake up and get over to Orlando before our group left, which also meant that I had about eight hours to sleep that night (when drive time back to Daytona Beach was taken into consideration). I knew that, with my college-acclimated sleep schedule combined with my lack of sleep over the past two days, it was not a good plan for me. Images of me waking up at 1420 kept flashing in my head on the short walk to my car, so I knew what I had to do.

A few days earlier, Darrel had offered for me to spend the first night in his and Amy’s (his wife) hotel room, since they had an extra bed. I initially declined, thinking, I’ve done 14/16-hour drives before no sweat, so I should be fine. How wrong I was, especially considering that I may or may not have been hallucinating on I-10, when I still had around four hours total of driving left to do that day. I quickly called up Darrel, talked with Amy, and thankfully coaxed my way into spending the night with them. I made a quick stop to buy a water bottle and a bag of Chex Mix for launch day, then arrived at the hotel. I immediately apologized for my incoherent phone ramblings, described what I’d gone through, and thanked the two of them endlessly for letting me stay. After a quick e-mail check, I pulled back the blanket and lied down on the spare bed, still in my clothes, and fell asleep. It was about 2100, and I don’t think I snored, but I never did ask (and I’m not entirely sure if I do snore, but depending on how exhausted I am that would probably change). And that’s day one…

LAUNCH
I woke up the next morning just after 0700 (when my alarm went off), and felt great! Ten hours straight of sleep will really do something to you, and I’ve possibly never felt more refreshed in my whole life. Definitely more refreshed than I’ve felt at any point this last year by a long shot. I brushed my teeth, got dressed in my MDRS-89 t-shirt, and went down with Darrel and Amy to breakfast. Soon after starting my waffles cooking, CMDR Brian and Amnon (of Spacepirations.com) showed up as well. Finally, the portion of our crew that would be at the launch was together! We ate and wrapped up a little food for later, then headed to the big red van that Darrel had rented in order to pick up the remaining three members of our party (Amnon had left slightly earlier, as he was part of the NASA Tweetup for the launch).

These three remaining people were “Earth” Mike (Carla’s boyfriend, and since I was “Mars” Mike, then additional identifier makes sense… I guess), Shaun, and his wife Melanie. I had never met any of them before, but throughout the day I realized more and more that I was extremely grateful that I had met and gotten to know them during the launch.

We picked up the final three around 0900 and headed east for Cape Canaveral. We stopped before hitting the thick traffic to fill up the gas tank and buy a few snacks (I purchased an Arnold Palmer, having already gotten my snacks), plus to stretch out before what we anticipated as being a few hours straight in the car. Just what I had trained for with my long drives! Fortunately, we were early enough that the traffic was still moving, and we got to our viewing spot sometime between 1000 and 1030, since I was too excited at this point to check the clock. Our only snag was being waved through one of the security checkpoints only to have the guard say, “wait, do you have a badge?” Darrel slamming the brakes, and Mike showing his NASA badge from the back seat before we were officially waved through (followed by jokes about bullet holes in the back and a discussion of including a do not drive into ocean clause in rental vehicle contracts).

We had around four hours to kill, so instead of putting on sunscreen, I walked around with Brian soon after arriving, ate Chex Mix, tried to take pictures of the Atlantis on Pad 39-A, talked with our group, and had a discussion with a college professor behind me about my experience at MDRS (he read my shirt). He told me that one of his students had gone a few years ago, and that a few of his former students had gone to MSU for grad school (I think…?). That led to him asking my about my fluid dynamics professor, to which I responded, “sorry, but I’m just an undergraduate.” This didn’t deter him, as he kindly informed me that sometimes grad professors teach undergrad courses. Really? I didn’t know that, especially when half of my professors need to be reminded that we’re the undergrad class midway through lecture. I kindly responded that we didn’t have an undergrad fluid dynamics course, and our conversation faltered soon after.

About two hours before launch, Brian went to snag some souvenirs that we had scouted out earlier, only to return a few minutes before the final countdown began. Everyone stood up, the crowd counted along with the loudspeakers, we watched in awe as the clouds from the exhaust completely shrouded the launch site…

And there it was! The Atlantis counteracted Earth’s gravitational pull, gradually moving further and further away from this little planet we call home. The crowd cheered, egging the proud orbiter upward! It rose in the bright blue sky, turned over, and arced across our view toward a rendezvous with the International Space Station. And then we heard the roar of the engines, which started as a low rumble that gradually rose to an ear-filling thunder. Cheers once more erupted, accompanying the engine’s blast and the smile across my face. More cheers when Atlantis made it through throttle-up intact. Cheers following solid rocket booster separation. Cheers for space exploration.

We stood there for a long time, watching the cloud plume slowly drift in the winds and catching out last glimpses of the orbiter as she started her orbit of our planet. We then picked up our things, made sure all of our cameras and phones and chip bags were with us, and walked back to the car. I still had a huge smile on my face and had to consciously make an effort not to say, “that was fuckin’ amazing!” and “so fuckin’ cool!” every few minutes, as much as I wanted to. I could barely contain my emotions, evident in the speed that I was walking around and the fact that I may have started skipping at one point…

Thankfully, Mike was able to patch us through to Carla in Russia following the launch, saving her from what would inevitably be an early death due to boredom, and we all got a chance to tell her how thankfully we were for getting us the pass and how unfortunate it was that she couldn’t be there. I have no idea what my exact words were, since I was still in my post-launch high, but I’m pretty sure I threw in a joke or two amid my ramblings. Or, at least I’d like to think I did. Following our phone conference, we decided that, instead of sitting in traffic for three hours, we would be going to the KSC Visitor’s Center for three hours (about) before heading to Fishlip’s for a post-launch celebration.

I agreed. The last time I was at KSC was twelve or more years ago, and since I only remembered two things (the rocket garden and explorable shuttle exhibit), I was eager to go back. Since this was my first, and potentially only, shuttle launch, I wanted to get the full experience from it. After entering, we broke up into groups, with me tagging along with Melanie, Mike, and Shaun. We stopped by the rocket garden, the environmental exhibit, the shuttle exhibit, mission status tent, and finally the IMAX theatre to watch Hubble 3D. It wasn’t bad, but we all agreed that showing more sweet images (especially if they did the cool fly-through that they did with the Orion Nebula) and used a different narrator than Leonardo DiCaprio would have made the film much better. Once we got out of the theatre, it was almost group rendezvous time, so we ducked into the gift shop (I bought an STS-132 mug) before joining up at the entrance.

From there, we traveled to Fishlip’s, where I had three beers (two courtesy of Shaun) and some (much ridiculed, also courtesy of Shaun) chicken tenders. It was also sometime while there that the sunburn that I had accumulated on my arms, neck, and face started hurting, but thankfully most of that pain was drowned out by the euphoric sensation still pumping through my veins. It was great to just sit and relax while joking about the fish show on the television or discussing why people actually use Twitter, plus the food wasn’t half-bad either. We left sometime around 2100 for Orlando after sitting around for two hours. I said good-bye to Brian, since he was staying behind with Amnon and I wouldn’t see him before I left, then hopped in the car. We dropped off and wished our farewells to Melanie, Mike, and Shaun first at their hotel, then Darrel, Amy and I went back to their so that I could get my car and head back to Daytona Beach.

POST LAUNCH
I returned to my hotel around 2330 or so. I grabbed my things from my car and brought them in, dropped everything off on my extra bed, locked all three door locks, then took a shower. I really just wanted to let the cold water run over my sunburns, which felt nice, but I also figured that I should shower before sitting in a car for twenty more hours (and I didn’t want to wake up early the next day to shower). With the launch and seeing my old crewmates and meeting new people finally over, I could start to relax and calm down. I dressed in my pajamas, turned on the TV, and watched a few shows before falling asleep. I set my alarm, packed up a few things, and fell asleep.

I woke up the next day at 1000, ready to start my trek back to Michigan. I dressed lightly (really just shorts and an undershirt), checked out of the hotel, and left Daytona Beach. On my way out, I made a stop at a Target to get some aloe lotion for my burns and at Friendly’s to get a much-anticipated coffee Fribble, which I had been waiting for since I saw the Friendly’s on Thursday afternoon. I hadn’t had one in around a year, so I was already salivating when I went inside to order it. My only regret is that I only bought one, but at the same time one was delicious! With that shake securely in my car, I finally set out from Florida.

My first stop was about 2.5 hours later. I ran into a McDonald’s after getting on I-75 from I-10 to have a few cheeseburgers, then filled up the gas tank. I figured that both would take me through to Atlanta, since I also had some snacks I could munch on should my stomach need some more filling. The drive was much calmer than down, partially due to the fact that I wasn’t against a clock to get anywhere. Good thing too, as once I entered Atlanta on I-75, I was bogged down in bumper-to-bumper traffic. I quickly learned that two of the seven lanes were closed for construction, causing the highway to come to an almost absolute standstill. Thankfully, I hadn’t finished my Chex Mix earlier, so I happily ate that while listening to the CDs I had burned. I don’t even think I minded the traffic that much, especially since I was already ahead of schedule for when I would be arriving at my sister’s new apartment.

When I finally pulled in after a few wrong turns, I was stunned at how nice it was! The apartment complex was spread out over three distinct areas in a secluded and wooden neighborhood, each with their own pool, exercise room, laundry facilities, etc. The apartment were also further subdivided into residence-style blocks, further adding to the feeling that this was like a resort. And my sister will be living there for three months! My mom and I hung around there for about an hour before gassing up and starting the last leg of the trip back to Michigan.

I was rightly exhausted, so I quickly fell asleep in the front seat while my mom drove on the first leg. This sleep, however, was punctuated by bumps and shakes in the road, the general uncomfortableness of sleeping in a car, and a lone nightmare that ended with me punching the roof of the car. On the whole, though, it was a successful extended nap, more than adequately prepping me for the rest of the drive. I took over the wheel in Kentucky around 0130 on Sunday, and from their I just drove straight back to Michigan (only stopping for some gas).

And, at 0600, I was back home, the trip ended. While the entire experience would’ve been much more memorable had the entire MDRS-89 crew been there, I still had a great time, met some great people, and thoroughly enjoyed watching the final launch of the Atlantis.

PyGame Progression

For those still waiting for my post-STS132 launch post, you’ll have to wait a few more days. I’m almost done writing it, but then I’ll need to go through and add links and pictures and all that good stuff, which should take a while. For now, though, a quick detour away from studying for the GRE (yes, I am actually studying, as much as it may seem that I’m not) and other recent events in my life.

Red Mars – Part 3
Remember this post? Well, behind the scenes, I’ve done quick a bit of work on the game. My initial plan was to have the movement (just movement) be a mix between The Legend of Zelda and Pokémon, since I liked the free-range movement of Zelda and the smooth scrolling of Pokémon. Well, I finally figured it out!

I just had a “Eureka!” moment while porting Ground Assault 83 (Note: link isn’t to the TI-83 version… Check Sicode’s website), a game I didn’t really play back in high school but more used it to help my TI-BASIC programming skills for some other games. I think it was the first one where I actually went in and looked at the coding, changing a few things here and there to see what would happen, and figuring out the mechanics of TI-BASIC programming. I thought it would be a fun little challenge to port it directly to PyGame, plus I could then try to develop an AI for it afterward. Just something that popped into my head to do.

Since the movement for that game is grid-based, I was already working with the mechanics for the Pokémon movement system, albeit in a simpler form (i.e. no animation). After fusing with moving things around on the game board, I decided that I should probably just work on my actual game to figure out those things, since I’d be encountering similar difficulties. After a few minutes, I had it… or, at least I was close. I was more concerned with the changing background while keeping the sprite centered, so I took out any collision detection I had implemented previously.

Once that was done, I decided to figure it out with the free-range motion scheme I’ve been using. Movement was fine, but collision detection? It wasn’t working, so I looked back at what the collision detection algorithm I had written would actually check. There was my problem: since the character sprite was simply sitting in the middle of the screen, he would never encounter the rectangles I use to mark impassible terrain, even though the terrain appeared to be moving around. I added a handful of lines to the actual movement section to update both the background screen and the relative position of the character in reference to the rocks, and I had it!

Not bad for a night’s work, and all I had to do was create two new variables…

For those interested (Not the full code, since much isn’t related at all to the problem at hand. This is really all I needed to change in the program: the addition of two variables and updating both those variables and the player’s position relative to the rocks. I also had to change my screenblit command, done so by simply adding the x_shift/y_shift offset to the location of the individual sprite rectangles):

x_shift = 0
y_shift = 0
[...]
    if MOVE_DOWN:
        y_shift -= MOVE_SPEED
        player_position.top += MOVE_SPEED
        for rock in rocks:
            if collision_detect(player_position, rock):
                y_shift += MOVE_SPEED
                player_position.top -= MOVE_SPEED