Nando Quintana

Ingeniería web y existencialismo doméstico

Premios para nuestros científicos en el exilio

30/10/2007 ciencia, homenaje, pensamientos, política

El Doctor Ignacio Hernández Campo, ha sido galardonado con el premio “Jamieson Award 2007″. Su Tesis ha sido la mejor de todas las leidas en estos dos últimos años en el campo de la física de altas presiones.

Ignacio Hernández recibiendo el Jamieson Award 2007 de manos de el profesor de la Universidad de Harvard Bill Nellis
Bill Nellis e Ignacio Hernández

Yo también tengo un primo científico.

Ignacio es un gran tipo. Sus zapatones han sido donde tantas veces he metido mis pies y he soñado con la ciencia.

Yo, de pequeño, recuerdo, quería ser inventor. Ya desde entonces, supongo, mi querido primo fué contagiándome su pasión por la ciencia y el saber en general, influenciándome en pequeñas dosis.

Pensando en esto, puedo explicarme muchos de los pasos que he dado en mi vida y en mi carrera profesional. Muchos. Algunos. Todos no.

Todos no, porque mi umbral de sacrificio no es el suyo. Ignacio no solo es un brillante pensador, un sagaz matemático y un rápido analista… Es un muyahidin de las ciencias. Es un hombre entregado al esfuerzo y al sacrificio.

Quien conozca la carrera investigadora, sabrá que una tesis es una especie de mortificación. Que trabajar de científico en España supone una titánica labor diplomática y años de mendigar becas.

Nadie es profeta en su tierra, ni investigador en España.

Lo que poca gente sabe de este nuevo premio “Jamieson” es que, al terminar su tesis, solicitó una beca postdoctoral al Ministerio de Educación y Ciencia, para poder seguir haciendo sus descubrimientos en una universidad española: se la denegaron.

Lejos de arrojar la toalla, Ignacio se puso manos a la obra y solicitó una beca a la Royal Academy of Engineering de Reino Unido. Además, volvió a solicitar la beca del Ministerio que le había sido privada el año anterior.

Pues bien. Ignacio ha conseguido este mismo año la beca de la prestigiosa academia de Londres, con mayor presupuesto y reconocimiento académico que la del Ministerio Español.

A todo esto, el tribunal del Ministerio decidió denegarle de nuevo la beca postdoc. Toda una Royal Academy of Engineering dice sí a un proyecto que el Ministerio de Educación y Ciencia Español RECHAZA DOS VECES.

Y así, Ignacio, se convierte en otro ejemplo más de la diáspora de científicos españoles, que tiene que dejar familia y amigos atrás para poder dedicarse a lo que más les gusta: hacer progresar nuestro conocimiento científico. Otro cerebro más en fuga.

Por si fuera poco, El Congreso Internacional de Altas Presiones, llega y premia lo que el Ministerio negó dos veces… En fin. Un abrazo fortísimo, Ignacio. Es una alegría que te llegue el reconocimiento, tantas veces negado por una sociedad maleducada o malintencionada.

Para saber más sobre la noticia: en el Diario Montañés, en Terra.es o en la web de la Universidad de Cantabria.

Sin palabras :_-(

21/10/2007 homenaje

Ha fallecido nuestro amigo y compañero Juan Antonio Cebrián.

juan antonio cebrián

Los oyentes del programa “La rosa de los vientos” le vamos a echar mucho de menos.

Un abrazo para su familia y amigos cercanos.

Enlaces: technorati, portal rosavientos.es, Carlos Canales, Bruno Cardeñosa, Martín Expósito

Sube la vida

02/10/2007 pensamientos, política

En la panadería del pueblo han subido la barra de pan 10 céntimos. Antes valía 1.10, ahora 1.20.

Es la segunda subida que hacen este año (la otra fué por enero) y significa un aumento del 9% en el precio.

Entre las causas de la subida podemos encontrarnos varias:

- El nuevo negocio de los biocombustibles.

- La creciente demanda de cereal por parte de China.

- La mala cosecha.

- La mala gestión del gobierno.

- El gobierno anterior.

- La sociedad en general.

- El terrorismo internacional

Me entero, via meneame.net, que el IPC en España ha crecido un 35,6% en los últimos 10 años.

Y es que la vida sube… como la espuma. :-)

Oferta de empleo en CodeSyntax

01/10/2007 codesyntax, empleo, informática

CodeSyntax crece. Como escribe Gari en su blog se ofrece un puesto de informático para Eibar. También lo cuenta Eneko en prospektiba.

¿Qué ofrece CodeSyntax a alguien que quiera trabajar desarrollando Internet?

- Ambiente relajado y pocos formalismos. Trato cordial y desenfadado a los clientes y estructura prácticamente horizontal.

