De GoogleMaps a LocalLive

Desarrollo de software, Web August 27th, 2007

Después de tener todo prácticamente listo con GoogleMaps aparece un problema inesperado. No habíamos notado que a diferencia de GoogleEarth, GoogleMaps no muestra la división política ni las etiquetas de nuestros departamentos y municipios. Estuve buscando una posible solución y no la encontré. Según comentarios, GoogleMaps sólo muestra esta información para pocos países.

Evaluando el servicio de Microsoft, LocalLive, encontré que este si muestra toda la información que necesito. No quería hacer el cambio, pero tocó. Me gusta mas Google y tengo mucha mas información que del producto de Microsoft pero no hay nada que hacer si no muestra los municipios.

Después de dos horas de pruebas y armado con únicamente con la API y los ejemplos que trae inmersos en ella realicé mi primer demo estático con las funciones que necesito.

  • Mostrar un mapa.
  • Cambiar el estilo a híbrido.
  • Ubicarlo en el espacio que deseo.
  • Capturar y mostrar la información relacionada con los eventos de click y de zoom.
  • Manipular el control por defecto (ocultarlo).
  • Agregar marcas y anexarles información relacionada, incluyendo un icono personalizado.
  • Revisar la documentación respecto a su licencia.

El siguiente paso es posibilitar la manipulación de la información (búsquedas) y su persistencia en bases de datos.

Esta primer aproximación al servicio LocalLive puede accederse en el siguiente URL: http://demo.jorgeivanmeza.com/LocalLive/too_simple_demo/start.html

Una aproximación similar había hecho con GoogleMaps hace un tiempo. Esta puede consultarse en el siguiente URL: http://demo.jorgeivanmeza.com/GMaps/too_simple_demo/start.html

Tags: ,

JavaFX

Personal August 24th, 2007

En mayo SUN realizó el lanzamiento de una nueva tecnología que se ve interesante en dos versiones: JavaFX Script y JavaFX Mobile.

Según una mini-ultra-rápida búsqueda en internet JavaFX Script es un lenguaje de script para el desarrollo de aplicaciones basada en Java. Según los ejemplos se ve sencillo de aprender, basado en JavaScript (muy parecido a JSON si no es igual) y supuestamente soporta la estructuración POO de Java. JavaFX Mobile es algo mas ambicioso, es todo un sistema operativo (basado en Linux) para dispositivos móviles (teléfonos) que tendrá por supuesto soporte para JavaFX Script.

Desplazará/reemplazará de alguna manera el Script sobre el Mobile a los dispositivos actuales con sistema operativo propietario corriendo aplicaciones J2ME ? Reemplazará el Script a tecnologías como JavaScript, Flash/Flesk o MS Silverlight ?

Espero mas adelante tener tiempo de aprender un poco mas.

The JavaFX Script Programming Language: https://openjfx.dev.java.net/JavaFX_Programming_Language.html.

Tags:

Divertimentos varios

Películas, Videojuegos August 24th, 2007

Películas.

  • The Simpsons: Muy buena, debe verse. Historia simple adobada con muchos momentos graciosos.
  • Transformers: Muy buena, debe verse. Los mismos Autobots con los que me crié.
  • Esto huele mal. Véasela no necesariamente en cine. Es buena. Es cine colombiano. Corta. La puede alquilar después sin problemas.
  • Die Hard 4.0: Se deja ver. Película de acción en la que todo lo soluciona el protagonista quien a pesar de estar terriblemente herido anda por ahí riéndose. La puede alquilar después o ver algún domingo en televisión.

