Monday, August 11, 2008

CS Grad School Part 3: Fellowships

I put fellowship applications before the actual applications themselves because the deadlines are sooner. You should figure out where you are applying for school, what you're applying for, and that kind of thing before you apply for fellowships. (The NSF and Hertz deadlines were in November when I applied in 2007.)

The reasons to apply to fellowships are as follows:
  1. They provide an nice supplement to your graduate stipend.
  2. Having a fellowship makes you more appealing to a potential advisor, who would otherwise have to fund you himself/herself.
  3. The process of applying makes you think about what you want to do and forces you to get your act together for your actual school applications.
  4. They look good on your CV.

Philip Guo has a nice summary of the three main fellowships available, the National Science Foundation Graduate Research Fellowship (NSF GRF), the National Defense Science and Engineering Graduate Fellowship (NDSEGF), and the Hertz Fellowship. The NSF, which provides a stipend of 30,000 a year for three years, is given to the most people and favors women and minority groups in fields in computer science. The NDSEGF is slightly more money, given to fewer people, and harder to get. The Hertz is the most money, given to the smallest number of people, and the hardest to get. :)

When I applied to graduate schools, I applied for all three fellowships and was awarded the NSF. I was declined for the NDSEGF and the Hertz, although I did get a second-round interview for the Hertz. I will write mostly about my NSF application, but I will also describe my Hertz interview because this information may be helpful for you.

NSF.  For the NSF fellowship, you are required to write a personal statement, a statement of research experience, and a research proposal for a project you would pursue in graduate school. I was given the very helpful advice that I should make my essays clear and concise, as the readers would likely to be skimming. My materials are below:
  • Personal statement - I write about my life goals as they are relevant to my graduate pursuits and how I came to develop them.
  • Research experience - this was fairly straight forward. One helpful editor told me to provide enough background for understanding each research experience.
  • Proposed research - I described my undergraduate senior thesis. The project does not necessarily have to be a project you for sure plan to pursue in graduate school; you just need to show that you have thought about a large-scale project, the reasons for pursuing it, and what impact it may have. One good piece of advice I got was to make the problem as clear as possible as early as possible.
Hertz.  As my Hertz materials were quite similar, I will not post them. The Hertz fellowship is much more selective: you submit your paper materials for review in hopes of getting a second-round interview (given to 25% of applicants), the results of which get submitted as part of your file. If you make it past the second round interviews, they eat you. (I believe you might get another interview, and then perhaps the fellowship.)

The Hertz second-round interview is an hour long and with someone who has previously received the Hertz fellowship. My interviewer asked me about my experiences, peppering in questions to make sure I knew what I was talking about. My interviewer took me by surprise by asking me about protein folding--I was interviewing as a potential CS grad student, but I had done some research in computational biology. Other examples of fact-checking: when I said I liked compilers, my interviewer asked me to describe the compilation process, data structures involved, etc. The interview concluded with general questions (linear algebra, how would you tell apart jars of two different substances using kitchen supplies, etc.).

--
This is one of my "applying to grad school" blog posts.
  1. Deciding to Apply
  2. Standardized Tests
  3. Fellowships
  4. Applications
  5. School Visits
  6. Some notes on picking grad schools/advisors
  7. FAQ: Applying to Graduate School for Computer Science
You may also be interested in these blog posts I have written:

CS Grad School Part 2: Standardized Tests

The GRE, or the Great Required Exam, is what it sounds like--except not Great. For computer science grad students, the general test is required and the subject test is highly recommended.

General exam: As of the time I took the exam September 2007, the GRE general test had three parts: math, verbal, and analytical (in which you write a really short essay). It is generally a computer-based test, which means that during the math and verbal sections the questions you get depend on the questions you've answered correctly so far. It also means that you can't return to your previously answered questions. This is meant to throw you off, but if you are confident and prepared for such a test you should be fine. There are also paper versions of the GRE general test that are offered a couple of times a year and require registering years (probably months) in advance. I recommend sucking it up and taking the computer-based exam.

I don't have much to say about the content of the GRE general test, except:
  1. Math matters,
  2. Verbal doesn't matter, and
  3. Writing may matter, but we are agnostic.
The math is SAT/high-school level math; if you are applying to a top CS school you should try to get an 800. Getting an 800 on the GRE is easier (in some senses) than getting an 800 on the SAT because they allow more wrong answers or something like that. The verbal score actually matters nothing, I believe, but I read through a vocabulary book because I hate doing poorly on things. (The vocabulary is quite a bit more advanced than that on the SAT, but the questions are the same structure. I spent 2-ish weeks going through a Kaplan vocabulary book and the corresponding exercises and got 750 out of 800.) The way I recommend preparing for this exam is acquiring a GRE book and going through a couple of practice exams to make sure you know what the test is about. When you register for the GRE they will send you a CD with a couple of practice exams. For this reason, I recommend registering early.

Subject test: A subject test in computer science, math, or physics is strongly recommended when applying to most top CS PhD programs. An important thing to note is that strongly recommended != required. I believe the only thing for which the score was required was for the National Department of Defense Fellowship, which is hard to get and which I didn't get. (This means that Berkeley, Stanford, MIT, UPenn, UW, CMU, and the NSF fellowship did not require it.) One of my professors, Radhika Nagpal, gave me this advice: look over a practice test and take the exam if you think you'll do well. You don't want schools to have anything to worry about, and a low score could cause them to worry. Following this advice, I didn't do a whole lot to prepare for the exam, took the exam, got an unsatisfactory score and withheld it from all schools except the one fellowship that required it. I ended up getting into all of my schools and getting the NSF fellowship, providing proof that the subject test score is actually not required.

I must note, however, I had the luxury of having recommenders who were known in the CS community and could vouch for the fact that I knew things. I think if you did not major in computer science, are coming from a less well-known institution, or have questionable grades your CS GRE score counts a lot more. The day before I took the exam, I discovered this study guide by a guy who did not major in computer science and felt like his subject test score of 800 convinced the admissions committees that he knew things. (I suggest taking a look at the study guide; I didn't discover it until far too late.)  NOTE: The questions on this study guide are, as some may put it, "unnecessarily evil."  You may find it helpful to Google actual past exams and look at those.  Most of those sorts of questions you can answer by doing arithmetic and thinking quickly.

--
This is one of my "applying to grad school" blog posts.
  1. Deciding to Apply
  2. Standardized Tests
  3. Fellowships
  4. Applications
  5. School Visits
  6. Some notes on picking grad schools/advisors
  7. FAQ: Applying to Graduate School for Computer Science
You may also be interested in these blog posts I have written:

CS Grad School Part 1: Deciding to Apply

As a result of talking to various people (/undergraduate seniors) who are figuring out what to do with their lives, I have made the arbitrary, unilateral decision that I will write a series of blog posts at you about how, why, where, etc. etc. etc. I applied to grad school.

Some more reliable resources. When I was applying I found it helpful to hear what other people who had applied had to say.
  • Professor Harchol at CMU has a famous talk about who should apply to grad school, what to expect, etc. It is good to read for any undergraduate who thinks they might be interested in an academic career.
  • Philip Guo, a grad student at Stanford, has a nice overview of what it means to be a graduate student, apply to graduate school, etc. He also discusses the application process.)

About me: I completed my undergraduate education in computer science at Harvard June 2008 and this fall (2008) I am starting a graduate program at MIT. I am interested in programming languages and compilers. My academic advisor was Prof. Margo Seltzer, my research advisor was Prof. Greg Morrisett.

DISCLAIMER: I may not have applied to grad school for the right reasons, but thus far I am happy. I may be happy because I have yet to begin my graduate program, but I can't predict the future and I have free time now, so...

Why I applied: Ever since I was a tiny Jean, I knew I wanted to do something when I grew up. Why this? Doing something was better than doing nothing, and committing myself to doing something didn't lock me down to a thing I might not like. Because of my short attention span, my one requirement was that the something was interesting. Sometime in early in my undergraduate career, this requirement alone led me to study computer science. Sometime later, the poor Boston climate contributed to the development of my goal to live in California. These two life requirements alone led me to spend a summer working at Google in Santa Monica. This was one of the more defining experiences of my life.

