Slide 1

Slide 1 text

Digger: The Traveling Record Collector PP Lightning Talks 131213 Friday, December 13, 13

Slide 2

Slide 2 text

I go to a lot of record stores Friday, December 13, 13

Slide 3

Slide 3 text

I usually make maps like this Friday, December 13, 13

Slide 4

Slide 4 text

I figured there could be a way to do it more efficiently Friday, December 13, 13

Slide 5

Slide 5 text

Yes, this is NP Hard http://en.wikipedia.org/wiki/Travelling_salesman_problem Friday, December 13, 13

Slide 6

Slide 6 text

http://www.recordshops.org/ Friday, December 13, 13

Slide 7

Slide 7 text

recordshops.org • Exposes whole database as json Friday, December 13, 13

Slide 8

Slide 8 text

Enter digger • I didn’t really want to do much work Friday, December 13, 13

Slide 9

Slide 9 text

Enter digger • I didn’t really want to do much work • Sinatra Friday, December 13, 13

Slide 10

Slide 10 text

Enter digger • I didn’t really want to do much work • Sinatra • MongoDB / MongoMapper - can just load JSON into database Friday, December 13, 13

Slide 11

Slide 11 text

Enter digger • I didn’t really want to do much work • Sinatra • MongoDB - can just load json in • Bootstrap - margin:  0  auto;  No time for that Friday, December 13, 13

Slide 12

Slide 12 text

MongoDB • Geospatial indexes make life easy • http://docs.mongodb.org/manual/core/ geospatial-indexes/ ensure_index  [[:location,  '2d']]     def  self.near(location)  #  [0.00,  0.00]    where(:location  =>  {'$near'  =>  location}) end Friday, December 13, 13

Slide 13

Slide 13 text

Geocoder Gem • Uses Google Geocoding API to find starting location Friday, December 13, 13

Slide 14

Slide 14 text

Google JS Maps • Given waypoints, generate directions Friday, December 13, 13

Slide 15

Slide 15 text

Demo • http://x-digger.herokuapp.com Friday, December 13, 13