SlideShare una empresa de Scribd logo
1 de 40
MCN2011 Hacking and mashups for beginners AKA, enough geek stuff to have fun playing with data
Hacking for beginners ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Timetable ,[object Object],[object Object],[object Object],[object Object],[object Object]
What you’ll learn ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How you’ll learn ,[object Object],[object Object],[object Object]
Some essential facts ,[object Object],[object Object],[object Object],[object Object]
Introductions ,[object Object],[object Object],[object Object],Image: http://www.flickr.com/photos/aoimedia/5111813088/
The intros round ,[object Object],[object Object]
What is ‘hacking’ anyway? ,[object Object],Source: http://www.telegraph.co.uk/news/uknews/phone-hacking/8639635/Phone-hacking-Rebekah-Brooks-resigns-as-chief-executive-of-News-International.html
It’s not breaking into computers ,[object Object],Source: http://www.amazon.com/Hackers-Movie-Soundtrack/dp/B000005OMF
So, what is hacking? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a mashup?
Mashups combine data from one or more sources and/or data and visualisation tools such as maps or timelines.
[object Object],[object Object]
Learning by tinkering ,[object Object],[object Object]
Thinking like a programmer ,[object Object],[object Object],[object Object]
Pseudo-code example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The basics of web scripting languages ,[object Object],[object Object],http://www.flickr.com/photos/davem/29657735/
Example 1
Debugging tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Review... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise 2: variables Change some of the numeric values and see what happens
Exercise 2: review ,[object Object],[object Object],[object Object]
Hello, world ,[object Object],[object Object],[object Object]
Passing values to functions Function makePastry(typeOfPastry) { // check type // if ‘shortcrust’ then add butter // else if ‘puff’ do other stuff // else (assume it’s normal)  //make pastry } myNewPastry = makePastry(‘puff’);
Hello, world ,[object Object],[object Object],[object Object],[object Object],[object Object]
Review ‘Hello, world’ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Review ‘Hello, world (again)’ ,[object Object],[object Object],[object Object]
Break! ,[object Object]
Working with real data ,[object Object],[object Object],[object Object],[object Object]
Planning a mashup ,[object Object],[object Object],[object Object],[object Object]
How are mashups made? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The art of the join ,[object Object],[object Object],[object Object],[object Object],[object Object]
Museum data is messy! ,[object Object],[object Object],[object Object],[object Object],[object Object]
Enhancing data ,[object Object],[object Object],[object Object],[object Object]
Exercise: visualisation tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Review: visualisation tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Re-use existing work ,[object Object],[object Object],[object Object],[object Object],[object Object]
Re-use existing work ,[object Object],[object Object],[object Object],[object Object]
Resources to keep learning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

Similar a Hacking and Mashups for Beginners

OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningPaco Nathan
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?Colin Riley
 
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15Cherie Dargan
 
Basics of Programming - A Review Guide
Basics of Programming - A Review GuideBasics of Programming - A Review Guide
Basics of Programming - A Review GuideBenjamin Kissinger
 
DataFirst approach to coding
DataFirst approach to codingDataFirst approach to coding
DataFirst approach to codingAto Mensah
 
Cracking the coding interview u penn - sept 30 2010
Cracking the coding interview   u penn - sept 30 2010Cracking the coding interview   u penn - sept 30 2010
Cracking the coding interview u penn - sept 30 2010careercup
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practicesMichal Juhas
 
Cracking the coding interview columbia - march 23 2011
Cracking the coding interview   columbia - march 23 2011Cracking the coding interview   columbia - march 23 2011
Cracking the coding interview columbia - march 23 2011careercup
 
Visual rhetoric, April 22, 2013
Visual rhetoric, April 22, 2013Visual rhetoric, April 22, 2013
Visual rhetoric, April 22, 2013Miami University
 
Automation and machine learning in the enterprise
Automation and machine learning in the enterpriseAutomation and machine learning in the enterprise
Automation and machine learning in the enterprisealphydan
 
PSU Guest Lecture: Database Programming
PSU Guest Lecture: Database ProgrammingPSU Guest Lecture: Database Programming
PSU Guest Lecture: Database Programmingborkweb
 
Info Session : University Institute of engineering and technology , Kurukshet...
Info Session : University Institute of engineering and technology , Kurukshet...Info Session : University Institute of engineering and technology , Kurukshet...
Info Session : University Institute of engineering and technology , Kurukshet...HRITIKKHURANA1
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SDThinkful
 
Mahout and Distributed Machine Learning 101
Mahout and Distributed Machine Learning 101Mahout and Distributed Machine Learning 101
Mahout and Distributed Machine Learning 101John Ternent
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...DevOpsDays Riga
 
Cracking The Technical Interview Uw
Cracking The Technical Interview   UwCracking The Technical Interview   Uw
Cracking The Technical Interview Uwcareercup
 
Cloudera Data Science Challenge
Cloudera Data Science ChallengeCloudera Data Science Challenge
Cloudera Data Science ChallengeMark Nichols, P.E.
 
Data Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup GroupData Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup GroupDoug Needham
 

Similar a Hacking and Mashups for Beginners (20)

OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine Learning
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15
The Basics of Writing in the Digital Era Cherie Dargan Handout Outline CWW15
 
Basics of Programming - A Review Guide
Basics of Programming - A Review GuideBasics of Programming - A Review Guide
Basics of Programming - A Review Guide
 
DataFirst approach to coding
DataFirst approach to codingDataFirst approach to coding
DataFirst approach to coding
 
Cracking the coding interview u penn - sept 30 2010
Cracking the coding interview   u penn - sept 30 2010Cracking the coding interview   u penn - sept 30 2010
Cracking the coding interview u penn - sept 30 2010
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
Cracking the coding interview columbia - march 23 2011
Cracking the coding interview   columbia - march 23 2011Cracking the coding interview   columbia - march 23 2011
Cracking the coding interview columbia - march 23 2011
 
Visual rhetoric, April 22, 2013
Visual rhetoric, April 22, 2013Visual rhetoric, April 22, 2013
Visual rhetoric, April 22, 2013
 
Automation and machine learning in the enterprise
Automation and machine learning in the enterpriseAutomation and machine learning in the enterprise
Automation and machine learning in the enterprise
 
PSU Guest Lecture: Database Programming
PSU Guest Lecture: Database ProgrammingPSU Guest Lecture: Database Programming
PSU Guest Lecture: Database Programming
 
Info Session : University Institute of engineering and technology , Kurukshet...
Info Session : University Institute of engineering and technology , Kurukshet...Info Session : University Institute of engineering and technology , Kurukshet...
Info Session : University Institute of engineering and technology , Kurukshet...
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD
 
Mahout and Distributed Machine Learning 101
Mahout and Distributed Machine Learning 101Mahout and Distributed Machine Learning 101
Mahout and Distributed Machine Learning 101
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...
DevOpsDaysRiga 2017 ignite: Mikhail Iljin - DevOps meets Data Science - how t...
 
Cracking The Technical Interview Uw
Cracking The Technical Interview   UwCracking The Technical Interview   Uw
Cracking The Technical Interview Uw
 
Cloudera Data Science Challenge
Cloudera Data Science ChallengeCloudera Data Science Challenge
Cloudera Data Science Challenge
 
Data Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup GroupData Science Challenge presentation given to the CinBITools Meetup Group
Data Science Challenge presentation given to the CinBITools Meetup Group
 
Data
DataData
Data
 

Más de Mia

Living with Machines year two update
Living with Machines year two updateLiving with Machines year two update
Living with Machines year two updateMia
 
Rethink research, illuminate history with the British Library
Rethink research, illuminate history with the British LibraryRethink research, illuminate history with the British Library
Rethink research, illuminate history with the British LibraryMia
 
Living with Machines: one year in
Living with Machines: one year inLiving with Machines: one year in
Living with Machines: one year inMia
 
Festival of Maintenance talk: Apps, microsites and collections online: innova...
Festival of Maintenance talk: Apps, microsites and collections online: innova...Festival of Maintenance talk: Apps, microsites and collections online: innova...
Festival of Maintenance talk: Apps, microsites and collections online: innova...Mia
 
Operationalising AI at a national library
Operationalising AI at a national libraryOperationalising AI at a national library
Operationalising AI at a national libraryMia
 
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...Mia
 
In search of the sweet spot: infrastructure at the intersection of cultural h...
In search of the sweet spot: infrastructure at the intersection of cultural h...In search of the sweet spot: infrastructure at the intersection of cultural h...
In search of the sweet spot: infrastructure at the intersection of cultural h...Mia
 
Living with Machines at The Past, Present and Future of Digital Scholarship w...
Living with Machines at The Past, Present and Future of Digital Scholarship w...Living with Machines at The Past, Present and Future of Digital Scholarship w...
Living with Machines at The Past, Present and Future of Digital Scholarship w...Mia
 
Enabling digital scholarship through staff training: the British Library's ex...
Enabling digital scholarship through staff training: the British Library's ex...Enabling digital scholarship through staff training: the British Library's ex...
Enabling digital scholarship through staff training: the British Library's ex...Mia
 
A modest proposal: crowdsourcing in cultural heritage benefits us all.
A modest proposal: crowdsourcing in cultural heritage benefits us all.A modest proposal: crowdsourcing in cultural heritage benefits us all.
A modest proposal: crowdsourcing in cultural heritage benefits us all.Mia
 
Crowdsourcing at the British Library: lessons learnt and future directions
Crowdsourcing at the British Library: lessons learnt and future directionsCrowdsourcing at the British Library: lessons learnt and future directions
Crowdsourcing at the British Library: lessons learnt and future directionsMia
 
Crowdsourcing 'In the Spotlight' at the British Library
Crowdsourcing 'In the Spotlight' at the British LibraryCrowdsourcing 'In the Spotlight' at the British Library
Crowdsourcing 'In the Spotlight' at the British LibraryMia
 
Crowdsourcing: the British Library experience
Crowdsourcing: the British Library experienceCrowdsourcing: the British Library experience
Crowdsourcing: the British Library experienceMia
 
Chair's welcome, MCG's Museums+Tech 2017
Chair's welcome, MCG's Museums+Tech 2017Chair's welcome, MCG's Museums+Tech 2017
Chair's welcome, MCG's Museums+Tech 2017Mia
 
Historical thinking in crowdsourcing and citizen history projects
Historical thinking in crowdsourcing and citizen history projectsHistorical thinking in crowdsourcing and citizen history projects
Historical thinking in crowdsourcing and citizen history projectsMia
 
Cross-sector collaboration for digital museum and library projects
Cross-sector collaboration for digital museum and library projectsCross-sector collaboration for digital museum and library projects
Cross-sector collaboration for digital museum and library projectsMia
 
Connected heritage: How should Cultural Institutions Open and Connect Data?
Connected heritage: How should Cultural Institutions Open and Connect Data?Connected heritage: How should Cultural Institutions Open and Connect Data?
Connected heritage: How should Cultural Institutions Open and Connect Data?Mia
 
Wish upon a star: making crowdsourcing in cultural heritage a reality
Wish upon a star: making crowdsourcing in cultural heritage a realityWish upon a star: making crowdsourcing in cultural heritage a reality
Wish upon a star: making crowdsourcing in cultural heritage a realityMia
 
Doing Digital Research @ British Library
Doing Digital Research @ British LibraryDoing Digital Research @ British Library
Doing Digital Research @ British LibraryMia
 
Beyond the Black Box: Data Visualisation
Beyond the Black Box: Data VisualisationBeyond the Black Box: Data Visualisation
Beyond the Black Box: Data VisualisationMia
 

Más de Mia (20)

Living with Machines year two update
Living with Machines year two updateLiving with Machines year two update
Living with Machines year two update
 
Rethink research, illuminate history with the British Library
Rethink research, illuminate history with the British LibraryRethink research, illuminate history with the British Library
Rethink research, illuminate history with the British Library
 
Living with Machines: one year in
Living with Machines: one year inLiving with Machines: one year in
Living with Machines: one year in
 
Festival of Maintenance talk: Apps, microsites and collections online: innova...
Festival of Maintenance talk: Apps, microsites and collections online: innova...Festival of Maintenance talk: Apps, microsites and collections online: innova...
Festival of Maintenance talk: Apps, microsites and collections online: innova...
 
Operationalising AI at a national library
Operationalising AI at a national libraryOperationalising AI at a national library
Operationalising AI at a national library
 
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...
Hopes, dreams and reality: crowdsourcing and the democratisation of knowledge...
 
In search of the sweet spot: infrastructure at the intersection of cultural h...
In search of the sweet spot: infrastructure at the intersection of cultural h...In search of the sweet spot: infrastructure at the intersection of cultural h...
In search of the sweet spot: infrastructure at the intersection of cultural h...
 
Living with Machines at The Past, Present and Future of Digital Scholarship w...
Living with Machines at The Past, Present and Future of Digital Scholarship w...Living with Machines at The Past, Present and Future of Digital Scholarship w...
Living with Machines at The Past, Present and Future of Digital Scholarship w...
 
Enabling digital scholarship through staff training: the British Library's ex...
Enabling digital scholarship through staff training: the British Library's ex...Enabling digital scholarship through staff training: the British Library's ex...
Enabling digital scholarship through staff training: the British Library's ex...
 
A modest proposal: crowdsourcing in cultural heritage benefits us all.
A modest proposal: crowdsourcing in cultural heritage benefits us all.A modest proposal: crowdsourcing in cultural heritage benefits us all.
A modest proposal: crowdsourcing in cultural heritage benefits us all.
 
Crowdsourcing at the British Library: lessons learnt and future directions
Crowdsourcing at the British Library: lessons learnt and future directionsCrowdsourcing at the British Library: lessons learnt and future directions
Crowdsourcing at the British Library: lessons learnt and future directions
 
Crowdsourcing 'In the Spotlight' at the British Library
Crowdsourcing 'In the Spotlight' at the British LibraryCrowdsourcing 'In the Spotlight' at the British Library
Crowdsourcing 'In the Spotlight' at the British Library
 
Crowdsourcing: the British Library experience
Crowdsourcing: the British Library experienceCrowdsourcing: the British Library experience
Crowdsourcing: the British Library experience
 
Chair's welcome, MCG's Museums+Tech 2017
Chair's welcome, MCG's Museums+Tech 2017Chair's welcome, MCG's Museums+Tech 2017
Chair's welcome, MCG's Museums+Tech 2017
 
Historical thinking in crowdsourcing and citizen history projects
Historical thinking in crowdsourcing and citizen history projectsHistorical thinking in crowdsourcing and citizen history projects
Historical thinking in crowdsourcing and citizen history projects
 
Cross-sector collaboration for digital museum and library projects
Cross-sector collaboration for digital museum and library projectsCross-sector collaboration for digital museum and library projects
Cross-sector collaboration for digital museum and library projects
 
Connected heritage: How should Cultural Institutions Open and Connect Data?
Connected heritage: How should Cultural Institutions Open and Connect Data?Connected heritage: How should Cultural Institutions Open and Connect Data?
Connected heritage: How should Cultural Institutions Open and Connect Data?
 
Wish upon a star: making crowdsourcing in cultural heritage a reality
Wish upon a star: making crowdsourcing in cultural heritage a realityWish upon a star: making crowdsourcing in cultural heritage a reality
Wish upon a star: making crowdsourcing in cultural heritage a reality
 
Doing Digital Research @ British Library
Doing Digital Research @ British LibraryDoing Digital Research @ British Library
Doing Digital Research @ British Library
 
Beyond the Black Box: Data Visualisation
Beyond the Black Box: Data VisualisationBeyond the Black Box: Data Visualisation
Beyond the Black Box: Data Visualisation
 

Último

Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxInspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxShubham Rawat
 
南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证kbdhl05e
 
西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做j5bzwet6
 
E J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptxE J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptxJackieSparrow3
 
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 AvilableCall Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilabledollysharma2066
 
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)oannq
 
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan
 
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ EscortsDelhi Escorts Service
 

