23 febrero 2009

Red Hat invita a la comunidad FOSS a combatir a los trolles

Redhat ha lanzo una invitación a la comunidad FOSS (Free and Open Source Software) para apoyarles en la lucha contra los secuestradores de patentes (patent trolls). Según leí desde Fedora México el problema es que una empresa de nombre Acacia Technologies a través de su subsidiaria (IP Innovation) esta demandando a Red Hat y Novell por el uso de una interfaz que usa múltiples escritorios y se busca mostrar trabajos previos para anular la demanda. Aquellos que deseen apoyar pueden brindar su ayuda desde el Post Issue Peer to Patent, describiendo proyectos previos que hagan uso de esta tecnología. A grandes rasgos la Post Issue Peer to Patent es un proyecto del Centro de Innovación de Patentes operado por la escuela de leyes de New York en conjunto con la oficina de marcas y patentes de Estados Unidos desarrollado para ayudar a mejorar la calidad de las patentes, la operación de los sistemas de patentes y el acceso a la información con respecto a las patentes.
Las ligas siguientes muestran más detalles del tema:

21 febrero 2009

COALESCE (Transact-SQL)

Hace poco estaba buscando la manera de que una query de selección SQL restringida por 4 parámetros unidos a su vez por AND, devuelva resultados a pesar de enviarle menos de los parámetros necesarios. Para explicar mejor mi punto, el código SQL era muy similar al siguiente:
DECLARE @param1 VARCHAR(25)
DECLARE @param2 VARCHAR(25)
SET @param1 = NULL
SET @param2 = NULL
SELECT id, nombre, grado, area FROM empleados
WHERE grado = @param1 AND area = @param2;
Lo anterior indica que si las dos expresiones después de la clausula WHERE son TRUE entonces se regresan resultados. ¿ Pero que sucede si solo mando un parámetro y yo deseo que busque por ese único parámetro ?, es ahí donde entra la función COALESCE. Básicamente evalúa una serie de expresiones y devuelve la primera expresión diferente de NULL, en cristiano: "El primer parámetro que lleve algún valor es el que se toma en cuenta". Ahora usaré el código anterior aplicando la función COALESCE:
DECLARE @param1 VARCHAR(25)
DECLARE @param2 VARCHAR(25)
SET @param1 = NULL
SET @param2 = NULL
SELECT id, nombre, grado, area FROM empleados
WHERE grado = COALESCE(@param1,grado) AND
area = COALESCE(@param2,area);
El cambio en el código fue usar la función donde se comparan las columnas empleados y area con @param1 y @param2 respectivamente. Al hacer esto, si por ejemplo @param1 no lleva valor entonces se regresará grado, que en este caso es una columna. Comparar la columna por si misma ayuda a que esa comparación devuelva un TRUE para todos los resultados posibles y así discriminar la búsqueda solo por el criterio restante (@param2).
Usar COALESCE es como usar un SWITCH que por defecto regresa un valor NULL. Para más detalle sobre la función dejo éstas ligas: COALESCE en Wikipedia y Microsoft Technet

01 febrero 2009

Jquery 1.3 Liberado

A partir del 14 de Enero del presente año el Proyecto Jquery paso de 1.2.x a 1.3. Esto es significativo ya que muchos desarrolladores que usamos este framework, a su vez, usamos plugins para extender las capacidades de nuestros desarrollos y el hecho de que haya una nueva versión no significa que vamos a actualizar el Jquery de nuestros desarrollos previos. Eso es por que puede haber problemas en compatibilidad, los cuales causarían comportamiento anomalo en sistemas ya terminados. Recomiendo el uso de la versión 1.3 para el desarrollo de nuevos sistemas y si deseas actualizar versiones anteriores de Jquery, las cuales estén en sistemas ya en productivo, tomen en consideración lo anterior. Otra cosa importante es que este 21 de Enero se liberó la versión 1.3.1; para que puedan usar la versión más nueva les recomiendo ir directamente al sitio oficial de Jquery.