Sunday, November 25, 2012

On Productivity in Grad School

I was recently invited to be on a panel about being productive in graduate school.  This invitation surprised and flattered me.  I do not consider myself to be particularly productive as a graduate student: there are graduate students who have far higher-volume research output and/or greater publication count.  I also don't follow the productivity rules: I don't always remember to track my progress; I don't have a great way of organizing papers I read; I often work on what most catches my attention.  And I spend a good deal of time doing things that are not my research.

That said, I seem to be getting by decently well.  I am happy with the work I have been doing and my papers are in good venues.  When I am in a serious thinking or building mode, itemized goals are not always necessary.  Sure, being more organized about papers would help, but for many topics I am interested in I can give you a short bibliography off the top of my head.  High-level goals usually keep me focused and deadlines can make certain tasks seem pretty damn interesting.  Outside of research, I co-founded Graduate Women at MIT in 2009; we now have over 50 planning committee members running programs serving our over 1200 mailing list members.  This has taught me enormously useful lessons about collaborating with peers, managing people, and managing my time.  The time I spend traveling, doing yoga, and enjoying life with friends also contributes to my happiness and creativity.

Reflecting upon this, I realized that productivity looks different for everyone.  Unlike many people I consider productive, I find it difficult to make myself work.  If I want to work, nothing can stop me; if I don't want to work, then I am better off waiting until I want to work.  To want to work, I need to feel like I am working on something meaningful: technically interesting to me and potentially impactful to the world.  I also refuse to sacrifice a certain quality of life in favor of work: if some end goal requires me to work harder than I would like, then that goal is not for me.

For me, learning how to be productive was about understanding how to harness my motivation and focus it towards productive endeavors.  Below I elaborate on my "top five" strategies that I was asked to discuss at the panel.
  1. Figure out what drives you.  When I am uninspired, I can spend weeks pretty much running in place.  When I am inspired, it is scary what I can do in even one hour.  If you have experienced this, you will agree that the difference between inspired effort and uninspired effort is immense.  Some people are driven by a desire to understand something, others are driven by a desire to create something, and yet others are driven by more abstract goals: a desire to be influential; a desire to be "successful."  Many people are driven by imminent deadlines.  Knowing what you are going after and why you are doing it will make it easier to find those moments.
  2. Stay away from rat races.  Being in a position where you are constantly measuring yourself up to other people is exhausting and, in my opinion, inefficient.  Find your niche; make yourself irreplaceable.  This will give you the freedom to come up with ideas and work at a more leisurely pace.  Discover what topics and groups of people you have the most mutual "chemistry" with.  Figure out what you have that nobody else has--this can be a skill set or a deep interest in some topic.
  3. Learn the rules of the game.  Invest time in figuring out what matters, what doesn't matter, and the relative mileage about different things you can do to achieve your goals.  For instance, I have also been told that your top three papers matter more than how many papers you have.  I have also become increasingly aware of the importance of publicizing work via talks and personal meetings.  I now spend up to one month preparing a talk; if you told me as a young graduate student I would later be doing this, I would have found it preposterous. 
  4. Optimize your environment.  Take time to configure your programming environment, your bibliography collection tools, your way of recording ideas/research notes, etc.  Surround yourself with smart and productive people who motivate you to do good work.  Know the people in your network--a quick e-mail to an expert in a subarea can quickly point you to the most relevant reference materials, saving you days of paper-reading.  Similarly, being in an environment where you are discussing your ideas with peers you respect will make it easier to do innovative research.
  5. Take care of your body and mind.  Learn how to hack your body; one hour of work when you are on top of your game can be equivalent to hours of less high-quality work.  Eating, exercising, sleeping, taking breaks, spending time with friends, and meditating are the solutions to most problems.
A caveat is that this advice is best-suited for those similar to me: workaholics who prefer doing to thinking.  And of course, who knows how good this advice is, as I have yet to really prove myself.  As my own productivity is a work in progress, I welcome what advice you may have.

Related reading:  For those of you who struggle with traditional productivity advice, Structured Procrastination is a nice essay.

Sunday, November 18, 2012

Should You Learn Scala?

It depends on what you want to accomplish*, but the answer is probably yes.

By way of background, Scala is a programming language originally developed at the Swiss university EPFL in an attempt to apply recent innovations in programming languages research to a language that can gain mainstream traction.  Researchers keep coming up with clever ways to it easier for programmers to write correct code and to write less code, but much of the time only academic programmers benefit because these features are implemented in boutique languages (for instance, OCaml and Haskell) that are not in widespread use in industry or open source projects.

On its own, without considering features such a libraries and interoperability, Scala is a nice language.  It is "multi-paradigm," supporting object-oriented programming and functional programming idioms.  Scala allows you to define types associated with both data attributes (with classes behaving like C++/Java classes) and behavior attributes (with traits corresponding to Java interfaces).  In the way of functional programming idioms, Scala functions are first-class (which means you can pass them around as values) and Scala also supports anonymous functions and currying (partial application of multi-argument functions).  This combination of features make it possible to write Scala programs that are quite concise and elegant**.

Scala's libraries and interoperability make it a force to be reckoned with.  Scala runs on the Java Virtual Machine (JVM) and can interoperate nicely with Java code.  This means that you can use Java libraries directly from Scala code.  It is also possible to call Scala code from Java (see here).  There is a nice post about how you can take advantage of Scala parser combinators, which use higher-order functions to help you write concise parsers, to write parsers for systems otherwise written in Java.  Not only can you do all of the things in Scala, you can easily write part of your program in Scala and the rest in Java.  (This is huge for mainstream adoption potential because so much of the world's code is written in Java and so many developers are taught in school!)

Learning Scala will make you more marketable.  Many companies are using Scala these days, including LinkedIn, FourSquare, Twitter, and Quora.  The founders of Quora spent a couple of months building a Scala web framework in order to use Scala.  Martin Odersky, the man behind Scala, is now behind the startup Typesafe for supporting Scala development.  There are some nice Scala web frameworks out there, including Lift and Play.  Scala is also gaining traction in the research community.  Many more people cared about our research on the Jeeves programming language for automatically enforcing privacy policies once we implemented it as an embedded domain-specific language in Scala.

