Task Coach – Gestión de tareas

Lunes, 14 Enero 2008 No hay comentarios

Task Coach es una utilidad open-source (GPL-2) que permite la creación de tareas, y subtareas, y a las que se pueden anexar archivos, urls, emails directamente desde Outlook – Thunderbird y que además permite llevar un control de tiempo gastado en cada tarea.

taskcoach.png

Es la herramienta perfecta para empresas y para freelance, ya que permite llevar un control exhaustivo del tiempo gastado en cada tarea así como qué se ha hecho en cada franja de tiempo, mediante el adjunto de archivos, emails y textos.

Existe versión para Linux, Mac OSX y Windows.

Si te instalas la versión de linux antes deberás instalarte los paquetes de Python y Python-wxgtk. Además, si dispones de Ubuntu, ya existen los paquetes de Task Coach en los repositorios por defecto, para instalarlo debes teclear el comando:

sudo apt-get install python python-wxgtk2.8 taskcoach

Si quieres más información y descargarte la aplicación ve a www.taskcoach.org


Google Android

Lunes, 12 Noviembre 2007 No hay comentarios

Acaba de salir la SDK para Google Android. Al final se trata de una plataforma Linux con una capa de Java. Cada aplicación desarrollada se ejecuta dentro de su propia sandbox de forma que no interfiera la ejecución de las demás aplicaciones.

Más info en http://code.google.com/android


Serialización de llamadas Ajax con Prototype

Jueves, 2 Agosto 2007 2 comentarios

En javascript un caso que se puede dar, aunque no demasiado común, consiste en necesitar serializar llamadas Ajax asíncronas, es decir, realizar una serie de llamadas Ajax asíncronas de forma que el usuario puede seguir manejando la página pero que las llamadas se realicen en el orden en que se vayan pidiendo de forma que al servidor sólo le lleguen las llamadas una detrás de otra sin que se pueda dar el caso de realizar dos llamadas Ajax simultáneas al servidor.

Para ello, he creado un código que permite realizar esta tarea y cuya utilización es muy sencilla: una vez importado el código, para serializar las llamadas sólo hay que llamarlo de la siguiente forma:


AjaxSerializer.request(url1, options1);
AjaxSerializer.request(url2, options2);
AjaxSerializer.request(url3, options3);
...

En donde url y options son los mismos parámetros que pasarías en una llamada a la clase Ajax.Request de Prototype

Aquí va el snippet:


AjaxSerializer = Class.create();
AjaxSerializer.prototype = {
    _activeRequestCount: 0,
    _pendingData: new Array(),

    initialize: function() {
        Ajax.Responders.register({
            onComplete: function() {
                if (this._pendingData.length > 0) {
                    var url = this._pendingData.shift();
                    var opts = this._pendingData.shift();
                    this._activeRequestCount++;
                    new Ajax.Request(url, opts);
                }
                this._activeRequestCount--;
            }.bind(this)
        });
    },

    request: function(url, opts) {
        if (this._activeRequestCount == 0) {
            this._activeRequestCount++;
            new Ajax.Request(url, opts);
        } else {
            this._pendingData.push(url, opts);
        }
    }
}
var AjaxSerializer = new AjaxSerializer();


Desarrollando para Mozilla

Viernes, 2 Marzo 2007 2 comentarios

Estoy haciendo un poco de investigación acerca de la programación para Mozilla ya que Mozilla, además de un excelente navegador, realmente es una plataforma de aplicaciones.

Básicamente, si sabes programar en Javascript, aprendes XUL (un XML de presentación de datos que “sustituye” al HTML) y conoces CSS, entonces puedes desarrollar plugins e incluso aplicaciones completas sobre esta plataforma.

Ahí va el primer consejo: desactiva la caché de XUL de Mozilla, así podrás ir modificando el programa y con un simple CTRL+R recargando el programa en Mozilla sin tener que reiniciarlo cada vez que haces un cambio.

Para ello, en la barra de navegación debes teclear:

about:config

y establecer la siguiente clave/valor:

nglayout.debug.disable_xul_cache  /  true

En caso de que no exista esa clave, puedes pulsar con el botón derecho del ratón y seleccionar “Nuevo” de tipo “Lógico” o “Booleano”.


Imágenes embebidas en html

Jueves, 22 Febrero 2007 4 comentarios

Existe una forma muy original y poco conocida de embeber imágenes (habitualmente archivos PNG o GIF) dentro del propio código HTML.

Para ello hay que hacer uso de la siguiente codificación:

data:[<MIME-type>][;base64],<datos>

En <MIME-type> se especifica el tipo de archivo que va embebido. Por ejemplo, image/png.
En base64 hay que escribir eso mismo si la codificación del archivo embebido es esa (lo más habitual es que así sea).
Por último, van los datos como tales.

Punto rojo

Equivale a visualizar una imagen que representa un punto rojo: Punto rojo

Si quieres, para probarlo, puedes meter aquí una imagen que tengas para obtener la codificación en base64 de la misma:

Imagen a codificar:


« Artículos anteriores