SlideShare a Scribd company logo
Don’t trust the internet




                              Thijs Bernolet
                              @recyclerobot
                           recyclerobot.com
Don’t trust the internet

    Shawn Pucknell’s trip
from his house to Amsterdam



                                   Thijs Bernolet
                                   @recyclerobot
                                recyclerobot.com
about me
how society sees my trip to
amsterdam
how my parents see my trip to
amsterdam
how my friends see my trip to
amsterdam
how I’m really doing my trip to
amsterdam
how my trip to amsterdam really is




   <movie>
personal projects
MP3BRUTALIZER.COM
OCTOHEDRON.COM




    <movie>
NERDLAB.BE
               Retro games,
            Circuit bending,
        Interactieve visuals,
       Elektronische muziek,
          Useless domotica
Shawn Pucknell’s trip
from his house to Amsterdam

  using google streetview
2 parts
 1. How did I get the address?
 2. Google streetview
    moviemaker + code
Everyone does it : Geolocation
Some of the biggest
players:
 1. facebook
 2. twitter
 3. Foursquare
 4. flickr/instagram
 5. exif image data
1. Facebook
 does not officially allow you
 to extract exact user location from graph API,
 even when the user has entered the
 information in the “about me” section
1. Facebook
  allows for “home town” area
                            > never exact location
  and “current location”




           explicit facebook app permissions
1. Facebook
 facebook checkins




                     if available a.k.a. very buggy
1. Facebook
 solution: cURL ‘fake login’ & scrape
 WARNING: NOT COMPATIBLE WITH
 FACEBOOK PLATFORM POLICIES
 https://developers.facebook.com/
 policy/
1. Facebook
php cURL Setup:
1. Facebook
php cURL Setup:
1. Facebook
php cURL Setup:




                  CHMOD 777
1. Facebook
 you now have a valid FB session and
 can scrape trough your friendlist
 preg_matching the “address” table
 field
2. Twitter
  strict permission based location API

  but different take on mobile devices
     depending on your iOS/Android app, you’ll
     most
     likely send location information along with
     your tweets
2. Twitter
  posting from the twitter.com site and allowing
  geolocation you’ll most likely attach
  your area to your tweets
2. Twitter

  you can also customize your location by
  searching for a previously mentioned location
2. Twitter
             from mobile devices it
             sends geo location
             along without explicit
             permission, helping you
             to see
             “nearby local trends”

             note: your location is
             only posted when you
             actually click on the
             location icon
2. Twitter
 developing your own twitter app will
 allow you to silently gather geolocation
 information about a person, even with a
 recursive fall back system if the person
 has a bad GPS signal


 thanks twitter!
2. Twitter
 https://api.twitter.com/1/statuses/show/
 172379200131563520.json

 native API call shows you the “neighborhood”
 you’ve send your tweet
 {"created_at":"Wed Feb 22 17:56:18 +0000 2012","id":172379200131563520,"id_str":"172379200131563520","text":"tweet
 location","source":"web","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_u
 ser_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":
 44895844,"id_str":"44895844","name":"Thijs
 Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber,
 visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http://
 www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri
 Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset":
 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count":
 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro
 und_image_url":"http://a0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/
 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images
 /1134396838/
 LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile
 _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media"
 :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification
 s":null},"geo":null,"coordinates":null,"place":{"id":"6d46a7614a0145b7","url":"http://api.twitter.com/1/geo/id/
 6d46a7614a0145b7.json","place_type":"city","name":"Aalter","full_name":"Aalter,
 Gent","country_code":"BE","country":"Belgiu00eb","bounding_box":{"type":"Polygon","coordinates":
 [[[3.331299,51.016438],[3.525382,51.016438],[3.525382,51.122519],[3.331299,51.122519]]]},"attributes":
 {}},"contributors":null,"retweet_count":0,"favorited":false,"retweeted":false}
