Verbose Letter - 2012 01

In Short

Spring Quarter Classes

I took a class on Social Entrepreneurship and started Code the Change, which helps computer science students use their skills for social change.  I learned to think big and to ask for stuff.

 

I took Transformative Design and invented JunkMail (don't blame me!) to help parents with non-technical backgrounds teach their kids about science, technology, engineering, and math topics.  My group and I went to the Maker's Fair and discovered that MacGyver already invented it.

 

In Beyond Bits and Atoms (I still don't know what the name is supposed to mean), I learned about education technology.  I played around with a lot of fabrication technology: a vinyl cutter (for cutting vinyl), a laser cutting (for cutting lasers?), a 3d printer (in some senses, all printers are 3d... well, except for carbon paper), and a 3d scanner.  I also played around with electronics for the first time, which included soldering, bread boards, and plugging stuff into microcontrollers.  Thanks to the hands on electrical work, I finally understood the difference between analog and digital and between implementing something in software and implementing it in hardware.  My final project was all software: we let you control your computer using musical pitch (ie, whistling an A to press the spacebar), which lets you play video games to learn pitch. 

 

The theoretical portion of the class was interesting, too.  For instance, I learned that Cubberly and Terman, Stanford folks that now have the schools of education and engineering, respectively, named after them were strong believers in a social caste system.  I also learned that there isn't strong evidence to support the idea that people have different learning styles and there is neuroscientific and empirical evidence to support the idea that trying to teach to different learning styles is ineffective.  In other words, there aren't "visual learners" and "auditory learners"; a picture can be just as deceptive as 1000 words.

 

In Biomedical Informatics Research Methodology, I made a personal health record application and got an honorable mention in a national contest for health applications.

 

Events and Talks at Stanford

I heard talks from:

·       The founder of Teach for America, talking about her experiences

·       The assistant to the UN Secretary General, talking about the responsibility to protect people from injustice

·       Cornel West, talking about education

·       New York Times journalists

·       The Rwanda director of Partners in Health, who talked about "Big Ass Fans" in hospitals (no, really)

·       The founders of Reddit and Change.org .  They thought that Code the Change was cool and gave me the XKCD book for free.

·       William Deresiewicz, who called me a sheep.

·       Wael Ghonim, who made the Facebook page that got a lot of people involved during the Egypt revolution.

·       Plenty of other people.

 

Also, I did some stuff:

·       I was interviewed by someone from the New Yorker who didn't use any quotes from me because they disagreed with his thesis.

·       I gave a talk on Computer Science in Cambodia. 

·       I won the "Best at Life" award from the Section Leader Superlatives for making autograders and instructional videos for CS106A, for teaching CS1U, and for putting on hackathons.  There aren't many groups for which superlative events would feel meaningful to me, but this one certainly did.

 

Work at Google

Over the summer, I worked at the Google.org Crisis Response Team.  I made interoperability tests for missing persons databases that are used in natural disasters like the Haiti Earthquake and Japan Tsunami.  Doing this helped me learn a lot about programming, especially about test driven development, which is basically "measure twice, cut once" applied to programming).

 

Culturally, Google and Stanford are very similar, so the differences that I'm outlining aren't too big.  They're both very open, but in different ways.  There are more diverse educational opportunities at Stanford, and Stanford provides more academic support.  There are more perks at Google, and Google provides more general and institutional support.  Google is more liberal.

 

Some of the perks: bikes on campus, three meals per day at cafes with cool names (including a delicious vegan place that also had smoothies!), microkitchens, shuttles (with wifi) to the campus, and free fancy headphones.

 

Over the summer, I roomed with three people from Princeton and experienced a bit of culture shock.  Well, for most of the summer -- I was homeless for a week. 

 

Events and Talks at Google

I got talks about:

·       Public parts.  It's like private parts, but... hey, wait!

·       Being a refugee in Sudan.

·       Plastic in the ocean.

·       Skills-based volunteering.

·       Disease detection in Uganda using Android phones (you want me to stick my phone WHERE?).

·       Leadership and organizational management.

·       Atheism.  Penn Jillette, from Penn and Teller, is hilarious.

·       Healthcare in Kenya.

·       Security in crowdsourced crisis maps.

·       Science!

·       Wealth distribution.

·       Stretching for computer scientists.

 

I also got talks from two Stanford people: Grammar Girl and Frederic Luskin.  I also got a talk from Rob Reich, but it was from the Rob Reich that cares about wealth distribution and teaches at Berkeley rather than the Rob Reich that cares about wealth distribution and teaches at Stanford.

 

Contents

Spring Classes  5

Urban Studies 133 - Social Entrepreneurship Collaboratory. 5

The Work. 5

Guest Speakers. 5

Advice from the Course. 6

Engineering 231 - Transformative Design. 7

Design Projects. 7

5/21-22 - Maker's Faire. 7

5/16 - Katie Clark from IDEO - Graphic Design. 8

CS402 - Beyond Bits and Atoms (Education Technology) 9

Overview.. 9

Assignments. 9

Intro  9

Nametag  9

Design for Kids  10

Tell a Story in Scratch  10

Snowflakes in NetLogo  10

Skymall with GoGo Boards  10

Bifocal Modeling with Ramps  11

Geographix - a Geography Jigsaw on Slate  11

Musical Mappings: Final Project 11

Lectures. 13

Educational Theory  13

Making Stuff 15

CS272 - Biomedical Informatics Research Methodology. 16

Events + Talks at Stanford  16

1/5 Jenni Williams, Zimbabwe Activist 16

1/7 Talk on CS in Cambodia. 16

1/12 Wendy Kopp - Teach for America Founder 17

1/12 Jared Cohen - 21st Century Statecraft 17

2/16 Stan Christensen - Negotiating your Salary. 17

2/28 Nathan Ensmenger - Gendered History of CS. 19

3/1 Ed Luck, Assistant to Ban Ki Moon - Responsibility to Protect 19

3/2 Libya Vigil 20

3/5 Cornel West + Miriam Rivera - Low Income Students of Color and Education. 20

3/5 Interview about CS Recruiting. 21

3/5 Phil Taubman + Felicity Barringer 21

3/9 Peter Drobac - Partners in Health - Rwanda Director 21

3/31 Keith Schwarz - Fun with Number Systems + An Aside on Memory Usage. 22

4/1-3 Clinton Global Initiative University. 23

Intro. 23

Alexis Ohanian + Ben Rattray. 23

Ohanian's Companies. 24

4/8-9 Campus to Congo. 24

Intro. 24

Omekongo Dibinga - Spoken Word on Congo. 25

Falling Whistles. 25

Panel on Supply Chains in the Congo. 25

Chip Pitts. 26

4/11 Mozilla Tech Talk. 27

4/12 William Deresiewicz - Are Stanford Students Just (Really Excellent) Sheep?. 27

4/22 Wael Ghonim - Google Egypt Revolution Guy. 28

4/26 Take Back the Night 29

5/3 A. Breeze Harper - Race and Whiteness in Veganism.. 29

5/3 Benjamin SLE Lecture. 29

5/13 Startup Tips. 29

5/29 Section Leader End of Quarter Barbeque. 30

6/26 San Francisco Pride. 30

7/29-7/31 CSTI 31

Google  31

My Team.. 31

My Work: What I Did. 32

My Work: The Experience and Education. 32

Google Culture. 33

Like Stanford. 33

Openness. 33

Learning. 34

Politics. 34

People. 34

Support 35

Perks. 36

Apartments in San Francisco. 37

Roommates. 37

People! 38

Events + Talks at Google  38

7/11 - Jeff Jarvis - Privacy and Publicness. 38

7/12 - John Dau - God Grew Tired of Us. 39

7/13 - Project Kaisei - Ocean Plastic. 39

7/15 - Doug Edwards - I'm Feeling Lucky. 39

7/19 - Aaron Hurst - Taproot 39

7/25 - Mignon Fogarty - Grammar Girl 40

8/12 - John Quinn - Android Phones for Cassava Disease Detection. 40

8/15 - Teresa Amabile - The Progress Principle. 41

8/17 - Chas Salmen - Healthcare in Kenya. 41

8/18 - Frederic Luskin - Managing Stress and Creating Happiness. 42

8/19 - Penn Jillette - God No! 42

8/22 - George Chamales - Defending Crisis Maps. 43

8/25 - Kristen Marhaven - Science to the Masses. 43

8/29 - Rob Reich - Wealth Distribution. 43

8/30 - Tim Harvey - Stretching for Self Care. 44

 

Spring Classes

Urban Studies 133 - Social Entrepreneurship Collaboratory

The Work

Last quarter, I took Urban Studies 132, which was about teaching skills necessary to run a social enterprise.  133 is about putting it into practice with your own project.  The professor was Laura Scher, the CEO and founder of CREDO Mobile, a progressive cell phone company.

 

In this class, I decided to go with the idea of hackathons for social change.  Thus, I created an organization called Code the Change.  Aside from the name, I came up with a mission, vision, values, website, logo, funding pitch, and business plan throughout this class (and during some time after it).  You can see it at http://codethechange.org.

 

The experience was transformative.  Before taking the class, I thought that going forward with hackathons for social change would be one of several possible career options.  During the class, I convinced myself that social entrepreneurship is a very strong mechanism for social change and that my idea in particular was too important to let fall by the wayside.  Now, I'm seriously considering going with Code the Change full time as a career, and if I don't, I'll probably continue to evangelize it.

 

The layout of the class involved lectures and case studies to see important part of organizations (what is a mission?) and then assignments to develop them for our own organization. 

 

Guest Speakers

Abby Falik started Global Citizen Year, which helps students take a gap year between high school and college doing international service.  The idea is that a lot of kids don't know what they want to do when they start college (I wasn't even CS when I started!), and international service gives people a lot of perspective.  Over the summer, I helped out with a Google tour that the Global Citizen Year students went on before dispersing across the world. 

 

Brett Baker works at Peer Health Exchange, which facilitates college kids teaching high school kids about health.  The idea is that kids don't take well to 60 year olds talking to them about drugs and sex, so getting college kids to say the same thing would have a higher impact.  Then again, at that age, I think that I was cracking jokes in the back of the room even when my peers would talk about drugs and sex.

 

Kimberly Dasher Tripp works at the Skoll Foundation, which is one of the main organizations that supports social entrepreneurs.  Jeff Skoll, the first president of eBay, decided that he wanted to help social entrepreneurs make the world a better place, so he gives them things like funding and a community.  They are focused on established social entrepreneurs that need a little extra help to scale up their proven programs into big organizations with massive impact.

 

Anne Marie Burgoyne works at the Draper Richards Kaplan Foundation.  Like Skoll, they support social entrepreneurs, but their focus is on early nonprofits with a big vision.  They give $100,000 for three years.  

 

They all had different paths towards social entrepreneurship.  Some of them worked in a bunch of nonprofits.  Some of them worked in a bunch of for profit corporations.  Some of them worked in government.  Some of them started their organizations right out of college.  Some of them started their organizations after business school.  It was comforting to know that I don't have to do management consulting and then go to business school to start an organization and be impactful and that if I decided to do something else for a few years, I can always start an organization later on.  There were enough paths that even just waiting for a deus ex organization to fall into the story of my life seemed like a viable option.

 

Advice from the Course

Some of the following ideas came from one of the guest speakers, some came from more, and some came from Professor Scher.

 

Think big and don't let people convince you to think small. 

 

Applying for grants and doing fundraising isn't begging.  There are people out there that want to give their money in ways that will radically transform people's lives.  When I ask for money, it isn't begging: it is giving someone an opportunity to spend their money on something that they want (this may or may not be an example of "if you can't fix it, feature it!"). 

 

One path to success is becoming the expert in a space.  That means talking to everyone involved and reading a lot of stuff.  After getting that advice, I started meeting with everyone I could find.

 

When trying to achieve social change in a community, it's important to involve the community.

 

Everything is quantifiable.  Data is good.  There should be clear measures for success.

 

Harvard Business School has a 2 by 2 program where you can apply during college, work for two years, and then go to business school.  Since I'm going to be in school pursuing a masters for another year or two, I'm still eligible to apply for it, and I might.

 