- DressCode? WTF? ¿No pensarás venir al curro con camiseta de ThinkGeek debajo del traje y la corbata? ¿no? Así que deja el traje en casa :-)

El horario es el de una “persona humana” (no el de un funcionario) :-) y por supuesto, no hay que fichar.

Las vacaciones, son generalmente en verano, aunque todo está sujeto a debate. Por cierto, aquí se observan las fiestas locales… me temo que el día 6 de diciembre, curramos en Eibar… }:-)

Ambiente de trabajo Euskaldun. Aunque en la empresa hay también gente para conversar en Castellano, Inglés, Francés y Alemán…

Aparcar facilmente. CodeSyntax está en Azitain, un parque industrial a las afueras, donde siempre hay sitio de sobra. Además, no suele haber mucho coche de lujo en las cercanias… vamos que puedes traer el coche sin lavar :-DD

tagzaniapaste

CodeSyntax map - Tagzania

¿Qué es lo que me gustaría de mi nuevo compañero de trabajo?

De vez en cuando, tenemos la suerte de cruzarnos con un nuevo amigo en nuestras vidas. Sería de necios desaprovecharlo…

Si tubiese que escribir una wishlist sería la siguiente:

- que tenga kung-fu programando: Que no tema enfrentarse a nuevos retos. Que sea capaz de superarse a sí mismo. Que séa alegre y no se frustre en cada error de compilación…

- Que disfrute aprendiendo. Que no tema seguir formándose y adaptándose a las tecnologías emergentes. Que sepa evolucionar, cambiar de opinión y sea crítico con todos nosotros y con él.

- Que jure (con una mano en el pecho y otra sobre un libro de O’reilly, que liberará todo el código fuente que salga de sus dedos ;-DD

- En fin, que me gustaría un compañero del que pueda aprender. No hace falta que tenga muchos conocimientos, sino que tenga actitud.

Pues eso, que si hay algún “jacker” en la sala, que le mande el currículum a Gari: garaolaza (arroba) codesyntax (punto) com.

¿Dónde está la documentación de Zope3?

01/10/2007 informática, zope3

Zope siempre ha sido acusado de estar poco o mal documentado.

Bueno, yo pienso radicalmente lo contrario, como muchos de la comunidad, pero nunca está bien acomodarse en una postura y despreciar la opinión de otros por infundada que te parezca.

Si actuamos de abogados del diablo, hacemos un esfuerzo de empatía y nos ponemos en el lugar del que se acerca a zope3 por primera vez, nos damos cuenta que la documentación de Zope no está muy visible.

Cada instalación de zope tiene una documentación del api generada de forma dinámica que explica de forma exhaustiva cada método, clase, interfaz y adaptador de los que tiene Zope.

¿Cómo no va a estar zope documentado si cada declaración de función o clase lleva incluida la propia documentación? Gracias a la herramienta apidoc, podemos hacer en cualquier momento un ejercicio de introspección sobre cualquier objeto Python y leer cómodamente su documentación.

Pero lo que la gente aprecia como buena documentación es una URL (una sola), que apunte a una sección de un web site (uno solo), donde aparezca toda la documentación disponible, donde uno por uno se describa cada objeto, clase, interfaz o adpatador de Zope.

Bien, uno de los frutos del Foliage Sprint, celebrado la semana pasada está, precisamente, relacionado con esta hambre de documentación.

Julian Bonilla, Graham Stratton y Stephan Richter han completado la tarea de crear una versión estática de la documentación del API de Zope3, para poder dejarla disponble en una URL en zope.org

Para que no se diga que no hay documentación de Zope3:

http://apidoc.zope.org

Foliage Sprint: Sprinting Zope3 en Massachusetts

26/09/2007 Sin categoría

Este lunes ha comenzado un nuevo sprint en Zope3, en Colonial Inn, Massachusetts.

El nombre hace alusión a la temporada otoñal que decora Massachusetts

El objetivo de este sprint es trabajar en aspectos fuertemente relacionados con el core de Zope3, en lugar de dispersar el esfuerzo en extensiones de la comunidad, como puede suceder en otros sprints.


Zope3 Foliage Sprint map - Tagzania

 

¿Qué van a hacer los sprinters?

Entre los programadores asistentes, se encuentra Stephan Richter, quien hace las veces de mentor en algunas de las actividades que se están realizando.

Las tareas que los sprinters han propuesto son las siguientes:

- Simplificación de la interdependencia entre paquetes

Desde que se empezó la refactorización de los módulos en forma de huevos, se detectaron excesivas interdependencias que deberían ser eliminadas, para una distribución más ligera y flexible de Zope3.

En primer lugar se propone crear una herramienta que construya un grafo con las interdependencias entre los paquetes.

Después habría que evaluar y redactar una pequeña propuesta de reducción o eliminación de cada dependencia.

Se podría empezar, dividiendo los zcmls de configuración de los paquetes, para que se pueda referenciar al API de un módulo sin tener que incluir el submódulo “browser”, por ejemplo.

- Crear un listado de paquetes

La tarea consiste en documentar a fondo los paquetes de zope3 del Índice de Paquetes de Python, para facilitar el acceso a la documentación a quien se inicie en Zope3.

- Introspección en la seguridad

A pesar de la potente maquinaria de seguridad que implementa Zope3, se han recibido algunas críticas acerca de la oscuridad sobre qué elementos son públicos y cuales no.

Se propone crear una herramienta que audite un sitio sobre los objetos que están disponibles y los permisos necesarios.

- Implementación de un “navegador de prueba” de verdad

El “test browser” de zope3 no permite probar el código escrito en javascript. Existe una aplicación en desarrollo, comenzada por Benji, que permite controlar un navegador Firefox real.

Existe una extensión de Firefox que permite manejar el navegador a través de una sesión remota, utilizando comandos javascript.

La tarea consistiría en finalizar esta aplicación para dotar a Zope3 de un API de test completa.

- Desarrollo de documentación estática del API de Zope3

Hacer una copia a ficheros del api generada dinámicamente por un servidor Zope.

- Acelerar el arranque de Zope 3

A pesar de que el retoque de las plantilla no requiere reiniciar el servidor, el resto de modificaciones sí.

Con esta tarea, los sprinters se proponen reducir drásticamente el tiempo de reinicio, optimizando la forma en que se parsea el ZCML.

- Varias tareas sobre z3c Forms

A pesar de que formlib es el paquete oficial de Zope3 para formulario, z3c.form está evolucionando muy rápido, siendo ya una eficaz alternativa.

Los puntos en los que se quiere reforzar a este paquete son la internacionalización, la composición de widgets, los widgets basados en sesiones, widgets de objeto y widgets diccionario o secuencia de valores simples.

- Un ZMI modular

El actual interfaz de administración de Zope3 no satisface todas las espectativas de los desarrolladores de Zope3.

El trabajo quiere centrarse en dos casos de uso: 1) configuración y administracion de una aplicación. 2) un zmi pluggable que se adapte fácilmente para poder conseguir una versión personalizada de ZMI.

