I remember that during my senior year of high school, there was some unofficial competition among friends to get the lowest final grade possible without ``Asian-failing." That is, to do as poorly as possible on graded assignments without getting the dreaded B+. The GPA cutoffs was set such that an A [93%, 100%] was a 4.0/4.0, A- [90%, 93%) was a 3.8/4.0, and B+ [87%, 90%) was a 3.3/4.0, so dropping from an A- to B+ is a much bigger deal than dropping from an A to A-. This game was certainly fun to play, but at that time I didn't understand the reasons that we participated.
It turns out that costly signaling could explain this phenomenon. Costly signaling, or the handicap principle, is a behavior that is costly for all groups, but more costly for the ``worse'' group than it is for the ``better'' group. In this case, better and worse are in terms of ability to do well in class and cost is the expected grade, which is related to the probability of sinking below 90% and the probability of being able to rescue a failure. I assume that the less smart kids have less control over their performance on assessments since they probably (1) can correctly answer fewer questions and (2) are more prone to make trivial errors.
Riskier variations include playing the game below senior year, during which grades are more valuable (since colleges will see them), or at MIT. I wonder how the brave souls at the Institvte would do, since the cliff between an A- (5.0/5.0) and a B+ (4.0/5.0) is massive.
Showing posts with label BCA. Show all posts
Showing posts with label BCA. Show all posts
29 October 2013
31 December 2010
Year in Review: 2010
Ten Tech Moments
Ten Twelve BCA Moments
Ten Automobile Moments
The year of fail is [almost] over!
- 3D invades CES
- iPad arrives
- iPhone 4 prototype leaked by Gizmodo
- Kin One, Kin Two, Kin…BOOM
- iPhone 4 Antennagate
- Android takes off
- PS3 gets hacked
- Internet TV becomes relevant
- Windows Phone 7 is launched
- Motion gaming takes off with Kinect
Ten Automobile Moments
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Toyota recalls <insert model here>
- Chevy Volt and Nissan Leaf hit dealers
The year of fail is [almost] over!
Labels:
BCA,
technology
27 December 2010
RIP Dr. Ostfeld
"You were a great man and one of the pillars of the Academies. Thanks for everything you've done, and above all else, thanks for allowing me (not yet a resident of Bergen County during the time of admissions) to attend the Academies." --me
Well, that was one great bang to close the year, after a dramatic opening with Holbrook's passing. BCA will never be the same again.
===[edit]===
So finally the [useless and horrifically designed] bergen.org website has a note from Russ Davis, the principal:
Dear Colleagues,
It is with great sadness that I share with you the news of Dave Ostfeld's passing. According to his family, Dave went to see a performance of the Nutcracker last night with his sister and daughter and died of a sudden heart attack this morning.
Words cannot express the impact that Dave has had on the Academy community since it's inception and I am certain that the news of his death will be difficult for our entire staff as well as current and former students.
I will forward information regarding funeral services as soon as I receive them from his family.
Sincerely,
Russ
===[edit x2]===
Here is the official obituary:
[David L. Ostfeld Jr.] passed away suddenly on December 27, 2010 at the age of 68 years. He was born on September 17, 1942 in Chicago, Illinois of David L. and Mildred (nee Harrison) Ostfeld, who both pre-deceased him.
Surviving are his children Kurt D. and his wife Alethia, Dana C., and Mara C. Ostfeld; grandchildren Selah and Elise; siblings Craig H., Lynne R., Adrienne and her husband Donald, Bohnenkamp; numerous loving nieces, nephews and cousins.
Dave taught chemistry, served as Admissions Chair and coached the chess team at Bergen County Academies. He received his B.S. from the University of Illinois in Champaign, his PhD from Cornell University, and did post doctoral work at Texas A&M. He had become an avid genealogist and was developing an interest in agriculture and farming. He was the best dad ever.
Funeral service on Friday, December 31, 2010 at 11:00 a.m. at the Vander Plaat Memorial Home, S-113 Farview Ave., Paramus. Private Cremation. Interment Dickison Cemetery, Dunlap, Illinois sometime this spring. Family will receive friends Thursday, December 30, 2010 from 2-4, 7-9 p.m.
In lieu of flowers donations may be made in his memory to the Dr. David L. Ostfeld Memorial Scholarship Fund, Bergen County Academies, 200 Hackensack Ave., Hackensack, NJ 07601.
Well, that was one great bang to close the year, after a dramatic opening with Holbrook's passing. BCA will never be the same again.
===[edit]===
So finally the [useless and horrifically designed] bergen.org website has a note from Russ Davis, the principal:
Dear Colleagues,
It is with great sadness that I share with you the news of Dave Ostfeld's passing. According to his family, Dave went to see a performance of the Nutcracker last night with his sister and daughter and died of a sudden heart attack this morning.
Words cannot express the impact that Dave has had on the Academy community since it's inception and I am certain that the news of his death will be difficult for our entire staff as well as current and former students.
I will forward information regarding funeral services as soon as I receive them from his family.
Sincerely,
Russ
===[edit x2]===
Here is the official obituary:
[David L. Ostfeld Jr.] passed away suddenly on December 27, 2010 at the age of 68 years. He was born on September 17, 1942 in Chicago, Illinois of David L. and Mildred (nee Harrison) Ostfeld, who both pre-deceased him.
Surviving are his children Kurt D. and his wife Alethia, Dana C., and Mara C. Ostfeld; grandchildren Selah and Elise; siblings Craig H., Lynne R., Adrienne and her husband Donald, Bohnenkamp; numerous loving nieces, nephews and cousins.
Dave taught chemistry, served as Admissions Chair and coached the chess team at Bergen County Academies. He received his B.S. from the University of Illinois in Champaign, his PhD from Cornell University, and did post doctoral work at Texas A&M. He had become an avid genealogist and was developing an interest in agriculture and farming. He was the best dad ever.
Funeral service on Friday, December 31, 2010 at 11:00 a.m. at the Vander Plaat Memorial Home, S-113 Farview Ave., Paramus. Private Cremation. Interment Dickison Cemetery, Dunlap, Illinois sometime this spring. Family will receive friends Thursday, December 30, 2010 from 2-4, 7-9 p.m.
In lieu of flowers donations may be made in his memory to the Dr. David L. Ostfeld Memorial Scholarship Fund, Bergen County Academies, 200 Hackensack Ave., Hackensack, NJ 07601.
26 December 2010
25 December 2010
Visiting the Academies
As a good crvft (MIT speak for alumnus), I visited BCA this past Tuesday and Thursday =D Tuesday was for general lols and Thursday was for the Alum breakfast.
Since I don't live in Bergen County anymore, I had to take the NJ Transit bus to school, while everyone else could take the school bus or drive. This sucked because I paid $3 each way for a long and uncomfortable ride, while the same $3 could pay for a gallon of premium gas and the trivial wear and tear on a car. An easy 10-minute trip turned into a 40-minute bus ride + 0.8 mile hike along Hackensack Ave was not fun.
Unfortunately, when I stepped in the building, the deskworker recognized me, so I couldn't slip by without an ID tag. I then went to the former math team room and talked with Nevard, Abramson, Pinyan, and Ben Yang for an hour and also met the new interim math team coach, Jeff Worcjak. After an hour, I went to troll Mr. Sam and saw Alex Lam along the way. Mr. Sam insisted that our poor performance at MIT caused all the early applicants to get deferred/rejected. Then I had lunch at Boston Market, which is now really darn classy for a fast food restaurant.
The afternoon was when all the fun began. When we were done eating lunch, I realized that we were half an hour late for Data Structures, so we rushed there. We then barged in the class, to everyone's amusement, and then I settled down and beta-tested pongmegrenades (still vanilla pong at this point). Topics was right after Data Structures, but we had to leave not long after to prepare for the troll.
What is this troll, you ask? If you recall from last year, the section of AP Physics C that I was in gave Galitskiy hell. Nightmares. Migraines. So as the kind people we are, we decided to replicate that experience by sneaking into his class and taking our usual seats. So at 14:00, about eighteen crvft (people from my section, people not from my section, people who didn't take AP Physics C, and older alum) gathered in the second floor hallway to prepare to invade his class. Luckily for us, Galitskiy didn't have class this hour so we wouldn't disrupt anything important, but he was in his classroom prepping. When he left for lunch at around 14:15, we snuck in the classroom.
Galitskiy then returned and was shocked that he had a full class before class started. Treating the situation as a regular class, he rolled his n-die, which landed on 18, so Scott Lee (who never took AP Physics C) had to present. Luckily for Scott, Fahmid took the stage and started explaining us the dolphin, which we established last year that it could not do physics. A bit before 14:25, the real AP Physics class came in and was shocked that all the chairs had been occupied, so they just took the lab tables as Galitskiy shooed us out. Never have we heard him eagerly say "Guys, get out, it is two twenty-five and I have to teach a class!"
The last item in my agenda was computer team. It was great seeing familiar faces and new faces in the club :3 I decided to give a guest lecture about practical advice (totally not computer science related) as a gift. Unfortunately, setting up the presentation took a bit of work because Keynote complained that my DisplayLink USB to VGA adapter had "not enough VRAM". I tried rebooting the computer with the adapter attached (the internet indicated that this could work), but to my dismay, it didn't. During the reboot process, one of the csteamers asked, "How long will the reboot take?" and I said, "Oh, probably 5 seconds." He began to count out loud, and when he reached "THREE," the Mac OS X desktop loaded. Everyone was blown away.
===
Thursday was the Alumni Breakfast, so I didn't expect to have much trolling time. Nothing much was going on before the breakfast, so I said hi to some teachers again and hung out with crvft and some seniors. During the breakfast I saw some crvft (Julia-san and George Hotz, in particular) I didn't get to see earlier during the day or on Tuesday. George still seemed the same pwnage person he always was (unfortunately I forgot to ask him about USACO). Apparently I'm the first MIT-er that he talked to at the breakfast, after asking approx 10 other people if they "were at MIT." I also talked to Eric Zhang (AAST '00 and MIT '04), one of the freshman biology teachers. He was surprised that I took 6.172 ("the new 6.170") as a frosh xD After about an hour of jabbering, I left to go home.
Since I don't live in Bergen County anymore, I had to take the NJ Transit bus to school, while everyone else could take the school bus or drive. This sucked because I paid $3 each way for a long and uncomfortable ride, while the same $3 could pay for a gallon of premium gas and the trivial wear and tear on a car. An easy 10-minute trip turned into a 40-minute bus ride + 0.8 mile hike along Hackensack Ave was not fun.
Unfortunately, when I stepped in the building, the deskworker recognized me, so I couldn't slip by without an ID tag. I then went to the former math team room and talked with Nevard, Abramson, Pinyan, and Ben Yang for an hour and also met the new interim math team coach, Jeff Worcjak. After an hour, I went to troll Mr. Sam and saw Alex Lam along the way. Mr. Sam insisted that our poor performance at MIT caused all the early applicants to get deferred/rejected. Then I had lunch at Boston Market, which is now really darn classy for a fast food restaurant.
The afternoon was when all the fun began. When we were done eating lunch, I realized that we were half an hour late for Data Structures, so we rushed there. We then barged in the class, to everyone's amusement, and then I settled down and beta-tested pongmegrenades (still vanilla pong at this point). Topics was right after Data Structures, but we had to leave not long after to prepare for the troll.
What is this troll, you ask? If you recall from last year, the section of AP Physics C that I was in gave Galitskiy hell. Nightmares. Migraines. So as the kind people we are, we decided to replicate that experience by sneaking into his class and taking our usual seats. So at 14:00, about eighteen crvft (people from my section, people not from my section, people who didn't take AP Physics C, and older alum) gathered in the second floor hallway to prepare to invade his class. Luckily for us, Galitskiy didn't have class this hour so we wouldn't disrupt anything important, but he was in his classroom prepping. When he left for lunch at around 14:15, we snuck in the classroom.
Galitskiy then returned and was shocked that he had a full class before class started. Treating the situation as a regular class, he rolled his n-die, which landed on 18, so Scott Lee (who never took AP Physics C) had to present. Luckily for Scott, Fahmid took the stage and started explaining us the dolphin, which we established last year that it could not do physics. A bit before 14:25, the real AP Physics class came in and was shocked that all the chairs had been occupied, so they just took the lab tables as Galitskiy shooed us out. Never have we heard him eagerly say "Guys, get out, it is two twenty-five and I have to teach a class!"
The last item in my agenda was computer team. It was great seeing familiar faces and new faces in the club :3 I decided to give a guest lecture about practical advice (totally not computer science related) as a gift. Unfortunately, setting up the presentation took a bit of work because Keynote complained that my DisplayLink USB to VGA adapter had "not enough VRAM". I tried rebooting the computer with the adapter attached (the internet indicated that this could work), but to my dismay, it didn't. During the reboot process, one of the csteamers asked, "How long will the reboot take?" and I said, "Oh, probably 5 seconds." He began to count out loud, and when he reached "THREE," the Mac OS X desktop loaded. Everyone was blown away.
===
Thursday was the Alumni Breakfast, so I didn't expect to have much trolling time. Nothing much was going on before the breakfast, so I said hi to some teachers again and hung out with crvft and some seniors. During the breakfast I saw some crvft (Julia-san and George Hotz, in particular) I didn't get to see earlier during the day or on Tuesday. George still seemed the same pwnage person he always was (unfortunately I forgot to ask him about USACO). Apparently I'm the first MIT-er that he talked to at the breakfast, after asking approx 10 other people if they "were at MIT." I also talked to Eric Zhang (AAST '00 and MIT '04), one of the freshman biology teachers. He was surprised that I took 6.172 ("the new 6.170") as a frosh xD After about an hour of jabbering, I left to go home.
03 August 2010
End of Senior Year
This post will detail events happening in June, mostly.
5 May: Yay, birthday! Hannah gave me a plateful of brownies, which I distributed to my colleagues and Dr. Nevard during internship. By this time, Mr. Vidal was banned from entering BCA (long story; I'll probably cover this later in much more detail), so we decided to go to a nearby restaurant to have lunch. Because we were all tired of Boston Market and did not want to go to the Coach House diner, we decided to meet at Brooklyn Pizza. Little did we know that we were not allowed to cross the street, despite being at internship (I'm pretty sure that everyone who works off campus is allowed to do so). We found out, while walking to the restaurant, when we encountered a teacher, who lectured us on campus policies and subsequently reported us to the vice principal. Thankfully, none of us received detention; he just lectured me when he saw me in the hall.
2 Jun: Senior experience presentations. Unfortunately, I had the privilege of presenting to Ms. Anderson, one of BCA's incompetent and arrogant technology teachers (I say technology because it's really that; she thinks that she's teaching computer science). I was also quite surprised that we had a full house, considering that the internship wouldn't exist next year. To finish this with a blast, I decided to troll the slideshow (including trollface and playing Always on the last slide). On one of my slides where I had to describe Monte Carlo integrations, I was able to refer to the Riemann-Zeta function (it was so relevant and fitting!) while explaining the canonical pi calculation example. The handouts, in particular, were awesome: we made two versions, one with a legitimate overview of the internship for the teachers, and one with a hilarious description filled with puns and memes for the students. At the end, several students commended us on our successful troll attempt. Regardless of our mischief, I received an A for the trimester and the year. Win!
3 Jun: CompSci Day. This was actually another of Mr. Vidal's brilliant ideas, but was run by some CompSci Families parents instead (for obvious reasons). It was a luncheon for all students interested in computer science and featured some students who wanted to present their projects. Of course, I took the opportunity to present Battleship visualizer, the [formerly] ongoing Computer Team activity. As the first one to go, I presented for ten minutes on the various aspects of the Visualizer, such as Java being annoying, running external processes, how game designing is not trivial (contrary to another student's assertion that Java makes game development easy), and how two [skilled] programmers were able to put together a ~1000 line program in two weeks, with about an hour's worth of work each day. Everyone seemed thoroughly impressed (and amused -- the most important part!) by the presentation, especially the demos. :)
4-5 Jun: ARML. This was covered in a previous post. To recap, AAST Mu A finished 9th, the best in the recent four years.
9 Jun: Senior Luncheon. The class parents and teachers took us to a fancy restaurant, where we had lunch, took pictures, and signed yearbooks. The lunch was so fancy that everyone had four forks and two knives.
10 Jun: Prom. Again, this has been detailed in a previous post. This was the first of three events in which Troll, inc. (Patrick, Julia, me, and perhaps Sam, though he's always too shy to make a public move) tried to get the DJ to play Troll Music®.
11 Jun: Our hypothetical afterprom dissolved in thin air, so I stayed home for the day. Later that night I went with Dan and Sam to the mall for the night. We got dinner (teryaki for Dan, hamburger for Sam, and sushi for me), played around in the Apple store for an hour (yay Python and iOS games!), and then watched the Prince of Persia: The Sands of Time. Sam didn't mind seeing the movie twice in two weeks.
13 Jun: Joe Holbrook Memorial. It has already been almost five months since the old geezer passed away. The ceremony began at 4:30 when close friends of his and two BCA alums gave speeches, followed by dinner. At 6:30, Mark and I interviewed two candidates for the five Math Team Captain positions. They lasted until 8:00. Finally I went home.
16 Jun: Six Flags! This was my first time going to a theme park in two years. I was so excited to go on Superman, the only large roller coaster that I could withstand, but it was closed. Julia and I went on Rolling Thunder three times and screamed `CARD GAMES ON ROLLER COASTERS' pretty much on every decently-sized drop. Here is her post about it.
17 Jun: Our first graduation rehearsal. We get our caps, gowns, tickets, and picture taken. Luckily, we had no classes, but we just spent the entire day sitting in the gymnasium waiting to rehearse (we did it by academies). I spent a good amount of time watching some AEDT guys play Half Life (or whatever FPS it was) on Xbox 360.
18 Jun: Field day. Mark, Pavel, and I did final Math Team interviews and made our decision soon after. For the rest of the day we camped out in a classroom and played on our laptops. Somewhere right after lunch we played a bridge hand with Dr. Abramson.
19 Jun: Math Team Party. Mark and I passed down math team leadership to the five chosen candidates. We ate pizza.
20 Jun: Mr. Vidal's family and my family went to a local Thai restaurant to have lunch for Father's day. We talked mainly about the slew of unfortunate events that has happened at the school and I finally returned his GPU Gems book. Also Thai food is good when not very spicy.
21 Jun: Second of three graduation rehearsals. We ended up finishing approximately three hours before schedule, so we were dismissed at 11:00! Sam graciously drove me home and we played bridge.
22 Jun: Last day of school! The entire day was devoted to graduation rehearsal, but we managed to finish two hours earlier, so Sam and I hung out in Dr. Nevard's room. Unfortunately, not many people showed up to Computer Team. Oh well. At the end of the half day, I took home the ACSL prize printer that the ACSLers graciously gave to me for being their coach. I must have looked pretty weird carrying a printer out of the school XD
23 Jun: Graduation! It was a pretty basic graduation: walk on stage, listen to speeches while trying not to fiddle with hair or scratch face, get diploma, and walk (and jump) off stage, all while being filmed by over 9000 cameras. Because BCA teachers are cool, the director asked us to submit music suggestions for the song played at the end of graduation. Of course, I emailed her:
To which she replied:
What a great response XD Unfortunately, none of the songs were played. Oh well, I tried.
However, our trolling efforts were finally fruitful during Project Graduation. We were fortunate that Patrick's mom was the co-director of the event, so Patrick was able to insert the Rickroll and Always in the mix CD. To our amusement, the Rickroll did play! Pretty much everyone groaned except for the nerds, who laughed. Julia, Patrick, and I bursted in excitement that our efforts finally paid off. What a great ending to four years at BCA.
5 May: Yay, birthday! Hannah gave me a plateful of brownies, which I distributed to my colleagues and Dr. Nevard during internship. By this time, Mr. Vidal was banned from entering BCA (long story; I'll probably cover this later in much more detail), so we decided to go to a nearby restaurant to have lunch. Because we were all tired of Boston Market and did not want to go to the Coach House diner, we decided to meet at Brooklyn Pizza. Little did we know that we were not allowed to cross the street, despite being at internship (I'm pretty sure that everyone who works off campus is allowed to do so). We found out, while walking to the restaurant, when we encountered a teacher, who lectured us on campus policies and subsequently reported us to the vice principal. Thankfully, none of us received detention; he just lectured me when he saw me in the hall.
2 Jun: Senior experience presentations. Unfortunately, I had the privilege of presenting to Ms. Anderson, one of BCA's incompetent and arrogant technology teachers (I say technology because it's really that; she thinks that she's teaching computer science). I was also quite surprised that we had a full house, considering that the internship wouldn't exist next year. To finish this with a blast, I decided to troll the slideshow (including trollface and playing Always on the last slide). On one of my slides where I had to describe Monte Carlo integrations, I was able to refer to the Riemann-Zeta function (it was so relevant and fitting!) while explaining the canonical pi calculation example. The handouts, in particular, were awesome: we made two versions, one with a legitimate overview of the internship for the teachers, and one with a hilarious description filled with puns and memes for the students. At the end, several students commended us on our successful troll attempt. Regardless of our mischief, I received an A for the trimester and the year. Win!
3 Jun: CompSci Day. This was actually another of Mr. Vidal's brilliant ideas, but was run by some CompSci Families parents instead (for obvious reasons). It was a luncheon for all students interested in computer science and featured some students who wanted to present their projects. Of course, I took the opportunity to present Battleship visualizer, the [formerly] ongoing Computer Team activity. As the first one to go, I presented for ten minutes on the various aspects of the Visualizer, such as Java being annoying, running external processes, how game designing is not trivial (contrary to another student's assertion that Java makes game development easy), and how two [skilled] programmers were able to put together a ~1000 line program in two weeks, with about an hour's worth of work each day. Everyone seemed thoroughly impressed (and amused -- the most important part!) by the presentation, especially the demos. :)
4-5 Jun: ARML. This was covered in a previous post. To recap, AAST Mu A finished 9th, the best in the recent four years.
9 Jun: Senior Luncheon. The class parents and teachers took us to a fancy restaurant, where we had lunch, took pictures, and signed yearbooks. The lunch was so fancy that everyone had four forks and two knives.
10 Jun: Prom. Again, this has been detailed in a previous post. This was the first of three events in which Troll, inc. (Patrick, Julia, me, and perhaps Sam, though he's always too shy to make a public move) tried to get the DJ to play Troll Music®.
11 Jun: Our hypothetical afterprom dissolved in thin air, so I stayed home for the day. Later that night I went with Dan and Sam to the mall for the night. We got dinner (teryaki for Dan, hamburger for Sam, and sushi for me), played around in the Apple store for an hour (yay Python and iOS games!), and then watched the Prince of Persia: The Sands of Time. Sam didn't mind seeing the movie twice in two weeks.
13 Jun: Joe Holbrook Memorial. It has already been almost five months since the old geezer passed away. The ceremony began at 4:30 when close friends of his and two BCA alums gave speeches, followed by dinner. At 6:30, Mark and I interviewed two candidates for the five Math Team Captain positions. They lasted until 8:00. Finally I went home.
16 Jun: Six Flags! This was my first time going to a theme park in two years. I was so excited to go on Superman, the only large roller coaster that I could withstand, but it was closed. Julia and I went on Rolling Thunder three times and screamed `CARD GAMES ON ROLLER COASTERS' pretty much on every decently-sized drop. Here is her post about it.
17 Jun: Our first graduation rehearsal. We get our caps, gowns, tickets, and picture taken. Luckily, we had no classes, but we just spent the entire day sitting in the gymnasium waiting to rehearse (we did it by academies). I spent a good amount of time watching some AEDT guys play Half Life (or whatever FPS it was) on Xbox 360.
18 Jun: Field day. Mark, Pavel, and I did final Math Team interviews and made our decision soon after. For the rest of the day we camped out in a classroom and played on our laptops. Somewhere right after lunch we played a bridge hand with Dr. Abramson.
19 Jun: Math Team Party. Mark and I passed down math team leadership to the five chosen candidates. We ate pizza.
20 Jun: Mr. Vidal's family and my family went to a local Thai restaurant to have lunch for Father's day. We talked mainly about the slew of unfortunate events that has happened at the school and I finally returned his GPU Gems book. Also Thai food is good when not very spicy.
21 Jun: Second of three graduation rehearsals. We ended up finishing approximately three hours before schedule, so we were dismissed at 11:00! Sam graciously drove me home and we played bridge.
22 Jun: Last day of school! The entire day was devoted to graduation rehearsal, but we managed to finish two hours earlier, so Sam and I hung out in Dr. Nevard's room. Unfortunately, not many people showed up to Computer Team. Oh well. At the end of the half day, I took home the ACSL prize printer that the ACSLers graciously gave to me for being their coach. I must have looked pretty weird carrying a printer out of the school XD
23 Jun: Graduation! It was a pretty basic graduation: walk on stage, listen to speeches while trying not to fiddle with hair or scratch face, get diploma, and walk (and jump) off stage, all while being filmed by over 9000 cameras. Because BCA teachers are cool, the director asked us to submit music suggestions for the song played at the end of graduation. Of course, I emailed her:
Here are some songs I would like:
1. Rick Astley - Never Gonna Give You Up
2. Erasure - Always
Thanks!
Sherry Wu
1. Rick Astley - Never Gonna Give You Up
2. Erasure - Always
Thanks!
Sherry Wu
To which she replied:
Great songs. Thanks!
What a great response XD Unfortunately, none of the songs were played. Oh well, I tried.
However, our trolling efforts were finally fruitful during Project Graduation. We were fortunate that Patrick's mom was the co-director of the event, so Patrick was able to insert the Rickroll and Always in the mix CD. To our amusement, the Rickroll did play! Pretty much everyone groaned except for the nerds, who laughed. Julia, Patrick, and I bursted in excitement that our efforts finally paid off. What a great ending to four years at BCA.
23 June 2010
Battleship Chronicles, Part IV: Over 9000
The basic idea for Over 9000 was inspired by a TopCoder marathon match, except that in their variation multiple shots were fired in a single turn and you were only told which ships were hit without knowing which shots were the hits, and board sizes could be much larger. I was curious to see how it would do and decided to implement it with a few modifications described below. For those who are interested, the problem statement can be found here and the editorial can be found here.
Over 9000 essentially uses a brute force strategy to choose the next place to fire. For each possible ship, try to place it on every possible location. If you can place it, increment a counter of every square the ship is on by 1. Thus, if we assume all layouts of a particular ship are equally likely, we can compute the probability that a given ship will be on a given square simply by dividing by the total number of possible layouts. Consider the example grid below, where 0 represents a known miss, a number from 1 to 5 represents a known hit, and x represents an unknown square (we will consider a smaller grid for simplicity):
xxx0x
4440x
xx0xx
x5xxx
xxx0x
Suppose we are considering ship number 3, with length 3. Here are the 7 possible locations:
3330x xxx03 xxx0x xxx0x xxx0x xxx0x xxx0x
4440x 44403 44403 4440x 4440x 4440x 4440x
xx0xx xx0x3 xx0x3 xx0x3 3x0xx xx0xx xx0xx
x5xxx x5xxx x5xx3 x5xx3 35xxx x5xxx x5333
xxx0x xxx0x xxx0x xxx03 3xx0x 3330x xxx0x
If we look at the top left corner, there is only one configuration, so the probability is 1/7. However, the middle of the right column has probability 3/7 and will thus be more likely to contain this ship, so if we were only trying to find this ship then it would be the best place to fire. However, we have five ships to consider, not only one, and we would like to find the probability of a given square containing any ship using our probabilities for each ship. We will have to make one more assumption to do this and assume that the ship locations are independent of each other. Of course, this is not true due to the constraint that no two ships can overlap, but it does give a good approximation. If you look at the example grid, you will notice that there is a hit on ship 5, making the surrounding locations less likely to contain ship 3.
To compute this probability, we cannot simply add the probabilities of each ship, as this will count some cases twice. Instead, we can compute easily the probability that there is no ship on a given square, as we can simply multiply the probabilities for each ship of that ship not being on a square due to our independence assumption. Since p(not X) = 1 - p(X), then if we define p(n) to be the probability of ship n being on a given square, then the probability of finding any ship on a given square is equal to
1 - (1 - p(1)) * (1 - p(2)) * ... * (1 - p(5)). Once we get the probability for each square, then we can simply pick the square with highest probability that we have not already tried and fire there.
Over 9000 also includes some modifications to this strategy to account for the assumption that all locations are equally likely. This is of course not the case, especially since many people kept the original layouts sent with BruteForce or created their own. To counter this, every square was weighted and when the probabilities were computed, they were multiplied by the weights before determining the maximum. Over 9000's weight grid was based on the observation that human players preferred to place ships on the sides, and thus it gave the squares on the sides a higher weight than the others. In addition, Over 9000 added a small random number to the final probabilities, which had the effects of breaking ties and creating more interesting games, though it likely decreased performance slightly due to non-optimal behavior, as only one shot is fired at a time. However, this did have the positive effect of having no definite worst-case enemy ship placement, as Over 9000 would no longer be deterministic.
There are still some improvements which can be made, however. One simple improvement is to keep track of the games you play and increase the values in your weight grid as you get hits in squares, giving better results against people who play a small set of layouts. Another improvement which can be made is to consider multiple ships at a time instead of one ship, which will help offset the independence assumption. Ideally, we would consider layouts of all ships at once instead of placing single ships, but this would of course take up too much time in the early stages of the game when there is little known information.
Bob uses the same strategy, except that Bob uses only the information that a square was a hit or a miss. Also, Bob does not use either of the modifications described two paragraphs ago.
With regard to ship placement, it would usually make little difference how your ships were placed as a whole, though it was often possible to look at other programs and determine the worst case placement against their program.
Over 9000 essentially uses a brute force strategy to choose the next place to fire. For each possible ship, try to place it on every possible location. If you can place it, increment a counter of every square the ship is on by 1. Thus, if we assume all layouts of a particular ship are equally likely, we can compute the probability that a given ship will be on a given square simply by dividing by the total number of possible layouts. Consider the example grid below, where 0 represents a known miss, a number from 1 to 5 represents a known hit, and x represents an unknown square (we will consider a smaller grid for simplicity):
xxx0x
4440x
xx0xx
x5xxx
xxx0x
Suppose we are considering ship number 3, with length 3. Here are the 7 possible locations:
3330x xxx03 xxx0x xxx0x xxx0x xxx0x xxx0x
4440x 44403 44403 4440x 4440x 4440x 4440x
xx0xx xx0x3 xx0x3 xx0x3 3x0xx xx0xx xx0xx
x5xxx x5xxx x5xx3 x5xx3 35xxx x5xxx x5333
xxx0x xxx0x xxx0x xxx03 3xx0x 3330x xxx0x
If we look at the top left corner, there is only one configuration, so the probability is 1/7. However, the middle of the right column has probability 3/7 and will thus be more likely to contain this ship, so if we were only trying to find this ship then it would be the best place to fire. However, we have five ships to consider, not only one, and we would like to find the probability of a given square containing any ship using our probabilities for each ship. We will have to make one more assumption to do this and assume that the ship locations are independent of each other. Of course, this is not true due to the constraint that no two ships can overlap, but it does give a good approximation. If you look at the example grid, you will notice that there is a hit on ship 5, making the surrounding locations less likely to contain ship 3.
To compute this probability, we cannot simply add the probabilities of each ship, as this will count some cases twice. Instead, we can compute easily the probability that there is no ship on a given square, as we can simply multiply the probabilities for each ship of that ship not being on a square due to our independence assumption. Since p(not X) = 1 - p(X), then if we define p(n) to be the probability of ship n being on a given square, then the probability of finding any ship on a given square is equal to
1 - (1 - p(1)) * (1 - p(2)) * ... * (1 - p(5)). Once we get the probability for each square, then we can simply pick the square with highest probability that we have not already tried and fire there.
Over 9000 also includes some modifications to this strategy to account for the assumption that all locations are equally likely. This is of course not the case, especially since many people kept the original layouts sent with BruteForce or created their own. To counter this, every square was weighted and when the probabilities were computed, they were multiplied by the weights before determining the maximum. Over 9000's weight grid was based on the observation that human players preferred to place ships on the sides, and thus it gave the squares on the sides a higher weight than the others. In addition, Over 9000 added a small random number to the final probabilities, which had the effects of breaking ties and creating more interesting games, though it likely decreased performance slightly due to non-optimal behavior, as only one shot is fired at a time. However, this did have the positive effect of having no definite worst-case enemy ship placement, as Over 9000 would no longer be deterministic.
There are still some improvements which can be made, however. One simple improvement is to keep track of the games you play and increase the values in your weight grid as you get hits in squares, giving better results against people who play a small set of layouts. Another improvement which can be made is to consider multiple ships at a time instead of one ship, which will help offset the independence assumption. Ideally, we would consider layouts of all ships at once instead of placing single ships, but this would of course take up too much time in the early stages of the game when there is little known information.
Bob uses the same strategy, except that Bob uses only the information that a square was a hit or a miss. Also, Bob does not use either of the modifications described two paragraphs ago.
With regard to ship placement, it would usually make little difference how your ships were placed as a whole, though it was often possible to look at other programs and determine the worst case placement against their program.
22 June 2010
Battleship Chronicles, Part III
Original email sent to CompTeam members:
Thank you for showing interest in computer science and participating in the Computer Team elective or joining the mailing list for the past trimester. I hope you learned something new, interesting, and worthwhile from the elective, whether it be a new algorithm, that USACO is not trivial, that Battleship is fun, but even more so when visualized with fitting sound effects, that student-run electives work, or that Dr. Nevard loves dark chocolate. Most importantly, I hope you all had fun. I know that working on USACO training or listening to lectures can get quite boring; this is why we decided to do a project for the end of the year.
Thank you for showing interest in computer science and participating in the Computer Team elective or joining the mailing list for the past trimester. I hope you learned something new, interesting, and worthwhile from the elective, whether it be a new algorithm, that USACO is not trivial, that Battleship is fun, but even more so when visualized with fitting sound effects, that student-run electives work, or that Dr. Nevard loves dark chocolate. Most importantly, I hope you all had fun. I know that working on USACO training or listening to lectures can get quite boring; this is why we decided to do a project for the end of the year.
After about a month of work on the final project, Battleship, we finally get to see the skills of each and every one of you as problem solvers and computer scientists. From reading your code to watching your programs battle each other on screen, we have gotten a fairly good estimate of your skills in a real-life task. My expectations were in line with the tournament results.
The tournament was run on a homebuilt machine with the following specs: Intel Core 2 Quad Q9550, 8GB memory, 100GB disk, NVidia 8800GTS 320MB running Ubuntu 10.04 LTS. Each program played every other program 399 times. The following programs were included in the tournament:
- AndrwsBtlshpPgrm v3.0 (Andrew Cai)
- Colonel (Jie Guan)
- Tertius (Alec Benzer, Mark Fayngersh, Vikram Jayashankar)
- Slayer V5 (Nick Bevacqua)
- Over 9000 (Sam Fingeret)
- Bob (Sam Fingeret)
- BruteForce (Sam Fingeret)
- Random 2.0 (Sam Fingeret)
- Rofl Copter (Matt Lotocki)
#NONAME (Alex Zhu) was not entered because it was less than 50 lines long. Alex Zhu was disqualified by teachers' discretion. His program just shot at cell `A1'.
Zumwalt Mk II (Jonathan Beekman) was not entered because some opponents' ship placements caused it to hang.
Ari Jidai (Jonathan Sorce) was not entered because some opponents' ship placements caused it to crash.
With that being said, let me present the tournament rankings:
nonitalics = benchmark programs; they are not allowed to win the tournament
=== RESULTS ===
1. Over 9000 won 2857
2. Colonel won 2551
3. AndrwsBtlshpPgrm v3.0 won 2536
4. Slayer V5 won 1902
5. Bob won 1794
6. Tertius won 1419
7. BruteForce won 592
8. Random 2.0 won 479
9. Rofl Copter won 234
Congratulations Jie Guan for winning the first annual Battleship Tournament! Also, props to Andrew for putting up a tough fight.
Here are more statistics:
=== ACCURACY ===
Over 9000 : 37.11636673573047%
AndrwsBtlshpPgrm v3.0 : 33.74789674827501%
Colonel : 32.46263314180419%
Tertius : 29.055394377209023%
Slayer V5 : 28.02107767763948%
Bob : 27.673535550917084%
Random 2.0 : 17.22408350601313%
BruteForce : 17.080802952490675%
Rofl Copter : 9.710122203384847%
And even more statistics:
=== FULL RESULTS ===
1 = AndrwsBtlshpPgrm v3.0
2 = Colonel
3 = Tertius
4 = Slayer V5
5 = Over 9000
6 = Bob
7 = BruteForce
8 = Random 2.0
9 = Rofl Copter
1 2 3 4 5 6 7 8 9
1 0 220 318 308 124 375 398 399 394
2 179 0 379 389 56 351 399 399 399
3 81 20 0 29 50 63 381 396 399
4 91 10 370 0 67 168 399 398 399
5 275 343 349 332 0 377 399 399 383
6 24 48 336 231 22 0 398 398 337
7 1 0 18 0 0 1 0 252 320
8 0 0 3 1 0 1 147 0 327
9 5 0 0 0 16 62 79 72 0
We will be sending out an explanation about Over 9000 in the near future, by popular request.
Again, thank you all for participating in the tournament and in the elective. We hope you found it to be interesting and more helpful/fun/challenging than your normal computer science classes. I won't be sending out many emails from now on; I expect one or two more regarding the future of Computer Team. Enjoy the remainder of the year!
The Visualizer source code and dependencies are located here: http://github.com/shewu/Battleship-Visualizer
The Visualizer source code and dependencies are located here: http://github.com/shewu/Battleship-Visualizer
21 June 2010
Farewell CompTeam
Hello all,
Wow! It has been a great first year for BCA Computer Team. You all deserve a big pat on the back for shaping the elective into what it is now and deserve many thanks for your involvement and contributions. Hopefully the elective has fulfilled its intended purpose: to present challenges in computer science to further current knowledge. Please do not feel discouraged by USACO training and the contests, they were meant to be tough and non-routine. Battleship was meant to be a relaxing break from the training problems; hopefully it was a good application of algorithmic programming, data structures, and most of all, problem solving in a real-life programming job.
The real lesson to be learned from CompTeam is to create opportunities for yourself. Don't complain about the teachers; just finish their work quickly so you have more time for your own endeavors. There is a plethora of fresh material waiting: USACO, TopCoder, research, and even projects. The last option is most definitely possible. I'll give you two examples. At the end of junior year, I wrote a minesweeper clone, LOLsweeper, in two days using Java. This year, Mark Fayngersh, Alec Benzer, Vikram Jayashankar, and friends wrote a full-blown iPad game, Blob Defense in about a month using Objective C. Sure, this sounds intimidating at first, but if you are willing to take the time to learn cool techniques, languages, and coding paradigms, you most certainly will get a phenomenal product and you will be impressed at what you are capable of. So when should you start? NOW!
Last but not least, since the elective is in its infancy, I would like to present my expectations for CompTeam's future. I will officially empower Alec Benzer as 2010-2011 Captain at 12:00PM on 24 June 2010. This does not imply that he is the one doing everything, though he is the one managing logistics. Remember that this is CompTeam; it has been successful for the past year because of you, the individual. My stepping down means that I will not be dictating the future of CompTeam. Keep the team alive, make it a tradition, and hopefully it will be recognized as a competent team. Attract freshmen and everyone who wants to pursue computer science or wants a challenge in problem solving with computers. Do a mixture of lectures, contest problems, and projects. Host a game tournament, party, and give out prizes. Share lectures, material, knowledge and put them on a website or central repository. Get parents involved. Learn. Have fun. Make new friends.
I must reiterate myself again: don't let teachers limit your potential. Reflect on the accomplishments you made in CompTeam. That was all you. If you realized that compsci isn't your passion, keep looking. As Steve Jobs said in his Stanford Commencement speech, "Don't settle until you found something (or someone) you love. As with all matters of the heart, you'll know when you find it."
That's all for now. Keep in touch! Feel free if you have programming questions :)
sherry
Battleship Chronicles, Part II
While the contestants were working on their programs, Sam and I worked on the Visualizer. We decided to work in a linear fashion, which probably was not very efficient. Then again, neither of us felt like writing an API or outline. We agreed that Sam would take care of the underpinnings and I would do the graphics and interface.
Sam started out with a backbone from another TopCoder visualizer. He slowly built upon it, changing, adding, and deleting functions as necessary. After a week's worth of work in class, during frees, and at home, Sam had a program that displayed the ships as colored blocks. We showed this on 28 May 2010 and wowed the class. BruteForce, Random 1.0, Bob, Over 9000, Slayer (Nick), and ./battleship (Alec, Mark, Vikram) participated. We were confident that people were awed by how fun the Battleship tournament would be.
Following that Friday was Memorial weekend. This was basically my only free time to substantially revamp the program. Coincidentally, I received my beautiful Dell Ultrasharp U2211 21" screen, of whose widescreen-ness I took advantage to do the graphics for the ships.
Sound effects were secondary, since those could be trivially found on the internet. I settled on a frog croak and glass breaking. After about a day's worth of work, I can say that I have made some progress.
I then sent the two screenshots to two folks, who then gave me comments and suggestions. Both of them thought it was phenomenal compared to the original. One of them suggested using a top-down view instead of a perspective view of the ocean.
In the meantime, the competitors kept on working on and sending me their programs. Sam assisted me in debugging and critiquing programs. He almost cried as he read through one of the programs I received. We showed demos every Tuesday until the 15th of June, since neither of us would be present in class on Fridays. 4 June 2010 was ARML and the Friday after that was afterprom. In addition to the 15th being our last day of class, I decided to have a party for celebrating the end of one year for Computer Team. After two more demo days, the contestants were confident that their programs would fare well in the tournament.
Sam started out with a backbone from another TopCoder visualizer. He slowly built upon it, changing, adding, and deleting functions as necessary. After a week's worth of work in class, during frees, and at home, Sam had a program that displayed the ships as colored blocks. We showed this on 28 May 2010 and wowed the class. BruteForce, Random 1.0, Bob, Over 9000, Slayer (Nick), and ./battleship (Alec, Mark, Vikram) participated. We were confident that people were awed by how fun the Battleship tournament would be.
Following that Friday was Memorial weekend. This was basically my only free time to substantially revamp the program. Coincidentally, I received my beautiful Dell Ultrasharp U2211 21" screen, of whose widescreen-ness I took advantage to do the graphics for the ships.
the second window is 1px higher than the others >_<
I then sent the two screenshots to two folks, who then gave me comments and suggestions. Both of them thought it was phenomenal compared to the original. One of them suggested using a top-down view instead of a perspective view of the ocean.
In the meantime, the competitors kept on working on and sending me their programs. Sam assisted me in debugging and critiquing programs. He almost cried as he read through one of the programs I received. We showed demos every Tuesday until the 15th of June, since neither of us would be present in class on Fridays. 4 June 2010 was ARML and the Friday after that was afterprom. In addition to the 15th being our last day of class, I decided to have a party for celebrating the end of one year for Computer Team. After two more demo days, the contestants were confident that their programs would fare well in the tournament.
17 June 2010
Battleship Chronicles, Part I
The 2009-2010 academic year was quickly ending, so I needed a worthy activity to wrap up my club/elective/academic team thingy, Computer Team (CompTeam), with a bang. Following the steps of Dr. Nevard, who assigned my Data Structures class an interactive 5-card draw program. Each person in the class had to write an AI to play that game by communicating with a `dealer' (or host) program. Originally, Sam and I planned to do Blackjack with the students, but the activity was brainstormed at the last minute, so we scrapped it. We then looked on TopCoder for more interesting interactive programs and decided on Battleship. Sam wrote up the problem statement, replicated below:
Your task is to implement a program to play the game Battleship. Here is a sample grid: Carrier | length 5 Battleship | length 4 Cruiser | length 3 Submarine | length 3 Destroyer | length 2 |1|2|3|4|5|6|7|8|9|10| -+-+-+-+-+-+-+-+-+-+--+ A| | | |4| | |3|3|3| | -+-+-+-+-+-+-+-+-+-+--+ B| | | |4| | | | | | | -+-+-+-+-+-+-+-+-+-+--+ C| | | |4| | | | | | | -+-+-+-+-+-+-+-+-+-+--+ D| | | | | | | | | | | -+-+-+-+-+-+-+-+-+-+--+ E| | | |2|2|2|2| | | | -+-+-+-+-+-+-+-+-+-+--+ F| | | | | | | | |1| | -+-+-+-+-+-+-+-+-+-+--+ G| | | | | | | | |1| | -+-+-+-+-+-+-+-+-+-+--+ H| | | |5|5| | | |1| | -+-+-+-+-+-+-+-+-+-+--+ I| | | | | | | | |1| | -+-+-+-+-+-+-+-+-+-+--+ J| | | | | | | | |1| | -+-+-+-+-+-+-+-+-+-+--+ You do not know the location of your opponent's ships. Every turn, you will output a location to fire at, and you will be told whether your shot was a hit or a miss, and if it was a hit, which of your opponent's ships you have hit. The first person to sink all of their opponent's ships wins. Scoring: There will be a round-robin tournament, where every program will play all other programs k times, for some integer k to be decided. Programs will be awarded 1 point for each victory and 0 points for each loss and will be ranked on how many points they receive. If neither program has won after each program has had 200 calls to fire, no points will be given to either program. Implementation: If you are writing your code in Java, then your files should all be contained in one package which is not the default. If you are writing your code in another language, then compile your code to an .exe file. It is ok if your program requires other files in the same directory. Each program will be placed in its own folder, and no program should try to access files in another folder. Programs may create or modify files in their own folder if desired. You should implement the following pseudocode in your main function: init() while (true) command = readLine() // Standard input if(command = "name") printName() else if(command = "place") placeShips() else if(command = "fire") fire() else if(command = "hits") n = readLine() processHits(n) else if(command = "exit") exit(0) init() Initializes your program. printName() Prints the name of your program to standard output and flushes the buffer. placeShips() Prints a string which represents the locations of your ships and flushes the buffer. Your string will consist of 5 pairs of points which describe the endpoints of each ship, in order. For example, the grid above would be represented by "F9 J9 E4 E7 A4 C4 A7 A9 H4 H5". Ships must be placed horizontal or vertical, must be completely on the grid, cannot overlap, and must have lengths consistent with the table in order. Failure to do so will result in a forfeit for that match. Extra spaces in the output string will be ignored by the parser. fire() Prints a string which represents where you would like to fire and flushes the buffer. The string will be of the form (row)(column), just like above. For example, to fire at B4, print the string "B4". An incorrectly formatted output or out of bounds output will result in a forfeit. Extra spaces in the output string will be ignored by the parser. processHits(n) n will be a number representing the index of the hit ship in the above table, or 0 if no ship was hit. For example, if n = 2, then you hit your opponent's battleship. Your program should process this data however it likes. Other Information: - After every call to fire, there will be a call to hits, even if your program has already won. After this, if a program has won, both programs will be told to exit. - Your program cannot get a hit on a square multiple times. If your program fires on a square more than once, it will always be a miss. - Please test your code before you send in your final version.The competitors seemed pretty excited about it. I also opened it to anyone remotely interested (aka people on my mailing list). For the first few classes, I let them work on their programs. As expected, they got a bit bored on the second or third class.
11 June 2010
Prom: Epic win++?
There are some events that every high schooler is encouraged to go to (otherwise they won't get the ``full experience,'' I suppose), and one of them is prom. I had already skipped Junior Prom for ACSL All-Stars, which truly was a blast, from playing Super Smash Bros 64 on my MacBook Pro with an Xbox 360 controller and a Wiimote, to tricking the intermediate team into thinking that Sam, Kamran, and I got only a 5/40 on the programming questions because we were too busy playing Smash and Mario Kart. Unfortunately, the computer-oriented event that semi-overlapped with this year's Prom was Apple's WWDC, which would have cost me a whopping $1600, not including travel expenses. Being a cheapskate and super-conformist, my mom forced me to go to prom. Sucks.
My mom bought a dress in New York and I picked out a pair of relatively comfortable shoes at Macy's. Supplies: check.
A few days ago, the daughter of a class parent sent out a request for songs. Of course, having nothing better to do (as Bakura would say1), I took a look at the spreadsheet and was disgusted by the overflowing barrage of twenty-first century pop songs. I then stealthily inserted the following songs:
We figured that out of the three-hundred some songs, they would pick at least one of our songs. So we were content and felt very confident that this was going to be the most epic prom ever.
Then prom day came and I left school early to get hair done and other miscellaneous businesses. I took a shower, went to get my hair done, and did my nails. How atypical and troublesome. I left for Yumi's around 5:15, thinking that we would only take half an hour to get there (because GMaps said so), but there was tons of bad traffic, so we got there in an hour. Julia had already arrived and was comfortably situated on the couch, playing Fire Emblem (GBA) on her DS. She certainly came prepared. Then Alex Lam came, and he and Yumi put on their respective flowers (corsage and boutonnière, respectively).
We went outside and took some pictures. I was surprised by the camera's post-processing in the Auto modes. The colors were vibrant and popped. This is a terrible conclusion; I just glanced at the images on the Rebel XT's 1.8" screen for 5s. I'd have to import them to my workstation and view them on my Dell Ultrasharp screen. I then took some pictures in the manumatic modes, but those weren't as vibrant. I'll have to look into that later.
Then we went to the Rockleigh Country Club for the actual event. We arrived pretty early, checked in, and got our pictures taken (yet again!) The photographers had Canon EOS 1D Mark IIIs with 24-70L lenses. I'm not sure if they were 1D or 1Ds; I just noticed the Mark III on the lower part of the camera body.
We got some appetizers and talked to other people. Julia sampled pretty much every offering, thus nearly filling herself before dinner XD Lots of people were amazed by my hairdo (insert Kemo2 jokes here). We then went inside the ballroom to start eating and dancing. I got up and danced a little with Julia, Yumi, and Alex (more like, we held hands in a circle and rotated at a somewhat high rotational velocity). Sam and Patrick (super troller) sat at our table for most of the event.
Some things of note:
I don't know what it would be like to not have gone; I know that I would be sitting at home working on Battleship (which still needs massive improvements by my standards). I guess I would have been more bored if I had stayed at home. Prom would have been better if I went with someone (*cough* Brian Hamrick), but I am grateful for the time I had.
Hey, at least I trolled the song request spreadsheet :)
Verdict: I paid $50 ($55 prom ticket - $5 lunch; price of uber fancy senior luncheon) to destroy my already-busted hearing.
Footnotes
1: Bakura has nothing better to do when he was about to be dragged into Marik's quest to obtain Yami's Leather Pants.
2: Kemo always announces ``Attention Duelists! My hair ...'' when he wants to say something. Example: In episode 13, Kemo said ``Attention Duelists! My hair is definitely not leading you into a trap!'' when he lead Kaiba to Mokuba's jail cell.
My mom bought a dress in New York and I picked out a pair of relatively comfortable shoes at Macy's. Supplies: check.
A few days ago, the daughter of a class parent sent out a request for songs. Of course, having nothing better to do (as Bakura would say1), I took a look at the spreadsheet and was disgusted by the overflowing barrage of twenty-first century pop songs. I then stealthily inserted the following songs:
- Rick Astley - Never Gonna Give You up [classic]
- Erasure - Always [Robot Unicorn Attack song]
- Klein Four - Finite Simple Group (of Order Two)
- Littlekuriboh - Leather pants
We figured that out of the three-hundred some songs, they would pick at least one of our songs. So we were content and felt very confident that this was going to be the most epic prom ever.
Then prom day came and I left school early to get hair done and other miscellaneous businesses. I took a shower, went to get my hair done, and did my nails. How atypical and troublesome. I left for Yumi's around 5:15, thinking that we would only take half an hour to get there (because GMaps said so), but there was tons of bad traffic, so we got there in an hour. Julia had already arrived and was comfortably situated on the couch, playing Fire Emblem (GBA) on her DS. She certainly came prepared. Then Alex Lam came, and he and Yumi put on their respective flowers (corsage and boutonnière, respectively).
We went outside and took some pictures. I was surprised by the camera's post-processing in the Auto modes. The colors were vibrant and popped. This is a terrible conclusion; I just glanced at the images on the Rebel XT's 1.8" screen for 5s. I'd have to import them to my workstation and view them on my Dell Ultrasharp screen. I then took some pictures in the manumatic modes, but those weren't as vibrant. I'll have to look into that later.
Then we went to the Rockleigh Country Club for the actual event. We arrived pretty early, checked in, and got our pictures taken (yet again!) The photographers had Canon EOS 1D Mark IIIs with 24-70L lenses. I'm not sure if they were 1D or 1Ds; I just noticed the Mark III on the lower part of the camera body.
We got some appetizers and talked to other people. Julia sampled pretty much every offering, thus nearly filling herself before dinner XD Lots of people were amazed by my hairdo (insert Kemo2 jokes here). We then went inside the ballroom to start eating and dancing. I got up and danced a little with Julia, Yumi, and Alex (more like, we held hands in a circle and rotated at a somewhat high rotational velocity). Sam and Patrick (super troller) sat at our table for most of the event.
Some things of note:
- Patrick was surprised that I was the one to put the Rickroll and RUA song on the song request spreadsheet. Actually, a lot of people were. (cue ``Oh, that was you?!'') In Data Structures, Rushdoony was like, ``If they play Always, I--I wouldn't know what to do O_O'' Anyway, Patrick said that I would be his hero if both songs were played. We requested Always, but it seemed like the DJ didn't have that song. Sadface T_T
- A lot of people were surprised that I brought transcripts of Brooklyn Rage, Leather Pants, and the first YGO:TAS episode in my purse. When the DJ played Bad Romance, Jordan, Julia, and I sang Leather Pants (parody of Bad Romance). That was awesome :D
- Quite a few piano geeks (Dan Abolafia, Beata Safari, Andy Wang, Andrew Kahn, and Sam Fingeret) played the piano in the main hall. The Rockleigh Staff didn't notice until 23:00, when he told the group to stop playing because they needed the piano in tune for the next day, when an invited guest would perform. Oblivious fail?
- Alex, Yumi, Julia, and I must have seemed really stupefied while we recited the YGO:TAS Episode 1 script. Alex Lam has a really squeaky voice o.o Also, Julia and I fail at singing Brooklyn Rage a cappella. XD
- Prom got really boring at 22:00, when the DJ played lots of songs I didn't know. I just sat at my table and watched Julia, who sat next to me, play Fire Emblem. Aside: I did get to play one game of Sudoku right before dinner! By 23:00, we all sat outside, occasionally asked for the time, and watched various people play piano without getting caught XD
- THE MUSIC WAS SO LOUD. My temporary hearing loss was amplified when I stepped outside of the ballroom.
I don't know what it would be like to not have gone; I know that I would be sitting at home working on Battleship (which still needs massive improvements by my standards). I guess I would have been more bored if I had stayed at home. Prom would have been better if I went with someone (*cough* Brian Hamrick), but I am grateful for the time I had.
Hey, at least I trolled the song request spreadsheet :)
Verdict: I paid $50 ($55 prom ticket - $5 lunch; price of uber fancy senior luncheon) to destroy my already-busted hearing.
Footnotes
1: Bakura has nothing better to do when he was about to be dragged into Marik's quest to obtain Yami's Leather Pants.
2: Kemo always announces ``Attention Duelists! My hair ...'' when he wants to say something. Example: In episode 13, Kemo said ``Attention Duelists! My hair is definitely not leading you into a trap!'' when he lead Kaiba to Mokuba's jail cell.
30 May 2010
Once a Competitor, Now a Coach
For the third year in a row, BCA has qualified in at least one division of the ACSL All-Stars, a national computer science contest. The first year, when I was a sophomore, we were all ecstatic to have made a national competition. (well who wouldn't be?) The three of us, Kamran, Pavel, and I, were to somehow get to Maryland on Friday, stay there for a night, and get back Saturday after the competition by ourselves because Mr. Tyndall, the ACSL advisor, couldn't make it. Balls.
I decided to take things into my own hands. I recruited my parents as drivers, since I had close connections to them and they were wiling to go to the competition. We found a relatively inexpensive hotel in the area and booked two rooms, one for the guys and one for my family. (It had free wifi, too :D) With some reviewing, but no formal programming practice or problem sets, we managed 4th place overall. Nice.
The next year, Mr. Tyndall decided to sign up two teams, one in the intermediate division and one in the senior division. Both teams qualified for All-Stars, to be held in Alabama. Unlike before, this trip was school sponsored (Dr. Mayers chaperoned!), but we had to pay a lot more than if we went by ourselves. Again, there was no formal practice except for a cursory review of the topics for the written contest the night before. This yielded mixed results: the powerhouse of a senior team (Sam, Kamran, and I) easily claimed second place, while the intermediate team managed sixth. What was worse was that the individual round scores for the intermediate team was absolutely horrendous, with one person getting a measly 4 out of 12. Seriously?!
Upon witnessing the utter massacre, I vowed to make sure it doesn't happen again. I decided that, since I got a perfect 40/40 on the monthly contests and a near perfect 11/12 on the All Stars written contest, there wasn't really a point to go to All Stars again, so I just participated in the seasonal contests to help the school's team score. I made sure that after both teams were invited to All Stars, optimal teams were chosen as soon as possible to maximize training time.
As expected, both teams were invited. I decided to implement a team selection test for additional data gathering. It covered all material on the seasonal contests and had two parts; the first part was a speed test with ten short-answer questions to be done in ten minutes and the second part was five All Star questions (open-ended!) to be done in thirty minutes. The scores were more or less what I expected; but I was highly disappointed that no one got the internal path length question correct on the speed section and only Andrew Cai got the pre/in/postorder traversal question right on the accuracy section. Now I had a better sense of everyone's skill level and collective strengths (bit string flicking) and weaknesses (trees).
The next step was to pick teams. Mr. Tyndall, Dr. Nevard, and I sat down during my lunch time to discuss teams. With everyone's seasonal contest and TST scores in hand, we debated for about forty-five minutes on everyone's qualifications. We focused on people's teamwork skills, motivation to prepare for the contest and reason for going, and ability to supply a driver. Finally, we decided that Alex K. Andrew H., and Mark M. should represent the intermediate team and Yumi S., Andrew C., and Jonathan S. should represent the senior team.
With the team selection out of the way, I quickly whipped up a problem set on trees. It had two sections; the first section had three parts; each required building a binary search tree out of the string (ABCDEFFEDCBA, BERGENACADEMIES, PRINCETONUNIVERSITY), find the internal and external path lengths, and do preorder, inorder, and postorder traversals on the tree. The second part consisted of building a max-heap out of the word SCHOLARSHIP and doing preorder, inorder, and postorder traversals. Time limits were given so that the contestants could pace themselves. The results were generally good; most of the six were able to do the heap question, but about half stumbled on the longer strings in part one.
The weekend before the competition, I emailed everyone a programming problem set. I couldn't find any `good' ACSL problems (this is where you rofl), so I stole one from Project Euler (find the sum of the digits in $$N^M$$), one from USACO (preface numbering), and made two up (sudoku solver and shortest path). I was plenty surprised to have seen a shortest path problem on last year's All Stars, given that ACSL was mostly about brute force and super annoying problems. I am not sure if anyone attempted the problems, since I did not receive any emails with programs. Oh well.
The second pset was on Finite State Automata and ACSL Assembly and the third was a speed test on bit string flicking. Again, the psets had two parts each. On pset 2, the first part consisted of drawing some finite state automata from regexes and the second part consisted of not reading, but writing assembly code given a task. The third pset had two sections of bit string flicking. I got responses from most of the All Starrers. They did well on the third one, but got pretty raped on the second one. One person said that ``his eyes bled'' when he wrote the assembly code. Since it was just days before the competition, I decided, at 23:30 the day before their departure, to type up and send them my solutions to the problems so not only could they check themselves, but also see how I attempt the problems.
During all of this writing problems and giving feedback fun stuff, I also had to maintain clear communication with Arlan Dietrich, the ACSL coordinator, Mr. Tyndall, and the driving parents. There was lots to be done logistics-wise, such as registering for the competition, placing lunch orders for the competition, and telling parents about the schedule of the competition and the times that they have to get to places. Although it was very overwhelming, I somehow got through everything fine…
I was really happy to hear that the competition went smoothly, and even more so when they said that they pwned the individual round :D I breathed a sigh of relief, now knowing that I have considerably mitigated our biggest weakness. Three people got 11/12s, one got 10, and two got 8s. Much much better than 11/11/10/9/7/4. The senior team did respectably well on programming, with 37 out of 40, but the intermediate team got absolutely annihilated, scraping up only six points out of forty. This resulted in a fourth place finish for senior team and sixth place for intermediate team. At least four of them got books for doing well on the individual round. Well done, guys :)
I decided to take things into my own hands. I recruited my parents as drivers, since I had close connections to them and they were wiling to go to the competition. We found a relatively inexpensive hotel in the area and booked two rooms, one for the guys and one for my family. (It had free wifi, too :D) With some reviewing, but no formal programming practice or problem sets, we managed 4th place overall. Nice.
The next year, Mr. Tyndall decided to sign up two teams, one in the intermediate division and one in the senior division. Both teams qualified for All-Stars, to be held in Alabama. Unlike before, this trip was school sponsored (Dr. Mayers chaperoned!), but we had to pay a lot more than if we went by ourselves. Again, there was no formal practice except for a cursory review of the topics for the written contest the night before. This yielded mixed results: the powerhouse of a senior team (Sam, Kamran, and I) easily claimed second place, while the intermediate team managed sixth. What was worse was that the individual round scores for the intermediate team was absolutely horrendous, with one person getting a measly 4 out of 12. Seriously?!
Upon witnessing the utter massacre, I vowed to make sure it doesn't happen again. I decided that, since I got a perfect 40/40 on the monthly contests and a near perfect 11/12 on the All Stars written contest, there wasn't really a point to go to All Stars again, so I just participated in the seasonal contests to help the school's team score. I made sure that after both teams were invited to All Stars, optimal teams were chosen as soon as possible to maximize training time.
As expected, both teams were invited. I decided to implement a team selection test for additional data gathering. It covered all material on the seasonal contests and had two parts; the first part was a speed test with ten short-answer questions to be done in ten minutes and the second part was five All Star questions (open-ended!) to be done in thirty minutes. The scores were more or less what I expected; but I was highly disappointed that no one got the internal path length question correct on the speed section and only Andrew Cai got the pre/in/postorder traversal question right on the accuracy section. Now I had a better sense of everyone's skill level and collective strengths (bit string flicking) and weaknesses (trees).
The next step was to pick teams. Mr. Tyndall, Dr. Nevard, and I sat down during my lunch time to discuss teams. With everyone's seasonal contest and TST scores in hand, we debated for about forty-five minutes on everyone's qualifications. We focused on people's teamwork skills, motivation to prepare for the contest and reason for going, and ability to supply a driver. Finally, we decided that Alex K. Andrew H., and Mark M. should represent the intermediate team and Yumi S., Andrew C., and Jonathan S. should represent the senior team.
With the team selection out of the way, I quickly whipped up a problem set on trees. It had two sections; the first section had three parts; each required building a binary search tree out of the string (ABCDEFFEDCBA, BERGENACADEMIES, PRINCETONUNIVERSITY), find the internal and external path lengths, and do preorder, inorder, and postorder traversals on the tree. The second part consisted of building a max-heap out of the word SCHOLARSHIP and doing preorder, inorder, and postorder traversals. Time limits were given so that the contestants could pace themselves. The results were generally good; most of the six were able to do the heap question, but about half stumbled on the longer strings in part one.
The weekend before the competition, I emailed everyone a programming problem set. I couldn't find any `good' ACSL problems (this is where you rofl), so I stole one from Project Euler (find the sum of the digits in $$N^M$$), one from USACO (preface numbering), and made two up (sudoku solver and shortest path). I was plenty surprised to have seen a shortest path problem on last year's All Stars, given that ACSL was mostly about brute force and super annoying problems. I am not sure if anyone attempted the problems, since I did not receive any emails with programs. Oh well.
The second pset was on Finite State Automata and ACSL Assembly and the third was a speed test on bit string flicking. Again, the psets had two parts each. On pset 2, the first part consisted of drawing some finite state automata from regexes and the second part consisted of not reading, but writing assembly code given a task. The third pset had two sections of bit string flicking. I got responses from most of the All Starrers. They did well on the third one, but got pretty raped on the second one. One person said that ``his eyes bled'' when he wrote the assembly code. Since it was just days before the competition, I decided, at 23:30 the day before their departure, to type up and send them my solutions to the problems so not only could they check themselves, but also see how I attempt the problems.
During all of this writing problems and giving feedback fun stuff, I also had to maintain clear communication with Arlan Dietrich, the ACSL coordinator, Mr. Tyndall, and the driving parents. There was lots to be done logistics-wise, such as registering for the competition, placing lunch orders for the competition, and telling parents about the schedule of the competition and the times that they have to get to places. Although it was very overwhelming, I somehow got through everything fine…
I was really happy to hear that the competition went smoothly, and even more so when they said that they pwned the individual round :D I breathed a sigh of relief, now knowing that I have considerably mitigated our biggest weakness. Three people got 11/12s, one got 10, and two got 8s. Much much better than 11/11/10/9/7/4. The senior team did respectably well on programming, with 37 out of 40, but the intermediate team got absolutely annihilated, scraping up only six points out of forty. This resulted in a fourth place finish for senior team and sixth place for intermediate team. At least four of them got books for doing well on the individual round. Well done, guys :)
01 April 2010
Long, Overdue Post
On 2 March 2010, BCA was conducting interviews for the rising freshmen, which meant half days for us! As with any Tuesday, Health immediately preceded Physics, but on that day, we were let out a bit late, but not much later. I walked to Physics from the cardio room, went up two flights of stairs, was right outside his door. I turned the door handle $$\frac{\pi}{2}$$ radians and pulled it outward. Unlike what happened on all the other days of physics, the door did not move. Dammit! One of the Galitskiy's quotes instantly came to my mind:
I desperately pulled the door handle and knocked on the door for a few moments longer, but I thought of a better idea. I walked into the physics room next door and asked for the teacher to open the door. The teacher looked at me with a confused look and muttered ``Manny's here today; he's not in his room?'' to himself, but went out to unlock the door for me anyway. By then, a small group of people had gathered around the door and were glad that I had found a way to unlock the door. The people already inside the classroom were laughing that I was able to convince another teacher to unlock the door, and when we got inside, Dr. Galitskiy asked ``Since when did Mr. Liva get involved?'' We took our seats and class started.
Having forgotten to lock the door, Pavel and Sam slip through after a few minutes. Dr. G lectures them for being late and locks the door. Then John comes by, tries to open the door, but Galitskiy lets him in because he's special. He locks the door and proceeds with the lecture.
Finally, after ten minutes, Kamran and Fahmid decide to show up in front of the locked door. Like everyone else, they tried to open the door, and we all jeered at them. Seeing their futile efforts, John decided to unlock the door because he's nice. Galitskiy gave them a really long lecture on how not to be late and made them stand in timeout.
/end
So you see, it's very simple, at 2:26 I will simply shut down the door.
Having forgotten to lock the door, Pavel and Sam slip through after a few minutes. Dr. G lectures them for being late and locks the door. Then John comes by, tries to open the door, but Galitskiy lets him in because he's special. He locks the door and proceeds with the lecture.
Finally, after ten minutes, Kamran and Fahmid decide to show up in front of the locked door. Like everyone else, they tried to open the door, and we all jeered at them. Seeing their futile efforts, John decided to unlock the door because he's nice. Galitskiy gave them a really long lecture on how not to be late and made them stand in timeout.
/end
24 January 2010
Bawls...
So today, I bawled.
In the morning, a human resources counselor and one of BCA's guidance counselors spoke with us students in Mr. Holbrook's room. We went around and recited how we reacted to the news and what we learned from the times we had with Mr. Holbrook. I revealed how his passing didn't come as a complete shock as I knew everything beforehand and was somewhat involved with the events leading up to it. It's also terribly difficult to keep some things, such as this, absolutely top secret, and other things not so much.
We then had pizza for lunch, except it wasn't from the place that Mr. Holbrook would always take out. There weren't any donuts either. :( I talked with Dr. Abramson and Mr. Vidal for a bit and listened to their recounting their visit with Mr. Holbrook at the hospital before he left. They described how he was wired up fifteen different ways and was breathing on a ventilator...internal bleeding...comatose...and a cardiac arrest ended it...and how the nurse had to ask them if she could take him off the ventilator. It was really touching and sad, but this year so far was filled with nothing but success [phenomenal showings at Duke and PUMaC, outstanding BCA Math Competition, all of the star seniors getting into MIT early], so if he had to pick a time, now would be best...
Then the principal and vice principal led all the students to the boardroom for a meeting. We discussed the short term solution to commemorating the passing of Mr. Holbrook, which is now online here. Everyone was dismissed afterwards.
In the end, only Nevard, Abramson, Mayers, my dad and I, Mark and his mom remained, and some alumni. While Mark was talking with the alumni elsewhere, Dr. Mayers said the most touching thing of the entire day: that I reminded Mr. Holbrook of his two daughters, who are both overseas and barely contact him. Though I knew that I was one of the better females that was on the math team, I didn't know that he saw me as his [grand]daughter. It hit me so much that I bawled for most of the afternoon... :'(
It's really sad to see the one who first acknowledged you in a previously unknown world leave...
You will always be remembered.
In the morning, a human resources counselor and one of BCA's guidance counselors spoke with us students in Mr. Holbrook's room. We went around and recited how we reacted to the news and what we learned from the times we had with Mr. Holbrook. I revealed how his passing didn't come as a complete shock as I knew everything beforehand and was somewhat involved with the events leading up to it. It's also terribly difficult to keep some things, such as this, absolutely top secret, and other things not so much.
We then had pizza for lunch, except it wasn't from the place that Mr. Holbrook would always take out. There weren't any donuts either. :( I talked with Dr. Abramson and Mr. Vidal for a bit and listened to their recounting their visit with Mr. Holbrook at the hospital before he left. They described how he was wired up fifteen different ways and was breathing on a ventilator...internal bleeding...comatose...and a cardiac arrest ended it...and how the nurse had to ask them if she could take him off the ventilator. It was really touching and sad, but this year so far was filled with nothing but success [phenomenal showings at Duke and PUMaC, outstanding BCA Math Competition, all of the star seniors getting into MIT early], so if he had to pick a time, now would be best...
Then the principal and vice principal led all the students to the boardroom for a meeting. We discussed the short term solution to commemorating the passing of Mr. Holbrook, which is now online here. Everyone was dismissed afterwards.
In the end, only Nevard, Abramson, Mayers, my dad and I, Mark and his mom remained, and some alumni. While Mark was talking with the alumni elsewhere, Dr. Mayers said the most touching thing of the entire day: that I reminded Mr. Holbrook of his two daughters, who are both overseas and barely contact him. Though I knew that I was one of the better females that was on the math team, I didn't know that he saw me as his [grand]daughter. It hit me so much that I bawled for most of the afternoon... :'(
It's really sad to see the one who first acknowledged you in a previously unknown world leave...
You will always be remembered.
23 January 2010
Time Flies
Sometimes, things just happen so soon.
0730: Pavel asks me about Holbrook. I told him that he just had the flu and that Mark and I would call him to see how everything was going.
1040: In data structures, I ask Mark if he got any info from Dr. Nevard or Dr. Abramson. They said that everything was fine.
1237: Dr. Mayers' door was locked, so French class didn't start on time. Nevard walks by and enters the room. He talks with Mayers and leaves. Mayers still stays in the room for a bit and finally lets us in at around
1245. He puts on Amelie for us to watch and puts on his jacket and his bag in the meantime.
1315: Amelie finishes. Mayers dismisses class and gets ready to visit Mr. Holbrook at the hospital. Before he leaves, I tell him to tell Holbrook that Mark, I, and the rest of the AAST Math Team were wishing for the best of his health.
1520: I arrive in CompSci Team and ask Nevard about any new developments. I also notified him that Dr. Mayers went to see Holbrook.
1554: Nevard tells me to dismiss CompSci Team early because he had to go to an ``emergency staff meeting.'' I knew this was a bad sign...
1755: I get a call from the school that played this MP3 file.
QED.
Once again, rest in peace, Mr. Holbrook.
0730: Pavel asks me about Holbrook. I told him that he just had the flu and that Mark and I would call him to see how everything was going.
1040: In data structures, I ask Mark if he got any info from Dr. Nevard or Dr. Abramson. They said that everything was fine.
1237: Dr. Mayers' door was locked, so French class didn't start on time. Nevard walks by and enters the room. He talks with Mayers and leaves. Mayers still stays in the room for a bit and finally lets us in at around
1245. He puts on Amelie for us to watch and puts on his jacket and his bag in the meantime.
1315: Amelie finishes. Mayers dismisses class and gets ready to visit Mr. Holbrook at the hospital. Before he leaves, I tell him to tell Holbrook that Mark, I, and the rest of the AAST Math Team were wishing for the best of his health.
1520: I arrive in CompSci Team and ask Nevard about any new developments. I also notified him that Dr. Mayers went to see Holbrook.
1554: Nevard tells me to dismiss CompSci Team early because he had to go to an ``emergency staff meeting.'' I knew this was a bad sign...
1755: I get a call from the school that played this MP3 file.
QED.
Once again, rest in peace, Mr. Holbrook.
Labels:
BCA
22 January 2010
sadface
RIP Mr. Joe I. Holbrook
The AAST Math Team will never be the same again...
and neither will school...
You will be missed
The AAST Math Team will never be the same again...
and neither will school...
ARML '08
27 December 2009
A Treat
JULIA APPROVES THIS POST. =]
Because I can't finish today's formal post and I want to make a post every day, I'm going to post some pictures from school! These are the gingerbread houses that the Culinary seniors had to make for their winter class project. Aren't they so pwnage?
Because I can't finish today's formal post and I want to make a post every day, I'm going to post some pictures from school! These are the gingerbread houses that the Culinary seniors had to make for their winter class project. Aren't they so pwnage?
London bridge is falling down
The Hut of Baba Yaga
Hagrid's Hut
I forgot what this one was called, but it actually lights up inside! (yes that is an electrical cord.)
Some people working on their house.
26 December 2009
Road to College: Sophomore Year!
This year was quite a bit more interesting. I started out with a close group of friends, who were in a lot of my classes, a stronger skill set, and a better understanding of how BCA works. Also, I attended Math Team every week. Life was more exciting, even though I still didn't indulge in time-wasting activities.
Perhaps the boringest activity that I did first trimester was Computer Science Club. I signed up for this club again (instead of some other clubs) because I had ``learned'' some C++ and image creation last year. However, the guest lecturer no longer came every week and all the pro people left, so it was just Dr. Nevard, Mrs. Anderson (super incompetent teacher), some froshies who were interested in ``writing computer games,'' and me. As the eldest member of the club, I was appointed president. So every Wednesday I taught them Javascript, but they just weren't interested in learning the basics.
By the time I gave up on lecturing them, second trimester had rolled by, and more computer-oriented people enrolled. However, the incompetent teacher insisted that we do independent training for FBLA and DECA, in which I wasn't involved. Sensing my boredom and urge to improve, Dr. Nevard recommended that I do the USACO. I was intimidated by the word ``olympiad'', so I tried to put it off as much as possible.
In January I decided to stop being incompetent and tried USACO! It turns out that bronze wasn't very difficult, but I made some careless mistakes and got a 556. Nevard was satisfied with the score, but said that a 1000 is within reach. I did better in the next contest (I got a 880) and was promoted! Nevard was happy. However, I was slaughtered in the March contest, not having learned any algorithms or practicing any ad-hoc problems (I had only completed maybe two training problems by that time). I got a 52 from hard-coding the first ten DP cases in the ``River Crossing'' problem. Not wanting to face failure again, I subsequently chickened out of the US Open.
In addition to USACO, I did ACSL. It was trivial compared to USACO, but the most of the theory part was new to me. Regardless, Pavel, Kamran, and I did well enough to qualify for the ACSL All Stars competition. Unfortunately, the school ``did not have the resources'' to fund our field trip so I just improved the entire thing XD My parents volunteered to drive us down to Maryland, where we stayed in this 3-star hotel with free WiFi! Then we competed the next day and did really well for first timers. We finished 4th in our division and Kamran and I got books from the individual event. Then we played Smash 64 on the way home.
Besides computer science, there was math! Even though 2007-2008 wasn't such a great year for the math team, we still had some epic trips. HMMT was the most epic trip of all. Because it snowed so hard that the administration and the bus company canceled the trip and Mr. Holbrook still insisted that we go, half of us took Chinatown buses (Fenghua bus company FTW) and the other half took cars. My car ride was pretty rough. The terrible road conditions slowed us down considerably. The competition itself wasn't very exciting. Mu A barely made sweepstakes (PEA wasn't allowed a second team in sweeps).
NYSML was also an important trip for me. We had lots of time to spare because it was an overnight trip ^_^ So on Friday night, Pavel and Sam decided to teach me bridge! I grasped the basics pretty quickly, but had no clue of any strategies (in essence I was throwing down random cards while still following the rules). Anyway, I kept playing for the hell of it and actually became competent =]
In the non-competition world, things went well. Classes seemed more lively than last year's. In particular, Analytical Calculus (BC+) was amazing. Since the class was held in the tractor trailers, we had unlimited access to the track >:D (will elaborate on that later). Anyway, since Dr. Abe loves chocolate, he made us bring in brownies on our birthdays!! However, brownies are incomplete without milk. So for our first party, we designated Kamran to bring in half a gallon of milk. But because he is Kamran, he forgot. Dr. Abe made him run around the track for punishment, while we jeered from inside the classroom. He took everyone onto the track on another day when we had nothing to do. What a wintastic class...
There was also ``that incident'' that happened late March this year. Because our sysadmins are so incompetent to the level that they drop the root password on the floor without noticing, one of the ``pro'' seniors took advantage of that and wrote a virus that spread via USB. Pavel, Kamran, and I noticed some weird files (a visual basic script, a Seniors '08 image, an executable, and a batch file) on our flash drives weeks before it was fired, and we reported it to the tech teachers. They tried to warn the sysadmins to change the root password, but somehow that didn't get through (idiot sysadmins -.-). So we helplessly watched as time went on as more computers had the virus installed by innocent students' USB drives.
Finally the cracker activated the virus. We were listening to Dr. Abe lecture us when the computers decided to play some Rhapsody. Alarmed by the sound, Dr. Abe walks to the back of the room and turns on the screen. We all see the ``Seniors '08'' image and the computer nerds instantly knew what was going on while everyone was laughing their butts off. Dr. Abe then force shut down the computer and continued teaching.
Now all the technology teachers were super pissed off. The day after the virus went off, some tech teachers found Kamran, Pavel, Sam, and I hanging out in the hallways and decided to question us. We all say that we weren't involved, but they didn't believe us. They even threatened to suspend us O_O Then they proceeded to eke as much information out of us. We told them as much as we could, but they still took our words with a truckload of salt. Frustrated, they went away. Man that was pretty nervewracking >_<
Not long did they find the perpetrator. He was basically banned from school and told ``not to come back.'' So he didn't.
And that was that.
Overall the year was quite nice. My GPA was higher than that of the year before, which my parents were really happy about. My PSAT score was ehhish, but they were ok with that too XD I was also pretty happy that my skillz got better and acquired a new hobby :)
Perhaps the boringest activity that I did first trimester was Computer Science Club. I signed up for this club again (instead of some other clubs) because I had ``learned'' some C++ and image creation last year. However, the guest lecturer no longer came every week and all the pro people left, so it was just Dr. Nevard, Mrs. Anderson (super incompetent teacher), some froshies who were interested in ``writing computer games,'' and me. As the eldest member of the club, I was appointed president. So every Wednesday I taught them Javascript, but they just weren't interested in learning the basics.
By the time I gave up on lecturing them, second trimester had rolled by, and more computer-oriented people enrolled. However, the incompetent teacher insisted that we do independent training for FBLA and DECA, in which I wasn't involved. Sensing my boredom and urge to improve, Dr. Nevard recommended that I do the USACO. I was intimidated by the word ``olympiad'', so I tried to put it off as much as possible.
In January I decided to stop being incompetent and tried USACO! It turns out that bronze wasn't very difficult, but I made some careless mistakes and got a 556. Nevard was satisfied with the score, but said that a 1000 is within reach. I did better in the next contest (I got a 880) and was promoted! Nevard was happy. However, I was slaughtered in the March contest, not having learned any algorithms or practicing any ad-hoc problems (I had only completed maybe two training problems by that time). I got a 52 from hard-coding the first ten DP cases in the ``River Crossing'' problem. Not wanting to face failure again, I subsequently chickened out of the US Open.
In addition to USACO, I did ACSL. It was trivial compared to USACO, but the most of the theory part was new to me. Regardless, Pavel, Kamran, and I did well enough to qualify for the ACSL All Stars competition. Unfortunately, the school ``did not have the resources'' to fund our field trip so I just improved the entire thing XD My parents volunteered to drive us down to Maryland, where we stayed in this 3-star hotel with free WiFi! Then we competed the next day and did really well for first timers. We finished 4th in our division and Kamran and I got books from the individual event. Then we played Smash 64 on the way home.
Besides computer science, there was math! Even though 2007-2008 wasn't such a great year for the math team, we still had some epic trips. HMMT was the most epic trip of all. Because it snowed so hard that the administration and the bus company canceled the trip and Mr. Holbrook still insisted that we go, half of us took Chinatown buses (Fenghua bus company FTW) and the other half took cars. My car ride was pretty rough. The terrible road conditions slowed us down considerably. The competition itself wasn't very exciting. Mu A barely made sweepstakes (PEA wasn't allowed a second team in sweeps).
NYSML was also an important trip for me. We had lots of time to spare because it was an overnight trip ^_^ So on Friday night, Pavel and Sam decided to teach me bridge! I grasped the basics pretty quickly, but had no clue of any strategies (in essence I was throwing down random cards while still following the rules). Anyway, I kept playing for the hell of it and actually became competent =]
In the non-competition world, things went well. Classes seemed more lively than last year's. In particular, Analytical Calculus (BC+) was amazing. Since the class was held in the tractor trailers, we had unlimited access to the track >:D (will elaborate on that later). Anyway, since Dr. Abe loves chocolate, he made us bring in brownies on our birthdays!! However, brownies are incomplete without milk. So for our first party, we designated Kamran to bring in half a gallon of milk. But because he is Kamran, he forgot. Dr. Abe made him run around the track for punishment, while we jeered from inside the classroom. He took everyone onto the track on another day when we had nothing to do. What a wintastic class...
There was also ``that incident'' that happened late March this year. Because our sysadmins are so incompetent to the level that they drop the root password on the floor without noticing, one of the ``pro'' seniors took advantage of that and wrote a virus that spread via USB. Pavel, Kamran, and I noticed some weird files (a visual basic script, a Seniors '08 image, an executable, and a batch file) on our flash drives weeks before it was fired, and we reported it to the tech teachers. They tried to warn the sysadmins to change the root password, but somehow that didn't get through (idiot sysadmins -.-). So we helplessly watched as time went on as more computers had the virus installed by innocent students' USB drives.
Finally the cracker activated the virus. We were listening to Dr. Abe lecture us when the computers decided to play some Rhapsody. Alarmed by the sound, Dr. Abe walks to the back of the room and turns on the screen. We all see the ``Seniors '08'' image and the computer nerds instantly knew what was going on while everyone was laughing their butts off. Dr. Abe then force shut down the computer and continued teaching.
Now all the technology teachers were super pissed off. The day after the virus went off, some tech teachers found Kamran, Pavel, Sam, and I hanging out in the hallways and decided to question us. We all say that we weren't involved, but they didn't believe us. They even threatened to suspend us O_O Then they proceeded to eke as much information out of us. We told them as much as we could, but they still took our words with a truckload of salt. Frustrated, they went away. Man that was pretty nervewracking >_<
Not long did they find the perpetrator. He was basically banned from school and told ``not to come back.'' So he didn't.
And that was that.
Overall the year was quite nice. My GPA was higher than that of the year before, which my parents were really happy about. My PSAT score was ehhish, but they were ok with that too XD I was also pretty happy that my skillz got better and acquired a new hobby :)
25 December 2009
Road to College: Freshmen Year
Background: In eighth grade, I went to school in a different county and was the star mathlete there. I easily pwned the other people in the Mathcounts club. I was friends with most of the Asian girls, especially the anime lovers. However, none of them shared my love of math (one did, but she wasn't as devoted) and I didn't share their love of Asian music or dramas. They were still sad that I was leaving, though. So I came to the Academies knowing no one.
My first encounter of my future classmates was BCA Math Camp. [A/N: I had met Ian Osborn at Mathcounts States in 7th grade.] There was one kid who was competent (Mark Velednitsky), but the others just went because their parents thought it was an ``extra help'' program. I did also meet Patricia (one of my bridge buddies) there, but she was interested in the humanities.
Then school started. I still hadn't became close friends with anyone. I didn't know the math skills of my homeroom buddies and they didn't seem very inviting. So I ate lunch in the Digital Electronics lab with Dr. Karuv because I wanted to work with him on a project. However, that soon got boring, so I ate in the cafeteria. One day, I overheard a small group of guys talking about Windows Vista! Curious, I tried to join the conversation, but one of the guys was like ``Get lost random person!'' I didn't give up, and soon enough, he relented. Having finally found people with the same interests and [approximately] similar math skill level as me, I was delighted, since these were my first close friends at BCA ^_^ Then we ate lunch together for the rest of freshmen year. Coincidentally, they were also going to be my math team buddies. =]
I met more math/computery people as time passed. However, not all people that I befriended were knowledgeable in this aspect. Sometime during the first few weeks of math team, I met Hannah! (I think my parents talked to their parents about the Academies and college and how her twin brothers both got perfect SATs. we just talked about random stuff. haha) Then in phys. ed. class I met Julia! At first I was surprised that she was in Culinary, but that turned out to be fortuitious. (hello free food!) I was pretty happy with my collection of friends.
At this time, I wasn't a big part of the math team (even though I did well on exams) because I didn't attend the weekly practices. My dad thought they were a waste of time so I stayed home every Saturday afternoon doing math problems at my own pace. I probably attended one out of every four meets. I didn't really care; all that mattered to me was getting better and shining in Holbrook's eyes. Anyway...
In February I went on my first math team trip - Harvard-MIT 2007! It was really exciting. I spent the night before torrenting and watching an episode with Hannah in my hotel room. The next morning, I somehow misplaced my phone. =[ The teachers and my parents spent a while trying to locate it, but to no avail. We headed over to MIT, registered our eight teams, and did math for four hours. The problems were fun, even though most were beyond my level. I contributed quite a bit to the team round ^_^ We ended up winning 4th place in B division, which really surprised Holbrook, since he thought only Mu A would win something.
So that was that. Holbrook's expectations grew as time went on as we excelled; I tied with Sam on our first AMC12, Sam and Mark made Red Mop, and Mu B got an award from ARML (it was a site award thingy). Things were looking good for AAST Math Team's future.
In the school side of things, Kamran discovered a neat Windows scripting language called AutoIt. We were instantly hooked on it; we spent our free time in the computer labs writing mischevious programs to annoy other users. Our favorite function was blocking out user's mouse and keyboard input, so they could hopelessly stare at their computer opening notepad and autonomously typing "OH HAI. ALL YOUR BASE ARE BELONG TO US." and saving the file on their personal drive. We basically were competing against each other to see who could write the most annoying program. Ahh good times... XD
Classes themselves weren't bad. They were pretty easy, or so I thought. I was able to finish all of my homework and still had time for math/programming at night and still slept at 2300. Then again, I didn't indulge in unnecessarily time-consuming activities. I finished with lots of A's and a few A-'s, so my academic record was looking great. What a nice end to freshman year =]
My first encounter of my future classmates was BCA Math Camp. [A/N: I had met Ian Osborn at Mathcounts States in 7th grade.] There was one kid who was competent (Mark Velednitsky), but the others just went because their parents thought it was an ``extra help'' program. I did also meet Patricia (one of my bridge buddies) there, but she was interested in the humanities.
Then school started. I still hadn't became close friends with anyone. I didn't know the math skills of my homeroom buddies and they didn't seem very inviting. So I ate lunch in the Digital Electronics lab with Dr. Karuv because I wanted to work with him on a project. However, that soon got boring, so I ate in the cafeteria. One day, I overheard a small group of guys talking about Windows Vista! Curious, I tried to join the conversation, but one of the guys was like ``Get lost random person!'' I didn't give up, and soon enough, he relented. Having finally found people with the same interests and [approximately] similar math skill level as me, I was delighted, since these were my first close friends at BCA ^_^ Then we ate lunch together for the rest of freshmen year. Coincidentally, they were also going to be my math team buddies. =]
I met more math/computery people as time passed. However, not all people that I befriended were knowledgeable in this aspect. Sometime during the first few weeks of math team, I met Hannah! (I think my parents talked to their parents about the Academies and college and how her twin brothers both got perfect SATs. we just talked about random stuff. haha) Then in phys. ed. class I met Julia! At first I was surprised that she was in Culinary, but that turned out to be fortuitious. (hello free food!) I was pretty happy with my collection of friends.
At this time, I wasn't a big part of the math team (even though I did well on exams) because I didn't attend the weekly practices. My dad thought they were a waste of time so I stayed home every Saturday afternoon doing math problems at my own pace. I probably attended one out of every four meets. I didn't really care; all that mattered to me was getting better and shining in Holbrook's eyes. Anyway...
In February I went on my first math team trip - Harvard-MIT 2007! It was really exciting. I spent the night before torrenting and watching an episode with Hannah in my hotel room. The next morning, I somehow misplaced my phone. =[ The teachers and my parents spent a while trying to locate it, but to no avail. We headed over to MIT, registered our eight teams, and did math for four hours. The problems were fun, even though most were beyond my level. I contributed quite a bit to the team round ^_^ We ended up winning 4th place in B division, which really surprised Holbrook, since he thought only Mu A would win something.
So that was that. Holbrook's expectations grew as time went on as we excelled; I tied with Sam on our first AMC12, Sam and Mark made Red Mop, and Mu B got an award from ARML (it was a site award thingy). Things were looking good for AAST Math Team's future.
In the school side of things, Kamran discovered a neat Windows scripting language called AutoIt. We were instantly hooked on it; we spent our free time in the computer labs writing mischevious programs to annoy other users. Our favorite function was blocking out user's mouse and keyboard input, so they could hopelessly stare at their computer opening notepad and autonomously typing "OH HAI. ALL YOUR BASE ARE BELONG TO US." and saving the file on their personal drive. We basically were competing against each other to see who could write the most annoying program. Ahh good times... XD
Classes themselves weren't bad. They were pretty easy, or so I thought. I was able to finish all of my homework and still had time for math/programming at night and still slept at 2300. Then again, I didn't indulge in unnecessarily time-consuming activities. I finished with lots of A's and a few A-'s, so my academic record was looking great. What a nice end to freshman year =]
Subscribe to:
Posts (Atom)







