├── .DS_Store
├── .gitignore
├── 00-preface.asc
├── 01-introduction.asc
├── 02-inthenewsroom.asc
├── 03-casestudies.asc
├── 04-gettingdata.asc
├── 05-understandingdata.asc
├── 06-deliveringdata.asc
├── DataTools.html
├── PendingMaterial.asc
├── README.md
├── WarStories.asc
├── book-docinfo.xml
├── book.asc
├── book.dcpsgen.xml
├── dedication.asc
├── figs
├── .DS_Store
└── incoming
│ ├── .DS_Store
│ ├── 00-01.jpg
│ ├── 00-poster.png
│ ├── 01-00-cover.png
│ ├── 01-01.png
│ ├── 01-DD.png
│ ├── 01-FF.png
│ ├── 01-GG.png
│ ├── 01-HH.png
│ ├── 01-JJ.png
│ ├── 01-LL.jpg
│ ├── 01-MM.jpg
│ ├── 01-XX.jpg
│ ├── 01-YY.jpg
│ ├── 02-00-cover.png
│ ├── 02-00-old.jpg
│ ├── 02-00.jpg
│ ├── 02-01.png
│ ├── 02-02.png
│ ├── 02-03-AA.png
│ ├── 02-03-BB.png
│ ├── 02-03-CC.png
│ ├── 02-03-DD.png
│ ├── 02-03.png
│ ├── 02-04.jpg
│ ├── 02-05.png
│ ├── 02-MM.png
│ ├── 02-RR.png
│ ├── 02-TT.png
│ ├── 02-XY.jpg
│ ├── 02-YY.jpg
│ ├── 02-ZZ.jpg
│ ├── 03-00-cover.png
│ ├── 03-AA.png
│ ├── 03-BB.png
│ ├── 03-CC.png
│ ├── 03-DD.png
│ ├── 03-EE.png
│ ├── 03-FF.png
│ ├── 03-GG.jpg
│ ├── 03-LL-01.jpg
│ ├── 03-LL-02.jpg
│ ├── 03-LL-03.jpg
│ ├── 03-MM.png
│ ├── 03-NN.png
│ ├── 03-OO-01.png
│ ├── 03-PP-01.png
│ ├── 03-PP-02.png
│ ├── 03-PP-03.png
│ ├── 03-PP-04.png
│ ├── 03-WW.jpg
│ ├── 03-XX.jpg
│ ├── 03-YY.png
│ ├── 03-ZZ-01.png
│ ├── 03-ZZ-02.png
│ ├── 03-ZZ-03.png
│ ├── 03-ZZ-04.png
│ ├── 03-ZZ-05.png
│ ├── 03-ZZ-06.png
│ ├── 03-ZZ-07.png
│ ├── 03-ZZ-08.png
│ ├── 03-ZZ-09.png
│ ├── 03-ZZ-ZZ.png
│ ├── 03-ZZ.png
│ ├── 04-00-cover.png
│ ├── 04-01.png
│ ├── 04-AA.png
│ ├── 04-BB.png
│ ├── 04-CC.png
│ ├── 04-DD.png
│ ├── 04-EE.png
│ ├── 04-FF.png
│ ├── 04-GG.jpg
│ ├── 05-00-cover.png
│ ├── 05-AA.png
│ ├── 05-BB.png
│ ├── 05-BC-graphical-table.png
│ ├── 05-BD-choropleth.png
│ ├── 05-BE-graph.jpg
│ ├── 05-CC.png
│ ├── 05-DD.png
│ ├── 05-EE.png
│ ├── 05-FF.png
│ ├── 05-GG.png
│ ├── 05-HH.png
│ ├── 05-II.png
│ ├── 05-MM.jpg
│ ├── 05-MM.png
│ ├── 06-00-cover.png
│ ├── 06-AA.png
│ ├── 06-BB.png
│ ├── 06-FF.png
│ ├── 06-GG-01.png
│ ├── 06-GG-02.png
│ ├── 06-GG-03.png
│ ├── 06-GG-04.png
│ ├── 06-GG-05.png
│ ├── 06-GG-06.png
│ ├── 06-GG-07.png
│ ├── 06-GG-08.png
│ ├── 06-LL-01.jpg
│ ├── 06-LL-02.jpg
│ ├── 06-LL-03.png
│ ├── 06-LL-04.jpg
│ ├── 06-LL-05.jpg
│ ├── 06-LL-06.jpg
│ ├── 06-LL-07.jpg
│ ├── 06-LL-08.jpg
│ ├── 06-LL-09.jpg
│ ├── 06-MM.png
│ ├── 06-NN.png
│ ├── 06-PP-01.png
│ ├── 06-PP-02.png
│ ├── 06-PP-03.png
│ ├── 06-PP-04.png
│ ├── 06-PP-05.png
│ ├── 06-PP-06.png
│ ├── 06-RR-01.png
│ ├── 06-RR-02.png
│ ├── 06-RR-03.png
│ ├── 06-RR-04.png
│ ├── 06-TT-01.gif
│ ├── 06-TT-02.jpg
│ ├── 06-TT-03.jpg
│ ├── 06-TT-04.png
│ ├── 06-TT-05.png
│ ├── 06-TT-06.png
│ ├── 06-TT-07.png
│ ├── 06-YY.png
│ └── 06-ZZ.png
├── generate.sh
├── index.asc
├── jekyllify.py
├── overflow.asc
├── pending.asc
├── preface.asc
└── web
├── _config.yml
├── _layouts
└── default.html
├── css
├── bootstrap-responsive.min.css
├── bootstrap.min.css
└── style.css
├── figs
└── incoming
│ ├── 00-01.jpg
│ ├── 00-poster.png
│ ├── 01-00-cover.png
│ ├── 01-01.png
│ ├── 01-DD.png
│ ├── 01-FF.png
│ ├── 01-GG.png
│ ├── 01-HH.png
│ ├── 01-JJ.png
│ ├── 01-LL.jpg
│ ├── 01-MM.jpg
│ ├── 01-XX.jpg
│ ├── 01-YY.jpg
│ ├── 02-00-cover.png
│ ├── 02-00-old.jpg
│ ├── 02-00.jpg
│ ├── 02-01.png
│ ├── 02-02.png
│ ├── 02-03-AA.png
│ ├── 02-03-BB.png
│ ├── 02-03-CC.png
│ ├── 02-03-DD.png
│ ├── 02-03.png
│ ├── 02-04.jpg
│ ├── 02-05.png
│ ├── 02-MM.png
│ ├── 02-RR.png
│ ├── 02-TT.png
│ ├── 02-XY.jpg
│ ├── 02-YY.jpg
│ ├── 02-ZZ.jpg
│ ├── 03-00-cover.png
│ ├── 03-AA.png
│ ├── 03-BB.png
│ ├── 03-CC.png
│ ├── 03-DD.png
│ ├── 03-EE.png
│ ├── 03-FF.png
│ ├── 03-GG.jpg
│ ├── 03-LL-01.jpg
│ ├── 03-LL-02.jpg
│ ├── 03-LL-03.jpg
│ ├── 03-MM.png
│ ├── 03-NN.png
│ ├── 03-OO-01.png
│ ├── 03-PP-01.png
│ ├── 03-PP-02.png
│ ├── 03-PP-03.png
│ ├── 03-PP-04.png
│ ├── 03-WW.jpg
│ ├── 03-XX.jpg
│ ├── 03-YY.png
│ ├── 03-ZZ-01.png
│ ├── 03-ZZ-02.png
│ ├── 03-ZZ-03.png
│ ├── 03-ZZ-04.png
│ ├── 03-ZZ-05.png
│ ├── 03-ZZ-06.png
│ ├── 03-ZZ-07.png
│ ├── 03-ZZ-08.png
│ ├── 03-ZZ-09.png
│ ├── 03-ZZ-ZZ.png
│ ├── 03-ZZ.png
│ ├── 04-00-cover.png
│ ├── 04-01.png
│ ├── 04-AA.png
│ ├── 04-BB.png
│ ├── 04-CC.png
│ ├── 04-DD.png
│ ├── 04-EE.png
│ ├── 04-FF.png
│ ├── 04-GG.jpg
│ ├── 05-00-cover.png
│ ├── 05-AA.png
│ ├── 05-BB.png
│ ├── 05-BC-graphical-table.png
│ ├── 05-BD-choropleth.png
│ ├── 05-BE-graph.jpg
│ ├── 05-CC.png
│ ├── 05-DD.png
│ ├── 05-EE.png
│ ├── 05-FF.png
│ ├── 05-GG.png
│ ├── 05-HH.png
│ ├── 05-II.png
│ ├── 05-MM.jpg
│ ├── 05-MM.png
│ ├── 06-00-cover.png
│ ├── 06-AA.png
│ ├── 06-BB.png
│ ├── 06-FF.png
│ ├── 06-GG-01.png
│ ├── 06-GG-02-b.png
│ ├── 06-GG-02.png
│ ├── 06-GG-03.png
│ ├── 06-GG-04.png
│ ├── 06-GG-05.png
│ ├── 06-GG-06.png
│ ├── 06-GG-07.png
│ ├── 06-GG-08.png
│ ├── 06-LL-01.jpg
│ ├── 06-LL-02.jpg
│ ├── 06-LL-03.png
│ ├── 06-LL-04.jpg
│ ├── 06-LL-05.jpg
│ ├── 06-LL-06.jpg
│ ├── 06-LL-07.jpg
│ ├── 06-LL-08.jpg
│ ├── 06-LL-09.jpg
│ ├── 06-MM.png
│ ├── 06-NN.png
│ ├── 06-PP-01.png
│ ├── 06-PP-02.png
│ ├── 06-PP-03.png
│ ├── 06-PP-04.png
│ ├── 06-PP-05.png
│ ├── 06-PP-06.png
│ ├── 06-RR-01.png
│ ├── 06-RR-02.png
│ ├── 06-RR-03.png
│ ├── 06-RR-04.png
│ ├── 06-TT-01.gif
│ ├── 06-TT-02.jpg
│ ├── 06-TT-03.jpg
│ ├── 06-TT-04.png
│ ├── 06-TT-05.png
│ ├── 06-TT-06.png
│ ├── 06-TT-07.png
│ ├── 06-YY.png
│ └── 06-ZZ.png
├── img
├── aller-bold.ttf
├── bg-noise.png
├── cover_print.png
├── ejc.gif
├── footer.png
├── glyphicons-halflings-white.png
├── glyphicons-halflings.png
├── logo.png
├── okfn.png
├── opensans-light-webfont.eot
├── opensans-light-webfont.ttf
├── opensans-light-webfont.woff
├── opensans-semibold-webfont.eot
├── opensans-semibold-webfont.svg
├── opensans-semibold-webfont.ttf
└── opensans-semibold-webfont.woff
└── js
└── libs
├── bootstrap-modal.js
└── modernizr-2.5.3.min.js
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /pdf
2 | .svn
3 | *.DS_Store
4 | web/*.html
5 | web/_site/*
6 |
--------------------------------------------------------------------------------
/00-preface.asc:
--------------------------------------------------------------------------------
1 | == 0. Front Matter ==
2 |
3 | === For the Great Unnamed ===
4 |
5 | [[FIG1]]
6 | .How it all began
7 | image::figs/incoming/00-01.jpg[width=600]
8 |
9 | The Data Journalism Handbook was born at a 48 hour workshop at the Mozilla Festival 2011 in London. It subsequently spilled over into an international, collaborative effort involving dozens of data journalism's leading advocates and best practitioners.
10 |
11 | In the 6 months that passed between the book's inception to its first full release, hundreds of people have contributed in various ways. While we have done our best to keep track of them all, we have had our fair share of anonymous, pseudonymous and untraceable edits.
12 |
13 | To all of those people who have contributed and are not listed below, we say two things. Firstly, thank you. Secondly, can please tell us who you are so that we can give credit where credit is due.
14 |
15 | === Contributor List ===
16 |
17 | The following people have drafted or otherwise directly contributed to text which is in the current version of the book. The illustrations are by graphic designer Kate Hudson.
18 |
19 | * Gregor Aisch, Open Knowledge Foundation
20 | * Brigitte Alfter, Journalismfund.eu
21 | * David Anderton, Freelance Journalist
22 | * James Ball, The Guardian
23 | * Caelainn Barr, Citywire
24 | * Mariana Berruezo, Hacks/Hackers Buenos Aires
25 | * Michael Blastland, Freelance Journalist
26 | * Mariano Blejman, Hacks/Hackers Buenos Aires
27 | * John Bones, Verdens Gang
28 | * Marianne Bouchart, Bloomberg News
29 | * Liliana Bounegru, European Journalism Centre
30 | * Brian Boyer, Chicago Tribune
31 | * Paul Bradshaw, Birmingham City University
32 | * Wendy Carlisle, Australian Broadcasting Corporation
33 | * Lucy Chambers, Open Knowledge Foundation
34 | * Sarah Cohen, Duke University
35 | * Alastair Dant, The Guardian
36 | * Helen Darbishire, Access Info Europe
37 | * Chase Davis, Center for Investigative Reporting
38 | * Steve Doig, Walter Cronkite School of Journalism
39 | * Lisa Evans, The Guardian
40 | * Tom Fries, Bertelsmann Stiftung
41 | * Duncan Geere, Wired UK
42 | * Jack Gillum, Associated Press
43 | * Jonathan Gray, Open Knowledge Foundation
44 | * Alex Howard, O'Reilly Media
45 | * Bella Hurrell, BBC
46 | * Nicolas Kayser-Bril, Journalism++
47 | * John Keefe, WNYC
48 | * Scott Klein, ProPublica
49 | * Alexandre Léchenet, Le Monde
50 | * Mark Lee Hunter, INSEAD
51 | * Andrew Leimdorfer, BBC
52 | * Friedrich Lindenberg, Open Knowledge Foundation
53 | * Mike Linksvayer, Creative Commons
54 | * Mirko Lorenz, Deutsche Welle
55 | * Esa Mäkinen, Helsingin Sanomat
56 | * Pedro Markun, Transparência Hacker
57 | * Isao Matsunami, Tokyo Shimbun
58 | * Lorenz Matzat, OpenDataCity
59 | * Geoff McGhee, Stanford University
60 | * Philip Meyer, Professor Emeritus, University of North Carolina at Chapel Hill
61 | * Claire Miller, WalesOnline
62 | * Cynthia O'Murchu, Financial Times
63 | * Oluseun Onigbinde, BudgIT
64 | * Djordje Padejski, Knight Journalism Fellow, Stanford University
65 | * Jane Park, Creative Commons
66 | * Angélica Peralta Ramos, La Nacion (Argentina)
67 | * Cheryl Phillips, The Seattle Times
68 | * Aron Pilhofer, New York Times
69 | * Lulu Pinney, Freelance Infographic Designer
70 | * Paul Radu, Organised Crime and Corruption Reporting Project
71 | * Simon Rogers, The Guardian
72 | * Martin Rosenbaum, BBC
73 | * Amanda Rossi, Friends of Januária
74 | * Martin Sarsale, Hacks/Hackers Buenos Aires
75 | * Fabrizio Scrollini, London School of Economics and Political Science
76 | * Sarah Slobin, Wall Street Journal
77 | * Sergio Sorin, Hacks/Hackers Buenos Aires
78 | * Jonathan Stray, The Overview Project
79 | * Brian Suda, (optional.is)
80 | * Chris Taggart, OpenCorporates
81 | * Jer Thorp, The New York Times R&D Group
82 | * Andy Tow, Hacks/Hackers Buenos Aires
83 | * Luk N. Van Wassenhove, INSEAD
84 | * Sascha Venohr, Zeit Online
85 | * Jerry Vermanen, NU.nl
86 | * César Viana, University of Goiás
87 | * Farida Vis, University of Leicester
88 | * Pete Warden, Independent Data Analyst and Developer
89 | * Chrys Wu, Hacks/Hackers
90 |
91 | === What This Book Is (And What It Isn't) ===
92 |
93 | This book is intended to be a useful resource for anyone who thinks that they might be interested in becoming a data journalist, or dabbling in data journalism.
94 |
95 | Lots of people have contributed to writing it, and through our editorial we have tried to let their different voices and views shine through. We hope that it reads like a rich and informative conversation about what data journalism is, why it is important, and how to do it.
96 |
97 | Lamentably the act of reading this book will not supply you with a comprehensive repertoire of all of the knowledge and skills you need to become a data journalist. This would require a vast library manned by hundreds of experts able to help answer questions on hundreds of topics. Luckily this library exists and it is called the Internet. Instead, we hope this book will give you a sense of how to get started and where to look if you want to go further. Examples and tutorials serve to be illustrative rather than exhaustive.
98 |
99 | We count ourselves very lucky to have had so much time, energy, and patience from all of our contributors and have tried our best to use this wisely. We hope that - in addition to being a useful reference source - the book does something to document the passion and enthusiasm, the vision and energy of a nascent movement. The book attempts to give a sense of what happens behind the scenes, the stories behind the stories.
100 |
101 | The Data Journalism Handbook is a work in progress. If you think there is anything which needs to be amended or is conspicuously absent, then please flag it for inclusion in the next version. It is also freely available under a http://creativecommons.org/licenses/by-sa/3.0/[Creative Commons Attribution-ShareAlike] license, and we strongly encourage you to share it with anyone that you think might be interested in reading it.
102 |
103 | _Liliana Bounegru (https://twitter.com/bb_liliana[@bb_liliana])_ +
104 | _Lucy Chambers (https://twitter.com/lucyfedia[@lucyfedia])_ +
105 | _Jonathan Gray (https://twitter.com/jwyg[@jwyg])_ +
106 | _March 2012_
107 |
108 | === The Handbook At A Glance ===
109 |
110 | Infographic impresario Lulu Pinney created this superb poster, which gives an overview of the contents of the Data Journalism Handbook.
111 |
112 | [[FIG2]]
113 | .The handbook at a glance
114 | image::figs/incoming/00-poster.png[width=600]
115 |
--------------------------------------------------------------------------------
/DataTools.html:
--------------------------------------------------------------------------------
1 |
2 |
307 |
308 |
309 |
--------------------------------------------------------------------------------
/PendingMaterial.asc:
--------------------------------------------------------------------------------
1 | Chapter 5:
2 |
3 | SHAWN: We need to find a way to address these level 5 headers, not a variable terms
4 |
5 | === Become Data Literate in 3 Simple Steps
6 |
7 | [[FIG051]]
8 | .Digging into data (http://www.flickr.com/photos/jdhancock/3386035827/[JDHancock])
9 | image::figs/incoming/05-MM.jpg[width="4.8in"]
10 |
11 |
12 | Just as literacy refers to ``the ability to read for knowledge, write coherently and think critically about printed material,'' data literacy is the ability to consume for knowledge, produce coherently and think critically about data. Data literacy includes statistical literacy but also understanding how to work with large data sets, how they were produced, how to connect various data sets and how to interpret them.
13 |
14 | Poynter's News University offers classes of http://www.newsu.org/courses/math-journalists[Math for journalists], in which reporters get help with concepts such as percentage changes and averages. Interestingly enough, these concepts are being taught simultaneously near Poynter's offices, in Floridian schools, to fifth grade pupils (age 10-11), http://www.k12.com/courses/scope-sequence/ma5f1[as the curriculum attests].
15 |
16 | That journalists need help in math topics normally covered before high school shows how far newsrooms are from being data literate. This does not go without problems. How can a data-journalist make use of a bunch of numbers on climate change if she doesn't know what a confidence interval means? How can a data-reporter write a story on income distribution if he cannot tell the http://karenberger.suite101.com/mean-median-and-mode-journalists-guide-to-calculating-averages-a352390[mean from the median]?
17 |
18 | A reporter certainly does not need a degree in statistics to become more efficient when dealing with data. When faced with numbers, a few simple tricks can help her get a much better story. As Max Planck Institute professor http://datadrivenjournalism.net/news_and_analysis/the_importance_of_numeracy_for_data_journalists[Gerd Gigerenzer says] says, better tools will not lead to better journalism if they are not used with insight.
19 |
20 | Even if you lack any knowledge of math or stats, you can easily become a seasoned data-journalist by asking 3 very simple questions.
21 |
22 | ==== Question One: How was the data collected?
23 |
24 | Amazing GDP growth::
25 | The easiest way to show off with spectacular data is to fabricate it. It sounds obvious, but data as commonly commented upon as GDP figures can very well be phony. Former British ambassador Craig Murray reports in his book, http://www.amazon.com/Murder-Samarkand-Ambassadors-Controversial-Defiance/dp/1845962214[Murder in Samarkand], that growth rates in Uzbekistan are subject to intense negotiations between the local government and international bodies. In other words, it has nothing to do with the local economy. GDP is used as the number one indicator because governments need it to watch over their main source of income: VAT. When a government is not funded by VAT, or when it does not make its budget public, it has no reason to collect GDP data and will be better off fabricating them.
26 |
27 | Crime is always on the rise::
28 | ``Crime in Spain grew by 3%'', http://internacional.elpais.com/internacional/2008/09/29/actualidad/1222639208_850215.html[writes El Pais]. Brussels is prey to increased crime from illegal aliens and drug addicts, http://www.rtl.be/info/votreregion/bruxelles/835282/criminalite-en-hausse-a-bruxelles-la-faute-aux-illegaux-et-aux-drogues-[says RTL]. This type of reporting based on police-collected statistics is common, but it doesn't tell us much about violence. We can trust that within the European Union, the data isn't tampered with. But police personnel respond to incentives. When performance is linked to clearance rate, for instance, policemen have an incentive to reports as much as possible on incidents that don't require an investigation. One such crime is smoking pot. This explains why drug-related crimes in France increased fourfold in the last 15 years while consumption remained constant.
29 |
30 | What you can do::
31 | When in doubt about a number's credibility, always double check, just as you'd have if it had been a quote from a politician. In the Uzbek case, a phone call to someone who's lived there for a while suffices (`Does it feel like the country is 3 times as rich as it was in 1995, as official figures show?'). For police data, sociologists often carry out 'victimization' studies, in which they ask people if they are subject to crime. These studies are much less volatile than police data. Maybe that's the reason why they don't make headlines. Other tests let you assess precisely the credibility of the data, such as Benford's law, but none will replace your own critical thinking.
32 |
33 | ==== Question Two: What's in there to learn?
34 |
35 | Risk of Multiple Sclerosis doubles when working at night::
36 | Surely any German in her right mind would stop working night shifts after http://www.dmsg.de/multiple-sklerose-news/index.php?w3pid=news&kategorie=forschung&anr=2476[reading this headline]. But the article doesn't tell us what the risk really is in the end.
37 |
38 | Take 1,000 Germans. A single one will develop MS over his lifetime. Now, if every one of these 1,000 Germans worked night shifts, the number of MS sufferers would jump to 2. The additional risk of developing MS when working in shifts is 1 in 1,000, not 100%. Surely this information is more useful when pondering whether to take the job.
39 |
40 | On average, 1 in every 15 Europeans totally illiterate::
41 | The above headline looks frightening. It is also absolutely true. Among the 500 million Europeans, 36 million probably don't know how to read. As an aside, 36 million are also under 7 (data from http://epp.eurostat.ec.europa.eu/portal/page/portal/statistics/search_database[Eurostat]).
42 |
43 | When writing about an average, always think ``an average of what?'' Is the reference population homogeneous? Uneven distribution patterns explain why most people drive better than average, for instance. Many people have zero or just one accident over their lifetime. A few reckless drivers have a great many, pushing the average number of accidents way higher than what most people experience. The same is true of the income distribution: most people earn less than average.
44 |
45 | What you can do:
46 | Always take the distribution and base rate into account. Checking for the mean and median, as well as mode (the most frequent value in the distribution) helps you gain insights in the data. Knowing the order of magnitude makes contextualization easier, as in the MS example. Finally, reporting in natural frequencies (1 in 100) is way easier for readers to understand that using percentage (1%).
47 |
48 | ==== Question Three: How reliable is the information?
49 |
50 | The sample size problem::
51 | ``80% dissatisfied with the judicial system'', says a survey http://www.diariodenavarra.es/noticias/mas_actualidad/sociedad/una_encuesta_revela_que_casi_los_espanoles_esta_insatisfecho_con_justicia_50090_1035.html[reported in Zaragoza-based Diaro de Navarra]. How can one extrapolate from 800 respondents to 46 million Spaniards? Surely this is full of hot air.
52 |
53 | When researching a large population (over a few thousands), you rarely need more than a thousand respondents to achieve a margin of error under 3%. It means that if you were to retake the survey with a totally different sample, 9 times out of 10, the answers you'll get will be within a 3% interval of the results you had the first time around. Statistics are a powerful thing, and sample sizes are rarely to blame in dodgy surveys.
54 |
55 | Drinking tea lowers the risk of stroke::
56 | Articles about the benefits of tea-drinking are commonplace. This short http://www.welt.de/print-welt/article249051/Tee_schuetzt_vor_Herzinfarkt.html[item in Die Welt] saying that tea lowers the risk of myocardial infarction is no exception. Although the effects of tea are seriously studied by some, many pieces of research fail to take into account lifestyle factors, such as diet, occupation or sports.
57 |
58 | In most countries, tea is a beverage for the health-conscious upper classes. If researchers don't control for lifestyle factors in tea studies, they tell us nothing more than `rich people are healthier -- and they probably drink tea'.
59 |
60 | What you can do::
61 | The math behind correlations and error margins in the tea studies are certainly correct, at least most of the time. But if researchers don't look for co-correlations (e.g. drinking tea correlates with doing sports), their results are of little value.
62 |
63 | As a journalist, it makes little sense to challenge the numerical results of a study, such as the sample size, unless there are serious doubts about it. However, it is easy to see if researchers failed to take into account relevant pieces of information.
64 |
65 | — _Nicolas Kayser-Bril, Journalism++_
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | The Data Journalism Handbook
2 | ============================
3 |
4 | This repository contains the source files for the Data Journalism Handbook. The handbook was
5 | started at Mozilla Festival 2011 as a collaboration between over 70 experts, coordinated by
6 | the European Journalism Center and the Open Knowledge Foundation.
7 |
8 | How to build the DDJBook
9 | ------------------------
10 |
11 | * Install Python libraries "lxml" and "jinja2", possibly into a virtualenv
12 | * Install [Jekyll](https://github.com/mojombo/jekyll/)
13 | * Checkout the repo on "master"
14 | * Convert the book to docbook, e.g. asciidoc --backend docbook book.asc
15 | * Run "python jekyllify.py" to convert the outcoming book HTML into a
16 | Jekyll site
17 | * Go into the "web" directory
18 | * Run "jekyll" (or "jekyll --auto --server" during development)
19 |
20 | This will generate the new site, based on the templates in
21 | web/_layouts/default.html
--------------------------------------------------------------------------------
/WarStories.asc:
--------------------------------------------------------------------------------
1 |
2 | You Don't Need New Data to Make a Scoop
3 |
4 | Sometimes the data is already public and available, but no one has looked at it closely. In the case of the Associated Press's report on 4,500 pages of declassified documents describing the actions of private security contractors during the Iraq war, the material was obtained by an independent journalist over several years, using Freedom of Information requests addressed to the U.S. State Department. They scanned the paper results and uploaded them to DocumentCloud, which made it possible for us to do our comprehensive analysis.
5 |
6 | Jonathan Stray (The Overview Project)
7 | ****
8 |
9 | .Trawling Through Phone Logs
10 | ****
11 | A few months ago, I wanted to parse (then-presidential candidate) Texas Gov. Rick Perry's phone logs. It was the result of a long-awaited state public-records request. The data essentially came in the form of 120-plus pages of fax-quality documents. It was an endeavour that required data entry and cleanup, followed by a WhitePages.com API to reverse-lookup the phone numbers. Mashing together names with state and federal (FEC) election data, http://www.boston.com/news/politics/articles/2011/12/06/perry_called_top_donors_from_work_phones/[we found] that Perry reached out to campaign and super PAC donors from state work phones, a frowned-upon practice that raised questions about ties between he and a ``super PAC'' working in his favor.
12 |
13 | Jack Gillum (Associated Press)
14 | ****
15 |
16 | .Know Your Rights
17 | ****
18 | When you are publishing data, should you worry about copyright and other rights in data? While you should always clear all of this with your legal team, as a rule of thumb: if it is published by government you should neither ask forgiveness nor permission; if it is published by an organization that doesn't make money selling data you shouldn't have to worry too much; if it is published by a organization that does make money from selling data, then you should definitely ask permission.
19 | Simon Rogers (The Guardian)
20 | ****
21 |
22 | .Using FOI to Understand Spending
23 | ****
24 | I've used FOI in couple of different ways to help cover COINS, the UK Government's biggest database of spending, budget and financial information. At the beginning of 2010 there was talk from George Osborne that if he became Chancellor he would release the COINS database to facilitate greater transparency in the Treasury. At this time it seemed a good idea to investigate the data in and structure of COINS so I sent a few FOI requests, one for the http://www.whatdotheyknow.com/request/schema_for_coins_database[schema of the database] one for the http://www.whatdotheyknow.com/request/training_materials_for_coins[guidance] Treasury workers receive when they work with COINS, and one for the Treasury http://www.whatdotheyknow.com/request/request_for_the_contract_with_in[contract]
25 | with the database provider. All of which resulted in publication of useful data. I also requested all the http://www.whatdotheyknow.com/request/programme_objects_from_the_coins#incoming-78133[spending codes] in the database, which was also published. All of this helped to understand COINS when George Osborne became chancellor in May 2010 and published COINS in June 2010. The COINs data was used in a number of websites encouraging the public to investigate the data -- including http://openspending.org/[OpenSpending.org] and the Guardian's http://coins.guardian.co.uk/coins-explorer/search[Coins Data Explorer].
26 |
27 | After further investigation it seemed that a large part of the database was missing: the Whole of Government Accounts (WGA) which is 1,500 sets of accounts for public funded bodies. I used FOI to http://www.whatdotheyknow.com/request/whole_of_government_accounts_200[request the 2008/09 WGA data] but to no avail. I also asked for the report from the audit office for WGA -- which I hoped would explain the reasons the WGA was not in a suitable state to be released. That was http://www.whatdotheyknow.com/request/whole_of_government_accounts_dry#comment-13231[also refused].
28 |
29 | In December 2011 the WGA was released in the COINS data. However I wanted to make sure there was enough guidance to create the complete set of accounts for each of the 1,500 bodies included in the WGA exercise. This brings me on to the second way I used FOI: to ensure the data released under the UK transparency agenda is well explained and contains what it should. I put in a FOI request for the http://www.whatdotheyknow.com/request/cash_flow_and_balance_sheet_for#outgoing-186582[full set of accounts] for every public body included in WGA.
30 |
31 | Lisa Evans (The Guardian)
32 | ****
33 |
34 | .Getting Data from Paper Archives
35 | ****
36 | Right after Wikileak's release of US military documents in Afghanistan and Iraq, we decided to adapt the concept to celebrate the 50th anniversary of the Algerian War by publishing the Algerian War Diaries. We set out to collect and digitise the archives of the French Army in Algeria. These are available in the War ministry archive in Paris, albeit in a paper format. We sent out journalists and students to take photographs of the documents. We tried scanning them using a Canon P-150 portable scanner, but it didn't work mainly because much of the archives are stapled.
37 |
38 | In the end, about 10,000 pages were collected in a few weeks. We ran a text recognition software on them (Abbyy fine reader), which produced poor results. What's more, the ministry arbitrarily denied access to the most interesting boxes of archives. Above all, the ministry forbids anyone from republishing documents that can be freely photographed on location, so we decided that it wasn't worth the risk and the project was put on hold.
39 | ****
40 |
41 | .When The Law Fails
42 | ****
43 | After reading a http://kuafu.umd.edu/~ginger/research/JEH-final.pdf[scholarly article] explaining that publishing the outcome of hygiene inspections in restaurants reduced the number of food-related illnesses in Los Angeles, I asked the Parisian hygiene services for the list of inspections. Following the procedure set out by the French FOIA, I waited 30 days for their refusal to answer, then went to the Access to Public Data Commission (CADA in French), which rules on the legitimacy of FOI requests. CADA upheld my demand and ordered the administration to release the data. The administration subsequently asked for 2-month's extra time, and CADA accepted that. Two months later, the administration still had done nothing.
44 |
45 | I tried to get some big-name (and big-pocketed) open data advocates to go to court (which is a €5000 affair and a sure win with such CADA support), but they were afraid to compromise their relations with official open data programs. This example is one among several where the French administration simply ignores the law and the official initiatives do nothing to support grassroots demands for data.
46 |
47 | Nicolas Kayser-Bril (Journalism++)
48 | ****
49 |
50 |
51 | .Scraping A Public Database
52 | ****
53 | Some French physicians are free to choose their own rates, so that one can pay between €70 and €500 for a 30-minute visit at an oncologist, for instance. This data regarding rates is legally public, but the administration provides only a hard-to-navigate online access to the database. In order to have a good view of the doctors' rates for Le Monde, I decided to scrape the entire DB.
54 |
55 | That's where the fun began. The front-end search form was a Flash application, that redirected to an HTML result page via a POST request. With help from Nicolas Kayser-Bril, it took us some time to figure out that the application used a third page as a ``hidden'' step between the search form and the result page. This page was actually used to store a cookie with values from the search form that was then accessed by the results page. It would have been hard to think of a more convoluted process, but the options of the cURL library in PHP make it easy to overcome the hurdles, once you know where they are! In the end, getting hold of the database was a 10-hour task, but it was worth it.
56 |
57 | Alexandre Léchenet (Le Monde)
58 | ****
59 |
60 | .FOI With Friends
61 | ****
62 | Many Balkan countries have issues with government corruption. Corruption is often even higher when it comes to accountability of the local governments in those countries. For several months a group of Serbian journalists around the Belgrade-based http://www.cins.org.rs/[Centre for Investigative Reporting] have been questioning different types of FOI documents from over 30 local municipalities in 2009. Prior to that, almost nothing was accessible to the public. The idea was to get the original government records and to put the data in spreadsheets, to run basic checks and comparisons among the municipalities and to get maximum and minimum figures. Basic indicators were budget numbers, regular and special expenses, salaries of officials, travel expenses, numbers of employees, cell phone expenses, per diems, public procurement figures and so on. It was the first time that reporters had asked for such
63 | information.
64 |
65 | The result was a comprehensive database which unravels numerous phoney representations, malfeasances and corruption cases. A list of the highest paid mayors indicated that a few of them were receiving more money than the Serbian president. Many other officials were overpaid, with many receiving enormous travel repayments and per diems. Our hard earned public procurement data helped to highlight an official mess. More than 150 stories came out of the database and many of them were picked up by the local and national media in Serbia.
66 |
67 | We learned that comparing the records with the comparable data from similar government
68 | entities can display deviations and shed light on probable corruption. Exaggerated and unusual expenses can be detected only by comparing.
69 |
70 | Djordje Padejski (Knight Journalism Fellow, Stanford University)
71 | ****
72 |
73 | .Dirty Data
74 | ****
75 | Thanks to the generally strong public records laws in the United States, getting data here isn't as big a problem as it can be in many other countries. But once we get it, we still face the problems of working with data that has been gathered for bureaucratic reasons, not for analytic reasons. The data often is ``dirty'', with values that aren't standardised. Several times I have received data that doesn't match up to the supposed file layout and data dictionary that accompanies it. Some agencies will insist on giving you the data in awkward formats like .pdf, which have to be converted. Problems like these make you appreciate it when you do get an occasional no-hassle dataset.
76 |
77 | Steve Doig (Walter Cronkite School of Journalism of Arizona State University
78 | ****
79 |
80 | .Patching, Scraping, Compiling, Cleaning
81 | ****
82 | The challenge with huge swathes of UK data isn't getting it released -- it's getting it into a usable format. Lots of data on hospitality, MPs' outside interests, lobbying and more is routinely published but in difficult-to-analyze ways.
83 |
84 | For some information, there is only the hard slog: patching together dozens of excel files each containing just a dozen or so records was the only way to make comprehensive lists of ministerial meetings. But for other information, web scraping proved incredibly helpful.
85 |
86 | Using a service like ScraperWiki to ask coders to produce a scraper for information like the Register of MPs' interest did around half of our job for us: we had all MPs' information in one sheet, ready for the (lengthy) task of analysing and cleaning.
87 |
88 | Services like this (or tools such as Outwit Hub) are a huge help to journalists trying to compile messy data who are unable to code themselves.
89 |
90 | James Ball (The Guardian)
91 | ****
92 |
93 | .Mixed Up, Hidden and Absent Data
94 | ****
95 | I remember a funny situation where we tried to access the Hungarian data on EU farm subsidies: it was all there – but in an excessively heavy PDF document and mixed up with data on national farm subsidies. Our programmers had to work for _hours_, before the data was useful.
96 |
97 | We also had a pretty interesting time with data about EU fish subsidies, which national payment agencies in all 27 Member States are obliged to disclose. Here's an excerpt from http://brigittealfter11.files.wordpress.com/2012/02/2009-slipping-through-the-net.pdf[a report we wrote on the topic]: ``In the United Kingdom, for example, the format of the data varies from very user-friendly HTML search pages to PDF overviews or even lists of recipients in varying formats hidden away at the bottom of press releases. All this is within just one member state. In Germany and Bulgaria, meanwhile, empty lists are published. The appropriate headings are there but without any data.''
98 | Brigitte Alfter (Journalismfund.eu)
99 | ****
100 |
101 | .Going Straight to the Source
102 | ****
103 | The first trick I use in getting a hold of data that is held by a public entity is to try to go directly to the data-holder, not the public affairs person, not through an FOIA. I could craft an FOIA or public records request of course, but it will start the wheels turning slowly. It's likely that I'll get a response back that the data is not in the format I requested, or (as has happened in some cases) the governmental body uses a proprietary software and can't extract the data in the format I requested. But, if I first successfully reach the person who handles data for that organization, I can ask questions about what data they keep on the subject and how they keep it. I can find out the format. I can speak data-language and find out what I need to know to successfully request the data. The roadblocks to this approach? Often, it's hard to reach these people. The Public Information Officer (PIO) will want me to deal with them. I've found in those cases, it's best to try to then set up a conference call, or even better, an in-person meeting with the PIO, the data guru and me. And I can set it up in a way that makes it hard for them to say no. ``I don't want to create work for them'' I say. ``I don't want to create an unnecessarily burdensome or overly broad request, so a meeting will help me understand exactly what they have and how I can best request exactly what is needed.''
104 |
105 | If this method does not work, my fallback is to ask first for their record layout and data dictionary in a request. Then, I actually request the data. I sometimes will also ask first how they keep the data, and in what system. That way, I can research the ways the data can be exported in advance of writing my request.
106 |
107 | Lastly, my best success story comes from when I was working at a small newspaper in Montana. I needed some county data, which I was told could not be exported out of the mainframe. I did a little research, offered to come in and help. Worked with the data person, we built a short script, printed the data to a (this was a long time ago) floppy disk. I had my data and the county now was equipped to provide data to anyone who requested it. They didn't intend for that to happen, but they needed to extract the data sometimes too and didn't fully understand their system, so we all helped each other.
108 |
109 | Cheryl Philips (Seattle Times)
110 | ****
111 |
112 | .The 65k Rule
113 | ****
114 | Upon receiving the first dump of Afghan war log data from Wikileaks, the team processing it started talking about how excited they were to have access to 65k military records.
115 |
116 | This immediately set alarms ringing amongst those with experience of the Microsoft Excel. Thanks to an historic limitation in the way that rows are addressed, the Excel import tool won't process more than 65,536 records. In this case, it emerged that a mere 25k rows were missing!
117 |
118 | The moral of this story (aside from avoiding using Excel for such tasks), is to always be suspicious of anyone boasting about sixty five thousand rows of data.
119 |
120 | Alastair Dant (The Guardian)
121 | ****
122 |
--------------------------------------------------------------------------------
/book-docinfo.xml:
--------------------------------------------------------------------------------
1 |
2 | O'Reilly Production Services
3 |
4 |
5 | David
6 | Futato
7 |
8 |
9 | Kate
10 | Hudson
11 |
12 |
13 | Karen
14 | Montgomery
15 |
16 |
17 |
18 |
19 | O’Reilly Media, Inc.
20 |
21 | 1005 Gravenstein Highway North
22 | Sebastopol
23 | CA
24 | 95472
25 |
26 |
27 |
28 |
29 | A project of the European Journalism Centre and the Open Knowledge Foundation.
30 | Printed in the United States of America.
31 |
32 |
33 |
34 | [LSI]
35 |
36 |
37 |
38 | O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most
39 | titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department:
40 | 800-998-9938 or corporate@oreilly.com.
41 |
42 |
43 |
44 | Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo
45 | are registered trademarks of O’Reilly Media, Inc. The Data Journalism Handbook
46 | and related trade dress are trademarks of O’Reilly Media, Inc.
47 | Many of the designations used by manufacturers and sellers to distinguish
48 | their products are claimed as trademarks. Where those designations appear
49 | in this book, and O’Reilly Media, Inc., was aware of a trademark claim,
50 | the designations have been printed in caps or initial caps.
51 |
52 |
53 |
54 | While every precaution has been taken in the preparation of this book,
55 | the publisher and authors assume no responsibility for errors or omissions,
56 | or for damages resulting from the use of the information contained herein.
57 |
58 | The Data Journalism Handbook can be freely copied, redistributed and reused under the terms of the Creative Commons Attribution-ShareAlike license. Contributors to The Data Journalism Handbook retain copyright over their respective contributions, and have kindly agreed to release them under the terms of this license.
59 |
60 | 97814493300641
61 | JonathanGray
62 | Jonathan Gray is Head of Community and Culture at the Open Knowledge Foundation (), an award-winning non-profit organization dedicated to promoting open data, open content, and the public domain in a wide variety of different fields. He founded several data journalism projects at the OKFN, including OpenSpending.org, which maps public spending around the world, and Europe's Energy, which puts EU energy targets into context. He is doing research in philosophy and the history of ideas at Royal Holloway, University of London. More about him can be found at .
63 |
64 | LilianaBounegru
65 | Liliana Bounegru is editor of DataDrivenJournalism.net and project manager on data journalism at the European Journalism Centre (http://www.ejc.net/). Her work includes coordinating the Data Journalism Awards and co-editing the Data Journalism Handbook. Liliana also works as a researcher on the collaborative research project EMAPS (Electronic Maps to Assist Public Science) and is a Research MA candidate in Media Studies at the University of Amsterdam. Her research focuses on the impact of technology on media, culture, and society. She blogs at lilianabounegru.org.
66 |
67 | LucyChambers
68 | Lucy Chambers is a Community Coordinator at the Open Knowledge Foundation. She works on the OKFN's OpenSpending.org project and Spending Stories, a Knight News Challenge Winner 2011—helping journalists build context around and fact check spending data. She also coordinates the data-driven journalism activities of the Foundation, running training sessions for journalists on how to find, work with, and present data.
69 |
70 |
71 | The European Journalism Centre
72 | The European Journalism Centre (http://www.ejc.net/) provides training to enhance the quality of journalistic coverage of European current affairs and to provide strategic support for the European media.
73 |
74 | The Open Knowledge Foundation
75 | The Open Knowledge Foundation (http://okfn.org/) seeks a world in which open knowledge is ubiquitous and routine—both online and offline—and promotes open knowledge because of its potential to deliver far-reaching societal benefits.
76 |
77 | ShawnWallaceKristenBorgFirst EditionJuly, 20122012-07-11First release
78 |
--------------------------------------------------------------------------------
/book.asc:
--------------------------------------------------------------------------------
1 | :data-uri:
2 | :rq: ’
3 | :bookprefix: djhb
4 | :bookisbn: 9781449330064
5 |
6 | The Data Journalism Handbook
7 | ============================
8 |
9 | /////////////
10 | Keep a blank line between each include::[] macro
11 | /////////////
12 |
13 | include::preface.asc[]
14 |
15 | include::01-introduction.asc[]
16 |
17 | include::02-inthenewsroom.asc[]
18 |
19 | include::03-casestudies.asc[]
20 |
21 | include::04-gettingdata.asc[]
22 |
23 | include::05-understandingdata.asc[]
24 |
25 | include::06-deliveringdata.asc[]
26 |
27 |
--------------------------------------------------------------------------------
/dedication.asc:
--------------------------------------------------------------------------------
1 | ++++
2 |
3 | For the Great Unnamed
4 |
5 | ++++
--------------------------------------------------------------------------------
/figs/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/.DS_Store
--------------------------------------------------------------------------------
/figs/incoming/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/.DS_Store
--------------------------------------------------------------------------------
/figs/incoming/00-01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/00-01.jpg
--------------------------------------------------------------------------------
/figs/incoming/00-poster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/00-poster.png
--------------------------------------------------------------------------------
/figs/incoming/01-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/01-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-01.png
--------------------------------------------------------------------------------
/figs/incoming/01-DD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-DD.png
--------------------------------------------------------------------------------
/figs/incoming/01-FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-FF.png
--------------------------------------------------------------------------------
/figs/incoming/01-GG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-GG.png
--------------------------------------------------------------------------------
/figs/incoming/01-HH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-HH.png
--------------------------------------------------------------------------------
/figs/incoming/01-JJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-JJ.png
--------------------------------------------------------------------------------
/figs/incoming/01-LL.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-LL.jpg
--------------------------------------------------------------------------------
/figs/incoming/01-MM.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-MM.jpg
--------------------------------------------------------------------------------
/figs/incoming/01-XX.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-XX.jpg
--------------------------------------------------------------------------------
/figs/incoming/01-YY.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/01-YY.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/02-00-old.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-00-old.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-00.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-01.png
--------------------------------------------------------------------------------
/figs/incoming/02-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-02.png
--------------------------------------------------------------------------------
/figs/incoming/02-03-AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-03-AA.png
--------------------------------------------------------------------------------
/figs/incoming/02-03-BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-03-BB.png
--------------------------------------------------------------------------------
/figs/incoming/02-03-CC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-03-CC.png
--------------------------------------------------------------------------------
/figs/incoming/02-03-DD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-03-DD.png
--------------------------------------------------------------------------------
/figs/incoming/02-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-03.png
--------------------------------------------------------------------------------
/figs/incoming/02-04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-04.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-05.png
--------------------------------------------------------------------------------
/figs/incoming/02-MM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-MM.png
--------------------------------------------------------------------------------
/figs/incoming/02-RR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-RR.png
--------------------------------------------------------------------------------
/figs/incoming/02-TT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-TT.png
--------------------------------------------------------------------------------
/figs/incoming/02-XY.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-XY.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-YY.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-YY.jpg
--------------------------------------------------------------------------------
/figs/incoming/02-ZZ.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/02-ZZ.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/03-AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-AA.png
--------------------------------------------------------------------------------
/figs/incoming/03-BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-BB.png
--------------------------------------------------------------------------------
/figs/incoming/03-CC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-CC.png
--------------------------------------------------------------------------------
/figs/incoming/03-DD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-DD.png
--------------------------------------------------------------------------------
/figs/incoming/03-EE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-EE.png
--------------------------------------------------------------------------------
/figs/incoming/03-FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-FF.png
--------------------------------------------------------------------------------
/figs/incoming/03-GG.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-GG.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-LL-01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-LL-01.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-LL-02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-LL-02.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-LL-03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-LL-03.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-MM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-MM.png
--------------------------------------------------------------------------------
/figs/incoming/03-NN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-NN.png
--------------------------------------------------------------------------------
/figs/incoming/03-OO-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-OO-01.png
--------------------------------------------------------------------------------
/figs/incoming/03-PP-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-PP-01.png
--------------------------------------------------------------------------------
/figs/incoming/03-PP-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-PP-02.png
--------------------------------------------------------------------------------
/figs/incoming/03-PP-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-PP-03.png
--------------------------------------------------------------------------------
/figs/incoming/03-PP-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-PP-04.png
--------------------------------------------------------------------------------
/figs/incoming/03-WW.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-WW.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-XX.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-XX.jpg
--------------------------------------------------------------------------------
/figs/incoming/03-YY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-YY.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-01.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-02.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-03.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-04.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-05.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-06.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-07.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-08.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-09.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ-ZZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ-ZZ.png
--------------------------------------------------------------------------------
/figs/incoming/03-ZZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/03-ZZ.png
--------------------------------------------------------------------------------
/figs/incoming/04-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/04-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-01.png
--------------------------------------------------------------------------------
/figs/incoming/04-AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-AA.png
--------------------------------------------------------------------------------
/figs/incoming/04-BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-BB.png
--------------------------------------------------------------------------------
/figs/incoming/04-CC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-CC.png
--------------------------------------------------------------------------------
/figs/incoming/04-DD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-DD.png
--------------------------------------------------------------------------------
/figs/incoming/04-EE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-EE.png
--------------------------------------------------------------------------------
/figs/incoming/04-FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-FF.png
--------------------------------------------------------------------------------
/figs/incoming/04-GG.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/04-GG.jpg
--------------------------------------------------------------------------------
/figs/incoming/05-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/05-AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-AA.png
--------------------------------------------------------------------------------
/figs/incoming/05-BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-BB.png
--------------------------------------------------------------------------------
/figs/incoming/05-BC-graphical-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-BC-graphical-table.png
--------------------------------------------------------------------------------
/figs/incoming/05-BD-choropleth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-BD-choropleth.png
--------------------------------------------------------------------------------
/figs/incoming/05-BE-graph.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-BE-graph.jpg
--------------------------------------------------------------------------------
/figs/incoming/05-CC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-CC.png
--------------------------------------------------------------------------------
/figs/incoming/05-DD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-DD.png
--------------------------------------------------------------------------------
/figs/incoming/05-EE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-EE.png
--------------------------------------------------------------------------------
/figs/incoming/05-FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-FF.png
--------------------------------------------------------------------------------
/figs/incoming/05-GG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-GG.png
--------------------------------------------------------------------------------
/figs/incoming/05-HH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-HH.png
--------------------------------------------------------------------------------
/figs/incoming/05-II.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-II.png
--------------------------------------------------------------------------------
/figs/incoming/05-MM.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-MM.jpg
--------------------------------------------------------------------------------
/figs/incoming/05-MM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/05-MM.png
--------------------------------------------------------------------------------
/figs/incoming/06-00-cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-00-cover.png
--------------------------------------------------------------------------------
/figs/incoming/06-AA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-AA.png
--------------------------------------------------------------------------------
/figs/incoming/06-BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-BB.png
--------------------------------------------------------------------------------
/figs/incoming/06-FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-FF.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-01.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-02.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-03.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-04.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-05.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-06.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-07.png
--------------------------------------------------------------------------------
/figs/incoming/06-GG-08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-GG-08.png
--------------------------------------------------------------------------------
/figs/incoming/06-LL-01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-01.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-02.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-03.png
--------------------------------------------------------------------------------
/figs/incoming/06-LL-04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-04.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-05.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-06.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-07.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-08.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-LL-09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-LL-09.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-MM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-MM.png
--------------------------------------------------------------------------------
/figs/incoming/06-NN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-NN.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-01.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-02.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-03.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-04.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-05.png
--------------------------------------------------------------------------------
/figs/incoming/06-PP-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-PP-06.png
--------------------------------------------------------------------------------
/figs/incoming/06-RR-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-RR-01.png
--------------------------------------------------------------------------------
/figs/incoming/06-RR-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-RR-02.png
--------------------------------------------------------------------------------
/figs/incoming/06-RR-03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-RR-03.png
--------------------------------------------------------------------------------
/figs/incoming/06-RR-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-RR-04.png
--------------------------------------------------------------------------------
/figs/incoming/06-TT-01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-01.gif
--------------------------------------------------------------------------------
/figs/incoming/06-TT-02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-02.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-TT-03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-03.jpg
--------------------------------------------------------------------------------
/figs/incoming/06-TT-04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-04.png
--------------------------------------------------------------------------------
/figs/incoming/06-TT-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-05.png
--------------------------------------------------------------------------------
/figs/incoming/06-TT-06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-06.png
--------------------------------------------------------------------------------
/figs/incoming/06-TT-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-TT-07.png
--------------------------------------------------------------------------------
/figs/incoming/06-YY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-YY.png
--------------------------------------------------------------------------------
/figs/incoming/06-ZZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/okfn/ddjbook/0699e50ebe2217564b82e0204c3b3875de1e7b39/figs/incoming/06-ZZ.png
--------------------------------------------------------------------------------
/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | asciidoc book.asc
4 | python jekyllify.py
5 | cd web
6 | jekyll
7 | cd ..
8 |
9 |
--------------------------------------------------------------------------------
/index.asc:
--------------------------------------------------------------------------------
1 | = The Data Journalism Handbook =
2 |
3 | include::00-preface.asc[]
4 |
5 | include::01-introduction.asc[]
6 |
7 | include::02-inthenewsroom.asc[]
8 |
9 | include::03-casestudies.asc[]
10 |
11 | include::04-gettingdata.asc[]
12 |
13 | include::05-understandingdata.asc[]
14 |
15 | include::06-deliveringdata.asc[]
16 |
--------------------------------------------------------------------------------
/jekyllify.py:
--------------------------------------------------------------------------------
1 | import os
2 | from lxml import html
3 | from pprint import pprint
4 | from jinja2 import Template, Markup
5 |
6 | SEGMENT = """---
7 | layout: default
8 | title: {{title.replace(':', '&59;')}}
9 | short_title: {{short_title.replace(':', ' -')}}
10 | ---
11 |
12 |
76 |
77 | """
78 |
79 |
80 | def clean_html(elem):
81 | for img in elem.findall('.//img'):
82 | if img.get('src').startswith('data:'):
83 | img.attrib['src'] = img.get('alt')
84 | del img.attrib['alt']
85 | print img.get('alt')
86 | if 'width' in img.attrib:
87 | del img.attrib['width']
88 | for a in elem.findall('.//a'):
89 | if a.get('href', '').startswith('#'):
90 | id_ = a.get('href').strip('#')
91 | #print id_
92 | caption = elem.find('.//div[@id="' + id_ + '"]/div[@class="title"]')
93 | #print caption
94 | if caption is not None:
95 | a.text = caption.text.split('.')[0]
96 | else:
97 | print a.attrib
98 | return html.tostring(elem)
99 |
100 |
101 | def write_segment(data, out_dir):
102 | content = Template(SEGMENT).render(data)
103 | write_file(content, out_dir, data.get('name'))
104 |
105 |
106 | def write_index(segments, out_dir):
107 | content = Template(INDEX).render(segments=segments)
108 | write_file(content, out_dir, 'index')
109 |
110 |
111 | def write_file(content, out_dir, name):
112 | print name
113 | file_name = os.path.join(out_dir, name + '.html')
114 | fh = file(file_name, 'wb')
115 | fh.write(content.encode('utf-8'))
116 | fh.close()
117 |
118 |
119 | def split_up(in_file, out_dir):
120 | segments = []
121 | doc = html.parse(in_file)
122 | for sect1 in doc.findall('//div[@class="sect1"]'):
123 | sect1_title = sect1.find('h2')
124 | print [sect1_title.text]
125 | name = sect1_title.get('id').strip('_')
126 | sect1_title_text = sect1_title.text
127 | for i, sect2 in enumerate(sect1.findall('.//div[@class="sect2"]')):
128 | sect2_title = sect2.find('h3')
129 | print [sect2_title.text]
130 | segments.append({
131 | 'name': name + '_' + str(i),
132 | 'title': sect2_title.text,
133 | 'body': clean_html(sect2),
134 | 'el': sect2,
135 | 'parent_name': name,
136 | 'parent_title': sect1_title_text
137 | })
138 | sect2.getparent().remove(sect2)
139 | segments.append({
140 | 'name': name,
141 | 'title': sect1_title_text,
142 | 'body': clean_html(sect1),
143 | 'el': sect1,
144 | 'parent_name': None,
145 | 'parent_title': None
146 | })
147 |
148 | for segment in segments:
149 | segment['short_title'] = segment['title'] #.rsplit('(')[0]
150 | segment['children'] = filter(lambda s: s['parent_name'] == segment['name'], segments)
151 |
152 | sorted_segments = []
153 | for segment in segments:
154 | if segment['parent_name']:
155 | continue
156 | sorted_segments.append(segment)
157 | for s in segment.get('children', []):
158 | s['parent'] = segment
159 | sorted_segments.append(s)
160 |
161 | for i, segment in enumerate(sorted_segments):
162 | if i < len(sorted_segments) - 1:
163 | if len(segment['children']):
164 | for s in sorted_segments[i + 1:]:
165 | if len(s['children']):
166 | segment['next_title'] = s['title']
167 | segment['next_name'] = s['name']
168 | break
169 | else:
170 | segment['next_title'] = sorted_segments[i + 1]['title']
171 | segment['next_name'] = sorted_segments[i + 1]['name']
172 | #pprint(segment)
173 | write_segment(segment, out_dir)
174 | write_index(sorted_segments, out_dir)
175 |
176 | if __name__ == '__main__':
177 | split_up('book.html', 'web')
178 |
--------------------------------------------------------------------------------
/pending.asc:
--------------------------------------------------------------------------------
1 | ##############################################################
2 | ##############################################################
3 | ##############################################################
4 | FROM SECTION 1
5 | ##############################################################
6 | ##############################################################
7 | ##############################################################
8 |
9 |
10 | ##############################################################
11 | ##############################################################
12 | ##############################################################
13 | FROM SECTION 2
14 | ##############################################################
15 | ##############################################################
16 | ##############################################################
17 |
18 |
19 | ##############################################################
20 | ##############################################################
21 | ##############################################################
22 | FROM SECTION 3
23 | ##############################################################
24 | ##############################################################
25 | ##############################################################
26 |
27 | === Subsidies for the Bus Transportation System (La Nacion) ===
28 |
29 | Summary:
30 |
31 | Using public DATA for Investigative reporting and joining journalists with programmers resulted in the production of series of articles, both in print and online LA NACION front pages, about Argentina Subsidies for Transportation (Bus) System. We´ve already worked for 13 months in this on going project.
32 |
33 | Subsidies in gasoil and cash, grew exponentially the last ten years and the only way to show this, as well as learning about the evolution of the top 20 companies that receive the most benefits from this, was by building a database which contains 6 years of 4 monthly PDFs, converting them to CSV and Excel (13 Mb) with a DB Model and detecting the evolution of total subsidies, and the detail of more than 1300 companies that receive cash or gasoil since 2006. This data-set of more than 285.000 records (nov 2011) is composed of different kind of cash subsidies (SISTAU, RCC, CCP) and subsidies in diesel fuel (GASOIL), detailed by company and by month. We calculated the amount of cash that those m3 of Gasoil meant for each company as a difference between market price and the discount certifieds they receive.
34 |
35 | In october 2011, after national elections passed, our goverment announced a reduction in different subsidies (including transportation), so we are using our dataset again to give a dimension of the total of subsidies and it´s evolution, focusing in the last 2 years with a monthly detail.
36 |
37 | Since February 2012, national government is trying to transfer the Metro and Bus system to the city of Buenos Aires government without being clear of the amount of subsidies being transferred as well.
38 |
39 | So we are using our dataset for front page stories again and again like this one:
40 | http://www.lanacion.com.ar/1455129-traspasan-a-macri-colectivos-que-cuestan-$-1000-millones
41 |
42 | In March 2012, we implemented an open data platform http://data.lanacion.com.ar (integrated in Junar) to start opening data in Argentina, a country with no FOIA and with no government's portal like data.gov. This platform includes sharing, embedding and multiple formats downloading tools for our readers to reuse the content.
43 |
44 | We used the platform to publish a dataset extracting the 33 lines of buses that are being transferred to the city of Buenos Aires, with their amount of vehicles, subsidies in cash and calculate average per vehicle and a list of these bus companies ordered by amount.
45 |
46 | Data set:
47 | http://data.lanacion.com.ar/datastreams/68654/colectivos-un-sector-que-vive-de-subsidios/
48 |
49 | The story with the embedded Table:
50 | http://www.lanacion.com.ar/1455113-un-sector-que-vive-de-los-subsidios (tiene junar embebido)
51 |
52 | Besides, we´re opening this data with a visualization in Tableau Public, downloadable and embeddable http://public.tableausoftware.com/views/Subsidios_colectivos/Armado_final?toolbar=yes&:embed=yes&:toolbar=yes&tabs=no&:tabs=no
53 |
54 | Finally we are creating an interactive data application presented as Argentina's Bus Transportation Subsidies Explorer. Here are some screenshots as it is currently in beta (March 2012). Click for viewing in full screen option inside player.
55 |
56 | Powered by Tableau
57 | The team:
58 |
59 | Diego Cabot, lawyer and journalist -Editor of our Financial Section, specialized in public spending, subsidies and Transportation-.
60 |
61 | Ricardo Brom, electronic engineer - IT Manager at LA NACION, developed our scrappers , normalizers and built the data sets-.
62 |
63 | Mariana Trigo Viera, graphics designer, specialized in interactive design in lanacion.com.
64 |
65 | Angelica Peralta Ramos, computer scientist, -Multimedia Development Manager and Data Project leader-, helped with the data models, and manually crossed data sets to calculate average subsidies per unit (bus) per month.
66 |
67 | We have support from other members of online and infographics team depending on the story and platform we´re publishing on.
68 |
69 | In a country with no FOIA, programming skills for web scrapping, data modeling and data analysis are as important as problem solving skills.
70 |
71 | The Sources and Tools
72 |
73 | Video 1: An introduction to the subsidies case and web sources.
74 |
75 | Video 2: Processing Excel files, before transfering to the database.
76 |
77 | Secretaría de Transporte: The official site of Transportation Agency.
78 |
79 | http://www.transporte.gov.ar/
80 |
81 | CNRT: Comisión Nacional de Regulación del Transporte
82 |
83 | http://www.cnrt.gov.ar/
84 | Building the DATABASE:
85 |
86 | We spent two weeks in the design and development of the first database, then we updated it monthly:
87 |
88 | The steps were:
89 |
90 | 1) Designing a data model based in the needs of reporting on bus subsidies possible stories, and for creating data visualizations with tools that need little programming skills (We think this data sets as “tables” so we can use different tools like Google Fusion Tables or Tableau Public, and also make our own visualizations).
91 | 2) Converting PDFs to CSV
92 | 3) Analizing the results with excel
93 | 4) Filtering, sorting and cleaning data.
94 | 5) Developing a companies and counties normalizer
95 | 6) Building a unified dataset with nornalized names
96 | 7) Updating this database
97 | 8) Discovering stories in this database and extracting data to build the visualizaitons.
98 |
99 | Regarding skills for DataJournalists:
100 |
101 | Database mindset: for journalists to deal with structured data, the basic is to learn Excel or some spreadsheet to organize and analyze information in a structured way.The focus must be in the data quality and in the data model.
102 |
103 | If you build a good data model thinking not only in present but in future uses and in updating data, you should include horizontal uses as for eg: other subsidies not only bus ones or be prepared for international comparisons in your data model. Besides, if you detect frequent difficulties as normalization of names and data cleaning, you can develop routines that will clean this data as part of your monthly process.
104 |
105 | More DATA Challenges:
106 |
107 | 1. After months of being published, PDFs are being modified backwards in two situations: a) keeping the same name and b) including a (number) at the end of the name.
108 |
109 | 2. Normalization and data cleaning problems
110 |
111 | 3. Some PDFs are lacking the totals, which makes it impossible to cross check our data in plans manually
112 |
113 | PDF With Totals: http://www.transporte.gov.ar/UserFiles/pdfs/subsidios/sistau/2011/rcc_sistau_mayo11.pdf
114 |
115 | PDF Without totals:
116 | http://www.transporte.gov.ar/UserFiles/pdfs/subsidios/sistau/2011/rcc_sistau_abril11(1).pdf
117 |
118 | MAIN STORIES:
119 |
120 | Here are the main stories that emerged from analizing this data set, that we are keeping updated every month:
121 |
122 | Articles:
123 |
124 | JUNE 2011
125 |
126 | Colectivos insaciables: un cheque diario de 10 millones en subsidios.
127 | http://www.lanacion.com.ar/1380725-colectivos-insaciables-un-cheque-diario-de-10-millones-en-subsidios
128 |
129 | Interactive Graphic:
130 | http://especiales.lanacion.com.ar/multimedia/item.asp?m=263
131 |
132 | AUGUST 2011
133 |
134 | Sin el subsidio, el boleto de colectivo costaría $ 3,75 (Without subsidies, bus ticket price would be $ 3,75 (pesos)
135 | http://www.lanacion.com.ar/1396512-sin-el-subsidio-el-boleto-de-colectivo-costaria-375
136 |
137 | NOVEMBER 2011:
138 |
139 | Empresarios dicen que, sin subsidio, el boleto de colectivo debería costar 4 pesos
140 | http://www.lanacion.com.ar/1421150-colectivos
141 |
142 | Article and Interactive Graphic in Tableau Public offering open DATA accesible from the Tableau graph-
143 | http://www.lanacion.com.ar/1421595-nego-schiavi-que-vaya-a-subir-el-boleto
144 |
145 | El precio del boleto de colectivo en el mundo
146 | http://www.lanacion.com.ar/1421186-el-precio-del-boleto-de-colectivo-en-el-mundo
147 |
148 | El colectivo a $4 provocó una furiosa reacción de Schiavi: “Es terrorismo mediático”
149 | http://www.lanacion.com.ar/1421410-colectivos
150 |
151 | Retiraran los subsidios a las empresas de colectivos que no tengan SUBE.
152 | http://www.lanacion.com.ar/1423099-retiraran-los-subsidios-a-las-empresas-de-colectivos-que-no-tengan-sube
153 |
154 |
155 | ##############################################################
156 | ##############################################################
157 | ##############################################################
158 | FROM SECTION 4
159 | ##############################################################
160 | ##############################################################
161 | ##############################################################
162 |
163 | === Reusing, Republishing, Rights (Mike Linksvayer, Creative Commons) ===
164 |
165 | image::figs/incoming/04-GG.jpg[width=600]
166 |
167 | In many jurisdictions around the world datasets and databases can be are covered by rights which mean that you have to ask for permission before you can legally reuse them. In this section we look at how you can get - and give - a green light to reuse datasets.
168 |
169 | Most of the new Open Data portals being set up by governments now make clear that the data that is released can be used free of charge. The same goes for information obtained through Freedom of Information Requests. If you have scraped the data from the website of a public body, on reuse. Sometimes there will be intellectual property limitations, but normally the only requirement is that you cite the source of the information.
170 |
171 | When talking about databases and intellectual property we need to distinguish between the structure and the content of a database (when we use the term 'data' we shall mean the content of the database itself). Structural elements include things like the field names and a model for the data -- the organization of these fields and their inter-relation.
172 |
173 | In many jurisdictions it is likely that the structural elements of a database will be covered by copyright (it depends somewhat on the level of 'creativity' involved in creating this structure).
174 |
175 | The distinction between the "contents" of a database and the collection is especially crucial for factual databases since no jurisdiction grants a monopoly right in the individual facts (the "contents") even though it may grant right(s) in them as a collection.
176 |
177 | To illustrate, consider the simple example of a database which lists the melting point of various substances. While the database as a whole might be protected by law so that one is not allow to access, reuse or redistribute it without permission this would never prevent you from stating the fact that substance Y melts at temperature Z.
178 |
179 | You can read more about the situation your jurisdiction in the http://opendefinition.org/guide/data/[Guide to Open Data Licensing].
180 |
181 | If you find you are having problems with your right to reuse information, then please let the campaign group Access Info Europe know (helpdesk@access-info.org). Access Info will help you with legal advice and will try to find lawyers in your country should that be necessary.
182 | Success? What now...? Share the data...
183 |
184 | When you publish your project, do the rest of us a favor and include the data you've collected! It would be a damned shame if all that beautiful data you dug up (cleaned up, formatted and augmented) went stale on your hard drive. Let others source-check your story and perhaps even find different stories in the data.
185 |
186 | When you do publish data, include an explicit IP statement, in particular an open license like the Creative Commons Zero or Attribution terms or the Open Database License (ODbL). If the data is government information not covered by copyright, publish it using Creative Commons' PD Mark dedication to make it clear that the data will be available in the public domain forever and for others to reuse!
187 |
188 |
189 | ##############################################################
190 | ##############################################################
191 | ##############################################################
192 | FROM SECTION 5
193 | ##############################################################
194 | ##############################################################
195 | ##############################################################
196 |
197 |
198 |
199 | ##############################################################
200 | ##############################################################
201 | ##############################################################
202 | FROM SECTION 6
203 | ##############################################################
204 | ##############################################################
205 | ##############################################################
--------------------------------------------------------------------------------
/preface.asc:
--------------------------------------------------------------------------------
1 | :chapnum: 00
2 | :figure-number: 00
3 |
4 | == Front Matter
5 |
6 | === For the Great Unnamed
7 |
8 | The Data Journalism Handbook was born at a 48 hour workshop led by the European Journalism Centre and the Open Knowledge Foundation at MozFest 2011 in London. It subsequently spilled over into an international, collaborative effort involving dozens of data journalism’s leading advocates and best practitioners.
9 |
10 | [[FIG0002]]
11 | .How it all began
12 | image::figs/incoming/00-01.jpg[scale="90",float="none"]
13 |
14 | In the six months that passed between the book’s inception to its first full release, hundreds of people have contributed in various ways. While we have done our best to keep track of them all, we have had our fair share of anonymous, pseudonymous, and untraceable edits.
15 |
16 | To all of those people who have contributed and are not listed below, we say two things. Firstly, thank you. Secondly, can you please tell us who you are so that we can give credit where credit is due?
17 |
18 | === Contributors
19 |
20 | The following people have drafted or otherwise directly contributed to text in the current version of the book (and illustrations are by graphic designer Kate Hudson):
21 |
22 | * Gregor Aisch, Open Knowledge Foundation
23 | * Brigitte Alfter, Journalismfund.eu
24 | * David Anderton, Freelance Journalist
25 | * James Ball, the Guardian
26 | * Caelainn Barr, Citywire
27 | * Mariana Berruezo, Hacks/Hackers Buenos Aires
28 | * Michael Blastland, Freelance Journalist
29 | * Mariano Blejman, Hacks/Hackers Buenos Aires
30 | * John Bones, Verdens Gang
31 | * Marianne Bouchart, Bloomberg News
32 | * Liliana Bounegru, European Journalism Centre
33 | * Brian Boyer, Chicago Tribune
34 | * Paul Bradshaw, Birmingham City University
35 | * Wendy Carlisle, Australian Broadcasting Corporation
36 | * Lucy Chambers, Open Knowledge Foundation
37 | * Sarah Cohen, Duke University
38 | * Alastair Dant, the Guardian
39 | * Helen Darbishire, Access Info Europe
40 | * Chase Davis, Center for Investigative Reporting
41 | * Steve Doig, Walter Cronkite School of Journalism, Arizona State University
42 | * Lisa Evans, the Guardian
43 | * Tom Fries, Bertelsmann Stiftung
44 | * Duncan Geere, Wired UK
45 | * Jack Gillum, Associated Press
46 | * Jonathan Gray, Open Knowledge Foundation
47 | * Alex Howard, O’Reilly Media
48 | * Bella Hurrell, BBC
49 | * Nicolas Kayser-Bril, Journalism++
50 | * John Keefe, WNYC
51 | * Scott Klein, ProPublica
52 | * Alexandre Léchenet, Le Monde
53 | * Mark Lee Hunter, INSEAD
54 | * Andrew Leimdorfer, BBC
55 | * Friedrich Lindenberg, Open Knowledge Foundation
56 | * Mike Linksvayer, Creative Commons
57 | * Mirko Lorenz, Deutsche Welle
58 | * Esa Mäkinen, Helsingin Sanomat
59 | * Pedro Markun, Transparência Hacker
60 | * Isao Matsunami, Tokyo Shimbun
61 | * Lorenz Matzat, OpenDataCity
62 | * Geoff McGhee, Stanford University
63 | * Philip Meyer, Professor Emeritus, University of North Carolina at Chapel Hill
64 | * Claire Miller, WalesOnline
65 | * Cynthia O’Murchu, Financial Times
66 | * Oluseun Onigbinde, BudgIT
67 | * Djordje Padejski, Knight Journalism Fellow, Stanford University
68 | * Jane Park, Creative Commons
69 | * Angélica Peralta Ramos, La Nacion (Argentina)
70 | * Cheryl Phillips, The Seattle Times
71 | * Aron Pilhofer, New York Times
72 | * Lulu Pinney, Freelance Infographic Designer
73 | * Paul Radu, Organised Crime and Corruption Reporting Project
74 | * Simon Rogers, the Guardian
75 | * Martin Rosenbaum, BBC
76 | * Amanda Rossi, Friends of Januária
77 | * Martin Sarsale, Hacks/Hackers Buenos Aires
78 | * Fabrizio Scrollini, London School of Economics and Political Science
79 | * Sarah Slobin, Wall Street Journal
80 | * Sergio Sorin, Hacks/Hackers Buenos Aires
81 | * Jonathan Stray, The Overview Project
82 | * Brian Suda, (optional.is)
83 | * Chris Taggart, OpenCorporates
84 | * Jer Thorp, The New York Times R&D Group
85 | * Andy Tow, Hacks/Hackers Buenos Aires
86 | * Luk N. Van Wassenhove, INSEAD
87 | * Sascha Venohr, Zeit Online
88 | * Jerry Vermanen, NU.nl
89 | * César Viana, University of Goiás
90 | * Farida Vis, University of Leicester
91 | * Pete Warden, Independent Data Analyst and Developer
92 | * Chrys Wu, Hacks/Hackers
93 |
94 |
95 | === What This Book Is (And What It Isn’t)
96 |
97 | This book is intended to be a useful resource for anyone who thinks that they might be interested in becoming a data journalist--or just dabbling in data journalism.
98 |
99 | Lots of people have contributed to writing it, and through our editing we have tried to let their different voices and views shine through. We hope that it reads like a rich and informative conversation about what data journalism is, why it is important, and how to do it.
100 |
101 | Lamentably, the act of reading this book will not supply you with a comprehensive repertoire of all the knowledge and skills you need to become a data journalist. This would require a vast library manned by hundreds of experts able to answer questions on hundreds of topics. Luckily this library exists; it is called the Internet. Instead, we hope this book will give you a sense of how to get started and where to look if you want to go further. Examples and tutorials serve to be illustrative rather than exhaustive.
102 |
103 | We count ourselves very lucky to have had so much time, energy, and patience from all of our contributors and have tried our best to use this wisely. We hope that--in addition to being a useful reference source--the book does something to document the passion and enthusiasm, the vision and energy of a nascent movement. The book attempts to give you a sense of what happens behind the scenes, the stories behind the stories.
104 |
105 | _The Data Journalism Handbook_ is a work in progress. If you think there is anything which needs to be amended or is conspicuously absent, then please flag it for inclusion in the next version. It is also freely available under a http://creativecommons.org/licenses/by-sa/3.0/[Creative Commons Attribution-ShareAlike] license, and we strongly encourage you to share it with anyone that you think might be interested in reading it.
106 |
107 | — __Jonathan Gray, Open Knowledge Foundation (@jwyg), Liliana Bounegru, European Journalism Centre (@bb_liliana), and Lucy Chambers, Open Knowledge Foundation (@lucyfedia), March 2012__
108 |
109 |
110 | === The Handbook At A Glance ===
111 |
112 | Infographic impresario Lulu Pinney created this superb poster, which gives an overview of the contents of the Data Journalism Handbook.
113 |
114 | [[FIG2]]
115 | .The handbook at a glance
116 | image::figs/incoming/00-poster.png[width=600]
117 |
--------------------------------------------------------------------------------
/web/_config.yml:
--------------------------------------------------------------------------------
1 | markdown: rdiscount
2 | pygments: true
3 |
--------------------------------------------------------------------------------
/web/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | {{ page.short_title }} - The Data Journalism Handbook
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |