2010-12 Verbose Letter

In Short

The internet barely works by magic.  I learned that I’m mostly not human (and that’s not to say that I’m mostly a monkey, either!).  Teachers: read the section on CS199 and on Sal Khan.  There, I discuss the future of education.  Also, anyone who has had trouble with any math or science subject should check out Sal Khan's videos at khanacademy.org.  I also learned how to make my own DNA without relying on messy, costly procedures like cell division, and I learned about several ways that the world might explode, literally or figuratively.

 

Hackathon let me get in touch with my feelings about leadership and tape (the red kind).  Coaching debate just got me in touch with red tape.  QSA made me think about activism and cooperation (which holds people together like tape and is just as painful to get rid of).  As a CS section leader, I made autograders (which can break students' programs if they're only held together with tape), and it was an incredibly rewarding experience.

 

I heard some interesting statements from talks this quarter.

Dalai Lama to the world: "I'd rather be sleeping"

Professor Dean Spade to Law students: "You have a lot to unlearn if you want to help people"

Kasparov to me: "Oh my god, you're riding a Segway?  I'll let you beat me in chess if you let me ride!"  This was before he discovered that a Segway is a magic carpet that you stop by sticking your butt out.

Sal Khan to Lady Gaga: "Yes, my videos do get more hits than yours.  Can anyone translate them?  Please!"

Professor Robert Putnam to Muslims: "Americans are religiously tolerant.  Trust me!"

 

I got a Union Built laptop and discovered that it costs more for Apple to make a laptop in a sweatshop than it costs a union to make a better laptop in Detroit. 

 

I got a time machine made by Google called the Samsung Vibrant.  It lets me be productive nonstop and has facilitated me reading three books during fall quarter, which is roughly three times as many as I read in the previous year. 

 

I was mistaken for a Law student and a Med student.  I witnessed Sara Bareilles swear.  I think that Zuckerberg is nicer than "The Social Network" makes him seem: while it may be true that "You don't get to 500 million friends without making a few enemies," Zuckerberg, like most normal people, has fewer than 1000 friends on Facebook.

 

"Fast Times at Fairmont High" is about a world with more internet and fewer cell phones.  Even though that world isn't real, Vernor Vinge thinks that the computers make it less real.  I think that someone who is superficial on a computer is superficial off of a computer and that someone with character off of a computer will also show that character on a computer.

 

"Cat's Cradle" is Kurt Vonnegut's answer to the questions, "What if we could mess up the world worse than we can with nukes?" and "What would a religion that didn't believe in itself look like?"

 

"The Fall" is about an imperfect person.  I don't know what Camus was trying to get at.

 

"Snow Crash" is about the current state of the world and nuclear powered railgun fights.  The kicker: the world was inspired by him instead of him being inspired by the world.  The main exception is that mind viruses predated his novel.  The dystopic internet monopoly is definitely happening, though. 

 

I decided that video games are just as much cultural elements as books and movies, so I'll start writing about them.  See Soren Johnson's lecture from one of my frosh year verbose letters for a description of the impact that games can have.  "The Witcher" is a video game with a rich setting but not very much character development.  It posits a world where monster hunters that once held back chaos are now discovering the moral ambiguity within the world since there are good monsters and evil humans. 

 

Since this letter is so late, I will refrain from talking about winter quarter in the future tense too much.

 

Some pictures are at https://picasaweb.google.com/meviin/2010Fall#

 


 

Contents

In Short 1

Contents. 3

Classes. 5

Schedule. 5

The Schedule that Wasn't 6

CS144 - Networking. 6

My opinions on the class. 6

The 7 Layer Model 7

The Application, Presentation, and Session Layers. 7

The Transport Layer: 8

TCP/UDP. 8

Ports. 8

End to End Principle. 9

The Network Layer 9

Narrow Waist 9

ICMP. 9

IP and IP Addresses. 10

IPv6. 10

NATs. 11

Capitalism.. 11

The Data Link and Physical Layers. 12

Security. 12

Privacy. 12

Integrity. 13

Reliability. 14

Other Complicated Attacks. 15

The Bottom Line. 16

Web Standards. 16

CS374 - Biocomputation. 17

Course Structure. 17

Biological Data. 17

Cool New Things. 17

Bio + Computation = Biocomputation: What's Hard?. 19

Technology Keeps Moving. 20

What Do I Want To Do With Biocomputation?. 21

CS199 - Prep for CS1U (Teaching a Class on Linux) 22

The Motivation. 22

Pedagogy: Why Teach an Online Course?. 23

Online Course: Infrastructure. 24

Start to Finish on Making a Video + Reasons Why Powerpoint is Bad. 25

Working with Josh. 26

Work Done and Work To Be Done. 26

BIO41 - Genetics, Biochemistry, and Molecular Biology. 26

MS&E193 - Technology and National Security. 27

Course Outline + Beginning. 27

Nukes. 28

Assorted Topics. 29

Energy. 29

Finals. 30

Extracurriculars / Work. 31

Dance Marathon Hackathon. 31

Coaching Debate at Paly. 32

Queer Straight Alliance. 33

Queer Coalition: Good Job, ASSU! 33

National Coming Out Day 10/11. 33

Collaboration. 33

Activists Mixer 11/13. 33

The Mixer 33

Whither Cooperation?. 33

What Activism Means to Me. 34

Movie Nights. 35

CS198: Section Leading. 35

Project Motivation. 35

Nuclear Risk. 35

Speakers / Academic Events. 36

Extraordinaries / Spark Talk 9/28. 36

Counsyl Bioinformatics Talk 10/7. 36

Counsyl 36

Dalai Lama 10/14. 36

Shaking the Foundations - Dean Spade 10/15. 37

10/16. 38

Talk by Venezuela Student Democracy Leader 10/19. 39

Mozilla Tech Talk 10/25. 39

Kasparov!  On a Segway! 11/1. 39

Getting the Segway + Ticket 39

Segways. 40

Kasparov. 41

Queering Vegan Dinner 11/4. 42

Biocomputation Conference 11/6. 43

Sal Khan of the Khan Academy 11/10. 43

Robert Putnam + Religion 11/16. 44

Before School 45

Brief Time Home. 45

Smartphone. 45

Why Now?. 45

What Model?. 45

How Is It?. 46

Things I Don’t Like. 48

Going Back East 9/2. 48

Getting Back to Stanford. 50

Arts + Culture. 50

Events. 50

Toy Story 2 at Flicks 9/18. 50

Sara Bareilles Concert 9/19. 50

Waiting for Superman 10/8. 51

Social Network + Pizookie + Privacy 10/16. 52

Café Night 10/29. 53

Lysistrata 11/18. 53

Harry Potter 7 (Part 1) 11/18. 53

Gaieties 11/19. 54

Books. 54

"Fast Times at Fairmont High" by Vernor Vinge. 54

"Cat's Cradle" by Kurt Vonnegut 55

"The Fall" by Camus. 56

"Snow Crash" by Neal Stephenson. 56

Motivation. 56

Setting. 57

Reception. 57

Culture. 59

The Witcher 59

Life. 61

Tech: A New Laptop. 61

The Need for a Laptop. 61

The Laptop. 61

Antagony + Selfishness. 62

New Software. 62

Thanksgiving. 63

Knowledge and Culture. 64

Looking Forward. 64

 

 


 

Classes

Schedule

Bio41: MWF 11-12:15

Bio Section: Tu 3:15-405

CS106A: MWF 3:15-4:05

CS106A Section: Th 11-12

CS106 Monday Meeting: M 4:15-6:05

CS106A YEAH Hours: Tu/Th 3:15-4:05

CS144: TuTh 4:15-5:30

CS199: W 5:15-6:05

CS374: TuTh 12:50-2:05

MS&E193: MW 4:15-6:05

Debate Coaching: TuTh 7-9

QSA Meeting: W 8-9

The Schedule that Wasn't

Before the term, I was planning on taking FEMST101, Intro to Feminist Studies.  A day or so before classes started, someone mentioned that Estelle Freedman, the professor that made me want to take the class, wasn't teaching it.  So much for that.

 

I was also hoping to take CS106L, a class that is taught by a friend, goes along with CS106B (which I took winter two years ago), and teaches the C++ Standard Library.  However, that conflicted with another class that I was taking.  CS273A, A Computational Tour of the Human Genome, and CS142, Intro to Web Application Programming, also conflicted.  It's like when you see 4 gas stations on one corner and then run dry in the middle of nowhere on the bus ride back from the Berkeley debate tournament except it involves time instead of hydrocarbons.

 

Then, one of my friends decided to take EARTHSYS101, Intro to Earth Systems.  I tried that out for a week.  It was a pretty cool class, and I want to take it next year.  But I got an email about a class on teaching online classes, and since I'm going to be doing that, I decided to pick it up. 

 

CS144 - Networking

Before taking CS144, I thought that the internet transferred data from point A to point B by using magic.

 

After taking CS144, I know that the internet is barely able to transfer data from point A to point B (usually, hopefully, mostly) by using really complicated magic.  The class would always talk about potential ways that the internet might break (or has broken), and one of my favorite quotes from the class was, "the internet will always barely work."  In other words, the internet is important enough that people will always make sure that it works, but it's important enough that people will always push it to its limits such that it's always a hair away from breaking. 

 

My opinions on the class

The class was hard, and it had some quirks, but overall it was very good. 

 

One thing that was quirky was the late policy. In most CS classes at Stanford, you get a few free late days, where a late day is an extension that you don't have to ask for.  In CS144, the late policy was that you could turn in an assignment on Saturday rather than Thursday, but your grade would be capped at 90% (in other words, if you get a 100%, you get a 90%, but if you get an 80%, you get an 80%).  However, out of 5 assignments, #2 built off of #1, and #5 built off of #3, so your grade for the earlier assignment was the max of your earlier grade and your later grade.  This means that if you get a 0 on assignment 1 and a 100% on assignment 2, you get a 100% on assignment 1.  I happened to be extremely busy during the weeks that assignments 1 and 3 were due, so I didn't quite turn them in on time, and I was very thankful for the maxing policy. 

 

The assignments were time consuming (though less so than CS107).  A large part of it was that we were implementing parts of real network specifications, so we had to account for a lot of edge cases.  I think that I learned a lot from them about how networks are actually implemented.   You know how tax code is extremely dense and not accessible for most people, but the programmers at Intuit had to understand it to write TurboTax?  Imagine that, except instead of understanding the regulations on how much money you have to give to your school and police and such, you need to learn what the electrons have to look like to prevent everything from exploding.

 

The midterm and final were hard but fair.  They made me think about the concepts in the class.

 

I ended up with an A-.  I could have gotten an A if I had either spent a little extra time on assignment 5 (which counted for my assignment 3 grade too) or if I trusted my instincts on the final. Oh well, I'm satisfied with what I learned in the class.

 

The 7 Layer Model

The conceptual model for the internet is the 7 layer model.  I discussed layering in my spring 2010 verbose letter in the section on CS110.  Basically, layering says that we have a really big complex system, and we want innovation, which means that we want the schematic to be generic enough that if I invent something new and cool, I can swap out one part in someone else's network and put my part in, and everything will work.  In networking, the idea is that anyone can implement one of the 7 layers, and if you swap in your implementation of that layer, everything will work.  Each layer operates independently of the other layers.  Well, in theory. 

 

There's a YouTube video of a "nerdcore" rapper in front of Stanford's CS building.  He says, "You thought the seven layer model referred to a burrito."  The layers: Application, Presentation, Session, Transport, Network, Data Link, Physical.  Mmmmm.  Delicious, delicious transport.

 

The Application, Presentation, and Session Layers

The Application layer is the easiest to think about.  When you open up Google Chrome or Skype, you are opening an application that uses the internet.  As far as the application layer is concerned, it sends and receives data between point A and point B, and it doesn't care about how the data gets there.  The application layer exchanges data between applications.

 

We didn't really focus on the Presentation layer, but it basically converts the application's data into a format that the network likes.  We also didn't focus on the Session layer, which keeps track of different connections between two different networked computers.  We didn't focus on these because the internet cares more about the TCP/IP model, which lumps these two layers into the Application layer and Transport layer, where a "port" represents a session.

 

The Transport Layer:

TCP/UDP

The Transport layer takes in a stream of data to send or receive (for instance, your web browser would ask for the webpage google.com, and google.com would respond with its webpage), and it makes sure that the data gets from point A to point B.  There are two main Transport protocols: TCP and UDP. 

 

TCP is reliable.  If you tell it to get something from point A to point B, it will travel the distance.  If it doesn't, it will try again.  If it comes out of order, TCP will reorder the message.  This makes it a little bit slow and complicated, but it's good if you want to be sure you get everything (ie, transferring files over the internet). 

 

UDP is best effort.  If you lose part of the message, it's no big deal.  It will try to get everything right, but it won't do any reordering or resending.  UDP is good for things like Voice Over IP (Skype) or streaming movies.  Which would you rather have in a movie, a one second delay while TCP asks the other side to resend everything because it missed one frame, or one frame missed?  Since there are probably 30 frames every second, you wouldn't miss one frame, but you would notice a delay. 

 

For instance, imagine you were watching the Superbowl over an unreliable internet connection.  If everything stops for a few seconds and then you see all of the players dashing around as if they weren't encumbered by many pounds of Kevlar armor before going back to normal speed, then it's using TCP; if everything stops and then it just resumes at the time of the current (live) game, then it's using UDP.

 

Ports

TCP and UDP have "ports."  A port identifies one connection between two computers.  It doesn't identify the computers themselves -- we need the network layer's IP addresses to do that -- but it identifies connections.  Let's say that computer A and computer B (where A and B are identified by IP addresses in the network layer) want to have a conversation.  Then, A and B would open a port for each other.  When A sends data out on that port, it will go to B, and when B sends data on its port, it will go to A. 

 

Those ports don't have to be the same.  For instance, the HTTP port, which your web browser uses when you're browsing normal websites, is port 80.  If I want to have 3 conversations with Google (one where I'm doing a search, one where I'm getting my news on Google Reader, and one where I'm checking my Google Calendar), all of them could (conceptually, though probably not in reality) go to the same computer (computer B; google.com).  All of them would use the same destination TCP port, the HTTP port, port 80.  However, because my computer needs to keep track of those different conversations, my computer would use 3 different source ports.  That way, my web browser can display my search results on one page and my calendar on another page, and the data doesn't get mixed up between the two.  That means that when Google replies, its source port will be port 80 for all of those three connections, but its destination port will be different for each connection.

 

End to End Principle

TCP and UDP will be running on the end computers.  If there's a connection between me and Google, that connection might go through a dozen computers in between, but they don't have to worry about TCP or UDP or error correction or packet reordering.  This layer, like the application layer, runs on the end points, not in the middle.

 

UDP and TCP both also have some error correction in the form of a checksum.  That means that if any of the lower layers mess something up, the Transport layer won't pass the error on to the application.  If I'm writing an application that uses the internet, I don't have to worry about errors: the Transport layer takes care of them for me. 

 

This is an example of the "end to end principle" (which applies to much more than just TCP/UDP): the "middle" should be dumb, and the "ends" should be smart and take care of the error correction.  The network is in the middle and deals with getting stuff from point A to point B.  A and B worry about all of the errors in the message.  This is a good system because you can't always trust the middle to deal with errors: what if a router in the middle is the cause of the error?  Or what if I get an email from a Nigerian prince that needs my bank account to transfer me $1,000,000: should I trust my spam filter to only give me legitimate offers of $1,000,000 (if only...), or should I, the person at the end, do the error checking myself?

 

There would be more than 3 Transport protocols if not for NATs because NATs violate the end to end principle and layering (which I'll discuss later).

 

The Network Layer

Narrow Waist

The "narrow waist" of the internet doesn't refer to how the internet would bring me a pair of jeans that fits (alas, even the internet lacks that power). 

 

There are two main Network Layer protocols: IP and ICMP.  The network layer is referred to as the "narrow waist" of the 7 layer model's "hourglass" because of this.  In other words, there are tons of applications (everything on your computer that uses the internet) and tons of different data links (every different variety of Ethernet, wifi, cell phone internet from Sprint or Verizon, cell phone internet from AT&T or T Mobile or the rest of the world, dial up modems, Bluetooth, infrared, etc), but there's only one internet protocol.  This makes it easier on the other layers because they only have to deal with one network layer.

 

In practice, the Transport Layer is also narrow because of NATs. 

 

ICMP

ICMP is used to send error messages.  When I have a TCP connection that can't go through, the other side (or the first person between me and the other side that detects that it can't go any further) will send an ICMP error message.  ICMP is also used to "ping" someone -- a ping is a small message that basically asks, "are you there?"  The most basic thing that you can do to test out if your internet is working is a ping.  If you can ping google.com or ping 8.8.8.8 (the IP address of Google Public DNS), then your internet is working.

 

Because of the end to end principle, ICMP errors are meant for issues that happen in the network that the ends don't worry about.  For instance, if the path from me to Google is Me -> D -> E -> F -> Google, and a ninja cuts the wire connecting E to F, E needs to tell D that it can't pass the message along. 

 

IP and IP Addresses

IP ("Internet Protocol") is where all the fun is.  Every internet-connected device has an IP address.  Your IP address uniquely identifies your computer to other computers.  That means that no two computers have the same IP address (unless one of them is lying).  The "names" that you see for websites (ie, google.com) are just easy to remember mappings on top of IP addresses (ie, 74.125.127.99).  Thus, if you put in an IP address into the address bar of your internet browser, you would connect to that website.  Your computer knows how to figure out the IP address of a name using a DNS server (domain name server).

 

There are 32 bits allocated for the IP address, which means that there can be up to 4 billion IP addresses.  "But wait," you're surely asking, "that's not even enough for every person to have an IP address!  And google.com, along with every other server online, must have thousands of IP addresses even though they aren't people!  That doesn't leave very many IP addresses for my smartphone, laptop, and desktop to all be connected to the internet at the same time!"  Your concern has merit, even if you are a little overexcited with that many exclamation points!  Unallocated IP addresses will run out in 2011.  There are a few solutions, though, so you won't ever have to care about it unless you want to.

 

IPv6

One solution is IPv6.  IPv6 has a 64 bit of IP address.  64 bits means that if we allocated 4 billion IP addresses every second that the Earth has existed, we would still have a few left over now.  In other words, we won't have to worry about running out.  It will also pave the way for the "internet of things": if every "thing" like a light switch has an IP address, then I could turn on the lights from any computer connected to the internet. 

 

Why hasn't everyone clambered onto the IPv6 bandwagon?  It's a different protocol from IPv4.  The great thing about the internet is that there are no barriers to using it, which means that if I wanted to make a protocol to forward internet traffic using Pony Express, I could; never mind the latency.  To change from IPv4 to IPv6, I would need to make sure that the Pony Express knew how to forward IPv6 packets, or else they wouldn't be able to do their jobs.  Practically speaking, this means that a server (ie, google.com), a personal computer operating system (ie, Windows, Linux, Mac), a router, and all of the big network infrastructure that takes internet traffic between your computer and the rest of the internet would need to be upgraded to support IPv6.  The bad news?  This means that a lot of people are dragging their feet.  The good news?  Consumer stuff already supports IPv6, including all major operating systems (Linux for years and years; Windows since XP SP1; Mac since 10.3).  Google and Facebook have IPv6 sites.  The problem is just that there are a bunch of servers, routers, and internet devices out there, so updating all of them is hard.

 

NATs

Another solution is NATs.  A NAT is a Network Address Translator.  Implementing a NAT was the last assignment in CS144.  It felt dirty.  Remember how layers aren't supposed to mess with each other?  Well, the NAT solution to a lack of IP addresses in the Network layer is to use extra space in the Transport layer.  TCP and UDP packets have "ports," and one "connection" (ie, if I'm going to google.com, I will make a new connection) will have an IP address and a port.  If Google has two connections to the same computer that use different ports, it will treat them as independent from one another.  Thus, if there were two computers that had the same IP address but agreed not to use the same ports at the same time, they could share that one IP address. 

 

