Gratis
Muy interesante el debate entre Malcolm Gladwell y Chris Anderson sobre la economía basada en lo gratuito. Chris Anderson, autor del famoso libro Long Tail y editor de la revista Wired, está a punto de publicar un nuevo libro: Free. Malcolm Gladwell, autor de libros como blink, o outliers -versión en español-, columnista del New Yorker y aclamado conferenciante, hace una reseña de este nuevo libro.
Para Anderson la tendencia hacia lo gratuito es imparable. El coste de los tres elementos fundamentales de la economía digital — almacenamiento, procesamiento y ancho de banda — es cada vez es más cercano a cero. Esta tendencia conducirá a un nuevo mercado, el mercado de lo gratuito, que tendrá sus propias reglas y características bien diferenciadas del mercado actual y que dominará el futuro.
Gladwell se centra en un mundo que conoce muy bien, el periodismo, para rebatir los planteamientos de Anderson. La economía basada en lo gratuito será un mercado más, pero no el único ni el más relevante. Uno de los problemas de la economía de lo gratis es el exceso y la poca calidad de los contenidos. Un ejemplo es YouTube y los problemas que Google está teniendo para obtener beneficios con el servicio. Un contraejemplo que propone Gladwell a la tesis de Anderson es el éxito de las aplicaciones para el iphone en el App Store de Apple. Se trata de ideas que se venden a bajo precio y que generan una importante cantidad de beneficios económicos (para Apple y para los desarrolladores).
El compromiso como modelo de negocio
En mi opinión, un elemento muy importante de este debate es el compromiso. Cuando alguien se descarga gratis una canción, un programa o un libro, no puede esperar ningún tipo de compromiso ni de garantía del autor/empresa/editorial que ha originado ese producto. Usas el producto y después lo tiras. Cuando alguien se subscribe a un blog (gratuitamente) no puede esperar ningún compromiso de regularidad ni de dedicación del escritor.
Ahora bien, cuando se paga por algo, aunque sea 99 céntimos como en los programitas del iPhone, se pasa a ser un usuario de un producto. El precio que se ha pagado acredita al cliente ante la empresa o autor que lo ha desarrollado. Si la empresa es buena, cuidará a sus clientes y planteará sus productos como servicios. Querrá dejarles satisfechos, porque su supervivencia depende de que los clientes continúen consumiendo. Si se fomenta la idea del dinero como una garantía de compromiso, el cliente pagará porque estará interesado en mantener actualizado su producto, acceder a mejoras y, a largo plazo, contribuir a que la empresa o el autor continúe haciendo productos como el que ha comprado.
Hace unas semanas me compré la aplicación Myst para el iPod Touch. No es de las más baratas, cuesta 5 €. La semana pasada apareció un icono en la pantallita indicándome que estaba disponible una actualización que mejoraba ciertas características y arreglaba algunos bugs. Pulsé y obtuve gratis la nueva versión. Dentro de unos meses, seguro que sacan alguna de las secuelas de la historia. A esto me refiero. A quedarte satisfecho porque tu dinero sirve para que se siga desarrollando un producto que aprecias.
Processing
Processing es un lenguaje de programación relativamente nuevo, que se está extendiendo a gran velocidad entre artistas (link, link, link), arquitectos y aficionados.
Está basado en Java y su gracia reside en lo fácil que es desarrollar programas gráficos interactivos. No hay que incluir ninguna librería en el código fuente, ni usar Swing, ni definir clases que atrapen los eventos. Tan sólo hay que llamar a funciones gráficas como rect, line o ellipse para hacer dibujos. Y a funciones como draw() o mousePressed() para definir qué hay que dibujar en la pantalla o qué hacer cuando se pincha el ratón.
Un ejemplo de código (sacado del libro Learning Processing) para hacer un programa que captura el movimiento del ratón y dibuja continuamente en pantalla:

