SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Of hamsters, feature
creatures and missed
opportunities



 Chris&an
Heilmann,
Fronteers,
Amsterdam,
5th
of
November
2009
(remember,
remember)
Hamstering.
h@p://www.flickr.com/photos/codepo8/4066032678/
ID
  U P
ST
h@p://www.flickr.com/photos/atalaya/544843059/
How
we
learnt
web
design

is
not
the
right
way.
WaSP Interact




h@p://interact.webstandards.org/
Opera Web Standards
          curriculum




h@p://www.opera.com/company/educa&on/curriculum/
Our
job:
evolving
the
web
Specialists.
Fanboys.




                  *
           *bleep
Good

developers
are

like
librarians.




      h@p://www.flickr.com/photos/feliciaday/3828388329/
Libraries.




             (...)
Write
less,
do
more.
             !=
Write
less,
make
it
hard
to

        maintain.
Beware
the
feature

creature.
The
feature
    Simple

loop

      Complex              Feedback



                Features
Shi[ing
our
point
of
view

to
spot
opportuni&es.
Our
technologies
are
shit

hot.
The
web
is
not
sites.
The
web
is
not
code.
It
is
about
data.




                    h@p://www.flickr.com/photos/22414102@N07/3508671863/
Building
with
components.




                 http://www.flickr.com/photos/seven13avenue/2080281038/
CMS
h@p://www.youtube.com/watch?v=_vJlADxbv4U&
Kobayashi
Maru
h@p://developer.yahoo.com/yql
Photos
from
Flickr?

select
*
from
flickr.photos.search

where
text
=
"cat"
Headlines
of
the
New
York
Times?

select
*
from
nyt.ar&cle.search

where
query="spontaneous

combus&on"
Latest
commits
on
a
GitHub
repo?

select
*
from
github.repo.commits

where
id='yql'
and
repo='yql‐tables'
Latest
headlines
of
the
Volkskrant?

select
&tle
from
html
where

url="h@p://www.volkskrant.nl/"

and
xpath="//h2[@&tle]"
Latest
English
headlines
of
the

Volkskrant?
select
*
from
google.translate

where
q
in
(select
&tle
from
html

where
url="h@p://
www.volkskrant.nl/"
and
xpath="//
h2[@&tle]")
and
target='en'
Upda&ng
Twi@er?

use
'h@p://www.yqlblog.net/samples/twi@er.status.xml';
insert
into
twi@er.status

(status,username,password)
values
(


"In
your
fronteers,
blowing
ur
mindz",












"codepo8",


"didyoureallythinkIshowit?"
)
Upda&ng
Wordpress?

insert
into
wordpress.post

(&tle,
descrip&on,
blogurl,
username,

password)

values

("Test
Title",
"This
is
a
test
body",

"h@p://ajaxian.com",
"cheilmann",

"iedoesitright")
Upda&ng
the
internet?

delete
from
internet
where

user_agent="MSIE"
and
version
<
8;
                                       soz.
                                 t   ,

                            t
 ye
                         N o
Search
one
term
in
Google,
Bing
and

 Yahoo?
select
*
from
query.mul&
where
queries='
select
*
from
microso[.bing
where
query="Jimmy

Hoffa"
and
source
in
("web");
select
*
from
google.search
where
q
=
"Jimmy

Hoffa";
select
*
from
search.web
where
query
=
"Jimmy

Hoffa"
'
1)
Define
your
Query




                    3)
Copy
the
URL.

2)
Select
your
output
Or
the
manly
way...

h@ps://query.yahooapis.com/v1/public/yql?
q={uri‐encoded‐query}&
format={xml|json}&
diagnos&cs={true|false}&
callback={func&on}&
env=store%3A%2F%2Fdatatables.org
%2Falltableswithkeys
You
can
mix
and
match
whatever

you
want.
You
can
sort
and
limit.
You
can
extend
with
your
own
data

tables
by
wri&ng
a
schema
and

pu|ng
it
on
GitHub.
You
can
store
informa&on
on
the

YQL
servers
(the
cloud,
the
cloud)
Where’s
the
catch?
10k
hits
an
hour
(20k
with
oAuth).
100k
hits
a
day.
Data
is
cached
for
15
minutes
(soon

customisable).
Execu&on
limit
on
the
server
is
30

seconds
(for
now).

                                   
a ll!
                              at ’s
                        T h
Let’s
bite
into
an
example.
Find
Amsterdam.

select
*
from
geo.places
where

text="amsterdam"
Define
Amsterdam
and
get
photos

taken
there.
select
*
from
flickr.photos.search

where
woe_id
in
(
select
woeid
from
geo.places
where

text="amsterdam"
)
Get
all
the
informa&on
about
these

photos.
select
*
from
flickr.photos.infor

where
photo_id
in
(select
id
from

flickr.photos.search
where
woe_id

in
(select
woeid
from
geo.places

where
text="amsterdam"))
Get
only
what
we
need.

select
farm,
id,
secret,
owner.realname,
server,

&tle,urls.url.content
from
flickr.photos.info

where
photo_id
from
flickr.photos.infor
where

photo_id
in
(select
id
from
flickr.photos.search

where
woe_id
in
(select
woeid
from
geo.places

where
text="amsterdam"))
Select
format
JSON,
define
a

callback
and
copy
and
paste
the

