martes, 21 de diciembre de 2010

La ley Sinde

Me gusta más hablar de tecnología que de política ...

Sin embargo, esta mañana escuchaba los argumentos de la ministra Sinde en defensa de la controvertida nueva ley.

La verdad es que me ha hecho reflexionar. No voy a entrar en valorar el detalle de la ley, pero el argumentario básico es que la ley debe defender a los creadores. Y yo me pregunto, ¿cómo se puede estar a favor de esto y al mismo tiempo en contra de las patentes software?

Sinceramente yo no lo entiendo.

jueves, 4 de noviembre de 2010

La paradoja del profesionalismo

Le en el último artículo de David L. Parnas en el Communications del ACM:

Until customers demand evidence that the designers were qualified and disciplined they will continue to get sloppy software.

As long as there is no better software, we will buy sloppy software.

As long a s we buy sloppy software, developers will continue to use undisciplined development methods.

As long as we fail to demand that developers use disciplined methods, we run the risk - certainty - that we will continue to encounter software full o bugs.

¿Y como salimos de este bucle?

miércoles, 3 de noviembre de 2010

Admitido a trámite el recurso contencioso administrativo interpuesto contra el Real Decreto 1837/2008 de reconocimiento de cualificaciones profesionales



http://www.coitimur.org/2010/10/31/admitido-a-tramite-el-recurso-contencioso-administrativo-interpuesto-contra-el-real-decreto-18372008/

Bueno. Es un paso más en la defensa de la profesión.

Una vez más enhorabuena a todos los que están trabajando por defender una profesión tan necesaria para nuestra sociedad.

sábado, 7 de agosto de 2010

C++0x cada vez más cerca

En la reunión del comité de C++ en Suiza esta terminando hoy.

Durante la semana se han procesado varios centenares de comentarios enviados por los distintos países participantes en ISO. Ha sido una semana bastante productiva.

Parece que el estándar estará terminado (o casi) para la reunión del comité en Madrid el próximo marzo de 2011.

