Noticias Weblogs Código

Versión Cero

Patentes en Europa: Nueva votación

Desde La Pastilla Roja nos avisan de una nueva votación sobre las patentes de software en el parlamento europeo.

Algunos datos preocupantes:

  • La Oficina Europea de Patentes es un organismo no comunitario que concede patentes bajo sus propios criterios y que la UE acepta en virtud de un acuerdo.
  • En caso de aprobarse no existiría ningún control político ni judicial sobre las patentes concedidas y no cabría recurso en los tribunales nacionales.
  • Todos los paises con idiomas distintos del inglés estarían en desventaja competitiva.

La anterior votación sobre patentes de software fue rechazada.

Nuestros Foros

Puede que muchas personas no lo sepan, pero Versión Cero nació como un proyecto hermano de Planeta Código, proyecto del que salieron los primeros editores de Versión Cero.

Planeta Código tiene varias partes, un agregador de weblogs que es la parte principal, pero también un wiki sobre desarrollo, y unos foros.

Sobre los foros os quiero hablar hoy. Y es que bajo mi punto de vista son unos foros de gran calidad, de poco tráfico pero con gente muy interesante suscrita, gente que sabe mucho sobre desarrollo de software. Difícilmente obtendrás una respuesta muy técnica en estos foros (“¿Cómo se utiliza la función X de C#?”) pero desde luego podrás charlar sobre desarrollo de software con gente con experiencia real.

Y como muestra un botón: En un mensaje llamado Dudas, dudas y mas dudas, se le dan consejos muy interesantes (técnicos y organizativos) a uno de los tantos informáticos desesperados que hay en esta profesión.

Desde hace unos días, los foros de Planeta Código son también los foros de Versión Cero, y como tales aparecen enlazados en la parte superior de este weblog.

Algunas opiniones sobre Rails

Últimamente he leído un par de análisis interesantes sobre Ruby on Rails.

Por un lado, y de producción hispana, tenemos Ruby on Rails, ¿vale la pena?, desde el weblog Sobre Raíles. Para su autor, Rails es un entorno ventajoso respecto a PHP para el desarrollo web.

Por otro lado, en EvaluatingRuby, Martin Fowler analiza tanto Ruby como ROR (Ruby On Rails). Lo considera una buena opción y relata algunas experiencias positivas dentro de su compañía.

Los procesos en el software

Juan Palacio analiza en Navegapolis las diferencias entre las empresas “manufactureras” y las empresas del conocimiento (como podría ser una empresa de software).

Las empresas manufactureras o industriales parten de una materia prima, sobre la que trabajan personas, usando unos procesos y aplicando una tecnología. En estas condiciones, las empresas tratan de optimizar su producción mejorando los procesos y minimizando el valor de las personas, ya que es la forma más eficiente de asegurar la calidad del producto de forma predecible.

Ahora bien, ¿qué ocurre cuando dicha mentalidad se aplica a las empresas de conocimiento? Para Juan Palacio, la clave es preguntarse ¿cual es la materia prima de una empresa de conocimiento?

La respuesta es: El talento.

Con esta premisa, minimizar el valor de las personas va en contra de la lógica ya que con una materia prima mediocre sólo conseguiremos productos mediocres.

Termina diciendo:

Las pautas que en los entornos industriales logran eficiencia, en el software producen mediocridad.
Gestionar empresas del conocimiento con teoría de management industrial genera productos mediocres y técnicos desmotivados.

Una muy interesante lectura.

Ruby on Rails en IEEE Computer Society

En enero eran 230.000 el número de copias descargadas de Ruby on Rails.
En la actualidad el 5% de los programdores lo usan de forma regular. Su principal fortaleza es la rapidez para el desarrollo de aplicaciones web: “Un programador de Rails puede hacer el mismo trabajo que un equipo de Java” (Curt Hibbs).
“En un pequeño desarrollo para una startup el código fue la cuarta parte, y el tiempo de configuración el 10% del que hubiéramos empleado con Java” (Bruce Tate).

Estas son algunas de las cosas que publica “en abierto” el número de Febrero de la revista de IEEE Computer Society en el artículo Will Software Developpers Ride Ruby on Rails to Success.

Google Page Creator

El rumor de que Google iba a lanzar un editor de páginas web se ha confirmado.
Google Page Creator es un servicio gratuito para diseñar y cargar tu propia página web en la dirección nombreusuariogoogle@googlepages.com

Pon un controlador en tus desarrollos web

Me ha parecido muy interesante el último artículo de Digital Web donde se habla de los patrones de presentación Web y la arquitectura Model-view-controller. Para los que no estén familiarizados con este tipo de metodologías, el dibujito que acompaña al artículo es muy esclarecedor:

El modelo se entiende con facilidad: cuando se realiza una petición HTTP, antes de volcar la respuesta (normalmente en HTML, pero el caso es el mismo cuando se devuelve XML, PDF, etc.) un mecanismo en el código evalúa los inputs, realiza las acciones oportunas basándose en un “diccionario” de posibles argumentos y establece el valor de variables y objetos globales. A continuación transfiere el control a la presentación de la página, donde la interfaz debería encargarse de indicar al usuario qué es lo que realmente hemos hecho con su petición: resultados de búsqueda, entrada en un backoffice, mostrar errores encontrados, etc…

El artículo plantea los dos casos de uso de este principio. El Page Controller es el uso natural, cada página se controla a sí misma y a veces podría ser una entidad independiente de todo el desarrollo. Este es el tipo de metodología que encontraremos en la mayoría de proyectos Web. El otro caso es el Front Controller, que extiende el modelo de escucha y control a cualquier petición realizada, y aunque cada página disponga de su propio módulo de presentación, el núcleo de respuesta que decide el estado del sistema es común a toda la aplicación.

Implementar un controlador es sencillo. Puedes hacerlo mediante una clase única que se instancia en cada petición, o bien un conjunto de variables globales, funciones, etc.

-Eh, que mi “aplicación” es una página web para la tienda de la esquina y no necesito ese rollo de controladores, como mucho para el formulario de contacto, y eso ya lo tengo arreglado.

Bueno, probablemente con lo que tienes puede bastar. Pero veamos qué ventajas pueden extraerse de introducir un controlador común a todo el desarrollo:

  • Antes de llamar al controlador puedes definir en sus variables el título de la página, palabras claves, imagen de la cabecera, etc. El controlador los almacena y las cabeceras y los pies de página pueden ser includes que tomen estas referencias del controlador. Muy útil para meter aquí todas las técnicas SEO.
  • Si la mayoría de las páginas contiene un formulario de búsqueda, enviar a un amigo, etc. el controlador podría encargarse de comprobar si se han realizado búsquedas, almacenar los resultados, etc.
  • Registra los referers y añade un sistema de estadísticas personalizado desde el controlador sin añadir más dependencias a la aplicación.
  • Controla el estado de las cookies u otro sistema para comprobar la identificación de usuarios en las páginas de administración.
  • En una única función/método se centralizan todos los casos de uso del sitio web, y si se aísla convenientemente de la presentación puede reutilizarse para otras interfaces de servicios web, sindicación RSS, etc.

Y a ti seguro que se te ocurren utilidades más específicas, prácticas y reutilizables.

Hay que huir de "la media"

Nuestro colaborador Juan Palacio relata en su weblog cómo una empresa de desarrolladores sobresalientes ve bruscamente disminuido su potencial y efectividad después de ser pasada por el rodillo de la normalización. Y es que si planificas todo tu entorno para adaptarte a la media de tu sector ¿es extraño que acabes con una empresa que no está mas que en la media?

Esto me recuerda a un chiste que se me ocurrió hace tiempo relativo al proceso de certificación de calidad ISO9000:

¿Cual es el ciclo de vida de una empresa?

Respuesta:

  • Formación.
  • Expansión.
  • Asentamiento-rentabilidad.
  • Decadencia.
  • ISO 9000.

Borland parece que encuentra el camino

Después de muchos intentos por lanzar una versión de su afamado Delphi que fuera lo suficientemente buena como para recuperar el respeto perdido, parece que con la versión 2006 lo han conseguido.

Un servidor todavía no lo ha probado, pero por lo que he leído por ahí parece que promete, y mucho:

Sinceramente, yo andaba ya buscando alternativas para la realización de aplicaciones de escritorio, principalmente mirando el VisualStudio de Microsoft, pero manteniendo la esperanza de que Borland reaccionase y se recuperara de las pifias del Delphi 8 y del 2005. Parece que va a ser así, sólo esperemos que no sea demasiado tarde. Una buena noticia para los que nos gusta este lenguaje.

Getting Real

Me encanta la serie de entradas en el weblog Signal vs. Noise que tienen por título común Getting Real.

Tienen como tema común el ir directamente al grano para producir un software útil, olvidándonos de los temas accesorios. Digamos que es una llamada a solucionar el problema que tenemos entre manos y centrarnos en nuestro producto, olvidándonos de “neuras” sobre marketing, organización, etc.

No están almacenadas en un sólo sitio, por lo que tendréis que navegar los archivos del sitio, pero aquí os dejo algunos enlaces a entradas concretas.

Acerca - Contacto - Información legal y técnica - Condiciones de uso - Noticias sobre el mundo del Desarrollo de Software.