Último (9)

Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxInspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptx
 
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
 
南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证
 
西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做西伦敦大学毕业证学位证成绩单-怎么样做
西伦敦大学毕业证学位证成绩单-怎么样做
 
E J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptxE J Waggoner against Kellogg's Pantheism 8.pptx
E J Waggoner against Kellogg's Pantheism 8.pptx
 
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 AvilableCall Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
Call Girls In Karkardooma 83770 87607 Just-Dial Escorts Service 24X7 Avilable
 
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)
 
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
 
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
(No.1)↠Young Call Girls in Sikanderpur (Gurgaon) ꧁❤ 9711911712 ❤꧂ Escorts
 

Hacking and Mashups for Beginners

  • 1. MCN2011 Hacking and mashups for beginners AKA, enough geek stuff to have fun playing with data
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. What is a mashup?
  • 13. Mashups combine data from one or more sources and/or data and visualisation tools such as maps or timelines.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 20.
  • 21.
  • 22. Exercise 2: variables Change some of the numeric values and see what happens
  • 23.
  • 24.
  • 25. Passing values to functions Function makePastry(typeOfPastry) { // check type // if ‘shortcrust’ then add butter // else if ‘puff’ do other stuff // else (assume it’s normal) //make pastry } myNewPastry = makePastry(‘puff’);
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.

Notas del editor

  1. 11/14/11 Hacking and mashups for beginners – a workshop for the Museum Computer Network conference 2011 by Mia Ridge (twitter: @mia_out, blog http://openobjects.blogspot.com/, homepage http://www.miaridge.com/) The goal is to get you excited about the possibilities, to help you understand something of how programmers think and give you some ways to explore data (for hack days and elsewhere). I've left lots out, but hopefully I'll get you interested in playing more.
  2. 11/14/11 Leave up at the start so people know they’re in the right room and can start checking what they’ve got, and passing out memory sticks with the exercises on them. If you’re on a Mac, TextEdit won’t show you the raw code, you’ll need to download another free tool like Smultron or TextWrangler ( http://www.barebones.com/products/textwrangler/) *** Have spare ManyEyes registrations free or ask people to set them up now as they can take a while to come through
  3. 11/14/11
  4. 11/14/11 There’s a bit of talking to get out of the way first, so that we’re all caught up on jargon...
  5. 11/14/11 You'll work on exercises together, helping each other figure it out. Ideally pair up with someone with different experience levels to you... The aim is to consolidate the skills you’re learning, to help them stick in your brain. It’s hard in the time we have here, but maybe you’ll be inspired to find a mentor or partner at the culture hack day at CultureHack at THATCamp. Any questions?
  6. 11/14/11 This is the “don't be scared” slide! Think of your most pedantic friend, and times that by 1000. Or imagine dealing with a grumpy six year old... Computers are really picky about spelling, white space, matching quote marks, how sentences end... Code is about logic, not maths. It's like cooking a few courses for a dinner party – you learn what needs to be prepped in advance or just before serving, which steps must be done in a particular order and what can be done at any time. Hard fun – phrase comes from gaming – when something is challenging it’s even more rewarding when you finally crack it. Computer code is a lot like poetry: it’s compact, dense and obscure at first, but you’ll start to learn how to unpack it and make it readable.
  7. 11/14/11 I’m currently a PhD student in digital humanities in department of history at Open University, working on crowdsourcing the digitisation and geolocation of historical materials from Early Modern England. Before that, I worked as a programmer, user experience designer and/or systems analyst for the Science Museum, the Museum of London, Museum Victoria and in the commercial sector from the mid-90s. Why does ‘self-taught’ matter? Because from little things, big things grow... The web is still new enough that many developers of my generation were originally self-taught. The web made programming accessible (view source, etc) and then it became something you could do for a living. I taught myself HTML around 1994, then JavaScript around 1996... Somewhere along the way I went back to uni and did a postgrad computer science degree to learn how to program properly. Hack days are great fun, a way to make time to experiment and learn - I think I went to my first hack day (Mashed Museum) back in 2007. I want you to be able to have fun too, and to have some insight into how programmers think.
  8. 11/14/11 Try to keep it brief – one sentence intro. If you’ve got any programming or HTML experience, mention it!
  9. 11/14/11
  10. 11/14/11 The sense I’m which I’m using the term has nothing to do with illegal access, whether phones or computers. It’s tinkering, playing,
  11. 11/14/11 Hacking is getting results by whatever means necessary in the limited time you have to play. It's time away from the normal concerns of the office in 'an environment free from political or monetary constraints’ - and often free from documentation, testing, etc! While at Yahoo, Chris Heilmann summed it up as: ‘hack days are about innovating and playing with our own systems’ and ‘making something work regardless of the circumstances’ http://www.slideshare.net/cheilmann/what-the-hack Hack days don’t have to be all about code. This image is from an event I ran at the V&A with Katy Beale. Participants were provided with markers, print outs of objects, glue, scissors, paper, and asked to create ‘their perfect museum experience’ with paper prototypes.
  12. 11/14/11 What’s a mashup? In the first of many dodgy food metaphors, a mashup is like fusion food... It could be French methods applied to Asian vegetables, or Indian spices in Japanese desserts...
  13. 11/14/11 Or, more formally, a mashup is a web page, website or app that combines data and services to create something new. We take them for granted now, but it wasn't that long ago you'd have to try and find the best hotel in a new city without being able to see all the options on a map. Mashups were made possible by APIs like the Google Map API... This example combines a tourist sites dataset with a list of hotels and displays them both on a map.
  14. 11/14/11 What’s an API? To continue the food analogy, an API is a menu of options. Just like in a fast-food restaurant, if it’s not on the menu, you can’t have it, so there’s no point asking for a Whopper in McDonalds. But maybe you can ask them to hold the pickles... Museum APIs are a bit more sophisticated than that, and you can think of them as a menu of ingredients. The ingredients might be lists of objects, images, people or events that match search criteria, or a specific object, image, etc. For museums, APIs let people make things we haven’t the resources to make for them, or wouldn’t have thought of making. They enable new questions to be asked by showing data in different ways or by combining it with other types of data – maps, timelines, other MLA collections, external data sets... There are other names for things like APIs – ‘web services’, linked open data, etc, but the principle is the same.
  15. 11/14/11 Computers are smart, but they’re also really stupid. It’s a bit like that scene in Fantasia where the brooms keep multiplying and multiplying... You have to carefully tell them when to stop as well as when to start. And don’t be fooled by the stereotypes. Algorithms are named after Muḥammad ibn Mūsā al-Khwārizmī, a 9th Century Persian scholar, and the woman on the right is Ada Lovelace, who wrote the first computer algorithms or programmes – before computers actually existed.
  16. 11/14/11 Computers run one specific set of instructions after another. These instructions are called ‘algorithms’, which makes them sound wonderfully fancy. They should be well-defined instructions. They should be unambiguous – computers can’t guess what you mean even when it’s obvious to a person. Computers are like that gullible friend, they’ll just do whatever you set them to do, so it’s best to make sure you’re asking them to do sensible things. Write pseudo-code then figure out the syntax for the language you're working in. Think about right place – right time (right order), operating on the right thing (without side-effects like not changing anything it’s not meant to).
  17. 11/14/11 Writing pseudo-code is a bit like making notes about a recipe you know reasonably well – it’s enough to remind you what the ingredients are, what order things have to be done in, what temperature the oven needs, but it’s not enough detail to give it to a friend to try and make it. But writing it down means you could explain it to them more easily. Remember how I said computers were stupid? You often have to tell them when you’re done, cos they can’t figure it out for themselves and they’ll just keep going and going and going. Pseudo-code is also useful for figuring out what’s going on in someone else’s program – you can add comments to explain it to yourself while you’re figuring it out.
  18. 11/14/11 Different languages make different things easy or hard or offer more shortcuts. Just like human languages – some are good at talking about melancholy, others about love. Scripts can run on a big shiny web server – a bit like ordering pizza, it’s all cooked in an oven somewhere else and brought to your door – or locally in your browser – like cooking a pizza in your oven at home. The advantage of JavaScript is that it can be run locally, from a text file. You don’t need a web server. You do need a web server for languages like PHP, Python or Ruby. I wanted to keep things simple so you can concentrate on learning, but what you learn here can help you with other languages. I’m going to show you how JavaScript can be run without anything except a browser now....
  19. 11/14/11 [Open the file Example1.html on the file system. Open browser, open file within browser. Click the button.] Because we can run (or cook) things locally, our code is in a simple text file, with a ‘.html’ extension to let the browser know it’s a web page.] Because we can run things locally, our code is in a simple text file, with a ‘.html’ extension to let the browser know it’s a web page. There’s a lot going on here, so let’s break it down a bit. There’s some HTML that sets up the page, and also puts special labels (called IDs, shown in yellow bit) on some bits of the page. There are two paragraphs on this page, one has the ID ‘demo’, the other ‘random paragraph’. The bits in green are a function. A function is a pre-made set of instructions – like asking a friend to make the pastry while you make the pie filling. A function has two bits – the definition, where you tell your friend how you want the pastry to be made – and the function call, where you actually ask for the pastry when you need it. The bit in blue is an ‘event handler’ – it knows what to do when specific things happen, like the timer going off, or someone clicking a button. They act a bit like the way our brains can hear our name in a crowd of noise – they’re listening for something specific; when they hear it, they carry out their instructions. Ok, enough watching me, it’s time to get coding! [First exercise - showing the text file is ‘live’ – we’re going to change some text in the file and reload the page to show how it’s changed. Edit the function to change the bit that it changes to ‘randomparagraph’ instead of ‘demo’ – save, reload the page, click the button, show that it’s changed – check that everyone’s managed this ok.]
  20. 11/14/11 [leave up during exercise]
  21. 11/14/11 Going with cooking analogy, variables are containers – an egg carton, a milk jug, a bowl. First, you create the variable - like making room on the bench before you get out the bowl. Variable names can be anything you like as long as they're used consistently. Then you tell the computer what you’re going to put in it – ‘assigning a value’. For simplicity’s sake, we’ll say most variables are numbers or ‘strings’. A string is a bit of text that’s treated literally – the computer passes it around without trying to figure out what it means, like a kid missing in-jokes in adult conversations. Operators are a bit like functions but do really simple things. A blender that smushes, a frying pan that heats, a fridge that cools things. The first operator you’ll meet is the plus sign, which adds things together... But it does so in different ways depending on what the variable is. Sometimes, the plus sign adds together two numbers, but it can also join two strings into a longer one. Let’s see it in action...
  22. 11/14/11 See what happens when you change various values or try different operators...
  23. 11/14/11 What did you learn about how operators and variables work? About scripting in general? Did anyone try to test the differences between =, ==?
  24. 11/14/11 Do it on text files or use the console on http://www.w3schools.com/js/tryit.asp?filename=tryjs_events
  25. 11/14/11 Remember how I said a function was a bit like your friend making pastry while you made pie filling? Well, if it turns out your friend is really good at pastry, you can ask them to make lots of different sorts, depending on what type of pie you’re making. But you don’t want a bunch of different functions when most things are the same, so you make one function and add some detail depending on what’s needed for different types of pastry. The function knows what kind of pastry you want because we’ll ‘pass an argument’ when we call it. So, back to our document.write – we’re going to pass it the text we want printed, as an argument (ie in brackets). This pseudo-code also shows some control structures – what happens depends on the input.
  26. 11/14/11 Do it on the supplied text files or use the console on http://www.w3schools.com/js/tryit.asp?filename=tryjs_events Check the error console on your browser if it breaks, or have a think about whether you want to use a string or a variable in different places. Discuss it in your pairs to figure out what’s going on, and I’ll be around to check that each of you are getting it.
  27. 11/14/11
  28. 11/14/11 You might find you want an ‘ and ‘ – including the white space. There are a few ways to do it – creating another variable that stores whitespace, adding whitespace to someone’s name, including a string... If anyone has an apostrophe in their name, they might run into an issue http://www.w3schools.com/js/js_special_characters.asp
  29. 11/14/11
  30. 11/14/11 Visualisation tools - create products in own right, or start to explore shape of data Timelines, maps, word clouds, Google Refine. I’ll be using some object data released by NMSI (the parent organisation of the UK’s Science Museum, National Media Museum and National Railway Museum) in these examples. The files are in the folders on the USB stick. ManyEyes http://www-958.ibm.com/software/data/cognos/manyeyes/page/Visualization_Options.html http://www-958.ibm.com/software/data/cognos/manyeyes/datasets/science-museum-item-population-num/versions/1
  31. 11/14/11
  32. 11/14/11
  33. 11/14/11
  34. 11/14/11 Museum data is only as good as the hundreds of people who've created it over the centuries or decades... Office tools like Excel and Access are useful for quickly finding empty rows; or download Google Refine or use online spreadsheets. Raw collections data often needs a bit of cleaning before it can be used. Museum data is often incomplete or contains fuzzy data that’s fine for people but hard for computers to cope with. We can agree among ourselves that ‘c1905 means ‘within ten years of 1905’ and ‘c1900’ means ‘within fifty years of 1900’ but how would a computer know that? And what does it do when it encounters ‘1900s’? (For that matter, would an ordinary person?) Specialised services that understand heritage data can help but there aren’t many of those. Data might also contain odd characters or unexpected empty fields that will break scripts. Sometimes museum data is more vague about dates and places than a computer would like, but that can't be helped. Converting words to numbers should be considered carefully where it creates apparent precision from fuzziness – better to work to date ranges? The necessity to leave out data that isn't clean enough is one reason visualisations should be taken with a pinch of salt...
  35. 11/14/11 Data prep can also include making into a format like XML or JSON. CSV, TSV...
  36. 11/14/11 They can help you understand which datasets are worth zooming in on, and which reveal more from a 30,000 feet view. As I work in digital humanities now, there’s a sense of the deluge of data – visualisations can help us make more of the increasing sets of new digital data, help us use this data to tell stories about the past that are better because of the context provided by all this new data. NB: not all Google accounts have immediate access to Fusion tables, and the instructions aren’t clear about uploading a table vs creating a new one.
  37. 11/14/11 Things you might have discovered: Lots of cleaning is required, especially for dates Some visualisations are better for numbers, others for text Work out what the tool is good at to focus your cleaning efforts, or select which columns of data to use You might need to try different things to work out what the visualisation tool does
  38. 11/14/11
  39. 11/14/11
  40. 11/14/11 Also, background: http://www.guardian.co.uk/info/developer-blog/2011/oct/07/programming-developer-journalist Seven things you should know if you're starting out programming And well done – you’ve written your first JavaScript, learnt something of how programmers think, and hopefully have some ideas for cool things you can make with museum data...