SlideShare a Scribd company logo
How To Stand On The Shoulders Of
How to stand on the shoulders of giants
How to stand on the shoulders of giants
Open Source




Hardware              Platforms



           Academic
How to stand on the shoulders of giants
“The best
way to
predict the
future is to
invent it.”
- Alan Kay
How to stand on the shoulders of giants
How to stand on the shoulders of giants
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, worldn");
    return 0;
}
PHP/FI

<? if(!$PHP_AUTH_USER) {
  Header("WWW-authenticate: basic
                 realm="My Realm"");
  Header("HTTP/1.0 401 Unauthorized");
  echo "Cancelledn" 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);
} ?>
How to stand on the shoulders of giants
QuickSort                    1960
function 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));
}
How to stand on the shoulders of giants
Dual Pivot QuickSort
2009
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));
}
Van
Jacobson
“...is said to have
saved the Internet
from collapsing
due to traffic in
1988-1989”
- en.wikipedia.org/
wiki/Van_Jacobson
Discover
   Research
      Synthesise
           Produce
How to stand on the shoulders of giants
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
How to stand on the shoulders of giants
How to stand on the shoulders of giants
How to stand on the shoulders of giants
How to stand on the shoulders of giants
How to stand on the shoulders of giants
How to stand on the shoulders of giants
Thank You
Image Credits
Skater            http://www.flickr.com/photos/eyedeaz/5004084713
Martin Richards   http://www.cl.cam.ac.uk/~mr10/
Ken Thompson      http://cm.bell-labs.com/who/dmr/picture.html
Dennis Ritchie    http://www.bobdbob.com/hcc/halloffame/halloffame.html
Rasmus            http://www.flickr.com/photos/wafer/365664702/
Zeev & Andi       http://www.flickr.com/photos/sebastian_bergmann/52408671
Lorna             http://www.flickr.com/photos/myrtti/6052575049
Clock             http://www.flickr.com/photos/indraw/4857101224
TBL               http://www.flickr.com/photos/tanaka/3212373419
Turing            http://www.flickr.com/photos/thurm/1554383213

More Related Content

PDF
ZeroMQ Is The Answer: DPC 11 Version
PDF
ZeroMQ: Messaging Made Simple
PDF
ZeroMQ Is The Answer
PDF
Debugging: Rules And Tools - PHPTek 11 Version
PDF
Teaching Your Machine To Find Fraudsters
PDF
Créer une base NoSQL en 1 heure
PDF
ZeroMQ Is The Answer: PHP Tek 11 Version
TXT
C99.php
ZeroMQ Is The Answer: DPC 11 Version
ZeroMQ: Messaging Made Simple
ZeroMQ Is The Answer
Debugging: Rules And Tools - PHPTek 11 Version
Teaching Your Machine To Find Fraudsters
Créer une base NoSQL en 1 heure
ZeroMQ Is The Answer: PHP Tek 11 Version
C99.php

What's hot (19)

TXT
Nouveau document texte
TXT
Yy
ODP
The promise of asynchronous PHP
PDF
Asynchronous I/O in PHP
PDF
Redis & ZeroMQ: How to scale your application
PDF
React PHP: the NodeJS challenger
PPTX
PHP in 2018 - Q4 - AFUP Limoges
TXT
C99[2]
ZIP
AnyMQ, Hippie, and the real-time web
PDF
20 modules i haven't yet talked about
PDF
JavaSE7 Launch Event: Java7xGroovy
PDF
Perl Bag of Tricks - Baltimore Perl mongers
PDF
The most exciting features of PHP 7.1
PDF
Parsing JSON with a single regex
PDF
Asynchronous PHP and Real-time Messaging
TXT
C99
PDF
Perl 6 by example
KEY
Introduction to CloudForecast / YAPC::Asia 2010 Tokyo
TXT
Nouveau document texte
Yy
The promise of asynchronous PHP
Asynchronous I/O in PHP
Redis & ZeroMQ: How to scale your application
React PHP: the NodeJS challenger
PHP in 2018 - Q4 - AFUP Limoges
C99[2]
AnyMQ, Hippie, and the real-time web
20 modules i haven't yet talked about
JavaSE7 Launch Event: Java7xGroovy
Perl Bag of Tricks - Baltimore Perl mongers
The most exciting features of PHP 7.1
Parsing JSON with a single regex
Asynchronous PHP and Real-time Messaging
C99
Perl 6 by example
Introduction to CloudForecast / YAPC::Asia 2010 Tokyo
Ad

Similar to How to stand on the shoulders of giants (20)

KEY
Intermediate PHP
PPT
Php course-in-navimumbai
PPTX
Introduction to PHP Lecture 1
PDF
Getting started with php
PPTX
Arrays in PHP
PDF
Php tips-and-tricks4128
PDF
Php Crash Course - Macq Electronique 2010
PPTX
php programming.pptx
PDF
Php converted pdf
PPT
PPT
Phpwebdevelping
PPTX
Unit3IIpartpptx__2024_10_17_19_07_58 2.pptx
PPT
Synapseindia reviews sharing intro on php
PPT
Synapseindia reviews sharing intro on php
PPT
PHP and MySQL
PPTX
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
PPTX
UNIT IV (4).pptx
PPT
PDF
PHP tips and tricks
Intermediate PHP
Php course-in-navimumbai
Introduction to PHP Lecture 1
Getting started with php
Arrays in PHP
Php tips-and-tricks4128
Php Crash Course - Macq Electronique 2010
php programming.pptx
Php converted pdf
Phpwebdevelping
Unit3IIpartpptx__2024_10_17_19_07_58 2.pptx
Synapseindia reviews sharing intro on php
Synapseindia reviews sharing intro on php
PHP and MySQL
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
UNIT IV (4).pptx
PHP tips and tricks
Ad

More from Ian Barber (7)

PDF
Deployment Tactics
PDF
In Search Of: Integrating Site Search (PHP Barcelona)
PDF
Debugging: Rules & Tools
PDF
In Search Of... (Dutch PHP Conference 2010)
PDF
In Search Of... integrating site search
KEY
Document Classification In PHP - Slight Return
KEY
Document Classification In PHP
Deployment Tactics
In Search Of: Integrating Site Search (PHP Barcelona)
Debugging: Rules & Tools
In Search Of... (Dutch PHP Conference 2010)
In Search Of... integrating site search
Document Classification In PHP - Slight Return
Document Classification In PHP

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Modernizing your data center with Dell and AMD
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Modernizing your data center with Dell and AMD
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Teaching material agriculture food technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars

How to stand on the shoulders of giants

  • 1. How To Stand On The Shoulders Of
  • 4. Open Source Hardware Platforms Academic
  • 6. “The best way to predict the future is to invent it.” - Alan Kay
  • 9. Discover Research Produce
  • 10. BCPL GET "libhdr" LET start() = VALOF { writes("Hello world*n") RESULTIS 0 }
  • 11. B main() { a 'Hello world' ; putchar (a); putchar ('*n'); }
  • 12. C #include <stdio.h> int main(void) { printf("hello, worldn"); return 0; }
  • 13. PHP/FI <? if(!$PHP_AUTH_USER) { Header("WWW-authenticate: basic realm="My Realm""); Header("HTTP/1.0 401 Unauthorized"); echo "Cancelledn" exit; } else { echo "Hello $PHP_AUTH_USER.<P>"; } >
  • 14. 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); } ?>
  • 16. QuickSort 1960 function 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)); }
  • 19. 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)); }
  • 20. Van Jacobson “...is said to have saved the Internet from collapsing due to traffic in 1988-1989” - en.wikipedia.org/ wiki/Van_Jacobson
  • 21. Discover Research Synthesise Produce
  • 24. “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
  • 32. Image Credits Skater http://www.flickr.com/photos/eyedeaz/5004084713 Martin Richards http://www.cl.cam.ac.uk/~mr10/ Ken Thompson http://cm.bell-labs.com/who/dmr/picture.html Dennis Ritchie http://www.bobdbob.com/hcc/halloffame/halloffame.html Rasmus http://www.flickr.com/photos/wafer/365664702/ Zeev & Andi http://www.flickr.com/photos/sebastian_bergmann/52408671 Lorna http://www.flickr.com/photos/myrtti/6052575049 Clock http://www.flickr.com/photos/indraw/4857101224 TBL http://www.flickr.com/photos/tanaka/3212373419 Turing http://www.flickr.com/photos/thurm/1554383213