void setup() {
size(200, 200);
background(255);
smooth();
}
void draw() {
stroke(0);
// Draw a line from previous mouse location to current mouse location.
line(pmouseX, pmouseY, mouseX, mouseY);
}
Hay bastantes libros y tutoriales para empezar a programar en Processing. Hay alguno en la biblioteca de la EPS, pero pediré alguno más. Avisaré cuando lleguen.
Los ingenieros informáticos sí programan
En estos meses que hemos estado diseñando el nuevo plan de estudios de Ingeniería Informática he oído más de una vez eso de “un ingeniero no debe programar”. Supongo que lo dicen porque la palabra “programar” tiene mala prensa: picar código hora tras hora encerrado en un cubículo.
No estoy en de acuerdo en absoluto. La programación (la buena) es un arte y un oficio. Implica dominar y usar múltiples niveles de abstracción y construir continuamente nuevas abstracciones. El buen programador/desarrollador encuentra retos y posibilidades donde otros no ven más que tareas repetitivas y tediosas. En lugar de reescribir mil y una variantes de la misma aplicación desarrolla un framework que después puede parametrizar o utiliza MDA, o investiga y reutiliza soluciones de otros.
Los ingenieros informáticos SÍ programan. Y lo hacen inventando, desarrollando, probando, trabajando en equipo, comunicándose y colaborando.
Una cita de Bjarne Stroustrup (el diseñador de C++), tomada de su artículo Programming in an undergraduate CS curriculum:
Programming obviously isn’t all there is to CS, however popular that misconception is among many people in the wider community. In fact, few tasks in software can be done well without a reasonable knowledge of algorithms, data structures, and machine architecture. For many tasks, we must add operating systems, networking, human-computer interfaces, graphics, and/or security to the requirements. And what about theory, compilers, math, etc.?
I find that CS professors often overreact to the inaccurate popular image of the software developer as a lonely guy with “no life” hacking code all night. To counter, they cry “Computer Science is not programming!” That’s true of course, but that reaction can lead to a serious weakening of programming skills as some adopt the snobbish attitude “we don’t teach programming; we teach computer science” and leave practical software development skills untaught.
Ingenieros arrepentidos
Acabo de leer (gracias Juan Antonio y Bea) el artículo “Ingenieros arrepentidos” que ha escrito Manuel Ángel Méndez en El País (la Universidad de Alicante tiene la versión original escaneada en una nota de prensa: página 1 y página 2). El artículo es un remix de informáticos cabreados por su trabajo, creativos que se dan cuenta de que lo suyo no es la Informática sino las Bellas Artes y alguna que otra estadística oficial.
Una cosa bastante criticable del artículo es que, si se mira con detalle, no se entrevista a ningún titulado de Informática. Hay tres o cuatro informáticos que han hecho Telecomunicaciones, otro Física y el último (ese sí) un módulo de FP de grado medio. También se da la opinión de la patronal de las tecnológicas, AETIC (no los conocía; he hecho un par de búsquedas en Google y me salen enlaces como GAPTEL, Red.es, ontsi y otros grupos del Minsterio de Industria).
Dejando al margen estas cuestiones, me interesa resaltar del artículo su parte más positiva: la visión de unos informáticos que, cansados de un trabajo que no les satisface, destapan su carácter emprendedor y montan su propio negocio. Gente así es la que hace falta ahora. Jóvenes que se arriesgan y que prueban nuevas alternativas. Hace poco, Martín Pérez comentaba algo parecido en su blog: el mundo no es para estudiar, es para probar. La parte negativa (trabajos mal pagados, aburridos, sin formación ni proyección) es aplicable a cualquier profesión y no sólo a la informática. Muestra el penoso panorama de algunas empresas y empresarios españoles, preocupados sólo de hacer dinero fácil y sin ningún interés en innovar ni motivar a sus empleados.
Empleos en informática INE Febrero 2009