Algunas decisiones:
  • Se ha refinado la bilioteca bastante (más sobre este en otro post)
  • Se ha tomado la decisión de que los destructores serán por defecto noexcept(true).
  • Se ha decidido pasar a una sintáxis para alignment basada en keywords en vez de los actuales atributos. Esto permitirá una mayor compatibilidad con C.
  • Se ha decidido que noreturn siga siendo un atributo. Esto lo hace incompatible con C, donde usan una palabra reservada.
  • Se ha decidido que el control de redefinición virtual deje de hacerse con atributos. Todavía se están buscando los nombres más adecuados para las palabras reservadas.
  • Se ha decidido cambiar la gestión de SFINAE para que se tenga en cuenta el control de acceso.
  • Se ha decidido eliminar las declaraciones de acceso, que están deprecated desde C++98.
  • Se está estudiando la posible recuperación (actualmente deprecated de static en el ámbito de un espacio de nombres.

miércoles, 4 de agosto de 2010

En el comité de C++

Estoy en la reunión del comité de C++ en Rapperswil (Suiza). Como probablemente sabéis hace unos meses el comité emitión un FCD (Final Committee Draft), al que todos los paises han enviado comentarios.

El documento ha recibido voto afirmativo de la mayoría de los paises:
* 7 votos afirmativos sin comentarios.
* 8 votos afirmativos con comentarios.
* 1 voto negativo.
* 3 abstenciones.

La cantidad de comentarios recibido ha sido muy importante. El PDF mide 250 páginas.

Ahora estamos intentado resolver la mayoría de los comentarios recibidos. La idea, es que en estos momentos se ha cerrado la adición de nuevas ideas al lenguaje (y la biblioteca) y se está intentado resolver las posibles inconsistencias detectadas.

Con un poco de suerte, el estándar estará finalizado para la reunión de Madrid, en marzo de 2011.

jueves, 27 de mayo de 2010

Viva Corea del Sur (y su sanidad)

No. Esta no es una entrada sobre al creciente tensión entre las dos Coreas.

El caso, es que la semana pasada he estado en la ciudad coreana de Busan (la segunda en tamaño del país), como General Chair del congreso ICA3PP (10th International Conference on Algorithms and Architectures for Parallel Processing).

Mis colegas del comité de organización insistieron en llevarme a cenar a un verdadero restaurante coreano. Y claro, una vez en el restaurante descubrí que la comida que ibamos a tomar se clasificaba en dos tipos:
  1. Pescado crudo, que en la versión coreana quiere decir que unos minutos antes todavía estaba vivo.
  2. Otros alimentos que se movían en el plato. Y cuando digo, se movían quíero decir que todavía se podrían considerar como "vivos".
No suelo acobardarme facilmente. No obstante, con una ligera dosis de prudencia decidí optar por la opción 1. La velada fue fantástica, pero ...

Unas 36 horas después empecé a sentirme, digamos que no demasiado bien. A las cinco de la mañana me despierto enciendo el ordenador y me pongo a buscar los síntomas del temido anisakis. Ante la duda, y el riesgo de que la cosa vaya a más durante un viaje en avión compuesto de 3 vuelos y 17 horas, decido que me vea un médico.

En el hotel me acompañan a un hospital, donde la atención fue simplemente espectacular. Al minuto de entrar por la puerta del hospital ya me habían tomado una muestra de sangre y en 10 minutos me habían tomado cuatro radiografías, puesto dos inyecciones y un suero. La amabilidad del equipo médico fue incomparable.

Aunque había suscrito un seguro médico para el viaje, dadas la horas decido pagar la fatura y arreglar cuentas con mi seguro al volver a España. Y ¡Oh, sorpresa! la factura que tiene que pagar el imprudente extranjero asciende a la canidad de 148.000 Wong coreanos (unos simples 110 euros).

Simplemente, no puedo expresar más que palabras de gratitud hacia los médicos y enfermeras. Y no dejo de pensar que me gustaría tener un sistema sanitario público como el de Corea.

sábado, 22 de mayo de 2010

Manifiesto sobre educación

Recientemente he recibido una invitación a firmar un manifiesto alrededor del sistema educativo. Me lo ha enviado Ricardo Moreno Castillo, al que algunos recordarán por haber escrito "El Panfleto Antipedagógico".

Parece ser que el manifiesto lo apoyan SPES (una federación de sindicatos contrarios a la LOGSE) y ANCABA (la asociación nacional de catedráticos de instituto), pero esperan conseguir muchos más apoyos.

El manifiesto está disponible en:

http://porunavueltaalsentidocomun.blogspot.com/

Salvo algún pequeño detalle me parece eso: una vuelta al sentido común.

domingo, 25 de abril de 2010

Rankings universitarios odiosos pero necesarios

Acabo de leer el ranking en Investigación de Universidades Públicas Españolas de 2009. Este ranking se ha publicado ya un par de años y es de mucho interés.

http://www.ugr.es/~aepc/articulo/

Cuando hablas de rankings mucha gente recurre a diversos lugares comunes. Te dicen cosas como que son subjetivos, que no es posible comparar universidades, etc.

Realmente, en otros países esta es una práctica tan asentada que nadie la discuete. En algún viaje a Estados Unidos he visto como se vendían los rankings de universidades en los kioscos de prensa. La gente está dispuesta pagar por esa información porque la considera de mucho valor.

A día de hoy en España, esto no es así. Tristemente las razones de los estudiantes para elegir universidad no se basan en criterios de calidad. Típicamente, las dos primeras razones son: "la que me pilla más cerca de casa" y "aquella a la que van a ir o van mis colegas/amigos".

Bien veamos que indicadores se utilizan para elaborar este ranking:
  • Artículos en revistas de impacto internacional (Journal Citation Report).
  • Tramos de investigación reconocidos por profesores funcionarios (sexenios).
  • Proyectos de I+D.
  • Tesis doctorales defendidas.
  • Becas de Formación del Profesorado Universitario obtenidas.
  • Doctorados con mención de calidad.
  • Patentes.
Para eliminar diferencias de tamaño, todos los indicadores se normalizan por número de profesores de la Universidad, lo cual parece más que razonable.

La Universidad mejora valorada en este ranking es la Pompeu Fabra. Por otra parte, entre las diez primeras, aparecen dos Universidades madrileñas: la Autónoma de Madrid y la Carlos III de Madrid.

Cada uno puede sacar sus conclusiones del ranking. Lo que me parece relevante es prestar atención a los mismos. La sociedad, que es quien financia a las universidades, tiene derecho a exigir a las Universidades una adecuada productividad. Al mismo tiempo, la sociedad debe reconocer el adecuado empleo de la inversión que hace sobre las distintas Universidades.

Si los estudiantes piensan que es lo mismo formarse en cualquier Universidad, y si las empresas piensan que es igual contratar a un titulado formado en cualquier Universidad, ...

En cualquier caso faltan (y debemos exigir) otros dos tipos de rankings:
  • Rankings sobre la calidad docente de las Universidades.
  • Rankings sobre la inserción profesional de los titulados de las Universidades.
No es nada raro en otros paises que los distintos rankings hagan públicos datos como la media y la mediana del salario de primer contrato de sus titulados.

viernes, 23 de abril de 2010

Popularidad y lenguajes de programación

No soy muy fanático de las guerras de lenguajes. Creo que como profesionales de la ingeniería debemos conocer diversas alternativas tecnológicas y aplicar en cada situación la solución más apropiada. Lo que en un proyecto puede ser fantástico en otro puede ser un verdadero desastre.

No obstante, me parece interesante conocer las distintas alternativas. Me acabo de fijar en el estudio TIOBE sobre la popularidad de lenguajes de programación http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.

La verdad es que se pueden sacar algunas conclusiones interesantes:
  • C recupera el primer lugar en popularidad. Esto no es tanto por que C mejore su popularidad como porque su competidor directo (Java) empeora la suya.
  • El percentil 55 se alcanza con cuatro lenguajes (C, Java, C++ y PHP).
  • El lenguaje C está experimentando un resurgir desde principios del 2008.
  • Desde hace unos meses Java está empeorando su popularidad.
  • C++ se mantiene estable alrededor el 9.5%-10% desde 2005.
  • Desde 2008 Visual Basic pierde popularidad en favor de C#.
  • Desde mediados de 2009 Objective-C ha tenido un crecimiento espectacular (pasando de una popularidad del 0.1% al 2.3%).
En fin, cada uno que saque sus conclusiones.

miércoles, 7 de abril de 2010

Se ha hecho público el FCD (Final Committee Draft) del lenguaje C++.  Lo puedes acceder en la dirección:
  
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf

Ahora se abre un periodo en que los comités nacionales pueden emitir comentarios sobre cualquier punto del estándar.

 
El comité español, decidirá la lista de comentarios que envia, pero he creado un grupo en LinkedIn (Desarrolladores C++) en el que se pueden emitir opiniones, comentarios, ...

Si te apetece participar en el proceso, o utilizar el grupo para otra cosa, te animo a unirte en:

 
http://www.linkedin.com/groupRegistration?gid=2863690

 
El grupo "Desarrolladores C++" tiene como objetivos:
  • Ser un foro de discusión sobre el proceso de estandarización del lenguaje C++ que permita una participación amplia.
  • Anunciar eventos locales (en España) sobre el lenguaje, como cursos o conferencias.
  • Publicitar ofertas de empleo, becas, etc asociadas al lenguaje C++
  • Otros que se le vayan ocurriendo al grupo.

--

 
J. Daniel Garcia

Presidente del comité español de normalización de C++

jueves, 25 de marzo de 2010

ISO/IEC DTR 24772

El subcomité ISO/IEC SC22 ha dado otro paso hacia la aprobación de un Technical Report relevante para los desarrolladores software. Se trata del ISO/IEC DTR 24772 (Guidance to Avoiding Vulnerabilities in Programming Languages through Language Selection and Use).

Este documento será muy relevante para todos aquellos interesados en las vulnerabilidades que se pueden introducir en el software al utilizar ciertas características de un lenguaje de programación.

El estado actual del document ha sido el de aprobación con comentarios, por lo que ahora el comité deberá estudiar estos comentarios y generar una nueva versión.

miércoles, 24 de marzo de 2010

Máster en Ingeniería Informática verficado por ANECA

Ayer recibimos la verificación positiva por parte de ANECA del Máster Universitario en Ingeniería Informática de la Universidad Carlos III de Madrid. En la práctica, esto permite que la implantación de este título comience en el próximo curso 2010/2011.

Este título tiene algunas señas de identidad que considero relevantes:

Por una parte, se trata de un título totalmente adaptado a las recomendaciones publicadas en el BOE de 4 de agosto de 2009 para títulos de Ingeniería Informática. Por tanto, si en un futuro se definen atribuciones profesionales para los Ingenieros Informáticos este Máster habilitaría para ejercer dicha profesión.

Además, se trata de un programa de posgrado con orientación claramente profesional que combina aspectos técnicos con otra formación necesaria para el adecuado ejercicio de la profesión de Ingeniero. Como ejemplo, señalaré que incluye una asignatura específica de "Aspectos Legales y Éticos de la Ingeniería Informática".

Por último, también resaltaré que el perfil de ingreso para este Máster está constituido exclusivamente por titulados universitarios en Informática.

En los próximos días seguiré aportando información.

domingo, 14 de marzo de 2010

Un paso más hacia el nuevo C++

Ayer terminamos la reunión del comité de estandarización ISO C++. La reunión la hemos celebrado en Pittsburgh en CERT Software Engineering Institute de la Universidad de Carnegie-Mellon.

Dentro de un par de semanas escribiré un informe más detallado, pero me parece que hay algunas cosas relevantes que resaltar.

Por una parte hemos aprobado la emisión de un FCD (Final Committee Draft). Esto significa que se abrirá un periodo para que las entidades de normalización nacional puedan emitir comentarios y un voto afirmativo o negativo. En el caso de España, este proceso se llevará a cabo a través de AENOR y del comité CTN71/GT21, que es el que se encarga de seguir la normalización de C++ a nivel nacional. Cualquier persona interesada en el comité puede contactarme en la dirección josedaniel.garcia en uc3m.es. Está previsto que el documento FCD esté disponible a primeros de abril y a partir de ahí se abrirá un plazo de cuatro meses para emitir comentarios.

Además se ha aprobado de forma final el estándar ISO/IEC 29123 (C++ Special Math Functions). Este estándar defina una extensión opcional al estándar ISO/IEC 14882 (C++), que ofrece funciones matemáticas avanzadas en C++. ¿Que se entiende por funciones matemáticas avanzadas? Son funciones que uno no usa todos los días (polinomios de Leguerre, integrales elípticas, funciones de Bessel, ...). Está bien que esto sea una extensión y no parte del estándar C++, porque digamos que no son cosas que use todo el mundo :-).