Juegos.

  • Lego Star Wars: Bueno. Tiene acertijos interesantes y los gráficos de bloquecitos lego son interesantes. Nunca pude estar seguro si en realidad ya se terminó o si todavía tenía cosas que hacer.
  • Black: Muy bueno. Debes matar todo lo que ves. Algunos errores en los gráficos que no son molestos para mi, estoy ocupado apuntando. Los niveles finales son algunas veces bastante difíciles.
  • Kill Zone: Bueno. Muy parecido a Black pero no tan bueno. Los niveles finales son infelizmente difíciles, no por una complejidad interesante sino porque los enemigos lanzan granadas y de vez en cuando te matan sin que te des cuenta porqué. Tuve problemas con uno de los niveles finales que tiene niebla, todo se desaparecía: los compañeros salían sin cabeza y los malitos sólo con cabeza y las estructuras se volvían transparentes.
  • Rouge Trooper (nuevamente): Muy bueno. En mi opinión da una sensación de realismo de combate mejor que en otros juegos del mismo tipo. Interesante cuando explotan los malitos al disparársele en los tanques que llevan en la espalda. Historia interesante. Mucho más sencillo que cuando lo jugué por primera vez ;-)

Mozilla Thunderbird + Lightning + GoogleCalendar

Linux/Unix/FreeBSD, Software, Windows August 23rd, 2007

Ayer descubrí algo interesante. Por supuesto mi cliente de correo desde hace muchos años ha sido Thunderbird de los productos Mozilla. Hace un tiempo instalé el módulo Lightning para la gestión de calendarios (agendas), sin embargo apenas hace poco le empecé a dar un uso real. Ayer se me ocurrió que debería haber una forma de sincronizar este calendario con el web que provee Google ... y por supuesto que la había.

Los siguientes pasos requieren se tenga instalado los siguientes paquetes de software:

Es necesario instalar el plugin de sincronización para Thunderbird, el cual puede descargarse de https://addons.mozilla.org/en-US/thunderbird/addon/4631.

De GoogleCalendar se requiere obtener el enlace privado del calendario.

Google Calendar > Configuración > Configuración > Calendarios > [calendario] >
Dirección privada: [XML] (copiar dirección del enlace)

En Thunderbird se asocia el calendario de Google a un calendario local.

Archivo > Nuevo > Calendario > En la red > Google Calendar >
Ubicación = [XML]
(pegar dirección del enlace)

Es posible mantener en Lightning varios calendarios provenientes de diferentes orígenes de datos, por ello es útil elegir un color diferente para cada una de estas fuentes.

Tags: , ,

Crear nuevas secciones en page.tpl de Drupal

Web August 16th, 2007

Cómo agregar secciones nuevas a plantilla de un tema de Drupal además de las convencionales header, footer, left_sidebar, right_sidebar y content ?En el contenido de la plantilla (archivo page.tpl.php) agregar la impresión del contenido del nuevo bloque. En este caso links_section.

<?php if ($links_section):?>
<?php print $links_section; ?>
<?php endif; ?>

En el archivo de la plantilla (template.php) crear o editar la función TEMA_regions() especificando las regiones contenidas. En este caso, el tema se llama mitema y al final se incluye la sección nueva.