Scala is also relatively easy to learn, especially compared to other strongly statically typed languages (OCaml; Haskell).  I have previously said that Python is the most marketable language for beginners, but I am beginning to change my mind.  Like Python, Scala has clean syntax, nice libraries, good online documentation, and lots of people in industry using it.  Unlike Python, Scala also has a static type system that can prevent you from doing bad things (whereas in Python the bad things just happen when you run the program).

If you are teaching a course using Java, you may want to consider switching to Scala.  I have recently had positive experiences teaching Scala to MIT undergraduates during recitation in 6.005, the software construction course taught primarily in Java.  During three recitations I introduced how to use functional idioms, how to build an evaluator for a simple language by using data types and pattern matching, and how to build an incredibly concise parser for the tiny language using parser combinators.  You may find my notes here, along with the accompanying code examples.

If you are considering the merits of Scala over other languages, you may also be interested in reading my Quora responses to the questions "What makes a good programming language?" and What are the advantages of Scala over C++ and Haskell?.

* If you are building scientific applications, a language with more math support (Matlab; Mathematica; R) may be superior.  If you just want to do a weekend project writing a Craigslist scraper, Python may be better because it is easier to learn and has great web scraping libraries.
** Okay, Scala programs are not as beautiful as OCaml or Haskell (I have another post on ML vs. Haskell) but it's so much more practical in many ways.

Sunday, November 11, 2012

Simple Advice for Being Effective in School

As a result of hijacking a few recitations in MIT's 6.005: Software Construction course to evangelize Scala, I have come into contact with numerous undergraduates.  Engaging with these students, I have realized how much more effective I could have been during college were I less focused on my work and more focused on things like showing up on time.  I have come up with the following list of things that go a surprisingly long way towards academic success.

  1. Show up.  It goes without saying that you miss a lot of things if you don't show up.  There is also a two-way thing.  If you don't get face time with an instructor, it does not matter how good you are.  They are not going to know who you are, they will probably feel less motivated to answer your questions, and they will probably not write you a recommendation letter.  (I am not important enough to have written many recommendation letters so I am extrapolating a bit on the last one.)
  2. Be on time.  During the first few minutes of a lecture/recitation/talk, many important things happen: there might be administrative announcements; there might be high-level motivation; there might be contextualizing facts.  If you show up late, it is more difficult to motivate yourself to pay attention and to follow what is going on.  You will often miss other things when you spend the whole time trying to catch up.
  3. Stay awake.  The more you are able to absorb directly from the person who is trying to convey information to you, the less unnecessary self-teaching and work you will have to do later.  If you are not able to stay awake in lecture, hack your body (get more sleep, drink more coffee, move your body before lecture) until you learn how to stay awake.
  4. Be present.  Focus on being in the classroom rather than surfing the web, doing other homework, or zoning out.  Paying attention, not just to the lecture/exercise but also to other students' responses, can save a lot of work.  I have noticed that students do a fair amount of unnecessary work because they did not listen to either verbal or written instructions or because they missed the answer to another student's clarifying question.  Getting enough sleep helps a lot.
  5. If in doubt, ask.  If you don't understand something, it could probably be explained to you better, either by the instructor or by another student.  Asking makes it more likely that you can get this explanation.  Also, instructors like to see effort.
  6. Be curious.  It is great to ask "what if" and "why" questions.  Instructors love this and they will remember you for it, as long as you are not being obnoxious.
  7. Find the motivation.  Knowing why you (personally) should learn the material will help you with 1-6.  Do not be afraid to ask the instructor what the current topics are good for in the real world and what mastering the current content can do for you.
  8. Don't be lazy.  Read instructions.  For programming classes: look up syntax and try things out with the compiler/interpreter.  Your TA might like to be there for you, but you are better off trying things on your own.  You will not always have a TA in the real world.
  9. Be nice.  How smart you are often matters less than how nice you are.  For instance, the instructor will be much more likely to answer your questions thoroughly if you are nice.  
  10. Be a commitment minimalist.  If you have so many classes and extracurricular activities that you are not able to accomplish 1-9, cut down.  Many people have told me that they would have gotten a superior college education had they had done less and focused on it more.
In summary: school is often not about how smart you are, but about how much you are participating as an engaged human being.

Saturday, October 27, 2012

How to Give a Talk Where I Stay Awake

I fall asleep during lectures. I have even fallen asleep during one-on-one meetings. While I am not proud of my poor attention span, it has made me think about what makes a speaker compelling. Here are some actionable items from my observations.

Develop rapport with your audience. If your audience can identify with you as a human being, they will have an easier time listening to you. There are many ways to establish rapport: for instance, by making eye contact, by making jokes, and by identifying things you have in common with the audience. Anecdotes--especially those from your struggle in coming up with the solution--are great. Treat the audience as potential supporters rather than potential detractors. Avoid being defensive.

Address your audience’s interests. In How to Win Friends and Influence People, Dale Carnegie says you should prioritize the other person’s desires and interests in conversation. For instance, the standard advice for technical talks is motivate the talk with respect to the questions the audience is interested in. There are also other dimensions of audience interest. For instance, some audiences may be interested in having everyone understanding all parts of a talk, whereas others may prefer talks with an obscure section that only a few experts understand. The interests need not be relevant to the topic at hand: for instance, internet kittens in addition to operating systems.

At least pretend you are having a two-way conversation. Speak at a reasonable pace.  Make eye contact.  Pause before and after the important points to give the audience time to process. The most engaging talks I have seen involve the audience without derailing the talk. This is done through asking questions the audience already knows, asking the audience to solve small problems, or asking the audience for questions. Strategically injecting opportunities for audience questions is the most lightweight way of achieving this. Skilled speakers may even moderate some amount of discussion.

Keep things interesting. Give a talk you would want to attend. Entertain. Tell a good story. Make slides that someone would want to look at (as little text as possible, with text as large possible). Make a cool interactive demo. Be outrageous.

Convey passion. If even you do not feel strongly, why should we care? Show this by putting energy into your speaking and/or by saying why you find something interesting.

In summary: focus on what the audience wants to hear rather than what you want to say. This is easier to achieve if you are comfortable with what you want to say. Prepare well. It is not uncommon for among my peers to run through a 20-minute talk at least five times. Being comfortable with your talk allows you to focus on establishing a connection with the audience and paying attention to their needs.

I hope to take some of this advice in my upcoming lectures and talks. Perhaps then I will not have to resort to throwing candy at those who have fallen asleep.

Monday, October 22, 2012

FAQ: Applying to Graduate School for Computer Science