Por último, desde la última reunión en Santa Cruz (California), hemos aprobado diversos cambios:
  • Se ha ampliado el uso de decltype().
  • Se ha mejorado el uso de los atributos C++ como mecanismo de anotación de código. Este permitirá limitar mucho el uso de las pragmas. Por ejmplo, se espera que OpenMP deje de usar pragmas y pase a usar atributos.
  • Se permite la conversión automática de lambdas a punteros a función. Esto permitirá pasar un lambda a una función que espera un puntero a función.
  • Las funciones constexpr pueden ahora tomar parámetros de tipo referencia.
  • Se ha mejorado las reglas que gobiernan la generación de operaciones de movimiento.
  • Se ha eliminado el uso de export. Esta era una característica de C++ 2003 que casi ningún compilador había conseguido implementar.
  • Se ha actualizado la biblioteca de generación de números aleatorios después de la eliminación de los conceptos.
  • Se han despreciado (deprecated) las especificaciones de excepciones. Es decir, no se eliminan pero es algo que en el futuro podría eliminarse. Las especificaciones de excepciones tenían varios problemas, entre otros algunos relacionados con el rendimiento. En su lugar se ha incluido la nueva especificación noexcept.
  • Se ha añadido la especificación noexcept para funciones. Una función noexcept garantiza que no va a lanzar una excepción. Si viola esta promesa el programa termina de forma abrupta invocando a terminate().
  • Se han incorporado operadores de comparación de igualdad a los contenedores no ordenados.
  • Se ha simplificado notablemente la interfaz de la clase pair.
  • Se ha añadido un mecanismo de iniciación explícita de variables atómicas (concurrencia de bajo nivel).
  • Se han mejorado notablemente los futuros como mecanismo de concurrencia de alto nivel.
  • Se han solucionado problemas derivados de la gestión de objetos thread_local.
  • Se ha mejorado la especificaciones de los iteradores.
  • Se han corregido muchos problemas menores en el documento del estándar.
