miércoles, 27 de abril de 2011

Conversión de formato por lote de imágenes con IrfanView


Hoy tuve la oportunidad de recordar una vieja herramienta que utilizaba en mis años universitarios; El IrfanView. Esta herramienta destacaba en aquel entonces por ser bien ligera y rápida para navegar en galería de imágenes. Hoy volvió a resurgir porque andaba buscando una herramienta que me permitiera hacer conversión de archivos por lote. Convertir una carpeta con una cantidad grande de imágenes BMP a JPG. En inglés a este tipo de operación se le llama "batch conversion". No defraudó el IrfanView haciendo la operación de manera eficiente.


Links de descarga:

martes, 26 de abril de 2011

Cacoo: Excelente opción en línea para creación de diagramas

Me puse a investigar hoy acerca de alguna herramienta que me permitiera crear wireframes para un sitio web que tengo en mente. En un par de minutos aterricé en un artículo donde se recomiendan las mejores 15 herramientas para wireframes entre las cuales hay varias gratuitas y otras de pago.

Sorprendentemente, el primer lugar es una herramiente gratuita en línea que después de probarla un poco, me di cuenta que no iba a necesitar explorar el resto de la lista. Esta herramienta se llama Cacoo y es en verdad gratuita, no como las herramientas que te permiten crear lo que querías para luego darte cuenta que no puedes salvar o exportar tu trabajo, o te meten leyendas en agua.

Cacoo se puede utilizar para todo tipo de diagramas, y asombra su facilidad de uso y diversas opciones que ofrece. En particular me gusta las guías de layout que muestra cuando uno va a mover un elemento. Cuando lo probé con el wireframe, me muestra la alineación de un elemento con respecto a las cajas del menú horizontal. Eso es de bastante ayuda para dejar todo bien ordenado.

Este es un ejemplo bastante sencillo. Afortunadamente el sitio ofrece una plantilla de wireframe que uno puede usar como referencia de todo lo que se puede hacer.


Si fuera algún tipo de gerente de nuevas adquisiones de Google, fijo pondría esta herramienta junto con la compañía en la mira.

sábado, 23 de abril de 2011

Programación Android: Primeros pasos

En esta entrada de blog quisiera recomendar un video tutorial que explica de manera muy concisa, cómo instalar el ambiente para el desarrollo en Android. No pretendo detallar mucho pues el tutorial es muy claro. En resumen, los pasos a seguir son los siguientes:
  1. Revisar pre-requisitios: Java SDK (1.6 hacia arriba preferiblemente) y Eclipse como IDE de desarrollo (cualquier versión reciente funciona. En mi caso yo utilizo Helios).
  2. Decargar e instalar el SDK de Android.
  3. Ejecutar el administrador del SDK de Android (SDK manager).
  4. Ir al menú de la izquierda en la opción de paquetes disponibles ("available packages") y seleccionar la versión del API para descargarla. En este momento la 2.2 es la más utilizada. También es bueno descargar los ejemplos de la API.
  5. Instalar el plugin Android para eclipse (instrucciones disponibles en el sitio del SDK).
  6. Ir a las preferencias de Eclipse para configurar el path en donde está el SDK de Android.
  7. Para probar que todo funciona bien, creamos un nuevo proyecto de tipo Android el cual crea una clase principal con un simple "Hola Mundo".
  8. Ejecutamos el proyecto como una aplicación de Android.
  9. La primera vez para a solicitar que se configure en un emulador de un dispositivo Android. Se hace con las características deseadas como tamaño de pantalla y cantidad de memoria del dispositivo.
  10. Arranca el emulador (puede tomar un rato) y se ejecuta la aplicación desplegando el hola mundo.

miércoles, 20 de abril de 2011

Notepad++ : Plugin "Compare" para sacar diferencias entre archivos

Necesitaba hacer una comparación entre dos versiones de un archivo así que me di a la tarea de buscar una típica herramiente de comparación; también a veces conocidas como DIFF. Después de buscar un poco pensé que uno de los mejores editores de texto, Notepad++, debería tener un funcionalidad de comparación ya incluída.

Efectivamente, en las más recientes versiones de este editor ya viene un plugin incluido: "Compare".


Así que otro Kudos a esta magnífica herramienta.

lunes, 11 de abril de 2011

PHP: Configurando bien el path para tus galletas

Recientemente me di cuenta que el parámetro ´path ´ es necesario a la hora de configurar una galleta (cookie en inglés) si se quiere que otra página en un path diferente (no en un subdominio diferente) pueda accesarla. Me tomó rato descubrir esta verdad elemental de las galletas.

Si se desea que cualquier path del mismo subdominio pueda leer la galleta, entonces el path se pone con la típica barra inclinada que representa el directorio raíz.

setcookie("cookieName", "cookieValue", time() * 3600 * 24 * 30 /*30 days*/, "/");

miércoles, 6 de abril de 2011

Diccionario Java-PHP

Dado que recientemente he tenido que meterme a codificar un poco en PHP, he decidido mantener una entrada de post para ir traduciendo sentencias de lenguaje Java a PHP. Esto dado que se puede decir que Java es mi "lenguaje nativo". Me resulta más fácil imaginarme como lo haría en Java y luego simplemente buscar su traducción a PHP.


Pare revisar que una cadena no es nula y no viene vacía

Java
if (someString != null && someString != "") { // Do something.}
PHP
if (isset(someString) && ! empty(someString)) { // Do something. }

Pare revisar si una cadena está contenida en otra

Java
if (plainString.contains("foo!")) { // Do something. }
PHP
if (strpos($plainString, "foo!") !== false) { // Do something. }

Reemplazar una secuencia de caracteres por otra

Java
myString = myString.replace("x", "y");

PHP
str_replace("x", "y", myString);



Obtener el tamaño de un arreglo


Java
int size= array.length;

PHP
$size = count($array);

martes, 5 de abril de 2011

Error de instalación en WordPress: "failed to open stream ../wp-load.php"

En estos días me convencí por testimonios personales, de mejor tratar de usar WordPress en lugar de Joomla como CMS para un sitio que tengo en mente. Aparentemente una de las características principales de WordPress es su facilidad de uso. Eso incluye la instalación que en teoría se hace en menos de 5 minutos. Pero por ley de Murphy caí en el peor caso. Seguí los pasos que básicamente pedían solo configurar la información para la conexión de la base de datos. El problema comenzó cuando traté de accessar el "install.php". Me daba este error:

require_once(../wp-load.php) [function.require-once]: failed to open stream: No such file or directory in /un/path/largo/wp-admin/install.php on line ##

Como en todo, después de googlear un buen rato, leí en un foro que a veces el archivo zip se descomprime incorrectamente dejando los paths incorrectos. En mi caso el susodicho "wp-load.php" estaba quedando al mismo nivel del "install.php". Y como se observa la ruta lo pide un nivel más arriba.

Así que volví a extraer el zip seleccionando la opción de extraer rutas absolutas:


Y listo. El resto de la instalación sí fue verdaderamente express. Ahí continuaré informando de mi experiencia con dicho CMS.