Over the years, I have gotten various e-mails asking me about what it is like to be a graduate student at MIT and how to apply.  I have compiled this list of frequently asked questions.

--

Q: What is the best school for studying computer science in the United States?  Where should I apply?
A: The top-ranked schools are MIT, Carnegie Mellon, Stanford, and Berkeley but the best school for you depends on many factors, including the area(s) you are interested in, the professor(s) you would work with, the size of the school, the size of the department, the location of the school, etc.  I would recommend applying to all schools you may be interested in and then talking to potential professors and their groups once you are admitted.

My personal notes from visit weekends at MIT, Carnegie Mellon, Stanford, Berkeley, University of Pennsylvania, and University of Washington can be found here.

--

Q: Can you tell me about the work in research group X?
A: The best way before applying to get a sense of what is current in group X is to look at the websites of the professors and  the graduate students.  The group itself may also have a website.  After you are admitted, you will have plenty of opportunity to talk with professors and students to determine what is the best fit, either through the visit weekend or over the phone.

--

Q: How much work is the Computer Science Ph.D. program at MIT?
A: The course requirements tend to be lighter than other Ph.D. programs: I had four required courses and two additional for a non-CS minor.  (They may be changing this.)  The focus is on your research: as long as your advisor thinks you are doing good work and a couple of other professors can confirm this, there is not too much bureaucracy to deal with.

As for research, you are technically expected to do at least 20 hours of work for your advisor and 20 hours for coursework/your own interests.  I would say the average student should expect to work 40-60 hours a week, depending on how well they use their time and how demanding their advisor is.  The number of expected hours varies by student and by group.  I work on average 40 hours a week if there is no deadline, 50 hours a week the month before a deadline, and 60 hours right before a deadline.  I would imagine the amount of work expected of MIT students is comparable to that at other top computer science Ph.D. programs.

My blog posts Reasons to Pursue a Ph.D. and The Life of an Academic, Explained may also give you insights as to what life at MIT may be like.

--

Q: Could you look over my personal statement?
A: Unless I know you personally, I probably do not have time to look over your statement.  Here is some good advice, most of which was given to me by others:

  • Your personal statement should be an answer to the question "why should we admit you and what would it be like to have you here?"  You should argue convincingly for the first point while also giving an idea of your research interests and research personality.
  • Someone should be able to read your statement quickly to answer the question above.  Reading the first sentence of each paragraph should give someone a pretty good idea of what your statement says.
  • Leave out unnecessary details from your statement, especially if someone can find those details on your resume.
  • Be as concise as possible.
  • Don't use excessively flowery language.
  • Start early and revise often.  Show your statement to anyone who will read it and ask for their feedback.
I have posted one of my personal statements here.


--

Q: What advice do you have for me on my resume?
A: Here is some good advice for resumes:

  • Try to be as concise as possible.  If you are applying straight from undergraduate, there is little reason why your resume should exceed one page.
  • Use action verbs, state your achievements clearly--all that standard advice.  People should be able to quickly be able to evaluate the contributions you made in each role.  I prefer having 2-3 bullet points per role to clearly communicate this.
  • Ask other people who have graduated from your institution and/or people you have worked with to look over your resume.  They will have the best idea of what people expect and how it will be evaluated.

--
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:

Saturday, October 20, 2012

Glitter is How I Fell in Love with San Francisco

The mid-twenties women of my peer group all have one question on our minds.  Especially if we are in tech.  Should we move to San Francisco?

I had been living in San Francisco for a few weeks (during an internship) when a friend asked if I was in love with it.  "No" was my immediate response.  Not yet and maybe not ever.  People are so laid back, I said.  All I do is work and commute (from the southern Mission to Menlo Park, 45 minutes, twice each day).  Where are the intellectuals?  Where are the Europeans?  Why is everyone so outdoorsy? And why is it so cold?

I subsequently had several conversations about why I was not in love.  Try to like it more, my other friends said.  You of all people can figure out how to enjoy yourself there.

And so I started spending more time in the city: wearing scarves and finding the flat places to bike.  I went into the uniquely American natural beauty of California's mountains and redwood groves.  I went on hilly runs with breathtaking views of the city and the water.  I ate sushi; I ate pork belly; I ate everything.

One night I acquired loose glitter to wear to what a new friend and I thought was a theme party, what but turned out to be a play party.  (Only in San Francisco...)  The next night I asked the friend if it was okay to continue wearing the glitter.  She laughed and said, this is San Francisco.  You will never be the weirdest person on the street.

One day I acquired a metallic blue cape.  When I asked the woman at the store if it was okay to wear it "right now," she laughed and said, this is San Francisco.

What a good way to describe the attitude of the city, where you can do whatever you feel inspired to do without judgment.  People describe their lives in terms of projects rather than professions.  The CTO of a high-profile tech company is also a yoga instructor.  You can wear a suit or patterned pajamas.  Men, at least in the Castro, are equally likely to be naked or wearing nun costumes.   You can have conversations with strangers on the street.  This is San Francisco.

I remember when I first realized I was falling in love.  After a night out and little sleep after, I biked from the Mission to the Sunset for a leisurely few hours with old friends.  I felt so alive biking back through Golden Gate Park in the sunshine: satiated by an incredible Mexican brunch, wearing a newly-acquired thrift-shop jacket, still covered in last night's glitter.

Glitter is how I fell in love with San Francisco.  I still do not know if I should move there--but what a beautiful affair.

---

Note: My descriptions do not apply to the South Bay/Silicon Valley.  I am in love with neither the South Bay nor the commute to and from there from the city.

Monday, June 25, 2012

Why Do Women Want to "Have It All?"

Last week, former State Department director Anne-Marie Slaughter's Atlantic piece "Why Women Still Can't Have It All" spurred a flurry of internet discussion: there was a nice response on why "having it all" is the wrong thing to be striving for (see the Salon response) amidst many other responses (see the NYT summary and Joanne Wilson's response).  This discussion brings up the valid point that the set of desires of "elite women*" may be unsatisfiable.  The main problem is that the outdated expectation for a woman to pair with a socially "stronger" man does not necessarily create professionally supportive relationships for ambitious women.

