Wow, it seems like the time between my entries keeps growing exponentially! Yes I have been planning to write new entries periodically, but have just been too damn busy, I mean lazy. I guess that's a good sign since it means I've had something to do thats marginally more entertaining than writing. Also this site, due to legal reasons has move from evanhoke.com to evanhoke.org without any sort of mention to its wide reading audience, so its unlikely anyone knows about its continued existence. It's been over seven months since my last post and a hell of a lot of stuff has happened. I don't know where to begin. It seems like I've been everywhere in the country except for home. I spent Thanksgiving in Pennsylvania, Christmas in Maine, New Years in Hawaii, and soon I'll be celebrating the 4th of July in Washington, or maybe even Canada, who knows. Since September of last year I've spent less than 3 weeks in Massachusetts and next September my grand total for the year will have been less than 6 weeks. A guess spending a lot of time away from home is normal, since I'm in college now, but I never thought I'd be spending my summer on the other side of the continent. I'll get to that later, but first I guess I'll talk about school.
First semester came and went pretty fast. The work load wasn't too bad but I had to do a lot of writing for my English class and Biology seminar. I guess I can use that as an excuse for not writing here. Naturally a lot of writing means a lot of procrastination and a lot of late nights. Staying up to 3:30 was the norm the night a paper was do, but I guess staying up to 3:30 anyway is the norm at college. The best part was that on Mondays Wednesdays and Fridays since my first class was at 12:30 I could stay up to 4:00 and still get a full night's sleep. Although the late nights weren't too much fun I had a blast with my Data Structures and Algorithms class. Programming = Fun = No procrastination, so I usually ended up finishing those projects weeks in advance. The final project was to program the computer to play chess. At first glance, this task seemed impossible, but once I broke it down it actually was pretty easy. The raw computation power of computers allows them to play chess in a very different way from humans. Whereas humans need hours of practice to see patterns emerge and develop strategies, a computer can just calculate tens of thousands of moves and pick the best one based on some evaluation function that is pretty dumb by human standards. I thought it was really cool that pretty early on in my development of the program, it was capable of beating me. What made this project even more exciting was that one of the two professors that was teaching the class, Daniel Sleator, was also the creator of the Internet Chess Club, the largest online chess club in the world, with 40,000 members each paying him a yearly fee of $50. With money like that, his teaching must have been for enjoyment only. Anyway he set up a competition between everyone's chess bots for extra credit in the class. Since I was the first person to finish the project, initially I was on the top of the score board, well technically below the professor, but my bot occasionally could beat his bot and was capable of beating him personally. I continued to fine tune my program and spent many nights in front of the warm glow of my LCD watching my program and other programs duke it out. Although this may seem kind of sad, it pales in comparison to Professor Sleator who was on every night, playing games and talking trash. Eventually the adjustments I was making didn't seem to be having any effect and my rank continued to plummet, so I eventually gave up. Besides I had a paper to write. I ended up finishing 11th in the ranking, not to bad I guess out of a class of 140, but most importantly I had a lot of fun.
After a brief vacation in Hawaii and an even briefer visit home, I was back in Pittsburgh for second semester. As my high school physics teacher, Mr. Hickey would say, this semester was exactly the same as first semester except different. It was the same place, the same people the same routine, except some things were different. First of all, no writing. Yes, you heard me correctly, (well actually read me correctly, but what's the difference.) Perhaps that's why me not speak English no well no more. The only writing I had to do was for my Great Theoretical Ideas in Computer Science course, where I had to type up proofs and explanations to math problems. This was the dreaded course that our freshman adviser, Jim Roberts said would kick our butts. The course turned out to be the most interesting course of the semester, and although there were a few homework problems I got stuck on for a few hours, there was nothing I couldn't handle. The course definitely got me more interested in the more theoretical areas, and that might ultimately be the route that I decide to go, although the opportunity cost might be quite high (being a practical in the end always get you more money, but does it give you more happiness? I live this as an exercise to the reader.) The other major change second semester was programming was not the joy it was in Data Structures and Algorithms. The language we were using this semester was Standard ML of New Jersey (yes, there is a Moscow version too, but we can't let the damn commies win can we?), and it was all about functional programming. Functional programming is a whole new way of thinking, and although great pleasure can be returned when you finally get the two line program to calculate the meaning of life (42:int), the amount of time you have to pass in is quite frustrating. But I guess once you get to the point where you see everyday life process as passing functions to functions and returning functions, which call other functions, it's all been worth it, because you know you are not far away from that happy place where people in white coats feed you three meals a day in the room with the padded walls, but I digress...
Anyway, outside of school work, the cycling club as if by magic rose from the grave and became a living breathing entity, well at least for a little while. Although we initially had less than 8 members, we started out pretty hard core, getting up at the ungodly hour of 6 AM (remember this is college, so 11:00 is considered early in the morning) to bike in the snow, or to climb the tower of doom, again and again and again. It was fun to finally be able to ride as part of a group again, and I even managed to have fun on the day an 50 mile ride turned into an 80 mile ride due to directional incompetence. Such a happy time would not last however, and it soon became clear that homework was a very powerful force indeed. None the less I did manage to bike and work out on a semi regular basis, unlike first semester, and I was able to make it to one of the three races the club went to. I raced class D, which is the lowest class, and finished near the end, but I had such a great time, I hardly noticed the temperature was in the 30s, well at least during the race. The time before and after the race is a whole different story. Hopefully I'll be able to race more next year, although I won't count on it. The club seems to be on shaky grounds due to funding and participation problems as well as the two driving forces behind seem to be at war over idealogical differences about what is practical. ("What do you mean we can't make the race? It's only 400 miles away and I'm sure we can get a car somehow in the next 24 hours").
Well that pretty much sums it up for school, leaving only one story line left to cover. Take a guess. That's right employment. (If you guessed relationships, clearly you have forgotten who the protagonist is and should perhaps reread the title of this website.) A couple of weeks before Christmas, I get an email from my former boss at MITRE, hoping to spread the holiday cheer by telling me my position no longer existed for next summer. I have to say, that sure made things a lot more exciting. Suddenly Winter break and Spring break were no longer times for relaxing, but for resume drafting and job applying, or at least pretending too. I ended up applying to about 18 different companies (six times as many as the number of colleges I applied to), but only heard back from 3 places, two of which were in Washington, Microsoft and Amazon.com, while the third was a computer summer camp close to home, but I'd be required to live there overnight. I was ecstatic to land an interview with Microsoft, not because I like their company (I read slashdot way to much to feel that way), but because the program was designed for freshmen and sophomores so it seemed like a good fit and was only 8 weeks long, so I'd actually get to visit home quite a bit this summer. Also the competition was tough, virtually every freshman applied, so landing an interview was an accomplishment in itself. At the same time after submitting my resume, going to the job fair, having a good talk with the Amazon recruiters and solving their math problem, I landed an interview with Amazon. After going to their website and reading their details, the job didn't seem like it was for me. It was 12 weeks long, for one thing, and their website said they only took juniors. I was pretty sure my scheduled interview was a mistake. To shorten a long story, I was torn apart at the Amazon interview, which consisted of 45 minute interrogation sessions (ie a lot of problem solving and code writing), while I seemed to pass the Microsoft walk-in-the-park interview with flying colors. Amazon accepted, Microsoft rejected. One possible explanation is the Amazon applicate pool was much bigger, and I did solve the toughest algorithm question they asked, although it did take me 20 brain-wracking minutes. Also for some reason the interviewers were confused about my graduation date and seemed to think I was graduating soon and I had to point out that my resume said I still had 3 years left. This seems to be a reoccurring confusion, and I've been asked many time, either though email, phone or face to face when I'm graduating. You'd think they would write it down or something, or even read my resume. Even today, after working for the company for 3 and a half weeks, I got a phone call, just to confirm when I'm graduating. Oh well, I guess the confusion works out for me, as it probably landed me a job only meant for juniors. The other big surprise beside actually getting the job was the salary. It's nearly 3 times what I made last year and comparable to a graduating senior's starting salary. I guess all the hard work I've done my whole life is finally starting to pay off.
So here I am out in Seattle, where it may not rain everyday, but the sun only seems to come out every two weeks. Although I've been working for over three weeks I've yet to write a single line of code, as Amazon believes in extensive planning and documentation. I guess it's first semester all over again. My current project is an email reminder system, which may seem quite simple at first, but it's actually quite complicated, or at least the crazy round about way I'm doing it. Although on weekdays I'm usually quite tired, I mean lazy, and just veg in front of the TV after work, I've made a bunch of friends out here and had good times on the weekends. For example last weekend we drove to Vancouver, Canada, where in addition to having fun biking around the beautiful city, I had my first bar experience. But that's a story for anther time. Right now it's really late, and I have work tomorrow, with a bunch of meetings I can't afford to fall asleep in. So long for now. I can't say when you will hear (read) from me next, probably in a few years when I'm married and have kids (who am I kidding?), but expect a novel because as my entries grow exponentially apart, they grow exponentially longer.