At Google, I realized the following, in order of importance:
  1. I love California,
  2. I love Google,
  3. I am interested in making the world a better place by working on programming languages and tools, and
  4. I should try to go to graduate school.
How I came to realize 1 is obvious. I loved Google because it was efficient, had badass programming tools, and because it had a very academic atmosphere where people were curious and loved what they worked on. I realized 3 because there were many times when I became frustrated with the current state of the art and had many discussions with my coworkers about it. (3 had been a developing passion for much of my life.) I realized 4 because my coworkers, most of whom had either gone to grad school and finished or gone to grad school and dropped out, all seemed to be of the opinion that graduate school was the place to go--and you can always drop out if you want to. These realizations, combined with my discovery that there was pretty awesome programming languages research going on at UC Berkeley, led me to develop the goal that I should continually apply to UC Berkeley until I was accepted, at which point I would drop everything and attend.

My decisions to apply to grad school and to apply to grad school right away (instead of working and then applying) were motivated by the following things:
  1. For my interests in programming languages/tools, academia seems like a better place than grad school for doing exciting innovation. In industry, very few places get to spend a lot of time innovating their tools.
  2. I didn't really want to spend the Rest of My Life working and doing the same thing day after day. Academia seems like a much more exciting place to be.
  3. I had grown up pretty much at Carnegie Mellon University around a lot of CS grad students. Since that was all I knew, I probably figured I would become one someday.
  4. GRE scores last for five years, so I figured I would take them while I was still in school.
  5. I was in a good point in my life where I had professors who still remembered my name and a registrar's office still had a copy of my transcript with easy access. I figured that applying to grad school would at least get me to get these materials together.
My decision of which graduate schools to apply to was motivated by the following:
  1. Because of my love of California and because of the cool research at Berkeley, I applied to UC Berkeley.
  2. For similar reasons, I applied to Stanford.
  3. Because MIT is cool, I applied to MIT.
  4. Because CMU, Penn, and UW do cool languages research, I applied there as well. This was mostly because my advisor, Greg Morrisett, said it was a good idea. I tried to tell him that all I really wanted to do was to go to California, but he said I might change my mind once I visited the schools. (He was partially correct, but then again in any useful system that is the best you can do.)
I didn't apply anywhere else because these were the schools where I would consider going rather than going to Google. (I had a full-time offer from Google at the time I applied.) I didn't apply to any other companies because I was pretty happy with Google.

For reference, you may want to look at the US New rankings. The "top 4" CS grad schools are generally acknowledged to be MIT, Berkeley, Stanford, and CMU. UW follows just afterward, and then other schools (like UPenn) are known to be very good in specific subject areas. If you are very sure what you want to do, then it is good to go somewhere known to be good in that area, but if you are less certain it is better to go somewhere more generally good.

--
This is one of my "applying to grad school" blog posts.
  1. Deciding to Apply
  2. Standardized Tests
  3. Fellowships
  4. Applications
  5. School Visits
  6. Some notes on picking grad schools/advisors
  7. FAQ: Applying to Graduate School for Computer Science
You may also be interested in these blog posts I have written:

Dealing with Boston weather

Since I am poorly adapted for the severe New England climates, I have developed many coping mechanisms. I dedicate this post to my friend Gregor (Malecha/Samsa), who is relocating to Boston for graduate school and will likely die because he does not believe in coats.

A bit of explanation about Boston's climate: One might think that Boston would have a temperate climate because it is by the ocean, but no. Boston has an unfortunate climate because the winds are west-east rather than east-west. This makes it so that we get all the wonderful leftover extreme, uncalmed-by-ocean weather from mainland America rather than the mild, ocean-scented weather of a much more beautiful place like Santa Monica.

Summary of year-round weather: To properly deal with the winter, it is extremely important to invest in at least one good coat and one good fleece. The weather goes something like this: the summers are nice, averaging mid-80's and varying a lot. The fall is beautiful, usually involving a long Indian summer extending into October, a phenomenon that tricks you into believing that perhaps winter will not come. LIES. The cool late fall begins creeping in late October/November. December is when the colder cold begins to hit and people begin to expect snow. At this point the temperatures are probably in the 30's and 40's. The coldest cold comes at the end of January, when it is not surprising to have at least a week in the high teens and low 20's. Winter takes a long time to leave: in early March you might see temperatures in the 50's and 60's, but these usually happen for no more than a couple of days at the time. In April and May there is a lot of rain and short lengths of good days. It is not really consistently nice again until June, where the temperature is in the 70's and 80's and it is nice except for when it rains.

The year in clothing: in the summer it is good to have a light jacket or two and a raincoat. There are intense thunderstorms with extreme winds, so you probably want to invest in a sturdy umbrella as well. It is good to have rain boots all year round. A heavy pair of winter boots is also an excellent investment, especially if you plan to walk around. I recommend having a fleece/wind-proof fleece for the fall and as a general layering tool. A good down jacket is an excellent investment, but it is also important to have something wind-resistant to put over it, as Boston is one of the windiest cities in the US. (Wind makes cold feel much colder!) As for my coats, I have a wind-blocking fleece (North Face WindWall) that I wear in the spring/fall, a heavier fleece (North Face Denali), an extremely warm down jacket, and a two-piece jacket involving a windproof Gortex outer shell and a zip-in down inner thing (North Face Triclimate). I also have various pea coats and other things that look nicer but keep me less warm.

Non-coat cold protection: Very important! Get a good hat and gloves. A scarf also helps a bunch. Layering under coats is also extremely important! Long underwear is a good idea. On very cold days I wear long underwear under my pants, but my roommate Aliza and I are the only people I know who are really into this. Fleece pullovers are also a great layering tool.

Running outside: You might also be wondering about what to wear if you are a runner and don't mind inclement weather. In the winter I usually run in spandex leggings, a turtleneck, and maybe a wind-blocking jacket/pullover. I also have a pair of not-great running gloves and a hat. (My roommate Brigit, who has better gear in general, has an amazing pair of wind-proof running gloves of the kind that I am too cheap to buy.) This tends to keep me warm enough. When I used to run outside when it was in the 20's I used to layer long underwear under a pair of wind-blocking pants, but I have since renounced such acts of extreme masochism.

WARNING: If you are moving to Boston, MAKE SURE YOU HAVE WARM CLOTHES NOW! I recommend looking online for good deals on high-quality jackets, since when it comes to protection against the cold, quality (and quantity) make quite a difference. I get a lot of my weather-protection gear at Eastern Mountain Sports.

Boston's redeeming qualities: Why live in Boston then, you might ask. Most of the reasons are unrelated to weather. There are a few weather-related reasons: the summers are beautiful, the extreme weather makes the sky really beautiful much of the time, and there is really good snow for people who are into that kind of thing.

Note: Clearly Boston has a few redeeming qualities, as I am staying here indefinitely for graduate school after suffering through four years of awful weather and consequent infirmities as an undergraduate.

Harvard freshman seminars

I have decided to begin posting things to my blog that I write in response to people asking about academic advice.  The first of these posts is about freshman seminars at Harvard, which are small classes with limited enrollment open to Harvard freshmen.  These courses tend to be on specialized topics and provide freshmen with a great opportunity to explore a subject of interest and to get to know a professor and fellow classmates better.

The following things are important about freshman seminars:
  1. They are very small. Mine only had 6 people, I believe.
  2. Many of them are not very much work and a fun way to get acquainted with a subject in which you have great interest but see it as only marginally related to your intended feel of concentration.
  3. Most of them are interesting and a great way to go deeper in some area.
I took a freshman seminar with Professor Stuart Shieber on the Turing Test and the philosophy of thinking machines, which is somewhat related to my interests in computer science. It was good for getting to know the professor and other people (especially other CS concentrators) and also for exploring some interesting topics. I didn't love my seminar, but I'm glad I took it.

As for whether you should take a seminar, for most purposes the answer is yes. At a place like Harvard where it is quite possible that many of your freshman courses are large lecture courses, having a small class is a huge plus*. This is because you will probably get to know your professor well, which is good in general and because for many summer programs you will need references and/or letters of recommendation. You will also get to know the fellow students well.

