Este es un proyecto cancelado que no recibe actualizaciones. No obstante, puedes acceder a su archivo como referencia.

Versión Cero

"Nosotros hacemos Scrum"

En esto de Scrum y las metodologías de gestión de proyectos en general existen dos corrientes de pensamiento principales. Una es la encabezada por Jeff Sutherland, co-creador de Scrum y gurú de las metodologías Ágiles: según él, para que Scrum funcione hay que ceñirse estrictamente a las reglas, y todo lo que no pase el checklist completo no puede llamarse Scrum (y de hecho debería estar perseguido por la iglesia y garantizarte una buena temporada en los fuegos del infierno).

Otra la forman los que piensan que no hay una policía del Scrum que vaya a venir a detenerte si decides formar equipos de 14 personas cuando la norma es de entre cuatro y diez personas por equipo, o que rodeen el edificio con sirenas y megáfonos si llegáis a la conclusión de que los Sprints de duración fija no son para vosotros.

Leer completo...

Concept Programming

A través del artículo Dip into concept programming de Phil Manchester en Reg Developer he estado leyendo unas Diapositivas sobre Concept Programming de Christophe de Dinechin y el lenguaje de programación extensible XLR

La idea, hasta donde yo la entiendo, es un lenguaje que te permita definir tu propia sintaxis para expresar conceptos.

En principio, la idea está muy bien, todos sabemos que en ocasiones es preciso escribir un código muy retorcido para expresar algo muy simple.

Por ejemplo: “Devolver true si el elemento x está en la lista {a, b, c, d}” En los lenguajes imperativos esto requiere escribir un bucle o usar un iterador, en los funcionales ese tipo de funciones se expresan de forma más natural, aunque la notación todavía puede quedar bastante inintelegible.

Lo que propone Dinechin es un lenguaje donde esté permitido escribir cosas como:
function Add (A, B : array) return array written A+B
dando así la notación del lenguaje para expresar el concepto de sumar dos matrices.

El problema es que esto ya se ha intentado, y no ha salido bien. El lenguaje conceptual por excelencia son las matemáticas clásicas. Cuya notación es tan críptica que resulta imposible de leer sin años de formación previa. Los matemáticos te calzan una hache mayúscula negrita para expresar Dios sabe qué espacio vectorial H y si te encuentras una â con acento circunflejo ya agárrate los nachos a saber lo que significa. Para colmo de males, fuera del cálculo y el álgebra básicos, ni siquiera hay una notación totalmente estándar o un manual de referencia general sobre notación matemática que puedas consultar.

Es decir, que yo creo que la idea está bien, pero no estoy seguro de que sea una buena cosa abrir la veda y que cada cual se invente su propio idioma de programación según le venga en gana.

Programar no es sólo hacer matemáticas

Sergio Montoro

Cada cierto tiempo se oyen voces críticas sobre la falta de rigor con la que trabajan la mayoría de los programadores. La falta de métodos formales de verificación y benchmarking produce muchos programas lentos y nada fiables. Pero ¿es la programación sólo una extensión de las matemáticas por otros medios?

Leer completo...

Consejos para comentar tu código

Interesante el artículo de Variable not found donde nos da 13 consejos para comentar nuestro código.

Son todos consejos muy bien traídos y me gusta sobre todo que van más allá de la implementación concreta en un lenguaje concreto y en lugar de eso se centra en cual debe ser el espíritu de los comentarios: No comentar lo evidente, escribir código que esté autocomentado, comentar como parte del proceso de programación, no después, etc.

AntiSamy: Validación de HTML/CSS

Ya he dicho por aquí en varias ocasiones que creo que OWASP es un proyecto estupendo. Dedicado a proporcionar información y herramientas para la programación segura de aplicaciones web, creo que es una web indispensable para cualquiera que se quiera llamar desarrollador web.

Uno de los últimos componentes que ha lanzado es AntySamy, una librería que nos permite validar que un texto html/css se adhiere a una serie de reglas de seguridad. Sirve para cuando queremos aceptar una serie de html/css del usuario (por ejemplo, para un comentario o una página de perfil) pero no queremos que eso nos suponga un problema de seguridad.

