HackU Dundee 2011: Tools to Hack With

Preview:

DESCRIPTION

 

Citation preview

TOOLS TO HACK WITH@SteveMarshall

Dundee HackU 2011

select  *  from  internet

YQL uses a SQL-like query language, allowing you to create simple queries from one API or really easily chain queries together so you only get the data you really want, and fast.

All of this, using one language, against one endpoint that gives you everything on the Internet.

But how do you build your queries? To the console!

This is the console. You can enter queries here…

We can do simple things like ‘Search flickr for 10 cat pictures’.

http://www.flickr.com/search/?q=cat&w=all&m=&s=

By selecting from flickr.photos.search where the text is cat.

But what if we want to do something more complex?

Let’s start by finding tweets about Egypt…

(select * from twitter.search where q='egypt')

And now, let’s make them all Spanish…

select * from google.translate where q in (select text from twitter.search where q='egypt') and target="es";)

That’s pretty cool. What else can we do?

And now, let’s wrap a UI around that…

And we have a hack!

(http://isithackday.com/hacks/twitter-translate-form.php?search=egypt&amount=20&language=es)

select  *from  query.multiwhere  queries  in

(‘query  1’,  ‘query  2’,  ‘query  3’)

One of the most useful tables you can use, query.multi allows you to combine multiple parallel queries into one, saving you making separate calls to YQL for each!

socialamazonameeanswersappdbapplearxivauthavatarsawsbasecampbatlasbbcbiblebitbizrateblackcountryhistorybostonbrazilbritishmuseumbrooklynbungiechristiescomicvinecouprecoupcraigslistdarkhelmetdeliciousdiggdigitalnz

dopplrdostopsieduericssonlabsesmeetsyeyefifacebookfantasysportsfccfilemd5financefitbitflickrfolderscrapefoursquarefriendfeedgdacsgeogithubgooglegovgowallagreadergreenbookingsguardianhackernewshatenaignimdbinfochimps

instapaperintuitipkivalastfmlimewirestorelivedoorlocallongurlmapsmediawikiapimeetupmememendeleymicrosoftmiscmiximoviesmozillalabsmuseumoflondonmusicmybloglogmynewsdeskncbinestorianetflixneweggnextbusngmoconmm

nmsinoaanprnytopenaustraliaopencalaisopencontextopenidopensocialpaypalpidgetspikchurplospubsubhubbubqueryrecoveryrssrtmsalesforceseafoodwatchsearchsearsseomozshelfarishippingshoppingshoppingcartsimplegeoslidesharesocialgraphsocialmention

sparqlspotifysunlighttarpipetesttextthemoviedbthetvdbtimeouttinysongtumblrtvragetwfytwitterukparliamentukpostcodeupcomingurbanesiausgsvictoriaandalbertvimeoweatherwesabewhitepageswordpressworldbankwufoowundergroundyahooyahoojp

Hundreds of APIs… all in one place. Accessible to your app…

Make your own!

Yahoo has myriad location technologies open for use, from Yahoo! Maps’ ajax and Flash interface widgets through geocoders to services to allow users to control how they share their location. Here are some of my favourites:

Placemaker identifies places mentioned in text, disambiguating them and returning unique identifiers (WOEIDs).

PlaceFinder is a geocoding Web service that converts street addresses or place names into geographic coordinates (and vice versa).

Fire Eagle is a service to allow developers to access users’ location data in a safe, secure way.

YUI is a collection of CSS and JavaScript components to help people build richer, more robust web applications.

It includes tools to help you build CSS and JS, along with a library of widgets you can drop into your app including things like autocomplete widgets, sliders, table sorting controls, and much, much more.

FAKE IT TILL YOU MAKE IT(BUT DO MAKE IT EVENTUALLY)

If you can’t find an API or library to do what you want (and it doesn’t have to be from Mozilla or Yahoo!), fake it until you absolutely must have real data.

Work on the core of your hack, not on infrastructure for it.