As to what kind of seminar you should take, it really depends on 1) what seminars interest you, 2) the rest of your schedule, and 3) what you want to do with your semester. Past experience should matter very little--it might give you an easier semester if you take a course on a topic with which you already have some familiarity, but all that's probably going to do is give you a light first three weeks. Past that I don't think past experience matters a whole lot for most things, since you'll probably do different things with the material than you have had experience with in high school. (For the same reason, don't worry about having less experience than other students.)

Re 1): The most important thing about a seminar is that you find it interesting because that is, in my opinion, the whole point of taking a freshman seminar. (A really good thing to do is look through the CUE guide and prioritize seminars with professors who are known to be good professors. You will likely have a much more pleasant seminar experience and become much more inspired. I would recommend against taking a seminar with a professor who receives below-4.0 CUE ratings.) Re 2) and 3): Another important thing a seminar can do is balance out your schedule. You don't want too many classes that do the same sort of things. I don't think this applies to you as much, but for instance if you are taking three science courses on semester taking a non-science seminar would be a good idea.

Tuesday, August 05, 2008

Bikram Yoga!

Today I tried Bikram Yoga for the first time at the center in Harvard Square. It was really great!

Bikram yoga involves doing various stretches in a room heated at 105 degrees. The heat is amazing because it really loosens up your muscles. I think it also makes your body burn calorie at a much higher rate. (I looked this up, and doing 1.5 hours of Bikram yoga is supposed to burn 700+ calories as opposed to an hourish of running, which burns less than 600.) Anyway, you stretch like every muscle that you have a sweat a ton so you feel like you might die but also that you are "cleaning yourself out from the inside," as the instructor said. It's also as intense as you make it--you can get a great workout by really pushing yourself or an okay workout by doing moderate stretching.

(The demographics of the people who went to the noon session were a bunch of normal, healthy-looking people. There were no muscle-super-gods/goddesses and the people who were best at the "postures" were the normal to overweight ones. This is an exercise for the masses.)

If you do it, I recommend a lot of hydration beforehand.

Monday, August 04, 2008

Immigrants Facing Deportation in American Hospitals

A man is sent back to Guatemala after American hospitals decide they can no longer afford to rehabilitate him after he is injured by a drunk driver in Florida.  Apparently many illegal immigrants are deported while hospitalized and incapacitated.  Read the article here.

This exposes some of the many things wrong with the health care system and how the government deals with immigration.  While American hospitals' first priorities should certainly to be to help American citizens reach some basic standard of health, hospitals should not have to shoulder the burden put upon them by illegal immigrants.  The government should not allow such things to happen, which they can do by making it easier for illegal immigrants to become legal.  Forcing these immigrants to remain illegal creates the situation where these people cannot seek regular medical care and must rely instead on extremely expensive emergency care.   I believe this is responsible for much of hospitals' (and Americans') belief that illegal immigrants are a heavy burden on the medical system.

Of course, this article doesn't really support this point, as it discusses an extreme case that couldn't be prevented, but I felt like it provided a good opportunity to bring up these issues.

Friday, August 01, 2008

Women in Science

In reading more about views on women and various measures to increase the numbers of women who choose to pursue careers in science, I have discovered a strange world of antifeminists according to my definition of feminism.  I present to you the following reading materials:
  • A New Frontier for Title IX: Science - the NY Times talks about plans to have gender balancing requirements for math/science.  While there are many ways to improve the education system to increase male and female interest in science from an early age, the government wants to spend its time artificially increasing numbers of women in science with requirements?  Not only is this a waste of time, it could cause much harm by increasing societal perceptions of women as somehow lacking what it takes to have natural interest/aptitude.
  • The Sexual Paradox: Men, Women, and the Real Gender Gap - Susan Pinker discusses how the assumption that a female is a kind of male is wrong. She also says that women are less "extreme" than men when it comes to deviating from the norm. She provides a preview of an interesting, well-presented argument with which I don't entirely agree.  While I agree that women have clear biological differences from men (no one who believes in science will object to the statement that male and female brains develop in wildly different environments), I think Pinker makes strong assumptions about the differences between men and women and presents them as fact.  She doesn't really address how these cultural norms arose and other societal reasons for the existence of these differences. 
  • The freeom to say 'no' - an article presenting results on how there are not more women in science/engineering because they are just not interested. I am not surprised, but I think it is good to ask why more women are not interested in math/science.  While some of it may be biological, much of it is societal.  We should take the results of such studies in mind when trying to increase the numbers of women in computer science.  The findings here support my view that the ex post facto patches of making it easier for female professors to get research funding does more harm than it does good.  The women who end up in academic professions are not the ones who need help; if we wanted to increase numbers we should be focusing on changing the views of younger women and the people who influence them.
  • Why Can't a Woman Be More Like a Man? - Hoff Sommers discusses the proposals to apply Title IX to science.  While I agree with her that this is a terrible idea, Hoff Sommers seems to have internalized the views that women have certain qualities associated with them ("cooperative rather than competitive," etc.) that makes them inherently worse at science.  First of all, while these stereotypes do have biological backing it is as foolish to assume a woman is cooperative as it is to assume an Asian is short.  Secondly, even if women were a threat to these "competitive environments," Hoff Sommers is making a very strong assumption that the competitive way is the best way.

Some articles from the entire summer

I forgot that I had a blog that nobody reads.  I apologize; it is very easy to neglect such a small (or nonexistent?) readership.  Here are some articles from the entire summer and some brief commentary:
  • With No Frills or Tuition, a College Draws Notice - about a school in the Appalachian that charges no tuition and has students do very classic-American-dream things like farming.  A very good idea.  The Amherst guy they quote is a total goon: what they do is a great idea, but we don't need to do the same thing because all of our students come from wealthy families.  Um, think much?
  • So Popular and So Spineless - if I stooped to his level and declared logical bankruptcy, I would say that this article proves definitively that Thomas Friedman is a sensationalist goon.
  • Pope Warns on Environment - the Pope agrees that contributing to global warming is sinful.
  • 36 Hours in Pittsburgh - Pittsburgh is cool.

Beware the Longfellow!

Watch this news video to learn why maintenance on the Longfellow Bridge in Boston has slowed the subway.  Apparently the federal government has deemed the bridge too dangerous for travelling and at high risk of collapse, but the state government says it is okay.  The state compromised, however, by requiring the train to go slowly to minimize injuries when the train does derail.  A further precautionary measure is that the left lane of the bridge has been shut down because they think it might fall off the bridge.  Therefore we should feel safer that when the train does derail, it could derail onto the empty left lane, slowing its fall into the Charles River.

We should not worry so much, however, because the state government has repairmen on the bridge day and night!  This is the state's signal to us that they care about us enough to sacrifice some fraction for a repairman for each person who falls into the river when the train derails.

Wednesday, April 30, 2008

Memorization might be good for you

This article suggests that the ability to solve new problems can be improved by training one's memory.

Tuesday, April 29, 2008

Wednesday, April 16, 2008

Passover cooking

My favorite holiday is coming up! See here for an article on a chef who has written several Kosher cookbooks.

Tuesday, April 15, 2008

Illustrated BMI

I thought this was interesting. It has photographs of women with their weight and body mass index. Some comments:
  • I believe the purpose of this (or the purpose of links to this) was to show that "normal" is thin, "overweight" is normal, etc. Might also be a sign that America is becoming accustomed to seeing people of unhealthy weights. (When I go to foreign places--like France and LA--I am always shocked to realize that I am not nearly as thin as I thought I was...)
  • How is BMI being measured here? If you did a ratio of weight/height or something like that, that's not good enough because you don't factor in muscle mass. Not stating how BMI is measured makes pictures like "____ is 'overweight'--and a triathlete" less convincing...

Wednesday, April 09, 2008

Some things I learned as an undergraduate

I have always wanted to put up list like this to 1) reflect on how my undergraduate education has been good for my character development and 2) convey what I've learned to others (in particular, people who are younger). Below is an incomplete list of what I have learned in my almost-four years as an undergraduate in Cambridge, Massachusetts.

  1. Weather matters. Not saying you should choose where you go to school based on the weather, but especially if you go to school where there is a big campus you will probably walk around outside much more than you are used to. This is something to take into account when envisioning your life as a college student and when planning your wardrobe.
  2. Getting sick is much worse when you are responsible for making up class, homework, etc. and you might not have people to take care of you. Dress warmly, eat well, and exercise.
  3. Getting enough sleep is vital for productivity. Having so much homework that you cannot get enough sleep to do a good job or procrastinating such that you have to continually lose sleep to do assignments will degrade the quality of your work and thus the quality of your education.
  4. If you go somewhere rainy, galoshes (rain boots) are an excellent investment.
  5. If you go somewhere cold, invest in a good coat. It took me a long time to learn that wind resistance is orthogonal to warmth of coat. If you go to school in Boston, make sure your coat is not only the warmest in the store but also wind resistant.
  6. Acquiring a humidifier is also a good idea. Dry air compromises your immune system.
  7. Whether you go to the library is orthogonal to how productive you are. You shouldn't allow yourself to feel productive just because you got yourself to the library. (Doing this may be counterproductive.)
  8. That said, it is a good idea to figure out where you study best. This is different for different people--I prefer my room because it is quiet and there are no distractions; other people prefer the dining hall for its ambient noise.
  9. It is important to have an ergonomic setup. I got a neck strain from having a poor ergonomic setup with my computer monitor--I am still healing after 4+ months. Since then, I've invested in a better chair and a footrest.
  10. There will probably be many people with different goals in life and different ideas of the social hierarchy. Getting caught up with a a group of people who share a single set of goals (and corresponding idea of the social structure) might limit your character development.
  11. Don't assume people know what they are talking about just be because they sound like they do. The smartest people are often not the most confident ones.
  12. Having too much of an ego will get in the way, but having a healthy amount of ego is important.  Thinking you can't do things is a self-fulfilling prophecy.
  13. Paying attention in lecture might save you some time later (from reading the book, from being confused, etc.), since professors tend to ask questions related to their way of presenting the material.
  14. Get a credit card if you think you can be responsible about it. Having a good credit score will be useful for taking out loans later in life, and you can't have a good credit score if they don't know anything about you.