function mitema_regions()
{
return array('left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'links_section' => t('links section'));
}

Para mas información consultar el siguiente enlace: http://drupal.org/node/29139.

Tags: ,

Problemas compilando PHP 5.2.3 con Apache 2.2.4 en Slackware 12.0

Linux/Unix/FreeBSD, Web August 13th, 2007

Compilando PHP para el proyecto del servidor de páginas tuve hoy un problema. En el momento del make install la librería .so no se creaba con el siguiente mensaje de error:

xxxxxxxxxxxxxxxxxxxxx

Entre tantas pruebas, experimentos y compilaciones encontré también el siguiente mensaje:

*** Warning: inter-library dependencies are not known to be supported.
*** All declared inter-library dependencies are being dropped.

*** Warning: libtool could not satisfy all declared inter-library
*** dependencies of module libphp5. Therefore, libtool will create
*** a static module, that should work as long as the dlopening
*** application is linked with the -dlopen flag.

Todo sugería ser un problema de compatibilidad entre el libtool del sistema operativo y el de Apache (tal vez?).

La solución la encontré gracias al aporte Brad Kowalczyk (http://www.ibiscode.com) en un foro de PHPBuilder. Después de generar los archivos Makefile, editar el archivo libtool generado y modificar el valor de la variable deplibs_check_method tal y como se muestra a continuación.

# tar zxvf php-5.2.3.tar.gz

# cd php-5.2.3

# ./configure --prefix=/software/php-5.2.3 \

--with-apxs2=/software/apache/bin/apxs \

--enable-safe-mode \

--enable-magic-quotes \

--enable-exif \

--enable-soap \

--enable-sockets \

--enable-zip \

--disable-ipv6 \

--with-curl \

--with-curlwrappers \

--with-gd \

--with-ttf \

--enable-gd-native-ttf \

--with-gettext \

--with-mysql=/software/mysql \

--with-pdo-mysql=/software/mysql \

--with-zlib \

--enable-mbstring \

--enable-calendar \

--enable-bcmath \

--enable-dbase \

--with-pear

# make

# vi libtool

## deplibs_check_method="unknown"

deplibs_check_method="pass_all"

# make test

# make install

Este problema me retrasó varias horas de trabajo, sin embargo, a las 12:25 am. por lo menos podré descansar tranquilo.

Tags: , ,

Etiquetas HTML que no utilizo

Desarrollo de software, Web August 9th, 2007

En estas noches de desvelo estuve revisando la especificación de HTML y encontré que hay algunas etiquetas disponibles que nunca utilizo y que podrían ser muy útiles en ciertos momentos.

  • em/strong: énfasis en los textos.
  • pre/code: muestra el código tal y como se escribió.
  • ins/del: resalta los textos como modificaciones del mismo.
  • blockquote: define una cita.
  • acronym: define un acrónimo.
  • abbr: define una abreviación.
  • dfn: especifica una definición.
  • cite: referencia a otra fuente de información.
  • dl/dt/dd: listas de definiciones.
  • caption/th de table: especifica el texto adjunto a la tabla.
  • thead/tbody/tfoot: especifica la cabecera, cuerpo y pies de una tabla.
  • fieldset: agrupa de manera lógica los elementos de un form.
  • legend/label: especifica el texto explicativo de un campo de formulario.
  • optgroup: agrupa opciones de un select.
  • address: presenta la dirección de contacto de una persona.

Tags:

“client denied by server configuration” en Apache 2.2.4

Linux/Unix/FreeBSD, Web, Windows August 7th, 2007

Esta vez estoy instalando Apache 2.2.4 y encontré un problema. Cuando ya estaba todo supuestamente listo e intentaba solicitar una página del Document_Root me respondía el servidor con un 403 (forbidden). Muy extraño. En los registros aparecían mensajes como el siguiente:[Tue Aug 07 17:06:14 2007] [error] [client 192.168.1.2] client denied by server configuration: /data/www/index.html

Encontré que la versión 2.2.x ajusta de una manera mas restrictiva los permisos sobre el directorio raíz ('/'). En httpd.conf dice lo siguiente:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

Comentando la última línea: "Deny from all" se solucionó el inconveniente.

No estoy muy seguro de que esta sea la mejor solución para el problema, tengo que leer un poco mas acerca de estas opciones Allow y Deny, sin embargo es muy probable que para el objetivo principal de mi servidor: servidor de páginas, esta se la solución mas apropiada.

Tags:

Como listar los paquetes instalados

Linux/Unix/FreeBSD August 6th, 2007

Operating system Main command List installed packages
Linux (RedHat like distribution) rpm rpm -qa
Linux Debian dpkg dpkg -l
Linux (Slackware distribution) pkgtool pkgtool
ls -l /var/log/packages/
Cygwin Graphic installer ("setup.exe") cygcheck -c
Solaris pkginfo pkginfo
grep xxx /var/sadm/install/contents
Irix versions versions
Compaq (Digital) Unix setld setld -i
AIX lslpp lslpp -l
HP-UX swlist swlist

Tomado de http://www.fortran-2000.com/ArnaudRecipes/Version.html.

Ver información adicional en Rosetta Stone for Unix.

Tags: ,