The assumption that the man needs to be professionally superior leads to situations in which the woman will spend more time thinking about the family.  A mentor once made the provocative statement that that if I did a startup, I would no longer be able to find a man who I respected.  When I asked why, he said that I am "biologically wired" to look for a "stronger man."  After a fair bit of self-reflection, reading about evolutionary biology, and talking to both men and women, I concluded that this "stronger man" business is based on societal constructs left over from a time when society did not allow women to provide for themselves.  I have encountered quite a few men whom I respect who have also said they are willing to make significant sacrifices towards having a family, including staying home if necessary.  I am not saying that ambitious women can only be with less ambitious men, but they should be aware of the topography of the choice space and the tradeoffs that different choices entail.

Professionally ambitious women must also make a choice about what they want to optimize: it is likely that women seeking both "power coupledom" and supportive relationship will be disappointed.  It seems that part of the desire to be part of a "power couple" is based on expectations from the days when a women did not work and a woman's success was based on how "well" she married.  In those days, ambitious men did not expect to find equally successful women: they looked for a supportive woman.  Women should be able (and allowed by society) to make this choice as well.  Women should realize that while it may be the ideal to find a successful man who is also has the bandwidth to be supportive (professionally, emotionally, etc.), this is unlikely as the selection pool can become quite small.  We can be quite happy, however, if we choose to optimize for one or the other with no illusions about what we are giving up.

It is important for a woman to realize that if she wants a "stronger" man, she should have expectations about the tradeoffs she is making.  This does not mean, however, that all women with careers must make these tradeoffs.  We have been given one view of what it means to "have it all" and it is our responsibility to question and redefine this for ourselves.

My friend Yao inspired this post with the following comment:"I wonder why women always think they must be the ones to give up their career for kids and not their husbands."

* I acknowledge that these discussions are highly heteronormative and have a relatively small target demographic.  Everything I say probably applies only to young, urban, highly-educated, heterosexual American women.

Wednesday, June 20, 2012

Why I Go Out

My friend Neha sent me this piece Why Go Out, in which Sheila Heti compares going out (to bars, clubs, parties, and the like*) to a cigarette habit, discusses the merits of being alone, and concludes that social interaction may be a necessary evil. While I agree that people should be honest with themselves about why they go out (to fill voids; to avoid knowing themselves), going out can provide more than just a quick fix for the voids they may be trying to fill.

I agree with the idea that being with people makes you addicted to being with people. I have found that when I have been surrounded by people, I feel more lonely when I am alone. When I have a roommate, I desire social interaction more than when I live alone. I find it important to spend time alone in order to establish the equanimity of being alone as a home base. Spending much of the week "out" certainly gets in the way of self-reflection, self-knowledge, and self-friendship.

Going out is more than a quick fix for me: it is an important part of my character development and well-being. Because of the public persona I find it important to maintain, going out forces me to act happy and carefree. Going out gets me out of my head and keeps me in practice of making small talk. It makes me realize I am not the only person in the world and that my problems are irrelevant to most people. I often feel more confident, happy, and agreeable after being out than after spending time alone or even with a close friend.

Establishing a productive framework for going out takes commitment. The more you go out, the more you get invited out, and the more people you meet. This makes you more statistically likely to attend better parties and have better friends, based on whatever definition of "better." A couple of years ago I established the rule "always go out" for weekend evenings. This has caused dramatic improvement in not just my social life but also my productivity: I am feel much happier and more creative now. Everybody wins.

And so I go out, not just out of habit, but to establish habits that bring more human connection and happiness. Yes, I would sometimes rather be at home, but it does not mean that being home is better for me.

* The "going out" Heti talks about seems to describe a specific kind of going to bars to drink and to pick up people. I also find that fairly empty and depressing; I can see how it can be addictive. As a graduate student in Cambridge I am lucky to have found the "party circuit" of grad students who go out and are also nice and interesting people. Being able to so easily "go out" among friends is not the norm.

Tuesday, April 24, 2012

On Individuals and Communities

I recently read David Brooks's New York Times Article "The Talent Society," which led me to read NYU sociologist Eric Klinenberg's book Going Solo: The Extraordinary Rise and Surprising Appeal of Living Alone.  Brooks's article discusses how Americans are favoring the maximization of talent over locking themselves into stable, committed situations (marriage; settling down in a community).  In Going Solo, Klinenberg describes the worldwide rise of people living without family or roommates.  Factors that may be causing this include higher amounts of wealth, mass urbanization, and decreased social stigma.

At first glance, this phenomenon seems supremely sad: people are becoming self-reliant not just in their friendships (see this 2010 blog post), but also in their living situations.  Klinenberg begins the book by recounting how he got into the business of writing about living alone: during his coverage of the Chicago heat wave, he discovered that many of those who died had been living alone, with no one to look out for them.  People are living alone in part because of the disintegration of the institution of marriage, because of how long people often outlives their spouses, and because of the increased geographic mobility of family members.  Among the people Klinenberg profiles are those who live in complete isolation and people who die alone.  End-of-life is often difficult for those who live far from family members: workplace policy often does not allow time off to care for friends.

Fortunately, Klinenberg covers the many positive aspects of this shift towards living alone.  People are motivated to live alone because high income levels and mass urbanization support the fabulous lifestyles of urban singles.  People are escaping negative living situations: Klinenberg profiles many divorced people who report that living alone can be much less lonely than living with someone with whom they do not get along.  In a world with constant external stimulation, living alone allows people to take the time and space they need to relax and rejuvenate.  As people are spending more time outside of nuclear family structures, they are turning to the greater (transient) community for their social needs.

Klinenberg reveals that the community has become important in the rise of the cult of the individual.  People are not necessarily more alone: urban singles often have more active social lives than those who live with others.  In addition, collective housing is starting to become more popular outside of the United States.  Klinenberg describes a collective housing unit for singles in Finland where people have the option to, but are not obligated to, participate in activities with their housing community.  Instead of turning to nuclear families for support, people are becoming increasingly reliant on a larger and more transient group.

In the upcoming decades, it will be important to structure our society to allow people to happily live alone together.  This will involve examining housing structures, social policy, and expectations about how social needs are to be met.  It seems that as long as we make sure groups such as the anti-social and aging are not left behind, our society can continue to move from one based around the nuclear family to one based on pursuing individual goals in the context of transient but supportive communities.

Sunday, February 05, 2012

The Life of an Academic, Explained

A friend who was dating a post-doctoral researcher at the MIT Media Lab once said, “Jean, please explain to me your life. I don’t understand you academics.” This post is intended for those considering relationships with academics, those thinking about becoming academics, and those bewildered family members of academics.