Tuesday, April 08, 2008

Monads and Saint Augustine

I know the term "monad" has meanings other than the Haskell meaning, but I was nonetheless excited to come across "monad" in St. Augustine's Confessions:

"I distinguished between the unity there is in virtue and the discord there is in vice. I conceived that the unity consisted of the rational soul and the nature of truth and the highest good. But I imagined that in the disunity there was some kind of substance of irrational life and some kind of entity in the supreme evil. This evil I thought was not only a substance but real life as well, and yet I believe that it did not come from you, my god, from whom are all things. And the first I called a monad, as if it were a soul without sex. The other I called a dyad, which showed itself in deeds of violence, in deeds of passion and lust--but I did not know what I was talking about. For I had not understood nor had I been taught that evil is not a substance at all and that our soul is not that supreme and unchangeable good." [4.25.24]

Some definitions:
monad - from "Whatis.com"

2) A kind of constructor used in functional programming to structure programs that include sequenced operations. The primary use of monads in this context is to express input/output (I/O) operations without using language features. In general, however, monads are useful whenever a programmer wants to perform a purely functional computation separate from a related computation performed apart from it.

4) A symbol used by ancient Greek philosophers, including Plato, Pythagoras and Aristotle, to describe God or the totality of all beings. Metaphysical and theological theory describes "monism" as the concept of "one essence."

dyad - Greek philosopher's principle of "twoness" or "otherness"

Tuesday, March 11, 2008

Links of the day

  • A Boy Named Sue - an interesting article in naming.
  • Spitzer Weighing Resignation - “We’re at a total standstill,” said Keith L. T. Wright, a Democratic assemblyman from Harlem. “Everybody is stunned. Everybody is absolutely stunned.” Shouldn't everyone know about the hypocrisy in politics? People seem to really delight at scandal...
  • Maternal Instinct Hard-Wired - I have some issues with the presentation of this article. Before giving off the impression that only mothers have this parental instinct, they should really mention studies of paternal instinct. Also, did they study the reactions of mothers when shown pictures of non-babies they knew and non-babies they didn't know? I guess "Adult Women Care More About Familiar Staplers" doesn't really keep women out of the workplace as effectively...

Monday, March 10, 2008

Failure-oblivious computing

This is so wild! The goal of program safety as I knew it was: terminate with the correct answer or raise an error. These people at MIT are working on a computing paradigm where instead of raising an error if the program goes wrong, they perform some default behavior. Apparently this works for many things--web browsers, e-mail clients, etc. Read about it here.

Friday, January 18, 2008

How enterprises use functional languages

A really nice paper by Wadler on the usefulness of functional programs, or "functional programs used in anger."

Pitfalls of teaching Java first

In catching up on my Lambda-the-Ultimate reading, I came upon this article which talks about the problems with the current state of computer science education.

I agree with some parts of it, such as what is wrong with teaching Java as a first programming language. Some of the other things they talk about seem more idiosyncratic.

Wednesday, December 26, 2007

50 drawings project

For my art class, Hybrid Drawing, which explores different materials and methods in drawings. Find them here.

Look here for our class's website. It is still rather primitive. (I may say this because I made it.)

Sunday, December 23, 2007

Are you smarter than a 5th grader?

Today my sister Victoria, a fourth grader, acquired the board game version of the game show Are You Smarter than a 5th Grader? The game consists of various questions of levels 1st grade through 5th grade in Social Studies, Geography, etc. I told Victoria to make a blog so she can write about the facts that she missed. To make things fair, I was also required to blog about the question I missed.

Question (1st grade social studies): What frontiersman blazed a trail across the United States to Kentucky?
Answer: Daniel Boone.
Now I must say something about Daniel Boone in my own words. Daniel Boone (1795-1820) was a settler, pioneer, and hunter and one of America's earliest folk heroes. Boone is most famous for blazing the Wildnerness Trail through the Cumberland Gap in Kentucky. He founded Boonesborough, one of the first English-speaking settlements beyond the Appalachians. Boone also fought during the Revolutionary War, during which he was captured by the Shawnee Indians for a while. According to Wikipedia, he is "imperfectly remembered" as an "iconic" figure in American history: many legends and tall tales have developed around Boone.

Senselessness of hunger

In catching up on my Newsweek readings I came upon a really nice Anna Quindlen article, Real Food For Thought, about America's "hunger epidemic." She really highlights the senselessness of the inequality, discussing how much hunger there is even when restaurants etc. have so much food they need to throw it away. She points out real problems and offers solutions, describing the food stamp application process and how it can be improved to make it actually accessible (by making online application possible, by making the application simpler).

I would like to point out that once again, we see the theme of possible food redistribution not happening because it is not the economically optimal strategy. (We--meaning I--saw this theme for the first time in the freegan articles, when it talks about how freegans find many treasures in dumps.)

Women in society

Apparently there is a word for workplace discrimination against women. From the NY Times article Buzzwords 2007:
maternal profiling n.
Employment discrimination against a woman who has, or will have, children. The term has been popularized by members of MomsRising, an advocacy group promoting the rights of mothers in the workplace.
(I found it amusing that other buzzwords that made it into the article included "lolcat" and "make it rain.")

There is also this other article about how baby girls are becoming more valued in South Korean society. As women are entering the workforce and making lives for themselves, older people find that their daughters are much better caretakers than their sons. This is a big change from the time when wives were expected to serve their fathers-in-law meals on thier knees. Progressive. It's an interesting article, though--I recommend reading it.

Think global warming won't affect you?

Read As Earth Warms Up, Tropical Virus Moves to Italy yesterday about how tropical tiger mosquitoes are finding their way to Castiglione to infect people with chikungunya, a relative of dengue fever. This kind of thing normally goes on in the Indian Ocean region.

This is much more serious than an article I'd read last year about how US metropolitan areas are seeing earlier pollination and more irritating flora and fauna as a result of elevated carbon dioxide levels.

Think before you reach for that unrecyclable paper cup.

Saturday, December 22, 2007

Best way to acquire a functional skill set in Haskell

Write yourself a Scheme in 48 hours - super easy tutorial explaining the steps involved (from downloading GHC and compiling your first program to compiling and running the full interpreter) in building a Scheme interpreter. Very niiice.