Según el último informe del Instituto Nacional de Estadística sobre la evolución del sector de servicios en el mes de febrero de 2009, la informática es una de las pocas actividades en las que no se pierde empleo.
En concreto, la cifra de empleados en el sector se refleja en el índice mensual de personal ocupado, bajo el epígrafe Tecnologías de la Información. El índice absoluto (con base en el 2005) y la variación relativa con respecto a febrero de 2008 de los distintos sectores en los que clasifica el INE las actividades de este epígrafe muestra claramente la evolución positiva del sector informático.
Tecnologías de la Información
- Edición: 99,1 (índice absoluto), -3,8 (variación febrero 2008)
- Actividades cinematográficas y edición musical: 97,6 (índice absoluto), -8,1 (variación febrero 2008)
- Programación y emisión de radio y televisión: 103,1 (índice absoluto), 0,3 (variación febrero 2008)
- Telecomunicaciones: 91,5 (índice absoluto), -2,2 (variación febrero 2008)
- Programación y consultoría informática: 116,9 (índice absoluto), 1,5 (variación febrero 2008)
- Servicios de información: 110,3 (índice absoluto), 1,8 (variación febrero 2008)
La importancia de estos índices es aun mayor si los comparamos con otros sectores de servicios. En concreto, el índice de empleo medio es del 98,3 (índice absoluto) y de -5,9 (variación febrero 2008).
Barbara Liskov gana el Premio Turing de la ACM
La investigadora Barbara Liskov ha sido galardonada con el Premio Turing 2008 de la ACM.
El Premio Turing es el premio más prestigioso en el campo de la Computación (el equivalente al Nóbel), y es concedido por la ACM a personas individuales que hayan realizado contribuciones relevantes y de importancia histórica en el campo. Entre las personas que han recibido previamente el premio se encuentran personajes de la talla de Edsger Dijkstra, Donald Knuth, Ivan Sutherland o Alan Kay. La dotación económica del premio es de $250.000. El nombre del premio se estableció en memoria del gran matemático inglés Alan Turing, que estableció los fundamentos y límites de la computación, y que tuvo un papel clave en el proyecto aliado que durante la Segunda Guerra consiguió romper las claves de los cifradores alemanes Enigma.
En el caso de Barbara Liskov (traduzco textualmente la nota de prensa de la ACM), su trabajo ha contribuido a importantes avances en computación gracias a la creación e implementación de lenguajes de programación, sistemas operativos y diseños innovadores de sistemas que han producido importantes avances en el estado del arte de la abstracción de datos, modularidad, tolerancia a fallos, persistencia y sistemas de computación distribuida.
Listados de recursos temáticos y estructura
Me han pedido algunos enlaces sobre Inteligencia Artificial para un listado de recursos. Me he pasado un rato buscando información y sitios de referencia. Además de para echar una mano a los que me lo han pedido, la experiencia me ha servido para comprobar lo poco cuidados que están estos listados temáticos.
Un problema que tienen estos tipos de recursos es la gestión de los enlaces. Un enlace es como una tienda (o una empresa). Cuando confías en él esperas que dure mucho tiempo y que se actualice frecuentemente. En los listados de recursos se deberían incluir sólo enlaces solventes, que tuvieran estas características. Sin embargo, la realidad no es esa: una gran cantidad de enlaces en estos listados o no existen, o ya no se actualizan.
Además del problema de los enlaces, hay un problema todavía mayor en estos listados: la estructura. Apenas existen páginas que estructuren bien los recursos. O bien te encuentras un listado monstruoso en una única página, o una colección de infinitas páginas cada una con 5 o 6 enlaces.
Una excepción es AITopics, una wiki con una excelente estructura. Me gustaría saber cómo ha sido la metodología de desarrollo. ¿Cómo han llegado a esa estructura final? ¿Desde el principio tenían el diseño y los colaboradores han ido rellenando? ¿Han realizado muchos cambios sobre la marcha? ¿Cómo asegurarse de que los colaboradores respetan la estructura?
Es un tema muy interesante y muy poco tratado: la elaboración de una estructura sobre un tópico. ¿Existe una metodología correcta para hacerlo? ¿Qué caracteriza las buenas estructuras? ¿Es posible hacerlo de forma colaborativa? Las wikis se planteaban como una solución para esto último; pero nunca han funcionado en este aspecto.No conozco muchas que estén bien estructuradas.
Conseguir una buena estructura es una de las cosas más complicadas para una web/libro/asignatura. Una buena estructura demuestra un conocimiento profundo, no superficial, de todos los aspectos de un tema. El tipo de conocimiento que necesita de una reflexión y de una elaboración pausada. Es complicado (pero tengo la sensación de que no imposible) hacerlo de forma colaborativa.
Fichas de Teleco sin competencias de Informática
Muy buenas noticias. Se acaban de publicar en el BOE de hoy las fichas de Grado en Ingeniería Técnica de Telecomunicaciones y de Máster en Ingeniería de Telecomunicaciones. Y han desaparecido todas las referencias a competencias específicas de Informática.
Por ejemplo, ya no están las siguientes competencias, que antes aparecían en la especialidad de Telemática de la Ingeniería Técnica:
Conocimiento y utilización de los fundamentos de la arquitectura y metodología de diseño, verificación y validación de software.
Capacidad de realizar programación en tiempo real, concurrente, distribuida y basada en eventos, así como el diseño de interfaces persona-computador.
Y las competencias que podrían solaparse con Informática quedan bien especificadas. Por ejemplo, la competencia que había en el borrador:
Capacidad de construir, explotar y gestionar servicios Telemáticos, incluyendo internet, web, diseño arquitectónico (datos y protocolos), programación, gestión del conocimiento distribuido y de la información multimedia, utilizando herramientas analíticas de planificación, de dimensionado y de análisis.
Queda redactada de la siguiente forma:
Capacidad de construir, explotar y gestionar las redes, servicios, procesos y aplicaciones de telecomunicaciones, entendidas éstas como sistemas de captación, transporte, representación, procesado, almacenamiento, gestión y presentación de información multimedia, desde el punto de vista de los servicios telemáticos.
Es decir, se deja bien claro de que siempre se habla de “servicios telemáticos“. De hecho, la palabra “software” no aparece en ninguno de los dos documentos.
Una buenísima noticia. Las competencias de telecomunicaciones son las que son (las que eran) y no se ha conseguido aprovechar su condición de profesión con atribuciones para ganar nuevas competencias que son claramente de informática. Yo, por mi parte, me quedo contento con esto.
Aprobadas las fichas de las ingenierías
En la reunión del Consejo de Ministros del viernes 26 de diciembre se acaban de aprobar los planes de estudio de las ingenierías reguladas, las conocidas fichas.
La lista de ingenierías técnicas es:
- Ingeniero Técnico Aeronáutico
- Ingeniero Técnico Agrícola
- Ingeniero Técnico Forestal
- Ingeniero Técnico Industrial
- Ingeniero Técnico de Minas
- Ingeniero Técnico Naval
- Ingeniero Técnico de Obras Públicas
- Ingeniero Técnico de Telecomunicación
- Ingeniero Técnico en Topografía
La lista de ingenierías es:
- Ingeniero Aeronáutico
- Ingeniero Agrónomo
- Ingeniero de Caminos, Canales y Puertos
- Ingeniero Industrial
- Ingeniero de Minas
- Ingeniero de Montes
- Ingeniero Naval y Oceánico
- Ingeniero de Telecomunicación
No han servido de mucho las movilizaciones de las ingenierías informáticas para querer estar en estas listas, ni las críticas de algunos sectores de la universidad a la decisión del Ministerio de incluir atribuciones profesionales en los Másters.
La única mención que se hace en el acuerdo a las reivindicaciones de los informáticos es una frase ambigua, destacada en negrita en el párrafo siguiente:
El Consejo de Ministros, de acuerdo con lo previsto en un Real Decreto de 29 de octubre de 2007 por el que se establece la ordenación de las enseñanzas universitarias oficiales, ha aprobado, hasta tanto se establezcan las oportunas reformas de la regulación de las profesiones con carácter general en España, las condiciones que serán de aplicación a los planes de estudios conducentes a la obtención de los títulos universitarios oficiales que habiliten para el ejercicio de las distintas profesiones de Ingeniero Técnico e Ingeniero que se relacionan a continuación.
¿Qué se quiere decir con la frase? ¿Que se va a eliminar la regulación de todas las ingenierías? ¿Que se va a modificar la regulación para incluir Informática?. La expresión de “oportunas reformas” es una forma política de no comprometerse a nada y de condicionar la futura modificación de la regulación a un improbable acuerdo entre sectores profesionales, universidades y ministerios.
La decisión es un paso atrás en la aplicación de Bolonia a las ingenierías y deja en una situación muy complicada a las Ingenierías Informáticas. Esperemos un poco a ver plasmado el acuerdo en el BOE y comprobar allí las competencias (que casi todo el mundo va a entender como atribuciones profesionales) que se les otorga a los ingenieros de Telecomunicaciones (técnicos y superiores).
Enlaces:
Buenos libros esperando lectores
Ahora que se acerca el fin de año y en la biblioteca ya no nos dejan pedir más bibliografía recomendada, es un buen momento para hacer balance. Como todos los años me he pasado un poco de presupuesto (aprovechando que otros se quedan cortos), y he conseguido hacer encajar los libros que considero interesantes en mis asignaturas. No ha sido difícil, porque lo que no caía en LPP ni en Computación Geométrica lo he puesto en Sistemas Informáticos (buen cajón de sastre, donde cabe casi todo).













Todos los libros están disponibles en la Biblioteca Politécnica (de algunos hay más de una copia). El listado completo es el siguiente, con enlaces al catálogo.
Informática y lenguajes programación
- A brief history of computing
- Concepts of programming languages
- Encyclopedia of algorithms
- Python programming: an introduction to computer science
- Programming collective intelligence: building smart web 2.0 applications
Programación
- Advanced rails recipes
- Agile web development with rails: a pragmatic guide
- Learning Python
- Programming Ruby: the pragmatic programmers’ guide
- The Ruby programming language
Interfaces de usuario y diseño
- About face 3: the essentials of interaction design
- Sketching user experiences: getting the design right and the right design
Geometría computacional
A disfrutarlos. Están esperando que alguien los lea.