how to stand on the shoulders of giants

32
GIANTS How To Stand On The Shoulders Of

Upload: ian-barber

Post on 17-May-2015

4.161 views

Category:

Technology


3 download

DESCRIPTION

The slides from my keynote at PHP NW 2011, about how every great breakthrough is built on the work that has come before it.

TRANSCRIPT

Page 1: How to stand on the shoulders of giants

GIANTSHow To Stand On The Shoulders Of

Page 2: How to stand on the shoulders of giants
Page 3: How to stand on the shoulders of giants
Page 4: How to stand on the shoulders of giants

Open Source

Platforms

Academic

Hardware

Page 5: How to stand on the shoulders of giants
Page 6: How to stand on the shoulders of giants

“The best way to predict the future is to invent it.”- Alan Kay

Page 7: How to stand on the shoulders of giants
Page 8: How to stand on the shoulders of giants
Page 9: How to stand on the shoulders of giants

Discover

Research

Produce

Page 10: How to stand on the shoulders of giants

BCPL

GET "libhdr"

LET start() = VALOF{ writes("Hello world*n") RESULTIS 0}

Page 11: How to stand on the shoulders of giants

B

main() { a 'Hello world' ; putchar (a); putchar ('*n');}

Page 12: How to stand on the shoulders of giants

C

#include <stdio.h>

int main(void){ printf("hello, world\n"); return 0;}

Page 13: How to stand on the shoulders of giants

PHP/FI

<? if(!$PHP_AUTH_USER) { Header("WWW-authenticate: basic realm=\"My Realm\""); Header("HTTP/1.0 401 Unauthorized"); echo "Cancelled\n" exit;} else { echo "Hello $PHP_AUTH_USER.<P>";} >

Page 14: How to stand on the shoulders of giants

PHP 3

<? function hitcount($counter_file){ if ( file_exists($counter_file) ) { $fp=fopen($counter_file,"r"); $count=0+fgets($fp,20); fclose($fp); } $fp=fopen($counter_file,"w"); fputs($fp,$count++); fclose($fp); return ($count);} ?>

Page 15: How to stand on the shoulders of giants
Page 16: How to stand on the shoulders of giants

QuickSortfunction qsort($nums) { if(count($nums) < 2) {return $nums;} $pivot = array_rand($nums); $p1_val = $nums[$pivot]; unset($nums[$pivot]); $less = $more = array(); foreach( $nums as $n ) { if($n <= $p1_val) { $less[] = $n;} else { $more[] = $n; } } return array_merge(qsort($less), array($pivot_val), qsort($more));}

1960

Page 17: How to stand on the shoulders of giants
Page 18: How to stand on the shoulders of giants

Dual Pivot QuickSort2009

Page 19: How to stand on the shoulders of giants

function dsort($nums) { if(count($nums) < 2) {return $nums;} $p1 = array_rand($nums); $v1 = $nums[$p1]; unset($nums[$p1]); $p2 = array_rand($nums); $v2 = $nums[$p2]; unset($nums[$p2]); if($v1>$v2) list($v1,$v2)=array($v1,$v2); $s1 = $s2 = $s3 = array(); foreach($nums as $n) { if ($n <= $v1) { $s1[] = $n; } else if($n <= $v2) { $s2[] = $n; } else { $s3[] = $n; } } return array_merge(dsort($s1),array($v1), dsort($s2),array($v2),dsort($s3)); }

Page 20: How to stand on the shoulders of giants

“...is said to have saved the Internet from collapsing due to traffic in 1988-1989”- en.wikipedia.org/wiki/Van_Jacobson

Van Jacobson

Page 21: How to stand on the shoulders of giants

Discover

Research

Synthesise

Produce

Page 22: How to stand on the shoulders of giants
Page 23: How to stand on the shoulders of giants
Page 24: How to stand on the shoulders of giants

“The whole field had suffered blinders; in some sense search really did need two people who were never tainted by people like me to come up with that shake up” – Amit Singhal, Bell Labs

Page 25: How to stand on the shoulders of giants
Page 26: How to stand on the shoulders of giants
Page 27: How to stand on the shoulders of giants
Page 28: How to stand on the shoulders of giants
Page 29: How to stand on the shoulders of giants
Page 30: How to stand on the shoulders of giants
Page 31: How to stand on the shoulders of giants

Thank You

Page 32: How to stand on the shoulders of giants

Martin Richards

Lorna

Clock

TBLTuring

http://www.cl.cam.ac.uk/~mr10/

Image Credits

http://www.flickr.com/photos/myrtti/6052575049

http://www.flickr.com/photos/tanaka/3212373419

http://www.flickr.com/photos/sebastian_bergmann/52408671Zeev & Andi

http://www.flickr.com/photos/thurm/1554383213

http://www.flickr.com/photos/indraw/4857101224

Ken Thompson http://cm.bell-labs.com/who/dmr/picture.html

Rasmus http://www.flickr.com/photos/wafer/365664702/

Dennis Ritchie http://www.bobdbob.com/hcc/halloffame/halloffame.html

Skater http://www.flickr.com/photos/eyedeaz/5004084713