Thursday, December 20, 2007

The Internet is great for holiday presents

The best presents I got for people this holiday season were:
  • A rubber stamp (with a red ink pad) of my boyfriend's face on it. I made the image using Gimp (a Linux version of Photoshop) and playing w/ the brightness/contrast and using the Cartoonize filter. I found the "STAMP OF APPROVAL" circle using Google image search. I had the stamp made at RubberStamps.net.
  • A t-shirt for Jie and Rob (the two characters pictured on the shirt) with a picture of Jie licking Rob while both of them are ice cream cones. The picture is from an actual photograph; the ice cream paraphernalia is from Google image search. We made the shirts at Zazzle.com. (They are pink.)
Both presents came out very well, which is why I am inclined to do a little bit of free advertising for both companies.

Waste

Today I went Christmas shopping with my friend Liz within the framework of "reducing waste." (Please refer to my blog post 3 back containing the link to "The Story of Stuff.")

This might be one of those things that is much funnier if you are there, but for each candidate for purchase we produced arguments for whether it was "waste" or "not waste." For example, "This blanket and dog toy kit is not waste because Mike's dog doesn't have a blanket. Mike only has a single blanket and has to lend it to the dog while he's at work. Though the dog will chew through the toy very quickly, it is not waste either because she will use it." And also, "This sequined Christmas tree is definitely not waste because I really like it and want my sister to have it."

Okay, so perhaps we abused the term a bit--like when I walked into a store and, upon seeing very ugly sweaters, exclaimed, "This is such waste!" Also when we were faced with a wall of gift bags and I singled one out with the explanation "If you bought this bag, that would not be waste." (I did follow up with the explanation that because the bag was the prettiest, it would provide the most opportunity for reuse.)

While most of our afternoon was pretty silly, focusing on waste did prevent me from buying quite a few items that would have likely become waste within a few weeks. (These items included various articles of clothing and a frog sponge holder.) The conclusion is that there is too much junk out there and most things are or produce waste. :D

Health care systems

In reading back issues of Newsweek today I came upon an article describing the "medical tourism," the phenomenon where people travel to other countries for medical procedures. Before this article I had associated "medical tourism" with people going to Mexico for transgender surgery before it was legal here and people getting vanity procedures in various exotic locations. Apparently many people go to Singapore becaues their medical system is just that good. People from India and other Asian countries go there for various surgeries because of the good care and because of the availability of organs for transplant and people from the US will go there because they can get the same procedures (with high quality) for a fraction of the cost.

I had heard about Singapore's health care system during some conversation about the ills of America's privatized health care, but I hadn't realized that it was so good that people would fly across the world to take advantage of it. I examined Singapore's Ministry of Health page and concluded their health care system is organized and friendly. (They even have a thing where you can compare the costs of treatments at different hospitals.) From their website, "Primary health care includes preventive healthcare and health education. Private practitioners provide 80% of primary healthcare services while government polyclinics provide the remaining 20%. However, public hospitals provide 80% of the more costly hospital care with the remaining 20% by private hospital care." Also, for those who care about numbers, "In 2005, Singapore spent about S$ 7.6 billion or 3.8% of GDP on healthcare. Out of this the Government expended S$1.8 billion or 0.9% of GDP on health services."

I also looked up the World Health Organization's ranking of world health systems. (A total of 190 countries are ranked.) The ranking method compares each country's sytem to what the experts estimate to be the upper limit based on resources etc. It also compares each country to other countries. The assessment was based on the following 5 indicators: overall health of population, health inequalities within the population, overal level of health system reponsiveness, distribution of responsiveness within the population, and distribution of the health care system's financial burden within the population. (Read the report.)

The United States is 37th, behind Costa Rica and before Slovenia. (Shameful, no, that with all of its educational and technological resources the US is not further up?) While one might wonder if the US is so behind due to inquality (still inexcusable), I'm inclined to believe the overall level is not as high. If you are curious, Postpartum Impression is a New York Times piece on the French health care system.

The top 10 are:
1         France
2         Italy
3         San Marino
4         Andorra
5         Malta
6         Singapore
7         Spain
8         Oman
9         Austria
10        Japan

Not trying to push my values onto you or anything, but here's a quote from WHO's report:
"It is especially beneficial to make sure that as large a percentage as possible of the poorest people in each country can get insurance," says Dr Frenk. "Insurance protects people against the catastrophic effects of poor health. What we are seeing is that in many countries, the poor pay a higher percentage of their income on health care than the rich."

"In many countries without a health insurance safety net, many families have to pay more than 100 percent of their income for health care when hit with sudden emergencies. In other words, illness forces them into debt."

Wednesday, December 19, 2007

Giant microbes

It is pretty awesome that GIANTmicrobes, a company that sells plush microbes, exists. A quote from the website:

"We make stuffed animals that look like tiny microbes—only a million times actual size! Now available: The Common Cold, The Flu, Sore Throat, Stomach Ache, Cough, Ear Ache, Bad Breath, Kissing Disease, Athlete's Foot, Ulcer, Martian Life, Beer & Bread, Black Death, Ebola, Flesh Eating, Sleeping Sickness, Dust Mite, Bed Bug, and Bookworm (and in our Professional line: H.I.V. and Hepatitis)."

The amazing thing is that they are cute.

Questioning the consumer economy

Various things in life have caused me to consider the merits of our consumer economy:
  • The Story of Stuff - the beginning of this video makes it seem like it's not going to go anywhere interesting and that it's aimed at a younger audience, but I think this video says some good things about perversity of the perceived obsolescence and unnecessary waste that goes on in our society. Think before you shop.
  • Killing the Consumer (Anna Quindlen) - this is not my favorite of Anna Quindlen's pieces as it didn't leave me wholly convinced of her argument. While I don't agree with her argument that the government and various "responsible organizations" making decisions about what is good for people, I do agree with Quindlen that tobacco companies have disgusting motives. This article discusses how Camel No. 9 is terrible because it markets death to unsuspecting young women. (For their market preservation, in fact, as lung cancer has become a bigger killer of women than breast cancer.) Beware of the market?
  • Freegans - are people who live an "alternative" lifestyles as vegans who try to cut down on their carbon footprint, boycott unethical products, and do good for the community. Extreme freegans forage through the trash and eat what they find. (Apparently, very fresh foods and intact products can be found in the trash. There are also freegans who actively redistribute stuff they find in the trash. This makes one question what the fuck the people--usually business--who threw it away are doing.) In some back issue of Newsweek that I picked up around the house they ran an interesting pair of articles, one by a woman who tried to live as a freegan for a month, and one by someone denouncing freegans as not being socially responsible at all. I am not sure how I feel about freegans, but I know that I don't feel good about all this careless waste that goes on. It's about time people started questioning consumer values en masse.
I have also been questioning the enormous amounts of pressure put on students, faculty, and various other people in academic settings. The stress and work of the last two weeks caused me to develop a muscle spasm in my neck that is now being treated with muscle relaxants. Oy.

Friday, September 07, 2007

installed ubuntu on the laptop

like it very much so far, except can't get docking/undocking to work. :/

Sunday, September 02, 2007

jv field hockey page

find it here.

grad school links

i don't know how official/correct this is, but:

shopping week dream

for those of you who don't know, shopping week happens the the first week of school and is a time for students to attend various classes before they have to get their study cards signed with their actual course selections at the end of the week. shopping week is generally a fun time because people can go to many classes (or no classes at all). it tends to be slightly overwhelming because:
  • there are many good classes during the same time slots. (this is less true when you are just looking at computer sciences classes, but it happens there as well.)
  • many (maybe most) professors begin assigning work during this time.
  • there are many people going to many classes, so especially in humanities courses that seem interesting it is very crowded an difficult to get a seat.