URL.
h@ps://query.yahooapis.com/v1/yql?q=select%20*
%20from%20flickr.photos.info%20where%20photo_id
%20in%20(select%20id%20from%20flickr.photos.search
%20where%20woe_id%20in%20(select%20woeid
%20from%20geo.places%20where%20text%3D
%22amsterdam
%22))&format=json&diagnos&cs=false&env=store%3A
%2F%2Fdatatables.org
%2Falltableswithkeys&callback=flickr
Copy
into
a
script
src
and
write
a

few
lines
of
Dom
Scrip&ng.
PROFIT!
                                    Too
lazy
to
change
the
demo,
meh.




 h@p://isithackday.com/hacks/ajaxexperience/flickrgeophotos.html
Also:
FAIL.

Do
not
trust
JavaScript
to
be

available!
So
move
your
JavaScript
server
side!

YQL
open
tables
can
have

embedded
JS
that
runs
on
the
YQL

server
(with
Rhino)
and
supports

XML
na&vely
with
E4X.
Flickr
photos
as
ULs
now:

use
"h@p://github.com/codepo8/
yql‐tables/raw/master/flickr/
flickr.photolist.xml"
as
flickr;
select
*
from
flickr
where
text="me"

and
loca&on="uk"
and
amount=20
Display
with
JavaScript:
Display
with
PHP:
Join
us!






h@p://github.com/yql/yql‐tables
RTFM









h@p://developer.yahoo.com/yql/
Spend
your
&me
on
making
the
web

fun
for
humans,
not
pleasing

machines.
If
you
are
clever,
you
are
allowed
to

be
lazy.
Replacing
the
web
would
be
tough,

so
use
it
well.

Chris&an
Heilmann

h@p://wait‐&ll‐i.com
        Bedankt!

h@p://developer‐evangelism.com

h@p://twi@er.com/codepo8




Mais conteúdo relacionado

Mais procurados

Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013
Andy Davies
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For Speed
Andy Davies
 

Mais procurados (19)

Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013
 
Working In The Now - Paris Web
Working In The Now - Paris WebWorking In The Now - Paris Web
Working In The Now - Paris Web
 
The web is too slow
The web is too slow The web is too slow
The web is too slow
 
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
Cristiano Rastelli - Atomic Design, Design Systems and React. Cool, but... - ...
 
So…What Do I Make? (Dan Mall)
So…What Do I Make? (Dan Mall)So…What Do I Make? (Dan Mall)
So…What Do I Make? (Dan Mall)
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites Faster
 
Sourcing hacks to keep you ahead of the competition
Sourcing hacks to keep you ahead of the competitionSourcing hacks to keep you ahead of the competition
Sourcing hacks to keep you ahead of the competition
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For Speed
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites Faster
 
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile Context
 
Hacking For Innovation Delhi
Hacking For Innovation DelhiHacking For Innovation Delhi
Hacking For Innovation Delhi
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Are Today's Good Practices… Tomorrow's Performance Anti-Patterns
Are Today's Good Practices… Tomorrow's Performance Anti-PatternsAre Today's Good Practices… Tomorrow's Performance Anti-Patterns
Are Today's Good Practices… Tomorrow's Performance Anti-Patterns
 
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
The Case for HTTP/2  - Internetdagarna 2015 - StockholmThe Case for HTTP/2  - Internetdagarna 2015 - Stockholm
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
 
How to plan for content during website redesigns
How to plan for content during website redesignsHow to plan for content during website redesigns
How to plan for content during website redesigns
 
Web Performance & You
Web Performance & YouWeb Performance & You
Web Performance & You
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016
 

Semelhante a Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities

YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
drgath
 
2012 03 27_philly_jug_rewrite_static
2012 03 27_philly_jug_rewrite_static2012 03 27_philly_jug_rewrite_static
2012 03 27_philly_jug_rewrite_static
Lincoln III
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internet
tkisason
 

Semelhante a Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities (20)

Find,Mix And Show
Find,Mix And ShowFind,Mix And Show
Find,Mix And Show
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2
 
YQL: Select * from Internet
YQL: Select * from InternetYQL: Select * from Internet
YQL: Select * from Internet
 
WAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_ifWAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_if
 
SearchMonkey
SearchMonkeySearchMonkey
SearchMonkey
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
2012 03 27_philly_jug_rewrite_static
2012 03 27_philly_jug_rewrite_static2012 03 27_philly_jug_rewrite_static
2012 03 27_philly_jug_rewrite_static
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
 
Does my DIV look big in this?
Does my DIV look big in this?Does my DIV look big in this?
Does my DIV look big in this?
 
Web Scraping With Python
Web Scraping With PythonWeb Scraping With Python
Web Scraping With Python
 
Scout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicagoScout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicago
 
Open Hack London - Introduction to YQL
Open Hack London - Introduction to YQLOpen Hack London - Introduction to YQL
Open Hack London - Introduction to YQL
 
Georgia Tech Hack Day
Georgia Tech Hack DayGeorgia Tech Hack Day
Georgia Tech Hack Day
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internet
 
Semantic Web: A web that is not the Web
Semantic Web: A web that is not the WebSemantic Web: A web that is not the Web
Semantic Web: A web that is not the Web
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Making sense out of things on the web
Making sense out of things on the webMaking sense out of things on the web
Making sense out of things on the web
 
Skillshare - Introduction to Data Scraping
Skillshare - Introduction to Data ScrapingSkillshare - Introduction to Data Scraping
Skillshare - Introduction to Data Scraping
 
HTML5: New Possibilities for Publishing
HTML5: New Possibilities for PublishingHTML5: New Possibilities for Publishing
HTML5: New Possibilities for Publishing
 

Mais de Christian Heilmann

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 

Mais de Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities