SlideShare ist ein Scribd-Unternehmen logo
1 von 94
Downloaden Sie, um offline zu lesen
THE RECOMMENDATION
ENGINE:A CASE STUDY
TERRY CHAY (@TYCHAY)
HEAD OF ENGINEERING, CLARA HEALTH
CONFOO, MONTREAL, CANADA
2019-03-13T14:15-15:15 EST
WHO AM I? TERRY CHAY
PHP SOFTWARE
PHP PROGRAMMER SINCE 2000
DIRECTOR OF ENGINEERING, QIXO
2000-2001 (FIRST TRAVEL SEARCH
ENGINE)
SENIOR WEB ENGINEER, MYCASA
NETWORK 2002-2004 ("INTERNET
OF THINGS")
SCIENTIST, PLAXO 2004-2006 (ONE OF
THE FIRST "VIRAL-TUNED" WEBSITES)
SOFTWARE ARCHITECT,TAGGED,
2007-2009 (3RD LARGEST SOCIAL
NETWORK IN THE US)
PLANET TAKER,AUTOMATTIC
2009-2012 (AKA "WORDPRESS")
DIRECTOR OF FEATURES ENGINEERING,
WIKIMEDIA FOUNDATION, 2012-2014
(AKA "WIKIPEDIA")
PHP SOFTWARE
PHP PROGRAMMER SINCE 2000
DIRECTOR OF ENGINEERING, QIXO
2000-2001 (FIRST TRAVEL SEARCH
ENGINE)
SENIOR WEB ENGINEER, MYCASA
NETWORK 2002-2004 ("INTERNET
OF THINGS")
SCIENTIST, PLAXO 2004-2006 (ONE OF
THE FIRST "VIRAL-TUNED" WEBSITES)
SOFTWARE ARCHITECT,TAGGED,
2007-2009 (3RD LARGEST SOCIAL
NETWORK IN THE US)
PLANET TAKER,AUTOMATTIC
2009-2012 (AKA "WORDPRESS")
DIRECTOR OF FEATURES ENGINEERING,
WIKIMEDIA FOUNDATION, 2012-2014
(AKA "WIKIPEDIA")
YES, I WAS A PHP
PROGRAMMER…
SOMEWHERE IN THERE THIS HAPPENED…
AT OSCON ONE
DAY…
“…AND TERRY STARTED TAKING PICTURES AS
TERRY DOES WITH EVERYTHING.”
—CAL EVANS, EDITOR OF ZEND DEV ZONE,
IN A PRO::PHP WEBCAST
ABOUT THE ORIGIN OF PHP CARDS (2005)
AT OSCON ONE DAY…
ANDREI
ZMIEVSKI: LEAD
DEVELOPER PHP 6
WEZ FURLONG:
KING OF PECL
IF YOU ACTIVATE THIS
CARD’S PROFANITY SPECIAL
ABILITY, THE AUDIENCE IS
FROZEN FOR ONE TURN.
ME!
THE GEORGE
SCHLOSSNAGLE CARD
LOOKS A LOT LIKE ZAK
GRAENT. RARE &
POWERFUL!
AT OSCON ONE DAY…
AT ZENDCON ONE DAY…
PHPTERRORIST
"CHAY" GUEVARA
POWERED BY: THE
BLOOD OF YOUNG RUBY
DEVELOPERS
PHP
TERRORIST
ABOUT RUBY
ON RAILS
THE YEAR BEFORE…
ABOUT RUBY
ON RAILS
2006 -YEAR OF THE DOG
“IS PHP DOOMED?"
“FIRST THEY IGNORE YOU, THEN
THEY LAUGH AT YOU, THEN
THEY FIGHT YOU, THEN YOU
WIN.” —MAHATMA GHANDI
“UNLESS YOU’RE RUBY.” —
DANNY O'BRIEN, OSCON,
2006
IGNORE
GHANDI
STATE DIAGRAM
LAUGH
FIGHT
YOU WIN!
IGNORE
RUBY WINS!
RUBY ON RAILS
STATE DIAGRAM
(YEAR OF THE DOG - 2006)
THAT'S SOME SERIOUS
OPTIMIZATION! (RUBY MUST
HAVE A GREAT PORT OF
XDEBUG)
ABOUT RUBY
ON RAILS
2006 -YEAR OF THE DOG
TIOBE LANGUAGE OF
THE YEAR
IGNORE
LAUGH
FIGHT
YOU WIN!
GHANDI
STATE DIAGRAM
IGNORE
RUBY WINS!
RUBY ON RAILS
STATE DIAGRAM
(YEAR OF THE DOG - 2006)
ABOUT RUBY
ON RAILS
2006 -YEAR OF THE DOG
TIOBE LANGUAGE OF
THE YEAR
2007 -YEAR OF THE PIG
MY BIRTH YEAR
2007 - “IS RUBY THE
DOG AND PHP THE
DOGFOOD?”
2019-ALSO YEAR OF PIG
IGNORE
LAUGH
FIGHT
YOU WIN!
GHANDI
STATE DIAGRAM
IGNORE
RUBY WINS!
RUBY ON RAILS
STATE DIAGRAM
(YEAR OF THE PIG - 2007)
I LAUGH
ABOUT
FRAMEWORKS
“RAILS IS LIKE A
ROUNDED
RECTANGLE
AND PHP IS LIKE
A BALL OF
NAILS.”
— ME (2007 -YEAR OF THE
DOG)
“WHEN I SAY THAT PHP IS A BALL OF
NAILS, BASICALLY, PHP IS JUST THIS PIECE OF
SHIT THAT YOU JUST PUT TOGETHER—PUT ALL
THE PARTS TOGETHER—AND YOU THROW IT
AGAINST THE WALL AND IT FUCKING
STICKS.”
— ME (2007 -YEAR OF THE DOG)
IN THIS TALK, WHEN I SAY… YOU CAN DO IT IN…
RUBY, PYTHON, JAVA, PHP ANY WEB LANGUAGE
RUBY ON RAILS, DJANGO ANY WEB FRAMEWORK (OR ROLL YOUR OWN)
NUMPY, PANDA, COMPUTATIONALLY INTENSE SHIT R, MATLAB, <INSERT MATRIX LIBRARY>…
2018-CURRENT
CLARA HEALTH
HEAD OF ENGINEERING
PATIENT-CENTRIC APPROACH TO
CONNECTING PEOPLE TO
CLINICAL TRIALS
PYTHON/DJANGO
2016-2018
RAISEME
PRINCIPAL ENGINEER
HELP STUDENTS EARN MONEY
FOR COLLEGE IN THE FORM OF
MICRO-SCHOLARSHIPS
RUBY ON RAILS
DAVE
CTO & CO-FOUNDER RAISEME (BY
ANSWERING AN AD ON CRAIGSLIST HIS
WIFE FOUND) — HIRED ME
BEEN A CONSULTANT SINCE THE
LATE 1990'S (BEEN DOING THIS
LONGER THAN ME!)
BEFORE THAT WAS IN A ROCK BAND
(CAN STILL DOWNLOAD HIS MUSIC ON
SPOTIFY)
QUIT SMOKING BY TAKING UP CROSS-
FIT
DOG NAMED BUFFY (HE IS REALLY
INTO BUFFY THE VAMPIRE
SLAYER)
CLARKE’S THREE LAWS (NOT IN ORDER)
1. CLARKE'S FIRST LAW
“WHEN A DISTINGUISHED BUT ELDERLY
SCIENTIST STATES THAT SOMETHING IS
POSSIBLE, HE IS ALMOST CERTAINLY
RIGHT.WHEN HE STATES THAT SOMETHING
IS IMPOSSIBLE, HE IS VERY PROBABLY
WRONG.”
— ARTHUR C. CLARK,“HAZARDS OF PROPHECY:THE
FAILURE OF IMAGINATION,” PROFILES OF THE FUTURE (1962)
I THINK IT SHOULD BE
POSSIBLE TO RECOMMEND
COLLEGES TO STUDENTS. IT'LL
BE LIKE COLLEGE SEARCH BUT
WITHOUT ANY INPUT FROM
THE USER.
MY
DISTINGUISHED,
BUT ELDERLY CTO
…AND I TAKE EXCEPTION TO
"ELDERLY." I DO CROSSFIT SO I'M
QUITE SPRY.
MY
DISTINGUISHED,
BUT ELDERLY CTO
…AND I TAKE EXCEPTION TO
"ELDERLY." I DO CROSSFIT SO I'M
QUITE SPRY.
MY
DISTINGUISHED,
BUT ELDERLY CTO
IN FACT, YOU SHOULD TRY
CROSSFIT TOO,TERRY. IT'D BE
IMPOSSIBLE FOR YOU NOT TO
LOVE IT LIKE I DO!
“VERY
PROBABLY
WRONG”
WHAT IS A RECOMMENDATION
ENGINE?
WHAT IS A
RECOMMENDATI
ON ENGINE?
A RECOMMENDER SYSTEM OR A
RECOMMENDATION SYSTEM
(SOMETIMES REPLACING
"SYSTEM" WITH A SYNONYM
SUCH AS PLATFORM OR
ENGINE) IS A SUBCLASS OF
INFORMATION FILTERING SYSTEM
THAT SEEKS TO PREDICT THE
"RATING" OR "PREFERENCE" A
USER WOULD GIVE TO AN ITEM.
—WIKIPEDIA
WHAT IS A
RECOMMENDATI
ON ENGINE?
USES ANALYTICAL DATA (AS
OPPOSED TO
TRANSACTIONAL DATA)
FOR A USER-CENTRIC
PURPOSE (AS OPPOSED TO A
BUSINESS-CENTRIC ONE).
ANALYTICAL DATA
BUSINESS-CENTRIC
TRANSACTIONAL DATA
USER-CENTRIC
ANALYTICAL DATA
BUSINESS-CENTRIC
TRANSACTIONAL DATA
USER-CENTRIC
SELECT COUNT(*)
FROM USERS AS U
INNER JOIN ACTIVITY AS A
ON A.USER_ID = U.USER_ID
WHERE A.TIMESTAMP > NOW()
- INTERVAL '30 DAYS'
HOW MANY USERS DID WE HAVE IN THE
LAST MONTH?USER WANTS TO LOG IN.
SELECT PASSWORD, USER_ID
FROM USERS
WHERE EMAIL =
'TYCHAY@PHP.NET'
ONLINE TRANSACTION PROCESSOR
(OLTP) (E.G. RDBMS)
ONLINE ANALYTICAL PROCESSOR
(OLAP) (E.G. "DATA WAREHOUSE")
PARACCEL (AT TAGGED)
• COLUMNAR-STORAGE
• MPP
• AWS REDSHIFT (AT RAISEME)
MYSQL/POSTGRESQL
• ROW-BASED RELATIONAL
STORAGE
• PARTITIONING
• AWS RDS
RECOMMENDATION ENGINE
ETL
EXTRACT
TRANSFORM
LOAD
AWESOME COLLEGE DISCOVERY CREW
ACDC?YEAH!!!
IMPROVE
STUDENT-
COLLEGE
MATCHING
STUDENTS ARE MORE ACTIVE IF THEY
FIND SCHOOLS THEY CARE ABOUT.
BUSINESS REVENUE WAS BASED
ON APPLICATION RATES OF FOLLOWED
COLLEGES
MAKE
PRODUCT
FLOW
INTUITIVE
GETTING MORE/BETTER
DATA WILL IMPROVE THE
MATCHING
“WHEN A DISTINGUISHED BUT ELDERLY
SCIENTIST STATES THAT SOMETHING IS
POSSIBLE, HE IS ALMOST CERTAINLY RIGHT.
WHEN HE STATES THAT SOMETHING IS
IMPOSSIBLE, HE IS VERY PROBABLY
WRONG.”
“I THINK IT SHOULD BE POSSIBLE TO
RECOMMEND COLLEGES TO STUDENTS. IT'LL
BE LIKE COLLEGE SEARCH BUT WITHOUT ANY
INPUT FROM THE USER.”
— ARTHUR C. CLARK,“HAZARDS OF PROPHECY:THE
FAILURE OF IMAGINATION,” PROFILES OF THE FUTURE (1962)
— DAVE, CO-FOUNDER, CTO RAISEME & MY BOSS (2017)
ALMOST CERTAINLY RIGHT
AMAZON
“CUSTOMERS ALSO
BOUGHT”
AMAZON
“FREQUENTLY BOUGHT
TOGETHER”
AMAZON
“RECOMMENDATION TO
YOU…”
ALMOST CERTAINLY RIGHT
NETFLIX
“BECAUSE YOU
WATCHED ORANGE IS
THE NEW BLACK”
NETFLIX
“POPULAR ON NETFLIX”
NETFLIX
“% MATCH”
RECOMMENDATIONS EVERYWHERE!
TWITTER
“WHO TO FOLLOW”
“TRENDING NOW”,
“MOMENTS”
SPOTIFY
“RECOMMENDED
SONGS”
“RELATED ARTISTS”, “YOUR
DAILY MIXES”, RADIO
OKCUPID
“DOUBLETAKE”
“BROWSE MATCHES”, % MATCH
REQUEST PIPELINE
GET
BUCKETS
/COLLEGES/RECOMMENDATIONS
FRONT-END ASKS API FOR LIST
OF BUCKETS
GET RECOMMENDATIONS
FOR BUCKET
/V1/COLLEGES/DISCOVER/WEST
RUBY API IS GIVEN BUCKET
NAME (E.G.WEST) AND USES
"EXTRA" DATA TO CALL GO
API FOR RECOMMENDATIONS
LIST OF
BUCKETS
/V1/COLLEGES/DISCOVER
LIKE "MOVIES WITH A STRONG
FEMALE LEAD” BUT ARE THINGS
LIKE "BECAUSE YOU LIVE IN THE
WEST” (STORING "EXTRA"
DATA ON SERVER)
RENDER
RESULTS IN
BUCKET
/COLLEGES/RECOMMENDATIONS
SIMILAR TO HOW COLLEGE
SEARCH RENDERS SEARCH
RESULTS.
JAVASCRIPT
RUBY
THE RECOMMENDATION ENGINE
THIS IS HOW THE REC ENGINE GENERATES
RECOMMENDATIONS FOR A BUCKET "WEST"
ROR API FOR BUCKET
“WEST”
/V1/COLLEGES/DISCOVER/WEST
RUBY API IS GIVEN BUCKET
NAME
POST EXTRA DATA TO
GO API
HTTPS://PROD-
RECOMMEND.RAISE.ME/API/V1/
DISCOVER/
CURL -I -H "CONTENT-TYPE: APPLICATION/JSON"
-X POST -D '{"CONTENT":{"STATES":["CA",
"AK", "AZ", "CO", "HI", "ID", "MT",
"NM", "NV", "OR", "UT", "WA", "WY"]},
"RANKING":"STUDENT-STUDENT",
"SCHOOL_ID":"535432DA385C8D490D000001",
"STATE":"CA",
"USERID":"5992010DE87EB427B1ECE416",
"ZIPCODE":"94121"}' HTTPS://PROD-
RECOMMEND.RAISE.ME/API/V1/DISCOVER/
EXTRACTS "RANKING"
AND UPLOADS RELEVANT
DATA TO PYTHON
COLLABORATIVE
FILTER (OR QUERIES
PYTHON PRE-COMPUTED
POPULARITY TABLE)
RANKING: "STUDENT-STUDENT",
STUDENTID:"5992010DE87EB427B1ECE416"
LOOK UP EXTRA DATA
/V1/COLLEGES/DISCOVER/WEST
{"CONTENT"=>{"STATES"=>["CA",
"AK", "AZ", "CO", "HI", "ID",
"MT", "NM", "NV", "OR", "UT",
"WA", "WY"]}, "RANKING"=>"STUDENT-
STUDENT",
"SCHOOL_ID"=>"535432DA385C8D490D00
0001", "STATE"=>"CA",
"USERID"=>"5992010DE87EB427B1ECE41
6", "ZIPCODE"=>"94121"}
JAVASCRIPT
RUBY
GOLANG
PYTHON
THE RECOMMENDATION ENGINE
PYTHON MAGIC
HAPPENS
EXEC /USR/BIN/PYTHON34
STUDENTRANKS.PY
5992010DE87EB427B1ECE416
VIEWS_PLUS_FOLLOWING
IN THIS CASE IT'S A COLLABORATIVE
FILTER SO IT QUERIES THE PYTHON
MODEL AND GETS BACK A RANKED LIST
OF COLLEGE IDS
RUN RESULT THROUGH
CONTENT FILTER RDS
SELECT T1.ID, X.RANK FROM COLLEGE_CONTENT_FILTER
AS T1 INNER JOIN ( STUFF FROM PYTHON ) AS X (ID,
RANK) ON X.ID = T1.ID WHERE X.ID IS NOT NULL
AND SCHOOL_STATE IN ("CA", "AK", "AZ", "CO",
"HI", "ID", "MT", "NM", "NV", "OR", "UT",
"WA", "WY"]) ORDER BY X.RANK
RUBY RECEIVES AND
DOES EXTRA
PROCESSING
/V1/COLLEGES/DISCOVER/WEST
E.G. MAPS
"5498FFD56E670ECD4E00010C
" TO "UNIVERSITY OF SAN
DIEGO", ADDS ICON AND
FOLLOW STATUS, ETC.
RETURN
RECOMMENDATIONS TO
JAVASCRIPT FOR
RENDERING
/V1/COLLEGES/DISCOVER/WEST
RUBY API IS GIVEN BUCKET
NAME (E.G.WEST
JAVASCRIPT
RUBY
GOLANG
PYTHON
RUBY ON RAILS
ASIDE:WHY THREE LANGUAGES (+ JAVASCRIPT)?
RUBY PYTHON
DJANGO
JAVASCRIPT
RUBY
GOLANG
PYTHON
BAD MARKETING DJANGO
…FIVE YEARS AGO
IN MY ONLY SLIGHTLY LESS
DISTINGUISHED, BUT STILL SPRY
YOOT, I WAS A LITERAL ROCKSTAR SO
I TOTALLY PREFER PYTHON ON A
PLANE!! 🎸
(IN AN ALTERNATE GIT TIMELINE BRANCH)
DJANGO REINHARDT
FRENCH JAZZ GUITARIST (1910-1953)
JAZZ IS NOT ROCK AND ROLL!!
MONTY PYTHON (1969)
WHAT?! AND PYTHON IS
NAMED AFTER MONTY PYTHON AND
NOT THE SNAKE?
WHAT HAS MONTY
PYTHON EVER DONE FOR US?
BUFFY COULD TOTALLY RAMMED A
HOLY HAND GRENADE OF
ANTIOCH DOWN THE SPANISH
INQUISITION’S THROAT AND
THEN DRIVEN A STAKE IN THEM
JUST TO MAKE SURE!
I CHOOSE RUBY ON RAILS
…AND
THAT IS
WHY I HAD
TO SPEND
TWO WEEKS
LEARNING
GOLANG
A little more fleshing out here
2. CLARKE'S THIRD LAW
“ANY SUFFICIENTLY
ADVANCED TECHNOLOGY
IS INDISTINGUISHABLE FROM
MAGIC.”
— ARTHUR C. CLARK,“HAZARDS OF PROPHECY:THE
FAILURE OF IMAGINATION,” PROFILES OF THE FUTURE (1973)
CLARKE'S THIRD
LAW
RECOMMENDO
COLLEGIA!
ANY SUFFICIENTLY ADVANCED
TECHNOLOGY IS INDISTINGUISHABLE FROM
MAGIC.
—ARTHUR C. CLARK,“HAZARDS OF
PROPHECY:THE FAILURE OF IMAGINATION,”
PROFILES OF THE FUTURE (1973)
ANY SUFFICIENTLY
ADVANCED
TECHNOLOGY IS
INDISTINGUISHABLE FROM
MAGIC.
—ARTHUR C. CLARK,
“HAZARDS OF
PROPHECY:THE FAILURE
OF IMAGINATION,”
PROFILES OF THE FUTURE
(1973)
ANY
ADVANCED
TECHNOLOGY
SUFFICIENTLY
MAGIC
INDISTINGUISHABLE FROM
.
IS
ADVANCED
TECHNOLOGY SUFFICIENTLY
MAGIC
INDISTINGUISHABLE FROM
.
IS
ADVANCED
TECHNOLOGY SUFFICIENTLY
MAGIC
INDISTINGUISHABLE FROM
?
IS
PYTHON SUFFICIENTLY
MAGIC
INDISTINGUISHABLE FROM
?
IS
IS
PYTHON SUFFICIENTLY
INDISTINGUISHABLE FROM
MAGIC?
A NON-TECH FRIEND WHO
HAD RECENTLY MOVED TO SAN
FRANCISCO…
OVERHEARD TWO GUYS
TALKING NEXT TO HER
“WHAT ARE YOU UP TO?"
"OH, I'M TRYING TO LEARN
PYTHON."
"EXCUSE ME, BUT I BELIEVE IT'S
CALLED PARSELTONGUE."
IS
PYTHON SUFFICIENTLY
INDISTINGUISHABLE FROM
MAGIC?
A NON-TECH FRIEND WHO
HAD RECENTLY MOVED TO SAN
FRANCISCO…
OVERHEARD TWO GUYS
TALKING NEXT TO HER
“WHAT ARE YOU UP TO?"
"OH, I'M TRYING TO LEARN
PYTHON."
"EXCUSE ME, BUT I BELIEVE IT'S
CALLED PARSELTONGUE."
RECOMMENDER SYSTEMS
RANKING FILTER
Content-based Filter
RANKING
SELECT T1.ID, X.RANK FROM
COLLEGE_CONTENT_FILTER AS T1
INNER JOIN ( STUFF FROM PYTHON )
AS X (ID, RANK) ON X.ID = T1.ID
WHERE X.ID IS NOT NULL AND
SCHOOL_STATE IN ("CA",
"AK", "AZ", "CO", "HI", "ID",
"MT", "NM", "NV", "OR",
"UT", "WA", "WY"]) ORDER
BY X.RANK
RECOMMENDER SYSTEMS
Collaborative
Filter (CF)
RANKING
RANKING
Content-based
PopularityTable
FILTER
Content-based
Filter
RECOMMENDER
RANKINGS
Collaborative
Filter (CF)
RANKING
RANKING
Content-based
PopularityTable
STUDENT-STUDENT: RANK
COLLEGES BASED ON SIMILAR
STUDENTS
COLLEGE-COLLEGE: RANK
COLLEGES BASED ON SIMILAR
COLLEGES
STATE-COLLEGE: RANK
COLLEGES BASED ON STUDENT'S
HOME STATE
HIGH SCHOOL-COLLEGE:
RANK COLLEGES BASED ON
STUDENT'S HIGH SCHOOL
ZIP-COLLEGE: RANK COLLEGES
BASED ON STUDENT'S ZIP CODE
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ? 3 4
Student
C
4 3 2 1
Student
D
? 3 2 1
Student
E
? 1 ? 1
TABLE IS BASED ON COLLEGE PAGE VIEWS (YOU CAN ADD/USE OTHER DATA
LIKE "FOLLOWS")
FIND TWO SMALLER MATRICES THAT APPROXIMATE THIS LARGE MATRIX (AKA
MATRIX FACTORIZATION(MF)) (THERE ARE OTHER APPROACHES)
USING NUMPY AND PANDAS MODULES IN PYTHON
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ? 3 4
Student
C
4 3 2 1
Student
D
? 3 2 1
Student
E
? 1 ? 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
? 3 2 1
Student
E
? 1 ? 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
? 3 2 1
Student
E
? 1 ? 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
~4 3 2 1
Student
E
? 1 ? 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
~4 3 2 1
Student
E
? 1 ? 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
~4 3 2 1
Student
E
~1 1 ~2 1
StudentFactors
College FactorsX
STUDENT-STUDENT RECOMMENDER
Collaborative
Filter (CF)
RANKING
College
W
College
X
College
Y
College
Z
Student
A
1 2 3 4
Student
B
1 ~2 3 4
Student
C
4 3 2 1
Student
D
~4 3 2 1
Student
E
~1 1 ~2 1
RECOMMEND COLLEGES WITH THE HIGHEST PREDICTED VALUES
STUDENT B WE RECOMMEND Z,Y, X, THEN W LAST
STUDENT D WE RECOMMEND W, X,Y, AND Z LIST
STUDENT E WE RECOMMEND Y, THEN W, X OR Z
StudentFactors
College FactorsX
CF RANKING IMPLEMENTATION
Collaborative
Filter (CF)
RANKING
StudentFactors
College FactorsX
EC2
(1/HR)
AWS REDSHIFT
GO API SERVER
PICKLED MF MODEL
RECOMMENDER SYSTEMS
Collaborative
Filter (CF)
RANKING
RANKING
Content-based
PopularityTable
FILTER
Content-based
Filter
STATE-COLLEGE RECOMMENDER
College
W
College
X
College
Y
College
Z
State
Student
A
1 2 3 4 CA
Student
B
1 7 8 4 NY
Student
C
4 3 2 1 WA
Student
D
3 3 2 1 CA
Student
E
12 3 2 1
NY
Student
F
8 5 9 3 CA
RANKING
Content-based
PopularityTable
STATE-COLLEGE RECOMMENDER
College
W
College
X
College
Y
College
Z
State
Student
A
1 2 3 4 CA
Student
B
1 7 8 4 NY
Student
C
4 3 2 1 WA
Student
D
3 3 2 1 CA
Student
E
12 3 2 1
NY
Student
F
8 5 9 3 CA
RANKING
Content-based
PopularityTable
STATE-COLLEGE RECOMMENDER
College
W
College
X
College
Y
College
Z
State
Student
A
1 2 3 4 CA
Student
D
3 3 2 1 CA
Student
F
8 5 9 3 CA
Student
B
1 7 8 4 NY
Student
E
12 3 2 1
NY
Student
C
4 3 2 1 WA
RANKING
Content-based
PopularityTable
STATE-COLLEGE RECOMMENDER
College
W
College
X
College
Y
College
Z
State
Student
A,D,F
12 10 14 8 CA
Student
B, E
1 1 3 5 NY
Student
C
4 3 2 1 WA
RANKING
Content-based
PopularityTable
CA STUDENTS ARE RECOMMENDED…
1. COLLEGE Y
2. COLLEGE W
3. COLLEGE X
4. COLLEGE Z
POPULARITY TABLE RANKING IMPLEMENTATION
RANKING
Content-based
PopularityTable
AWS REDSHIFT
EC2
(1/DAY)
GO API SERVER
RDS
XPLENTY ETL
RECOMMENDER SYSTEMS
Collaborative
Filter (CF)
RANKING
RANKING
Content-based
PopularityTable
FILTER
Content-based
Filter
CONTENT-BASED FILTER IMPLEMENTATION
GO API SERVER
RDS
FILTER
Content-based
Filter
MONGODB
FILTER
Content-based
FilterXPLENTY ETL
SELECT T1.ID, X.RANK FROM
COLLEGE_CONTENT_FILTER AS T1
INNER JOIN ( RANKINGS FROM
CF ) AS X (ID, RANK) ON X.ID =
T1.ID WHERE X.ID IS NOT NULL
AND SCHOOL_STATE IN ("CA",
"AK", "AZ", "CO", "HI", "ID",
"MT", "NM", "NV", "OR",
"UT", "WA", "WY"]) ORDER
BY X.RANK
AWS REDSHIFTXPLENTY ETL
3. CLARKE'S SECOND LAW
“THE ONLY WAY OF DISCOVERING
THE LIMITS OF THE POSSIBLE IS
TO VENTURE A LITTLE WAY PAST
THEM INTO THE IMPOSSIBLE.”
— ARTHUR C. CLARK,“HAZARDS OF PROPHECY:THE
FAILURE OF IMAGINATION,” PROFILES OF THE FUTURE (1973)
“THE ONLY WAY OF DISCOVERING
THE LIMITS OF THE POSSIBLE IS
TO VENTURE A LITTLE WAY PAST
THEM INTO THE IMPOSSIBLE.”
— ARTHUR C. CLARK,“HAZARDS OF PROPHECY:THE
FAILURE OF IMAGINATION,” PROFILES OF THE FUTURE (1973)
CLARKE'S SECOND
LAW
THE ONLY WAY OF DISCOVERING THE LIMITS
OF THE POSSIBLE IS TO VENTURE A LITTLE
WAY PAST THEM INTO THE IMPOSSIBLE.
—ARTHUR C. CLARK,“HAZARDS OF
PROPHECY:THE FAILURE OF IMAGINATION,”
PROFILES OF THE FUTURE (1962)
YOUR MISSION
SHOULD YOU CHOOSE
TO ACCEPT IT…
• USE RECOMMENDERS ON
YOUR PROJECT! (TO BUILD
USER-CENTRIC, INTUITIVE
UI)
• COLLABORATIVE FILTER
• POPULARITY TABLE
• CONTENT FILTER
• …OR HYBRID COMBINATION
OF THE ABOVE OR OTHER
CREATIVE APPROACHES
MY OTHER
MISSIONS
(SEQUELS)…
1. THIS MISSION'S POST
CREDITS SCENE
2. AUTOCOMPLETE @
CLARAHEALTH
3. MEETME @TAGGED
COLLEGE-
RECOMMENDATION
ENGINE MISSION
DEBRIEF (2018)
COLLEGE-
RECOMMENDATION
ENGINE MISSION
DEBRIEF (2018)
• JULY 2018: RAISEME CLOSED
THEIR SERIES B FUNDRAISING
($15M)
• AUGUST 2018: THEY FIRED
THE CTO/CO-FOUNDER
(DAVE)
• SEPTEMBER 2018: LATER THEY
FIRED THE PRINCIPAL ENGINEER
(ME)
• …ON THE OTHER HAND, I
HEAR THEY'RE HIRING ;-)
D
ISA
V
O
W
ED
D
ISA
V
O
W
ED
STARTED OCTOBER 2018
HEAD OF ENGINEERING
AUTOCOMPLETE
RECOMMENDER IN
DECEMBER 2018 FOR
CLINICAL TRIALS SEARCH
TERMS
EXAMPLE OF
RECOMMENDER
WITHOUT DATA
WAREHOUSE OR MATRIX/
STATS LIBRARY
CLARAHEALTH
CLARAHEALTH
PROBLEM:
AUTOCOMPLETE MEDICAL
TERMS FOR MEDICAL
SUBJECT HEADINGS
(MESH) TOO SLOW AND
INACCURATE:
POSTGRESQL TRIGRAM
TEXT-MATCHING ONLY
REQUIRES LARGE NESTED
QUERY
MESH RDSAWS ZAPPA
LAMBDA SERVERLESS
CLARAHEALTH
1. BUILD ETL OF POPULARITY
TABLES OF MESH TERMS IN
ACTUAL STUDIES
2. LOAD ELASTICSEARCH
COMPLETION SUGGESTER
3. WEIGHT SUGGEST TERMS
BASED ON TERM POPULARITY
IN STUDIES TABLE
(CAN BE IMPROVED LATER BY
CHANGING ETLS TO USE SEARCH
POPULARITY INSTEAD OF STUDY
POPULARITY)
AWS LAMBDA
MESH RDSAWS ZAPPA
LAMBDA SERVERLESS
STUDIES RDS
ELASTIC CLOUD
MEETME @
TAGGED (2007)
EXAMPLE OF A NON-
TRADITIONAL USE OF A
RECOMMENDER SYSTEM
MEETME @
TAGGED (2007)
PROBLEM: SITE HAD ONLY 20 MILLION
PAGE VIEWS PER DAY
WE HAD 30 MILLION USERS!
4 TOP PEOPLE (CEO, CTO, ME, DIR. OF
ENGINEERING) EACH WORKING ON
OWN PROJECT TO FIX THIS…
IN MAY 2007, HUNG OUT WITH
HOTORNOT.COM AT FACEBOOK'S FIRST
F8
"MEET ME" APP FAILED HARD!
I HAD THEORY THAT IT FAILED BECAUSE
FACEBOOK API ONLY SHOWS YOU YOUR
FRIENDS.
“WHO WANTS TO MEET THEIR FRIENDS?”
MEETME @
TAGGED (2007)
COULDN'T SHOW FRIENDS OR
FOAF
NOT RANDOM, RECOMMEND
PEOPLE YOU'D WANT TO MEET..
1. BUILD A NETWORK OF USERS AND
THEIR RELATIONSHIPS/SIMILAR
DATA (LOCATION, AGE, ETC.)
2. USE MONTE-CARLO RANDOM
WALK: 9,11 STEPS ENDING ON A
PERSON
3. MAP: DO IT 40 MILLION TIMES
4. REDUCE: SORT, KEEP TOP 1000
RESULTS
5. CACHE IT, RETURN TOP 20 TO
PHP
6. CONTENT FILTER THE LIST DOWN
AND PASS IT TO WEB CLIENT
7. AS MORE ARE RATED, PULL FROM
CACHE OR REPEAT GOTO 2.
PARAACCEL
ORACLE
MEMCACHE
MEETME @
TAGGED (2007W)
(DON'T EVEN REMEMBER THE
OTHER 3 PEOPLE'S PROJECTS.)
FIRST WEEK: DOUBLED TRAFFIC
(40 MILLION PAGES/DAY)
AVERAGE USER WAS RATING 200
PEOPLE/SESSION
BY 2009, MEETME WAS DOING
100 MILLION PAGES/DAY
SITE WAS 250 MILLION PAGES/
DAY, 3RD LARGEST US SOCIAL
NETWORK
MEETME @
TAGGED (2007)
RATING PROFILE PIC TO MEET
STRANGERS SOUND FAMILIAR?
2012 MYYEARBOOK COPIED
IT & RENAMED THEMSELVES
TO MEETME(TAGGED SUES)
2012 MATCH.COM COPIED
THEM BUT APP SWIPE-LEFT/
SWIPE-RIGHT
2016 MEETME.COM BUYS
TAGGED
2009 I WAS GONE (IPHONE
APPS DIDN'T EXIST YET)
PLUS, I STOLE THE IDEA FROM
HOTORNOT.COM FAILED
FACEBOOK APP ANYWAY.
I WAS DONE WITH DOING
EVIL SHIT.
SUMMARY
RECOMMENDER SYSTEM ARE CERTAINLY
POSSIBLE (FIRST LAW)
BUSINESS ANALYTICS
USED FOR TO BENEFIT USER
BUSINESS ANALYTICS - MAGIC →
TECHNOLOGY (THIRD LAW)
DATA WAREHOUSE (MANY USE SQL
AS THE QUERY LANGUAGE)
ETL: EXTRACT-TRANSFORM-LOAD
MATRIX FACTORIZATION
RDS, MODELS, ELASTICSEARCH
YOU CAN DO 90% IN PHP +
SERVICES
YOUR MISSION (IMPOSSIBLE) IS TO USE
RECOMMENDERS TO BUILD: INTUITIVE UIS
(SECOND LAW)
3 EXAMPLES: MEETME, COLLEGE
RECOMMENDATIONS,AUTOCOMPLETE
… ALSO, FUCK RUBY!
THANK YOU!
PLEASE FILL OUT FEEDBACKTYCHAY@PHP.NET
ADD ME! (SAY WE MET AT #CONFOO)
SLIDES AT HTTP://BIT.LY/CONFOO19-REC-ENGINE

Weitere ähnliche Inhalte

Ähnlich wie 2019-03 Recomendation Engine @ Confoo

Storytelling techniques for product documentation
Storytelling techniques for product documentationStorytelling techniques for product documentation
Storytelling techniques for product documentationLesia Zasadna
 
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Mark Wilkinson
 
10 Steps To Make A Professional Article With Best SEO Strategies.pdf
10 Steps To Make A Professional Article With Best SEO Strategies.pdf10 Steps To Make A Professional Article With Best SEO Strategies.pdf
10 Steps To Make A Professional Article With Best SEO Strategies.pdfSuperHero Marketing
 
NPR - NewMediaDays2010 - Flexible Content
NPR - NewMediaDays2010 - Flexible ContentNPR - NewMediaDays2010 - Flexible Content
NPR - NewMediaDays2010 - Flexible Contentzachbrand
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
FSTO - An Affordable REST
FSTO - An Affordable RESTFSTO - An Affordable REST
FSTO - An Affordable RESTShanta Nathwani
 
⛳️ Votre API passe-t-elle le contrôle technique ?
⛳️ Votre API passe-t-elle le contrôle technique ?⛳️ Votre API passe-t-elle le contrôle technique ?
⛳️ Votre API passe-t-elle le contrôle technique ?François-Guillaume Ribreau
 
Collaboration between LINE, Microsoft and AI by the developers, for the devel...
Collaboration between LINE, Microsoft and AI by the developers, for the devel...Collaboration between LINE, Microsoft and AI by the developers, for the devel...
Collaboration between LINE, Microsoft and AI by the developers, for the devel...LINE Corporation
 
Jobs of the Future - Are you ready to "Keep Pace"
Jobs of the Future - Are you ready to "Keep Pace" Jobs of the Future - Are you ready to "Keep Pace"
Jobs of the Future - Are you ready to "Keep Pace" Keep Pace Technology
 
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...Ícaro Medeiros
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsugToshiaki Maki
 
API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.Inman News
 
Ai 管理人看人工智慧、發展與應用變革
Ai 管理人看人工智慧、發展與應用變革Ai 管理人看人工智慧、發展與應用變革
Ai 管理人看人工智慧、發展與應用變革Craig Chao
 
API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate.  Pitfalls to Avoid.API's - Successes to Replicate.  Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.Peter Goldey
 
Uncovering and Visualizing Malicious Infrastructure
Uncovering and Visualizing Malicious InfrastructureUncovering and Visualizing Malicious Infrastructure
Uncovering and Visualizing Malicious InfrastructureAndrea Scarfo
 
Application latency and streaming API
Application latency and streaming APIApplication latency and streaming API
Application latency and streaming APIstreamdata.io
 
the-10-rest-commandments.pdf
the-10-rest-commandments.pdfthe-10-rest-commandments.pdf
the-10-rest-commandments.pdfDavorKolenc1
 
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR ApplicationThe Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR ApplicationAdam Creeger
 
SPC Master Power User SharePoint & Office 365
SPC Master Power User SharePoint & Office 365SPC Master Power User SharePoint & Office 365
SPC Master Power User SharePoint & Office 365Benjamin Niaulin
 

Ähnlich wie 2019-03 Recomendation Engine @ Confoo (20)

Storytelling techniques for product documentation
Storytelling techniques for product documentationStorytelling techniques for product documentation
Storytelling techniques for product documentation
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
 
10 Steps To Make A Professional Article With Best SEO Strategies.pdf
10 Steps To Make A Professional Article With Best SEO Strategies.pdf10 Steps To Make A Professional Article With Best SEO Strategies.pdf
10 Steps To Make A Professional Article With Best SEO Strategies.pdf
 
NPR - NewMediaDays2010 - Flexible Content
NPR - NewMediaDays2010 - Flexible ContentNPR - NewMediaDays2010 - Flexible Content
NPR - NewMediaDays2010 - Flexible Content
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
FSTO - An Affordable REST
FSTO - An Affordable RESTFSTO - An Affordable REST
FSTO - An Affordable REST
 
⛳️ Votre API passe-t-elle le contrôle technique ?
⛳️ Votre API passe-t-elle le contrôle technique ?⛳️ Votre API passe-t-elle le contrôle technique ?
⛳️ Votre API passe-t-elle le contrôle technique ?
 
Collaboration between LINE, Microsoft and AI by the developers, for the devel...
Collaboration between LINE, Microsoft and AI by the developers, for the devel...Collaboration between LINE, Microsoft and AI by the developers, for the devel...
Collaboration between LINE, Microsoft and AI by the developers, for the devel...
 
Jobs of the Future - Are you ready to "Keep Pace"
Jobs of the Future - Are you ready to "Keep Pace" Jobs of the Future - Are you ready to "Keep Pace"
Jobs of the Future - Are you ready to "Keep Pace"
 
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.
 
Ai 管理人看人工智慧、發展與應用變革
Ai 管理人看人工智慧、發展與應用變革Ai 管理人看人工智慧、發展與應用變革
Ai 管理人看人工智慧、發展與應用變革
 
API's - Successes to Replicate. Pitfalls to Avoid.
API's - Successes to Replicate.  Pitfalls to Avoid.API's - Successes to Replicate.  Pitfalls to Avoid.
API's - Successes to Replicate. Pitfalls to Avoid.
 
Uncovering and Visualizing Malicious Infrastructure
Uncovering and Visualizing Malicious InfrastructureUncovering and Visualizing Malicious Infrastructure
Uncovering and Visualizing Malicious Infrastructure
 
Application latency and streaming API
Application latency and streaming APIApplication latency and streaming API
Application latency and streaming API
 
the-10-rest-commandments.pdf
the-10-rest-commandments.pdfthe-10-rest-commandments.pdf
the-10-rest-commandments.pdf
 
The Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR ApplicationThe Anatomy of a Seriously Sophisticated AIR Application
The Anatomy of a Seriously Sophisticated AIR Application
 
SPC Master Power User SharePoint & Office 365
SPC Master Power User SharePoint & Office 365SPC Master Power User SharePoint & Office 365
SPC Master Power User SharePoint & Office 365
 

Mehr von terry chay

2017-11 Recommendation Engine @ RaiseMe
2017-11 Recommendation Engine @ RaiseMe2017-11 Recommendation Engine @ RaiseMe
2017-11 Recommendation Engine @ RaiseMeterry chay
 
2013-08 10 evil things - Northeast PHP Conference Keynote
2013-08 10 evil things - Northeast PHP Conference Keynote2013-08 10 evil things - Northeast PHP Conference Keynote
2013-08 10 evil things - Northeast PHP Conference Keynoteterry chay
 
10 Evil(ish) Things and how they relate to Features Engineering at the WMF
10 Evil(ish) Things and how they relate to Features Engineering at the WMF10 Evil(ish) Things and how they relate to Features Engineering at the WMF
10 Evil(ish) Things and how they relate to Features Engineering at the WMFterry chay
 
2011 07 Tales of Virality—OSCON
2011 07 Tales of Virality—OSCON2011 07 Tales of Virality—OSCON
2011 07 Tales of Virality—OSCONterry chay
 
2011 07 Living without your Linemen—OSCON
2011 07 Living without your Linemen—OSCON2011 07 Living without your Linemen—OSCON
2011 07 Living without your Linemen—OSCONterry chay
 
PHP Without PHP—Automattic
PHP Without PHP—AutomatticPHP Without PHP—Automattic
PHP Without PHP—Automatticterry chay
 
Broken Jewel—Automattic
Broken Jewel—AutomatticBroken Jewel—Automattic
Broken Jewel—Automatticterry chay
 
Photo to Finished
Photo to FinishedPhoto to Finished
Photo to Finishedterry chay
 
Tales of Virality—Automattic
Tales of Virality—AutomatticTales of Virality—Automattic
Tales of Virality—Automatticterry chay
 
PHP Without PHP—Confoo
PHP Without PHP—ConfooPHP Without PHP—Confoo
PHP Without PHP—Confooterry chay
 
Chinese Proverbs—PHP|tek
Chinese Proverbs—PHP|tekChinese Proverbs—PHP|tek
Chinese Proverbs—PHP|tekterry chay
 
PHP Without PHP—IPC
PHP Without PHP—IPCPHP Without PHP—IPC
PHP Without PHP—IPCterry chay
 

Mehr von terry chay (13)

2017-11 Recommendation Engine @ RaiseMe
2017-11 Recommendation Engine @ RaiseMe2017-11 Recommendation Engine @ RaiseMe
2017-11 Recommendation Engine @ RaiseMe
 
2009-02 Oops!
2009-02 Oops!2009-02 Oops!
2009-02 Oops!
 
2013-08 10 evil things - Northeast PHP Conference Keynote
2013-08 10 evil things - Northeast PHP Conference Keynote2013-08 10 evil things - Northeast PHP Conference Keynote
2013-08 10 evil things - Northeast PHP Conference Keynote
 
10 Evil(ish) Things and how they relate to Features Engineering at the WMF
10 Evil(ish) Things and how they relate to Features Engineering at the WMF10 Evil(ish) Things and how they relate to Features Engineering at the WMF
10 Evil(ish) Things and how they relate to Features Engineering at the WMF
 
2011 07 Tales of Virality—OSCON
2011 07 Tales of Virality—OSCON2011 07 Tales of Virality—OSCON
2011 07 Tales of Virality—OSCON
 
2011 07 Living without your Linemen—OSCON
2011 07 Living without your Linemen—OSCON2011 07 Living without your Linemen—OSCON
2011 07 Living without your Linemen—OSCON
 
PHP Without PHP—Automattic
PHP Without PHP—AutomatticPHP Without PHP—Automattic
PHP Without PHP—Automattic
 
Broken Jewel—Automattic
Broken Jewel—AutomatticBroken Jewel—Automattic
Broken Jewel—Automattic
 
Photo to Finished
Photo to FinishedPhoto to Finished
Photo to Finished
 
Tales of Virality—Automattic
Tales of Virality—AutomatticTales of Virality—Automattic
Tales of Virality—Automattic
 
PHP Without PHP—Confoo
PHP Without PHP—ConfooPHP Without PHP—Confoo
PHP Without PHP—Confoo
 
Chinese Proverbs—PHP|tek
Chinese Proverbs—PHP|tekChinese Proverbs—PHP|tek
Chinese Proverbs—PHP|tek
 
PHP Without PHP—IPC
PHP Without PHP—IPCPHP Without PHP—IPC
PHP Without PHP—IPC
 

Kürzlich hochgeladen

一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiMonica Sydney
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...kumargunjan9515
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理F
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Balliameghakumariji156
 

Kürzlich hochgeladen (20)

一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 

2019-03 Recomendation Engine @ Confoo