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
330
Preparando datos para su análisis
dcabo
0
530
Intro a Google Refine
dcabo
0
630
Beyond FOIA (FOIA and Technology)
dcabo
1
83
Open Data y Transparencia
dcabo
0
190
¿Dónde van mis impuestos?
dcabo
3
220
Casos prácticos de la reutilización de datos públicos
dcabo
2
130
Against the Spanish odds (the techie side)
dcabo
3
250
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
180
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
2.9k
漸進。
ssssota
0
1.8k
Perlで痩せる
yuukis
1
680
Using AI Tools Around Software Development
inouehi
0
1.1k
ワンバイナリWebサービスのススメ
mackee
10
7.7k
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
300
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
150
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
900
SODA - FACT BOOK
sodainc
1
770
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
750
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
950
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
890
Adopting Sorbet at Scale
ufuk
77
9.4k
The Language of Interfaces
destraynor
158
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
YesSQL, Process and Tooling at Scale
rocio
172
14k
Six Lessons from altMBA
skipperchong
28
3.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
680
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
910
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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