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
540
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
220
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
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
460
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
🔨 小さなビルドシステムを作る
momeemt
4
680
Design Foundational Data Engineering Observability
sucitw
3
200
Namespace and Its Future
tagomoris
6
700
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
530
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
600
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
160
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.5k
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
Featured
See All Featured
It's Worth the Effort
3n
187
28k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Optimizing for Happiness
mojombo
379
70k
Statistics for Hackers
jakevdp
799
220k
Designing Experiences People Love
moore
142
24k
Practical Orchestrator
shlominoach
190
11k
Producing Creativity
orderedlist
PRO
347
40k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
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