anyway, at least twice in the last few weeks (or maybe week!) i've dreamt that i've forgotten to go to a bunch of classes for silly reasons and then been mad at myself because of it. once i think i didn't go because it was raining, and then last night in my dream i didn't go because i had been sitting around. (last night i also dreamt that i lived right on the ocean so that when i put my shoes on the back porch to dry i had to tie them to the post so the tide wouldn't wash them away...) anyway, it seems like i fear being a senior and not being able to take classes anymore... and perhaps my dream last night also reflects my sadness about leaving the beach and santa monica.

Thursday, August 30, 2007

Wednesday, August 29, 2007

compare apples and oranges

or harvard vs. yale, frogs vs. bears, etc. here:
http://appleorangescale.com

see how many people on the web love/hate one thing over another, at least according to what google search results turn up. you can compare up to 4 things; it's rather nicely done.

Sunday, August 26, 2007

amusing discovery in "similar links" to my webpage

i finally got around to updating my webpage this morning. i decided to google myself (i come up as the 2nd "jean yang" but my webpage has descended to the 8th result). what i found really amusing was that the following link comes up for similar pages: Summer Plans for Children with Attention-Deficit/Hyperactivity Disorders. i searched all over my page for signs of me being a child with ADD, but nowhere did i mention that:
  1. i am a child, or
  2. i have attention span problems.
i do, however, mention summer... those of you who know my work habits closely may be quite amused.

anyway, view all similar pages if you are so inclined. the others are less interesting, but they do a good job i suppose.

uploaded old robocup videos to youtube

youtube is actually kind of amazing. :)

2006 highlights (world cup in bremen, germany and us open in atlanta, GA):


2006 us open (atlanta):

image resizing video

holy crap; this image resizing video is amazing. they show how they have targeted resizing of images based on features etc. they can also nicely cut people out of pictures. it sounds boring but it's the coolest video i've ever seen.

Saturday, August 25, 2007

robocup world cup '07 video



listen closely to the soundtrack. binary solo!

special thanks to michael parker for allowing me to spend all 10,000 hours involved in making his video at his home, on his windows machine. also thanks to mp for keeping me sufficiently hydrated for all 10,000 hours--no small task.

Tuesday, August 21, 2007

facts of the day

song of the day: God wrote in LISP. the end of the song says it all:

And when I watch the lightning
Burn unbelievers to a crisp,
I know God had six days to work,
So he wrote it all in Lisp.

Yes, God had a deadline.
So he wrote it all in Lisp.

i must point out, however, that God is omniscient, omnipotent, and omnipresent, which translates into his having infinite memory and processing power. memory- and processing power-constrained mortals may often need to program in lower-level languages...

link of the day: gethuman. see/do company ratings for getting a human at the other end of the line.

new food discovery of the day: japanese curry. (i had it for the first time at hurry curry on sunday).

Monday, August 20, 2007

lynn conway

read more at her site. transgender female computer scientist at university of michigan; has a fascinating biography and autobiography on the site. she did a lot of groundbreaking work in computer architecture and wrote introduction to VLSI systems.

the joys of google calendar

look at my schedule.

that is actually 3 different calendars:
you can show multiple calendars in a single embed by concatenating them like this:
src=7in59vl3l33mahivcdvlou8avo%40group.calendar.google.com
&src=8a0dcuan7gmdntd47t828546hk%40group.calendar.google.com
&src=0ue5blemvmppd0176clh5iabp8%40group.calendar.google.com
(you can also view page source on my schedule)

i think this is pretty amazing. also, these things have been around for a while but not many of my friends use them, so i'd like to tell you that you can do the following with google calendar:
  • add other people's calendars to your view so you can choose to overlay their schedule on top of yours to schedule things.
  • invite people to events via google calendar. (there is an invite guests option in event details.)
  • get e-mail/text message reminders of your activities.

Sunday, August 19, 2007

exercise promotes neurogenesis

read the NY times article lobes of steel. a summary: though the human brain begins to shrink in your thirties, experiments on mice suggest that neurogenesis still takes place and that aerobic exercise promotes neurogenesis. this article also mentions other studies that show positive correlation between exercise and good brain health--it is on the whole very pro-exercise.

an interesting thing to note is that marijuana, moderate amounts of alcohol, and chocolate also seem to promote neurogenesis.

rememberthemilk.com

this is the most amazing thing in the world--i think i'm in love. rememberthemilk is a site integrated with google things that lets you make to-do lists using a very nicely done ajax interface.

some of the nice things about it are as follows:
  • you can have different categories of task--think firefox or igoogle tabs. (some default categories are personal, work, and study.)
  • you can set various things about a task, such as the due date and priority. you can get reminders via e-mail, IM, or SMS at a pre-specified period of time before the task due date.
  • you can have task contacts and send/receive tasks. you can also share tasks. (this seems really good for organizing things in clubs etc.)
  • the site has a really good look and feel and the ajax makes you feel like everything is very fast.
  • you can also use this app offline.
  • it's integrated with maps etc.
i haven't fully explored it yet, but some things that would be nice for it to do are:
  • make it easier to specify task due date (by popping out a calendar or something) and other relevant information about a task.
  • allow the user to put more details involving a task. (sometimes you need to store notes, addresses, etc. having to do with a task...)
  • allow for specification of a specific time of day as a deadline.
  • allow for priority as a function rather than flat setting. (an e-mail i need to write in september has low priority now but will have much higher priority as the "due date" approaches.)

Saturday, August 18, 2007

find the jean

since i never take any pictures of my own, you may try to find me in these:
http://picasaweb.google.com/mardanbeigi/TomAndEugeneSLastDayAtSMO

Thursday, August 16, 2007

hammer factory factory

this has been going around the internet for a while, but here is a link to joel spolsky's satire on software factories. as someone said, "there are too many nouns in java."

sexual harassment policy facts

i don't quite remember all the details, but we had a sexual harassment seminar earlier this summer and some of the facts i learned were quite incredible. apparently it is important to be educated on what constitutes sexual harassment because it is one of the things that the company is not responsible for--the court could rule to have me (the harasser) pay the whole settlement. (usually they rule for the accused to pay for part of it and the company to cover the rest--it is often half and half, maybe?)

anyway, this lawyer who deals with this sort of thing came in and told us about some of the cases they dealt with. he said that usually borderline cases go to court, so you usually don't hear about the extreme ones.

here are some things i learned about sexual harassment policies:
  • for verbal harassment, the plaintiff needs to give notice before filing a complaint.
  • for other sorts of harassment, no notice needs to be given.
  • intent doesn't factor into the ruling because most people do not intend to harass.
i learned the following about the ramifications of such policies:
  • not laughing apparently counts as "giving notice." there was a case in which the plaintiff found a coworker's sexual jokes offensive. thought she never gave notice, the fact that she never laughed was enough.
  • if you have a screensaver that shows images from the internet and accidentally shows pornography, someone could successfully file a complaint against you.
  • if you have an offensive piece of art (or photograph), someone could file a complaint. (perhaps this is why we only have rothko reproductions around the office.)
  • even if the person you are harassing enjoys it, someone else could become offended and successfully file a complaint. the courts consider third party harassment legitimate.
  • doing anything obviously harassing is considered harassment and you/your company could be forced to pay a lot of money. (these sexual harassment cases seem to settle for far higher than family leave cases, for instance.)

8.16.07

some facts of food:
  • did you know that cupcake shops are a trend? well , they are. there was an NY times article a while back about how people were leaving the movie industry etc. to start bake shops. today i tried yummy cupcakes for the first time. quite good--seems to be me mostly frosting. i see why people like them, but i really don't know why they would be so big. why cupcakes, of all desserts? (not cookies, or scones, or danishes?) such things are beyond me.
  • following the theme of trends of deviating from health-consciousness, it is apparently the thing for girls to emphasize their appreciation of red meat. (there was an article "be yourselves, girls, order the rib-eye" about this in the NY times.) apparently all sorts of women emphasize (truthfully or not) it is still trendy, however, for guys to be vegetarians because it is the women who are judging them.
  • eau de vie seems like a nice, sophisticated thing to drink.

