45
Cross Entropy Reduction for Image Cross Entropy Reduction for Image Analysis Using Simulated Annealing and Analysis Using Simulated Annealing and Fast Artificial Fast Artificial Neural Networks Neural Networks Mashup Camp IV, Mountain View CA Mashup Camp IV, Mountain View CA

Mashup University 4: Intro To Mashups

Embed Size (px)

DESCRIPTION

Slides from John Herren's Introduction to Mashups session at Mashup University 4

Citation preview

Page 1: Mashup University 4: Intro To Mashups

Cross Entropy Reduction for Image Analysis Using Cross Entropy Reduction for Image Analysis Using Simulated Annealing and Fast Artificial Simulated Annealing and Fast Artificial

Neural NetworksNeural NetworksMashup Camp IV, Mountain View CAMashup Camp IV, Mountain View CA

Page 2: Mashup University 4: Intro To Mashups

Introduction to Mashup DevelopmentIntroduction to Mashup Development

John HerrenJohn HerrenDeveloper, Consultant, Masher-upperDeveloper, Consultant, Masher-upper

Mashup Camp IV, Mountain View CA

Page 3: Mashup University 4: Intro To Mashups

My Current GigMy Current Gig

Page 4: Mashup University 4: Intro To Mashups

Wikipedia SaysWikipedia Says

Mashup (music), a musical genre of songs that consist entirely of parts of other songs

Mashup (video), a video that is edited from more than one source to appear as one

Mashup (web application hybrid), a website or web application that combines content from more than one source

Page 5: Mashup University 4: Intro To Mashups

Do you have the mashup gene?Do you have the mashup gene?

Did you repurpose your toys as a kid? Do you still? LEGO maniac? Do you embrace the web as the ultimate

maker's platform? Are you frustrated until you figure out how

things work from the inside?

Page 6: Mashup University 4: Intro To Mashups

Do you have the mashup gene?Do you have the mashup gene?

Did you mourn the loss of Don Herbert?

Page 7: Mashup University 4: Intro To Mashups

Mashup CharacteristicsMashup Characteristics

Combination

Visualization

Aggregation

Page 8: Mashup University 4: Intro To Mashups

CombinationCombination

Use multiple data sources Join across dimensions Subject + Time/Place + ...

Page 9: Mashup University 4: Intro To Mashups

Combination ExampleCombination Example

Input: Bands I like + Where I live Data Sources: Eventful.com + Yahoo! music

search Output: nifty mashup

Page 10: Mashup University 4: Intro To Mashups

Visualization Example Visualization Example

ChicagoCrime.org

Page 11: Mashup University 4: Intro To Mashups

Visualization ExampleVisualization Example

ChicagoCrime.org

Page 12: Mashup University 4: Intro To Mashups

AggregationAggregation

Group your data and take a measure Sum, Avg, Min, Max Create information from the data Which becomes new data itself Use algorithms as a substitute for creativity! Classification, prediction, clustering, NLP Uncover hidden aspects of your data

Page 13: Mashup University 4: Intro To Mashups

Aggregation ExampleAggregation Example

Page 14: Mashup University 4: Intro To Mashups

Why Mashup?Why Mashup?

Perfect prototyping platform Hobby Business Embrace recursion Embrace recursion Profit! - Fulfill the underpants gnome

prophecy

Page 15: Mashup University 4: Intro To Mashups

Step OneStep One

Collect data sources. Use APIs to find– Restaurant reviews

– Crime statistics

– Books about alpaca farming

What's an API?– Hotlinking 2.0?

Page 16: Mashup University 4: Intro To Mashups

Step TwoStep Two

Make a mashup (duh) Bootstrap a niche Exploit the long tail

Page 17: Mashup University 4: Intro To Mashups

Step ThreeStep Three

Profit!– 15 minutes of blogosphere fame

– Monetize traffic with ppc/cpm ads

– Affiliate programs

– Sell advanced features or memberships

– Sell it as software

– Early acquisition

– Your dream interview

– Win a Sun Microsystems 8-core 32GB RAM Sun Fire T2000

– (insert liquidity event here)

Page 18: Mashup University 4: Intro To Mashups

Case StudyCase Study

Yahoo! News Tag Soup Yahoo! interviews Tagcloud.com Crazy press - Wired, TechCrunch Mashup Camp I Under the Radar Crazy Growth, VC’s Deadpool ?

Page 19: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Platforms

Page 20: Mashup University 4: Intro To Mashups

Data FeedsData Feeds

RSS ATOM Demo

Page 21: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Platforms

Page 22: Mashup University 4: Intro To Mashups

APIsAPIs

Dynamic data feed Specific to the data service

