ofensa a Unix

21 mayo, 2011 at 18:20

Hoy recibí otro se esos correos raros que hacen que uno mueva la cabeza de lado a lado, haciéndose preguntar la razón por la cual aún no filtro estos mensajes para enviarlos directo a la papelera o construir un script para su destrucción inmediata.

Me pregunto que opinarían los expertos en Unix al ver una publicidad como esta, donde les ofrecen un curso para Unix mediante un archivo con extensión “.ppsx”, que por lo demás al solo ver la extensión ya no dan ganas de leer ni siquiera el nombre ni mucho menos correr el riesgo de abrirlo con tu sistema Unix.

Ayayay… donde irá a parar el mundo…Dios mio perdónalos, por que no saben lo hacen al juntar en el mismo correo publicidad de un curso de excel con uno de Unix. Por suerte Ken Thompson no lee ni estos correos ni este blog 😀 o moriría de un infarto aquí mismo…

unix_ppsx

Así se expresa la gente de hoy.

12 mayo, 2011 at 16:26

tumblr_ll28ngvY6J1qidxo4o1_500

Cálculo automático de porcentaje para tareas madres y porcentaje de avance de proyecto en web2project

9 mayo, 2011 at 11:39

Llevo varios años utilizando sistemas de gestión de proyectos y uno de los sistemas libres que más me gusta el DotProject , sin embargo el poco movimiento que ha tenido en los últimos años me ha hecho moverme a una de sus variantes, Web2project.

Web2project es un clon mejorado de Dorproject, tiene varios plugins publicados que incrementan notablemente las capacidades del sistema. Sin embargo posee algunos detalles que se podrían considerar como críticos por algún project manager.

Una problemática que me ha dejado bastante intranquilo es que actualmente en web2project no se calcula automáticamente el porcentaje de avance de las tareas madres cuando una tarea hija es modificada. Es decir si una tarea contiene 4 subtareas, es lógico que el porcentaje de avance cambie si una de sus subtareas lo hace. De la misma forma si una subtarea de una tarea cambia, es lógico que el porcentaje de avance total del proyecto también lo haga, cosa que actualmente no sucede.

Para solucionar este problema, hemos implementado un trigger, que se preocupa de verificar los % de avance de cada tarea madre cada vez que una tarea hija sufre cambios. de esta forma el % de avance total del proyecto siempre indicará el valor correcto del momento.

Dejo a continuación los códigos SQL que implementan la función que calcula el nuevo porcentaje y el código del Trigger que se mantendrá atento cuando se realicen cambios.

//*****************************************
// FUNCION QUE CALCULA EL NUEVO PORCENTAJE
//*****************************************
CREATE FUNCTION new_percent (id_tarea int) RETURNS decimal(6,2)
BEGIN
DECLARE salida decimal(6,2);

SELECT
CAST(
round(
IF(
( SELECT COUNT(stasks.task_id)
FROM ((`tasks` AS stasks))
WHERE stasks.task_id <> tasks.task_id
AND stasks.task_parent = tasks.task_id
) = 0,
task_percent_complete,
( SELECT ifnull(SUM(stasks.task_percent_complete),0)/if(COUNT(stasks.task_id)=0,1,COUNT(stasks.task_id))
FROM ((`tasks` AS stasks))
WHERE stasks.task_id <> tasks.task_id
AND stasks.task_parent = tasks.task_id
)
),2)
AS DECIMAL(6,2)
)
AS X into salida
FROM ((`tasks` AS tasks))
where task_id = id_tarea;
RETURN salida;
END

//*****************************************
// Trigger
//*****************************************

CREATE TRIGGER update_task AFTER UPDATE ON tasks
FOR EACH ROW
BEGIN

update tasks set task_percent_complete = round(new_percent(task_id),0);
END

espero les sea útil.

«Para poder tener internet en Linux necesitas Windows» … Fail !

31 enero, 2011 at 13:39

Según nuestros amigos de VTR.com, para poder instalar un plan de banda ancha en tu computador con linux, uno de los requerimientos es tener Windows…. WTF.!

Vtr_Linux_Fail

Alternativa a json_encode() de php

22 diciembre, 2010 at 11:54

La versión 5.2 de php tiene la posibilidad de agregar la función json_encode() si cargamos una librería en el php del servidor. json_encode() tiene la capacidad de convertir la mayoría de los datos de php en estructuras de datos válidos para JavaScript.

Lamentablemente algunos proveedores de hosting no habilitan json_encode(). Pero no se precupen, ya tenemos la alternativa :).

jsonwrapper ( http://www.boutell.com/scripts/jsonwrapper.html ), provee de las funciones necesarias para reemplazar y/o crear una alternativa a json_encode en los servidores que no la tengan soportada. Solo es necesario agregar un » require ‘jsonwrapper.php’; » en nuestro código ( y evidentemente subir la librería a nuestro directorio fuente ) para que todo funcione de maravilla.

sitio oficial de jsonwrapper –> http://www.boutell.com/scripts/jsonwrapper.html

Delineación Asistida de Cuerpos de Agua con Lake Walker para OpenStreetMap

12 diciembre, 2010 at 17:00

Hace algunos días me he encontrado con LakeWalker, un buen plugin para delineación asistida, disponible para el editor JOSM de OpenStreetmap. No es espectacularmente bueno, pero al menos cumple con las funcionalidades básicas esperadas en una herramienta como esta.

Para quienes realizamos aportes constantes a OpenStreetmap, puede resultar bastante interesante la integración de esta herramienta en el proceso de delineación de cuerpos de agua u otros sectores de características parejas ( como bosques o caminos ).

LakeWalker por ahora solo trabaja con imágenes liberadas de LANDSAT, por lo que no siempre es posible acceder a resultados en donde no se quieran correcciones.

Según el destripe que he realizado del plugin, el funcionamiento consta en descargar una imagen satelital infraroja desde landsat de la zona donde se ha seleccionado la delineación asistida. Generando de esta forma la traza de puntos, lineas y/o polígonos necesarios.

No es mala idea usar Landsat, pero según he visto estos último días, el servidor WMS de la NASA que cuenta con estas imágenes, no siempre está disponible ( al menos para la red de Chile ). ( He estado pensando seriamente en mejorar el plugin para permitir usar imagenes infrarojas propias ).

LakeWalker ya viene incorporado en las últimas versiones de JOSM, por lo que si actualizar su software podrán probarlo.