Entradas

De Inicialización de parámetros en Oracle o cómo solucionar problemas de localización y juegos de caracteres en el cliente de Oracle.

Cuando se está trabajando con una base de datos en Oracle suele asumirse de manera erronea que al establecer las opciones de idioma y codificación de caracteres en el servidor los datos serán entregados íntegramente al cliente y por consecuencia a las aplicaciones, pero en realidad Oracle considera un caso que suele escapar de nosotros: la globalización. Imaginemos un escenario en el que tenemos una base de datos con datos de nuestros clientes en México y en China, ahora imaginemos que por algún motivo uno de nuestros clientes en China necesita ver el nombre de uno de nuestros clientes en México. Esto podría repesentar un problema si el juego de caracteres presente en el entorno de nuestro cliente chino no contiene caracteres acentuados haciendo que el apellido "Guzmán" se mueste como "Gusm?n".En una situación así tendríamos el programador tendría que gastar una cantidad considerable de tiempo haciendo que cada aplicación haga una conversión al juego de caracteres …

Friendly URLs en IIS

Un problema que se presenta constantemente en mi trabajo es que los servidores son un caos total debido a una mala organización por parte de los programadores y administradores. Hace algún tiempo se me dió la tarea de rediseñar los sistemas que se encuentran en esos servidores y una de las soluciones que dí fue unificar varios sistemas que realizan la  misma tarea, pero con variaciones menores.

La idea es sencilla, usar un ruteador que identificará el la variación de la aplicación basándose en una URI. Esto es, por ejemplo, que la URI http://sitio1.com/documento/rojo imprimirá un documento en color rojo y la URI http://sitio1.com/documento/azul imprimirá el mismo documento en color azul.

El plan original era montar este sitio usando un servidor Apache corriendo bajo Linux y usar mod_rewrite para  redirigir todas las peticiones a un pequeño ruteador escrito en PHP, el cual decidiría que acción se realizara con la petición. Sin embargo, en algún momento se complicó la administración d…

How-to: Cambiar Screen Savers o Fuentes en un Kindle 4.1.1

Imagen
Tiene ya varios meses que conseguí un Kindle de Amazon; el modelo mas básico y barato. Es un aparato que resulta de lo mas cómodo para los que disfrutan de la lectura, aun que en mi caso lo tengo mas por el azar y la curiosidad.

Una de las cosas que a mi parecer llaman mas la atención es que la pantalla nunca se apaga, en su lugar coloca una imagen que hace de protector de pantalla. Algo de lo mas lindo, pero con una gran pega: Solo se pueden usar las imágenes predefinidas. Por fortuna para nosotros la gente de internet se dio a la tarea y encontró una forma de cambiar esas imágenes.

Básicamente, el Kindle es una pequeña máquina que corre Linux (no estoy seguro de esto, pero si estoy seguro de que es un sistema Unix) con un servicio de SSH que usa la gente de Amazon para dar mantenimiento. Lo que se hacía en un inicio era conectarse a este servicio y reemplazar las imágenes que vienen cargadas por defecto, pero mas tarde este servicio fue modificado por Amazon para prevenir que la ge…

Como usar la Twitter Streaming API usando únicamente JavaScript

Imagen
Como algunos sabrán, llevo algún tiempo intentando crear un cliente de Twitter usando XUL y javascript, proyecto que tengo algo descuidado, pero ha dado resultados (aun que no en forma de aplicación usable para el público en general).

Un problema con el que me encontré fue la poca documentación que había disponible sobre como hacer funcionar la API de tiempo real (característica que por cierto, no esta disponible en ningún cliente de Twitter para Firefox), tardé varios meses, pero al final logré entender como hacerla funcionar. Y lo mejor de todo es que debería funcionar bajo cualquier navegador en forma de addon (no lo intenten dentro de una web, asi no les va a funcionar por que las peticiones XHR estan bloqueadas por seguridad).

La idea es simple, se hara una petición como si se tratase de cualquier AJAX, pero en lugar de esperar el ReadyState en 4, usaremos el ReadyState en 3, esto por que si esperamos al estado 4, la conexión se cerrará y eso es justamente lo que no queremos, sin…

Cómo empaquetar y ejecutar aplicaciones de XULRunner en Mac

Una de las características que en su tiempo le dió gran popularida a Firefox fue el hecho de poder modificar todas sus características mediante Add-ons o extensiones, permitiendo realizar ajustes estéticos, agregar más configuraciones, hasta incluir nuevas aplicaciones en el navegador. Todo gracias al fantástico trabajo de la gente de mozilla al diseñar el motor sobre el que construye sus aplicaciones, estoy hablando de XULRunner.

XULRunner es el motor que permite ejecutar aplicaciones escritas en XUL (XML User interface Language). Como su nombre lo indica, únicamente la interfaz es escrita en dicho lenguage y la lógica puede ser escrita en el lenguage de nuestra preferencia (los lenguages soportados oficialmente son C/C++ y javascript, pero en realidad puede manejarse con cualquier otro lenguaje) y su característica principal es que permite la inclusión de 'overlays' o en otras palabras, permite la 'superposición' de código para modificar una función o reemplazarla co…

Busqueda rapida de perfiles con Twitter Omnibox

Imagen
Uno de los addons que mas me gustan en Firefox es el "Twitter addres bar search" por que agrega una funcionalidad muy sencilla pero a la vez es un detalle que facilita una tarea muy cotidiana para los perezosos como yo.

Al momento en que la publicaron pensé que no tardarian en sacar una versión para Chrome, sin embargo han pasado varios meses desde su publicación y esto no ha ocurrido. Es por eso que esta noche me decidí a crear una extensión que tuviera una funcionalidad parecida.

Descargar videos flash (casi) sin programas o plugins en Windows

Imagen
Hoy recibí un comentario en el blog solicitando una versión para windows de mi post sobre como descargar videos flash sin programas en mac, así que para consentir a mis pocos leectores aquí esta dicho post.

Si no te importa la explicación ve directamente al final del post y descarga el script que escribí.

Como mencioné en mi el post para mac, cuando reproducimos un video en flash, sin importar de que sitio sea, debe ser almacenado en algún lugar de nuestra computadora, sin embargo es almacenado en archivos temporales que son eliminados en cuando dejan de ser usados por nuestro reproductor/navegador (esto para proteger la propiedad del autor del video y cosas asi). Si deseamos conservar el video la labor se limita a crear una copia del archivo temporal para que no sea eliminada.