Be a good person always.

 

When making a financial pitch, always talk about how much impact a $250 donation will get: that's the minimum that an advised fund will donate.

 

When you take a job, who you work for and what you'll learn from them is more important than what you do.

 

If you don't ask for it, you can't get it.  So, if you want something, then ask for it.

 

If you want to talk to someone, be persistent!  Even if they don't put their email online, they probably still have an email.  For instance, even if my Stanford email wasn't available at stanfordwho.stanford.edu, you could probably guess that it would be one of [email protected], [email protected], [email protected], or [email protected].  There are obviously exceptions, and you might email a few wrong people, but I have found that it is very effective.

 

If you want to find out more about a subject, ask each person that you talk with for two new people to talk to.  If you ask someone for one name, you might just get an edge case; if you ask someone for three names, people think that it's too much work so they won't want to cooperate; if you ask for two names, they will think creatively. 

 

When scaling to other locations, it's fine to be heavy handed in managing some places and to allow creative freedom in others.  It's important to give the leaders at other locations a reason to volunteer their time.

 

When there are applications, often 2/3 of people apply on the day of the deadline.

 

You don't have to start something new.  There isn't enough merging in the social entrepreneurship space. 

 

Engineering 231 - Transformative Design

Design Projects

The crux of E231 was the design projects.  For the first project, my group explored ways to help people make dietary changes (like the change to being vegetarian.  I bet you never would have guessed that I would choose that!).  That project was extremely rushed, and it was intended as a way to give us experience with the design process. 

 

We had most of the quarter for the second project.  Most of the highlights from that project and from the design process are on my blog for that class: http://transforming-stem-education.blogspot.com/.  The first post (http://transforming-stem-education.blogspot.com/2011/05/reflections-on-design-process.html) has a good overview on the design process and links to more detailed parts.  It also has oodles of pictures embedded throughout, unlike this verbose letter.

 

5/21-22 - Maker's Faire

