Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mejorando el periodismo con Ruby
Search
dcabo
October 30, 2014
Programming
0
590
Mejorando el periodismo con Ruby
Charla en Madrid.rb el 30 de Octubre de 2014.
Grabación disponible en
http://vimeo.com/111778599
dcabo
October 30, 2014
Tweet
Share
More Decks by dcabo
See All by dcabo
Open Data y Transparencia
dcabo
0
69
Reutilización de datos y transparencia
dcabo
3
340
Preparando datos para su análisis
dcabo
0
580
Intro a Google Refine
dcabo
0
640
Beyond FOIA (FOIA and Technology)
dcabo
1
84
Open Data y Transparencia
dcabo
0
190
¿Dónde van mis impuestos?
dcabo
3
230
Casos prácticos de la reutilización de datos públicos
dcabo
2
130
Against the Spanish odds (the techie side)
dcabo
3
260
Other Decks in Programming
See All in Programming
AI Agent 時代的開發者生存指南
eddie
4
2.3k
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
450
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
4
790
KoogではじめるAIエージェント開発
hiroaki404
1
300
CSC305 Lecture 12
javiergs
PRO
0
250
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
220
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
2
370
CSC305 Lecture 13
javiergs
PRO
0
350
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
0
430
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
250
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Building Adaptive Systems
keathley
44
2.8k
Why Our Code Smells
bkeepers
PRO
340
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
How to Ace a Technical Interview
jacobian
280
24k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
mejorando el periodismo con ruby (…y datos abiertos, transparencia
y periodismo de datos) David Cabo @dcabo
periodismo tertuliano
Open data / datos abiertos - disponible online, gratuita -
procesable por ordenadores - licencia abierta, reutilizable
data-hype “Data is the 21st century’s new raw material”, francis
maude, minister for uk cabinet office.
“Data is the new coal — abundant, dirty and difficult
to mine.”, someone on the internet, after using data. data-reality
None
None
None
None
¿open data? en datos.gob.es
None
registros de visitas en data.gov
influenceexplorer.com
None
los datos no dicen nada
hacen falta periodistas “People don’t consume facts. They consume stories.”,
clay shirky.
un mapa no es una historia
million dollar blocks
periodistas + informáticos + diseñadores + estadísticos
+ ...
all the code that’s fit to printf()
new kids on the block
None
the cool kids are doing it
escarbando en el boe
None
None
None
None
None
None
making of… expresiones regulares: “tenías un problema, ahora tienes dos”
None
title =~ /([Dd]on|[Dd]oña)/ prefix = $1 gender = prefix.index("ñ") ?
‘M’ : ‘H’ Expresiones regulares en ruby
None
None
¿dónde está el contexto?
dondevanmisimpuestos.es
making of… parseando html con nokogiri
None
None
None
None
regex + html => all is lost
doc = Nokogiri::HTML(open(filename)) rows = doc.css('table.S0ESTILO9 tr’) rows.each do |row|
columns = row.css(‘td') .map{|td| td.text.strip} amount = columns[4] … end nokogiri
quienmanda.es
reuniones ‘discretas’ “SI ALGUIEN QUIERE TENER UNA REUNIÓN discreta CONMIGO,
YO LA TENGO”, mariano rajoy, 18 de abril del 2013, en el congreso.
el mundo es un pañuelo
artículos de fondo
None
None
None
automate what you can
making of… mechanize: “no es país para rest”
None
agent = Mechanize.new page = agent.get(company_page_url) board_link = page.link_with(:text =>
/Consejo/) board_html = board_link.click.content # Use nokogiri to get the data mechanize
bola extra: bellingcat, storyful…
¿preguntas? @dcabo