In this post "academic" mostly refers to "graduate student" but some of the things I say seem to apply to more senior academics (professors, researchers) as well.

How we spend our time. On a typical weekday, I wake up at some point and go into the office. Depending on my meetings and other activities, I go to yoga or for a run before or after this. I usually spent 7-10 hours in my office, depending on how much I slack off and how long it takes for me to finish my major tasks. I try not to work on weekends (at most a few hours) so I can recharge for the upcoming week. My schedule is similar to those of my friends in math/science at Harvard/MIT. Experimental scientists spend more time in lab.

My free time includes meals (which I often spend with friends), 1-2 hours each evening, and weekends. I usually spend my evenings and some part of each weekend pursuing my hobbies, which include reading, blogging, doing things related to women in tech, and a rotating other activity. I spend Friday and Saturday evenings with friends.

My MIT grad student friends have on average 1.5 serious non-research hobbies. Common hobbies include running/biking, doing outdoors activities, doing recreational programming, starting a company, and spending time with a significant other and/or children.

The social life of an academic usually depends on level of introversion. Some academics never leave their offices while others are out 3-7 nights a week. Regardless of whether they do it while socializing or in lab, academics tend to value their wind-down mechanisms.

All of this only holds during times of the year without deadlines.

Advisors. During grad school orientation, I was told that my relationship with my advisor would become more important and demanding than any other relationship in my life. This was no exaggeration. My advisor has the ability to graduate me and he has the ability to cut off my funding. While my advisor gives me a good deal of freedom about what I work on and how I structure my time, we both understand his power.

Paper deadlines. Computer science publishes mainly in conferences. In my area (programming languages), there are two top conferences and a few other highly-regarded, more specialized conferences. In my area of computer science, each conference takes submissions once a year. Acceptance rates can be as low as 15%. Conference submissions are full-length papers; small differences in presentation can make the difference between “accept” and “reject.”

During the 2-3 weeks before a deadline, it is normal for me to work 10-12 hours on weekdays and 8-10 hours on weekend days. One senior graduate student told me what makes or breaks a (computer science) grad student is their ability to “bust their butt” for a deadline. During this time he was working 80 hours a week to finish up a project.

Success.
Besides the coarse “promotion” structure (done with Ph.D. vs. not; tenured vs. not), there are many more nuanced factors that determine an academic’s status: 1) which big discoveries they have made and 2) how well they give the impression that they are making big discoveries. Some of this is measurable (for instance, through publication count and citation index) and some of it is more intangible (for instance, reputation in the community).

Fears of academics include being scooped, being wrong, fading into obscurity, and having insufficient intellectual freedom. Many academics are happy just to avoid these situations.

Life goals. We do have goals--though they may not be as concrete as you might like. We may not talk about them because they are often too lofty (for instance, winning the Nobel Prize or Turing Award) or dependent on variable factors (faculty job at a top school; starting a lucrative company) to discuss. The nature of the pressures and prospects we face, as well as the attitudes of our peers, make it highly likely that we will learn to handle a fair amount of uncertainty and risk. For these reasons it is also common for academics to have goals that depend on specific other people (and specific geographic locations) as little as possible.

Spending time with academics. If the academic in your life is willing to make you their hobby, then you can expect to spend a good deal of time with him or her with variability from paper deadlines, grant deadlines, conference and other travel, and teaching schedules. Otherwise how much you see your academic depends on how many common activities you share. Even if you are considered a good friend, this can range from a few times a week to once every few months.

What does an academic look like?
My friend Lan made the video below for a science documentary class to capture the life of a grad student. It features three MIT grad students, including me.


rocks, bands, logic (2012) from Lan Angela Li on Vimeo.

Thursday, February 02, 2012

Verve as a CACM Research Highlight

My paper with Chris Hawblitzel "Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System" appeared as a Research Highlight (read here) of the Communications of the Association of Computing Machinery (CACM) in December. This is a shortened version of our 2010 paper appearing at the Programming Language Design and Implementation (PLDI) conference altered for a more general audience.