Lo interesante de la solución es que es completamente configurable en cuanto a qué aceptaremos. De hecho, la librería se distribuye con varios perfiles que imitan lo que se acepta en varias sitios web muy conocidos (slashdot, ebay, myspace).

Es una librería Java, pero anuncian versiones para .Net y para PHP.

¿El precio de nuestra aplicación web?

Algunos consejos prácticos sobre cómo poner precio a tu aplicación web: How to price your web application. Es una lectura interesante en la que se nos habla de cómo diferenciar los distintos planes, qué estrategia de precios puede resultar interesante, etc.

Si os interesa este tema y no lo habéis leído, es imprescindible leer Camels and Rubber Duckies de Joel Spolsky.

Por cierto, leyendo el artículo sobre Endeve en Alzado la respuesta parece ser: En España, mejor no le pongas precio.

Resumiendo: Endeve es una aplicación para gestionar nuestras facturas, especialmente recomendado para autónomos y pequeñas empresas. Hace un año, decidieron abrir la plataforma y poner gratuita una buena parte de su funcionalidad. Aunque han conseguido multiplicar sus usuarios (gratuitos) un 800%, parece que muy pocos usuarios pagan por el servicio (o por lo menos esa es mi impresión tras leer el artículo).

¿Cual es el problema? ¿Quizá esa aplicación no interesa a su publico objetivo? ¿O es que en España nadie quiere pagar por una aplicación web? ¿Alguna empresa ha conseguido vivir de una aplicación web?

Ruby: Mejoras de rendimiento

Buenas noticias para los desarrolladores Ruby: Parece que la próxima versión “1.9” mejorará ampliamente el rendimiento. Y no solo respecto a la versión actual, sino respecto a los distintos interpretes alternativos que han ido surgiendo y que hasta ahora superaban en muchos casos al interprete “oficial”.

En el siguiente gráfico podemos ver una comparativa entre las distintas alternativas:

Tiene demasiadas funciones

De las mejores anécdotas que he leído sobre programadores chapuceros. Se puede leer en esta entrada de Worse Than Failure, donde un programador implementa una hastable en lugar de utilizar la que viene por defecto con la plataforma.

Lo de menos es que haga un trabajo inútil y que su implementación sea posiblemente la peor de la historia de la programación. Lo hilarante es que cuando se le pregunta por qué lo ha hecho, responde que la clase que venía con la plataforma tenía demasiadas funciones por lo que obviamente sería más lenta que su versión, que sólo tenía las tres funciones que él necesitaba X-D

Google Chart API

Y seguimos con gráficas. Google lanzó ayer mismo un API remoto para desarrolladores que les permite crear gráficas en su página web, sin más que incluir llamadas a una url de Google (http://chart.apis.google.com/chart) pasando los parámetros adecuados. Esta llamada devuelve un PNG que será insertado en la página.

Tiene multitud de opciones y tipos de gráficas que se soportan y como gran ventaja tiene el que no requiere instalar ningún componente en absoluto en nuestro servidor. Ejemplo de gráfica servida en tiempo real:

Como defecto, decir que tiene un límite de 50.000 accesos por usuario y día. Dado que en un mensaje del grupo de discusión aclaran que por usuario se refieren a sitio web donde la gráfica es insertada, pues quizá queda un poco limitado para sitios extremadamente populares o que bruscamente reciben multitud de visitas por ser referenciados en un un sitio web popular.

Componentes para gráficas Web

No va a ser solamente Google Analytics quien pueda poner unas estupendas gráficas. Si necesitas mostrar este tipo de información en tus aplicaciones web, aquí tienes un par de opciones que creo que son interesantes:

Open Flash Chart

Los datos se bajan de un fichero xml con lo que es muy sencillo generarlos dinámicamente en cualquier lenguaje de servidor. La cantidad de tipos de gráficas y opciones es increíble.

  • Flot. Si preferimos huir de la tecnología Flash, Flot es un plugin para jQuery que nos proporciona las funciones básicas de gráficas directamente desde javascript.

Flot

Esta es una solución menos potente que la anterior (es también una versión inicial, que se supone que irá mejorando) pero puede ser más conveniente en ocasiones.

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