The blog mentions briefly that we went to the San Mateo Maker's Faire to explore other Do It Yourself approaches to STEM education.  The fair itself was very cool.  There was an analog computer with "transistors" controlled by wires and wooden balls and leavers.  There were very young kids soldering (if I were a parent, I think that I would have a heart attack at letting my kid hold a glowing hot piece of metal.  Then again, I'm barely comfortable holding glowing hot pieces of metal).  There were a bunch of expensive fabrication machines like I used in Beyond Bits and Atoms.  I saw an Engineers Without Borders booth (this excited me because I read the blog of a Jewish vegetarian who was in Cambodia through Engineers Without Borders: http://adamincambodia.blogspot.com/).

 

There were some Googlers there with an Android-controlled Arduino (Freeduino) spider.  In other words, you could control all of the legs of a robot spider with an Android phone (my dream of Android controlled robots and my nightmare of robot spiders are coming true.  Mixed bag).  There were also some videos of a weather balloon they made and there was a robot that could feel where you were, so when you hugged it, it hugged back. 

 

I saw the Diet Coke and Mentos people put on a show.  They used 100 some bottles of diet coke.  They cut the caps off in different shapes to get some very pretty geysers.  Apparently, Diet Coke + Mentos isn't a chemical reaction -- it's entirely physical.  In "nucleation," bubbles of CO2 (or a gas) will accumulate around an existing pocket of CO2, which will rapidly consume most of the CO2 in the bottle.  Mentos work well because their sugar coating makes for a very rough surface (more rough means better nucleation).  Any rough surface (like a penny) will work okay, though probably not as well as Mentos.  Any bubbly drink will work well.  The performers say that champagne works superbly.  If anyone wants to donate some to me, I am now over 21 and would be happy to put on a Champagne and Mentos show!

 

5/16 - Katie Clark from IDEO - Graphic Design

·       Images + Animations

o   Images should be in RGB, not CYK (CYK is for books)

o   Images should be at least 96 DPI to be safe (even though screens are usually 72 DPI)

o   If you need animations to make your presentation interesting, rethink your content

·       Fonts

o   Don't use display typefaces.  They're hard to read.

o   OpenType fonts are good.

o   Good Serif Fonts: Centyr School Book, Garamond, and Mrs Eaves.

o   Good Sans Serif Fonts: Akzidenz Grotesk, Gill Sans, Futura, Helvetica, Univers

o   24-78pt is good for a presentation.  There should only be 9 or 10 words per line.

o   If presenting from someone else's computer, stick to basic fonts or use a PDF

·       Typography Terms

o   Kerning (removing space between certain letters like "V" and "A") doesn't matter in paragraph text, but it is noticeable in headlines. 

o   Tracking refers to the space between letters

o   Leading is the space between lines

o   Justified type (aligned both left and right like in a book) has bad 'rivers' of whitespace between the words

·       Tools

o   Photoshop is good for the web and photos

o   Illustrator is good for posters

o   InDesign is good for publishing

o   Powerpoint (or Keynote) is good for presentations

·       The Grid

o   Line things up to a grid consistently.

o   6 columns by 4 rows is good.  Newspapers use 7 or 8 columns.

o   Use gutter space between grid segments and don't put stuff in it

o   No more than 6 or 7 images per slide will fit.

·       Recommended Reading and Viewing

o   "Non Designer's Design Book"

o   "Grid Systems Raster Systeme"

o   Stefan Sagmeister's TED talks: http://www.ted.com/speakers/stefan_sagmeister.html

 

CS402 - Beyond Bits and Atoms (Education Technology)

Overview

Beyond Bits and Atoms (BBA) was a class on constructivist education and education technology.  We had weekly readings from Papert, Piaget, and some more recent thinkers like Freire.  We also had lab assignments to use cool tools like a laser cutter and a 3d printer.  We experimented with software for kids, and I had my first experience soldering.  For the final, I made a program that helps people learn musical pitch by using notes as an interface for other computer programs like games.

 

Getting exposed to the tools in general opened up a new side to me.  Being able to build computer programs is cool, but I had never done anything with my hands before this class (typing only sort of counts).  Even though the tangible stuff that we did in this course was accompanied by technology (ie, the hard part of making the nametag was calculations on paper to accommodate for the width of the laser in the laser cutting and fine tuning the computer image that the laser would follow to make its cut out), I was inspired to take greater physical control of my goods.  For instance, I made a vinyl cutout of my name to put on my phone (the "m" fell off after a few months, so now I'm just "Sa."  It's kind of "Sad"), which helps me identify which side is up when it's in my packet.  I also made some thin strips of vinyl to put around the touchpad of my laptop, which helps me know when my finger is out of the range of the touchpad.  Most laptops have some feedback built in, but that was one of the flaws of mine.

 

Assignments

Intro

The most exciting part of the course was the lab.  The assignments combined educational software with tools to build stuff.  The course also had us document what we did as we go, so you can see blog posts with pictures and sometimes videos of each assignment.

 

Nametag

We all made a nametag that was by an artist and that uses the laser cutter to cut acrylic, the vinyl cutter, acrylic glue (it's actually a chemical that dissolves acrylic so that it can fuse together), "snap fit" to make a tight connection without any glue, and some 3d element.  I still keep mine on my desk.  http://samking-bba-2011.blogspot.com/2011/06/moogle-nametag.html

 

Design for Kids

This assignment was designed to show kids that we can really make the toy of their dreams.  I interviewed a kid that wanted a hat that would hold snacks and have an umbrella attached, so I made a snack hat.  http://samking-bba-2011.blogspot.com/2011/06/design-for-kids-snack-hat.html

 

Tell a Story in Scratch

Scratch is a programming environment made for kids.  It has been used successfully with at-risk elementary-aged youth.  Also, using it, groups that are typically underrepresented in computer science and math had just as much success as their more privileged peers.  My group made a monopoly board that said stuff about each of us when we landed on the pieces.

 

Snowflakes in NetLogo

NetLogo is a programming language that is optimized for agent based modeling, which is an effective way to study emergent behavior.  That is, you can think of the gas laws as emergent behavior that stems from the properties of molecules banging around in closed spaces.  You can, then, make a bunch of 'molecules', give them each a velocity, and display properties about the system as a whole.  That way, you can verify that the gas laws are correct without knowing lots of calculus and partial derivatives and fun stuff like that.  Another example of emergent behavior is analyzing traffic by looking at individual cars.  NetLogo is used by kids and by scientific researchers. 

 

I made a program that lets you create snowflakes.  The 'agents' were each individual fleck of color in the snowflake and the patterns that they were put in.  The emergent behavior that we examined was aesthetics.  What is the effect of giving the snowflake more branches or making it more spread out?  I'm fairly proud of it.  http://samking-bba-2011.blogspot.com/2011/06/snowflakes-creating-netlogo-model-for.html

 

Before making the snowflakes, we also modified existing models to get the hang of NetLogo.  http://samking-bba-2011.blogspot.com/2011/06/exploring-netlogo-models.html

 

Skymall with GoGo Boards

A GoGo Board is a circuit board that you can plug stuff into and program.  The most popular similar technology is the Arduino Board (which has the open source Freeduino project if you want to do cool stuff with it).  This makes it easy to play with hardware, learn about electricity, physics, programming, or anything else (there are some chemical sensors, for instance), and make something cool. 

 

Our first project with the GoGo board was to make something ridiculously superfluous with a GoGo Board in the style of Skymall.  My group made a light-controlled car.  "Have you ever wanted a remote controlled car without having to use a cumbersome remote?  Well, use our Light Car, and you can control it wherever there is light!  Shine light on it, and it will turn that way!" 

 

Bifocal Modeling with Ramps

Bifocal modeling means using a computer model and a physical model to let both of them inform each other.  For instance, if you want to find the bounciness coefficient of a ball (I don't recall what it's actually called), you can create a model where you input the height and the number of bounces before it stops bouncing, and it will run a simulation and show you what the coefficient is.  Then, you can actually bounce the ball and use the computer to get the result.  You can model heat dissipation over a material, and you can display the heat using sensors in realtime.  The idea is that knowledge of the physical world informs your computer model, and the computer helps inform knowledge about the real world.

 

My group wanted to do something social sciency, but that didn't work too well with bifocal modeling, so we ended up modeling a ramp.  We made a physical ramp with a pressure sensor at the top and the bottom.  That way, it can tell you how long something takes to roll down the ramp accurately.  We built a computer model to accompany this where you can put in the friction, incline of the ramp, length of the ramp, and it will predict how long it will take.  Then, if you use your real world timing of how long it took and your measurement of the incline and length of the ramp, you can figure out the friction.  Alternately, you can tell the program to run the simulation a bunch of times and vary the incline of the ramp and see how the time it takes to fall would vary based on incline.

 

Geographix - a Geography Jigsaw on Slate

Slate was a final project in Beyond Bits and Atoms a while ago.  Mechanix, the original toolkit built on slate, lets you put down various physical slabs (ie, ramps, cups) onto a magnetic board and try to get a ball from one place to another.  It's kind of like TIM's The Incredible Machine, but tangible.  The assignment was to make a Slate toolkit which used the same vertical slab that Mechanix used.

 

We made Geographix, a vertical geography jigsaw puzzle.  We chose a region of the world where the boundaries were not flat lines (ie, not the states in the US) and where the countries were of a regular size (we mounted them on pre-made fiducials with magnets, and if we had different sized countries, the big one would have to be massive), which ended up as southern Africa. 

 

The project ended up well.  Having a jigsaw where every piece is a country really helped with teaching geography.  For instance, Namibia has a small peninsula-like thing jutting out of the northeast part of it (I think of it as Namibia's Dongle).  Partway through the project, we realized that the countries weren't fitting well together.  I immediately noticed that Namibia was missing its dongle (it was thin and broke off).  http://samking-bba-2011.blogspot.com/2011/06/geographix-slate-toolkit.html

 

Musical Mappings: Final Project

I worked with Rachel on the final project.  I also worked with her throughout the quarter on our projects.  We were in the same dorm during my frosh year.

 

We wanted to do something with music.  She was big into music, and I knew nothing about it but was interested in learning. 

 

We were inspired by Mario Teaches Typing and wanted to use some sort of a game to teach music.  That evolved into the idea of Musical Mappings, where we would let people use musical pitch as an interface for games.  Rachel was initially resistant because the idea seemed so obvious that someone had to have developed it, but we look into it, and we couldn’t find any software that did it.

 

We wanted people to be able to play whatever game (or use whatever application) they wanted to, so our software was designed as a transparent layer that could go on top of anything.  They would run our program, say what note should output what key, and then when they play that note, they get that key.  For instance, if I have a game that uses the spacebar to shoot and left and right to steer, I could type in "Left" next to the box that says "A," "Right" next to the box that says "B," and "Space" next to the box that says "C," and when I whistle a "C," it will be the same as if I pressed the spacebar, which will shoot the blasters. 

 

This solves two problems with learning pitch: 1) if I don't have a teacher, I have no idea how to tell an A from a D.  With this software, I can tell a C because it shoots and an A because it moves left.  2) it takes a lot of practice.  Letting them play whatever their favorite game is allows for them to learn pitch while doing something that they're interested in.  This is better than styles like Mario Teaches Typing because we don't have to make a cheesy educational game that doesn't succeed at being educational or fun (making a good educational game is *hard*). 

 

We ran into some difficulties, but everything worked well.  FMOD has a library that does pitch detection out of the box.  I knew enough about AutoHotkey to mock the user input (I love AutoHotkey!  It's so useful!  For everything!).  The one issue that we ran into was the user interface.  Qt ("Cute") is the software suite of choice for doing user interfaces in C++, but when we tried it, everything crashed and burned.  It turns out that I was using Visual Studio 2010, which fails at everything.  That sucked out about 10 hours of my life trying to debug Qt when the real problem was Visual Studio.  After I installed Visual Studio 2008, everything worked, and we got everything together in a few hours.

 

Using pitch as an interface for games was a little clunky, but by the end, I got pretty good at whistling.  With our feedback window, I was able to narrow down to the note that I needed enough to play the game slightly better than someone randomly clicking ("slightly" being the key word). 

 

It's also pretty cool to use cooperatively.  We tried some key mappings for Gimp, a photo editing program, and I could whistle an A for airbrush or a B for a big line while Rachel moved the mouse around. 

 

I think that this product has real potential.  If I had the time to take it forward, polish it up a little bit, and spend time packing and marketing it, I think that it could help a lot of people.  Or, at least, it's a little novel.  

 

If you are interested in taking it forward, send me an email.  It's all open source.  You can check it out at https://github.com/samking/Musical-Mappings

 

Lectures

Educational Theory

Piaget came up with constructivism, the idea that people have to construct their own knowledge and that simply telling someone something isn't enough for them to learn it.  People interpret ideas and incorporate them into their existing knowledge structures (ie, personal experiences or embodied interactions) before extrapolating to more abstract ideas.  People resist learning because if they didn't, then their existing structures of knowledge wouldn't be very robust.  Thus, a theory of learning should take into account why people might resist learning (kids rejoice: distrusting your teachers is natural!).  These ideas came from studying children of different ages and seeing how old they were when they could do things like recognize the principle of conservation (if I take a glass of water and pour it between two glasses, the two glasses together only have as much as was in the original glass).

 

Papert studied with Piaget and came up with constructionism (he could have come up with a more unique name, perhaps), the idea that instructing isn't uniquely key to learning and that often it is easiest to learn by doing or to learn by interacting with something that exists concretely.  Using more expressive media (like computers) can help with this and can teach powerful ideas like recursion and variables.  Students should be able to learn advanced things at a young age by solving problems designed for them. 

 

Computers can provide an environment that gives people instructional feedback by showing them more about the world around them.  Computers can also provide a sandbox for learning in a particular environment.  Computers also let kids learn about a mechanical way of thinking (programming), but having a programming language that was designed for education is important.  Important concepts in educational programming languages are the threshold (how long does it take to get started?), the walls (how many different kinds of things are built in?), and the ceiling (how advanced can you get?). 

 

Education should be continuous with personal experience and personally relevant. 

 

Notes on exertion games (like Dance Dance Revolution or the Wii): computer games can be a performance.  They can help with physical health.  They can help socially if the games are designed to be played with other people (people are more likely to bond when physically active).  The person who gave the lecture also made "Remote Impact" which involved shadow boxing over the internet.  Watch people physically beating each other up (sort of) at http://www.youtube.com/watch?v=MJBFP9OATKg

 

Technology isn't the solution to all problems.  A lot of time, the technology is provided, but teachers aren't given any training, so it doesn't help.  The technology and curriculum needs to be designed with education in mind.

 

Agent based modeling is using computers to figure out how a big, complicated system works by simulating small pieces of it.  For instance, I can figure out how gasses behave by saying "individual molecules of gas bounce off of each other and off of a container" and from that, I can derive the gas laws.  NET-LOGO is a free programming language for agent based modeling.  This is useful when there are emergent phenomenon, which is basically the idea that the whole is greater than the sum of the parts (the gas laws are the result of things happening on a very small level, but we observe them at a large level; or, the economy is the result of individual businesses and banks and stock traders and governments operating on their own, but we observe the results of all of their actions).

 

The representation system is important for learning.  For instance, roman numerals make learning addition easy: you just concatenate two numbers: X + X = XX.  With Arabic numerals (or other numerals where there are bases), adding is harder: 10 + 10 = 20.  However, multiplication is much easier.  It took training to be a professional multiplier with roman numerals.  With Arabic numerals, kids can easily learn to multiply.  When teaching a concept, we need to make sure that the representation makes it easy to learn.

 

Group work isn't always best for learning.  When kids got together to do programming work, they all volunteered for the things that they already knew how to do.  The output from the groups was high quality, but the kids weren't doing anything that they didn't know how to do in the first place. 

 

Embodied cognition is the idea that thinking needs a context.  For instance, Dor Abrahamson wanted to teach kids ratios, and he made a program where two kids would each have a pointer, one on the left and one on the right, and the screen would turn colors from pink to green when the one on the right was twice as high as the one on the left.  The kids were only told "turn the screen green."  They then figured out that what mattered was the ratio (after some trial and error), and they can use that to ground their learning.  In the context of this verbose letter, rather than telling someone to read the whole thing, I might just tell them to turn all of the links in the table of contents purple (and hope that they don't cheat).

 

There were some interesting historical bits.  In the 1850s, there was one teacher per town.  In the 1950s, there was one teacher per 50 students to keep costs down.  These educational systems were designed to educate the bright students and didn't care much about the others.  Cubberly said that one bright child may be worth more than thousands of low learners (Stanford's school of education is named after Cubberly.  Great role model for teachers, huh?).  Terman (Stanford's school of engineering is named after Terman) thought that children should be segregated into educational classes and that they shouldn't be allowed to reproduce with one another.  The testing systems that we have today were made for those goals rather than for educating everyone or accepting diversity and difference.

 

We talked about some of the current fads in education technology.  For instance, lots of people say that putting videos online will solve educational problems, but when educational TV was tried in the 50s, only the best students who could use unfacilitated learning resources succeeded. 

 

One of the things that surprised me most is that the professor said that the evidence for different learning styles is very weak.  That is, he doesn't think that there are visual learners and tactile learners.  A lot of people find the idea appealing because it matches a common conceptual (not scientific) model of how the mind works, but it also leads to pigeonholing students into different areas, and it doesn't match a neurobiological model for how the brain works.  A picture can give the same misconceptions as a paragraph. 

 

Making Stuff

There are a lot of different sensors to use.  You can use LabView to interact with them and AutoIt to easily make programs based on that data.  Or you can use Arduinos or Gogo Boards to program a microcontroller.  Or you can take the infrared light and sensor out of a Wiimote and a Wii sensor and use that.

 

Some basic electrical components are a voltage source (a battery), a ground terminal, resistors, and diodes.  You can use resistors to make different circuits unique, for instance, to implement a keyboard.  A potentiometer is like a variable resistor, so it might be used to tell how hard something is being pressed.  A capacitor is used to quickly store and release electricity, kind of like a battery. 

 

After making some basic electrical devices and hearing the lectures, I understood lower level stuff a lot better.  For instance, the difference between analog and digital music.  With a vinyl record, the sound waves are scratched into the vinyl.  There isn't any processing step.  The sound is just given a physical form.  With a CD, it's digital, so it has to be encoded into bits, which don't have any intrinsic relationship to the actual sound. 

 

Another thing that I better understood was what it means to implement something in hardware.  If I write a computer program and run it, then the processor will look at the executable file for my program and execute the first instruction, then it will look at my program again and execute the next instruction, etc.  It's as if the processor were in a loop to continuously read instructions and execute them (which is pretty much how a scripting language like Python or PHP works, except that's between C and the scripting language rather than between the processor and C).  When something is implemented in hardware, that loop becomes unnecessary because the chip only does one thing. 

 

There are 3d printers and scanners.  The scanners in the lab work by using a little needle, continually poking the thing being scanned, and keeping track of the depth.  That creates a 3d model.  It also takes a long time.  One model of printer works by putting down a layer of powder, then putting down a glue-like substance.  The glue hardens.  Then, the machine puts another layer down until it gets to the top.  It takes a long time, proportional to the vertical height.  Thus, if you're making something very tall, you should rotate it on its side before printing.  The other 3d printer is a milling machine.  With that, you take a block of stuff and hollow it out.  It's called "milling."  That's how they make the shells for cars.  Milling is used because of speed, cost, and the materials (if you want to use aluminum, for instance, you need to use milling).  Higher end models of both are expensive, but you can get a cheap one for $1000.

 

If you want to quickly make a device that can interact with the world, using microcontrollers is a fun way to go about it.  The Arduino Board is a circuit board that you can plug stuff into.  For instance, I could plug in a light sensor to slot 1 and a motor to slot 2.  Then, I could put a wheel around the motor and write a program that says "power on the thing in slot 2 whenever slot 1 is getting a big signal," and I would have a car that drove when it was light and stopped when it was dark.  There are other microcontrollers like the LilyPad and the Gogo Board. 

 

CS272 - Biomedical Informatics Research Methodology

I took this class because Russ Altmann teaches it, and he's a cool person.  Unfortunately, the class was mostly just group work and there weren't a lot of interesting lectures. 

 

The purpose of the class was to learn how to get NIH grant funding, which means knowing how to write and critique a research proposal.  The secret is, by the second sentence of the abstract (preferably the first), people have to be dying. 

 

I worked with Brendan Stubbs, one of my partners from CS270 the previous quarter, Jason Ma, the 106A/106B TA, and Madiha Mubin, who I just met.  We made MyNote, a clinical application that pulls data from SMART, a new electronic medical record interface, and displays a graphical timeline of conditions that patients can annotate. 

 

We entered our program into the SMART Apps for Health contest and got an honorable mention: http://www.sacbee.com/2011/06/22/3719589/smart-health-app-competition-concludes.html

 

Events + Talks at Stanford

1/5 Jenni Williams, Zimbabwe Activist

Jenni Williams is an activist in Zimbabwe.  She talked about her experiences organizing.  She didn't talk about much that I didn't know, but her lived experiences were good to hear.  The situation of living under fear of arrest, having to constantly move, but still organizing because her organization, Women of Zimbabwe Arise, was successfully increasing justice in the country.  Hard but important.

 

1/7 Talk on CS in Cambodia

Stanford's ACM, the Association for Computing Machinery (the oddly named national computer science organization with chapters at schools around the country), has semi-weekly tech talks.  I was in the computer science building around the time one of the talks was going on, and I realized that I had something to talk about.  It so happened that they had an open slot right then, so I quickly put together and delivered a talk.

 

I talked about my experiences programming in Cambodia.  Most Silicon Valley computer scientists don't really know about what CS is like in the rest of the world, so I wanted to shed some light there.  Also, a lot of computer scientists would enjoy to do things like travel around the world and/or help people, but they think that there are only jobs at traditional high tech places  in Silicon Valley.  Thus, I also wanted to let folks know that there are opportunities to do good and travel.

 

I showed these themes by talking about my experiences programming and teaching Cambodian computer scientists in Cambodia.

 

1/12 Wendy Kopp - Teach for America Founder

Wendy Kopp founded Teach for America, an organization that gets students from elite colleges to go into teaching so that they become leaders in education innovation. 

 

Her talk was cool, though not inspiring.  It was good to hear how successful she was even though she founded the organization right out of college. 

 

Takeaways:

1)  People want to engage in service.  The reason that her generation was the "me" generation was because Wall Street had all of the recruiters, not because they had all of the interest. 

2)  The education system is a big problem.  There is no silver bullet.  It will take a lot of hard work.

3)  We know models for success.  The challenge is scaling them.

 

