Hello!



Hello!

0 0


stanford

michelle.github.io/fish-talk

On Github michelle / stanford

The following presentation is based purely on anecdotal evidence. Please consult your...self.

5 Places Michelle Associates With

"Extremely shocking."

(╯T-T)╯︵

10 Things Michelle Believed in College

#3 may surprise you.

9. Most problems should be solved with things I learned in my [AI, networking] class.

Problem: Add auto-define functionality to Spanish flash cards.
College solution: I'll use existing Spanish flash cards, strip punctuation and definite articles and normalize letter casing and figure out which definitions of words are the best based on occurrence and usage of the card.
Our solution: Buy a Spanish dictionary.
Problem: I want to find the best, cheapest flight route for free.

College solution: I know how to build an efficient crawler! I'll crawl the internet for flights, somehow generate a custom scraper for each flight site, then use A* search with heuristics. As for speed...I'll optimize my code as much as possible.
Google Flights' solution: Forget cheapest path--buy all the data, then throw servers at the problem and cache all the paths.

8. git commit -am "lol"

True story: git rage

git add .
git commit -am "lol"
git push --force

Try: Write a commit message for the following diff.

-var arr = ['stanford'];

+var schools = ['stanford', 'berkeley'];

git commit -am "add berkeley to array"
git commit -am "Update array of schools. - Rename 'arr' to 'schools' to better describe what it is. - Add Berkeley to the array, or they'll be sad."

7. I don't want to join a startup or do my own thing because I want to gain experience at a big company first.

"there are 10x fewer people who can scope well vs who can implement a spec well"

- Patrick Collison, this morning on IRC.

"god it's not even grammatical" - in response to this.

6. [testing, design docs, pair programming] is [silly, a pain, dumb].

(╯T-T)╯︵

ノ( ゜-゜ノ)

"Patience, young grasshopper"

5. * is [silly, a pain, dumb].

* is [silly, a pain, dumb] because ______.

In my opinion, * is [silly, a pain, dumb] because ______.

4. Optimization is the most important thing we should keep in mind. Optimization means less and faster.

var array = [1, 2, 3, 4, ..., 1000000000000];
for (var i = 0, len = array.length; i < len; i += 1) {
  console.log(array[i]);
}

vs.

var array = [1, 2, 3, 4, ..., 1000000000000];
array.forEach(function(el) {
  console.log(el);
});
assert(!something_exists || flag_set, 'Oh no! :(')

vs.

if something_exists && !flag_set
  assertion_failed('Oh no! :(')
end

Style and readability are often more important than optimization.

3. Abstraction is simple! Cars and Garages.

Problem: Model a user system.
Solution: Have a "user" model with a username/password.
Problem: Now model friendships between users.
Solution: A "friendship" edge between users.
Problem: Now model posts and +1s of posts.
Solution: A new "post" model, which has a list of users who liked it and references the user who posted it.
Problem: Now what about pages? Are they a type of user? Or are users a type of page? Or are they posts? Pages need to keep track of likes, but also have a profile, and are owned by a user.
Problem: And what about organizations? I want my user to be able to be in multiple organizations, and my organization to have many users and posts.
Problem: Wait, but what about shared pages? I want multiple users to be able to manage a page.

2. I'm going to get fired because I'm not as productive as my co-workers.

1. Projects can be finished.

Unpopular projects can be finished. You don't want your project to be finished.

0. The most important thing I learned in school was how to code.

Thanks for coming!

@michelle on Github

@hazelcough on Twitter
Thanks for listening, everyone. I'd love to see what you build!