SlideShare a Scribd company logo
Civic Hacking
       Luigi Montanez
luigi@sunlightfoundation.com
Question? @LuigiMontanez
Open Source + Open Data
           =
  Better Government


                Question? @LuigiMontanez
High Quality Raw Data




               Question? @LuigiMontanez
High Quality Raw Data
✴   First: Raw data in JSON, XML, or CSV




                                 Question? @LuigiMontanez
High Quality Raw Data
✴   First: Raw data in JSON, XML, or CSV
✴   Second: RESTful APIs in JSON or XML




                                 Question? @LuigiMontanez
High Quality Raw Data
✴   First: Raw data in JSON, XML, or CSV
✴   Second: RESTful APIs in JSON or XML
✴   Third: Nothing really...




                                 Question? @LuigiMontanez
How We Use MongoDB




             Question? @LuigiMontanez
How We Use MongoDB
✴   RESTful JSON APIs




                        Question? @LuigiMontanez
How We Use MongoDB
✴   RESTful JSON APIs
✴   Results from Scraping




                            Question? @LuigiMontanez
Drumbone
{legislator: {
   in_office: true,
   title: "Rep",
   nickname: "",
   district: "9",
   bioguide_id: "L000551",
   govtrack_id: "400237",
   phone: "202-225-2661",
   website: "http://lee.house.gov/index.html",
   twitter_id: "",
   last_name: "Lee",
   name_suffix: "",
   last_updated: "2010/04/13 00:00:14 +0000",
   party: "D",
   chamber: "house",
   state: "CA",
   youtube_url: "http://www.youtube.com/RepLee",
   first_name: "Barbara",
   gender: "F",
   congress_office: "2444 Rayburn House Office Building",
   earmarks: {
        average_number: 20,
        total_amount: 10000000,
        average_amount: 22994535,
        total_number: 28,
        last_updated: "2010-03-18",
        fiscal_year: 2010,
   }
   ...
}
?sections=last_name,first_name,state,earmarks


{legislator: {
   last_name: "Lee",
   state: "CA",
   first_name: "Barbara",
   earmarks: {
        average_number: 20,
        total_amount: 10000000,
        average_amount: 22994535,
        total_number: 28,
        last_updated: "2010-03-18",
        fiscal_year: 2010,
   }
}
?sections=last_name,first_name,state,earmarks.total_amount,earmarks.total_number




    {legislator: {
       last_name: "Lee",
       state: "CA",
       first_name: "Barbara",
       earmarks: {
            total_amount: 10000000,
            total_number: 28
       }
    }
50 State
 Project
Thanks!
sunlightlabs.com
@LuigiMontanez



               Question? @LuigiMontanez

More Related Content

More from Luigi Montanez

Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010
Luigi Montanez
 
Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010
Luigi Montanez
 
Civic Coding @ SunnyConf
Civic Coding @ SunnyConfCivic Coding @ SunnyConf
Civic Coding @ SunnyConf
Luigi Montanez
 
Search-Friendly Web Development @ Ruby|Web Conference 2010
Search-Friendly Web Development @ Ruby|Web Conference 2010Search-Friendly Web Development @ Ruby|Web Conference 2010
Search-Friendly Web Development @ Ruby|Web Conference 2010
Luigi Montanez
 
Search-Friendly Web Development @ Lone Star Ruby Conference 2010
Search-Friendly Web Development @ Lone Star Ruby Conference 2010Search-Friendly Web Development @ Lone Star Ruby Conference 2010
Search-Friendly Web Development @ Lone Star Ruby Conference 2010
Luigi Montanez
 
Search-Friendly Web Development @ DC RUG - August 2010
Search-Friendly Web Development @ DC RUG - August 2010Search-Friendly Web Development @ DC RUG - August 2010
Search-Friendly Web Development @ DC RUG - August 2010
Luigi Montanez
 
Civic Hacking @ Ruby Midwest 2010
Civic Hacking @ Ruby Midwest 2010Civic Hacking @ Ruby Midwest 2010
Civic Hacking @ Ruby Midwest 2010
Luigi Montanez
 
Civic Hacking @ Ignite RailsConf
Civic Hacking @ Ignite RailsConfCivic Hacking @ Ignite RailsConf
Civic Hacking @ Ignite RailsConf
Luigi Montanez
 
Civic Hacking @ Ruby Hoedown
Civic Hacking @ Ruby HoedownCivic Hacking @ Ruby Hoedown
Civic Hacking @ Ruby Hoedown
Luigi Montanez
 
Thin
ThinThin

More from Luigi Montanez (10)

Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010
 
Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010Civic Hacking @ Strange Loop 2010
Civic Hacking @ Strange Loop 2010
 
Civic Coding @ SunnyConf
Civic Coding @ SunnyConfCivic Coding @ SunnyConf
Civic Coding @ SunnyConf
 
Search-Friendly Web Development @ Ruby|Web Conference 2010
Search-Friendly Web Development @ Ruby|Web Conference 2010Search-Friendly Web Development @ Ruby|Web Conference 2010
Search-Friendly Web Development @ Ruby|Web Conference 2010
 
Search-Friendly Web Development @ Lone Star Ruby Conference 2010
Search-Friendly Web Development @ Lone Star Ruby Conference 2010Search-Friendly Web Development @ Lone Star Ruby Conference 2010
Search-Friendly Web Development @ Lone Star Ruby Conference 2010
 
Search-Friendly Web Development @ DC RUG - August 2010
Search-Friendly Web Development @ DC RUG - August 2010Search-Friendly Web Development @ DC RUG - August 2010
Search-Friendly Web Development @ DC RUG - August 2010
 
Civic Hacking @ Ruby Midwest 2010
Civic Hacking @ Ruby Midwest 2010Civic Hacking @ Ruby Midwest 2010
Civic Hacking @ Ruby Midwest 2010
 
Civic Hacking @ Ignite RailsConf
Civic Hacking @ Ignite RailsConfCivic Hacking @ Ignite RailsConf
Civic Hacking @ Ignite RailsConf
 
Civic Hacking @ Ruby Hoedown
Civic Hacking @ Ruby HoedownCivic Hacking @ Ruby Hoedown
Civic Hacking @ Ruby Hoedown
 
Thin
ThinThin
Thin
 

Recently uploaded

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
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
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
 
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
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
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
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
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
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 

Recently uploaded (20)

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
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
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
 
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
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
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
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
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
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 

Civic Hacking @ MongoNYC

  • 1. Civic Hacking Luigi Montanez luigi@sunlightfoundation.com
  • 2.
  • 4. Open Source + Open Data = Better Government Question? @LuigiMontanez
  • 5. High Quality Raw Data Question? @LuigiMontanez
  • 6. High Quality Raw Data ✴ First: Raw data in JSON, XML, or CSV Question? @LuigiMontanez
  • 7. High Quality Raw Data ✴ First: Raw data in JSON, XML, or CSV ✴ Second: RESTful APIs in JSON or XML Question? @LuigiMontanez
  • 8. High Quality Raw Data ✴ First: Raw data in JSON, XML, or CSV ✴ Second: RESTful APIs in JSON or XML ✴ Third: Nothing really... Question? @LuigiMontanez
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. How We Use MongoDB Question? @LuigiMontanez
  • 17. How We Use MongoDB ✴ RESTful JSON APIs Question? @LuigiMontanez
  • 18. How We Use MongoDB ✴ RESTful JSON APIs ✴ Results from Scraping Question? @LuigiMontanez
  • 19.
  • 20.
  • 22. {legislator: { in_office: true, title: "Rep", nickname: "", district: "9", bioguide_id: "L000551", govtrack_id: "400237", phone: "202-225-2661", website: "http://lee.house.gov/index.html", twitter_id: "", last_name: "Lee", name_suffix: "", last_updated: "2010/04/13 00:00:14 +0000", party: "D", chamber: "house", state: "CA", youtube_url: "http://www.youtube.com/RepLee", first_name: "Barbara", gender: "F", congress_office: "2444 Rayburn House Office Building", earmarks: { average_number: 20, total_amount: 10000000, average_amount: 22994535, total_number: 28, last_updated: "2010-03-18", fiscal_year: 2010, } ... }
  • 23. ?sections=last_name,first_name,state,earmarks {legislator: { last_name: "Lee", state: "CA", first_name: "Barbara", earmarks: { average_number: 20, total_amount: 10000000, average_amount: 22994535, total_number: 28, last_updated: "2010-03-18", fiscal_year: 2010, } }
  • 24. ?sections=last_name,first_name,state,earmarks.total_amount,earmarks.total_number {legislator: { last_name: "Lee", state: "CA", first_name: "Barbara", earmarks: { total_amount: 10000000, total_number: 28 } }
  • 26. Thanks! sunlightlabs.com @LuigiMontanez Question? @LuigiMontanez

Editor's Notes

  1. I work for the Sunlight Labs, a group of developers and designers who use technology to transform government. We focus on transparency -- the idea that government can be more effective and more accountable when it makes data about its process, operations, and influences freely available to the public. Our work revolves around pushing government to open up its data, and then creating incredibly useful applications on top of that government data. We're creating an open source community around these ideas. So far, we have over a thousand members -- people committed to the idea that freeing data and writing code is the best way to make government better. I'm one of sixteen paid staff of the Sunlight Labs, and we're all employed by the Sunlight Foundation, based in Washington, D.C.
  2. We want government to make more data about itself public. How it spends money. How it collects money. Where campaign contributions come from and how campaign money is spent. We want government agencies and departments who generate statistical economic data and scientific data for their own use to make that data public for all of us to use. That means well-structured, well-documented data published online and in real-time. That's what we want out of government transparency. Sometimes the phrase government data scares people, because it might conjure up thoughts of personally identifiable data, or classified national security data. That's not what we're trying to open up. We're talking about data that can be made public with compromising anyone's safety.
  3. Something important to note is that we're not asking government to build some great, ground-breaking app. We're not asking them to invent the next Twitter, or have the creative energy of a startup. We're just asking them to publish government data, data that has been paid for by tax dollars, in an open, well-documented format. They open up the data, then we build the apps around that data.
  4. So we believe that government's first and primary goal should be to publish its data in well-documented, widely-accepted formats: XML, JSON, CSV. Second, government should build APIs to allow us to get to that data programmatically, without having to keep up to date on downloaded data files. That's really all we want from government: open data sets and open APIs. When government starts building things with that data, they start to editorialize it, and enforce their opinions. We all know that even statistics can be molded to support pretty much any argument. But raw data is as close to an objective truth as we can get.
  5. So we believe that government's first and primary goal should be to publish its data in well-documented, widely-accepted formats: XML, JSON, CSV. Second, government should build APIs to allow us to get to that data programmatically, without having to keep up to date on downloaded data files. That's really all we want from government: open data sets and open APIs. When government starts building things with that data, they start to editorialize it, and enforce their opinions. We all know that even statistics can be molded to support pretty much any argument. But raw data is as close to an objective truth as we can get.
  6. So we believe that government's first and primary goal should be to publish its data in well-documented, widely-accepted formats: XML, JSON, CSV. Second, government should build APIs to allow us to get to that data programmatically, without having to keep up to date on downloaded data files. That's really all we want from government: open data sets and open APIs. When government starts building things with that data, they start to editorialize it, and enforce their opinions. We all know that even statistics can be molded to support pretty much any argument. But raw data is as close to an objective truth as we can get.
  7. Fly On Time looks at the flight records compiled by the FAA, the Federal Aviation Administration, and tells you the likelihood of your particular flight being delayed, and some historic trends for your route and for your airport.
  8. Here’s an example.
  9. The National Geological Survey keeps track of earthquakes around the world, and Quakespotter is a 3D modeling of the globe with recent earthquakes. The data is very recent, sometimes only minutes old. The circles represent earthquakes and their magnitude is reflected by their radius. This is a desktop app that runs on Ruby Processing, and it won the contest’s best visualization prize.
  10. Late last year, New York City held the Big Apps competition. Earlier in the fall, they released about a hundred data sets in what they called the DataMine, and put up $20,000 in prize money for developers. Here are some winners.
  11. WayFinder is an augmented reality app for Android. It uses geolocation, the phone’s compass, and MTA transit data to point the user to the direction of the nearest subway station.
  12. TaxiHack uses the city's taxi driver database to allow riders to tweet and email notes about their rides. Feedback positive and negative.
  13. Big Apple Ed uses performance data about the NYC school system to help parents find the best school for their children. Yes, this one is a Rails app!
  14. sinatra_resource
  15. sinatra_resource
  16. rich document