1/12 Jared Cohen - 21st Century Statecraft

Jared Cohen, a fellow at Council on Foreign Relations, the director of Google Ideas, and a Stanford grad, gave a talk on Twenty First Century Statecraft: How Technology is Shaping International Relations.

 

His main take away was that technology is changing the world, and the challenge is making sure that it changes the world for the better.  Considering the 5 billion phones and 2 billion internet connected devices, technology won't go away.  It's not helpful to ask if technology is having an impact.  It's having both a good and a bad impact.  It empowers the democrats and the terrorists.

 

His travels to Iran showed him that people are people.  The Iranians asked him if it was safe to be a baby in the US because of international news stories about Beverly Hills baby snatchings.  That made him realize that there are weird stereotypes on both sides.

 

Two thirds of people in Iran are youth, and a lot of them are anti-regime.

 

Also, they're very creative with their technology.  When the regime might cut off their cell towers, they use Bluetooth as a form of short-range communication.  You can send text messages to people near you using Bluetooth.  It's entirely peer to peer, so no one can shut it down. 

 

On the other hand, Cell Block 3 had Al Qaida and Taliban inmates that used Bluetooth to coordinate attacks that killed people even though they were behind bars (I guess that we can add violating the iOS and Bluetooth EULAs to their list of crimes). 

 

Cohen advocated technopragmatism.  Other people will use technology.  Our job is to make sure that technology is used more for good than for bad.

 

2/16 Stan Christensen - Negotiating your Salary

Professor Christensen teaches Negotiation at Stanford, which I took in Fall 2011.  This talk was about negotiating for your job.  He gave a lot of pieces of advice in general.

 

·       Qualifications don't matter unless you're going into a technical field

o   Thus, don't do things that you hate to build your resume

o   Having general people skills is important

o   You don't have to choose a career now (or ever)

·       Lots of things are important when deciding on a job, not just salary

o   Geography -- international opportunities are cool

o   Being with a dynamic and growing company is exciting

o   Opportunities for learning are essential

o   Take a job where you will like the people you work with

o   What stories will you tell about your work?

o   Change roles frequently.  People always wish they moved on earlier.

o   Institutional influences are overwhelming.  People say "I'm not going to be one of those people.  I won't be the corporate tool!  I'll change the system!"  Unfortunately, they are the tool. 

·       Most constraints are flexible and are more important than money

o   You don't have to work 90 hour weeks if you're efficient

o   There are no "exploding offers" --if you need extra time to decide, ask for extra time

o   Vacation, start date, who you report to, and work/life balance are often flexible.  Talk about them before money, since money dominates the conversation.

o   The difference in salary at your first job won't matter.  $5k in your first job doesn't matter after you get promoted, and your relationships and work ethic determine promotions.

·       Negotiating about money

o   Keep the conversation value-oriented and about fairness. 

o   Do your research beforehand

o   If they give you an offer that surprises you, ask them where the number comes from

o   Have a walkaway alternative

o   Talk with someone who can actually give you more money.  Don't just talk with a human resources person if your supervisor makes the decisions.

o   70% of men ask for more money when given an offer compared with 17% of women.  This might be one reason why men are paid more.

·       Negotiation is important when in your job

o   Creating relationships

o   Working with difficult people

o   Getting feedback before your performance review

o   Finding other opportunities so that you don't feel stuck at your job

·       How to be well liked and successful

o   Be trustworthy.  Be reliable.

o   Get stuff done.  Propose solutions rather than problems.

·       Leave your job well

o   Give two weeks notice

o   Ask for an exit interview so that you can figure out on what to improve.  When you're leaving, they'll actually be honest with you!

 

2/28 Nathan Ensmenger - Gendered History of CS

I arrived late because I can never find rooms in the political science building (there are three buildings all called "Encina," and the event invitation didn't say which Encina building the room was in.  And when I emailed the event organizer to ask them which one it was in, they didn't know).  By the time I arrived, the room and the hallway outside were both full.  Thus, I didn't hear a lot from the talk.

 

One interesting tidbit: computer science wasn't always a male-gendered activity.  The first computer scientist, Ada, was a woman.  When computers were first being used for the military, hardware was seen as manly and programming was seen as secretarial, so the men put teams of mostly women on programming.  Eventually, people realized that programming was creative and such, so the media started advertising the token man on the programming team.

 

3/1 Ed Luck, Assistant to Ban Ki Moon - Responsibility to Protect

Ed Luck, from the UN, talked about an international ideal called "Responsibility to Protect."  The idea behind the term is that when crimes against humanity like genocide happen, we have a responsibility to intervene.  Luck was happy that, with Libya, people started talking about responsibility to protect in the Security Council.

 

Responsibility to Protect is an ideal, not a policy (how strange for the UN, right?).  It is designed to prevent war crimes, genocide, ethnic cleansing, and crimes against humanity and the incitement of those things.  Thus, we might have a responsibility to stop people from calling a group of people cockroaches because that could be a precursor to ethnic cleansing.

 

Responsibility to Protect comes up in a lot of different ways.  It isn't just humanitarian intervention.  For instance, India put it in their constitution.  However, when intervention does need to happen, it isn't only appropriate to intervene when other means have proven to be inadequate.  That used to be the policy, but it meant that even when we suspect someone to be committing genocide and to not care about diplomacy, and even if intervention would be the only way, we would be unable to intervene until it might be too late.  Now, the policy is that we should intervene when other means appear to be inadequate.

 

Luck discussed Responsibility to Protect, not as a new framework, but as an attempt to rediscover the charter of the UN Security Council.  The Security Council won't intervene in matters that are "essentially national" but can intervene when something could threaten international peace and security.  Responsibility to Protect is looking at some of the ways that we should protect other people because of how crimes against humanity are threats to international peace and security.

 

This talk brought me back to my first year of debate at the start of high school.  The resolution was increasing US support for UN peacekeeping operations.  On the affirmative side of the resolution, I argued that we should establish a UN standing army so that they can intervene in instances of genocide without UN member countries having to donate troops.  On the negative side of the resolution, I argued that humanitarian intervention is often an excuse for neoliberal expansion (a la "Confessions of an Economic Hit Man" by John Perkins or "The Reluctant Fundamentalist" by Mohsin Hamid) and that it doesn't resolve anything.  The issue is that I believe both of those sides: in instances of genocide, we have a responsibility to protect people, but it appears as though our means of protection is flawed. 

 

One solution is to stop contributing to those conflicts.  International companies buy Sudanese oil and Congolese coltan (which is used in the consumer electronics that you and I buy).  Pol Pot was funded by selling precious stones.  Without international funding, many conflicts would be less severe than they are today. 

 

We also help bad people in more direct ways.  IBM helped Hitler with his data processing.  We make weapons.  We help people censor their internet. 

 

All of that is well and good, but I can still imagine a situation where a country, with little outside help, tries to kill its own people.  One potential solution is a nonviolent peacekeeping force.  Professor Christensen has me convinced that most problems, even in big conflict situations, are negotiable, and most significant advances in the human condition that actually worked have been nonviolent (ie, Gandhi with India). 

 

3/2 Libya Vigil

In case you forgot, what started as a nonviolent revolution in Libya ended up getting a violent crackdown and yielding fighting on all sides.  On 3/2, we had a candlelight vigil for the people being hurt. 

 

There were some touching stories that I hadn't heard before.  One person was digging graves for the people that the government killed.  After the third night of digging graves, he couldn't take it anymore, and he sacrificed his life to stop more people from being killed.

 

3/5 Cornel West + Miriam Rivera - Low Income Students of Color and Education

Cornel West and Miriam Rivera talked about some challenges in education.  They started with the motivation: 13% of California 9th grade Latinos are eligible for UC schools, and half who start college get through in 6 years. 

 

There are a lot of ways to get education right.  The first thing to do is value it.  Finland has the best education system because they give teachers resources and respect.  We also need to make education personally relevant, give teachers flexibility, get rid of bad teachers, and incentivize good teachers.

 

And it isn't a question of giving a handout versus having less government spending.  Shortchanging schools increases the cost of prisons and police.  And even the banks are on welfare!  We shouldn't criminalize it when poor people need money but not rich people.

 

Education matters because there are no self-made people.  We don't lift ourselves up from our bootstraps.  We are who we are because we had good teachers and parents and communities.  Also, education is important for democracy.

 

College isn't necessary to get educated or to be a good person, but we live in a society with class and race disparity, and in this world, people with a college education get more opportunities than people without.

 

One quote that I liked on the question of color blindness versus color consciousness: "some people say that we should be post-race because we have a black president now.  However, we pierced the glass ceiling, but people are still in the basement!" 

 

3/5 Interview about CS Recruiting

Someone wanted to interview Stanford CS students to figure out what recruiting is like and what students are interested in. 

 

He asked about job offers from companies and people starting startups.  I told him about how students are interested in social change work and how not everyone wanted to just make money and start a company. 

 

When he finished the article, he didn't end up using my interview.  The thesis of his article seemed to be "everyone is doing startups and trying to make money!" without much focus on alternate viewpoints.  So it goes.

 

3/5 Phil Taubman + Felicity Barringer

Greg and Sue, the resident fellows at Florence Moore Hall, occasionally have dinner events.  At one event, they invited Phil Taubman and Felicity Barringer.  Taubman and Barringer were environmental writers for the New York Times. 

 

Since it was a dinner rather than a talk, I heard about some of their experiences, but not about anything in particular.  We also talked about some upcoming changes at Stanford, and they asked us, the students, what we would change.  This was when I started hearing about how Stanford is replacing IHUM, its main introduction to humanities program, with something more like SLE, the intro humanities program that I did.

 

3/9 Peter Drobac - Partners in Health - Rwanda Director

Partners in Health uses community partners to provide AIDS treatment in Haiti.  A few years ago, they decided to spread their operations to Rwanda (they do good work and wanted to expand).  They wanted to do what took them 20 years in Haiti in 5 years in Rwanda.  Drobac said that the Rwandan government is great -- they push very hard for innovation and development in health, which is why they asked Partners in Health to come and which is why they kicked out the many underperforming NGOs working on public health in Rwanda. 

 

So they made a hospital.  The hospital is the biggest and best that Partners in Health has made.  It took them 2 years.  They used local labor because they wanted to make community partnerships from the start.  It also created thousands of jobs and was cheaper and faster than the alternative: the community worked very hard.  The hospital ended up as a "place of dignity": it was made by the community and for the community, and it was beautiful.  When the hospital outperformed their expectations, they scaled across the country.

 

Drobac told some interesting details about the hospital and how it differs from hospitals industrialized nations.  Stanford's new hospital cost $5 billion.  Rwanda's GDP is $6 billion.  Thus, the hospital can't be quite the same as a modern industrialized hospital (though, to be fair, Stanford's new hospital has 4 times as many beds as Rwanda's, and Rwanda's PPP GDP is higher than its nominal GDP).  To reduce the spread of contagious diseases, a hospital here might have rooms with ventilation systems and low air pressure (so that air with bacteria in it doesn't go from a sick person's room to everywhere else).  They can't afford those systems which cost thousands of dollars, so instead they bought some "Big Ass Fans" (that's the name of the company.  You can see their logo at http://www.energycongress.com/Images/ProdDescrImages/BigAssFansLogo%20R2.gif).  The Big Ass Fans move air just as well at a fraction of the cost.  Throw in some UV light to kill the bacteria, and you're good.

 

They also had to take some consideration for the differences in communities.  For instance, many of their patients will be illiterate, so expecting them to look at a map and read "maternity ward" wouldn't work.  Thus, they color coded things. 

 