This paper describes the Verve operating system, the first operating system verified end-to-end and automatically for type safety. This means that programs running in Verve cannot suffer from whole classes of memory-related errors. The main idea of Verve is to implement the operating system in a type-safe language (C#), write a specification for the memory interface between the type-safe parts and the lower-level parts (the C# code does not mess up the stack; the low-level code does not mess up the heap), and verify the low-level parts of the system (in our case, using Boogie that translates to x86 assembly).

An exciting thing is that Xavier Leroy, who is responsible for both OCaml and the CompCert verified C compiler, wrote the Technical Perspective, "Safety First!" He writes, "The formal verification of high-assurance software is making great progress lately. Yang and Hawblitzel's work, along with other recent breakthroughs in software verification such as the seL4 verified microkernel of Klein et al. (see Communications, June 2010, p. 107), were unthinkable 10 years ago. Little by little, one point at a time, these results sketch a promised land where, with mathematical certainty, software does behave properly after all."

Another exciting thing for current graduate students interested in this work is that my Microsoft Research mentor Chris Hawblitzel is looking for a summer intern to work on adding concurrency to Verve. Not only was Chris Hawblitzel amazing for helping me learn everything I needed for this project, but he was also a fun mentor. I recommend that you contact him ASAP if you are interested in working with his this summer.

Wednesday, February 01, 2012

Research Update: A Language for Automatically Enforcing Privacy Policies

For the last three years, I have been working on things building up to the creation of Jeeves (project website here), a new programming language for automatically enforcing privacy policies. Last week I presented our first paper on Jeeves at the Principles of Programming Language (POPL) conference. You may read our paper here and look over the slides here.

To describe Jeeves I will quote Jacob Aron, who does a good job in this recent New Scientist article:

Even with your friends under control, a software bug could still expose your private data - as Facebook CEO Mark Zuckerberg himself found out recently when a glitch revealed his photos to the world. To solve this, researchers at the Massachusetts Institute of Technology have come up with a new programming language called Jeeves that automatically enforces privacy policies.

Programmers have to explicitly ensure data flowing through their software obeys necessary privacy policies, but it is easy to slip up and let information leak out. Jeeves solves that by substituting the value of variables within the software depending on who the user is. For example, say Alice posts a message but doesn't want anyone but herself to see who wrote it. The programmer can use the variable "author" without worrying what the user sees - when the software runs, Jeeves ensures Alice will see her own name, but everyone else logging in will see "Anonymous".

Jean Yang, who helped develop Jeeves, says the new language lets a programmer delegate privacy responsibilities and concentrate on the actual function of their code, much like a party host might entrust their butler with ensuring the needs of each guest are met so they can spend more time socialising.

Jeeves allows the programmer to provide high-level declarative policies for privacy and rely on the runtime system to automatically produce outputs adhering to these policies. The Jeeves runtime uses symbolic evaluation and constraint-solving in order to do this. We have an implementation of Jeeves as an embedded domain-specific language in Scala. (Code here.)

Next steps for Jeeves include looking at how Jeeves can handle policies for integrity and declassification (in addition to confidentiality) and looking ta how well Jeeves scales for real-world applications.

It says a lot about our research community that languages and solvers are at a point where we can even consider this sort of separation of global concerns from core program functionality. I am excited about a future in which we can continue to make programmers’ lives easier by teasing out and automating concerns such as privacy.

Tuesday, January 31, 2012

How to Date Women

There seems to be desire among the men in my peer group for more knowledge about how to date women. As a straight woman with many female friends, I believe I can shed some light on how to initiate relationships with (20-something, well-educated, high-achieving, urban, living-in-America) women*.

Where to Meet Women
I have some sympathy for men trying to meet women. As a grad student in a male-dominated field, I had a difficult time looking just for female friends.

Classes and parties are the standard recommendations: I found these to yield moderate success. I made a few (most activity-partner) friends at yoga and acrobatics. I made zero friends at dance classes because of my poor skills. Making random friends at parties requires effort: first an exchange of contact information and then subsequent attempts to meet up.

I had significantly more success meeting women through my friends, especially my female friends. There are good reasons for a single man to maintain platonic opposite-sex friendships: women tend to trust their female friends and also tend to stay away from men their friends have had relations with.

It is useful to make your intentions known. A professor once told us he found his wife by telling a few friends what he wanted and having each friend tell a few other friends. Eventually, word got back to him of a woman in Chicago he might like. He flew to meet her. They married.

Online dating is also an option. Besides the more serious sites like eHarmony and Match, more casual (and free) sites such as OKCupid and Plenty of Fish can be great ways to meet women.

You should avoid pursuing women you work with. Unless they show extreme interest, they will probably appreciate being left alone.

How to Approach Women
It is incredibly empowering to have the confidence and know-how to walk up to a woman and talk to her. (In fact, “pick-up artist” Jerry Tran has made a career out of empowering men in this way.) Think about approaching a woman like you would approach someone important at a conference: you want to make a good impression, but you do not want them to remember you as an idiot or sycophant.

Besides appearing confident and relaxed, your main goal should be to appear interesting and interested in her. An example of a good ice-breaker is a witty comment about something going on around you: for example “Seems like they stole this playlist from my middle school dance!” Another way to strike up a conversation is to identify something interesting about the woman (an accessory, something she is carrying) and ask her about it.

Here are some things that are less good to do:
  • Ask if you may introduce yourself to her. Just do it.
  • Comment on her beauty. Not too creative.
  • Open with an offensive remark. A self-respecting woman will walk away.
  • Go from woman to woman with the same lines.
  • Stand around the woman for a long time without talking to her. This is just awkward.
That said, most women are polite enough to talk to people who approach them. You should not be intimidated to talk to a woman who you think is cooler, smarter, and/or better looking than yourself. You must have some redeeming qualities she could appreciate. Figure out what those are and convey them to her.

If you are nervous about meeting people, you may benefit from this advice I gave a friend for giving a talk: take deep breaths to trick your parasympathetic nervous system into relaxation mode. Remember you are awesome; visualize what you want to happen.

How to Ask Women Out
Most women like men who are not afraid to go after what they want. If you want to ask a girl out, the most important thing is to do it.

Here are some techniques for asking a woman out:
  • Determine common interests and find a related activity (examples: restaurant, concert).
  • Ask if you may call--you need a certain amount of (perhaps Southern) charm to pull this off.
  • Get her number or add her on Facebook. Ask her out after chatting or texting.
First dates are usually weeknights: weekend evenings are valuable social real estate and weekend dates signal either a less-than-full social calendar or a high amount of interest. You should also ask for a date at least three days in advance.

Here are some acceptable dates:
  • Coffee, lunch, or drinks. This could be interpreted as a date or more casually. Some women may be more comfortable with this because it allows you to explore your chemistry and compatibility without too much pressure.
  • Dinner. This is usually a more serious date since it is a bigger time commitment. For a first date it is probably best not to go somewhere too formal.
  • Social event. It may be good to make it clear that it is a date, perhaps through the type of event (for instance, dinner party) and/or the way you interact with her during the event.
Here are some behaviors to avoid:
  • Deciding unilaterally on a time and location.
  • Being obsessive about planning the date.
  • Persisting when she does not show interest.
  • Becoming angry when she rejects you.

How to Go on a Date

Many male friends have wondered what modern chivalry looks like--or if this is even a legitimate concept. Holding doors, helping with coats, and pulling out chairs are charming unless they feel overdone or chauvinistic. Paying is a trickier issue, especially on the first date: some women expect the man to pay, some like to split, and others like to pay. The safe route is to offer to pay. Most women will probably want to split the bill after a few dates.

On the initial dates, it is a balancing act not to scare the woman away while still revealing key aspects of your life. It is best to avoid in-depth discussion of previous relationships, family issues, and other potentially sensitive topics. Your date should not become your closest confidante after only a couple of hours of conversation.

You should take care in your appearance and dress appropriately for where you are going.

It is important to show up on time.

She’s Just Not That Into You
There are many reasons a woman may not be interested: you are not her type; she is focusing on her career; she loves another. Here are some signs:
  • She does not say yes.
  • She says she is busy during the proposed time and does not offer an alternate time.
  • She tries to do something more casual than what you suggested.
  • She invites her friends to the “date.”
  • She tells you she is not interested.
If it seems like a woman is rejecting you, it may be acceptable to ask for clarification. If a woman rejects you, you should not ask her to introduce you to her friends.

Working on Yourself
If you are not meeting or dating the kinds of women you like, it may be time to work on yourself.

Small details can make a big difference. A friend’s physical therapist once told him never to skimp on haircuts and shoes. A female friend suggests that men take care in grooming (nails, facial hair, eyebrows) and personal hygiene (shower after physical activity; wear clean clothes; wear cologne on occasion).

It may be useful to have goals about an image you would like to cultivate. I have a male friend who, whenever he updates his wardrobe, carefully considers the male archetypes he aspires to be and optimizes his purchases to bring him closer to these archetypes.

That said, attractive men have a clear idea of who they are and what they like to do. You should spend time developing your hobbies, interests, and values. We may find them incompatible with ours, but we will respect you for knowing who you are.

Parting Words
It is best to start with an idea of your goals: what kind of woman you would be most compatible with and what kind of relationship you are looking for. Remember to have fun: whatever happens, your experiences can teach you a good deal and provide you with interesting stories!

* Those pursuing more casual arrangements should have a level of game outside the scope of this piece.

Monday, January 30, 2012

Run Your Research in Racket

One of the most fun talks at the Principles of Programming Languages (POPL) conference this year was about Redex, a Racket-based system for lightweight mechanization of programming language semantics. This system allows people to encode their language semantics and theorems in the Racket programming language (the new face of Scheme). The programmer can then play with example programs evaluated using these semantics and use random testing to validate their theorems. This is a much lighter-weight alternative for getting formalisms right than using interactive proof assistants such as Coq. You may read more on the project website.

Sunday, January 01, 2012

Resolutions for 2012

In Influence, Robert Cialdini writes that people should exploit their own sense of consistency and publicly announce goals they are trying to achieve. Here are my New Year's resolutions.
  1. Be nicer. Making other people happy is not only nice, but it also gets you out of your head and makes you happier. I would like to give more genuine compliments, take more time to listen to people, and take more time to help people. Concrete goal: Do at least one thing for someone else each day.
  2. Be funnier. I think I am hilarious; the world does not always seem to understand. Everyone would benefit if I improved how I convey my sense of humor. I purchased a Groupon for classes at the Improv Asylum; I also plan to pay more attention to what other people find funny. Concrete goal: Each week, make at least one person I do not know that well laugh.
  3. Keep my spaces neater. Part of growing up involves having more discipline about how I present myself. Part of this presentation involves my living and work spaces. I have previously been of the view that having a cluttered desk is a sign of productivity, but I hypothesize that having a clear desk will help clear my mind. Concrete goal: Clear the clutter in my office and apartment by Sunday evening each week.
  4. Get enough sleep. I am a happier, healthier, and more productive (and thus nicer, funnier) person when I have slept sufficiently. Concrete goal: Average 7.5 hours of sleep per night in 2012.
  5. Keep up better with current events. What counts as "current events" in my life has devolved to what people post in my Facebook feed. I would like to take some time to optimize my process for engaging with relevant news, blogs, friend updates, and Twitter updates. (I recently discovered Google Currents, which I like quite a bit.) Concrete goal: Read one article about an event in the world each day.

I welcome you to call me out if you catch me slipping.

Friday, December 30, 2011

A Taste of Peru

I just returned from a week in Peru with my extended family. (Photos here.) The Andean scenery is incredible, the blend of Incan and Spanish history is fascinating (short summary: the Spanish stuck crosses on top of everything), and its mixed-race population has a beautiful, distinctive look. Wireless internet is surprisingly ubiquitous--a phenomenon perhaps explained by tourism being Peru's most rapidly growing industry (see Wikipedia).

It is important to show up to Peru with an appetite: food is central to Peruvian culture. Peruvian cuisine seems similar to, if a bit lighter than, Mexican cuisine. Peru's main crop is corn: they have a large-kernel corn that was quite novel and delicious. Tomatoes and cereals such as quinoa feature prominently in Peruvian cuisine. Peru is also known for its ceviche, which is raw fish marinated in lime. Dishes I have never seen elsewhere include alpaca meat and guinea pig meat. Peruvians also have great desserts, including a tres leches cake, rice pudding, and a purple corn pudding.

We spent three days in the highland city of Cuzco, former Incan cultural center and a major Peruvian tourist destination. We saw the archaeological ruins of Saqsayhuaman, a stone fortress complex that provides an incredible view of the city. We took a day trip (3.5 hours each way by train, as an alternative to the four-day Inca Trail hike) to Machu Picchu, the 15th century Incan city in the clouds never conquered by the Spanish and famously "discovered" by Yale professor Hiram Bingham in 1911. (See photo.) Back in Cuzco, we toured the Cathedral of San Domingo, which was formerly an Inca temple: the combination of the Inca stonework foundation and the 16th-century Spanish religious oil paintings was fascinating. Finally, we made a trip to the Sacred Valley, where we visited the market in the town of Pisaq and toured the archaeological ruins of Ollantaytambo, which had a valley village surrounded by stone-lined terraces and stone structures in the surrounding Andean slopes. Ollantaytambo was my favorite site because of its breathtaking scale: the hills surrounding the village are completely covered with beautiful stone structures (and they rolled the stones up the mountains themselves!). (See photo.) Travel tip for those visiting the Cuzco area: bring a warm jacket and drink lots of water to combat the effects of high altitude.

During our day in Lima, our expert half-Chinese, half-Peruvian tour guide Tino showed us the Incan remnants and Chinese restaurants in the district of Miraflores. (Lima has many Chinese immigrants and, according to Tino, over 3,000 Chinese restaurants. Peruvians even have a term chifa--based on the Chinese 酒饭, "food and drink"--that refers to Chinese Peruvian cuisine.) Lima is a modern city that reminds me of Los Angeles with its smog and abundant palm trees and of Brussels with its large neoclassical urban monuments and wide roads. The two most prominent themes of tour were the Pacific Ocean (see photo of the view from dinner) and the Catholic cross (see photo of Pizarro's initial cross). We visited El Parque del Amor, Lima's main square, a random gastronomical museum, and the beautiful Monastery of San Francisco, which has incredible 17th century Sevillan tiles and incredibly creepy catacombs (with human remains sorted by bone!) below. I would love to spend more time in Lima seeing more of the architecture and getting to know its fusion of Incan and Spanish cultures.

For those of you considering such a vacation, the actual travel to Peru is not so bad. It is about a 9-hour flight to and from Los Angeles. We flew red-eye both ways; nine hours is actually an ideal length of time for a red-eye because you can comfortably fit in two meals and a semi-decent night's sleep.

As we were traveling in a large group (with many teenagers) for a short time, our trip consisted of going from site to site via various modes of transportation. I would love to return to Peru to spend more time engaging with the culture and terrain (for instance, eating at local restaurants and hiking the Inca Trail). And with a better camera!

Thursday, December 29, 2011

Reasons to Pursue a Ph.D.

Several months ago, I spoke with a former schoolmate who is considering whether to leave Google to pursue a Ph.D. Since I like to believe I make good decisions, I immediately gave a rundown of the pros. As a responsible advice-giver, I initiated the same conversation between the schoolmate and a Ph.D. graduate whom I know to be actively against recommending graduate school. Surprised I could agree with so many of the cons, I reevaluated my stance and again convinced myself that graduate school is worthwhile. I discuss the reasons in this post.

There are many reasons not to go to graduate school. If you are in computer science, your income will be about a quarter of your market value. (There will also be no onsite massages or free dry cleaning.) You will probably be working on problems that are difficult to explain to your friends and family. You may not see positive results for months, even years. Even if you get results, your work may not have impact on the greater society for years—maybe never. Nobody will understand you or your work, including your fellow graduate students, who will often be unhappy. After you graduate, you will find that you did not need a Ph.D. for what you end up doing. And then you will cry.

Less hedonistic people will tell you to endure this suffering for longer-term goals: that faculty position, that job in science policy. As someone who believes in short-term pleasure, I have other reasons for recommending a Ph.D. While I would not mind becoming a rock-star professor, I am in graduate school for the freedom and for the opportunities. Graduate school is an all-you-can eat buffet for ideas and self-development. Rather than serving as a mercenary in implementing someone else's vision, I am paying (with opportunity cost and time) for the chance to solve open-ended problems of my choosing. In realizing the solutions, I can choose which skills to focus on developing: for instance, delivering a talk. In exploring questions, I have access to the experts in their fields. I can even call random companies to ask questions about their operations. (I have done this.) I also have access to almost every course at my university, as well as the library collection and academic journal subscriptions. As long as I can demonstrate progress on a potentially interesting problem, nobody complains. Even if I do not use my Ph.D. in my future career, it will have been a fun (and productive) few years.

The freedom and opportunities of graduate school also extend to lifestyle. Graduate school is conducive to a fabulous lifestyle—and I mean this seriously. Since entering graduate school I have become an avid yogi, explored aerial acrobatics, and co-founded Graduate Women at MIT, which now has over 800 mailing list members, two annual conferences, and a mentoring program. Since entering graduate school, I have traveled—for work and for pleasure—to Ireland, Canada, Germany, Serbia, Romania, Hungary, Austria, China, Belgium, Peru, and various US locations. I have a fantastic social network of fellow graduate students, many of whom have similarly rich life interests. (My officemate does bike racing; several friends do outdoors activities almost every weekend; another friend has had his own company for several years.) I am also in a book club called Whiskey and Words: we discuss literature over scotch. The flexibility and community of grad school have facilitated the exploration of my personal interests.

Before you get too envious, I should admit that graduate school is not always a party. With the freedom to choose what you work on comes with the possibility that what you work on may not be interesting valuable to anyone else. My first paper with my advisor was rejected five times over the course of two years before it was accepted to a major conference. I have spent months working on ideas and implementations that I will not ultimately show to the world. For the majority of my time in grad school, I have worked alone with my advisor or internship mentors. Fear not that I am some sort of happy freak: I have done my time in states of questioning, despair, and isolation. The struggle, however, has been part of the learning process: of developing my taste in research problems and of learning how to realize a high-level vision. It helps that I have a high risk tolerance and do not take myself that seriously—and that I have a sun lamp to augment the short days of Cambridge winter (made shorter by occasional deadline-driven visits to Samoan time*).

A caveat is that various logistical advantages have contributed to my positive experience. For my first three years, I was supported by a fellowship that gave me some flexibility and bargaining power. I have an advisor who works closely with me, believes in the work, and gives me a fair amount of freedom. (It also helps that he is an assistant professor who is, arguably, on a more demanding clock than I am.) I have also done a couple of internships at Microsoft Research that have helped me both establish additional credibility in my field and finance a more luxurious lifestyle. Not everyone has the advisor and/or funding situation that yields such freedom: it is important to ask the right questions to know what to expect.

If you like the freedom to work on open-ended questions, then graduate school may be a good fit. Pursuing a Ph.D. provides amazing opportunities not just to make an impact in your field, but also to develop life skills and to indulge in personal exploration. While there are tradeoffs (financial, time, and other), pursuing a Ph.D. is an experience I recommend**.

* Computer science conferences seem to have decided midnight Samoan time is the most fair time for paper submission cut-off.
** This is only based on the first 3.5 years of my Ph.D. We will see how I feel in a couple of years.

Wednesday, November 09, 2011

Ramping up the Graduate Women at MIT blog

Graduate Women at MIT now has a new blogging initiative. If you have been following my blog to hear about gender/women in science issues, please follow the GWAMIT blog as well!

Thursday, September 29, 2011

Lessons from Startup Bootcamp

I recently attended Startup Bootcamp, a one-day free workshop that brings in startup founders to talk about lessons learned. Here are some brief notes about what I learned from each speaker:
  • Paul English, Kayak. The team is most important: assemble the best possible team and advisors.
  • Leah Culver, Convore. Show up and do something. It might be hard work.
  • Andrew Sutherland, Quizlet. Dogfood your product.
  • Naveen Selvadurai, Foursquare. Build around an atomic action.
  • Charlie Cheever, Quora. Looking at qualitative data is important.
  • Drew Houston, Dropbox. Surround yourself with people you want to be like.
  • Alex Polvi, Cloudkick. Take care of your team.
  • Anthony Volodkin, Hype Machine. Just fucking do something.
  • Nathan Blecharczyk, Airbnb. Work hard, be creative, and keep pushing forward.
  • Patrick Collison, Stripe. Starting a company is a great way to apply academic ideas.
The 3000-attendee registration and the number of business people looking for tech cofounders confirmed that we are indeed in a bubble.

Wednesday, September 14, 2011

Caramelized Leek Soup

A great dish to try as you brace for colder weather is caramelized leek soup, which requires about an hour of preparation in a heavy kettle. I tried it with ciabatta bread (for dipping) and broiled chicken with roasted green beans for the main course.