Por amor al código Code snippets y reflexiones sobre tecnología

Listado de papers interesantes

Había pensado escribir sobre estos papers poco a poco, pero la lista crece y solo he escrito sobre uno de ellos, así que he decidido poner la lista en el blog para al menos tener un registro de los papers que más me han marcado y a los que quiero poder volver en algún momento. Si alguien quiere comentar alguno estaré encantado de hacerlo por twitter o github. Crea un issue y yo responderé en cuanto pueda y añadiré aquí el enlace a modo de hilo de comentarios.

El listado no tiene ningún orden particular, todos me parecen grandes ideas, unos son largos otros apenas dos páginas. Unos muy técnicos, otros más filosóficos…

  • Should computers learn like humans?

  • Yedalog: exploring knowledge at scale

  • Meta-Interpretive Learning from noisy images

  • Worlds, Alan kay ver también http://www.vpri.org/pdf/tr2008003_experimenting.pdf para una implementación en JS (2008)

  • Cargo Cult Science de Feynman

  • Upgrade your cargo cult for the win (relacionado con el anterior)

  • The Humble programmer de Dijkstra

  • On Building systems that will fail de Corbato

  • Programming your own computer, by Alan Kay

  • Natural Language Input for a Computer Problem Solving System

  • A Few Useful Things to Know about Machine Learning

  • Modeling Curiosity in a Mobile Robot for Long-Term Autonomous Exploration and Monitoring

  • Computers Are Social Actors y un estudio que ahonda en este tema diferenciando el medio: Social Responses to Computers in Cloud Computing Environment: The Importance of Source Orientation

  • Hexastore: Sextuple Indexing for Semantic Web Data Management, comentado por el creador de Redis aquí: https://redis.io/topics/indexes#representing-and-querying-graphs-using-an-hexastore

  • Elephants don’t play chess

  • On the Origin of Deep Learning

  • Número de la revista Arbor del CSIC sobre Alan Turing, incluye el ensayo de Bruce Wilcox sobre suzzette

  • Out of the tarpit Y mi reseña sobre este paper aquí

  • A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World Genial paper sobre los problemas de escalar un producto a un público amplio y sobre lenguajes de programación. Los autores desarrollaron un sistema de analisis estático de errores quw funcionaba bastante bien en el laboratorio tomando algunos repositorios grandes de código abierto como el del kernel de linux. Al comercializar el producto se enfrentaron a toda una nueva categoria de problemas. Cada cliente tenia un metodo de build diferente y usaba un compilador de C diferente.

    “How do we run your tool?”

    “Just type ‘make’ and we’ll rewrite its output.”

    “What’s ‘make’? We use ClearCase.”

    “Uh, What’s ClearCase?”

    Otra gran cita que resume no solo el problema que tenian con el analisis estatico sino el problema del desarrollo software en general:

    You can’t check code you can’t parse. Checking code deeply requires understanding the code’s semantics. The most basic requirement is that you parse it. Parsing is considered a solved problem. Unfortunately, this view is naïve, rooted in the widely believed myth that programming languages exist.

  • On the concecuences of literacy