- Protocolo de publicación Atom

Otras plataformas ya lo implementan y conseguir exportar datos en formato Atom facilitaría, por ejemplo, la producción de APIs RESTful.

- Ejemplo de una aplicación con las mínimas dependencias

Sería muy interesante tener un ejemplo de aplicación ultrasimple, con la opción de hacer login/logout.

Un motor de consultas y un lenguaje de consultas para Zope3

La tarea propone crear un lenguaje declarativo de extracción de datos. El lenguaje debería estar orientado a objetos, y permitir especificar parámetros como los permisos, manipular datos, etc.

El lenguaje debe estar asentado sobre una estable base matemática.

El motor de consultas debe ser modular y estar basado en componentes. Debería alcanzar velociades similares a un motor SQL.

¡Ánimo!

Desde aquí les envio mis ánimos para que afronten con entusiasmo todos estos objetivos y, por supuesto, pasen unos estupendos dias en Massachusetts. :-)

Los otros titulares

21/09/2007 pensamientos, política

La actualidad es la realidad encofrada en el vocabulario.

En los medios, está ensayado y es sencillo.

tetris de palabras

En el tetris de nuestros cerebros, la crítica y la duda son filas a punto de completarse.

Las palabras de ese vocabulario son piezas de teris que encajan perfectamente.

La crítica y la duda se completan y “flip”: desaparecen.

El vocabulario de la actualidad

Las noticias tiene un vocabulario tendenciosamente protegido:

Las operaciones militares israelís, son ataques terroristas.

El negocio bancario en España es usura y extorsión.

En España existe la censura y cada vez es más facil y habitual.

La corrupción es rentable y la especulación es una práctica absolutamente despreciable practicada por todos, desde la clase “obrera” hasta la nobleza de más rancio abolengo.

España premia al bufón y se menosprecia al sabio. Lo mejor de la televisión gratuita es el erotismo aunque, en público, la gente prefiere otro tipo de morbo.

Agur,Nando.

Palabras autosignificantes

13/07/2007 ciencia, lenguaje, pensamientos

Las palabras autosignificantes o autológicas son aquellas que “son lo que significan”. Por ejemplo, ‘llana’ es llana, ‘esdrújula’ es esdrújula, ‘rimbombante’ es rimbombante, etc.

Por otro lado, las palabras heterológicas son aquellas que “no son lo que significan”. Por ejemplo, ‘aguda’ no es aguda, ‘verbo’ no es verbo, ‘monosílaba’ no es monosílaba, etc.