Con todo esto el estándar empieza a tomar forma. Las previsiones más optimistas indican que el estándar podría cerrarse en la reunión que tendrá lugar en Madrid en marzo de 2011.

Como se puede ver. Esto es un pequeño resumen de una semana de seis días de trabajo (Si, el comité también se reune los sábados).

--
  J. Daniel García
  Presidente del comité español de normalización de C++

martes, 2 de marzo de 2010

El sueldo en nuestra profesión (en USA)

Leo en la Web de IEEE Computer Society una noticia nada sorprendente.

Salaries for CS and Engineering Grads to Rise

By BYC Newsfeed, On 2/12/10 5:36 PM
 
Graduates in the Class of 2010 with computer-related or engineering degrees can expect to see slightly higher starting salary offers when compared with last year's class, according to the National Association of Colleges and Employers winter salary survey. What's more, the association’s entire list of the 10 top-paid bachelor’s degrees is comprised of only majors in these specific disciplines.


The average salary for 2010 graduates with bachelor's degrees in either computer programming, computer science, computer systems analysis or information sciences/systems is $59,570, up 6.1 percent when compared with last year. Engineering graduates’ median salary is $59,245, 1.2 percent more than in 2009.

The association ranked a computer science degree as the fourth-highest-paying bachelor’s degree at an average salary of $61,205. Computer engineering immediately followed at $60,879, while electrical/electronics and communications engineering took the No. 6 spot at $59,074. Information sciences and systems rounded out the list at $54,038.

