lunes 20 de febrero de 2012

Simpre te recordaré Judini

Judini era mi gatita. Una gata que ha estado a mi lado casi 20 años. Judini, hija de gata blanca, y la gata negra que nunca trajo mala suerte y que ahora ya no está entre nosotros.

Hace 20 años, teniendo yo 5 añitos y cuando aún no le habíamos puesto nombre y no sabíamos si era macho o hembra, la perseguía por toda la casa. Para "sobrevivir" a mis incesantes persecuciones tuvo que aprender a esconderse y a desaparecer. Como rara vez la encontrábamos, decidimos ponerle de nombre Houdini, pensando que era un macho y en honor al mago escapista. Al final resultó ser una hembra, pero ya estaba el nombre en el registro y le mantuvimos en nombre.

Judini tuvo tres hijos: dos machos y una hembra, engendrados en algún verano cuando íbamos al chalet que tuvimos en la cañada. Dos de ellos los tuvimos que dar y nos quedamos con la hembra, Margarita; una gata con piel tigresa muy bonita. La tuvimos una temporada, pero cuando crecieron ambas gatas no podían ni verse, en un hábitat tan pequeño, tenían que marcar territorio meándose en los marcos de las puertas y bufándose a la primera de turno. Sin querer abandonar a Judini, tuvimos que dar también a Margarita y seguimos con Judini.

Por mi parte Judini tardó muchos años en perdonarme todas las cosas que le hice de pequeño. En compensación yo la cuidé, protegí y mimé todo lo que pude, intentando redimir mis pecados cometidos en una joven etapa de inmadurez e inconsciencia.

Ha vivido el último periodo de su vida en casa tranquilita, como a ella más le gustaba. Le dábamos de nuestra comida a diario y se la veía siempre ilusionada por tomar un poco de leche por la mañana y algo de nuestra comida al medio día y/o por la noche.

Hoy la hemos llevado mi madre y yo al veterinario para que dejase de sufrir. Llevaba meses con un tumor en el estómago que no había hecho más que crecer e ir degenerándola. Era una gata que no se rendía nunca. Vomitaba, se caía, pero siempre se volvía a levantar. Hasta el último momento estuvo luchando por seguir adelante, y fue una decisión muy difícil, pero poco a poco iba estando peor y hubiese acabado sufriendo todavía más.

Yo lo único que puedo hacer ahora es seguir adelante, sin olvidarla pero adelante. Va a ser muy triste ir a la cocina y no ver sus cosas, no verla despertar por las mañanas al sonido de abrir el recipiente de la leche, no verla subirse a todas partes o verla dormida en cualquier silla o en su cunita.

Judini fue un regalo de cumpleaños de mi padre para mi hermana. Y más que una mascota, para mí ha sido una amiga y una hermana. Te recordaré siempre Judini.

martes 7 de febrero de 2012

Sitios recientes + Vincular destino = Productividad #trucos #windows #productividad

Introducción:

Aunque sabía que existía esta carpeta especial, no la utilizaba nunca. No me había parado a pensar lo útil que es.
Para los que no lo sepan, la carpeta "Sitios recientes" de Windows 7 (no sé a partir de qué  versión empezó a estar), guardar las últimas carpetas en las que hemos abierto un archivo. Cuando trabajamos en diferentes carpetas en el disco duro al final acabamos utilizando las mismas, y si están en rutas largas, encontrarlas acaba siendo un trabajo tedioso en el que invertimos más tiempo del necesario.

Sitios Recientes:

La carpeta de "Sitios recientes" la podemos encontrar en el explorador de Windows, aquí:



lunes 6 de febrero de 2012

Transiciones alpha de máscara en C#/XNA para WP7 (sin shaders) #xna #wp7 #dotnet

Las transiciones alpha de máscara consisten en aplicar una máscara alpha con un desplazamiento a una imagen.

Hacer este efecto con cualquier sistema de shaders es trivial. Por ejemplo, yo he hecho esta animación con after effects y pixel bender:


jueves 2 de febrero de 2012

Cargar archivos .OGG en XNA (o silverlight) #dotnet #xna

Actualmente me estoy enfrentando al problema de reducir al máximo una serie de recursos para un port a XNA de un juego. Al embeber archivos de imagen y de sonido como contenido de XNA, los archivos acaban siendo mucho más grandes que sus equivalentes en png, jpg o ogg.

Descubrí que XNA permite cargar archivos gif, png o jpg directamente:

Image = Texture2D.FromStream(GraphicsDevice, TitleContainer.OpenStream("image.jpg"));

Y luego vi el equivalente de SoundEffect. El FromStream de SoundEffect requiere que el archivo que se le pase sea un WAV. Hace no mucho empecé un pequeño port de la librería Jorbis (que a su vez está basado en libvorbis/libogg) a .NET administrado.
He hecho algunos apaños para que cargar archivos en XNA sea muy fácil:

SoundEffect = SoundEffect.FromStream(new OggToWavStream(TitleContainer.OpenStream("file.ogg")));

Para usarlo en proyectos XNA, basta con incluír la librería/proyecto NVorbis que se puede encontrar aquí:

https://github.com/soywiz/nvorbis/tree/master/NVorbis

El proyecto no tiene ninguna dependencia y es una librería portable. Para poderla abrir en el VisualStudio hace falta el siguiente plugin paa cargar librerías portables:
http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/

viernes 27 de enero de 2012

Comparativa entre PHP, NodeJS y .NET #php, #nodejs, #dotnet


Inciso:
Este post iba a ser inicialmente una respuesta al comentario de Guillermo en el anterior post en forma de otro comentario, pero como me estaba extendiendo demasido he decidido escribir un post completo.

PHP vs Node.JS vs .NET

En el anterior post escribí sobre la nueva función de PHP5.4 que integra un servidor HTTP con un ejemplo sencillo para windows.
En otro post escribí sobre cómo iniciarse en Node.JS y las ventajas que ofrecía de cara a la concurrencia.
Y en diferentes posts he ido hablando sobre .NET 4.5, y hasta monté un servidor FASTCGI asíncrono para .NET.

Entonces, ¿qué lenguaje es mejor? ¿qué lenguaje uso yo?


jueves 26 de enero de 2012

Servidor web integrado de PHP 5.4 #php #twig #silex

A partir de PHP 5.4, el PHP-CLI incluye un servidor web integrado.

Plantilla:


La plantilla contiene un servidor standalone de PHP5.4 para windows sin extensiones con Silex y Twig (en Phar) con un routing básico y sirviendo estáticos en una carpeta a parte.

Modo de uso:

Para lanzar un servidor http con el cliente php, basta con ejecutar el siguiente comando:

php -S <bind_addr>:<port> -t <document_root> <folder_or_dispatcher_to_serve>

domingo 22 de enero de 2012

iTunes U : La GRAN maravilla de este año para iPhone y iPad #apple #iphone #ipad (Actualizado)

El otro día Apple sacó en la App Store el "iTunes U" junto al nuevo "iBooks". No sé si ya había anunciado algo al respecto, pero a mí me pilló por sorpresa. Por un lado han añadido un montón de funcionalidad interactiva al iBooks y por otro lado han sacado también el "iTunes U".

Actualizado:
Me comentó el otro día por twitter @salomsalom que los contenidos "iTunes U" ya estaban disponibles hacía más de un año en iTunes, solo que ahora le han dado visibilidad con la aplicación nueva.
¡Gracias @salomsalom!

El "iTunes U" es una aplicación tipo "podcast" pero enfocada al e-learning. Totalmente gratuita: tanto la aplicación, como los contenidos.