Sofa Naranja ahora, con un 125% más de naranja

Publicado
22 December 2005 @ 12am

Categorías
Personal

Año Nuevo, Curro Nuevo

Pues eso… para estrenar el año como dios manda, nada como cambiar de trabajo (y de ciudad).

Proyectos interesantes (incluyendo alguno que ya está levantando polvo en la blogosfera hispano-parlante), compañeros que saben una barbaridad, nuevos desafíos…

Más detalles, en cuanto me dejen abrir la boca ;D

Update: abierta se me ha quedado la boca cuando he visto esto:


iSync con AppleScript

Una de las maravillas de Mac OS X es poder sincronizar los contactos y calendarios vía Bluetooth con tu PDA/móvil/smartphone…

Sin embargo, con la versión 10.4 (Tiger) del sistema operativo, Apple ha modificado el comportamiento de iSync, de manera que el menú de la barra superior no funciona (o al menos no lo hace como antes)

Si seleccionas en las preferencias de iSync “Show status in menu bar”, aparecerá un icono mediante el cual puedes sincronizar tu gadget favorito desde cualquier aplicación.

Lo probarás, veras que funciona muy bien, y te olvidarás del tema.

Hasta que otro día selecciones “Sync Now” y te escames de que tu teléfono parece no hacer nada… El icono se mueve, aquello parece que progresa adecuadamente, y ni siquiera aparece un mensaje de error.

Lo más probable es que se te olvide el incidente hasta que unos días después, en plena vorágine de trabajo, te des cuenta de que en tu PDA/móvil/smartphone faltan tareas, citas…

¿Qué pasa aquí?

Pues lo que pasa es una cosa tan simple como la siguiente: la opción “Sync Now” no funciona a menos que tengas abierto el iSync. Por qué los ingenieros de Apple decidieron no abrir el iSync si no está abierto es uno de esos grandes misterios de la vida que (de momento) quedarán sin resolver.

La cuestión es… ¿y cómo se arregla este problema?

La solución viene (como casi siempre que uno se pone a enredar con Mac OS X) de la mano de AppleScript.

Esto que viene a continuación es un pequeño script que sustituye a la opción “Sync Now” (y de paso te ahorras unos valiosos pixels en la barra de menú : )

tell application "iSync"
    activate
    synchronize
    repeat until syncing is false
        if syncing is false then
            quit
        end if
    end repeat
end tell

Si guardas el script en /Users/usuario/Library/Scripts/ y activas el menú de scripts, tendrás la misma funcionalidad que con el menú de iSync (con la ventaja añadida de que funciona : )

Que aproveche…


Publicado
6 December 2005 @ 12am

Categorías
Código, PHP

PHPMailer, o el email sin complicaciones…

Si te dedicas al diseño web, antes o después tendrás que enfrentarte con el siguiente marrón: “email en HTML”.

Para un proyectillo que tenía entre manos (un mini-gestor de listas de correo) me ha tocado revisitar el tema. En principio, pensaba usar algún proyecto OpenSource de los miles que hay por ahí, pero ninguno me servía porque:

  • Eran increíblemente complejos de usar
  • Eran increíblemente complejos de instalar
  • Eran increíblemente feos
  • Todas las anteriores

Con lo cual, he acabado fabricándome mi propio gestor de listas de correo, con soporte para plantillas, base de datos de destinatarios, y archivo de los emails enviados (y de paso con un poquito de AJAX : )

Mailer001

Investigando gestores de listas OpenSource me he encontrado con PHPMailer, una clase PHP que se encarga de gestionar todo lo que convierte al envío de emails en HTML en una pesadilla, para dejarte pensar en cosas más interesantes (como, por ejemplo, el contenido de tus boletines de noticias : )

A modo de ejemplo, aquí va el código para enviar los mails en HTML de mi gestor:

<?php
    require("phpmailer/class.phpmailer.php");
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->Host = "mail.flumo.com";
    $mail->Username = "usuario";
    $mail->Password = "password";
    $mail->SMTPAuth = true;
    $mail->CharSet = "UTF-8";
    $mail->From = "info@flumo.com";
    $mail->FromName = "Flumo.com";
    $mail->IsHTML(true);
    $mail->Subject = $_POST['subject'];
    $mail->AltBody = $_POST['header']."\n\n".$_POST['body'];
    $mail->AddEmbeddedImage('logo.gif','my-logo');
    $mail->AddEmbeddedImage('bg.gif','my-bg');
    /* Destinatarios */
    $mail->AddAddress('info@flumo.com','Lista de correo de Flumo.com');
    if($_POST['database'] == 1){
        $usuarios = $db->get_results("SELECT * FROM usuarios");
        foreach($usuarios as $usuario){
            $mail->AddBCC($usuario->email,$usuario->name);
        }
    }
    if($_POST['destinatarios']){
        $to = explode(",",$_POST['destinatarios']);
        foreach($to as $tos){
            $mail->AddBCC($tos);
        }
    }
    /* Plantilla */
    $template = file_get_contents('templates/flumo.tpl','r');
    $display = str_replace("%%header%%",$_POST['header'],$template);
    $display = str_replace("%%body%%",$_POST['body'],$display);
    /* Imagenes */
    $display = str_replace("logo.gif","cid:my-logo",$display);
    $display = str_replace("bg.gif","cid:my-bg",$display);
    $mail->Body = $display;
    /* Envio del mensaje */
    if(!$mail->Send()) {
        echo "El mensaje no pudo ser enviado.";
        echo "Error: " . $mail->ErrorInfo;
    } else {
        echo "El mensaje ha sido enviado.";
    }
?>

En el código hay un par de cosillas que usan ezSQL, pero de esa otra maravilla ya hablaremos otro día…

El resultado, una cosilla así:

Mailer002

Si tu próximo proyecto tiene algo que ver con email y usas PHP, te debes a tí mism@ echarle un vistazo a PHPMailer.

Update: Un artículo bastante bueno en cristiano sobre PHPMailer en programacion.com


Publicado
23 November 2005 @ 11pm

Categorías
WordPress

WordPress 2.0 Beta

Pues eso… celebrando la inauguración de WordPress.com, WordPress anuncia la beta de WordPress 2.0 (lo que antes se llamaba WordPress-1.6-ALPHA, supongo)

Novedades… pues sin leer las Release Notes, aparentemente hay cambios cosméticos a tutiplén… mucho AJAX, muchos textfields con fuentes de 12 pixels y mucho botón gordo.

El nuevo sistema para escribir posts (con editor WYSIWYG que no funciona en Safari) es bastante más agradable de usar que en WP1.5 (y por fín le han puesto una opción para subir imágenes mientras escribes un post :)

La experiencia de uso es bastante más triste en Safari que en Firefox/Mozilla/Camino… es de esperar que en sucesivas revisiones se vayan corrigiendo estos fallitos.

Más cosillas nuevas… un plugin para hacer backups (por fin!) y otro para filtrar el SPAM en los comentarios… mejoras en el sistema de Permalinks, en la subida de ficheros (milagro! ahora se clasifican en carpetas!).

También se mejora la gestión de usuarios (el sistema de niveles numéricos era una auténtica pesadilla) y hay novedades en el gestor de temas (entre otras cosas, una previsualización de los temas, que se agradece bastante)

En definitiva… una versión muy interesante… habrá que someterla a sus torturas correspondientes :)


LaCie Brick

Los colegas de LaCie, no contentos con fabricar los mejores discos duros externos del mundo, presentan un producto que va directo a mi lista de deseos: LaCie Brick, un híbrido entre almacén de datos y Lego.

El principal inconveniente es que (aparentemente) no los fabrican en versión FireWire… (bueno, y que no lo tienen en naranja :)