Page 23: Mashup University 4: Intro To Mashups

Feeds How-toFeeds How-to

Two turntables and a microphone APIs and a scripting language

– Easy to prototype

– Easy to deploy

– Scripting language is rarely the bottleneck

Two simple steps– Request-Response*

– Iterate over response (result set)

Page 24: Mashup University 4: Intro To Mashups

Response HandlingResponse Handling

Usually XML– SimpleXML: $rss->channel->item[0]->title;

JSON Serialized Data

– $results = unserialize(file_get_contents($url));

YAML

Page 25: Mashup University 4: Intro To Mashups

SOAPSOAP

Not really simple Not really object access Not really a protocol But there is hope

Page 26: Mashup University 4: Intro To Mashups

SOAP in PHPSOAP in PHP

$client = new SoapClient("AmazonWebServices.wsdl");

$params = array(

'keyword' => 'alpacas',

'page' => 1,

'mode' => 'books',

'tag' => 'jhherren',

'devtag' => 'YOURAPIKEY');

$result = $client->KeywordSearchRequest($params);

Page 27: Mashup University 4: Intro To Mashups

XML-RPCXML-RPC

Easier than SOAP Supports typing Uses system.methodSignature instead of

WSDL Popular with blogging apps

Page 28: Mashup University 4: Intro To Mashups

RESTREST

Representational State Transfer Don't need extra layers URI as resource CRUD operations: GET, POST, PUT, DELETE Stateless, cacheable, layered (easier)

Page 29: Mashup University 4: Intro To Mashups

RSS Example RSS Example

In Python:

import feedparser #by Mark Pilgrimrss_url = "http://feeds.feedburner.com/Techcrunch"feed = feedparser.parse(rss_url)for entry in feed.entries:

print entry.title

Page 30: Mashup University 4: Intro To Mashups

AJAX & Browser-Side AJAX & Browser-Side

Asynchronous Javascript and XML a.k.a. XmlHttpRequest Client side XML, JSON, ...

Page 31: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Platforms

Page 32: Mashup University 4: Intro To Mashups

Third-party Libraries & FrameworksThird-party Libraries & Frameworks

Check the API providers first! Web Frameworks: Django, Ruby on

Rails, Zend Framework Yahoo! code libraries Google AJAX Search API

Page 33: Mashup University 4: Intro To Mashups

Zend Framework ExampleZend Framework Example

<?phprequire_once 'Zend/Service/Flickr.php';

$flickr = new Zend_Service_Flickr('MY_API_KEY');

$results = $flickr->tagSearch("llama");

foreach ($results as $result) { echo $result->title . '<br />';}?>

Page 34: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Platforms

Page 35: Mashup University 4: Intro To Mashups

GUI Mashup ToolsGUI Mashup Tools Graphical widgets Boxely Adobe AIR SnapLogic

Page 36: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Platforms

Page 37: Mashup University 4: Intro To Mashups

Mashups PlatformsMashups Platforms No server needed Graphical building tools Think MS Access for mashups Google Mashup Editor Yahoo! Pipes Boxely Popfly Dappr Kapow Facebook (you really have no excuse now)

Page 38: Mashup University 4: Intro To Mashups

Mashup ToolsMashup Tools

Page 39: Mashup University 4: Intro To Mashups

Browser Based AuthenticationBrowser Based Authentication

Login to the service, not the mashup Provides anonymity, but not safety Yahoo! BBAuth Google AuthSub

Page 40: Mashup University 4: Intro To Mashups

The Mashup PyramidThe Mashup Pyramid

GUI Tools

Code Libraries

APIs

Data Feeds

Rich,Easy

Flexible, Low-level

Platforms

Page 41: Mashup University 4: Intro To Mashups

Pain PointsPain Points

Latency & Scalability API limits, abuse & metering API versioning IP, copyright, licensing Reliability & SLA Monetization Privacy, security, identity

Page 42: Mashup University 4: Intro To Mashups

My PredictionsMy Predictions

More mobile mashups More AI & datamining to supplement

“user generated content” Microformats catch on and get

aggregated OpenID catches on “Attention Capital”, “Attention

Management”

Page 43: Mashup University 4: Intro To Mashups

The RealityThe Reality

Twitter Facebook platform

Page 44: Mashup University 4: Intro To Mashups

New PredictionsNew Predictions

Increased competition among mashup platforms

iPhone, iPhone, iPhone Microformat spam The big players will implement OpenID

Page 45: Mashup University 4: Intro To Mashups

ResourcesResources

Programmable Web– http://programmableweb.com/

Yahoo Developer Network– http://developer.yahoo.com

Google Code– http://code.google.com