Slide 1

Slide 1 text

Is Node.js better? JSConf 2012 Brian Ford @brixen

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

oneʼs excess is anotherʼs moderation

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Rubinius RubySpec

Slide 7

Slide 7 text

Why do I care about Node.js?

Slide 8

Slide 8 text

Organizations tend to perpetuate the problem they were created to solve

Slide 9

Slide 9 text

10 kinds of people: 01. fear change 10. create change

Slide 10

Slide 10 text

sub·ver·sive /səbˈvərsiv/ noun: You

Slide 11

Slide 11 text

contrast is conflict

Slide 12

Slide 12 text

MINASWAN

Slide 13

Slide 13 text

controversy is entertaining

Slide 14

Slide 14 text

shootout fight throw down

Slide 15

Slide 15 text

advocacy is criticism criticism is advocacy

Slide 16

Slide 16 text

Fanboi Troll

Slide 17

Slide 17 text

We suck at conflict

Slide 18

Slide 18 text

How can we improve?

Slide 19

Slide 19 text

benchmarks

Slide 20

Slide 20 text

science

Slide 21

Slide 21 text

Your Creative Power Alex Osborn 1948

Slide 22

Slide 22 text

alone vs group

Slide 23

Slide 23 text

brainstormers debaters free organization

Slide 24

Slide 24 text

Broadway Musicals and the Q factor

Slide 25

Slide 25 text

Groupthink: The Brainstorming Myth Jonah Lehrer New Yorker 30 Jan 2012

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Thinking Fast and Slow Daniel Kahneman Farrar, Straus and Giroux © 2011

Slide 28

Slide 28 text

bacon

Slide 29

Slide 29 text

23 x 47

Slide 30

Slide 30 text

Programming is a behavioral science

Slide 31

Slide 31 text

Research Methods: the basics Nicholas Walliman Routledge © 2011

Slide 32

Slide 32 text

Validity

Slide 33

Slide 33 text

meta-physics nature of the universe

Slide 34

Slide 34 text

epistemology theory of knowledge

Slide 35

Slide 35 text

people are selfish lazy easily bored

Slide 36

Slide 36 text

scarcity

Slide 37

Slide 37 text

Concurrency

Slide 38

Slide 38 text

every possible interleaving of program instructions

Slide 39

Slide 39 text

P is a program x is a routine P runs x x waits P waits

Slide 40

Slide 40 text

concurrency: time state transitions

Slide 41

Slide 41 text

suspend / resume cooperative multitasking

Slide 42

Slide 42 text

time slice pre-emptive multitasking

Slide 43

Slide 43 text

justifications for using Node.js

Slide 44

Slide 44 text

J(X) > J(Y) Xʼ ≡ X Yʼ ≡ Y J(Xʼ) > J(Yʼ)

Slide 45

Slide 45 text

same language on client and server

Slide 46

Slide 46 text

there are many Javascript programmers

Slide 47

Slide 47 text

Node.js is more fun

Slide 48

Slide 48 text

Controversy

Slide 49

Slide 49 text

Node.js rejects reality

Slide 50

Slide 50 text

entire ecosystem of tools and libraries must be built

Slide 51

Slide 51 text

Node.js will reproduce last 15 years of Ruby mistakes

Slide 52

Slide 52 text

Passenger Cluster

Slide 53

Slide 53 text

process concurrency is doomed

Slide 54

Slide 54 text

symmetric errors chain of evidence

Slide 55

Slide 55 text

Celluloid https://github.com/celluloid

Slide 56

Slide 56 text

Thank you!