A NAT is this sharing policy.  It is completely transparent to your computer and to the other computer you're talking to because the router that gives your computer internet deals with the policy.  The NAT gives you a local IP address, and other computers can't talk to that local address.  When you want to talk to another computer, it rewrites your IP packet to have a different IP address (the one that you're sharing), and it changes the port number.  Then, when it gets a reply to the rewritten IP address and port number, it rewrites the reply to look like it's to the local IP address and port number and then gives it to you. 

 

This feels dirty because it violates layering.  Interestingly enough, making the NAT gave me a much deeper understanding of the separation of layers.  The problem is if someone wants to implement a new Transport layer protocol, it won't work unless NATs support it.  Thus, we probably won't get any Transport protocols other than TCP and UDP, which is a shame.  It also means that anything that relies on the IP address or port number on the user's computer being the same as the IP address or port number on the server's computer won't work (this isn't too big of a problem).  A more significant problem is peer-to-peer applications (ie, Skype, which connects two peers together so that they can talk).  NATs let you initiate connections to other computers, but they don't let other computers initiate connections to you: what happens when two peers, both behind NATs, need to talk to each other?  There are ways, but they have complicated names like "hole punching," "hair pinning," and "simultaneous active open," and they often involve using another computer (in Skype, they're called SuperNodes) as a rendezvous point.    I was disappointed to learn that they didn't involve taking an actual hole puncher to the NAT.

 

Capitalism

The last solution is capitalism.  Economics deals with scare resources, so if we treat IP addresses like any other scarce resource, things should sort of work out.  If people (or, specifically, companies) trade IP addresses, then they can mostly go where they're needed.

 

This also plays a part in the transition from IPv4 to IPv6.  IPv4 addresses won't completely go away.  They'll just become more expensive.  People will probably have the option to get an IPv4 address even after they "run out," but because there are functionally infinite IPv6 addresses and finite IPv4 addresses, people will probably opt for the cheaper IPv6 addresses.

 

The Data Link and Physical Layers

The Data Link layer takes a stream of data from the Network layer, rearranges it a bit, and then passes it down to the Physical layer to turn into electrical signal to transmit.  The job of the Data Link layer is to do error detection and correction.  Since the only place that errors should happen is the physical layer (unless there's an error in the router itself, the only time an error would happen is if there is interference of some sort at the physical layer) and since we don't want one error in the physical layer (ie, one 1 turns into a 0) to mess up a whole "packet" (a short message consisting of a few dozen to a tens of thousands of 1s and 0s), we can do some error detection.  We can also "code" some redundancy into the message so that we can recover from a few errors. 

 

The Physical layer is how data is transmitted in the physical world.  Conceptually, electrical signal on the wire means a 1, and no electrical signal means a 0.  How can I tell apart a 0 from the other side not telling me anything, and how can I ensure that I'm hearing the thing that the other side is saying?  Use codes!  Thus, signal - no signal - signal might mean a 1 and signal - no signal - no signal might mean a 0 (except the code would be more complicated so that it's more efficient). 

 

What about wireless?  It's more complicated because there's more interference over the air than over a wire, but there's also more freedom to try cool things like using different frequencies.  It's also harder because you can't speak and listen at the same time (like on a walkie talkie) because if you transmit over one frequency, the only thing that you'll hear is your own transmission (sound gets a lot quieter over distance, which means that you have to speak loudly and listen for faint noise).  It's an even harder problem than patting your head and rubbing your belly at the same time.  Some folks in one of my professor's lab made a recent breakthrough that allows Duplex wireless -- speaking and listening at the same time -- which means that you might see wireless getting better in a few years. 

 

Security

My parents taught me to never trust anything or anyone on the internet.  Well, that's how networking people think too!  From the perspective of someone who works in network security, your computer is safe (security on that level is the job of the operating system and the user, not the network), but everyone on the internet is a malicious hacker that wants to get your password and give you fake websites. 

 

There are three concerns: privacy, integrity, and reliability. 

 

Privacy

When I tell someone my deepest, darkest secrets, can the CIA or the Chinese government see it?  What about when I input my credit card number?  A successful privacy policy will mean that the answer is "no," though I hear that in Soviet Russia, your credit card number inputs you (or did I have that one confused with America?).

 

We assume that when we send our credit card number over the network to amazon.com, everyone in the world can see what we're transmitting.  Thus, we need to make sure that we don't transmit our credit card number in a format that anyone aside from amazon.com can read.  This is called "encryption." 

 

Private key encryption is easiest to think about: generate some random data that only you and amazon.com have access to.  Then, change every number based on that random data.  amazon.com has the same random data, so they can reverse the changes.  The problem?  You and amazon.com would have to have the same random data, and since the network is insecure, there is no way to get them the same random data without someone else having access to it unless you happen to live in the Pacific Northwest and have the ability to drive up to Amazon and give them a key.

 

Public key encryption is what is used in practice.  There are two keys.  One key is the opposite of the other.  If I have the "public" key, I can create a message that other people with the public key can't read.  Only someone with the "private" key can read it.  Thus, amazon.com tells me (and everyone else) their public key, so everyone can make messages that only amazon.com can read. 

 

The only problem with public key cryptography is that you need to get the public key from somewhere, and that is potentially insecure -- it's still all about trust, and you can't trust any information that comes from the internet.  What if a hacker says, "I have amazon.com's public key!" -- then you would encrypt your message in a format that the hacker could read because they know the private key that goes along with the fake public key.  In other words, if you can't trust the public key, it doesn't do you any good.  The solution is to distribute the public key of "certificate authorities" (the people who tell you everyone else's public key) with the web browser.  If Google Chrome or Firefox knows the public key for Verisign (a big certificate authority), then you can trust that your communication with Verisign is secure.  Then, Verisign will give you the public key for amazon.com when you ask them, and your communication with amazon.com is trusted (I don't think that Verisign is actually the certificate authority for Amazon).  

 

Integrity

Is the message that I got the one that the other side meant to send?  How do I know that the reply from amazon.com really came from them?  Can't they just use a really strong box and trust that it will get to the other side, or does the tube-like nature of the internet prevent methods of integrity used in trucks from working?

 

Public key cryptography comes to the rescue again.  Remember how only someone with the private key can read a message generated using a public key?  The opposite holds, too.  If I encrypt something using the private key, then only the public key will decrypt it.  This means that if I decrypt a message that I think is from amazon.com and I use amazon.com's public key, the message won't make sense unless it was encrypted using amazon.com's private key.  This is called "signing" a message.  Signing can be combined with encryption (amazon.com would send me a message using my public key and amazon.com's private key, and I would decrypt it using amazon.com's public key to make sure that they signed it and with my private key to get the encrypted message). 

 

But wait: what if we signed the message "charge my credit card $1" -- is that good enough?  What if some malicious hacker makes a copy of the message?  They wouldn't be able to modify the message and have it make sense because they don't know the private key.  But they can send the same message again.  This is called a "replay attack."  If a hacker "replays" the message "charge me credit card $1" 100 times, then your credit card will be charged $100.  Thus, we need to add "nonces" (Number Once) or timestamps to the message.  For instance, if I sent the message "charge my credit card $1 #1" and it gets replayed 100 times, the latter 99 times won't result in a charge because the other side will say "oh, this request is #1, which I've already heard.  I can just throw out this message."

 

Reliability

Reliability attacks are called "denial of service" attacks.  Imagine if a million people started calling your phone number at all hours.  You probably wouldn't be able to sleep or function if you left your phone on, but even if you did, you wouldn't be able to answer me when I called you because you couldn't filter out all of the fake ones from the real ones without physically answering each one, which would take all of your time.  Then, how will I get my ride from the airport?

 

Let's say that you have caller ID (ie, you have a cell phone, and all of your friends are entered into it).  Then, you can immediately reject every call that you aren't expecting.  You still have to take the time to look at your phone and press the "reject call" button, though, which isn't manageable if there are millions of callers.

 

So what's a solution?  Either get a secretary or get your cell phone network to reject calls for you.  The issue is similar for computers. 

 

"Getting a secretary" means that you're too big to take down.  For instance, I doubt that anyone could launch a successful DoS attack on Google or Amazon because they have enough computers to withstand any onslaught. 

 

"Getting your cell phone network to reject calls for you" means enlisting the help of someone bigger than you.  Usually, you can get the person who's running your server to install a firewall to help you out.  However, that's just passing the problem off to someone else, and if they aren't big enough, they could be taken down. 

 

"Using caller ID" means reducing the amount of time it takes to tell that a request is fake.  For instance, you might notice that occasionally, when you do a Google search, there's a page that says that your search hasn't been processed because it looks similar to searches done by "bots," or computer programs that hackers use to act like people for their own nefarious ends (or their own benevolent ends).  In other words, if Google thinks that a request is fake, it won't process it.  This saves them some time.

 

Caller ID alone won't work because you still have to figure out that it's fake, which takes time.  It takes a lot less time than actually answering the call, but if you have millions of fake requests coming in, you still won't be able to handle it. 

 

The way that Denial of Service attacks work is through amplification.  One person's computer might be able to take a weak server offline, but it wouldn't work for any big server.  Thus, when people do things like take down Microsoft Update, they need more than just their own computer. 

 

You can get a bunch of computers.  This probably means infecting computers and creating a "bot net" and using those infected computers to attack for you. 

 

You can make requests that take a long time to answer.  For instance, when you send something that's encrypted, the server has to take a long time decrypting it before doing anything else. 

 

You can make other people make requests that take time to answer.  For instance, if I lie and say that my computer is microsoft.com, and I talk to another computer, that computer will send its replies to microsoft.com, and Microsoft will have to deal with the replies.

 

Other Complicated Attacks

What if a hacker impersonates your DNS server?  They can tell you that "google.com" is at the IP address 6.6.6.6 rather than 74.125.127.99.  Then, even if the user went to a legitimate URL ("google.com" is a URL), they might be talking to a hacker rather than Google, and they can intercept all of your internet traffic, and they can change it before passing it on to the real server (if they want to pass it on). 

 