2. Twitter
 https://api.twitter.com/1/statuses/show/
 172379200131563520.json

 native API call shows you the “neighborhood”
 you’ve send your tweet
 {"created_at":"Wed Feb 22 17:56:18 +0000 2012","id":172379200131563520,"id_str":"172379200131563520","text":"tweet
 location","source":"web","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_u
 ser_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":
 44895844,"id_str":"44895844","name":"Thijs
 Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber,
 visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http://
 www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri
 Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset":
 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count":
 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro
 und_image_url":"http://a0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/

               "place_type":"city","name":"Aalter"
 pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/
 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images
 /1134396838/
 LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile
 _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media"
 :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification
 s":null},"geo":null,"coordinates":null,"place":{"id":"6d46a7614a0145b7","url":"http://api.twitter.com/1/geo/id/
 6d46a7614a0145b7.json","place_type":"city","name":"Aalter","full_name":"Aalter,
 Gent","country_code":"BE","country":"Belgiu00eb","bounding_box":{"type":"Polygon","coordinates":
 [[[3.331299,51.016438],[3.525382,51.016438],[3.525382,51.122519],[3.331299,51.122519]]]},"attributes":
 {}},"contributors":null,"retweet_count":0,"favorited":false,"retweeted":false}
2. Twitter
 https://api.twitter.com/1/statuses/show/
 173781331040415744.json
 mobile API call with custom twitter app shows
 you:
 {"created_at":"Sun Feb 26 14:47:52 +0000 2012","id":173781331040415744,"id_str":"173781331040415744","text":"This is my
 location","source":"u003ca href="http://twitter.com/#!/download/iphone" rel="nofollow"u003eTwitter for
 iPhoneu003c/a
 u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_
 reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":44895844,"id_str":"44895844","name":"Thijs
 Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber,
 visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http://
 www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri
 Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset":
 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count":
 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro
 und_image_url":"http://a0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/
 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images
 /1134396838/
 LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile
 _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media"
 :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification
 s":null},"geo":{"type":"Point","coordinates":[51.06573600,3.72553367]},"coordinates":{"type":"Point","coordinates":
 [3.72553367,51.06573600]},"place":{"id":"67687709552688fe","url":"http://api.twitter.com/1/geo/id/
 67687709552688fe.json","place_type":"city","name":"Ghent","full_name":"Ghent,
 Ghent","country_code":"BE","country":"Belgium","bounding_box":{"type":"Polygon","coordinates":[[[3.579764,50.979531],
 [3.849360,50.979531],[3.849360,51.187961],[3.579764,51.187961]]]},"attributes":{}},"contributors":null,"retweet_count":
 0,"favorited":false,"retweeted":false}
2. Twitter
 https://api.twitter.com/1/statuses/show/
 173781331040415744.json
 mobile API call with custom twitter app shows
 you:
 {"created_at":"Sun Feb 26 14:47:52 +0000 2012","id":173781331040415744,"id_str":"173781331040415744","text":"This is my
 location","source":"u003ca href="http://twitter.com/#!/download/iphone" rel="nofollow"u003eTwitter for
 iPhoneu003c/a
 u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_
 reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":44895844,"id_str":"44895844","name":"Thijs
 Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber,
 visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http://
 www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri
 Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset":
 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count":
 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro
                        "type":"Point","coordinates":
 und_image_url":"http://a0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/
 pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/

 /1134396838/         [51.06573600,3.72553367]}
 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images

 LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile
 _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media"
 :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification
 s":null},"geo":{"type":"Point","coordinates":[51.06573600,3.72553367]},"coordinates":{"type":"Point","coordinates":
 [3.72553367,51.06573600]},"place":{"id":"67687709552688fe","url":"http://api.twitter.com/1/geo/id/
 67687709552688fe.json","place_type":"city","name":"Ghent","full_name":"Ghent,
 Ghent","country_code":"BE","country":"Belgium","bounding_box":{"type":"Polygon","coordinates":[[[3.579764,50.979531],
 [3.849360,50.979531],[3.849360,51.187961],[3.579764,51.187961]]]},"attributes":{}},"contributors":null,"retweet_count":
 0,"favorited":false,"retweeted":false}