One of the things that I like about Partners in Health is that they look at the root causes of illness.  If a hospital treats a child who comes in malnourished and then turns them away, the child will probably become malnourished again because the real problem was never solved.  Some of the Twa people in Rwanda were too poor to be subsistence farmers (and they are the victims of discrimination) so they had very high malnutrition rates.  When Partners in Health was there, they got a one-time grant program of $5 thousand for families to get farm land, resources to build a house, and school fees.  This reduced mortality of children under 5 to half of its previous levels. 

 

3/31 Keith Schwarz - Fun with Number Systems + An Aside on Memory Usage

Keith gave a talk on Smoothsort, an algorithmically optimal sorting algorithm (in theory, it's as fast as it can be in a general case, as fast as it can be on an already sorted list, and it sorts in place).  Of course, in practice, quicksort is faster.  The talk is at http://www.keithschwarz.com/smoothsort/

 

Fun fact:

Suppose you have the following program that iterates through the numbers from 1 to n:

void do_stuff(int n) {

            for (int i = 0; i < n; i++) {

                        //do something that is constant time and doesn't use any space

            }

}

How much space does it use?  The common answer would be O(1).  However, that would be wrong.  How much memory does it take to represent an int?  In c, it might be 4 bytes.  However, if your integers can only represent numbers up to 4 billion, then the algorithm is incorrect for values of n greater than 4 billion.  It takes O(log n) memory to represent int i in a general solution. 

 

I often hear people giving a snarky solution to some algorithmic problems.  In response to "How much memory does it use?" they say "Oh, I could do that in constant memory by just making a 4 billion length array.  Since a computer can't address more than that, that means that it's correct and it uses constant memory!"  People understand intuitively that this is a snarky answer and won't satisfy anyone.  However, they don't understand that it is also incorrect. 

 

When coming up with an algorithm, a person should hold one of two beliefs.  Either "I am making this algorithm for a real computer with real limitations" (ie, quicksort) or "I am making this algorithm to work well theoretically even at the expense of practical implementation" (ie, smoothsort).  If you hold the second belief, then your snarky algorithm is strictly incorrect because it will break on values greater than 4 billion.  If you hold the first belief, then your algorithm is strictly suboptimal in memory usage. 

 

To put it in other words, suppose I have two algorithms.  One algorithm uses O(n) memory.  The second algorithm uses more memory than the first for every possible value of n.  By the definition of Big O, the second algorithm is at best O(n).  Since, on every value for which the algorithm is correct, the snarky solution has worse memory usage than a real algorithm, the snarky solution is not O(1).  The fact that the snarky algorithm is incorrect and is the worst possible solution in practice also means that it is the worst possible solution in theory.

 

4/1-3 Clinton Global Initiative University

Intro

Clinton Global Initiative University is Bill Clinton's attempt to get more college students interested in social change.  It's a conference with speakers, networking, and free registration.  It seemed cool, and it was at UC San Diego, so I decided to check it out. 

 

The airfare and hotel cost was more than I would normally spend on a conference since there are so many of them at Stanford.  However, it happened that my flight back was overbooked.  I didn't have anything planned for that day, so I decided to give up my seat.  Since it was between southern California and northern California, I was able to leave later that day, and the flight voucher that I got was worth more than my flights and hotel put together.

 

Alexis Ohanian + Ben Rattray

One of the talks that I went to was on using social media and technology for social change.  The speakers were Alexis Ohanian, the founder of Reddit, and Ben Rattray, the founder of Change.org.  As it turns out, Change.org was a Stanford startup from a few years ago, and they're based in San Francisco.  I told them about Code the Change, and they both expressed interest in helping out with the idea.  Ohanian also gave me a copy of the XKCD book, which one of his other companies publishes. 

 

Ohanian's Companies

After that interaction, I looked up Ohanian and discovered a few of his companies.  He founded BreadPig "to make the world suck less."  BreadPig is where I got my shirt that says "I'm a vegetarian because I HATE VEGETABLES" (http://breadpig.com/2010/06/11/new-shirt-vegetarian-because-i-hate-vegetables/).  They also have Awesome Sauce. 

 

He invested in Hipmunk, which provides a better system for buying plane tickets.  Hipmunk makes it really easy to search (at least twice as fast as Expedia) and easy to compare flight times and prices (at least 10 times as easy as Expedia).  They let you sort by "agony" rather than just by price or time, so if something has 3 layovers and is only $10 more expensive than a direct flight, it will probably show you the direct flight first.  Also, the logo is an adorable picture of a chipmunk pretending to fly.  The website is worth checking out if for no other reason than the logo.

 

He also invested in Whitey Board.  Whitey Boards makes cheap, adhesive white boards.  Thus, if I wanted to, I could buy a Whitey Board and attach it to my wall so that I could write on my wall (well, I could do that now, but Stanford would fine me a lot of money).

 

4/8-9 Campus to Congo

Intro

Everything costs money.  When people do horrible things, they need someone to pay for it.  The warlords that abduct kids, give them guns, and force them to kill people in the Democratic Republic of the Congo (DRC) get their money from high tech companies.  About as many people have died in the current conflict in the DRC as Jews died in the holocaust, yet most people don't even know that there is a conflict in the DRC.

 

More specifically, they mine tin, tantalum, tungsten, and gold, and they sell them.  Smelters turn the tin into solder.  Tantalum is extracted from the coltan and turned into capacitors.  And it's almost impossible to tell whether a capacitor uses minerals from the DRC or from Australia because the minerals are smuggled into other countries before being sold to the same refineries that process minerals from other places.  That means that pretty much everything in high tech plays a part in this.  According to the US Geologic Survey, 13% of global tantalum came from the DRC in 2009. 

 

This conference was aimed at raising some awareness about the issue of conflict minerals in the DRC.

 

Omekongo Dibinga - Spoken Word on Congo

Omekongo is a Congolese spoken word artist.  Thus, he interspersed his talk on the conflict with spoken word. 

 

The current conflict in the DRC is the second genocide in this century.  The first was for rubber.

 

The high tech industry helps the warlords in the DRC indirectly, and the US has also given more direct support to the warlords.  During the conflict in Rwanda, the US trained soldiers that later became the warlords in the DRC. 

 

Falling Whistles

Omekongo was also wearing a whistle, and I later bought the same whistle.  I knew that if I were to start wearing a necklace, people would ask me about it, so I decided to come up with a statement and memorize it.  Thus, when people ask me of it, I tell them the following:

 

When a child too young to hold a gun is abducted and made into a child soldier, they are put on the front lines and given a whistle so that they can make noise and take the first round of bullets.  The high tech industry funds the warlords that cause those children to die.  I wear this whistle to stand in solidarity with those children and to raise awareness about my role in their deaths.

 

You can buy one at www.fallingwhistles.com.

 

Panel on Supply Chains in the Congo

Hua Lee, a professor at the business school; Patricia Jurewics, of the Responsible Sourcing Network; and Zoe McMahon, the person at HP in charge of supply chain ethics, gave a talk about the supply chains in the DRC.

 

Lee had some businessey stuff.  One salient point was that people need to hold corporations accountable or they won't have any incentive to act.  For instance, Apple knew that its factories were big polluters, but they didn't do anything or even disclose anything until there was a massive public outcry. 

 

McMahon showed how hard the problem is.  Tin, tantalum, and tungsten are a small part of laptops, so it will require the whole industry making a change to make an impact.  The supply chain is long (metal to smelter to solder to circuit boards to a computer), and a break in accountability or knowledge at any point means that we can't prevent conflict minerals.  The current focus is conflict free smelting because it's possible to make an impact there and it's too hard to trace anything if we don't know about the smelters.

 

Jurewics talked about getting everyone on the same page.  There are tons of corporations, nonprofits, governments, and entire industries involved in this issue, and they needed a general consensus.  The feel was similar to when I took CS144 and learned about how guidelines for the internet were made (there, the corporations that want to do whatever they want and the regulators have to agree on the same internet policy or neither side will be happy). 

 

There were some guidelines released in April 2011 about supply chains for tin, tungsten, tantalum, and gold from the DRC, and since it takes 9 months to go from a mine to a laptop, companies will start being able to come out with conflict free products in 2012 (hopefully). 

 

Chip Pitts

Pitts has worked with the UN, Amnesty International, the law school, Nokia, and other cool places. 

 

I agree with his philosophy on most notes.  For instance, he believes that humans are of mixed nature since there are genetic incentives towards both cooperation and conflict and since, when doing human rights work, you see the best and worst of humanity coming out.  He believes that globalization has made things tricky: "the unexamined life may not be worth living, but if you examine the impact that your cell phone has on the world, you want to kill yourself!"  I like that his moral framework is so holistic.  There is blood on our hands, and we can't ignore it, and we can't avoid it, and we have to do something.  He also took the hard line approach against cultural relativism: "rape is not an issue of cultural relativism." 

 

He advised to do good wherever you are.  If you're a kid and see someone being picked on, stand up for them.  If you're in the private sector, then do good there.  If you want to be a part of a movement or a nonprofit, then do that.  There is a lot of good that needs to be done, in the DRC and elsewhere.

 

Pitts was also full of fun quotes. 

·       "It's better to light a candle than to curse the dark" was first used publicly by the founder of Amnesty International (after being a Chinese proverb and before it was in the K'naan song).

·       "CSR does not stand for 'Corporate Scandal Response.'"  That is, an organization should take corporate social responsibility to heart rather than just using it for advertising.

 

There were a wide variety of questions, and Pitts handled them very well.  For instance, Pitts half-joked during the talk that corporations exist so that everyone can blame ethical problems on someone else: "that's why we have corporations: limited liability," and someone aggressively asked him how we should get rid of all corporations and capitalism (seriously and with follow-up questions).  Pitts answered the content of their question ("how can we make the world better given that there are some problems with corporations?") rather than the question as asked.  At the same time, he made it clear the ways in which he disagreed and agreed with the question itself.  His answer was that he disagreed with the thesis in "The Corporation" (it's a great movie, though) that corporations are legally required to be pathological, and he agreed that many corporations were bad and that we need international laws to keep corporations transparent and accountable.

 

He also talked about forces pushing towards a better Congo.  Things like conflict, instability, and illiteracy are bad for a business (unless the business is a "merchant of death" that profits when people are worse off).  And there are a lot of resources and people in the DRC.  Some companies (like Nokia) care about conflict minerals.  Some national legal structures like the Dodd Frank act are giving attention to conflict minerals.  The ICC, OECD, and other multinational organizations are taking action.

 

4/11 Mozilla Tech Talk

Everyone likes Stanford Computer Science section leaders, so Mozilla gave a tech talk about security and performance.  Apparently, performance people want everything to run very fast, and security people want everything to do things the safe way, which is usually slow.  If I recall correctly, the speaker switched from a performance team to a security team because there was an important security feature that they needed to add that was infuriatingly slow.

 

4/12 William Deresiewicz - Are Stanford Students Just (Really Excellent) Sheep?

William Deresiewicz wrote "The Disadvantages of an Elite Education" with the basic idea that an elite education comes with drawbacks, such as not knowing how to talk to real people, making you elitist, making you think that you're worth more than other people, giving you ample second chances that others don't get, taking away the opportunity not to be rich and otherwise give up security for risk, and being anti-intellectual (where intellectualism means introspection in the humanistic sense and a passion for ideas). 

 

His talk mostly covered these same ideas.  He seemed slightly apologetic -- he said that his critique applied less to Stanford than some other places.  Also, when he was pressed in the question and answer period, he repeatedly said that he just thinks about problems, not about solutions. 

 

Now for my critique of Deresiewicz.  To be clear, I am not saying that Stanford is typical of elite universities or that I am a typical Stanford student.  I am saying that even if Stanford didn't offer me the amazing financial aid that it did, knowing what I do now, I would still go there.

 

Deresiewicz says that elites don't know how to talk to other people.  While this verbose letter might stand as a testament to that, as a Stanford student, I will say that our engineers can talk well and down to earth.  As a debater and debate coach, I will say that only rare people know how to talk.  As someone who values empathy, I will say that not enough people know how to calm down and see the logic in an opposing viewpoint.  I would like to see these things more everywhere.  I don't think that elites are any worse off than the rest of society.

 

Deresiewicz says that elites believe that elites are better.  I have seen a lot of variance here.  One of my friends used to idolize an ivy league education.  At Stanford, she said that she realized that it wasn't anything special, which demystified elitism for her.  A lot of people work with the intention of elevating unheard voices, explicitly giving value to the non-elites.  In the sciences and engineering, I like to believe that we approximate a meritocracy.  That is, when I interview as a computer scientist, it doesn't matter if I went to Stanford or if I'm a high school drop out as long as I'm good with algorithms. 

 

That said, I also believe that there is value associated with an elite education.  Stanford made me the person that I am today, and I like that person.  I work hard, effectively, and towards a worthy ideal.  If I want to find a person with those qualities, I know an institution that has produced at least one.

 

But Deresiewicz' biggest critique is that students don't stray from the beaten path.  "They know how to think for themselves," he says, "because we tell them to."  This results in everyone choosing the same opportunities, whether those are finance or Teach for America.  Students just know how to jump through hoops; they don't know how to think for themselves about what really matters.

 

I partially agree with him.  I see a lot of people going to work at organizations that they disagree with.  It's weird to see a big anti-war person who sends along articles about how so and so financial organization is participating in crimes against humanity go to work for that organization. 

 

However, someone on the committee for undergraduate education at Stanford asked him what changes to make, and Deresiewicz' only suggestion was to reduce admissions standards.  He says that students can't develop a passion or have time for introspection when they are expected to be excellent at so many extracurriculars and that doing many things makes them watered down (as if there was something wrong with water!). 

 

I don't agree with that assessment.  First, the admissions office has to pick 2000 admissions letters to send to over 20,000 applicants, many of whom are qualified.  When making decisions like that, more information is better.  Second, while most Stanford students have many commitments, I wouldn't characterize them as watered down.  For instance, in Design for Extreme Affordability, students create products that really save lives in the developing world, and in CS140, we really make an operating system.  Third, there are a million things to do to save the world.  Why should I be content doing less than I can?  Fourth, participating in many activities allows for exploration of different ideas and activities.  Experimenting with debate, computer science, and entrepreneurship were, at one time, just an extra activity that I added on top of my 'main' passion, but now they are a large part of my identity.

 

I asked him about that, and his answer was weak. 

 

4/22 Wael Ghonim - Google Egypt Revolution Guy

Wael Ghonim was a Google media guy in the Middle East.  He did a lot of stuff that catalyzed the movement for democratic change.

 

He was really noble.  He didn't take big credit because he says that Egyptians don't get the credit they deserve.

 

A lot of things need to happen in Egypt to stabilize the country and make it a model for successful revolution.  For instance, the revolution needs to help the 40% of the country that lived on $2 per day under Mubarak.

 

Ghonim says that it wasn't a Revolution 2.0 because of the internet, but because everything was decentralized.  There wasn't a master plan.  It was populist.

 

He also talked about important things going forward.  Tourism is important to get the economy going again.  We need to support young entrepreneurs and small businesses.  Raising money in general helps.  Projects to benefit rural areas are particularly important.  And any other ideas can help too!

 

4/26 Take Back the Night

Take Back the Night happened again as usual.  One thing that I realized is that a lot of the speeches before the march are given over again.  That is, I heard two or three speeches that I had heard at a previous year's event.

 

5/3 A. Breeze Harper - Race and Whiteness in Veganism

Harper, a doctoral student who started the Sistah Vegan project, spoke at Stanford at a vegan lunch.  She talked about issues of veganism and identity.  For instance, how different cultural images of beauty interact with the idea that being vegan will make you lose weight. 

 

There were some interesting ideas in the talk, but the talk wasn't very action oriented. 

 

5/3 Benjamin SLE Lecture

In my year of SLE, we didn't read Benjamin, so I didn't get a lecture on his work.  Since this year of SLE did, I attended the lecture.

 

When I read Benjamin's Art in the Age of Mechanical Reproduction, I talked it over with my debate coach, and I think that gave me a sufficient understanding of the work.  I didn't get a lot of new things from the lecture.

 

5/13 Startup Tips

A Stanford CS student who recently did a startup gave some tips at an ACM meeting.  The tips are as follows.

 

·       Don't worry about performance.  Prototype first; optimize later.

·       Don't worry about choices of language, framework, or hosting. 

·       Don't worry about making your own stuff when there are existing solutions.  Making authorization is hard.

·       Worry about different environments.  There should be a development environment, a staging environment (with a copy of the production database for testing), and a production environment.  That way, you won't break anything important.

·       Set up a system with your repository.  Use branches for features.

·       Think about the frontend.  Use a grid framework and organize your CSS.

·       Make exceptions and errors nice for the user.  Also, send an email to the developers every time there's an error so that they can fix it fast.

·       Have an admin interface for databases.  That way, non-programmers can deal with password resets and annoying stuff like that.

·       Make sure that your site works in different browsers.

·       Think about why you're doing the start up.  You have to love it.

 

5/29 Section Leader End of Quarter Barbeque

Even though I wasn't section leading in spring (I was teaching CS1U instead), I still went to the end of quarter barbeque at Mehran's house.  There is a superlative element in addition to the food element.

 

One of my friends was so teeming with hair that he won Most Epic Hair. 

 

I won the coveted Best at Life.  If there is one superlative contest where that would actually carry meaning, it would be the section leaders.  That is to say, I am proud of my accomplishment. 

 

6/26 San Francisco Pride

San Francisco's queer pride march might not be the biggest in the world, but it is one of the most well-known.  Google marches in the parade, so I decided to tag along.  I got one of their Android Pride shirts (http://www.googlestore.com/Wearables/Android+Pride+T-Shirt+-+Black.axd), found the hundreds of Google balloons, and joined in with the group of Googlers there.  As I mention in my discussion of Google, Google is fairly queer-positive: there was a lot of support and attendance at SF Pride.

 

It's weird marching in a parade.  The protagonist in "Name of the Wind" is from a performing troupe, so he talks about a bunch of the scenarios in the book as performances and describes how his actions were just him acting.  I never thought of a parade in that context.  Especially with Pride, it seemed more like a movement where people are there with a purpose.  However, when marching, even though I had been on my feet all day and was a little bit hungry, I felt obliged to smile and wave.  It's interesting to think of how even situations where the actors don't come in prepared to act are performances according to a specific set of roles.  I guess that's the nature of institutionalized oppression: the oppressors might not come in hoping to oppress anyone, and they might not consciously do anything bad, but they still act the part. 

 

I also think that parades are meant to be viewed from the side.  When marching, you don't see any of the other groups and floats. On the other hand, I did see all of the people waiting on the side. 

 

Some of the companies on the side gave the marchers free stuff (one group gave water.  Another group gave out that gross mass-produced chocolate milk with a bunny logo).  Google also gave some of the people on the sidelines free stuff (stickers). 

 

I saw a ton of people.  A few people from the Stanford queer community were doing safety stuff at the parade.  One of my friends from high school was on the side.

 

There were a few naked people marching.  I saw one, and as I mentioned, since I was marching, I didn't see many of the other marchers, so I assume that there were quite a few. 

 

This was the same day as the Matt Nathanson and OneRepublic free concert in Golden Gate Park that I wrote about in my previous verbose letter, so after I reached the end of the line, I found a bus over to the park.  The parade delayed the bus a bit, but all was good.

 

7/29-7/31 CSTI

The Western States Center, the nonprofit where my sister works, was putting on their biggest annual conference, and I stopped by.  There were a lot of workshops on community organizing.  I also saw one of my friends from high school. 

 

I went to a talk on writing grant proposals.  The talk itself was good, but I already knew most of it because of my social entrepreneurship classes.  Two takeaways:

 

1) Before writing a grant proposal, it's often a good idea to call the foundation.  Also, just call them in general.

 

2) You have to raise money from individuals.  Also, poor people are the most generous -- they donate a higher proportion of their income than richer people. 

 

Google

My Team

Google puts 1% of its profits into Google.org, a philanthropic branch of Google.  It gives away some of its money to cool organizations like InSTEDD, the one that I worked at last summer.  It works on projects in public health, education, disaster relief, clean energy, and plenty of other things.  I'm surprised that more people don't know about it since it's pretty much the coolest thing ever (it's kind of awkward when someone thinks that the crisis response team is the one that is sent out when a server crashes).  I was extremely happy when my recruiter managed to get me an internship with some folks on the Google.org Crisis Response Team. 

 

The Crisis Response Team responds to humanitarian emergencies.  We're in the same building as all of the Google Maps people because a lot of geographic and maps related stuff helps a lot in a crisis situation (ie, getting good satellite imagery available to disaster responders). 

 

Their most well-known project is probably Person Finder, a missing persons database.  Developed in response to the earthquake in Haiti, Person Finder allows people to post that someone is safe (or not) and to check if someone is safe (or not). 

 

The people on my team were awesome.  I interacted most with Ka-Ping Yee and Lee Schumacher.  Ping got a PhD from Berkeley recently and Lee had worked in the industry for a while before going to Google.  They were both very good listeners, they helped me learn a lot, and they were friendly.

 

My Work: What I Did

Person Finder isn't the only missing persons database.  For instance, Red Cross has their own database called Safe and Sound, and that's just one other.  If a person wants to see if their loved one is safe after a disaster, right now, they would have to search through (and know about!) all of the different databases.  It would be much better if the databases could talk with each other so that a person only had to look through one.

 

Now, missing persons databases mostly use the Person Finder Interchange Format to store their data, but each database might deviate a little bit from the specification in small ways so that they can't work together even though the people that made each of those databases all agree that their databases should talk with each other.  I made three tools to help test interoperability so that missing persons database designers can make sure that their database can talk with the other databases.

 

First, I made a validator.  Before this, it was difficult to see if a database conformed to the PFIF specification or not.  The validator lets you take a PFIF file from your database and see if it follows all of the rules.  If it doesn't, it lets you see which rules you break so that you can fix your database.

 

Second, I made a tool to let you see the differences between two PFIF files.  If I'm testing whether or not my database and someone else's database have the same missing persons in them, it used to be very difficult to see because it's possible to represent the same information in a few ways in PFIF.  The diff tool ignores the superficial differences and tells you all of the differences that matter.

 

Third, I made a tool that will interact with a missing persons database to check if it works properly.  That is, it adds missing persons to a database and makes sure that they were added properly.  Part of the hard part in doing this was that there wasn't a strict specification on how a missing persons database had to work, so I needed to make the tests generic enough that they would work on two databases that stored the same data but worked with it in different ways. 

 

All of my code was open source, which I why I can talk in detail about all of the stuff that I did. 

 

My Work: The Experience and Education

I had a great time working on the project!  Last summer, my work was structurally very similar, but this time, I knew more about programming, and I had more support, so I got a lot more done.

 

It was my first significant project in the Python programming language, so I learned a lot about that language.  Also, I realized that I understood how web services work now (last summer, I spent a lot of time figuring that out). 

 

I got fully integrated into a test driven development environment.  Test driven development means that the first thing you do is figure out what you want to do.  Then, you write a test that will fail until your program does what it should do.  Then, you do whatever you need to do to make the test pass.  This is good because it helps you think clearly about the code you're writing.  For instance, if I just make my tests pass, then I won't waste time programming features that I don't need.  Also, it makes sure that I don't break anything.  That is, if every feature has a test that will pass if the feature works and that will fail when the feature is broken, then I always know when I break something, and I can immediately fix it (and since the test suite will be perfect, that means that if a user reports a bug, you know that they're lying!).  This is much better than writing 1000 lines of code and trying to figure out the 20 different places across that code that are causing a bunch of bugs all at once.

 

I learned a lot from the people there.  In addition to my mentors helping me out on my actual project, there is a lot to learn when working with the best programmers in the world.  For instance, there are email lists for the tools that I use to help me program.  As a result, I learned a lot of things about my text editor and my shell (my command line interface), and I got them customized more to my liking.  I also discovered that the person who wrote Vim, the text editor that I use, works at Google and responds to comments on the mailing list. 

 

Google Culture

Like Stanford

When I was at Stanford's new student orientation, Dean Julie, the dean of frosh, said that one person wrote in their Stanford application that they wanted to go to Stanford because Stanford was near Google, Yahoo!, HP, Apple, and the rest of Silicon Valley, so it was close to the Mecca of Geekdom (hmm... the Geek Dome... I should start that).  Dean Julie's response was that Stanford was the Mecca of Geekdom -- it was thanks to Stanford's investments, alumni, and faculty that most of those companies exist.  I didn't understand how true that was until I experienced Google.  The culture at Google is good in a lot of the same ways that Stanford is, and I could tell that Stanford had a big influence. 

 

Openness

Both are very open, but in different ways.  At Stanford, you can stop in on any lectures or take classes in any school (ie, I could take a business school class if I wanted to) or go to any professor's office hours.  At Google, there are a lot of talks that are open to everyone, and you can set up a meeting with any other team.  One of the big symbols of Google's openness is TGIF, where all of the employees hear about the big things happening in the company.  At TGIF, every employee has the chance to ask a question of the founders and to raise concerns.  In a lot of ways, I think that Google is even more transparent, internally, than Stanford.  At Google, though, they have things that aren't public information, whereas at Stanford, everything is public.  Because of that, I think that I prefer Stanford's system of openness: even though I don't know everything about how Stanford works, I can write about anything that I know.

 

Both are open in terms of letting people pursue their interests.  At Stanford, you don't have to declare a major until your junior year, and Stanford lets departments and professors do whatever they want.  At Google, there is 20% time, where employees can spend 20% of their time working on something that isn't related to their main project.  And employees do a bunch of cool things.  For instance, if you ever go into a bathroom at Google, you'll notice fliers on the bathroom stalls (another commonality with Stanford).  Each week, there will be a new issue of Testing on the Toilet (to learn about test driven development while sitting on the toilet) and a few other things.

 

Learning

The educational opportunities are different.  At Stanford, if I want to take an English class, there are plenty to take (and, as an avid reader of my verbose letters, you can see all of the English classes that I'm taking!).  At Google, there is a lot more of a focus on computer science lectures and talks.  That's not to say that other forms of learning are absent: I saw Rob Reich talk about labor and economics, saw George R. R. Martin talk about his new book, and I saw tons of other talks.  I was also surprised, but apparently there are non-programmers that work at Google too!  I sat down at lunch with someone, and it turns out that they were Eric Schmidt's speech writer, and they had just come from being a speech writer for the UN Secretary General (it might have been a different person high up in the UN if my memory is failing me).  Despite the prevalence of non-programming education and opportunities at Google, the culture is still deeply rooted in computer science, so those opportunities feel different.

 

Politics

The political / philosophical culture is different also.  Stanford has a lot more variety.  At Stanford, there are a lot of people who study ideas for the sake of ideas rather than for the sake of people, and I can't understand that.  At Google, their mission is to make the world's information universally organized and useful, and everything that they do is oriented around that, so there is a clear connection between the work and the end users. 

 

Stanford also pursues some ideas that I think are better left alone like weapons research or Hoover Institution economic research.  At Google, even the projects that I might not personally be interested in are probably making the world a better place.  At Google, they care about "don't be evil."  Stanford doesn't have a motto for everyone to get behind.

 

Google also really supports its employees when they do something cool.  For instance, in response to gay kids committing suicide, Dan Savage started the It Gets Better project where people would make YouTube videos saying that even though it's hard being gay in high school, it gets better.  A lot of companies made videos with that message.  Some folks tell me that at Apple, the company very strictly regulated the employees who were making the video to make sure that it wouldn't interfere with the Apple brand.  At Google, the employees didn't even think that they would have to ask to make the video.  After they made it, they did ask, and Google decided to make the It Gets Better project into a national TV ad.  I think that it might have aired during the Super Bowl.  That's what I call institutional support.

 

Stanford certainly supports people (faculty and students) doing cool stuff, and they give a lot of funding to student groups and research, but I don't feel like the university really gives institutional support to champion any causes.  The university makes sure that it's a place where cool things happen; it doesn't actively push for cool things to happen. 

 

People

At both Stanford and Google, people care.  They love what they do and take pride in their work.  They tackle important problems. 

 

Both campuses are cosmopolitan.  I probably hear more languages on a given day at Stanford than at Google, but Google's work more directly affects a global audience. 

 

There are fewer tourists at Google, but there are still plenty (interesting how I hate being a tourist but enjoy living and working in a place that people tour).

 

As I mentioned above, both campuses have people from all disciplines, but Google is more focused on computer science than Stanford.

 

Google supports people getting to know each other more.  For instance, the Google.org folks all got together and toured a winery (and I was still under 21, okay?).  There were some chefs there that helped us do a communal food-making thing.  At Stanford, there are probably more social events, but the students take care of those on their own. 

 

There is, of course, the age difference.  At Stanford, I interact with a lot of college-aged people and a lot of teacher-aged people.  At Google, I interact with a lot of career-aged people.  This difference is, perhaps, more salient in the place that people are in in life.  At Stanford, there are a lot of people who are just starting to live away from their parents.  I am astounded, but I meet a lot of people who don't know how to do their laundry or cook a meal.  Go a little bit older, and people are embarking on their first real job.  At Google, most people seem capable of taking care of themselves.

 

Support

At Stanford, there is academic support.  That means that if you're struggling in a class, the professor is required to have office hours where you can stop by, and there are TAs and tutors that you can access for free.  There are also computers for people to use, and if you don't want to buy all of the course books, you can read them in the massive library.  There are services to get people study abroad opportunities, to get people jobs, and to help people network.  Most significant of all, they have financial aid for everyone who needs it.  At Stanford, the university fulfills all of the needs of their students.

 

At Google, there is career support.  That means that you can get ergonomic keyboards and mouses so that you don't have to stop programming for an injury.  You can get high quality headphones to concentrate on your programming.  And, of course, there is the new computer and laptop for you to use.  There are career development talks.  And there are all of the perks outlined below.  At Google, the company fulfills all of the needs and wants of their employees. 

 

One possible reason for this is supply and demand.  At Stanford, they accept less than 10% of applicants even though half of the people who apply would probably flourish at Stanford.  Stanford's core service for its students, a Stanford education, has a low supply and a high demand, so they don't really need to provide auxiliary services.  The fact that they do fulfill all of a student's needs is probably because they made a moral commitment to provide a high quality education for everyone at Stanford and because they made a moral commitment to make a Stanford education accessible to people with financial need. 

 

At Google, there are tons of new people every week.  I think that if there were 10,000 applicants that were all qualified, Google would hire them all.  Google hires the best computer scientists in the world, and there just aren't enough computer scientists.  Google needs to be the most attractive place to work because it will get them more employees, and employees will help them with their business.

 

But who knows?

 

Perks

Google is a bit better on the perks.  There are as many free t-shirts at Google as at Stanford. 

 

For transport, they also have Google Bikes for people to ride around.  They only had one speed (based on my experiences riding them, that speed was "terror").  You had to backpedal to break.  I think that I saw a newer model recently, though.  They were massively convenient.  Theft wasn't too big of a problem because it would be hard to sell one since it was obviously a Google Bike, and also they were cheap bikes.  It would be awesome if Stanford did something like that.

 

They had Google Busses.  They ran to and from most locations in the Bay Area.  I always too the bus that would get me in in time for breakfast and that would leave after dinner.  They had wifi and electrical outlets.  Stanford has the Marguerite busses which serve much the same purpose.

 

For food, they had three meals per day for free.  I think there are 19 different eateries on the Google campus, each with a different theme.  For instance, at one place, everything had 5 ingredients or fewer.  At another, everything was local.  And there were ethnic themes and different health themes.  Plus, they have clever names like "Beta." 

 

I think that they are a little bit better on sustainability than Stanford.  Both have a lot of local foods.  Google had a ton of organics (all of the foods that are worst when non-organic were organic).  Google was also better at labeling their foods.  Their vegetarian / vegan labeling was easier to read than Stanford's (one asterisk before the name of the dish means vegetarian; two asterisks means vegan).  Google's labeling was more consistent and comprehensive.  At Stanford, there is often vegetarian food that is not labeled as such, for instance, which didn't happen often at Google, and Google has a ton of labels (ie, raw food, sea food, beef, pork, etc).  Google also has the healthiness labels (every food is either red, yellow, or green). 

 

My favorite café was Slice, the vegan café.  Most places at Stanford and Google are buffet style where you take as much as you want and there are a bunch of options.  At Slice, there is one thing per meal, so the serving sizes are all optimized, the different foods in the meal are all balanced together, they make the food exceptionally well, and it is beautifully plated.  Also, there is something different every day, so the food never gets repetitive.  And they have fresh squeezed juice and smoothies.  Once I discovered Slice, I went there for lunch almost every day.

 

Google is much better at keeping employees satiated when it's not during a meal.  At Stanford, you either have to go to the center of the campus and pay for an eatery (and there isn't anything open after 2am!), or you have to have something in your room already.  Stanford recently added a new dining hall that is open "continuously," which means that there is only a half hour between the end of breakfast and the beginning of lunch and a half hour between the end of lunch and the beginning of dinner, and that is a good step forward.  Google, correspondingly, has a café called Go, which is open continuously (no scare quotes!) between lunch and dinner.  Also, there are micro kitchens in every office where you can get snacks, Odwallas, and pretty much everything else that you would want between meals.

 

Apartments in San Francisco

I let my roommates handle the search for housing (and I am glad that they did handle it so that I didn't have to).  As a result, rather than having one place to live over the summer, I had three!  For the first few weeks, I was in Noe Valley.  For one week, I was homeless.  For the rest of the summer, I was in the Haight. 

 

The place in Noe Valley wasn't very good.  The landlord said that there was internet, but it seemed like it was the neighbor's network or something -- it had a bad signal.  Also, I was living in the common room, which meant that it was hard to get to sleep before my roommates since they might still be on their computers for 15 minutes after I get to bed.  And it was hard to stay asleep until I left for work because the thin doors and poor drapes meant that light from outside and the early risers (or early snooze alarms) would often get me up.  And it was always very cold in the mornings.  Also, it was a fairly residential area, so there wasn't anything around the apartment.

 

My week of homelessness was fun.  I spent a few days with one of my friends who was living at Stanford over the summer and interning at Google.  I also spent a few days with my Stanford roommate in his family's San Mateo house.  It was good to spend some time with him since he was in Chile for spring quarter.

 

The last place was fairly good.  We were in the Haight, which meant that we were around a ton of stuff (food, movie theatres, food, shops, and more food).  The bus stop was literally right outside of our apartment.  The apartment had a big room where we all slept and another big room that acted as the common room (plus bathrooms and kitchens).  The door between the two wasn't very thick, so it was still a little difficult to sleep, but it was okay overall.  The internet had a strong signal, but it was AT&T, which meant that it just stopped working every 5-20 minutes, which was horrendous. 

 

Roommates

My friends got housing without telling me, so I was on my own for housing.  I ended up rooming with Google interns from Princeton.

 

I commented last year that I got along well with most people in Cambodia and that I had a lot in common with them culturally, more so than some people in America.  Rooming with these folks made me appreciate my roommates at Stanford and made me appreciate spending time at Google.  It's not that they were bad people; it's just that the little things can get annoying after a few months except for in cases when roommates get along together exceptionally well, like I do with my roommate at Stanford.

 

I am thankful that roommate lets me know before asking half a dozen people over.

I am thankful that my roommate cares about social issues and thinks that making sexist comments is bad.

I am thankful that my roommate is considerate of my space (even when I sleep at odd hours!) and that he doesn't pee with the door open and light on when I'm trying to sleep.

I am thankful that my roommate doesn't even need an alarm and especially that he doesn't wake me up three times with his snooze before he wakes up.

I am thankful that my roommate is humble and frugal and that he doesn't have three different Apple computers.

 

All things considered, though, they were courteous people, and it was certainly a learning experience for me.

 

People!

Apparently, living in San Francisco rather than Cambodia means that I will happen upon people that I know.  Who would have guessed?

 

Some of my family from the east coast visited, and we went through a museum together and walked around the city. 

 

One of the people who was on the debate team with me in high school was doing biology research at a lab in San Francisco.  Since she goes to school on the east coast, I had no idea that she would be here, but she saw me when I was marching with Google at SF Pride, and we met up. 

 

Plus, there were a ton of Stanford people around at various tech companies.  I managed to walk around large parts of SF with them.

 

Events + Talks at Google

7/11 - Jeff Jarvis - Privacy and Publicness

Jeff Jarvis talks about privacy and publicness.  It's not a binary; it's a spectrum.  He likes to point out that, even though he advocates for publicness, he still wears clothes.  His book is titled "Public Parts" (perhaps in ironic recognition of the fact that Germany is a very privacy conscious place, but they're okay with public nudity). 

 

Jeff Jarvis thinks that people should develop a more nuanced view of privacy than "that's creepy!"  There are benefits to some forms of privacy and to some forms of publicness. 

 

Something is public (speaking descriptively, not normatively) once someone other than you knows about it because they can talk about it.  A person cannot control it when other people see them on the sidewalk.  However, there is a distinction between gathering and use.  When I interview, a person will know my age, ethnicity, gender, etc, but they are not allowed to use that information in the hiring process. 

 

You can see an overview of "Public Parts" here: http://www.buzzmachine.com/2010/05/20/public-parts/

 

 

 

7/12 - John Dau - God Grew Tired of Us

John Dau was a refugee from Sudan for most of his young life.  His descriptions of the conditions that he grew up in were heart wrenching.  I was struck by the huge impact even from small things like blankets at refugee camps or a teacher whose method of instruction involves writing with sticks in the dirt. 

 

A church brought him to America in his 20s.  He got his Bachelor's degree and started organizations to help people. 

 

I highly recommend watching his talk.  It's available at http://www.youtube.com/watch?v=KIxXZa5Fwzc

 

7/13 - Project Kaisei - Ocean Plastic

You know that plastic that you (I) threw away last week?  Well, it might be in the ocean now!

 

Project Kaisei sends boats out to the Pacific Ocean to research all of the plastic that winds up there.  There is plastic inside the belly of every fish and in every sample of water.  Birds and whales are dying. 

 

There are monster nets that can weigh up to 3 tons that can destroy coral reefs or ships.  There are large consumer plastics.  There are small, jagged pieces of plastic.  There are little micro-pieces that have been accumulating for 60 years.  20% is from ships, and 80% is from the land (ie, when it rains and stuff washes out to sea). 

 

Some people claim that there isn't much plastic in the ocean.  That's because if you travel at 5 knots, you see 40% of the plastic and at 10 knots, you see 1% of the plastic.  You have to go slow. 

 

Their work is at http://www.projectkaisei.org/index.aspx

 

7/15 - Doug Edwards - I'm Feeling Lucky

The talk (and book) is basically a bunch of short anecdotes about Google culture.  They were funny, and my retelling wouldn't be.

 

The talk is available at http://www.youtube.com/watch?v=L_Xy_DkvwKY

 

7/19 - Aaron Hurst - Taproot

Aaron Hurst founded Taproot, which helps people volunteer their skills to nonprofits. 

 

Pro bono work can help job satisfaction and can help your kid feel proud of your job.  One parent, when asked why he did pro bono work, said, "because my 7 year old kid asked me what I did for a living, and he didn't like the answer."  He also reflected on his own dreams as a kid and realized that he was about to come up on a mid-life crisis. 

 

Hurst brought up a point that I have reflected on before: doing good now is more important than getting wealthy now and doing good later.  He also brought up the point that doing environmental work now will have a higher impact than waiting to do environmental work until after Manhattan is flooded.

 

Doing skilled labor is much more effective than volunteering unskilled labor.  Making a nonprofit a logo, training management, helping with marketing, helping with strategy, or helping with IT will help a lot more than painting a fence.  Also, skilled volunteering helps your job, develops relations, and increases satisfaction.

 

His book is "Epic Careers by Inspiring Parents: Mommy and Daddy Do It Pro Bono."  See http://www.huffingtonpost.com/aaron-hurst/mommy-daddy-do-it-pro-bon_b_835482.html

 

You can get involved at http://www.taprootfoundation.org/

 

7/25 - Mignon Fogarty - Grammar Girl

Mignon Fogarty got a masters in Biology at Stanford, started making podcasts about grammar, and then went into grammar full time as Grammar Girl. 

 

In her talk, she mostly went through some common mistakes.  In my obsession over having a perfect college application essay, I taught myself enough grammar to avoid making those mistakes.  I even pointed out some mistakes in her talk (The USA PATRIOT Act is an acronym)!

 

The talk is available at http://www.youtube.com/watch?v=_jOH7FvR83g

 

8/12 - John Quinn - Android Phones for Cassava Disease Detection

John Quinn is a computer science professor at Makerere University in Uganda, and one of his projects is to help the country detect diseases in cassava (tapioca), a crop that people plant because it is resilient to drought.  While the plant is very durable, if it gets a virus, there can be problems.

 

The old method for cassava disease detection was to have an expert go around and look at thousands of plants, fill out forms, and get the data back 5 months later.

 

Filling out the data on a $100 android phone instead of filling out paper forms let people get the data back in 5 minutes rather than 5 months.  It also saved the government lots of money on surveying. 

 

The phones can also automate repetitive tasks.  For instance, one part of disease detection is counting the number of constantly-moving small flies in a plant.  This sucks to do by hand, but an android phone can do it in a few seconds.  Phones can also tell whether or not a plant is diseased almost as well as an expert, and since an expert costs more than a $100 phone, that can save some money.

 

When everyone inputs their data onto a central server, the server can also suggest the best spots to look to see where the diseased areas are. 

 

His application is available at http://cropmonitoring.appspot.com/, and he has some publications if you have access to academic journals.

 

8/15 - Teresa Amabile - The Progress Principle

"Inner work life" is a person's emotional state at work.  The most important part of it is the intrinsic motivation for work (ie, I feel that what I'm doing is important).  People who have strong inner work life (strong motivation for work) are much better at creative tasks than others (this is more significant than pay). 

 

The progress principle is the most important driver of inner work life and motivation (and, thus, doing well at work).  To feel good about your work, you have to feel like what you're doing on a day to day basis matters to the overall goals of the organization (which matter). 

 

Even small events ("I just finished writing a small piece of code and someone complemented me on it!") can have a big effect on inner work life and productivity, and small setbacks ("It took forever for my code to compile!") can have a very negative effect.  In other words, it takes me a stack full of gold stars to get through one of these letters.

 

To facilitate progress, there should be clear, meaningful goals.  These should include smaller goals that are achievable on a shorter timeframe.  There should be autonomy, sufficient resources, and help.  People should be able to talk about their successes and their failures.  There should be a little time pressure.  There should be respect, recognition, encouragement, emotional support, and trust. 

 

The book is available at http://www.amazon.com/Progress-Principle-Ignite-Engagement-Creativity/dp/142219857X/ref=sr_1_1?ie=UTF8&qid=1314943446&sr=8-1

 

The talk should be on Authors@Google soon. 

 

8/17 - Chas Salmen - Healthcare in Kenya

Chas Salmen, an Oxford medical anthropologist, argued that it’s a problem to see AIDS prevention as separate from AIDS treatment because the two reinforce each other through the social phenomenon (ie, if the wage earner in a family gets AIDS, his daughter might go into prostitution to make money for the family).

 

In Kenya, AIDS is such a problem because colonial British introduced Nile Perch into Lake Victoria.  This brought workers from all over to fish there because Nile Perch flourished by killing most of the native species.  Those workers were poor because international corporations made most of the money.  The influx of poor workers and reduction in existing social structures and jobs led to AIDS. 

 

One of Chas’ solutions was to create an internet cafe (the island in Lake Victoria doesn’t have much internet), the Ekialo Kiona Center.  To use the cafe, you have to get tested for AIDS.  This removes the stigma associated with getting tested.  You can say “Of course I don’t have AIDS -- I’m just getting tested to get free internet!”  In addition to dramatically increasing the number of people who know their HIV status, this has helped the local economy.

 

More information about his organization and research is at http://organichealthresponse.org/about

 

8/18 - Frederic Luskin - Managing Stress and Creating Happiness

Happiness is wanting what you have.  Stress is wanting what you don’t have.  Camus: “Happiness is the simple harmony between a [person] and the life they lead.”

 

Saying nice things makes you happy.  Appreciating the good work you do makes you happy (you might still be productive otherwise, but still be unhappy).  Helping others and caring about others makes you happy.  Going into a day with the intention of being happy makes you happy.

 

Stress is bad for relationships and health.  Breathing deeply into your belly for 10 seconds relieves stress.  Breathing deeply for less than 10 seconds doesn’t relieve stress much.  Having a manageable stress and focusing on one thing at a time helps with stress.  Reframing stressful things as challenges also reduces stress.

 

We’re bad at knowing what makes us happy.  Wanting the things that you have right now will make you happy.  Things that won’t make you happy: money, intelligence, kids, attractiveness, a “good” job.  That is, if you have those things and you also happen to appreciate that you have them, then you will be happy, but if you want those things and pursue them in order to get happy later, you’re doing it wrong.

 

Apparently, Luskin is a professor at Stanford, and he teaches a very well-known class that I was planning on taking.

 

8/19 - Penn Jillette - God No!

“God No!” is Penn Jillette’s version of the Ten Commandments for atheists.  He thinks that many people are atheist because if God asked them to kill their child, they wouldn’t.  He thinks that “agnostic” was created as a weasel word because Darwin’s friends didn’t want him to call himself an atheist.  It is also completely different from the question of atheism versus religion: “Do you know with certainty that there is or is not a God?” is a different question from “Do you behave as if God exists?”

 

Much of the talk was just funny.  Apparently, he isn’t a famous performer for nothing.  In addition to his own performance, he also recommended Mac King’s and the restaurant Lotus of Siam.

 

The talk is online at http://www.youtube.com/watch?v=AUV3QRJm8XY

 

8/22 - George Chamales - Defending Crisis Maps

The impact of security risks in crisis response is high: an offline site can mean lives lost, a user privacy compromise can mean arrest, and a compromised deployment can mean crisis response efforts are abandoned.  Security is hard because most crisis response technologies are run by individuals or small organizations rather than international organizations or militaries, which makes it easy for one person to compromise the whole system. 

 

The slides are available at http://roguegenius.com/crisis-mapping-security_chamales_20110822.pdf

 

8/25 - Kristen Marhaven - Science to the Masses

Science is a product, not a news item.  It takes a long time to create, it helps people, and old science is useful.  Thus, we should organize it by relevance (not be date or by number of citations).  This is important because without a good way to find organized, human-readable, relevant science, science gets harder for scientists, policymakers and their constituents can’t figure out what’s going on, good science is discredited, and artificial controversy is created.  We can fix this by adding crowdsourcing or social relevance to science and by adding in different types of information to the information such as pictures, graphs, or relevant policy analysis.  PLoS and others are trying to make it work already!

 

8/29 - Rob Reich - Wealth Distribution

The economic crisis happened because wages stagnated.  Women entered the workforce and both parents worked overtime, but that wasn’t enough to maintain the same spending levels, so they took on debt. 

 

Economic growth went into the hands of the rich, whose share of GDP changed from 11% to 23.5%.  This is the same as what happened before the great depression, and it has been happening since the 1980s.  Wealth concentration happened because automation and globalization removed the demand for repetitive manufacturing jobs (which are very scalable) and replaced them with knowledge and innovation based jobs.

 

Consumers can’t spend because they can’t borrow.  Companies won’t spend to create jobs because consumers aren’t buying (so companies have $2 billion in cash that is unspent).  We can’t use exports because we’re a net importer.  Thus, the government has to stimulate the economy.

 

His book is "Aftershock."  The talk is at http://www.youtube.com/watch?v=KIxXZa5Fwzc

 

8/30 - Tim Harvey - Stretching for Self Care

Chronic pain comes because muscles are denied oxygen due to repairing microtears by reinforcing muscles and by using lymph to surround muscles.  Static stretching (holding a stretch for longer than 2 seconds) makes more tears, which is bad.  Dynamic stretching is good because it increases circulation.  This is especially good within 30 minutes of doing a workout.  Friction is also good because it creates static electricity which clears out the lymph.

 

The talk should soon be available through Health@Google.