some facts of life:
  • some high schools are now having students pick majors. (read related article here.) the reasoning is that these schools haven't been doing too well on standardized tests, so giving students majors will help keep them engaged and give them an edge in the college admissions process. i am not sure how well it is working--the article quotes students feeling locked in, parents worrying about students not getting exposed to a broad range of things, etc. i think this is a fairly terrible idea because it is patching a symptom rather than getting anywhere near the source of the problem. the fact that students are not engaged in high school is a result of failure in proper education during in elementary and middle school years; the fact that something that seems as meaningless as a high school major could provide an edge in college admissions reveals grave problems in what college admissions are valuing these days. these days i believe the fact that college degrees have come to mean very little shows that this system isn't really working out too well for us; our society forces people to spend (often wasted) years paying money instead of earning any with the threat that if they don't do this, they won't be able to find a decent job down the road. many of these people still end up not making the experience worth real cost + opportunity cost... i don't have a good solution in mind.
  • on a similar note, some colleges are now charging different tuitions for different majors, with more lucrative majors costing more. i don't know how i feel about this yet.

some facts of jean:
  • perfume of the day: davidoff cool water wave. smelled nice, but too generically nice. liked bright crystal better.
  • today was the birthday of john in my team. his status message was "8 + 16 = 25?" which makes perfect sense given that he turns 25 on 8.16, but i, being too dense to understand this, IMed him about his incredible mental math. (well, it was only an off-by-one error...) to make up for this, i made him a birthday page.
  • i originally titled this entry "8.16.06." my attention to detail is incredible.

Saturday, August 11, 2007

some facts i have learned this summer

i have learned these mostly from reading the new york times. some facts are from other sources.
  • vitamin C may not actually do that much to prevent colds.
  • echinacea, on the other hand, is effective in boosting the immune system to protect against colds.
  • while it may look like they are exhibiting phototropism, palm trees in LA are leaning away from prevailing winds.
  • there has been local selection among human populations in the last few thousand years. some evidence for this is the prevalence of lactose intolerance in european and asian populations and things like that. differences also include those in brain development/function.
  • i also learned a lot about sexual harrassment policies and how goofy they are. perhaps i will discuss this in its own post.

supporting the enforcement of namespaces

yesterday i was plagued by a terrible bug for a very long time. what was happening was this: i was using a class X* that was calling some third-party library that included a class Y*. i was calling a function in X that caused the destructor of Y to be called. whenever i called this function, i would get a seg fault occurring when the destructor of Y was called. some odd symptoms of this bug were that a string destructor was being called, but there were no strings anywhere, and i did not experience the bug when i took out certain linking dependencies.

when my host finally figured out what was going on, i had to laugh because it was so incredible. it turned out what had been going on was some dependency was bringing in another class Y had contained a string. when X called the destructor for its Y, the other destructor was being called, causing all sorts of problems. this should have been something caught by the linker, but for some reason it manifested itself as a runtime error.

lessons to be learned:

  • the linker does not always know best. trust nothing!
  • everything should be in a namespace. such problems could have been avoided if we had a n1::Y and a n2::Y.
  • C++ is a beautiful language with very good enforcement of abstraction barriers.


one of the above statements is not like the other.

*names have been changed to preserve anonymity.

ma vie

this is going to be a long post. haha, every time i say that i usually have to take it back sometime later due to my highly reliable attention span giving out. :) this is going to be the post in which i tell you about what i have been doing with my summer--as if you care. i will label each section of this post with a relevant heading so you can pick which parts to skip.


introduction.
so, dear friend, i will begin by describing the superficial circumstances of my life. as you may recall from from episode the previous, i have been living in sunny southern california toiling away in the document mines by day and biting the necks of unsuspecting victims by night. this is only on weekdays, of course. on weekends i lead a normal socal existence, usually spending my saturdays going to the beach and then out to dinner with some of the other interns and my sundays hanging around and doing nothing. sometimes on saturdays i'll go for a really long run down to and along venice beach.


the fascinating climate of santa monica.
santa monica is truly paradise on earth--it never rains and the temperature along the coast hovers around a balmy 70-80 degrees. apparently we enjoy this good weather here because of something called the marine layer. (i had never heard of such a thing before moving out here, but it is a layer of cool air formed from cool ocean water that seals in the comfortable weather.) one day i asked john, a guy on my team, why it had been cold that week and he explained that everywhere else in LA it was actually quite hot--in the valley it is often in the 90's. california weather is quite fascinating.


google santa monica, most beautiful google on earth.
i would not have said this a week ago, but this past week we move to our new office on the corner of 2nd st. and santa monica ave. (Click here to see where it is on the map.) it is a triangular-shaped building with tiered balconies 2 blocks from the ocean. google has the 3rd and 4th floors, so from the balconies/windows we get an unobstructed, amazing ocean view. if i look to my right from my 4th floor desk through a layer of plexiglass and then the glass of the balcony door i see something like the following inspiration poster--except it is real:



the great part is that the balcony actually has a hammock on it. :) i am certainly not complaining.


i got a haircut.
i don't have a good picture of me with this haircut yet, but aliza suggest i get my hair cut like jean seberg in a bout de souffle (breathless).


my experiences as a code monkey.
besides enjoying the good weather, i have really been enjoying my work this summer. it is the first time i've really had good coding standards (in terms of readability/efficiency) enforced upon me. for instance, before i hadn't really paid attention to things like passing in a pointer to a string to set the value instead of returning it to avoid the copy, appropriate use of "const," etc. etc. etc. i have learned to develop a tolerant appreciation of C++ as a language good for developing fast code on a large scale (in terms of number of developers). of course, for personal endeavors i still prefer C because it is much more conducive to being a speed demon, and when you are writing stuff on a smaller scale much of the objected oriented style is quite unnecessary.

i probably can't say much more about what i've been working on and that kind of thing, but i will say that they treat us quite well. i have 2 24" monitors, a pretty nice keyboard and mouse, and pretty good headphones. i will miss all of this greatly when i return to my 19" monitors and crappy mouse/keyboard/antiheadphones at school.

Friday, August 10, 2007

books, books, books

I am really too tired these days to write much, but I'll list out the books I've read so far this summer and some brief comments.

  • Laughter in the Dark (Nabokov) - I've commented on this one earlier. It's Nabokov's last book written in Russian, translated (of course) by N himself. How can you not love a book that begins: "Once upon a time there lived in Berlin, Germany, a man called Albinus. He was rich, respectable, happy; one day he abandoned his wife for the sake of a youthful mistress; he loved; was not loved; and his life ended in disaster."

  • Ethan Frome (Edith Wharton) - kind of nice? I wasn't in the mood for that whole gloomy New England life of misery business.
  • Pale Fire (Nabokov) - N messing with your mind and playing with the English language. A fun book.
  • Hitchhiker's Guide to the End of the Galaxy and Restaurant at the End of the Universe (Douglas Adams) - good, funny, but I would have enjoyed it more a couple of years ago.
  • Madame Bovary (Gustave Flaubert) - a nice read? For an 19th (?) century middle America version that is more obviously satirical, read Sinclair Lewis's Main Street.
  • Sons and Lovers (D. H. Lawrence) - you may know that I don't like Lawrence because he is a giant womanizer. I decided to give him a second (or maybe third) chance with this book because it's his most read, a staple of Modernist English literature, etc. etc. etc. Yeah, not impressed. The book (a semi-autobiographical work) talks about how all women in protagonist Paul Morel's life are in love with him. There is mother, whose life revolves around her love first Paul's older brother than for Paul himself. Then there is Miriam, based on Jessie something-or-other from Lawrence's real life, who hangs around Paul and hangs on his every word. (Real-life Jessie alleged never spoke to him again after reading his portrayal of her in this book. Good for her.)
  • Missing Mom (Joyce Carol Oates) - nice, but too contemporary for my tastes. :)
  • The Stranger (Camus) - a nice read? If you like that kind of depressing existentialist stuff. (I do.)
  • Confessions (Saint Augustine) - inspired to read this because my friend Liz is getting married in St. Augustine's church, I discovered this is quite a fascinating book. (I'm not very far into it yet.) Especially considering this was written in 400 AD or something like that, Augustine is quite the modern saint. Confessions is addressed to God and goes through Augustine's life. T.S. Eliot and James Joyce were two modern writers Augustine influence. Here is a great passage: "I came to Carthage, where a caldron of unholy loves was seething and bubbling all around me. I was not in love as yet, but I was in love with love; and, from a hidden hunger, I hated myself for not feeling more intensely a sense of hunger. I was looking for something to love, for I was in love with loving, and I hated security and a smooth way, free from snares. Within me I had a dearth of that inner food which is thyself, my God--although that dearth caused me no hunger."

