Mejorando el periodismo con Ruby

582c3149594a35cbff558b815db651c5?s=47 dcabo
October 30, 2014

Mejorando el periodismo con Ruby

Charla en Madrid.rb el 30 de Octubre de 2014.

Grabación disponible en http://vimeo.com/111778599

582c3149594a35cbff558b815db651c5?s=128

dcabo

October 30, 2014
Tweet

Transcript

  1. mejorando el periodismo
 con ruby (…y datos abiertos, 
 transparencia

    y
 periodismo de datos) David Cabo @dcabo
  2. periodismo tertuliano

  3. Open data / datos abiertos - disponible online, gratuita -

    procesable por ordenadores - licencia abierta, reutilizable
  4. data-hype “Data is the 21st century’s new raw material”, francis

    maude, minister for uk cabinet office.
  5. “Data is the new coal — abundant, dirty and difficult

    to mine.”, someone on the internet, after using data. data-reality
  6. None
  7. None
  8. None
  9. None
  10. ¿open data? en datos.gob.es

  11. None
  12. registros de visitas en data.gov

  13. influenceexplorer.com

  14. None
  15. los datos no dicen nada

  16. hacen falta periodistas “People don’t consume facts. They consume stories.”,

    clay shirky.
  17. un mapa no es una historia

  18. million dollar blocks

  19. periodistas 
 +
 informáticos 
 +
 diseñadores
 +
 estadísticos 


    +
 ...
  20. all the code that’s fit to printf()

  21. new kids on the block

  22. None
  23. the cool kids are doing it

  24. escarbando en el boe

  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. making of… expresiones regulares: “tenías un problema, ahora tienes dos”

  32. None
  33. title =~ /([Dd]on|[Dd]oña)/ prefix = $1 gender = prefix.index("ñ") ?

    ‘M’ : ‘H’ Expresiones regulares en ruby
  34. None
  35. None
  36. ¿dónde está el contexto?

  37. dondevanmisimpuestos.es

  38. making of… parseando html con nokogiri

  39. None
  40. None
  41. None
  42. None
  43. regex + html => all is lost

  44. 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
  45. quienmanda.es

  46. reuniones ‘discretas’ “SI ALGUIEN QUIERE TENER UNA REUNIÓN discreta CONMIGO,

    YO LA TENGO”, mariano rajoy, 18 de abril del 2013, en el congreso.
  47. el mundo es un pañuelo

  48. artículos de fondo

  49. None
  50. None
  51. None
  52. automate what you can

  53. making of… mechanize: 
 “no es país para rest”

  54. None
  55. 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
  56. bola extra: bellingcat, storyful…

  57. ¿preguntas? @dcabo