2. Twitter
3. Foursquare
 very easy to search for location
 most people on foursquare publish their
 checkins on twitter/facebook,
 so you just write a twitter scraper to get all the
 locations or use an online service
pleaserobme.com
4. Flickr/instagram
  flickr and instagram recently allowed
  geolocation with posting of pictures,
  using a scraper you can easily
  automaticly extract the information
4. Flickr
(5. EXIF Data)
  EXIF Viewer is a firefox addon that
  enables you to view the complete
  EXIF data of pictures,

  many mobile phones and high end
  cameras send location tags along
  with the picture in the EXIF data

  http://araskin.webs.com/exif/
  exif.html
(5. EXIF Data)
(5. EXIF Data)
(5. EXIF Data)


                 46.586,23.460333
Using a combination
of the previous API’s
     *drumroll*
Google streetview movie maker


      things get nerdy
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4



 Direction calculator + array credits: Thor Mitchell
Google streetview movie maker
Google streetview movie maker
   event listeners + load begin + end points
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker
   get directions , get polyline vertices and
   setup streetview coverage
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker
   get vertex point and check if streetview exists
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker
   timer functions to move view
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker
   timer functions to move view
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker
   calculate next
Google streetview movie maker
   calculate direction angle between 2 vertex points




          the magic part!
Google streetview movie maker
  0. setup map + streetview > “load()”
  1. Calculate route + vertices > “jumpInMyCar()”
  2. Check if streetview exists for vertices >
  “checkCoverage()”
  3. setup/continue loop timer > “moveMyCar()”
  4. goto next vertex point > “jumpToVertex()”
  5. calculate next vertex point + calculate the pan
  direction                   a. NodeJS > PhantomJS
  6. call screenshot app      b. Shell_exec SCROT
  7. back to step 4
Google streetview movie maker




             set viewAngle streetview to
             direction vector

             and take screenshot
Google streetview movie maker
 screenshot possible ways:
  first idea: NodeJS & PhantomJS
  client




  Pain in the ass
Google streetview movie maker
    screenshot possible ways:
     first idea: NodeJS & PhantomJS
     client
Ubuntu 10.04 > first compile QT4 with webkit
apt-get install libqt4-core libqt4-dev libqt4-gui  qt4-dev-tools




git clone and make
git clone git://github.com/ariya/phantomjs.git && cd phantomjs
git checkout 1.3
qmake-qt4 && make
Google streetview movie maker
  NodeJS & PhantomJS >
  No WebGL headless render support nor flash
  support



  SCROT & firefox to the rescue
  Ubuntu 10.04:
   apt-get update
   apt-get install scrot firefox
Google streetview movie maker
  install flash universal for linux firefox
  Ubuntu 10.04:
   apt-get install flash-universal-
   binary
Google streetview movie maker
  BOTH need a virtual render
  display

  Xvfb
  Ubuntu 10.04 install:
   apt-get install xvfb xfonts-base
   xfonts-75dpi xfonts-100dpi
  font errors:
    apt-get install msttcorefonts
    cabextract x-ttcidfont-conf
Google streetview movie maker
 run firefox as seperate process and surf to
 your
 streetview application

 Ubuntu 10.04:
  nohup DISPLAY=:1 firefox http://
  *****.recyclerobot.com/streetview.php -
  width=1024 -height=768 &
Google streetview movie maker
  encode your 100000 files with mencoder
     1. create alphabetical list in TXT
     2. render TXT list to movie

  Ubuntu 10.04:
   #~list -v > list.txt

   #~mencoder mf://@list.txt -mf fps=25 -ovc
   x264 -nosound -ofps 25.0 -noskip -of rawvideo
   -o output.mp4
The final result
https://vimeo.com/37753940