You know how when you try to log in to a public wifi hotspot, you might get redirected to a page that makes you say "I agree to use this network responsibly" (or, if you're at a hotel or airport, it might ask you to pay for internet service).  What if the hacker impersonates your router?  Many routers allocate IP addresses dynamically using DHCP.  That means that I might have a different IP address today than I did yesterday.  I get my IP from the router's DHCP server every time.  If a hacker listens for my DHCP request to the router and they can respond before the router, then they can make sure that all of my traffic goes through them, and they can change it before passing it on to the server (if they want to pass it on).  Alternately, they could just imitate the hotel's webpage asking you to pay to get internet service, and use that to get credit card numbers.  At some level, though, it's extortion either way.

 

What if a hacker can't get in between you and the internet, but they can still listen to what you're saying?  FireSheep is an example of an attack that exploits this.  At many websites, anything "important" like entering your password is encrypted and anything "unimportant" like going around the website is unencrypted (because their computers have to spend time unencrypting stuff if you send them something encrypted).  How does a server tell that you're logged in?  Probably by using a "cookie," a small piece of information stored on your computer that says "trust me -- I'm logged in!"  If you're going to unencrypted websites, this cookie is probably not encrypted.  FireSheep is a Firefox plugin that listens to all of the unencrypted wifi traffic around you, and takes the cookies.  This means that if someone else goes to Facebook over wifi, someone with FireSheep can impersonate them by using their cookie. 

 

FireSheep wasn't the first one to exploit this.  FireSheep just made it extremely easy for non-programmers to perform the exploit.  I believe that after FireSheep came out, Google was quick to make a fix, but many other big players (ie, Facebook) didn't do much of anything (yet).

 

What if a hacker can trick your router?  In the internet, there isn't a direct path between my computer and google.com.  It probably has to go through 5-20 "hops" (ie, my computer to another computer to another computer 5 to 20 times) to get there (with a maximum of 64 hops).  My computer doesn't know all of the hops that it will have to take.  It needs to figure it out how to get there using intra domain routing protocols and inter domain routing protocols.  Those protocols (like BGP and RIP) don't have much security.

 

When Iran tried to block YouTube, they did it by saying "I know of a really fast way to get to YouTube: go through me!"  Because these protocols are configured to prefer fast routes, everyone would say "Oh, well I already know one way to get to YouTube, but Iran's route is much faster -- I'll go through them!"  Thus, even outside of Iran (everyone in the world, pretty much), all of people's YouTube traffic was going through Iran, which meant that it was going nowhere.  Eventually, Iran put in the legwork to censor it without messing up the rest of the world.

 

The Bottom Line

If you want something to be secure, make sure that the website is encrypted.  There should be "https" in the address bar.  Recent web browsers will also display some sort of padlock, or a nice and safe color like blue or green when you're using a secure website.  Don't do anything that you don't want people to watch on non-encrypted (non-https) websites.  Keep in mind, though, that some parts of a website might be secure and some might not be.  For instance, the website where you put in your password on Facebook isn't https, but the form where you put your password in is encrypted.  With any financial institution like the PayPal or the payment part of Amazon or your bank, the whole page should be encrypted.  

 

Web Standards

The internet is open.  That means that anyone can do anything over it.  If I wanted to make my own internet protocol, I could do it.  I might be the only person using that protocol, but I could still do it (remember Internet over Pony Express Protocol discussed above?).  Whenever anyone, whether they're an individual or a corporation or a decision making body, does something over the internet, they're doing what they want to do.  There isn't any real regulatory body that will give you a slap on the wrist if you don't follow the protocol. 

 

This means that the internet works by consensus.  Big academics and corporations and governments will get together and talk about how to solve a problem with the internet, and they'll agree on a solution.  If they don't all agree, then the dissenters don't have to use the solution, which means that the solution won't work very well, so you really need consensus.  In other words, BitTorrent and Comcast have to both agree.  That means that you really need to make a compromise (which might be inefficient or insecure or bad for consumers if some of the people at the table or obstinate... but it usually works out pretty well, so it's only a little inefficient).  That means that protocols take years and lots of hard work to get pushed through.

 

CS374 - Biocomputation

Course Structure

CS374 was a graduate biocomputation class.  That means that every class was a different student in the class presenting to the rest of the class on a biocomputation paper that they found interesting. 

 

This was my first class that was mostly grad students, and it was my first experience doing a lot of reading computer science papers.  I also signed up for a presentation a week after the term started, so I didn't have a lot of other presentations to go by or much time to spend on it.  In other words, I didn't spend much time working on homework for my other classes during the first two weeks because I needed to work on my CS374 presentation. 

 

The class was a good overview of a lot of cool new developments in biocomputation.  This is important since biocomputation is new enough that most of the field is cool new developments. 

 

Biocomputation involves doing computation with biological data to find out cool new things.  That leads to two questions: what biological data, and what cool new things?

 

Biological Data

While, depending on how you look at it, everything involving humans is biological data, biocomputation generally involves the code in DNA (long sequences of A, C, T, and G), RNA (shorter sequences of A, C, U, and G), or Proteins (even shorter sequences of amino acids).  It does not include computations involving the mating habits of small animals (or large ones!).

 

There is still a lot of variation in what types of data biocomputation people use.  What part of the protein do you want to look at: one part of particular interest, or the whole thing?  What part of DNA do you want to look at, the protein coding region (the part that says what protein to make), the regulatory region (the part that says when and how much of the protein to make), or the whole thing? 

 

Then, you still have to determine what you're comparing that data against.  You can compare two proteins to each other or two pieces of DNA to each other.  You can compare a protein to the DNA or RNA that makes it.  You can compare DNA, RNA, or proteins to things that people are more used to measuring like geographical location or healthiness.  You can also choose where you're getting the data: humans, dogs, bacteria living inside humans, food, etc.  

 

Cool New Things

One paper looked at the DNA of a bunch of Europeans and found the two "principle components" upon which it differed the most.  They plotted the people along two axes.  They got a map of Europe!  The X axis was east-west distance, and the Y axis was north-south distance!  In other words, we can tell where your ancestors were from using only your DNA. 

 

A while ago, racists said that Europeans were better than Africans because Europeans were "pure" human, whereas Africans were mixed with Neanderthals.  It turns out that the opposite is true.  Humans are very similar to one another, but in a few different spots, Europeans and Neanderthals are the same. 

 

Also, in case you hadn't heard, Humans came from Africa.  This means that Africa has the highest genetic diversity, and as you get farther from Africa, the genetic diversity decreases.  You can use this to map the times when people populated different parts of the world. 

 

On a smaller level, you can also see what different populations exist in a given country.  For instance, some people looked at genes in different regions of China.  They found that they could easily put people in rural areas into different groups (in other words, there were distinct genetic groups based on region), but they couldn't do that in cities because there's enough people having kids with people from different genetic backgrounds.

 

One group thought, "You can (efficiently) look at a bunch of diseases and one gene, or you can look at a bunch of genes and one disease" and managed to find out a lot about autoimmune diseases.  By looking at a bunch of diseases for one gene, they found out that the gene helped some diseases and hurt others, indicating that some of those diseases were "not enough protein" diseases and some were "too much protein" diseases for a given protein.  By looking at a bunch of genes for one disease, they could find which genes worked together and which genes were involved in the disease. 

 

Take that one step further, and you can help make safer, more effective pharmaceuticals.  If two diseases have similar genetic profiles (ie, the disease happens because gene X isn't producing much of protein Y), then a drug that treats one might also treat the other.  This is important because it takes a lot of work to test a drug to make sure that it's safe, so if we can use drugs that are already known to be safe, it can speed up the research phase for treating a disease.  Then, instead of only using the massive might of heart disease pharmaceuticals to yield Viagra (true story -- look it up), we can use the massive might of Viagra drugs to yield heart meds!

 

Darwin tells us that there's "natural selection" where evolution makes species who they are.  How does that work, though?  There's positive selection, where one gene is so good that it displaces all of the others (ie, the "I have xray vision, so I can give tigers cancer if they're chasing me" gene).  There's negative selection, where a gene makes individuals die out (ie, the "I smell tasty to tigers -- and not in a good way" gene).  There's also balancing selection, where homozygous dominant and homozygous recessive copies of a gene are both bad, but the heterozygous gene is good (ie, the "recessive means I'm cold porridge; dominant means I'm too-hot porridge; mixed means I'm just right" gene.  A real example is the sickle cell anemia gene: two copies of sickle cell means that your blood cells can't carry oxygen, but zero copies means that you are vulnerable to malaria). 

 

Where did the first dog come from?  Probably the middle east, which makes sense, since Mesopotamia had a lot to do with when humans started doing agriculture (ie, domesticating animals), and humans played a big part in the evolution of dogs.  Did dogs just evolve based on who had the biggest teeth?  Actually, a lot of dog evolution has to do with cognitive evolution (ie, guard dogs, sheep herders, companions), which means that we have a good population to study cognitive genetics.  What about size -- did dogs start small and evolve to be bigger, or the other way around?  There was recent positive selection for the smallness gene (ie, poodles), indicating that big dogs came first.  Also, interestingly enough, even though wolves and dogs are different, they can still interbreed, and some of the traits that humans have selected for in dogs have migrated over to wolf populations.  In other words, things that humans artificially selected for made their way into natural selection. 

 

And did you know that it isn't all in the genes?  Epigenetics is the study of chemicals that modify the functioning of your genes.  Since your genes don't change from the day you are born to the day you die, if we want to understand aging, we have to understand epigenetics.  And we finally have some new ways to study epigenetic information!

 

And did you know that you aren't mostly human, much like the sandwich that was inside my high school locker for most of the school year is no longer mostly sandwich?  There are 10 times as many bacterial cells inside you (mostly in your gut) than human cells.  Studying the bacterial environment inside humans (or in soil or in the ocean or in cow poop) is called metagenomics.  Metagenomic studies are even newer than most other biocomputation studies because we need to know about a lot of different species in a given area, and we can't see any of them with the naked eye, so it's only with new fancy gene sequencing that we can do serious metagenomic work.  Not all of the work needs fancy computers, though: one person was a biologist that studied mountain ecosystems, and they looked at some early metogenomic research and discovered that a lot of their findings from mountain ecosystems apply to the human gut.  In other words, the gut is an ecosystem like any other, and general principles about ecosystems apply to the gut just as much as anywhere else!  Metagenomics is one of the things I might be interested in researching in biocomputation.  To see the other, check out "What Do I Want To Do With Biocomptutation?"

 

There's also a lot of work to annotate the genome.  We have the genome sequenced, but that's like saying that someone ripped up an encyclopedia into pieces, and you finally have it taped together; it doesn't mean, for instance, that you are literate.  Right now, we're working to become more "literate" in the language of DNA so that we can figure out what all of our genes do and how they change depending on the circumstances.  When we have the human genome more annotated, it will be a lot easier to say, "You have X gene.  That means that you make a lot more of Y protein when you eat Z, so you shouldn't eat Z very much."

 

Bio + Computation = Biocomputation: What's Hard?

In computer science, we like to think about programs as having a "back end" and a "front end."  The front end is what the end user sees (like a map of Europe using genes).  The back end is the way that you pipe everything together to make it work.  The examples I gave above were closer to the front end, but much of the class talked about a lot of more back end things.  For instance, how do you actually sequence someone's genes?  How do you keep track of all of the data?  What algorithms do you use?  How can you efficiently store it so that you can use it quickly and store it in a small amount of space?  This is a big problem because there are 3 billion base pairs in the genome and bunches of different possible variations throughout.

 

Biocomputation is the intersection of computer science and biology.  The actual algorithms used in biocomputation all seemed pretty familiar to me -- not because I had necessarily seen them before, but because I've spent more time thinking about algorithms than I have about biology.  I could understand the actual algorithm that was being described.  It also helps that a lot of the algorithms in biocomputation are similar to ones that I learned in CS161 (introduction to algorithms) and CS274 (intro to biocomputation). 

 

The hard part in the class was that when someone is writing a biocomputation paper, they assume that the reader is an expert in biology and an expert in computer science.  There were a lot of places where I didn't understand a term of art that was being used like "DNA Barcodes."  There were also times when I didn't understand the point of an algorithm because I didn't understand the significance of a particular problem. 

 

A lot of what I got out of the class was a broad familiarity with how biology relates to computer science in biocomputation.  I have a better idea of the hard parts, the data that's out there, and the whole process between taking someone's DNA and turning it into useful data.  That's really important for me since I don't really feel like I understand something until I know the basics of every part of it (to the math majors in the audience, deriving why 1+1=2 doesn't count).  For instance, even though I understand computer science (well, as much as someone who has been exposed to it for 3 years can), I don't feel like I really understand computers because I don't understand how my computer uses electrons and turns them into the 1s and 0s that I love so dearly.  In biocomputation, I feel like I have at least a basic understand of the big picture enough that I can focus on individual parts.

 

Technology Keeps Moving

A while ago, the bottleneck in bioinformatics was getting enough of the biological data to measure it.  The human genome project took billions of dollars to sequence the genome of a few people (sequencing a genome means figuring out all of a person's DNA).  DNA sequencing is hard because the machines that read genes can only read a few hundred or a few thousand base pairs at a time (depending on how much you want to pay for the DNA "reads"), and the human genome is 3 billion base pairs long. 

 

Soon enough, we'll be able to sequence a genome with high accuracy for $100, which means that it will be possible to look at one person's cancer genome a bunch of times to see how their cancer is progressing.  Right now, it costs a few thousand dollars, depending on the desired accuracy and the definition of "few."  However, the cost of genome sequencing is going down even faster than the cost of computers.  By the time I have kids, it will probably be cheap for me to sequence myself or them.  By the time my kids grow up, it will probably be commonplace. 

 

It only costs a few hundred dollars to look at a few hundred well known parts of the genome.  That means that if I'm only interested in learning if I have a genetic disease, it doesn't cost much because I don't have to sequence the whole genome.  This is how most genetic studies happen.  There are a few parts where we know "if they have X mutation at Y location, that probably means that they also have A, B, and C."  So we look at those parts. 

 

Now, the limiting factor is no longer gene the ability to generate data.  There is enough publicly accessible data out there on proteins and genes to play with for a long time.  The limiting factor is people who have enough good ideas to use data and come up with more cool new things.  In other words, biocomputation is in high demand.

 

What Do I Want To Do With Biocomputation?

My focus in computer science is biocomputation, but biocomputation is a big field.

 

The class mostly focused on population genetics, genetic diseases, and "back end" technologies (as discussed in "Bio + Computation = Biocomputation").  The things that interest me don't really involve human cells, though.  I'm more interested in metagenomics and contagious diseases. 

 

Metagenomics and bacterial diseases involve nonhuman cells living inside humans.  Metagenomics focuses on the good critters, and bacterial disease is focused on the bad critters.  Either way, there are about 10 times more "critter" cells in a human body than human cells. 

 

I've been exposed to enough hippie talk about "probiotics" to believe that the good critters deserve respect, but the current response to bacterial diseases is to use "antibiotics" which exploit a difference between human cells and bacterial cells to make it so that bacteria can't reproduce very well.  This means that 9/10 of the cells in your body can't reproduce very well (I guess that makes global warming kind of like a global antibiotic).  That doesn't sound very good.  Learning more about bacterial infections will let us make antibiotics that are more targeted so that they can fight the bad critters without fighting very many of the good critters. 

 

Metagenomics lets us understand the good critters so that we know which ones we shouldn’t hurt and which ones we can help so that they can help us.  Metagenomics also can help us learn about other bacteria that do cool stuff, like bacteria that can digest cellulose (that might help us turn trash into fuel) or bacteria that can get energy from the sun (that might help us with solar power).  Metagenomics doesn't just involve bacteria inside human; it can involve looking at any environment with lots of critters in it like the ocean or soil or skin or hair. 

 

Viruses are probably the most interesting to me.  A virus has all of the hardware and software to travel into another computational device (a cell), gain unauthorized access to the interior of that computational device, analyze the operating system of that computer, and insert new code into some parts of that computer.  The computer will then execute that code, which will produce more computers able to travel to more computers. 

 

Those viruses may kill millions of people, but their code must be beautiful.  Learning how to disrupt such a dynamic process as a viral infection would require some really innovative hacking.  Learning how viruses hack into cells opens the doors for benevolent, human designed viruses that could dynamically change the genetic makeup of humans to better interact with our changing environment or to add new functionality to humans in a cost effective manner (using surgery to give someone wings or an internet interface would cost a lot more than giving someone a virus pill that would make them grow their own wings or internet port).  A lot of the challenge in eradicating a disease is in reaching every person that has the disease.  If we had an antivirus that spread like a virus but was benign and could fight off another virus, then that challenge would be eliminated: we would let the antivirus spread as it would.  The amount of understanding necessary to figure out how a virus works would also open up doors in many other fields. 

 

Yes, it's scary to think that people might be able to design viruses soon.  On the other hand, Mother Nature (or God, for the cynics; or sin for the believers) gave us a bunch of viruses, and it would be hard to come up with many that were worse.  Smallpox has killed more people than all wars in human history; AIDS is currently incurable; Ebola spreads rapidly and can kill 90% of people it infects.  While we can, and have, used disease as a weapon of war, humans have agreed not to do that, and so far, we have been keeping with that promise not to use biological weapons that are more deadly that bombs and guns. 

 

No, none of this has been done yet.  It's a science in its infancy, but we now have the tools.  The second half of the 20th century had breakthroughs in information technology.  The 21st century will be the epoch when humans understand the informatic nature of humans (Oh, how every one of my discussions turns to human nature!) and learn to change that informatic human nature.  Now is truly an amazing time to be alive! 

 

CS199 - Prep for CS1U (Teaching a Class on Linux)

The Motivation

When I was a sophomore in high school, I thought that the idea of Linux was cool.  There were a few things that I just needed that only Windows had, though, and I hadn't used Linux enough for its features to be indispensible.  That trend has continued to this day. 

 

In my sophomore year at Stanford, I took CS107, and I learned that Stanford has Linux computers that anyone can use and that most of the programming in Stanford computer science classes is built to work on those Linux machines.  Thus, I had a way to start using Linux that didn't involve me needing to reboot from Windows.  This summer, I discovered that programming on a Linux machine in California while in Cambodia has a noticeable latency (it was like a party trick: I could type something, then turn my computer around and let people watch as words appeared without me touching the keyboard!), so I decided to set up a Linux virtual machine to program on.  A virtual machine means that I'm running a Linux computer inside my Windows computer, so I can switch between my Linux computer and my Windows computer just like I switch between Google Chrome and Microsoft Word. 

 

However, even though tons of computer scientists use Linux and swear by it, there aren't any classes on practical uses of Linux at Stanford.  This summer, I finally got up the nerve to ask my CS107 professor if I could teach that class at Stanford. 

 

The Stanford CS department lets enterprising students teach one unit classes and even gives some pay and numbers it just like any other full-fledged class.  In other departments at Stanford, there isn't any pay, and the course number has "SI" at the end for "Student Initiated."  Of course, the student initiated courses aren't required for the major or anything, but it's still nice to have some recognition.  The classes that exist right now are CS106L, which Keith Schwarz decided to teach because he wanted to learn more (and teach more) about the C++ Standard Libraries, and CS109L, which John Rothfels decided to teach because he wanted to learn more (and teach more) about functional programming and statistical computing.  The "L" stands for "lab," I think.  Since I envisioned this class as accompanying CS107, I thought of the course as CS107L.

 

Apparently, the course existed once upon a time as CS1U, and Julie Zelenski, my CS107 professor, had been one of the people that taught it.  Also, I wasn't the only one who asked about CS107L: there were two others (one of whom ended up being too busy and decided not to pursue the idea).  Thus, Julie gave Josh Valdez and me the go ahead to start working on the reincarnation of CS1U.  We named the course "CS1U: Practical Unix" and started the work preparing the course.

 

Pedagogy: Why Teach an Online Course?

We started out with some online meetings at the end of August, which progressed to in person meetings in mid-September.  One of the conclusions that we came to was that our students would have radically different experiences at the start of the course.  Some would have never used a command line before; some would have used Linux lightly before, but never done anything serious with it; some would have extensive experience with Linux, but would still want to take the course to learn about some specific features.  Thus, it would be nice if students could choose what they wanted to learn.

 

How can we tailor a class around what the students want to learn when we might have 100 students with radically different backgrounds?  Use computers!  Lectures of a sufficient size can't be dynamic: with 500 students in a class, you can't teach your class to the bottom 5% or the top 5%, even though it might be the case that neither group is getting a lot out of lecture.  You can't adapt lectures to the individual needs and interests of every student. 

 

If the lecture is static (unchanging; undynamic), it doesn't need to be live; students can get just as much from a lecture online as they can from a live lecture that isn't dynamic.  I say this as someone who often watches lectures online when I miss the live lectures.  I like being able to watch a lecture online.  I watch most of it at 2x speed because most of the lecture is straightforward.  However, there's about 25% of the lecture that's really complicated, and in an online format, I can pause there and really understand what's going on.  I probably spend as much time on that 25% as I do on the other 75% (warning: don't try to extrapolate my experience to students as a whole.  As much as I may seem like Mr. Average, the statistics say that people watch course videos right before the midterm at maximum speed without ever stopping).  In a live lecture, I wouldn't have realized that I missed something until the lecturer moved on, so asking a question would be embarrassing.  I also say this as someone who always tries to make the live lectures when possible.  I ask a lot of questions -- but I ask those questions after class, because they go beyond the material that will be on the test and beyond the material in the lecture, so 80% of the class would tune out, and it would be hard for me to even come up with those questions during class because I need to process the material before I can figure out what parts of it are interesting and deserve extra questions.  I also often have questions about homework when there's a confusing question, but I have to go to a TA's office hours or ask the lecturer to get it answered -- that time isn't built in, and I have to arrange my own group to do the homework in a study group.

 

In other words, the traditional teacher is using class time for something that could be done just as well on a video online because it isn't dynamic and is relegating interactivity in terms of questions that go beyond the class material, questions that clarify hard parts of the class material, and interactive work on the homework to a time when the students can't easily interact with the teacher or with one another.  The traditional teacher uses their time interacting with students on fundamentally non-interactive lectures, leaving interactive things like group activities, study groups, and one on one questions to non-class time. 

 

That model is the opposite of what it should be.  When I physically go to class, it should be to interact with other students and with the teacher, not to passively take notes.  When I'm on my own, I should be doing something that's non-interactive like taking notes, not something that could be interactive like working through a hard concept.  Lectures don't deserve class time. 

 

This also has benefits for learning.  People remember very little of what they hear.  They remember a lot of what they interact with dynamically and even more of what they teach.  The traditional lecture format involves little other than hearing.  In other words, most of the learning (if learning happens at all) happens outside of class time.  Online, we can fix that.  I can insert a question halfway through the lecture and prevent students from moving on to the second half until they can answer the question in the first half.  This forces them to process the information.  Also, the ability to control the speed means that they can speed up through boring parts and pause in hard parts.  The alternative in a live lecture is to tune out during the hard parts or to write down notes without understanding them in the hopes that I’ll be able to understand them later.  It also frees up hours of class time for dynamic activities that can lead to actual understanding.  Of course, online lectures make it difficult to throw candy at students to reward them from doing things like asking questions.

 

In college, the traditional system is slightly manageable because usually there’s a week in between assignments, so you can go to office hours or ask a TA for help or make a study group.  I say slightly manageable because fitting office hours into your schedule can be very hard to do.  In high school, though, with many classes that have assignments every day, it’s barbaric.  Smart students who want to put in work to understand the material often don’t have the opportunity because after the lecture is done, they don’t have another chance to talk to their teacher until the homework is due.  Disadvantaged students are hurt the worst by this because they might not have the self-confidence to ask the teacher for help, might not have parents who can help them at home, and might not be able to stay after school to ask the teacher questions or study with other students because they might have to work a job or care for their little siblings.  Students who want to learn are penalized because they couldn’t learn effectively in the live lecture format and couldn’t get the help because there wasn’t room for interactivity because class time was filled with the lecture.  Thus, it doesn’t surprise me when Sal Khan, who makes freely available online lectures, gets emails from high school students who say that Sal’s videos are the only things that kept them from dropping out of school. 

 

Online Course: Infrastructure

Right after deciding to teach an online course, Andrew Ng, the computer science professor who taught my AI class last year and who is behind Stanford Engineering Everywhere, which put a bunch of Stanford CS courses online for free, sent out an email asking if anyone was interested in making online courses.  He had been working on the online course format along with Daphne Koller, and he set up got Josh and me with the system that he uses.

 

He modeled his system after the one that Sal Khan uses for the Khan Academy (check out Sal Khan in the Speakers / Academic Events section), which produced thousands of cool educational videos.  Basically, we use Camtasia Studio (which is expensive, though there are cheaper or free alternatives available), Powerpoint with annotations and keyboard shortcuts, and a Wacom tablet with a pen.  We also have a webcam so that we can act as talking heads and introduce the videos before doing the actual lecture, but the focus is on using the tablet and the pen on Powerpoint.

 

After recording, we edit.  Then it’s done and ready to share!

 

If you’re on a budget, you can probably manage on under $100 as long as you have your own computer and feel okay using non-fancy software (ie, something other than Powerpoint and something other than Camtasia).  Sal Khan has recommendations for budget software.   Then, the only thing you need to buy is a cheap microphone and a cheap tablet. 

 

I also got a key to the computer science building!  It’s awesome.  I have my own office (well, close enough), and I can get in after hours. 

 

Start to Finish on Making a Video + Reasons Why Powerpoint is Bad

Before anything else, we figured out what we needed to teach in the course. 

 

Then, we split up those topics into 10 minute chunks (why are lectures an hour long?  Concepts are only 10 minutes long!  It’s much easier to digest a 10 minute lecture than a 50 minute lecture). 

 

For a given video/chunk, we make lecture notes.  What do we need to talk about?  What examples will we use?  What jokes will we tell?  This also involves making examples to go through on the command line and examples to write up on the Powerpoint slides. 

 

Then, we do the actual recording.  The only thing we have on the Powerpoint slides before the recording starts is the intro slides that has the name of the lecture and any pictures that we’ll use.  Everything else is written by hand using Powerpoint’s annotation feature. 

 

I think that writing is better than going through slides because it forces the lecturer to slow down.  Mehran, my advisor, says that he switches between Powerpoint and the whiteboard / chalkboard because using only Powerpoint goes too fast for students.  When I took bio42, the material that I didn’t understand was the material presented on 40 pages of power point slides in an hour.  One of the lecturers showed us a page of formulas said, “memorize this,” and then moved on.  The neurobiology lecturer didn’t use Powerpoint at all, and I understood that unit extremely well.  I have heard similar comments echoed by a lot of other professors that I respect as lecturers.  If a lecturer is moving faster than they can write, they’re probably moving faster than students can process too.  Whether or not anyone will actually be able to read my handwriting is another story entirely.

 

In a class on Linux, we make Camtasia record fullscreen and then switch from Powerpoint to the command line when we need to show how commands work. 

 

After recording, we edit out the awkward pauses.  It’s very difficult to gracefully switch between Powerpoint and the command line, and it’s also difficult to gracefully switch between two different topics.  This is pretty much the only editing we do, though.  We just take the video as it is. 

 

Then it’s done.  We critique each other’s video.  We occasionally need to rerecord the video, but we’re also new enough that every new recording teaches us a lot about the recording process.

 

Working with Josh

I originally thought of CS107L as something that I would teach on my own (in a traditional lecture format), but I’m really glad that CS1U has turned into a collaborative enterprise. 

 

Josh and I each bring something else to the table.  Josh runs Linux as his primary operating system, so he knows a lot about a lot of different parts of Linux.  I haven’t used Linux as my primary operating system, but I’m a little more experience in computer science than Josh, so I know more about some specific cool features that Linux has.  I have also been a section leader for a few terms, so I’m a little more used to teaching than Josh (Josh is a section leader now, though, and he’s a very good teacher; most of the difference is just in the fact that I’ve done it longer so I already know my abilities, whereas Josh hasn’t had the experience to show him that he’s a good teacher). 

 

We have also kept each other motivated throughout the process.  When I work on an independent project, I often find it hard to stick to deadlines because there are always other deadlines that are not independent (meaning someone is there to hold me accountable).  Josh has kept us meeting consistently so that we keep making progress. 

 

Work Done and Work To Be Done

So far, we only have a few videos recorded.  However, the first video took us about 8 hours to do, whereas our most recent videos took us one or two hours from start to finish.  Since we’re getting a lot faster, we’re on track to get everything ready for teaching the course in the spring! 

 

BIO41 - Genetics, Biochemistry, and Molecular Biology

Bio41 was much better than Bio42.  The class seemed more about learning a few general concepts and problem solving with them than memorizing a bunch of facts. 

 

A lot of the course was about DNA, RNA, Proteins, and the interrelationship between them all.  This made a lot of sense to me because the focus of the lectures was information.  Studying computer science means that thinking about ways of encoding information is fairly natural for me.  The hard part is that I think in 1s and 0s whereas DNA thinks in A, C, T, and G.  My theory is that because there are twice as many different symbols in DNA, it's twice as hard as computers.

 

The domain is also more restricted.  There are only a few things to know about Mendel's theory of genetics, and the rest is how to problem solve with it, how we can derive it, how we can do experiments on it, etc.

 

There was also a lot of crossover between Bio41 and biocomputation.  For instance, I learned about metagenomics in Bio41 within a few days of learning about it in CS374 (see the CS374 section for the description of metagenomics).  It was also good to learn about a lot of the procedures don in biology that we talk about in biocomputation such as PCR (polymerase chain reaction, used to synthesize and replicate DNA) and DNA barcodes. 

 

It was also good to have some of the lies told in introductory bio classes exposed.  For instance, in my high school biology class, we learned about Mendelian genetics.  The basic idea was right, but that isn't really how genes work.  There are multiple genes that encode a single trait like height or eye color or skin color.  Alleles aren't always purely dominant or recessive (ie, a red flower + a white flower might = a pink flower).  There aren't always just two genes in the population (ie, there might be a green eye color gene and a blue gene and a brown gene and a hazel gene).  Radiation (like sunlight or nuclear material), chemicals (like dyes), viruses, or DNA replication errors can cause mutations.  Two genes on one chromosome might exhibit "linkage" if they're near each other, which means that if the gene for eye color and hair color are next to each other, then it's likely that I will either have the hair color and eye color of my dad or the hair color and eye color of my mom; it isn't very likely that I would have the hair color of my dad and eye color of my mom (not that hair and eye color are next to each other).  If the genes are far apart, then it is a 50/50 chance whether I'll follow Mom or Dad for either trait. 

 

There was also some depth that I hadn't learned before.  For instance, it usually isn't just one gene making one protein that causes some observable effect; usually, it's one gene making one protein, which is made into another protein, which is made into another, and eventually we get the desired effect.  This is called a "pathway."  We can test pathways by finding all of the different ways that we can break something (as a computer scientist, I enjoy finding all of the different ways to break something).  Each different way is a different step in the pathway. 

 

Some other topics: different protein structures, enzymes, inhibition, glycolysis, energy, regulation of dna/rna/protein expression, the different proteins involved in copying dna, photosynthesis, lipids, and cloning.

 

MS&E193 - Technology and National Security

Course Outline + Beginning

I took MSE193 at the recommendation of a friend, and I'm glad that I did.  The two professors were Bill Perry (Clinton's Secretary of Defense) and Sig Hecker (former Director of Los Alamos).  Their big issue now is the insecurities that nuclear weapons make in the world, but the class as a whole discussed the interaction between technology and national security.

 

The start of the class was a historical perspective.  It went through history and showed the big changes in technology and how they drove change.  Some important things:  cities, bronze, chariots with wheels, iron, soldiers on horses (knights), stirrups, lances, and crossbows, longbows and pikes (bye bye, horsie), gunpowder, forts, and cannons on ships (apparently, Napolean wasn't even that short).

 

Then, there were a few lectures between the civil war and WW2.  The civil war had more technological innovation than all of history before it, and it didn't stop there.  Battles were won and lost based on who understood the technology (ie, Battle of Gettysberg).  WW1 didn't have much innovation -- it was mostly just perfecting technologies from the civil war.  Information was important: Command, Control, Communication, and Intelligence innovations such as horses, the blimp, radio, telegraph, spy planes, and encryption were important.  And that was all before the computer!  Music, medicine, and morale were also important. 

 

Another interesting tidbit was about global food supplies.  There was a time when we weren't dying as much as in the past, and our agriculture wasn't growing enough food.  The solution?  Get guano from South America to fertilize crops (it's high in nitrogen; just ask Ace Ventura!).  Then that ran out in a year or two.  Then, they got saltpeter from South America.  That ran out too.  Eventually, someone found out how to extract nitrogen, so now food isn't a limiting factor in population growth even though, thanks to our economic distribution, people starve while food rots.  

 

The rest of the class was closer to the present.  Some of the topics included nukes, terrorism, state building, the environment, and information.

 

Nukes

A lot of the class was about nukes since that is the main focus of the professors.  Perry spent a lot of time dealing with things like the Cuban Missile Crisis and, after the Cold War, securing the nukes in former Soviet states.  Apparently, a not-insignificant proportion of the nuclear material that we use for energy in the US comes from old soviet bombs.  Hecker is the nuclear scientist that recently went to North Korea.  He went every year for a while, and he showed us some pictures from his visits.  His favorite one to show is a picture of a kid with a Nike hat on from a few years ago.  They won't be able to maintain a totalitarian control on information when even Nike can get in.  Also, now, there are hundreds of thousands of cell phones in North Korea, the university students are learning English, and there are cars on the roads. 

 

We talked about the histories of the world's nuclear programs.  The US started up Iran's in the Atoms for Peace program.  The Soviets had a similar program.  AQ Khan, from Pakistan, sold nuclear secrets and materials to much of the world that was interested.  A few countries worked it out on their own (Israel). 

 

A lot of the world doesn't really like nukes and disarms when we ask nicely.  For instance, when we engaged diplomatically with North Korea early on, they probably weren't actively developing nukes, and it wasn't until we went back on our end of the deal that they started up again.  In other words, diplomacy worked.  At the moment, they don't really trust that our diplomacy is genuine, and they want political power, so they aren't very interested in diplomacy. 

 

We also talked about the science of nukes.  Given weapons grade uranium, it's really easy to make a uranium bomb (a sufficiently careless person could probably explode highly enriched uranium without even trying!  How a sufficiently careless person got their hands on HEU is currently a question for heated debate), but weapons grade uranium takes a lot of effort to create, so it's hard for terrorists to get.  Plutonium is a little easier to get, but making a bomb out of it is very hard.  Even with a working bomb, the hard part is making a missile; otherwise, you still have a big problem in delivering the bomb to a target location. 

 

Assorted Topics

The information talk had a lot of interesting technologies.  With satellite data freely available to people, everyone can tell a lot of stuff in their spare time.  Wikimapia, Placeopedia, and Panoramio are democratizing aerial information and leading to global transparency.  The talk included lots of anecdotes about random people in their basement looking at satellite data on China and finding previously unknown nuclear reactor sites.

 

Martha Crenshaw talked about some of the problems with the war on terror.  The requirements of successful deterrence are that we can live with the adversary if they don't step over a line, and we can harm the adversary if they do step over a line.  That means that we need to know what the terrorists value, make a threat to harm that (and be willing to execute on that threat), and communicate the threat to the adversary such that they can act on it.  The status quo isn't deterrence because we're always trying to harm our adversary.  "Cumulative deterrence" doesn't make sense -- that's the theory of punching someone until they stop (then again, if banging on old TVs eventually makes them work...).  Making nuclear weapons illegitimate isn't deterrence; it's just a persuasive policy change.  The problem with deterring terrorists is that it is very difficult to reasonably harm anything that they value, and they know it.  For instance, we couldn't bomb Muslim holy sites, and it's very hard to defend a government against insurgency (not to mention that a lot of the governments that they want to take over, we don't like very much). 

 

Larry Diamond spoke about democracy building in post conflict societies.  Apparently, it's a hard problem.  A big issue is that the difference between a democratic and undemocratic state is much smaller than the difference between a state and no state.  The hardest part is building institutions to restore order and stop the violence.  

 

Energy

The energy talk was very interesting.  They pointed out that we have two types of energy supply: electricity and oil.  Renewable ways of generating electricity won't decrease our oil reliance; they will decrease our reliance on coal and nuclear energy.  Also, even if we drilled all of the oil in ANWR, we would only get enough oil to last us 2 years.  And the question of peak oil isn't about oil running out -- it's about cheap oil running out. 

 

The brunt of the talk was by someone from EARPA (the acronym is like DARPA, but for energy advanced research instead of defense advanced research).  The idea of that organization is to invest in high risk, high reward, long wait projects like developing energy sources that won't cause global warming, won't run out, and will work when the population grows to 11 billion (it'll probably be around there by the end of the century).     

 

The speaker worked on the BP oil spill.  Apparently, in that spill, the pressure gauge was a major fail.  There was only one.  It was on the outside.  It didn't work.  Its precision was plus or minus 400 psi, whereas an average hardware store gauge can measure 0.1 psi (that's only a factor of 4000 times more accurate for the cheapie).  Also, the BP gauge is inaccurate by 500 psi.  And this is the industry standard.  The scary thing is that the BP drill wasn't even very deep compared to a lot of the stuff going on, and other companies aren't doing any more than BP.

 

The conclusion of the energy talk was that we need to have as much innovation in the next 20 years as we did in the last 100 years (extracting atmospheric nitrogen for fertilizer, polio vaccine, antibiotics, airplanes, electrification, nuclear energy, transistor, integrated circuits, fiber optics, wireless communication, the internet...), or we won't keep up with population growth.  Some of the things they're trying: sunshot (solar electricity cheaper than fossil fuels by 2017), digital grid (real time optimization of the grid for distributed generation and storage of electricity), carbon capture, electric cars (3x current energy density in batteries at 5x lower cost), safe scalable cheap nuclear energy, 50-80% reduction in energy consumption in buildings with a 5 year payback (buildings use a ton of energy), geothermal heating and cooling at cost lower than natural gas, solar fuels, and low cost purification of water. 

 

This innovation will happen if scientists, engineers, politicians, and business people work together with no artificial boundaries instead of apart, if there is a great need, if we acknowledge that incremental change won't be enough, if we have clearly defined our goals, if there is a ton of collaboration and competition to reach these goals, and if we have sufficient funding, rewards, and recognition for the problem.  I guess that means we can't just trust BP to secure our energy future.

 

Finals

The Alta debate tournament was the weekend before finals, so I had a mad rush to get everything done early.  In particular, I had to finish the last CS144 assignment and start editing my MS&E paper. 

 

After that, finals week wasn’t too hard.  I made a few mistakes and could have studied more, but I’m satisfied with how I did in my classes.  I also proctored the CS106A final.  Then, my Thursday and Friday were just grading, grading, and more grading.  Thursday, I graded the last 106A assignment, and Friday, I spent 9 hours grading the 106A finals. 

 

All things considered, though, it went fine.  I also had the chance to start watching Merlin, a BBC TV show about Merlin and Arthur, with my roommate.  The show is moderately corny, but it’s fun to watch it together.  It's also fun to watch my roommate watch Merlin.

 

Extracurriculars / Work

Dance Marathon Hackathon

Hackathon, the 24 hour coding for nonprofits marathon that I'm directing, has had an interesting year so far.  It's a very different experience being the director rather than being one of five directors.  For one, I am getting to know what the organization is about a lot more, and I have more ownership over it.  Also, since I'm at the top, there isn't any red tape within Hackathon.  I have tried to always tell my staff the goals that we're looking for and how I would do the job, while stressing that if they think they have a better way to go ahead with that.

 

We're also doing a lot better than last year.  We have about the same number of hackers registered, but this time, most have paid their registration fee in advance, which means they're more likely committed to attending the event.  We have 20 projects for 14 organizations, including a bunch of cool projects like doing biocomputation research on aging that might turn into a published scientific paper (that the hackers will get their names on).  We allocated hackers to projects over winter break, so they'll be able to start preparing for their projects ahead of time, which will mitigate the largest problems that we had last year.  We also have a few groups outside of Stanford participating to some degree -- most are doing their own sort of public service Hackathon event, but we have a few people who will be participating remotely. 

 

We also have a bunch of sponsors.  It seems like there's enough interest in organizations in sponsoring us that Hackathon could become a full-fledged nonprofit without too much difficulty.  I'm strongly considering making it a career plan.  There's also enough support among CS faculty that I'm sure I could get some help from the CS department if I needed any.

 

All of the usual Dance Marathon events went on, too.  We tabled in White Plaza, at the Haas Center for Public Service (9/18) and at the Activities Fair (9/24) to recruit.  We had a retreat (10/2), all staff meetings (10/28, 11/18), along with fundraisers, dorm runs, chalking, and flyering throughout. 

 

The Hackathon recruitment was much more focused on the CS demographic.  I got an announcement of some sort in almost every CS class, and I got emails out on most of the CS lists.  It's like I'm a celebrity or something.

 

Working with Dance Marathon also gave me a few lessons on leadership.  Listening and feelings are big, and I'm really glad I took a peer counseling class my frosh year (and had those same lessons reinforced in "How to Talk So Kids Can Learn" by Faber and Mazlish).  I was sitting at a meeting where someone got fired, and it definitely didn't need to happen.  Both the firer and the firee had feelings that they weren't dealing with, and the firer couldn't perceive and adapt to the firee's feelings.  When working with someone one-on-one, I want to be the type of leader who talks slowly and listens more.

 

Feelings are also connected to doing good work.  You can't be productive if you have feelings in the way, and you won't want to be productive unless you feel inspired.  I saw people getting stressed out and taking it out on everyone else rather than rising to the occasion and inspiring others.  I want to be the type of leader who is always positive and always sets a good example.

 

Fun fact: by the time this letter goes out, the Hackathon will have already happened!

 

Coaching Debate at Paly

This quarter, debaters went to Wake (9/10-9/12), St Francis (9/24-9/26), Bronx (10/14-10/16), Alta (12/2-12/4), and SCU (12/10-12/12).  I was only with them at Wake, St Francis, and Alta. 

 

SCU occurred when I was on the train home.  Interesting thing about the train: you go in and out of phone service (and, thus, mobile phone internet).  I was able to give some advice before one of my teams' rounds, but when I was out of service for an hour in the middle of nowhere, they called several times expecting me to pick up in a timely manner.   Unfortunately, while I am nearly always connected, that is not always a good assumption to make.

 

Alta was an interesting tournament.  At Alta, I discovered that one of my experienced debaters didn't flow (the word comes from "flowchart."  "flowing" is a particular way that debaters take notes).  He had been obstinate about not flowing since he was a novice, and it caused him to lose a few rounds.  He still wouldn't admit that not flowing was the problem, but debating without flowing is like driving with your eyes closed: you don't know where everyone else is, and you have no idea where you are until you crash (no, I still don't have a license.  I still feel confident in my assessment about driving with eyes closed, though).  I told him that my coaching him was contingent on him flowing at the next tournament.  After being forced to flow, he now sees why it's important.  

 

I also helped out some Lincoln Douglass debaters at Alta.  I gave a few talks on debate theory and on Foucault, and it seemed to go over well with the debaters. 

 

I was, again, faced with the occasional annoyingness of dealing with institutions.  My assistant coach got fired because he ended a debate practice a half hour early, but didn't kick the debaters out of their room, which left them unsupervised even though there were other folks in the building, it was on school grounds, and he let the debaters know ahead of time. 

 

Because the policy program at Paly is dying (parents pressured the school board to cut Policy because they thought their kids were doing too much work, and so the program will be cut after my debaters graduate, and we can't recruit), policy debaters are going over to LD, which is hurting their success this year and next year. 

 

I am faced with a contrast to South Eugene HS.  Both South and Paly are very good schools, but I prefer the culture at South.  It's more laid back.  Sure, we had to deal with some red tape, but it never prevented us from doing something meaningful.   

 

Queer Straight Alliance

Queer Coalition: Good Job, ASSU!

This past spring, I organized the Queer Coalition, which supported queer-supportive senators and executives in the student government elections.  I met with them to discuss queer issues to work on. 

 

They've been moving and shaking, and I haven't even had to prod them (with email or an actual prod)!  They passed a resolution in support of Queer Studies, they added attention to diversity at RA training, and they worked with the housing admission survey to make it more welcoming to trans students. 

 

They also have maintained a presence in the queer community.  For instance, a lot of them showed up at the vigil for the LGBT suicides.

 

National Coming Out Day 10/11

QSA was one of many groups involved with National Coming Out Day.  We had a discussion about what it means to be an ally.  We had chalking in White Plaza, and a lot of students got involved with that.  It was a big presence on campus.  We also distributed shirts with the message "talk to me" on them.

 

Collaboration

A large part of QSA is that we're the only queer student group that has Special Fees funding and one of a few that is an official group.  This means that we have webspace and money.  It's always nice to use those to help other groups.  Recently, we helped out Stanford Students for Queer Liberation and the Queer Studies Coalition set up websites, and we've given money to a bunch of different queer events happening on campus.

 

Activists Mixer 11/13

The Mixer

Stanford Students for Queer Liberation organized an activist mixer and posted an open invitation for activist groups to get together and talk about collaboration.  When I told other folks about the "mixer," I think that they assumed I was describing some sort of a Cuisinart. 

 

It was a nice opportunity to see a bunch of progressive student group leaders together in one space.  I met a few people that I had previously only known by email. 

 

Whither Cooperation?

Some of them were stepping on each other’s toes.  One person suggested uniting around an idea of human rights.  Someone who cared about animal rights commented that it shouldn’t be limited to human rights, and the first person replied, “What’s wrong with limiting it to human rights?”  What’s wrong is that different oppressions are intertwined, and even if they weren’t, someone who is passionate about doing anything Good should be empowered, not excluded, especially when making a broad coalition.  Even if you don’t think that animal rights are Good, it’s clear that some people do, and I don’t know anyone who thinks they’re Bad.  Any diverse group, be it a country or a social movement, needs to tolerate and respect non-harmful difference. 

 

What Activism Means to Me

It’s very hard to be a part of every movement.  To stand up for everything that we believe in, we would need to change a lot.

 

We would need to actively support compassion.  In addition to being compassionate, this means boycotting intolerant organizations and being politically engaged in favor of tolerance.  There are many issues of race and ethnicity, gender and sexuality, class, culture, religion, imprisonment, nationality, language, citizenship, and statehood that need to be addressed.

 

We would need to actively support an end to conflict.  This would mean being politically engaged to stop war, to seek peaceful ends deterrents to terrorism, to take all possible action against genocide, and to disarm nuclear arsenals.  It also includes personal decisions, such as trying to buy products free from conflict minerals (conflict minerals are like blood diamonds except they're in our computers and cell phones and playstations and such).

 

We would need to politically and personally support the environment.  Global warming is real, and so is the energy crisis.  We need to fund research into more sustainable ways to get energy, and we need to do things like taking the train instead of driving or flying.  We also need to support a more equal distribution of environmental opportunity: the water crisis is real and global warming and western industry is making it worse, but industrialized nations don’t bear the bad effects.  We need to pick up our own trash: the west doesn’t bear the bad effects of the trash, carcinogens, and general pollution that we produce; instead, kids in china get cancer from recycling the lead on our computers.  We need to support biodiversity because we are permanently losing biodiversity as species go extinct from global warming, deforesting the rainforest, and using GMO seeds instead of indigenous seeds, not to mention the effects that each of these actions has on local communities.  We need to support the rights of all living things, not just humans: we kill and eat billions of animals that can feel pain and suffer every year, not to mention the suffering that is life in a factory farm. 

 

We would need to support national and international development.  As discussed in MSE193, getting a stable state is very important.  After that hurdle, democracy, public control, freedom of press, education, a regulated market and government, worker's rights, water and sanitation, food and agriculture, and public transportation, communication, and healthcare are also important.

 

All of that is more than any person can do, but don’t let the perfect get in the way of the good.  I cannot lead all of those movements for lack of time if nothing else, but I can try my hardest to be an ally to all of them.  It’s hard, but it’s doable, and it’s necessary if we want to be the world that we want to see.

 

Movie Nights

Towards the end of the quarter, we had a "But I'm A Cheerleader!" movie night.  We're going to try to use movie nights to collaborate with other queer groups in winter quarter.

 

CS198: Section Leading

CS106A, the introductory CS class at Stanford, had a record-breaking 500 students.  I stepped up and signed up as a Senior Section Leader this quarter to help out.  This meant that I helped out some of the newer section leaders by watching their sections, I stayed extra time to help grade and sort the midterms and finals (finals grading took from 3pm to midnight), and made autograders.

 

Making the autograders was an incredibly rewarding experience.  Since we have 500 students, if my autograder can save half an hour of grading per student, then my work saved people 250 hours.  And since the assignments don't change that much, it will keep on saving that much time once every quarter for years.  People appreciated my work enough that they gave me a Feat of the Week (recognition for going above and beyond the call of duty as a section leader), which resulted in the Segway + Kasparov package described below (I also got Feat of the Week for staying late to finish up with the finals).   I think that the autograders might be one of my most high-impact programs that I have written.  It felt less like writing medical software and more like writing medicine.  I alleviated the pain of graders.

 

It was also a cool experience writing them.  I had to write a program that could figure out if code that I never wrote and never saw worked or not.  It has to do this because if it requires manual input or if it requires a human to look at the submitted code, then it isn't automatic, and it will take a ton of time for section leaders to use.  I was actually surprised how easy all of that was.  It was challenging to think about "What do I know about their program that I can use to tell if it works or not?," but after I got the creative insight, everything was pretty straightforward.

 

In other news, over thanksgiving break, one of my debaters wanted to learn assembly (the lowest level way to program), so I met with him and showed him all that I know about it.  I was impressed at how fast he caught on to such a sticky subject. 

 

Project Motivation

I continued volunteering for Project Motivation, giving Stanford tours and talks to middle and high schoolers from underrepresented communities.  It's interesting that every group has a unique character.  This term, I seemed to get fewer questions.

 

Nuclear Risk

I continued working with Professor Hellman to raise awareness about nuclear risk and disarmament.  I met with Hellman at the start of the quarter to talk about some directions going forward and about social media, and I had him over for dinner at FloMo in October.  It seems like FloMo will be a very nuclear aware place!

 

Speakers / Academic Events

Extraordinaries / Spark Talk 9/28

The Extraordinaries is an online microvolunteering organization.  Their idea was, “Why don’t people on iPhones categorize pictures of Mars for NASA while waiting in line?”  They have a new project called Sparked, which runs with the idea of microvolunteering and turns it into a larger social venture.  They’re starting to get big companies on board with donating their time, and they have a platform to keep people engaged. 

 

I was the only one who attended the event (one of the emails announcing the event had the wrong date), so they asked me what I thought about their site and their idea.  It seemed pretty cool. 

 

Counsyl Bioinformatics Talk 10/7

Counsyl is a bioinformatics company that scans parents for genetic diseases before they have kids to prevent those diseases.  They seem like they provide a good service at a reasonable price.  It also made me see that there are a ton of opportunities for someone who knows about bioinformatics. 

 

One of my friends talked with the person who gave the talk.  Apparently, he came off as a little maniacal.  It wasn’t that he wanted to do anything bad with the information, but he just had an impulse to gather everyone’s genetic information into his company.  Competition, I guess.

 

Also, as a genetics company, they have some weird ads to attract computer scientists.  They say that they're high impact and associate that with a picture of a blond haired, blue eyed animated baby with a weird hairdo.  My thoughts: "Great!  I get to let people do genetic analysis so that they can make sure to only have Aryan babies!"  As Seinfeld would say, "not that there's anything wrong with that."

 

Dalai Lama 10/14

During the summer, my roommate showed me that the Dalai Lama was coming to Stanford, so I bought a ticket.  Then, AHA! (the atheist student group that I got to know through doing the Ted Cox event last spring) mentioned that they were raffling off tickets to a different Dalai Lama talk because they count as a religious student group and religious groups got tickets to raffle off.  I happened to win one of the tickets, so I got to see 2 of the talks. 

 

The Dalai Lama was quite a character.  He was funny and had some wisdom.  At the beginning of each of his talks, the Dalai Lama said that all of his talks were the same.  Midway through each talk, he would ask someone in his entourage what the title of his talk was so that he could make some comments on that subject.  He also introduces himself as a simple Buddhist monk.

 

People do what they desire: desire motivates action.  There are ethical desires and unethical desires.  But people mostly want a community with genuine friendship, and compassion is necessary to expand that community and to understand different people.

 

He had a red hat.  Someone commented on it in the question and answer period.  He gracefully laughed at their comments. 

 

Someone asked him what his favorite time of day was.  He responded that sleep was his favorite time.  A man after my own heart!

 

Shaking the Foundations - Dean Spade 10/15

Shaking the Foundations is an annual progressive law conference at the Stanford Law School.  I got a folder with "Stanford Law School" on it when I went, and as a result, about a dozen people saw it in my room and thought that I was a law student. 

 

I went because I saw that Pam Karlan was talking, and she gives amazing talks.  Instead of Pam Karlan, the keynote was Dean Spade, the first openly trans tenured law school professor.  He is a professor at the University of Seattle and does a lot of cool social justice work.  Spade talked about how to support social change and how to avoid getting in the way. 

 

In debate, a lot of critique teams (teams who advance philosophical criticisms of policies instead of or in addition to political disadvantages) will use a "masking" link: the policy is bad because it masks a problem, putting a bandaid on a broken system. Usually, it's only used when debaters don't have a more specific argument to make.  I liked Dean Spade's talk because he provided a strong defense of this idea.  Since he works on a lot of trans issues, he discussed trans issues as his backdrop.

 

Trans people face high unemployment and poverty.  They often have little family support.  Support services (ie, homeless or relationship abuse shelters) are gendered, so they can't get support there.  State control (ie, prisons) is gendered.  They're highly imprisoned (largely along economic lines).  Their medical conditions are neglected, and they are murdered.  In most of the US, they don't fall under job discrimination or hate crime laws.  Spade argues that working for inclusion in those laws is not where people should be putting their time.

 

Those laws operate in the perpetrator perspective.  One way of imagining injustice is that oppression operates on an individual level -- there are bad perpetrators and everyone who isn't actively discriminatory is fine.  The problem is that power operates on an institutional, not individual, level.  In the perpetrator perspective, discrimination can seem innocent.  Even without someone acting overtly bigoted, it is still possible for there to be group differentiated vulnerability to premature death (or homelessness, or drug abuse, etc).  For a larger description of some of these issues, check out "Racism without Racists."

 

Changing laws to outlaw de jure segregation won't change institutional discrimination.  As groups gain legal rights, we say things are getting better even though the material conditions are getting worse.  Consider the decline in real wages and increase in the wealth gap (CEOs make 400 times what the average worker makes now; during the peak of American industrialism, they made 20 times more the average worker). 

 

The way that this discrimination continues is "preservation through transformation."  Social movements have the power to change the material conditions, so people who want to maintain inequality have to change the institution while still preserving it.  When people stop participating in democratic social movements and start participating in nonprofits that are funded by discriminatory organizations, the ability of people to produce change is limited.  For instance, Stonewall rose up against police brutality.  Today's Gay Rights Movement is concerned with inclusion in the military and marriage, institutions that the old movement was criticizing.  Today's movement is trying to share health benefits for the few people that are gay and have health benefits, but it doesn't do anything to address the injustice for the many gay people who do not have any benefits at all.  Intersectional analysis has been replaced by single issue movements.

 

This also divides the movements.  If a nonprofit is helping the best-off gay people, then those people will feel less motivated to help everyone else.  Does it make sense to put your resources into fighting for the rights of upper class gay men instead of the movement as a whole when that will, potentially, take upper class gay men out of the movement and delay the rights of queer women of color?  We need to protect the most vulnerable people.

 

The message that Spade wanted people to get was that law school necessitates a lot of unlearning.   As Spade got tenure, people expected him to tread carefully.  He asked, if he can't shake foundations, then who can?  If not now, when, and if not him, who?  Law school teaches professionalized expertise, but that makes the movement rely on professionals.  Instead, lawyers need to deprofessionalize their expertise.  They need to help people manage their own problems.  There is no reason that a person has to be a lawyer to manage welfare.  A community can manage it if a lawyer helps to demystify the legal system instead of trying to do everything themselves.

 

The demeanor that law schools teach is also contrary to movements.  Law schools teach how to speak with jargon that people can't understand, how to speak in an aggressive way, and how to be an ambitious celebrity.  This makes them dominate meetings instead of letting everyone get the chance to be heard. 

 

This is especially problematic because it coopts the demands of the movement.  If a movement wants an end to poverty and the lawyer turns that into a monetary settlement, then poverty remains intact.  Lawyers working with social movements need to ensure that they aren't forcing their own expectations into the conversation. 

 

10/16

In addition to the Dalai Lama and Shaking the Foundations, this weekend was supposed to include the Face AIDS conference, with talks by the directors of Human Rights Watch and Partners in Health, Startup School, a CS entrepreneurship conference, and Campus Camp Wellstone, a progressive organizing conference. 

 

However, I was sick.

 

Talk by Venezuela Student Democracy Leader 10/19

In Venezuela, there is student protest going on for the sake of freedom of expression and fair elections.  It was interesting to see an example of a powerful student movement.  I haven't seen enough of them in the US of late.  I also saw the extent to which technology helped the movement.  Social networks seem to be a good thing for social movement organizing.

 

It was also interesting to see the things that they're protesting against.  For all of Venezuela's talk of being liberal socialism and opposition to US corruption, the things that Venezuelans protest seem to be similar to the things that Americans protest.  Chavez shut down media outlets that went against the government, and the US is calling Julian Assange a terrorist.  Chavez pays foreign corporations when seizing property but denies it to individuals; it's bipartisan to give billions of dollars to bail out big corporations, but it's pulling teeth to enact any social welfare policy; they gerrymander, and we gerrymander. 

 

Mozilla Tech Talk 10/25

One part of the CS section leading program is that high tech companies love us.  There are more CS jobs now than at the heart of tech bubble.  Stanford CS has been described as recession proof.  And the CS198 program is at the heart of that.  Companies give us stuff to raffle off to section leaders every week, and sometimes companies come to give talks.

 

Mozilla came to give a tech talk.  The subject was making browsers faster and more secure.  I could see a lot of myself in the speaker.  He said that there was a long standing difference in philosophy between security people and speed people because typically security enhancements come at the expense of speed.  Until his most recent job, the speaker didn’t think much about security because he always cared more about speed, but the task that he was working on for Mozilla Firefox 4 involved changing the memory structure of webpages within the browser to sandbox everything (so that security vulnerabilities won’t be as catastrophic) and make everything faster.  It seemed pretty cool.  It seemed very Google Chrome like.  No, I did not make the comparison there.

 

Kasparov!  On a Segway! 11/1

Getting the Segway + Ticket

Remember how there are weekly prizes for CS section leaders and how high tech companies love the section leading program (as per Mozilla Tech Talk above)?  Remember how I made lots of autograders for the section leading program (as per CS198: Section Leading)?  Well, Palantir, a local high tech startup that heavily recruits section leaders, decided to invite Kasparov (the chess grand master) to their headquarters (a block off campus), and they gave away a few tickets to the section leading program.  My autograders won me two tickets.  “But wait,” they say.  “To see Kasparov, you need to arrive in truly nerdy style.  Thus, you also get two Segways!”  I would make a joke about it, but the situation is absurd enough as is.

 

Segways

Wow. Now, I didn’t get the Segway permanently (that would have been a few thousand dollars), but it was extremely cool.  My roommate and I stopped over to the parking lot next to Gates (the CS building) at 3pm on Monday (ironically, the time when I would normally have been sitting in on the class that I section lead).  We got our Segways and our helmets. 

 

The owner of Silicon Segway described them as magic carpets: you lean, then you glide where you want to go.  His description wasn’t too far off, except for if you want to go backwards and to the side... my roommate won’t stop laughing at how that made me fall off after dramatically trying to maneuver out of it.  In addition to grass stains on my pants and shirt, I got the wind knocked out of me. 

 

Aside from my inability to turn while moving backwards, Segways are very easy to use.  It was a little disorienting at the start since a human instinct when off balance is to shift your weight to regain your balance, whereas on a Segway you’re supposed to lean and let the Segway balance for you.  That means that if you get on without being prepared, you rock rapidly back and forth as you try to compensate for your balance and then compensate the opposite way when the Segway compensates for you.  This doesn’t mean you fall off -- it’s hard to fall out when on a Segway -- but it is quite disorienting and amusing.  After about 10 or 20 minutes, all of us were able to race our Segways around to our hearts’ content. 

 

When heading to Kasparov, we maxed out the speed for the first time.  Segways can’t go faster than 12 miles per hour (I think it’s because there’s some regulation in place dealing with vehicles that go faster than that; the Segway itself could go faster without the limitation in place), and when you approach that speed, the Segway pushes back against you so that you’re still balanced, but you can’t go any faster, and you know that you maxed it out.  That’s the one part that I never got completely used to.  I can navigate perfectly fine at the max speed, but I always feel like it’s going to push me off.   Slowing down from max speed is also scary because to slow down you need to stop leaning forward, but when the Segway is pushing back at you, leaning back makes you feel like you’ll fall off (but you won’t).  My roommate’s solution: don’t think of it as leaning back; just stick your butt out.  It works like a charm!

 

After the talk, I brought the Segway back to my dorm and sent a perfectly innocuous email to my dorm list: “Segway in Faisan lounge (eom).”  It took a few minutes for people to come down, but oh did they come!  My whole dorm tried out my and my roommate’s Segways.  My roommate was very good and cautious about them, giving people proper instructions before they got on.  My attitude was: these things are fun because they don’t let you mess up and while they are nerdy, you can still race them.  Thus, jump right in!  Nick would tell people how to get on and off and balance.  I would tell people to get on.  After they got done rocking back and forth rapidly and gained their Segway legs (3 or 4 seconds), I would tell them to lean forward as heavily as they could to try to fall off so that they could observe that the Segway wouldn’t let them fall off.  After that, they would pretty much figure things out. 

 

After learning the basics, people had a lot of fun.  Everyone raced them around the dorm parking lot.  Segway speed is capped, so racing isn’t about who can go fastest: it’s all about the turns.  It’s moderately hard to turn and keep the speed maxed out.  Also, if you have bumpy terrain and go at max speed, you can, occasionally, feel your feet leave the Segway for a moment as you get some air.  WAHOO!!!  Folks also had some fun going down the very steep FloMo hill.  I can't wait until Segways become affordable (though if you've never ridden one before, they're still relatively cheap to rent for a day).

 

Aside from my fun going backwards and sideways at the same time, there were only two casualties.  One person was going down the hill (I mean, uh, under perfectly normal use following all safety precautions) and managed to trigger a very weird Segway bug that made it turn off.  In theory, they fixed all of the popular bugs with the last version, but I guess the software still isn’t completely perfect.  Because Segways balance for you, when it turns off (which it is never supposed to do while you’re on it), you will feel very off balance.  The person who was on it managed to jump off and just run down the hill until they could stop.  The other person tried to go backwards and sideways at the same time and fell down like me.  The local clinic put their arm in a cast as a precaution, but they felt completely fine and nothing was broken. 

 

Going around with the Segway on my own was much less fun.  When someone else is with you, you can communally rejoice in the absurdity of the event, but when you’re alone, you just look like a non-ironic rich nerd.  I think that’s the funnest part about Segways.  They are stereotypically nerdy -- I mean, they’re in the music video of “White and Nerdy” -- and expensive, so only someone who is secure enough with themselves to laugh at the rich nerd stereotype (and someone who can afford it) can get a Segway.  Thus, when Nick and I got them and when all of our friends could try it out, it was very out of place.  We sort of were rich and nerdy, but we were also kids.  Thus, we had the opportunity to don our Segway helmets, get on our Segways, and race them at their maximum speed limit.  I imagine it's a similar sensation to joyriding in your parent's old beater car or inventing a drinking game that involves Pong.  Of course, I don't endorse either of those; the only type of self-balancing that your parent's old beater has is involves the neighbor's expensive car, and the only type of self-balancing that drinking games have involves the toilet (or the garden outside the frat as the case may be).  And don't even think about mixing drinking games and Segways!

 

Kasparov

I was impressed by Kasparov.  Like Segways, his stereotypical nerdiness doesn't do justice to the coolness that is him.  Recently, he hasn't been playing much chess, and instead he has been working on theories of human computer interaction and democracy.  He's also very funny -- he made Palin jokes right alongside his Putin jokes. 

 

The first part of his talk involved interaction between humans and computers.  While some AI people (the minority now) believe that machines will completely surpass human intelligence in the near future (there are utopian versions where the machines will make us live forever and dystopian versions like I Robot and Terminator), Kasporov (like most AI people) believe that computers and humans are good at different things and can work together, at least for the near future.  For instance, he took a very good chess player, a very fast chess supercomputer, and a pair of an average chess player and a normal chess computer, and he had them play against one another.  The human-computer team did better than either the fast computer or the good chess player alone.  The idea is that the human can bring in intuition and possible good guesses, and the computer can make sure that the human never makes any stupid mistakes, whereas even good chess players are vulnerable to stupid mistakes, and even very good chess computers don't have the software to equal good chess players. 

 

The second part of his talk was about innovation versus incremental improvement.  In his mind, the two are opposed.  Airplanes today are mostly the same as they were decades ago.  Even things like the internet and wifi and cell phones are innovations from decades ago (though we haven't started using them on a large scale until recently).  We are trying to solve monumental problems like global warming and corruption through small improvement on the same ideas.  Yes, the improvement is real, but no, it isn't enough and won't be for the foreseeable future.  We didn't win the space race or split the atom with incremental improvements.  We did it with massive collaboration, a breakneck pace, and the idea that what we were doing was radically different.  Our society needs to change from incremental improvement to true innovation.

 

After the talk, Kasparov played 10 simultaneous chess games against Palantir's best chess players.  He beat all of them in about 40 minutes.  Even when all 10 of them were still in, he would look at each chess board and make a move almost immediately, whereas many of the others would still need extra time even though Kasparov was facing off against 10 people at the same time.  I can't imagine many things nerdier than watching a chess game, but this was intense!

 

Queering Vegan Dinner 11/4

One of my friends is a queer vegan, and she wanted to explore some of the ways that queerness and veganness might be similar or different.  The food was very good, and the event was interesting.

 

Some of the similarities and differences presented: both try to get allies on board since the majority of people don't identify as queer and the majority of people aren't hunted for their meat (hey, not where I'm from at least!).  Queers often fear for themselves and their own rights, whereas animal rights activists are exclusively allies to the movement.  Both movements are fighting against brutal violence: queer people are often killed and mutilated, and animals in factory farms are exclusively killed and mutilated (if you want to eat meat, continue eating meat, but please try to avoid meat from factory farms). 

 

The most interesting part was the audience.  There were a few queer vegans and vegetarians, but I think that everyone else was either queer or vegetarian, but not both.  A lot of the vegetarians seemed very anti-vegetarian.  I think I heard "I'm vegetarian, but I'm not one of those militant vegetarians.  They should just leave people alone!" 4 or 5 times.  This prompted one person from the queer group to notice a similarity: in gender issues, people often say, "I believe in women's / queer rights, but I'm not one of those militant feminists / flaming gays!"  It's as if people can agree that there might be something desirable about the end goal of equality, but they think that moving towards that goal is unacceptable because it disrupts the status quo.  For what it's worth, I'm not a militant queer or vegan, but I'm very grateful that there are people out there fighting the good fight with due militancy for queers, women, animals, and everyone else. 

 

Biocomputation Conference 11/6

Stanford had its annual Biocomputation at Stanford conference (BCATS), and I helped out.  That meant getting up at an obscenely early hour and helping set up.

 

There were some interesting talks, but none had quite the “Aha!” factor since most of them were still in their early stages.

 

Sal Khan of the Khan Academy 11/10

Sal Khan did econ at MIT and went into one of those econ careers that makes money.  Then, one of nieces or nephews asked him for tutoring over Skype, and he was a good tutor.  Word spread, and his tutoring was so renowned that he decided to make one YouTube video for all of his relatives rather than doing the same lesson each time.

 

It was a hit!  They preferred the video to live tutoring.  In a video, you can re watch the hard parts, you can pause when you need some extra time, you don't have to pretend you understand everything, you only have to digest 10 minutes of material at a time, and it's infinitely scalable.  Pretty soon, he was getting comments on his YouTube videos from complete strangers saying that they watched the videos and understood the subjects.  They said that they were going to drop out of high school, but Sal Khan's videos let them learn.  They said that they were adults that didn't have the opportunity to finish high school, and the videos let them get their GED.  They said that they were having trouble in college, and the videos let them get caught up enough to stay on track.  That's when Sal quit his day job.

 

Since then, he has made thousands of videos and has complete coverage from K-12 of most math and science subjects.  He puts out videos like a machine.  He has 1 million users per month and will have 10 million per month in two years.  His costs are close to 0, and he has reached more people than the Hewlett Foundation has done with $65 million and more people than most other massive education initiatives.  Google has given him a few million to keep on doing what he's doing (but even before then, he got lots of unsolicited donations).  One of the things that they funded was translation, and that's what he came to talk about: translating a set of videos would only take a year, and it would enable millions of people to get a first-rate education.  That's one of the most high impact jobs that you can do.  If you're interested, contact him on his website!

 

He says what he uses for his setup on his website if you want to try something similar yourself.  Also, since I'm doing something similar (see CS199), I asked him for advice.  He told me to smile and have fun, or the videos will suck.  After that, I tried to be over the top enthusiastic, and my videos improved markedly.  It's like having jokes in these verbose letters.  If there is a joke sparse region (there exists some epsilon > 0 such that the area under the joke curve is negative, implying that a person should have their mind numbed before even attempting to integrate my verbose letter into their mind), it ought to be replaced with a strongly hilarious component (a set of nodes such that every node can find a way to eventually laugh at every other node in the set through an intermediary of some other node in the set.  It's like getting one of your friends to play a practical joke on someone else).  Content that is an SHC is much better than content existing in a joke sparse region just like videos that are enthusiastic are much better than videos that are energetically sparse.

 

Robert Putnam + Religion 11/16

Robert Putnam is a Harvard professor who wrote the book "Bowling Alone" about how late 20th century Americans had declining social capital and about how social capital is important.  Social capital is the interactions that people have with one another.  Putnam's thesis was that in the 1960s, people were bowling together in leagues and bonding with one another; now, we're bowling alone.  There is also a divide in social capital along lines of socioeconomic class:  this generation, upper middle class kids are more likely to be civically engaged, have high self esteem, and do well.  These students used to think *on average* that, compared to their peers they were A- students, whereas now the average upper middle class student thinks that, compared to their peers, they are an A+ student (Nice average!  I blame grade inflation).  Working class kids, who are less likely to spend time in social organizations or spend time with their parents and who have lower self-esteem are doing worse.  They used to think that they were B- students compared to their peers, whereas now they think that they're C- students.  They have a different set of opportunities in life.  In other words, social capital is important. 

 

He came to Stanford and SLE to talk about his new book about religion.  Half of all social capital is religious.  If you add up all of the bowling leagues and book clubs and whatnot, there are as many of those groups as there are of prayer groups and religious based philanthropy and volunteering and such.  He had three conclusions about religion in American society: we're divided, we're tolerant, and religion makes you more generous.

 

We're divided into very religious and not religious.  This division is a very good predictor of political affiliation, which wasn't true in the rest of American history when progressive movements used to have strong religious ties (ie, MLK).   Also, we're more religiously diverse than many other nations.  This makes America a very unique society because, historically, religious diversity is toxic to a democratic society and causes great upheaval, whereas the US manages it with tolerance. 

 

We're tolerant.   Even though most religions aren't big on people of other religions having a good spot in the afterlife (ie, Christians probably have too much desire to be a good Buddhist, Muslims eat beef, and Hindus eat pork), 90% of Americans think that people of other religions can go to heaven even against the scriptures.  Most religious folks tolerate nonreligious folks and vice versa.  It's because we're becoming more connected.  If we have an aunt that is gay / atheist / Hindu / whatever, then we aren't likely to think that those people are bad.  Thus, because America is more religiously diverse than much of the rest of the world, despite all of the discrimination against Islam in America, Americans are more tolerant of Muslims than Western Europe.

 

Religions make a person more generous.  It isn't that more generous people are attracted to religion; something about having a morally bound community causes it.  It doesn't have to do with the content of the religion because this is true of all religions.  Also, social capital in religious contexts is supercharged.  He described religious friends as superfriends (and I don't think that he was talking about the Justice League!).

 

The talk ended on a hopeful note.  Even though we have tons of problems in the 21st century, we also have more social capital than before because of things like Facebook (this is why I take Zuckerberg as genuine when he talks about building an open society).  In the end of the 19th century, like the generations between the 1960s and now, there was a high sense of political corruption, increasing class divides, lots of immigration, and low social capital.  Then, people in their 20s had high social capital and fixed the problem by making progressive political institutions.  Thus, the current generation is right on track to be agents of change.

 

Before School

Brief Time Home

My flight home from Cambodia (8/25) was similar to my flight there.  I spent the night in the Bangkok airport, including a short nap and a while using the outlet at a Starbucks.  There weren't as many interesting movies going east, so I mostly napped.  I was sitting with someone from Japan who was going to California to study education.  She was very self conscious about her English, but she spoke flawlessly. 

 

I didn't spend much time at home.  I pretty much unpacked, repacked, and left.  It was a busy time.

 

The Stanford alumni network has sendoffs for incoming frosh (and their parents), and they try to get current Stanford students from the area to come.  I stopped by (8/29) and answered some questions for the incoming frosh.  I saw one of them again on the train ride back.  Another one was interested in the introductory seminar on Noam Chomsky that I took when I was a frosh.

 

I saw my sister's apartment in Portland for the first time (8/30).  It's a nice place.  Very cozy.  She seems to like it.  She showed me her office, took me to a movie, and took me to some eateries in the area.  I also added on to her T Mobile plan and got a smartphone.

 

Smartphone

Why Now?

While I Portland, I stopped by the T Mobile store with Kawa and picked up a Samsung Vibrant smartphone.  I had been deliberating about this phone for a long while.  When I was in Eugene, Owen, my old debate coach, and I checked one out, and I had been talking with Owen about getting a smartphone and about the different options since the summer.

 

I decided to buy a replacement for my phone at all because Owen convinced me that it would change my life, and he wasn't even talking about it changing my life for the worse!

 

What Model?

I decided on the Samsung Vibrant for a few reasons. 

 

First, I support open source software, so I wanted to get a phone that runs the Google Android operating system.  The fact that it's open source means that programmers can do whatever they want with the phone.  For instance, if I had an iPhone, it would cost $20 or $30 per month to get tethering (tethering means using your cell phone to give internet to your laptop), whereas on Android, it's free.  Also, it's probably more secure, and it's easier for me to write an app for it if I want to (I don't have to pay $100 for the privilege to write an Android app like is the case with Apple.  And, as Apple lets you know, it is a privilege, not a right).  There are also a bunch of really innovative apps that other people have written for it.  For instance, Swype is a text input method that runs on new Android phones where you don't have to peck at the keys; instead, you drag your finger over the on-screen keyboard and it figures out what word you wanted to type.  The Google integration is also very nice.  I can now use Google Calendar, Gmail, Google Voice, and Google Reader very easily.  This is as opposed to the iPhone, which banned the Google Voice app until there was court action.  Android phone makers also tend to use other open technologies.  For instance, the charger for the phone is a standard USB to USB-Mini hookup, so if I lose my cable, I have others that I could swap in. 

 

Then, I had my choice of carriers.  I chose T Mobile because I don't like AT&T and because I support open standards.  In the US, there are four networks: Verizon, Sprint, AT&T, and T Mobile.  There are other cell phone companies, but they're just middle people (for instance, Credo Mobile donates part of their profits to progressive causes, but they still use Sprint's network).  T Mobile and AT&T use GSM, a global standard that every country but the US and Japan uses, and Verizon and Sprint use CDMA.  GSM is nice for consumers because your phone number is tied to a SIM card rather than a phone.  That means that I can put my SIM card into any phone and I can receive phone calls at the same number.  On CDMA, I would need to take my phone into a Verizon or Sprint store to do the same thing.  Otherwise, my phone is a brick (and not even a very good brick -- it's not sturdy, not very heavy.  You could still probably throw it through someone's window if you were a vandal, but that would just be stupid).  GSM is especially nice if I travel internationally.  With a GSM phone, I can just pick up a $10 SIM card off the street and put it in my phone, and then I can use the same phone to send and receive calls even though I have a new phone number.   With a CDMA phone, that wouldn't be possible except for in Japan.  Verizon probably has better service than T Mobile, but T Mobile is good enough that open standards is a deal breaker.  AT&T, in addition to having a bad data pipeline (slow internet over the phone), does things that I don't like such as supporting Republican candidates and wiretapping everything that goes through their networks.  Thus, I went with the only GSM carrier that I agreed with.  It was also nice that I could get on a family plan with Kawa.

 

At that point, there wasn't much of a decision remaining.  The Samsung Vibrant was the newest Android phone on T Mobile.

 

How Is It?

I like my smartphone because it makes me more efficient:

 

The screen is nice.  It has higher pixel density than a normal computer, so reading is easy.  I now much prefer reading on my smartphone to either my computer or a dead-tree book.  I don't worry about the light source or holding the page open or keeping my place in the book.  I just tap on the screen to turn the page.  I can read anywhere, at any time, without having to carry something bulky with me.  Since getting my phone, I've read "Snow Crash" by Neal Stephenson, "The Fall" by Camus, and "Cat's Cradle" by Kurt Vonnegut because reading became more convenient. 

 

It's there when I wake up.  Right after hearing my alarm, I can check my email, catch up on the news, and look at my calendar.  This has replaced my snooze.  It also means that I don't need to turn on my laptop right after getting up.

 

It's there when I'm not doing anything.  Rather than wasting time while waiting in the line, I can read the news, check my email, or read a book.  It might only be 5 or 10 minutes at a time, but I have much more time than I did before because when I get home, I don't have to spend an hour answering my email.  Also, for the first time in a while, I am caught up on the news.  

 

I don't feel anxious about email.  If there's an email for me, it's in my pocket. 

 

I always have internet.  For half of my train ride from Stanford to Eugene, I had internet access on my phone.  At debate tournaments that don't have wifi, I have internet.  At hotels with extremely slow wifi, I have something fast enough for my purposes.  In a restaurant, when I need to do my bio homework that's due in an hour while everyone else eats, I have internet (fun fact: this actually happened).  This isn't just phone internet.  I plug it into my laptop, and I have the real internet on a real computer, and I can rebroadcast it to anyone who needs it.  Having this option also makes me realize just how much internet sucks in the US.  I have been lucky to live in a place that has 5MB/s (that's megabytes, not megabits) upload and download and no latency.  A lot of places have internet that costs more per month than my phone internet and is of a similar quality to my phone's internet, not to mention the fact that it's much less useful because it's tied to one place.  4G cell phone internet will be better than a lot of the wired internet in this country.  It is sad when a cell tower can broadcast better internet than the broadband company can give you over a wire. 

 

I am never in an unfamiliar area.  If I have cell phone coverage, I have a map, I have Google, and I can ask for nearby restaurants or banks or stores.  This means that I don’t need to plan ahead of time.  I just arrive at the train station or airport and tell my phone to bring me to my destination. 

 

I only need one calendar.  I manage my life by Google Calendar; if something doesn't make it onto my Google Calendar, it probably won't happen.  Now, I have my complete calendar on my phone.  I don't need to make a mock calendar on my phone to make sure that I can get to my next location when I don't have my laptop out. 

 

It also has plenty of bells and whistles.  It plays music.  It plays videos.  It has video games.  It can read QR codes (fancy barcodes), and it can take pictures of products or paintings or books and find exactly what it is and how much it costs (which would be useful if I ever shopped).   If you point it at the sky, you can see the names of the constellations.  If I invest in a Bluetooth or mini-usb keyboard, I could use my phone to take notes in class, which would be considerably lighter and have a better battery life than my laptop.

 

Getting the phone has finished making me independent of any particular place: I have stopped carrying bulky utility belts (scanner, books, every type of office supply imaginable, etc) and have turned nomadic.  I can carry everything that I need for any amount of time on my person.  My worldly possessions simplify down to my laptop, phone, wallet, a toothbrush, a razor, and a change of clothes.  Everything else is already waiting for me at my destination, wherever that destination may be.  My work and my companions are the only things that tie me to any place.

 

Things I Don’t Like

The one thing that I don't like about my particular phone is that Samsung / T Mobile / Google isn't releasing the most up to date version of Android for the Samsung Vibrant.  I'm not entirely sure whose responsibility it is.  Owen thinks that Google is being slow to add hardware support for the Samsung Vibrant in newer versions, whereas I think that Samsung and T Mobile are being slow to make their user interface tweaks to the new version even though the new version supports the hardware.  Finally, in January, they released the Android 2.2 upgrade (everything got faster, the battery life got better, and it now supports Flash). 

 

I actually don't like the term "smartphone" because that creates the image of a phone that is "smart" with other features.  Instead, I think of it as a handheld computer that also happens to be able to send and receive wireless communication on WiFi and Cell Phone frequencies.  I use its ebook and email features much more than its phone features.  Too bad no one else would know what I was talking about if I called it anything but a "smartphone."

 

Going Back East 9/2

I left from Portland to Pennsylvania.  Someone in the Portland airport hassled me about my bag being too big.  I told her it wasn't too big.  She continued hassling me.  She eventually said that I could continue on, but that I might not be let on to the plane with it.  I continued on.  It was completely fine. 

 

Also, because I had my newly-acquired smartphone, I was able to give my laptop internet at any location and keep up with coaching my debaters and with planning the dozen or so meetings I would have at the start of school.

 

It was good to see the family again.  There is an element of culture shock every time I go towards the Atlantic, but being with the family helped me get through it, and it was nice to see everyone. 

 

One weird thing was just that it was a different environment.  When I first went to Stanford, seeing the affluence there (It's not that the grass is "greener" so much as that there is green grass at all in a desert) made me feel very uncomfortable, but as time goes on, it gets harder to see just how weird my own nest is.  Travelling to a friend's nest makes me realize how weird their nest is and, by similarity to my own, reminds me of how weird my own is. 

 

I saw my cousin in college for the first time.  It's amazing how everyone is doing computer science.  He's closer to electrical engineering, but EE and CS have close relationships with one another.

 

I also was confronted with a young version of myself.  My other cousin's son, from a young age, has been compared to me.  Before my sister started taking photos of me for a photography class, I was very photo-shy, and he is photo-shy.  Before debate, I was very externally introverted (now I'm only internally introverted!), and he is pretty introverted.  The primary difference is that he is actually physically active.  It was weird being reminded of my introversion in an external frame.  Now that I have a sense of humor, can make a speech at the drop of a cat (dropping a pin might break something; cats always land on their feet), and have as much of a public face as any Stanford student, it is weird being reminded that my introversion used to manifest in isolation. I'm thankful that, between debate and pushing myself into leadership positions, I have seen the joys of relating to other people. 

 

Mostly, it was good to just talk with my family.  When I got up early, I would sit out on the porch and chat with my Grandma and Grandpa.  The talks wouldn't necessarily have any particular focus, but I still learned things that I didn't know about their lives and experiences.

 

The passage of time is disorienting.  When I had come before, I didn't come as an adult.  Now, I feel confident that if I were dropped anywhere in the world with minimal support, I would have enough skill and education to make it on my own (whatever that means; I certainly don't have any bootstraps with which to pull myself up). 

 

Of all of my relationships with my family back east, I felt like my relationship with my grandparents was the only one that didn't change.  Or, to be precise, I felt like they were still my grandparents, and they were still giving me the same thing that they gave me when I was 6.  They were giving me their culture, their experiences, their food, and their kind words.  The thing that changed was myself and my relationship to those things.

 

With my other family members, I feel like the relationship is different.  An adult dealing with a child is deferent to that child's parents.  They will supervise the child, but they will ultimately speak to the child through proxy of the parent.   In other words, when I was 8, my uncles weren't giving me career advice or calling me a pinko commie (of course, they would never use those words!  It is, though, interesting seeing how their challenges to my philosophy change even as my philosophy remains largely the same as a result of my increasing employability as a computer scientist and my increasing experience with the social sector).  Seeing the role reversal with kids is similarly interesting: I have interacted with young kids, but mostly in my status as a college student rather than as a family member. 

 

I even feel different within my own age bracket.  When I was young, my relationship with my cousin was in a category of its own.  Then, I perceived the relationship to involve a similar age and a lot of differences.  He was always more active than me, and I was never athletic.  He lived around other people, whereas I lived in a rural area.  We both spoke very quietly, and I would often have trouble hearing him (especially on the phone); I'm not sure whether he had the same troubles as me.  I was a little more of a goody-goody to adults: I remember one time when we were playing a video game, and he would always focus in on the video game to the exclusion of all else, but I would keep an ear open for any adult that told us that we needed to stop for dinner or something.  I had a little bit more moderate of a temperament: I remember that my mom got me and him the early Pokemon Gameboy games, and we had a pokemon battle.  He chose a fire pokemon, and I chose a water pokemon, so mine had an advantage against his, and I won, and he didn't take it very well.  I even remember that the adults didn't quite appreciate what was going on in my head: when he didn't take it well, I immediately suggested another game where I would use a different pokemon to let him win, but the adults in the area quickly shut down that idea with the fear that another game would make it worse.  Also, he was unique in being in my age range when I was on the east coast.  Now, none of that is relevant.  We're both pretty much the same, and I treat him just like I do any of my college friends.  Even if he's the only person who is within one year of me in age, I can relate to anyone in late high school or older as an adult.  All of the differences melted away with the years. 

 

Except for the athletics.  He still has me beat by leaps and bounds there.

 

Getting Back to Stanford

From the northeast, I flew to Wake Forest University, North Carolina for a debate tournament.  It was good to see the kids again.

 

After that, I flew back to California.  I ended up on a different flight from the rest of the team, but all was fine.

 

My roommate picked me up from the airport and took me to his house.  I spent a few days with him there until school started.  I surprised his little brothers with some souvenirs from Cambodia.  I bought the brother that just got his driver's license "Carrying Cambodia," a book with pictures of all of the things that Cambodians fit on Tuk Tuks (if you don't have the chance to peruse the book yourself, the answer to "what do Cambodians carry on Tuk Tuks?" is "everything!"); I bought the littler brother that is a masterful chef "From Spiders to Water Lilies," a book on traditional Cambodian cuisine from Friends, a nonprofit that brings people off the street and runs a successful restaurant (the "spiders" are tarantulas.  As a vegetarian, of course, I didn't eat any).

 

Arts + Culture

Events

Toy Story 2 at Flicks 9/18

Flicks is a movie theatre on the Stanford campus that plays for free every Sunday.  This was the first time I actually made it to Flicks.  Apparently, there’s a tradition of ripping up newspaper and throwing it at one another before the movie starts. 

 

Sara Bareilles Concert 9/19

There was a free Sara Bareilles concert in San Francisco, and Nick took me to it with one of his brothers and another friend from Stanford.  It was pretty awesome.  I hadn’t heard a lot of her music except for the popular songs, but she had a good performing personality.  She made a lot of jokes with the audience, often about her own language (ie, swearing, then commenting that there were children in the audience, and swearing again -- except she was actually funny, unlike this retelling).  

 

Waiting for Superman 10/8

Waiting for Superman is about the current state of education in America.  Before seeing the movie, I heard a lot of blurbs on the union blogs about how the movie was anti-union. 

 

What I liked about the movie:  it talks about education to a large audience in a mostly realistic manner.  The education system is failing.  It also shows several examples of programs that succeed without needing more money than is currently being allocated, and I think it’s important for people to realize that money isn’t the only solution -- I agree that teachers are underpaid, schools don’t get enough supplies, and class sizes are too large, but statistically, the amount of spending per pupil on a statewide level does not correlate with educational outcomes because you need to look at where the money is going (is it all going to a few rich schools?  Is it all going to the AP classes?  Does it discriminate based on race?). 

 

What I didn’t like: the movie conflates a lot of stuff together into “the system.”  This often means mentioning the AFT (American Federation of Teachers) and then saying “the system” in an evil tone.  I disagree with the way tenure works in a lot of places, but the movie makes it seem like that’s all that AFT does.  Some of the statistics in the movie are inaccurate (check out the Wikipedia page).  They also overlook the large amount of private grants that fund the success models that they tout.  Also, because the movie focuses on a few individual stories, I think that they lose out on part of their goal -- to focus on the whole education system.  At the end, when the viewer sees whether the kids get in to the charter schools, there is a sense of rooting for those kids (because we’ve been watching them for the last two hours) even though everyone else in the lottery is just as needy as the families the movie focuses on. 

 

I went to a very good public high school.  I have friends who went to good private high schools.  I also have friends who went to bad public and private high schools.  As far as I can tell, the biggest common factor is the culture.  My high school was next to the University of Oregon, so the kids of university professors were in my classes.  The people valued college.  The first time that I had consciously thought about college was in my sophomore or junior year of high school, but I had always assumed that I would go to college, and it was the same with many of my peers.  I feel like that’s the same at Palo Alto High School. 

 

On the level of the teacher, the common factor that I can identify is respecting the kids as learners and engaging them.  In Faber and Mazlish’s “How to Talk so Kids Can Learn,” it is clear that even “problem” kids can learn a lot if you give them the chance.  The reason that debate works and gets kids who would otherwise drop out to succeed and go to college is that their education is in their own hands. 

 

I think that the reason that the culture is important is because it means that it’s assumed that kids are learners.  Respect is the default because these kids will mostly go to college and will, soon enough, change the world. 

 

This makes sense for Sal Khan’s extremely successful method of online teaching (see Sal Khan of the Khan Academy in the lectures section or check out khanacademy.org).  When a student is learning online, they don’t have to worry about any expectations of their teacher.  The material is there, judgment free, regardless of whether they pause or have to post a question or have to look something up, and Sal is very engaged and engaging when he lectures.

 

The successful examples presented in Waiting for Superman had that common feature too.  One school didn’t have tracking, which meant that the school had the expectation that every child can learn every subject that the school teaches.  Transferring from an inner city school to a private school means something, and the kids know that, so they are automatically in a culture where they opt-in to education. 

 

How can we institutionalize respect for learning?  Aside from funding policy debate programs at every school, of course. 

 

Social Network + Pizookie + Privacy 10/16

I was sick, but I still ate a Pizookie (massive ice cream cookie shaped like a pizza pie.  Best food ever with a sore throat) and went to the Social Network.

 

The movie was fun, but since I have seen Mark Zuckerberg talk twice, I think I give him quite a bit more credit than the movie gave him.  The movie portrayed Zuckerberg as a socially inept programmer who made Facebook for prestige and/or a girl and who manipulated people up the wazoo.  It also portrayed east coast schools as elitist and Stanford as a major party school, but that’s beside the point. 

 

I think that Zuckerberg is a pretty nice guy.  Whenever he talks, he talks about how Facebook is a cool idea because people want to connect with each other and about how social networks contribute to making an open society.  Someone from Iran probably won’t want to bomb Israel if they have friends in Israel (or vice versa).  Politicians / corporations probably won’t lie as much if they know that the news will rapidly make its way to everyone’s status.   Connecting people is important, and that’s what Facebook does.  More than anything else, I think that Zuckerberg is a pretty cool guy for helping people connect with each other.

 

People also ask me about my thoughts on Facebook and privacy. 

 

I assume that nothing is really private, and not just on Facebook.  If I rubbed someone the wrong way, then even without setting foot online, they could probably get my credit card numbers, my important passwords, and my deepest darkest secrets.  Technology is good enough that someone could probably have a camera and an audio recorder planted on me right now, and I wouldn’t even know.  When the FBI decides that someone might be a terrorist because of their ethnicity or religion, they don’t look on Facebook to spy (well, they probably do); they plant a tracking device on the probably-innocent-person’s car.  The government already has deals with AT&T to spy on all internet traffic and to engage in wiretapping. 

 

Even then, technology is rarely the weakest link in security.  The weakest link is people.  If I pretended to be a Stanford administrator (or even an RA) and that a student was sick, I could probably get a lot of that student’s personal information from their family. 

 

If you’re worried about anyone as smart as the government (or someone else’s government, or a corporation, or whatever) violating your privacy, then you better be routing all of your internet traffic through Tor, going solely to encrypted websites, and wearing tinfoil hats.  This is the information age, which means that it is becoming easier and easier to access and disseminate all forms of information.  If you’re trying to hide something, it’s an uphill battle.

 

I am fine with casual privacy, but I think that Facebook does a pretty good job with that.  By casual privacy, I mean that I don’t generally walk around naked (being in college doesn't make me completely socially inept), but I also wouldn’t feel bad about stripping down if it were a matter of national security (why do I feel like I’m echoing dozens of movies and TV shows?).  Nothing is truly secret, but that doesn’t mean it has to be in everyone’s face.  Facebook lets you control who can see your data and lets you limit each part of your data to only specific people or only friends or only friends of friends. 

 

How do we adapt?  I try to live my life as an open book.  It would be trivial for me to make these verbose letters private (constrained by the previous paragraph), but instead I publish them to the world.  I try not to do things that I wouldn’t feel comfortable telling everyone about. 

 

When asked about how the world will change when politicians running for office have their data all over the internet, Zuckerberg saw it as an overall positive.  We will realize that no one is perfect and that the stupid issues that become campaign slanders will become non-issues. 

 

In other words, I agree with Zuckerberg’s basic idea.  We’re living in an open society.  The challenge is to stop trying to hide ourselves away from everyone else and start embracing the new potentials for community.

 

Café Night 10/29

Café Night is my dorm's version of a talent show.  There were some amazing readings.  One frosh read a fake dramatic emo poem.  An RA read something that he wrote when his years were in the single digits -- he talked about someone passing away before he realized that implied death (they passed out).  I did nothing for this night.  Next time, I might do my own dramatic reading.

 

Lysistrata 11/18

The SLE student run play, Lysistrata, was as funny this year as years past.  I had to run out early, but it included much dancing and a little drag.

 

Harry Potter 7 (Part 1) 11/18

Later that night, I went to Harry Potter 7 with my roommate and his little brother.  Our dorm went too, but they went to a different theatre.  Since it was opening night, the theatre was full.  There were a bunch of young girls that gasped when Daniel Radcliffe took off his shirt (and that wasn't even the most scandalous part!). 

 

Gaieties 11/19

Every year, before the big game with Cal, there is a "Beat Cal" play called Gaieties.  I went during my frosh year, but the acoustics were so bad that I didn't hear much of it.  This year, one of my friends was in it, so I went again.  It was pretty offensive.  The play talked about the "indistinguishable Asians" at Cal, demonized the "smelly homeless people" at Cal, had Jesus commit the seven deadly sins, made light of Native Americans getting drunk,  and made fun of the black community at Stanford. 

 

Ujamaa, African themed dorm at Stanford, walked out midway through the show.  Someone behind Gaieties wrote a letter in the Stanford Daily saying that they consulted some Stanford administrator about the content of the play.  That person replied in a later letter that they were, in fact, not consulted.

 

Books

"Fast Times at Fairmont High" by Vernor Vinge

Not to be confused with Fast Times at Ridgemont High, this book is a pre-Google description of what the internet might look like in a few years.  In Vinge’s world, cell phones didn’t take off; instead, there are millions of pea-sized wireless routers sprinkled everywhere, and computers are embedded in people’s clothes and contacts.  This means that computing is location-aware and always available (and that the internet is always available).

 

The novel presents this as a mixed bag.  On the one hand, kids know much more at a younger age, and they are actually being trained to make the best of a world where information is public.  However, the book is about the things that are lost when we’re always plugged in (I, obviously, didn’t find that part of the book very compelling).

 

For instance, because computers are location aware and because people have computers in their contacts, there are visual enhancements (virtual reality overlaid on top of reality).  Rather than putting on makeup, I could just tell the computers on my clothes to broadcast that I’m wearing makeup, and then other people’s contacts would put makeup on me.  However, the protagonist always turns this feature off to see what the real world looks like, indicating a discomfort with the “fake” world of computers.

 

I don’t agree with this critique.  The Buddhist critique of reality is similar to Vinge’s critique of computers, but while Buddhism questions the Truth of the data carried on light and sound waves, Vinge questions the Truth of the data carried by computers.  My philosophy is that humans are data processing machines.  Just because a ray of light transmits color data from someone’s clothes to my eye doesn’t mean that that ray should be privileged over one that comes from my computer screen to my eye.  It’s all data.  No exceptions. 

 

The reality of virtual enhancements is superficial in the same ways that the reality of a mass consumer culture obsessed with its looks is superficial.  In Fast Times, characters portrayed as strong are the ones that wear real clothes that show power in their simplicity whereas the characters portrayed as weak are ones with only a digital presence.  The problem with both of these characters is that their strength comes from something other than their character.  A person isn't strong because they look good in a suit without computer enhancements.  A person is strong because even though they're a nerd, they stand up for someone who is being bullied.  In other words, Lady Gaga looks a lot better in her dress made of meat than a picture perfect celebrity with a nose job.  Culturally, computers aren’t all that different; they’re just a lot better.

 

Similarly, the protagonist has a manipulative friend who he has never physically met, but who he has known for years using a virtual reality avatar that’s projected into the world around the protagonist.  At the end, the manipulative friend keeps trying to contact the protagonist, and the protagonist basically turns off his phone, and the author portrays this unplugging as a big relief.  Never mind that the same situation could happen with no technology.  The protagonist’s anxiety comes from dealing with a manipulative, high maintenance person.  That person could still be manipulative if he existed in the physical world.  The protagonist isn’t liberated by turning off technology, but rather by saying “no” to his former friend.  

 

The author also has an unrealistic view of programming.  The protagonist’s dad was trained for years to be a Zygna 5 programmer, and 2 years later the programming language went out of style, so the dad is useless.  This leads the protagonist to take (custom and possibly risky) mind enhancing drugs in order to “have his chance” in the world.  I don’t think that this is a realistic picture.  Any half decent school will teach their programmers the general practices that are applicable to every language.  And the fact that everyone is online doesn’t mean that you need to kill yourself to compete; it just means that you can’t win by doing the same thing as everyone else because, when you’re competing with the whole world, there is always someone better than you.  In other words, creativity becomes paramount.

 

"Cat's Cradle" by Kurt Vonnegut

Cat's Cradle was interesting, and I'm not quite sure what I think of it. 

 

The book itself was a good read.  The protagonist is researching the history of atom bomb.  The fictional creator of the atom bomb was a disinterested scientist who couldn't function as a human being because he only cared about ideas, not people.  This scientist also made a weapon with the power to instantly and irreversibly destroy the world's ecosystem (and I thought that nukes were dangerous!).

 

The focal point of much of the book is the fictional religion Bokononism.  Bokononism was started by Bokonon, who founded the poor island nation of San Lorenzo where much of the action in the book takes place.  Bokonon founded the religion to ease the suffering of the people in San Lorenzo since the island isn't a very fun place (no strategic importance, no good land, etc).  In other words, Bokonon doesn't believe or tell others to believe that Bokononism is true, but he believes in it nonetheless.  The only thing that is sacred in Bokononism is people.  In other words, the religion is existentialist and humanist, embracing both randomness and purpose in life. 

 

"The Fall" by Camus

Camus is my favorite author for his book, "The Plague," which I talked about in my spring 2009 verbose letter.  I had also read "The Stranger," which seemed to establish absurdism, on which the ethic of "The Plague" is based. 

 

"The Fall" was the first book that I've read in a while that was disorienting.  It's a 160 page monologue of someone who fell from grace because he failed to act to stop a death.  After that event, he never regains his composure or his comfort with life.  He feels guilty, but no legal or social structures will condemn him because all people share his guilt.  In Camus' philosophy, inaction in the face of injustice is bad.  Thus, the narrator sees that the systems of justice embodied in social and legal codes are insufficient because they cannot condemn his inaction, so he loses faith in those codes (though he retains the hope that a white collar crime will get him imprisoned.  Alas!  He meets only lawyers, and no police).  

 

One possible motivation in "The Fall" is to establish imperfection.  In "The Plague," Tarrou seeks to be a saint without believing in religion, whereas Rioux prefers humanness.  Perhaps "The Fall" seeks to show that Rioux's path is desirable because it does not set itself up for as drastic a fall. 

 

It is a book that I need to reread.

 

"Snow Crash" by Neal Stephenson

Motivation

Before the start of the term, I was chatting with Owen, my old debate coach.  I was telling him about my biocomputation class from spring term of my sophomore year.  The final assignment was a molecular dynamics simulation: I made a program that took in a snapshot of every atom in a protein and used physics equations to simulate the forces of each of the atoms on each other atom, which made the whole protein move a small amount.  Then the program repeated that a few million times, and we had a record of how the protein would move over a millisecond. 

 

I told Owen that I programmed it in C++ because the program was very computationally intensive and, thus, slow (C and C++ are fast languages, so they're good for tasks that need a lot of processing power).  He commented, "How could it take a computer minutes to do it for one protein?  The universe does it for every protein in real time!"  My answer: "Every particle has a physics processor, and the universe knows how to divide up the work between each particle" (which is more or less my belief on the fundamental nature of the universe.  Alternately, check out https://xkcd.com/505/).  Owen responded that Neal Stephenson occasionally wrote about similar ideas in his novels and recommended the book "Snow Crash" to me.

 

Setting

The novel takes place in an early 21st century dystopia.  It was weird when I realized that the year in which the novel takes place could be close to today (the protagonist's dad was young during Hiroshima) -- I imagined it to be a century or so in the future. 

 

Stephenson chose a corporate dystopia (corporations take all the power from the government rather than the other way around): the US government became ineffectual enough that it sold its land to "franchise countries," each of which governs its own neighborhood.  Thus, to go from South Eugene to North Eugene would probably require a passport or a visa (or at least a Mastercard!). 

 

Technology has continued to advance on all fronts.  Virtual reality (imagine the game Second Life but with 3d goggles), called "the Metaverse," is the internet; his discussion of the Metaverse coined the term "Avatar" and inspired Google Earth.  It's interesting to think that he wrote the book before Google: the most expensive piece of software in the world, The Librarian, is essentially Google.  Computers have advanced.  There are lots of weapons like nuclear powered rail guns and nuclear powered guard dogs.  Yes, Fido can break the sound barrier with relative ease.  As the saying goes, they have both bark and bite.

 

All of the power in the world is in information.  The most powerful person is the one who has a monopoly on global fiberoptics (he owns the tubes that carry the internet).  The mafia, weapons makers, cults, and franchise owners control most of the power in the world.  The elite are the hackers.

 

Reception

I liked the book. 

 

Stephenson didn't feel compelled by literary conventions.  He even interviewed with Slashdot, a nerd-culture news website, a while back and discussed the difference between academic writers, who need to write for academics and follow a strict style, and populist writers, who can write whatever they want as long as their readers enjoy it.  For instance, while analysts can read Freud into anything, I doubt that Stephenson would feel compelled to argue that there was any deeper meaning to his nuclear railgun fight than the fact that it was a nuclear railgun fight.

 

I could also see a lot of my old debate coach in it.  I won't make any comments about crudeness.

 

There were some funny computer science bits in it.  For instance, Stephenson, though he has done some programming and generally knows about computers, thought that BIOS stood for Built In Operating System instead of Basic Input Output System.  He also thinks that programmers all know binary and every power of 2 (we know 2^10, 2^16, and 2^32.  The rest we just figure out from those.).

 

The overall idea of an information culture was interesting, especially since we live in one.  Especially since the monopoly on the internet isn't too far from today with Comcast and one or two other players in any given area. 

 

One part of it that I liked was that he didn't portray the culture as very different because of its status as an information culture.  The world is different now just as the telegraph made the world different, but it was mostly just people interacting with a different set of tools.  He didn't put people in a setting that was so different in order to show how people are the same.  It felt more like the tools were just a part of society.  The tools were cool and different (while I am not a dog person, a nuclear powered, internet connected guard dog would definitely be cool), but not that different. 

 

Alternately, maybe the world just turned out as per Stephenson's narrative.  Even talking with my debaters that are only 4 years removed, the technology gap is clear.  I used to use a typewriter; they grew up with cell phones, YouTube, and Google as a part of their lives.  I grew up at the same time that the internet was growing up, and it's all novel to me.

 

Stephenson also has a mind virus play a big role in the plot.  The idea is that the computers in humans (our brains) are just as susceptible to having their software altered as computers made of silicon.  The difference is that humans don't know what language our brains are written in, so we don't know how to create mind viruses yet.  In Snow Crash, any precise language that the brain can understand will work (Sumarian and Binary are two languages that have this feature in the book), so anyone who knows that language can have their mind hacked by others.

 

Even weirder: mind viruses exist.  For instance, there's a virus in cat feces that, when a rat is exposed to it, makes rats attracted to cats.  And this is in the real world, not the book!

 

I doubt that in the next few hundred years neurolinguistic viruses will get any better than they already are.  That is, marketing scientists already know that phrasing a message in different ways will change the way that people act, but I don't think that what we hear or see will lead to actions completely unfiltered. 

 

Once humans know how to create the kind of mind viruses like the ones that are in cat feces, though, it will be interesting to see what kind of effect they have on society.  Will they radically alter society, or will they have a similar effect on society to mind altering substances?

 

His take on religion was also pretty interesting.  In the backdrop of a mind-virus culture where production is controlled by the folks who understand how to directly control others through commands that go directly to their brains, other forms of culture have a hard time of taking hold.  The only way to preserve a cultural ideal was to ensure that it doesn't become 'infected' by a mind virus.  Thus, religions had to focus on the text.

 

After an anti-mind-virus takes hold (the Tower of Babel symbolized people ceasing to understand Sumarian, so viruses through commands died out), it becomes possible (though not inevitable) for people to think for themselves.  Thus, there are different types of religion: those that have tightly curated knowledge (ie, the religious texts are important so that our culture can avoid mind viruses) and those that promote individual rational thought.  In the book, Jesus promoted a rational religion by encouraging people to move on from old religious texts and showing them how to be productive without curated doctrine (religious texts) or mind viruses dictating the means of production.  The miracles about making food, then, were about him teaching people to use their rationality to make food without the help of doctrine or mind viruses.  Then the religion became an institution.

 

Culture

I realized that my verbose letters had taken a very narrow view of culture.  While I talked about the cultural elements of fashion, technology, and industry in the past, I didn’t do so in the culture section.  I also didn’t talk much about video games or TV shows as culture even though my reasons for enjoying them are similar to my reasons for enjoying books, plays, and other forms of culture.  I enjoy them because they tell an engaging story that might make me think and that I might be able to relate to.  No, I'm not saying that Pac Man is a narrative about a pill addicted culture (not everything put to print is a novel... I'll leave it up to the reader to come up with examples of films that aren't very educational), but I do think that cooperative games can bring people together and that story-focused games make people think.

 

Video games are unique in that they are interactive stories.  Video games move at the pace that you want them to, and the player has a choice in how they unfold.  They have as much visual art as any comic book, as much auditory art as any concert, as much voice art as any play, and as much text as any novel.  Someone took the text from Planescape: Torment, which is probably my favorite video game, and put it into novel form.  The end result was almost 500 pages of plot, character development, and philosophy. 

 

Now, TV shows and video games will start to make the culture cut in verbose letters.  As soon as I get a moment of free time (can I go back in time to when I was in middle school?), I'll write about some!

 

The Witcher

Thanks to my roommate’s recommendation, I played the Witcher.  It’s a pretty good European RPG.  The game has a rich story, setting, and philosophy, which I like.  It stands as a novel.  It was based off of a novel. 

 

The protagonist is Geralt of Rivia.  Geralt is a witcher, a mutant that takes mutagenic chemicals to fight monsters.  Once upon a time, the witchers were all that prevented the world from devolving into chaos.  A generation before the game starts, there was a war, and there was massive scapegoating against nonhumans, including elves, dwarves, and witchers, so the witchers are now few in number.  Now, civilization is managing (well... apart from the war and racism) without the witchers thanks to things like cities, politics, and technology, so the witchers are having trouble finding their place in the world.  It’s kind of like Buffy. 

 

There are three big antagonists in the game.  The Salamandra steal Witcher mutagenic secrets at the start; the Scoiatel are a band of nonhuman terrorists fighting against persecution; the Order of the Flaming Rose is a bigoted cult.  A few times, Geralt has to side with either the Scoiatel or the Order, but, usually, Geralt can condemn them all as evil.

 

The place of the Witchers and the conflict between the Scoiatel and the Order is where a lot of the story and philosophical development happens.  The Witchers were created to create order by fighting monsters, the instruments of chaos in the world, but now evil wears a suit and tie and claims higher ideals, and some monsters are good.  The Scoiatel have bad means (terrorism) but good ends (resisting persecution of nonhumans, feeding hungry kids).  The Order is a little icky all around: they don’t usually initiate violence, but they do encourage bigotry, they are fine with violence against nonhumans, and their goal world doesn’t seem like a very nice place.

 

One thing that I don’t like about the game is that it isn’t character driven.  In Planescape: Torment, the protagonist loses his memory much like Geralt, but he is surrounded by people who used to know him and who have a ton of character development.  That character development develops both the protagonist and the other characters.  In The Witcher, there isn’t a whole lot of character development.  Geralt has amnesia, never regains his memories, and only learns a little bit about who he used to be.  Geralt’s philosophy is developed (in the form of things that the player decides), but that philosophy only relates to Geralt’s interaction with the story and the world.  Of the other characters, even though many exist throughout the game, most of them seem archetypal without much deviation.  Some of them have interesting things happen to them, but the only ones that I feel like I care about by the end of the game are Geralt and Alvin, a kid that Geralt takes care of for a large part of the game. 

 

There are also tons of loose ends remaining at the end.  This, possibly, makes sense since there is a sequel (coming out in May, 2011) and there are some books.  However, at the end of The Witcher, I didn’t feel like anything special happened.  The last chapter of the game seemed to do the minimum necessary to resolve the plot threads that had been established, and those resolutions weren’t particularly elegant and didn’t lead to any new insight.  In Planescape, the later parts of the game felt rushed (because they were; the game studio wanted the developers to finish by some deadline), but the final developments felt meaningful and elegant.  Part of the problem with the Witcher might be that there was a plot twist at the end, but there wasn’t enough time to explore all of the questions that the twist raised.

 

The gameplay was pretty good.  I dislike games that make you wait around (ie, in Everquest, you had to sit around a long time to regain your health and magic points), and the Witcher was pretty fast paced.  The combat system was engaging because there was timing, movement, spells, and preparation.  There was statistic-based development (which I have been conditioned to like) that wasn’t too limiting but still allowed developing Geralt to fit one of several combat archetypes.  The game had a maximum inventory size, but it was very reasonable, so it wasn’t annoying.  The game didn’t have a ton of equipment to worry about (you have two swords and a suit of armor), which was probably a good thing.  A lot of games have a lot of equipment, which becomes annoying to manage and doesn’t add much.  Big Massively Multiplayer Online RPGs (Everquest, World of Warcraft) use equipment as the prime differentiating factor for characters: once you hit the level cap, you still need to spend hundreds of hours to get the best equipment, and having more equipment means you can spend more time on this.  A few games manage to have a bunch of equipment without making it too menial, but I support the choice to make it simple. 

 

The one thing that I didn’t like about the gameplay is that the difficulty peaks in the second of five chapters.  After then, if you specialize in fire magic, three right clicks in rapid succession can kill a dozen of the strongest monsters in the game, and 3 second later, you regenerate enough energy to cast your spells again.  Combat is easy enough that it doesn’t make sense to use any of the other spells, which have unique strategic benefits, because you could already end the combat before you see the strategic benefits.  And because sword combat gets more powerful the longer you have been in combat (your first hit is weak, your fifth is very strong) whereas fire magic is always strong, the only time that using a sword is faster than incinerating everything in your path is in boss fights or before you get good at fire magic.  

 

Life

Tech: A New Laptop

The Need for a Laptop

The weekend after school started, the charger on my laptop failed.  This was the third charger that had failed on that laptop.  Since the screen was also beginning to fail and the laptop was prone to overheating, I decided that I was fed up and wasn't going to buy a new charger.  I gave the old one to a friend who was taking an electrical engineering class (so if the dorm goes up in flame, don't blame me).

 

With the remaining hour of battery life before my laptop would run out of power, I transferred everything onto my external hard drive (thankfully, I had most stuff backed up already).  Now, I was ready for my desktop (the server that I bought for $80 last spring) to be my main computer until my new computer arrived.  Emin was very awesome, though, and he lent me the netbook that he just bought.  It tided me through the next week and a half very well.

 

The Laptop

I bought a Union Built laptop (http://www.unionbuiltpc.com), assembled by IBEW workers.  I went with a fancy one (Intel Pentium i7 processor; ATI Mobility Radeon 5650 Graphics Card; 1920x1080 resolution; 4GB RAM; 7200 rpm hard drive; built in webcam and SD card reader).

 

I love the screen.  There's enough room to have two windows significantly open and side by side, which helps my productivity.  It’s also interesting to see how the brain deals with high resolution screens.  Even though my screen is the same size as my old laptop, it seems much huger even than my old 17” laptop.  I guess that the perceived size I attribute to something correlates with the attention that I give to it and its definition.

 

Also, there's a button so that I can power on the USB ports while the computer is off (ie, to charge my phone).

 

The new laptop also inspired me to check out touchpad drivers.  I discovered that Synaptics Touchpads have supported multitouch for a long while, but they're afraid of Apple's patent on multitouch (as discussed in the Spring 2010 verbose letter, they have a patent on looking for the highest number, then finding a lower number, then finding the next highest number), so they don't include it by default.  If you have a Synaptics Touchpad, do a search to see if yours is supported.  If it is, it's very easy to install the update.

 

The one thing that I don't like about it is the keyboard.  The control key is usually in the lower left hand corner, but in my keyboard, that space is occupied by the function key.  The control key is one space to the right.  

 

Antagony + Selfishness

When I bought my new laptop, an old acquaintance disagreed with my purchase.

He said:

You know those computers still are made with the same Chinese parts. All you're getting for the $600 premium is that some guy from the US spent half an hour plugging in the cables and screws to those components.  If you have some aversion to foreign assembly, I suggest you build your own.

 

My response:

1) I don't have a choice over the raw materials or manufacturing. I do have a choice over the assembly.

2) It's cheaper than Apple.

3) Increasing the lifetime of a product with superior labor decreases the lifetime cost.

4) I value my time (also, as a computer scientist, other people value my time), and it would be a pain to find a company that sells laptop parts in quantities less than 1000, much less get a sterile environment and figure out how to assemble the laptop.

 

Thank you for the concern over my bank statement, but I'm the son of a union man.

 

An interesting thing that I have noticed is that people with philosophies that justify selfishness seem almost offended when others don't behave selfishly to the extent that they encourage folks to be more selfish.  I can understand why socially motivated people would want to spread the word, whether that's a religious, humanitarian, philanthropic, or other message, but I can't understand the reasoning behind encouraging other people to be more selfish.  It seems to me that an objectivist or econ major would want others to be less selfish so the selfish person could extract free value out of the unselfish person. 

 

I would imagine that it's very disconcerting to believe that all people believe in the dollar and to be confronted with a majority of the world that cares more about things like their family, religion, nation, ethics, and happiness. 

 

New Software

After getting my new laptop, I started using Windows 7 and Office 2010, and both impressed me. 

 

Windows 7 added the features that I liked best from KDE (one of two main desktop user interfaces for Linux).  For instance, now you can drag a window to the top of the screen and it will maximize, or you can drag it to the right side and it will take up the right half of the screen.  Also, the taskbar (the thing on the bottom where your open windows are) is now icons rather than titles, and you can pin applications to it (even if they aren't open).  Thus, I can have VLC and Pandora on the lower left, followed by Google Calendar, Google Reader, and Chrome, followed by my programming stuff, and then anything that I open goes on the end.  This means that my setup doesn't change.  On XP, I had to emulate thus feature using applications like Taskbar Shuffle.  It used to be like making a square out of circles.  Now, it's like making a circle out of circles.  It just works.  Before, it kind of worked, but there were all of those infinitely tiny holes.

 

Some other nice additions between XP and 7 (I do realize that some of these existed in Vista): the calendar pops up when you click on the clock; the lower right hand corner of the screen is "show desktop"; the hidden icons in the notification area (the lower right hand corner) are easier to look through; there's better dvorak support on the login screen (you can click a button to change the input language); the command prompt supports dvorak (I'm amazed that they managed to break dvorak support for it before); better "detail view" in explorer (you can customize what information it displays about each file); most of Control Panel is better, especially the Networking stuff; competent file copy / move dialog (ie, you can pause and resume); application-level sound control (ie, if I want my video game to be quiet, the Windows Sound Mixer lets me mute just that window even if the game itself doesn't have a mute button); and hybrid standby / hibernate mode (it hibernates after a few hours of being on standby).

 

Office 2010 was similarly impressive.  They took some nice features from Open Office 3 like being able to drag around stuff in the document map and make it actually move around the relevant headings in the document.  They also put in some things that I had previously added to my default interface such as giving the styles a prominent place (now in the home tab of the ribbon), making a button that clears formatting, and giving paste special (ie, paste as plain text) a prominent place.  The ribbon organization makes a lot of sense.  Then they made a lot of random ease-of-use additions that are very nice.  For instance, in Excel, you can select some cells and then "copy as picture" if you don't want to paste the text content of those cells.

 

This is almost exactly what I want in a word editor.  There are two things missing.  First, I want to be able to write MS Office macros in programming languages that aren't Visual Basic.  Second, I want a Vim Mode (Vim is a text editor that a lot of programmers use, and it lets you navigate your document very quickly) that I don't have to pay $20 for. 

 

Thanksgiving

I ate a lunch at the Haas Center for Public Service during the break since the dining halls were closed, and I spent Thanksgiving day and dinner with my roommate and his family. 

 

His family is very nice.  Whenever I'm over, they spend a lot of effort making sure that my vegetarianness is accommodated.  I always feel bad that they have to make separate dishes for me.  They make good food, though. 

 

The break wasn't very productive, which made for a busy dead week and finals week.  I did catch up on sleep, though.  I also saw the Bourne trilogy. 

 

Knowledge and Culture

At the dinner, I was confronted with a bit of a cultural divide.  At an Earth Systems lecture, the professor said that knowing about earth systems is important because people will expect Stanford educated people to know everything about everything.  Often, the people that I talk with are highly educated.  Even on the train, the majority of the people that I talk with are college educated and seem to have reasonable expectations about what a Stanford education means, so I haven't run into those expectations very much.  Someone who was over for Thanksgiving dinner with me had a conversation with me that went like this:

 

Him: You go to Stanford, right?

Me: Yeah

Him: Cool!  I just took my son in to the doctor, and the doctor was worried about some brain disease that starts with an "M" that's going around.  Have you heard about that?

 

At this point, I took out my monocle, stroked my beard, and commented, "Unless you're referring to meningitis, that's probably a mononucleolar medulla oblongataitis with medullary effects on the mesencephalon.   I actually just published a research paper on using distributed computing algorithms to classify diseases, and I found that most mononucleolar medullary disease diagnoses are, in fact, ADHD.  Would you like to see a copy of my paper?  You'll need a subscription to Bioinformatics Weekly, of course."

 

I do strive to have a general knowledge about the world.  Even without any engineering or major requirements, I still think that knowing math, physics, statistics, chemistry, biology, sleep, basic health stuff, basic econ stuff (at least enough to know where the theories break down), etc, is important. 

 

Still, though, I found the experience weird because I was being given unwarranted authority.  In some contexts, I have authority, and I can deal with that -- when I'm the director of an organization, it feels perfectly natural to interview with a paper about that organization, and when I'm teaching people about computer science, it's perfectly reasonable for my students to expect that I know everything about CS even though I don't.  It's less natural when someone assumes that I know about obscure diseases by merit of me being a Stanford undergraduate.

 

Looking Forward

I'll be with Google in some variety over the summer.  They're very slow to get back to me, so I still don't quite know what variety.  Hopefully, I'll be working with the Global Learning Program, a Google.org nonprofit that does global education initiatives.  I might be working on something else like Google Chrome.

 

Over winter break, I took the GRE (630v, 800m, 5w) so that I could apply to the coterminal masters in computer science in winter term.  Hopefully, I'll get accepted next quarter so that I can start splitting my courses between masters and undergraduate. 

 

I applied and was accepted to Clinton Global Initiative University, a conference at the start of spring term.  It seems like a cool conference.  There are a bunch of interesting speakers and go getters.  Also, there's Clinton.

 

I initially wanted to take the Haas Center for Public Service's Public Service Leadership Program course, but I was not accepted. 

 

I initially wanted to apply for the Truman Scholarship, but then I decided that it would have been more of a hassle than it was worth.  I do enough stuff that neither the money nor the title would be worth as much as the time.

 

At the start of winter quarter, my schedule was:

ME104B - Design Your Life

URBANST132 - Design Your Nonprofit

CS140 - Design Your Operating System

CS270 - Use Ontologies to Design Biomedical Systems

PSYC135 - Design your Sleep and Dreams

PHYSICS41 - Mechanics

 

As you can tell, one of those titles doesn't match.  That course is no longer in my schedule.

 

Also, a month late, this verbose letter is no longer in my schedule.