Sunday, July 15, 2007

remove before washing or wearing: RFID tags and you

i've finally realized they are RFID tags. i had bought some clothing yesterday and was annoyed that i had no scissors with which to cut them off. i asked my roommate for some scissors and we proceeded to have a conversation about the purpose of the tags. i conjectured that the tags are there to keep you from washing the clothing and then returning it. this conjecture holds for the tags that could be little packets of ink. i remember, however, that my roommate aliza once said she never cuts off the tags and is fine.

after cutting off one of the tags i held it up to the light and made a shocking discovery. it was an RFID tag! you know, the ones that are stuck on to various things you buy from target-like stores and fall out books you order. (RFID stands for "radio-frequency identification" and the tags, which store information, can be read from several meters away and does not have to be in the line of sight of the reader. for basic information, read Wikipedia on RFID. )

i found it very interesting that my clothing comes with RFID tags. it makes a lot of sense, since it is more effective than using bar codes. i am sure they use the tags for purposes of scanning etc. within the store, but tagging clothing with RFID potentially gives stores much more power. if you don't cut off your tags, they could potentially do a lot more (possibly unethical things) to track how/where the clothes are being worn.

one lesson is that RFID tags are much more powerful than barcodes. first of all, you can't just cover it up. i quote source 1:
"Surveillance is getting easier, cheaper, smaller, and ubiquitous. Sure, it's possible to destroy an RFID tag. You can crush it, puncture it, or microwave it (but be careful of fires!). You can't drown it, however, and you can't demagnetize it. And washing RFID-tagged clothes won't remove the chips, since they're specifically designed to withstand years of wearing, washing, and drying. You could remove the chip from your jeans, but you'd have to find it first."

a more practical thing to get out of this is you should remove your tags so that you don't set off alarms when you go into stores. (please see source 3 below.) apparently many people have had the embarrassing/inconvenient experience of setting off alarms because they neglected to remove tags.

in reference to a conversation i had with aliza and josh sharp last summer about the government's ability to track us, i would also like to quote source 2 to show that i am not unnecessarily paranoid:
"At this point, you can be triangulated and tracked based on your cell phone signal, even when you're not talking on it. "


references:
  1. RFID chips are here - article about history of RFID, its current uses, etc.
  2. an informative forum post about this stuff
  3. Old Navy Tags - a guy sets off the alarm b/c he did not remove a tag from jeans he'd bought several months prior to the incident
  4. Benetton Clothing to Carry RFID Tags

Friday, June 22, 2007

oh, i forgot to write about the people

i may indeed be autistic. :)

the people are nice. i usually have meals either with my team and their friends and/or with these 2 other interns, gregory and luke, who are also into programming languages. we sometimes talk about our programming languages club (which doesn't exist).

in general the people are quite interesting. everyone is laid back (most people wear free t-shirts to work every day), not pretentious, and smart/curious without being annoying about it. at meals we'll talk about a wide variety of things: sports, random engineering projects (potato guns, etc.), how things work, why things work, life, liberty, etc.

a story: google had switched over to biodegradable silverware and people were complaining about it one day, and someone said that her friend claimed that his biodegradable spoon had dissolved while he'd been stirring coffee. to see whether or not this fact was true, someone else put a spoon in hot water. the spoon got more bendy but did not dissolve. this cup of water + spoon ended up on my desk, and while looking at it one day i started wondering whether or not it the acidity of coffee may have contributed to dissolving the spoon. after some deliberation and procrastination we tried to confirm this by soaking biodegradable utensils in coca-cola (pH of high 2's or low 3's. 3 days later they still had not shown signs of physical deterioration. unfortunately we were never clever enough to try hot coffee itself.

another story: this one guy at work is known for doing the pepsi-coke challenge. people had talked about it and i figured he just gave people cups of the stuff and asked them to taste. what i discovered is that he is quite intense about this, labeling 20+ cups (i want to say 24 because it is divisible by 2 and 3...) with the letters of the alphabet and pours coke into half and pepsi into half, marking down which he put into which. he then gives participants 3 cups, 1 of which is different, and has them say which one. when i did it i did it wrong b/c i went back and retasted but i still got it wrong. :( 2/3 of us go it correct, though.

that is all for now.

reporting from the second day of summer

it's been a while since my last post, so i'll start with the immediate facts of my life and work my way outward into the past and future, zooming out on the level of detail as i go. i am currently sitting in my new apartment (where i'll be staying until the end of the summer). it is dark except for the kitchen light and the light at the table where i am sitting and the windows/balcony door are open. this is my favorite time of year because i have a lot of summer left... i wonder if i'd have such enthusiasm for good weather if i lived somewhere with no winter. the weather (and good food) are two of the few things about which i still have strong feelings--i certainly want to still be able to be excited about some things.

anyway, life is pretty good. i came out to california june 3 and spent a week training at the googleplex in mountain view. when we weren't in training sessions we were let loose to explore the campus and code base. we also had access to the cafes, which are shockingly good. (i'd read about how the food is gourmet and even seen pictures of it, but i didn't realize how heavenly a place could really be until i experienced it for myself...) please see my facebook album for a picture of one of my lunches. :)

the following week i came down to santa monica, and it has been amazing. the weather is PERFECT (albeit a little cool, but if it were too perfect I'd be spoiled) and it is so pretty. now i will proceed to take you, my loyal reader, through a day in my life.

[BEGIN SECTION WITH MANY DETAILS. SKIP IF SO INCLINED. i include many details for emphasizing how amusing i find my routines--and my obsession with food.]
first, a typical weekday. i set my alarm for 6:20 and have thus far been pretty good about getting up around then. i check my e-mail (note how I no longer need to check the weather!), get dressed and go for a run along the beach. (i alternate between going left and going right every day.) i return sometime before 8, shower, eat an orange or some other piece of available fruit, and then walk to work. the walk is about 30 minutes. though i often encounter many allergens on the walk to and from work, it is very nice. anyway. upon arriving at work i obtain a bowl of cereal (i've narrowed down my choices to rotating between 3 kinds of kashi healthy-tasting stuff) and fill it with reduced fact milk (which, i've discovered, is a very nice compromise between whole and skim) while i make a cup of coffee. as for my coffee choices, i rotate between 5 of the 6 kinds of coffee. i decline to try the 6th because the name is too generic. (if you'd like to know, i put 1 thing of cream and 2 cups of sugar in my coffee.) after i obtain these food items i go to my desk and begin working. this lasts until 12ish when we all go up to the 3rd floor. every day i make myself a sandwich, usually on whole wheat bread, always with salami and often including various kinds of (sometimes spiced) pastrami. i switch between various cheeses but always include tomatoes, lettuce, and pickles (but on the side). 98% of the time i toast my sandwich. i'll finish off lunch (which i eat outside, often with gregory and luke) with fruit, and then i will really finish it with fruit on the bottom yogurt, which i'll eat at my desk. at 4 i take a break to eat yogurt and then at 7 i eat dinner. (tuesdays are sushi; wednesdays are indian.) i go home within an hour or so of finishing dinner, and then i will go on the internet or read or watch tv until bed.

now, as for the work itself, i'm working on video search--in particular, search quality. as for what i actually do, i sit at my desk all day and keep pretty much to myself. the people around me talk a lot, though, so it's a really fun atmosphere. people will pair program things, which is really cute. i like work a lot because people have a good time but work hard--they'll stay at work for what i initially thought was ridiculously long times, but they'll enjoy it. i enjoy going to work, being there, etc.

as for the weekends... i haven't had many weekends here, but the first one i spent w/ many parents. i stayed w/ thomas and the carrieros for a day, and then the next day i had dinner with justin moe and his parents. the weekend afterward i spent friday hanging out w/ people from work, saturday hanging out w/ interns at the beach, and sunday going to dim sum. (dim sum did indeed take up the better part of a day...)
[END SECTION WITH MANY DETAILS.]

in conveying so many details i've exhausted my desire to write, and probably your desire to read as well. talk to you soon, friend.