More Related Content

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Fitc donttrusttheinternet [raw upload]

  • 1. Don’t trust the internet Thijs Bernolet @recyclerobot recyclerobot.com
  • 2. Don’t trust the internet Shawn Pucknell’s trip from his house to Amsterdam Thijs Bernolet @recyclerobot recyclerobot.com
  • 4. how society sees my trip to amsterdam
  • 5. how my parents see my trip to amsterdam
  • 6. how my friends see my trip to amsterdam
  • 7. how I’m really doing my trip to amsterdam
  • 8. how my trip to amsterdam really is <movie>
  • 11. OCTOHEDRON.COM <movie>
  • 12. NERDLAB.BE Retro games, Circuit bending, Interactieve visuals, Elektronische muziek, Useless domotica
  • 13. Shawn Pucknell’s trip from his house to Amsterdam using google streetview
  • 14.
  • 15. 2 parts 1. How did I get the address? 2. Google streetview moviemaker + code
  • 16. Everyone does it : Geolocation
  • 17. Some of the biggest players: 1. facebook 2. twitter 3. Foursquare 4. flickr/instagram 5. exif image data
  • 18. 1. Facebook does not officially allow you to extract exact user location from graph API, even when the user has entered the information in the “about me” section
  • 19. 1. Facebook allows for “home town” area > never exact location and “current location” explicit facebook app permissions
  • 20. 1. Facebook facebook checkins if available a.k.a. very buggy
  • 21. 1. Facebook solution: cURL ‘fake login’ & scrape WARNING: NOT COMPATIBLE WITH FACEBOOK PLATFORM POLICIES https://developers.facebook.com/ policy/
  • 24. 1. Facebook php cURL Setup: CHMOD 777
  • 25. 1. Facebook you now have a valid FB session and can scrape trough your friendlist preg_matching the “address” table field
  • 26. 2. Twitter strict permission based location API but different take on mobile devices depending on your iOS/Android app, you’ll most likely send location information along with your tweets
  • 27. 2. Twitter posting from the twitter.com site and allowing geolocation you’ll most likely attach your area to your tweets
  • 28. 2. Twitter you can also customize your location by searching for a previously mentioned location
  • 29. 2. Twitter from mobile devices it sends geo location along without explicit permission, helping you to see “nearby local trends” note: your location is only posted when you actually click on the location icon
  • 30. 2. Twitter developing your own twitter app will allow you to silently gather geolocation information about a person, even with a recursive fall back system if the person has a bad GPS signal thanks twitter!
  • 31. 2. Twitter https://api.twitter.com/1/statuses/show/ 172379200131563520.json native API call shows you the “neighborhood” you’ve send your tweet {"created_at":"Wed Feb 22 17:56:18 +0000 2012","id":172379200131563520,"id_str":"172379200131563520","text":"tweet location","source":"web","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_u ser_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id": 44895844,"id_str":"44895844","name":"Thijs Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber, visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http:// www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset": 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count": 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro und_image_url":"http://a0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/ 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images /1134396838/ LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media" :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification s":null},"geo":null,"coordinates":null,"place":{"id":"6d46a7614a0145b7","url":"http://api.twitter.com/1/geo/id/ 6d46a7614a0145b7.json","place_type":"city","name":"Aalter","full_name":"Aalter, Gent","country_code":"BE","country":"Belgiu00eb","bounding_box":{"type":"Polygon","coordinates": [[[3.331299,51.016438],[3.525382,51.016438],[3.525382,51.122519],[3.331299,51.122519]]]},"attributes": {}},"contributors":null,"retweet_count":0,"favorited":false,"retweeted":false}
  • 32. 2. Twitter https://api.twitter.com/1/statuses/show/ 172379200131563520.json native API call shows you the “neighborhood” you’ve send your tweet {"created_at":"Wed Feb 22 17:56:18 +0000 2012","id":172379200131563520,"id_str":"172379200131563520","text":"tweet location","source":"web","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_u ser_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id": 44895844,"id_str":"44895844","name":"Thijs Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber, visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http:// www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset": 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count": 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro und_image_url":"http://a0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/ "place_type":"city","name":"Aalter" pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/ 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images /1134396838/ LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media" :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification s":null},"geo":null,"coordinates":null,"place":{"id":"6d46a7614a0145b7","url":"http://api.twitter.com/1/geo/id/ 6d46a7614a0145b7.json","place_type":"city","name":"Aalter","full_name":"Aalter, Gent","country_code":"BE","country":"Belgiu00eb","bounding_box":{"type":"Polygon","coordinates": [[[3.331299,51.016438],[3.525382,51.016438],[3.525382,51.122519],[3.331299,51.122519]]]},"attributes": {}},"contributors":null,"retweet_count":0,"favorited":false,"retweeted":false}
  • 33. 2. Twitter https://api.twitter.com/1/statuses/show/ 173781331040415744.json mobile API call with custom twitter app shows you: {"created_at":"Sun Feb 26 14:47:52 +0000 2012","id":173781331040415744,"id_str":"173781331040415744","text":"This is my location","source":"u003ca href="http://twitter.com/#!/download/iphone" rel="nofollow"u003eTwitter for iPhoneu003c/a u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_ reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":44895844,"id_str":"44895844","name":"Thijs Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber, visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http:// www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset": 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count": 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro und_image_url":"http://a0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/ 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images /1134396838/ LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media" :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification s":null},"geo":{"type":"Point","coordinates":[51.06573600,3.72553367]},"coordinates":{"type":"Point","coordinates": [3.72553367,51.06573600]},"place":{"id":"67687709552688fe","url":"http://api.twitter.com/1/geo/id/ 67687709552688fe.json","place_type":"city","name":"Ghent","full_name":"Ghent, Ghent","country_code":"BE","country":"Belgium","bounding_box":{"type":"Polygon","coordinates":[[[3.579764,50.979531], [3.849360,50.979531],[3.849360,51.187961],[3.579764,51.187961]]]},"attributes":{}},"contributors":null,"retweet_count": 0,"favorited":false,"retweeted":false}
  • 34. 2. Twitter https://api.twitter.com/1/statuses/show/ 173781331040415744.json mobile API call with custom twitter app shows you: {"created_at":"Sun Feb 26 14:47:52 +0000 2012","id":173781331040415744,"id_str":"173781331040415744","text":"This is my location","source":"u003ca href="http://twitter.com/#!/download/iphone" rel="nofollow"u003eTwitter for iPhoneu003c/a u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_ reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":44895844,"id_str":"44895844","name":"Thijs Bernolet","screen_name":"recyclerobot","location":"Belgium","description":"Interactive giraffe, fulltime nerdlabber, visual orgasm with Octohedron and creative robot at Little Miss Robot","url":"http:// www.recyclerobot.com","protected":false,"followers_count":191,"friends_count":177,"listed_count":6,"created_at":"Fri Jun 05 13:51:22 +0000 2009","favourites_count":3,"utc_offset": 3600,"time_zone":"Brussels","geo_enabled":true,"verified":false,"statuses_count": 575,"lang":"en","contributors_enabled":false,"is_translator":false,"profile_background_color":"FFFFFF","profile_backgro "type":"Point","coordinates": und_image_url":"http://a0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/155884454/ pattern_017.gif","profile_background_tile":true,"profile_image_url":"http://a0.twimg.com/profile_images/ /1134396838/ [51.06573600,3.72553367]} 1134396838/LMR00923MVC20100907_kleiner2_normal.jpg","profile_image_url_https":"https://si0.twimg.com/profile_images LMR00923MVC20100907_kleiner2_normal.jpg","profile_link_color":"D66666","profile_sidebar_border_color":"FFFFFF","profile _sidebar_fill_color":"FFFFFF","profile_text_color":"757575","profile_use_background_image":true,"show_all_inline_media" :false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":false,"notification s":null},"geo":{"type":"Point","coordinates":[51.06573600,3.72553367]},"coordinates":{"type":"Point","coordinates": [3.72553367,51.06573600]},"place":{"id":"67687709552688fe","url":"http://api.twitter.com/1/geo/id/ 67687709552688fe.json","place_type":"city","name":"Ghent","full_name":"Ghent, Ghent","country_code":"BE","country":"Belgium","bounding_box":{"type":"Polygon","coordinates":[[[3.579764,50.979531], [3.849360,50.979531],[3.849360,51.187961],[3.579764,51.187961]]]},"attributes":{}},"contributors":null,"retweet_count": 0,"favorited":false,"retweeted":false}
  • 36. 3. Foursquare very easy to search for location most people on foursquare publish their checkins on twitter/facebook, so you just write a twitter scraper to get all the locations or use an online service
  • 38. 4. Flickr/instagram flickr and instagram recently allowed geolocation with posting of pictures, using a scraper you can easily automaticly extract the information
  • 40. (5. EXIF Data) EXIF Viewer is a firefox addon that enables you to view the complete EXIF data of pictures, many mobile phones and high end cameras send location tags along with the picture in the EXIF data http://araskin.webs.com/exif/ exif.html
  • 43. (5. EXIF Data) 46.586,23.460333
  • 44.
  • 45. Using a combination of the previous API’s *drumroll*
  • 46.
  • 47.
  • 48. Google streetview movie maker things get nerdy
  • 49. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4 Direction calculator + array credits: Thor Mitchell
  • 51. Google streetview movie maker event listeners + load begin + end points
  • 52. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 53. Google streetview movie maker get directions , get polyline vertices and setup streetview coverage
  • 54. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 55. Google streetview movie maker get vertex point and check if streetview exists
  • 56. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 57. Google streetview movie maker timer functions to move view
  • 58. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 59. Google streetview movie maker timer functions to move view
  • 60. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 61. Google streetview movie maker calculate next
  • 62. Google streetview movie maker calculate direction angle between 2 vertex points the magic part!
  • 63. Google streetview movie maker 0. setup map + streetview > “load()” 1. Calculate route + vertices > “jumpInMyCar()” 2. Check if streetview exists for vertices > “checkCoverage()” 3. setup/continue loop timer > “moveMyCar()” 4. goto next vertex point > “jumpToVertex()” 5. calculate next vertex point + calculate the pan direction a. NodeJS > PhantomJS 6. call screenshot app b. Shell_exec SCROT 7. back to step 4
  • 64. Google streetview movie maker set viewAngle streetview to direction vector and take screenshot
  • 65. Google streetview movie maker screenshot possible ways: first idea: NodeJS & PhantomJS client Pain in the ass
  • 66. Google streetview movie maker screenshot possible ways: first idea: NodeJS & PhantomJS client Ubuntu 10.04 > first compile QT4 with webkit apt-get install libqt4-core libqt4-dev libqt4-gui  qt4-dev-tools git clone and make git clone git://github.com/ariya/phantomjs.git && cd phantomjs git checkout 1.3 qmake-qt4 && make
  • 67. Google streetview movie maker NodeJS & PhantomJS > No WebGL headless render support nor flash support SCROT & firefox to the rescue Ubuntu 10.04: apt-get update apt-get install scrot firefox
  • 68. Google streetview movie maker install flash universal for linux firefox Ubuntu 10.04: apt-get install flash-universal- binary
  • 69. Google streetview movie maker BOTH need a virtual render display Xvfb Ubuntu 10.04 install: apt-get install xvfb xfonts-base xfonts-75dpi xfonts-100dpi font errors: apt-get install msttcorefonts cabextract x-ttcidfont-conf
  • 70. Google streetview movie maker run firefox as seperate process and surf to your streetview application Ubuntu 10.04: nohup DISPLAY=:1 firefox http:// *****.recyclerobot.com/streetview.php - width=1024 -height=768 &
  • 71. Google streetview movie maker encode your 100000 files with mencoder 1. create alphabetical list in TXT 2. render TXT list to movie Ubuntu 10.04: #~list -v > list.txt #~mencoder mf://@list.txt -mf fps=25 -ovc x264 -nosound -ofps 25.0 -noskip -of rawvideo -o output.mp4

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n