Si nos paramos a pensar en estas palabras, nos vienen enseguida un par de preguntas:

¿Es autológica ‘autológica’?

¿Tú que opinas? Bien, la pregunta no es tan incómoda como la siguiente:

¿Es heterológica ‘heterológica’?

Si respondemos que no… estamos diciéndo que “no es lo que significa”. Si nos aferramos a esta definición, ‘heterológica’ es heterológica.

¡Vaya! Entonces, ‘heterológica’ es precisamente lo que significa. Por lo tanto es autológica.

Ahora bien, si decimos que es autoĺógica, ‘heterológica’ debe ser heterológica…

Por mucho que sigamos esta cadena de razonamientos, no podremos salir nunca de la paradoja…

Para que luego no digan que la realidad no es divertida. :-)

Desde aquí mi homenaje a todos los ratos que hemos perdido discutiendo sobre este y otros infructuosos asuntos.

Trabajo 15 dias para el banco y 5 para mi familia

12/07/2007 empleo, política

El 75% de mi sueldo se lo lleva mi hipoteca. Por eso, de cada 4 dias que trabajo, tres son para el banco y el cuarto para pagar el resto de gastos.

No me preocupa ser pobre. Aunque empiezo a sospechar que alguien se está riendo de mi.

Mis padres son expertos en no llegar a fin de mes. Las penurias de un obrero de los 60s forman parte del acervo cultural español. Sin embargo, se deshicieron de su hipoteca en cuatro años.

No más apología de la democracia. No más demagogias librecomercialistas. No mas encuestas sobre lo que preocupa al ciudadano. No más plutarquías.

Que me saquen todo mi dinero y les exploten los bolsillos. Pero que no me den la barrila. Que me dejen en paz. Que no tengo ninguna libertad que defender. Ninguna sociedad a la que respetar, ningúna género humano al que amar, ningún compromiso con la paz o con la guerra.

Recuerdo el cuento zen que contaba los siguiente:

Estaba un viejo maestro meditando cuando de repente unos ladrones entraron a su cabaña. Le desvalijaron ante la impasividad del maestro. Cuando se fueron, el maestro, mirando a una preciosa luna llena dijo: — Qué pena, se han dejado la luna –.

Quiero a mi madre en la presidencia del banco mundial!

El desarrollo de aplicaciones web con Python sobre Zope, ahora más elegante

09/07/2007 informática, programación, zope3

Antes, para desplegar una apliación había que instalar una gigantesca instancia de Zope e insertar tu código en su carpeta de productos.

Ahora, programar una aplicación consiste en programar un módulo Python e instalar solo las dependencias necesarias de módulos de zope.*

En su momento, una de las características que más sedujo a la comunidad fué el ZMI, el interfaz de administración web. Mediante el ZMI, es posible programar plantillas y scripts Python a través del navegador. Esta forma ágil ha hecho las delicias de programadores y no programadores que necesitaban publicar contenidos en la web y administrarlos de forma segura y en colaboración.

El ZMI, en seguida quedó en evidecia y dejó de manifiesto que para desarrollar grandes aplicaciones deja bastante que desear.

Desde casi el principio, todo desarrollo serio se hizo mediante la construcción de Productos Zope.

Ahora Zope3 ha llegado y ha impuesto, con su modelo de interfaces y adaptadores, un estilo sostenible de programación en zope. Además, recientemente, se propone un nuevo modo de desplegar las aplicaciones zope más modular y flexible.

Como adelantaba hace tiempo Jim Fulton, el enfoque de despliegue de zope3 debía romper con el tradicional definido desde timepos de zope2:

- instalar una instancia en que escucha un determinado puerto

- programar en Python tu aplicación, heredando de las clases necesarias para convertir tus objetos Python en zObjects

- insertar tu código en la carpeta de productos

Esta forma de trabajo comenzaba con la aplicación “mkzopeapp” que creaba la instancia inicial sobre la que programar. Ahora, con mkzopeapp y la redistribución de zope3 en forma de huevos Python, la cosa cambia.

Como nos cuenta Philipp Von Weiterhausen El ciclo de desarrollo será parecido a lo siguiente:

- crear un módulo Python. (mkzopeapp facilita esta tarea creando para ti un módulo con los imports básicos necesarios)

- definir los parámetros de desplpiegue mediante un fichero de configuración

- instalar las dependencias (servidores, lenguajes de plantillas, etc.) que están disponibles en los módulos zope.* aunque serán intercambiables por otros componentes de la comunidad Python.

La comunidad zope está trabajando duro en el tema de despliegue y ya se están viendo agradables resultados, ej:buildout, paste.deploy, etc.