Meanwhile, other students completing their undergraduate studies won’t fare as well. The overall average salary for 2010 graduates with a bachelor's is down 2 percent to $48,351.

http://www.computer.org/portal/web/buildyourcareer/news/-/blogs/trackback/salaries-for-cs-and-engineering-grads-to-rise

domingo, 14 de febrero de 2010

Barbie se hace Ingeniera Informática

Leo en la siguiente noticia

http://www.elmundo.es/mundodinero/2010/02/13/economia/1266070305.html?a=9be006f76f9b929227ef7cf9a972b50f&t=1266078777&numero=

Que la profesión número 126 de la popular muñeca Barbie será "Ingeniera Informática" (más concretamente Computer Engineer). La primera reacción que puede tener uno es de risa.

Sin embargo se trata de una iniciativa en la que han participado activamente la "Society of Women Engineers" y la "National Academy of Engineering". La iniciativa tiene por objetivo promocionar la Ingeniería Informática entre las mujeres. La tarea no es sencilla, pero ciertamente es necesaria.

Cuando yo era estudiante (ya hace algún tiempo), se podía decir que en clase eramos tantos chicos como chicas (o viceversa). Sin embargo es un problema generalizado en todas partes del mundo que las mujeres han renunciado a la profesión de Ingeniería Informática. No es extraño un porcentaje de un 10% o menor entre los estudiantes de nuevo ingreso en Ingeniería Informática.

¿Es esto un problema? Pues yo creo que es un problema gravísimo. Nuestra profesión está renunciado a personas de gran talento e incorporando a otras que menor capacidad (por ser políticamente correcto). No se si la Barbie contribuirá a atraer a chicas con talento a la profesión, pero hace años que no veo ninguna inciativa para solucionar un problema grave a escala mundial.

viernes, 12 de febrero de 2010

Una paso más hacia el colegio de Madrid

Ayer, se dió otro paso en la Asamblea de Madrid, hacia la creación de los Colegios de Ingenierios Informáticos e Ingenieros Técnicos en Informática.

Solamente se aprobó la toma en consideración de las proposiciones de Ley para la creación de ambos colegios. Ahora falta el trámite parlamentario. En cualquier caso es una buena noticia.

Habrá que estar atentos, porque hay maniobras en la oscuridad para dinamitar esta iniciativa. De hecho hay una propuesta de AI2 que me hace vomitar.

Aunque en su día tomé la decisión de darme de baja de ALI. He de reconocer que están haciendo un excelente trabajo en defensa de la regulación de la profesión como un servicio hacia la sociedad. Creo que a veces hay que reconocer cuando se equivoca uno. Esta es una de esas coasiones.

jueves, 11 de febrero de 2010

Los coches y la informátcia

Cuando doy clases en primer curso de Ingeniería Informática suelo poner una transparencia con computadores que usamos con frecuencia.

O sea, que pongo la foto de una lavadora, de una cámara de fotos, de un avíón, de un coche, ...

Suelo decir que un coche o un avión son un multicomputador con ruedas o con alas. Parece que muchos informáticos piensan que estas cosas no van con ellos que lo cool es hacer páginas web u otras cosas que puede hacer cualquiera.

Pues mirad como al final, si que los sistemas informáticos (donde el software es solamente una parte), si que importan.

Me encuentro en IEEE Spectrum con un podcast con el nombre "Are Cars Too Complicated?" y el siguiente resumen:

"With dozens of microprocessors running as many as 100 million lines of code, cars are among the most complicated computer systems out there. Even a simple gas pedal is no longer a simple gas pedal. Risk-management expert Bob Charette looks at the latest round of hardware and software woes at Toyota."

El podcast se puede acceder en http://spectrum.ieee.org/podcast/green-tech/advanced-cars/are-cars-too-complicated