Panama Papers

Diff
Login

Differences From Artifact [255e79b046]:

To Artifact [cbfe8929ed]:


1
2
3
4
5

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
32
33
34
35
36
37

38
39


40
41
42
43
44
45
46
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

24
25
26
27
28
29
30
31
32
33
34
35
36

37
38

39
40
41
42
43
44
45
46
47




-
+


















-
+












-
+

-
+
+







OrderedCollection [
	GrafoscopioNode {
		#header : 'Panama Papers visual explorer',
		#key : '',
		#body : '',
		#body : 'This grafoscopio notebook',
		#children : OrderedCollection [
			GrafoscopioNode {
				#header : 'Quick start',
				#key : '',
				#body : 'This notebook gives you a way to explore a particular visualization using Panama Papers data,
and is a working prototype of reproducible research and data activims.
For a detailed explanation see:

http://mutabit.com/offray/blog/en/entry/panama-papers-1

To explore the notebook select each node at the left and press
the green \"play\" button that will appear above this frame once you 
have selected an executable node.

Start with the node called \"Choropleth Map Quick\".',
				#tags : 'invisible',
				#children : OrderedCollection [
					GrafoscopioNode {
						#header : 'Choropleth Map Quick',
						#header : 'How many offshore by country? (quick)',
						#key : '',
						#body : '\"This visualization runs with a data view that was exported from
the database, so you don\'t need to dowload the full database. 
To execute it, press the green \'play\' button above this frame\"
OffshoreLeaksDB choroplethWorldMapQuick 
',
						#tags : 'c\u00F3digo',
						#children : OrderedCollection [ ],
						#parent : @4,
						#level : 3
					},
					GrafoscopioNode {
						#header : 'Choropleth Map Deep',
						#header : 'How many offshore by country? (deep)',
						#key : '',
						#body : 'Run this steps in order to replicate the data visualization with the full database.',
						#body : 'Run this steps in order to replicate the data visualization with the full database.
Expand this node clicking on the small triangle at the left of this node\'s name.',
						#children : OrderedCollection [
							GrafoscopioNode {
								#header : 'Download and install the database engine (SQLite)',
								#key : '',
								#body : 'You will need to download and install for your particular platform (Windows, Mac, Gnu/Linux)
to query directly the data.
This part is not made automatically and we are making some  advances there,
58
59
60
61
62
63
64
65

66
67

68
69
70
71
72
73
74

75
76
77
78

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100








101
102
103
104
105




























106
107
108
109
110
111
112





113
114
115
116
117
118
119
120
121
122









123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140




141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
59
60
61
62
63
64
65

66
67

68
69
70
71
72
73
74

75
76



77









78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98





99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128





129
130
131
132
133
134









135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157




158
159
160
161








162
163
164
165
166
167
168







-
+

-
+






-
+

-
-
-
+
-
-
-
-
-
-
-
-
-













+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


-
-
-
-
-
+
+
+
+
+

-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+














-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-







								#body : 'OffshoreLeaksDB downloadDatabase ',
								#tags : 'c\u00F3digo',
								#children : OrderedCollection [ ],
								#parent : @8,
								#level : 4
							},
							GrafoscopioNode {
								#header : 'Run the visualization',
								#header : 'Unzip database',
								#key : '',
								#body : 'OffshoreLeaksDB choroplethWorldMapFull ',
								#body : 'OffshoreLeaksDB unzipDatabase',
								#tags : 'c\u00F3digo',
								#children : OrderedCollection [ ],
								#parent : @8,
								#level : 4
							},
							GrafoscopioNode {
								#header : 'Updating',
								#header : 'Run the visualization',
								#key : '',
								#body : '\"To update the code for the Panama Paper project and
its notebooks run:\"

								#body : 'OffshoreLeaksDB choroplethWorldMapFull ',
GrafoscopioBrowser updateDataviz.
GrafoscopioBrowser updateGrafoscopio.

\"And remember to visit the projects repositories for
last information at:

- http://mutabit.com/repos.fossil/panama-papers
- http://mutabit.com/repos.fossil/grafoscopio
\"',
								#tags : 'c\u00F3digo',
								#children : OrderedCollection [ ],
								#parent : @8,
								#level : 4
							},
							GrafoscopioNode {
								#header : 'Dive into the live coding environment',
								#key : '',
								#body : 'OffshoreLeaksDB class browse',
								#tags : 'c\u00F3digo',
								#children : OrderedCollection [ ],
								#parent : @8,
								#level : 4
							}
						],
						#parent : @4,
						#level : 3
					}
				],
				#parent : @2,
				#level : 2
							},
							GrafoscopioNode {
								#header : 'Reach and Limits',
								#key : '',
								#body : 'Each model has its limitations and this is not the exception.
			},
			GrafoscopioNode {
				#header : 'Updating',
				#key : '',
				#body : '\"To update the code for Grafoscopio run:\"

GrafoscopioBrowser updateDataviz.
GrafoscopioBrowser updateGrafoscopio.

\"For updating the main documentatio run:\"

OffshoreLeaksDB updateIntroNotebook.

\"And remember to visit the projects repositories for
last information at:

- http://mutabit.com/repos.fossil/panama-papers
- http://mutabit.com/repos.fossil/grafoscopio
\"',
				#tags : 'c\u00F3digo',
				#children : OrderedCollection [ ],
				#parent : @2,
				#level : 2
			},
			GrafoscopioNode {
				#header : 'Reach and Limits',
				#key : '',
				#body : 'Each model has its limitations and this is not the exception.
The children nodes here explain wich are the limits and reach
of this visualization',
								#children : OrderedCollection [
									GrafoscopioNode {
										#header : 'Database metrics',
										#key : '',
										#body : '\"To know the total amount of records in each table run:\"
				#children : OrderedCollection [
					GrafoscopioNode {
						#header : 'Database metrics',
						#key : '',
						#body : '\"To know the total amount of records in each table run:\"
OffshoreLeaksDB databaseMetrics',
										#tags : 'c\u00F3digo',
										#children : OrderedCollection [ ],
										#parent : @20,
										#level : 5
									},
									GrafoscopioNode {
										#header : 'Unmapped territories',
										#key : '',
										#body : '\"Not all territories mentioned in Panama Papers are in the visualization.
						#tags : 'c\u00F3digo',
						#children : OrderedCollection [ ],
						#parent : @22,
						#level : 5
					},
					GrafoscopioNode {
						#header : 'Unmapped territories',
						#key : '',
						#body : '\"Not all territories mentioned in Panama Papers are in the visualization.
This node shows the discrepancies.

Hightlight each line and 
- Print it (press \'ctrl p\' or \'cmd p\')
- or execute it: (press \'ctrl g\' or \'cmd g\')\"

\"Original countries in Roassal:\"
(RTSVGPath class allSelectorsInProtocol: #countries) size.

\"Countries in the Panama Papers SVG Map:\"
OffshoreLeaksDB mappedTerritories.

\"Ummaped territories:\"
OffshoreLeaksDB unmappedTerritories.',
										#tags : 'c\u00F3digo',
										#children : OrderedCollection [ ],
										#parent : @20,
										#level : 5
						#tags : 'c\u00F3digo',
						#children : OrderedCollection [ ],
						#parent : @22,
						#level : 5
									}
								],
								#parent : @8,
								#level : 4
							}
						],
						#parent : @4,
						#level : 3
					}
				],
				#parent : @2,
				#level : 2
			},
			GrafoscopioNode {
				#header : 'Appendix',
260
261
262
263
264
265
266
267

268
269
270
271
272
273
274
273
274
275
276
277
278
279

280
281
282
283
284
285
286
287







-
+







Foundation community space for that.',
								#children : OrderedCollection [
									GrafoscopioNode {
										#header : '%embed offshores-worldmap',
										#key : '',
										#body : '',
										#children : OrderedCollection [ ],
										#parent : @30,
										#parent : @32,
										#level : 3
									},
									GrafoscopioNode {
										#header : 'mapas de base',
										#key : '',
										#body : 'This notebook part shows how the example visualization was done.
I started with a prebuild [example visualization for world population](https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/BuilderComposition/0204-BuilderComposition.html#compoWorldPopulation) 
286
287
288
289
290
291
292
293

294
295
296
297
298
299
300
301
302
303
304
305
306
307
308

309
310
311
312
313
314
315
316
317
318

319
320
321
322
323
324
325
326
327
328

329
330
331
332
333
334
335
336
337

338
339
340
341

342
343
344
345

346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366

367
368
369
370

371
372
373
374
375
376
377
299
300
301
302
303
304
305

306
307
308
309
310
311
312
313
314
315
316
317
318
319
320

321
322
323
324
325
326
327
328
329
330

331
332
333
334
335
336
337
338
339
340

341
342
343
344
345
346
347
348
349

350
351
352
353

354
355
356
357

358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378

379
380
381
382

383
384
385
386
387
388
389
390







-
+














-
+









-
+









-
+








-
+



-
+



-
+




















-
+



-
+







												#body : 'Gofer it
\tsmalltalkhubUser: \'TorstenBergmann\' project: \'UDBC\';
\tconfiguration;
\tload.
(Smalltalk at: #ConfigurationOfUDBC) loadBleedingEdge',
												#tags : 'c\u00F3digo',
												#children : OrderedCollection [ ],
												#parent : @34,
												#parent : @36,
												#level : 3
											},
											GrafoscopioNode {
												#header : 'Profiling',
												#key : '',
												#body : '\"[RTSVGPath countries collect: [ :currentCountry | PanamaPapers totalOffshoresFor: currentCountry ]] timeToRun.  185 segs\"
\"[PanamaPapers totalOffshoresByCountry] timeToRun --> 1 seg\"
\"[PanamaPapers countriesWithOffshores] timeToRun  --> 1 seg\"
\"[PanamaPapers totalOffshoresFor: \'Chile\'] timeToRun --> 1 seg\"
\"[PanamaPapers totalOffshoresByCountry detect: [ :entry | (entry at: \'country_name\') = \'Chile\' ]] timeToRun --> 1 seg\"
\"[PanamaPapers worldMap] timeToRun --> 301 seg, before optimization\"
\"[PanamaPapers worldMap] timeToRun --> 186 seg, after optimization\"',
												#tags : 'c\u00F3digo',
												#children : OrderedCollection [ ],
												#parent : @34,
												#parent : @36,
												#level : 3
											},
											GrafoscopioNode {
												#header : 'Bordes de territorios',
												#key : '',
												#body : '  - [Kartograph](http://wiki.openstreetmap.org/wiki/Kartograph).
  - [Guernsey vs jersey](https://www.wolframalpha.com/input/?i=Guernsey+vs+jersey).
  - [Macau](https://upload.wikimedia.org/wikipedia/commons/3/39/Macau_locator_map.svg)',
												#children : OrderedCollection [ ],
												#parent : @34,
												#parent : @36,
												#level : 3
											},
											GrafoscopioNode {
												#header : 'Panama Papers countries  not present in RTSVGPath',
												#key : '',
												#body : 'PanamaPapers countriesWithOffshores reject: [:eachCountry | 
RTSVGPath countries includes: (eachCountry copyWithout: Character space) ]',
												#tags : 'c\u00F3digo',
												#children : OrderedCollection [ ],
												#parent : @34,
												#parent : @36,
												#level : 3
											},
											GrafoscopioNode {
												#header : 'Countries not present in the Panama Papers',
												#key : '',
												#body : 'RTSVGPath countries select: [ :currentCountry | (PanamaPapers totalOffshoresFor: currentCountry) = nil ]',
												#tags : 'c\u00F3digo',
												#children : OrderedCollection [ ],
												#parent : @34,
												#parent : @36,
												#level : 3
											}
										],
										#parent : @30,
										#parent : @32,
										#level : 3
									}
								],
								#parent : @28,
								#parent : @30,
								#level : 3
							},
							GrafoscopioNode {
								#header : 'Draft alternative 1',
								#key : '',
								#body : 'i belive is a platform particularly suited for reproducible research, exploratory computing and live coding, because it provides a unique continuous experience between data, development environment, interactive documentation, and application. so you can explore a domain/problem and share your insights to let others dive into them. ',
								#children : OrderedCollection [
									GrafoscopioNode {
										#header : 'Possible ending',
										#key : '',
										#body : 'At the beginning of this month (April 3rd), what is called as the biggest leak in history and know as the Panama Papers, 
was revealed and the first batch of public data was released to the public.
At the beginning of the next one (May 9th) the second batch of data will be released.

May be you read your favorite papers coverage on this issue, but at some point you 
and future readers surely will geta panoramic view of whats happening, with the 
[Wikipedia page on Panama Papers](https://en.wikipedia.org/wiki/Panama_Papers).
As all encyclopedias, this is a secondary source, but this article points to almost 400 external
sources to backup its claims, and gives a world map:',
										#children : OrderedCollection [ ],
										#parent : @46,
										#parent : @48,
										#level : 3
									}
								],
								#parent : @28,
								#parent : @30,
								#level : 2
							},
							GrafoscopioNode {
								#header : '%idea Final draft > Panama Papers: a case for reproducible research, data activism and frictionless data ',
								#key : '',
								#body : '---
layout: post
424
425
426
427
428
429
430
431

432
433
434
435
436
437
438
437
438
439
440
441
442
443

444
445
446
447
448
449
450
451







-
+







complement, enhance and criticize it.
The question I will address is: what could be done to make the Panama Papers research bridge 
the previous reproducibility and participation gap, specially regarding \"data artifacts\" 
(tables, queries, visualization, code)?
That is the focus of the next section, taking into account the experience of working with what 
has been released until now to produce the map and then finishing some future scenarios.',
										#children : OrderedCollection [ ],
										#parent : @50,
										#parent : @52,
										#level : 4
									},
									GrafoscopioNode {
										#header : 'An environment for reproducible participary research',
										#key : '',
										#body : 'Data provenance is a formal way to answer *where this data representation comes from*?
Taken in a broader sense, the question can refer to a table, a query answer, a data visualization.
477
478
479
480
481
482
483
484

485
486
487
488
489
490
491
490
491
492
493
494
495
496

497
498
499
500
501
502
503
504







-
+







												#header : '%footnote privacy-freedom-balance',
												#key : '',
												#body : 'International Consortium of Investigative Journalist (ICIJ) has
chosen a multi-release strategy to curate the data and to keep the balance between
freedom of important information and protection of sensible personal information (like email
and phisical addresses).',
												#children : OrderedCollection [ ],
												#parent : @54,
												#parent : @56,
												#level : 5
											},
											GrafoscopioNode {
												#header : 'Frictionless (meta)data',
												#key : '',
												#body : '(https://offshoreleaks.icij.org/about/download)

529
530
531
532
533
534
535
536

537
538
539
540
541
542
543
544
545
546
547
548
549
550

551
552
553
554

555
556
557
558
559
560
561
542
543
544
545
546
547
548

549
550
551
552
553
554
555
556
557
558
559
560
561
562

563
564
565
566

567
568
569
570
571
572
573
574







-
+













-
+



-
+







The technology stack that ICIJ is using is pretty solid and pretty complicated, as 
[you can see](https://panamapapers.icij.org/blog/20160425-data-tech-team-ICIJ.html).
Could an alternative technology stack empower citizens, individuals and small entities to
work with the data? 
The example of the choropleth map shows this is possible.
Next section will deal with the details.',
												#children : OrderedCollection [ ],
												#parent : @54,
												#parent : @56,
												#level : 5
											},
											GrafoscopioNode {
												#header : 'Data continuoum environment: data <-> queries <-> code <-> visuals',
												#key : '',
												#body : 'Bulding a affordable continous environment for reproducible research (and data activism), 
that blends data, code, dev environment and tools and interactive documentation in a fluid, explorable,
modifiable and traceable way is part of the goal that I showcase in a separate project
below, which is still in alpha status (click in the image or its description to know the details):
I\'ll talk here about what makes this possible now and what needed.

[Panama Papers Page]',
												#children : OrderedCollection [ ],
												#parent : @54,
												#parent : @56,
												#level : 5
											}
										],
										#parent : @50,
										#parent : @52,
										#level : 4
									},
									GrafoscopioNode {
										#header : 'What\'s next: data activism tools, practices & citizen partnerships to keep the powerful accountable.',
										#key : '',
										#body : 'On an small scale this is what I will focus next:

588
589
590
591
592
593
594
595

596
597
598
599

600
601
602
603

604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620

621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638

639
640
641
642

643
644
645
646

647
648
649
650
651
652
653
654
655
656
657
658
659
660
661

662
663
664
665
666
667
668
601
602
603
604
605
606
607

608
609
610
611

612
613
614
615

616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632

633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650

651
652
653
654

655
656
657
658

659
660
661
662
663
664
665
666
667
668
669
670
671
672
673

674
675
676
677
678
679
680
681







-
+



-
+



-
+
















-
+

















-
+



-
+



-
+














-
+







with the goverment and hopefully with their support for a more just and equitative society.
Technology could play an important role in this escenario, but only if it enables us to participate
in a plural understanding and building of this shared complex world we inhabit, that is
mediated by data.

%% Open Data needs jornalism?',
										#children : OrderedCollection [ ],
										#parent : @50,
										#parent : @52,
										#level : 4
									}
								],
								#parent : @28,
								#parent : @30,
								#level : 3
							}
						],
						#parent : @26,
						#parent : @28,
						#level : 2
					},
					GrafoscopioNode {
						#header : 'Others',
						#key : '',
						#body : 'Notes for alternative stuff I was working on while making the Panama Papers reproducible data visualization.',
						#children : OrderedCollection [
							GrafoscopioNode {
								#header : 'Installing Spec Glamour Binding',
								#key : '',
								#body : 'Gofer it
    smalltalkhubUser: \'jfabry\' project: \'Playground\';
\t package: \'Spec-Glamour\';
    load',
								#tags : 'c\u00F3digo',
								#children : OrderedCollection [ ],
								#parent : @64,
								#parent : @66,
								#level : 3
							},
							GrafoscopioNode {
								#header : 'PublishedMedInfo',
								#key : '',
								#body : '',
								#children : OrderedCollection [
									GrafoscopioNode {
										#header : 'Viaualizaci\u00F3n de pruebas sobre moose 6.x',
										#key : '',
										#body : '| dataFile medInfo  | 
dataFile := FileLocator documents asFileReference / \'Grafoscopio\' / \'Projects\' / \'InfoMed\' / \'DataAndVisuals\' / \'rituximab-data-sunburst.csv\'.
medInfo := PublishedMedInfo new loadDataFromCSV: dataFile usingDelimiter: $;.
medInfo arcWidth: 16.
medInfo matrixSunburstForAdminDataByCountry',
										#tags : 'c\u00F3digo',
										#children : OrderedCollection [ ],
										#parent : @68,
										#parent : @70,
										#level : 2
									}
								],
								#parent : @64,
								#parent : @66,
								#level : 3
							}
						],
						#parent : @26,
						#parent : @28,
						#level : 2
					}
				],
				#parent : @2,
				#level : 2
			}
		],
		#parent : GrafoscopioNode {
			#header : 'Arbol principal',
			#key : '',
			#body : '',
			#children : @1,
			#level : 0,
			#nodesInPreorder : OrderedCollection [
				@72,
				@74,
				@2,
				@4,
				@6,
				@8,
				@10,
				@12,
				@14,
689
690
691
692
693
694
695
696


697
698
699
700
701
702
703
704
705
706
707
708

709
710
711
712
713
714
715







-
+
+





				@56,
				@58,
				@60,
				@62,
				@64,
				@66,
				@68,
				@70
				@70,
				@72
			]
		},
		#level : 1
	}
]