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
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
250
Other Decks in Programming
See All in Programming
技術同人誌をMCP Serverにしてみた
74th
1
660
VS Code Update for GitHub Copilot
74th
2
660
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
0
130
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
19k
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
260
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
600
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
10
6k
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
510
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
230
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
160
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Typedesign – Prime Four
hannesfritz
42
2.7k
Thoughts on Productivity
jonyablonski
69
4.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Being A Developer After 40
akosma
90
590k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Writing Fast Ruby
sferik
628
62k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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