how to stand on the shoulders of giants
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
GIANTSHow To Stand On The Shoulders Of
Open Source
Platforms
Academic
Hardware
“The best way to predict the future is to invent it.”- Alan Kay
Discover
Research
Produce
BCPL
GET "libhdr"
LET start() = VALOF{ writes("Hello world*n") RESULTIS 0}
B
main() { a 'Hello world' ; putchar (a); putchar ('*n');}
C
#include <stdio.h>
int main(void){ printf("hello, world\n"); return 0;}
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>";} >
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);} ?>
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
Dual Pivot QuickSort2009
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)); }
“...is said to have saved the Internet from collapsing due to traffic in 1988-1989”- en.wikipedia.org/wiki/Van_Jacobson
Van Jacobson
Discover
Research
Synthesise
Produce
“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
Thank You
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