Link del día: La belleza de los algoritmos
Sí, ya sé que suena demasiado geek, pero cualquiera que pueda abtraerse un poco del algoritmo en sí, de qué haga o cómo lo haga verá que de alguna forma su “orden” logra un algo extra que puede ser realmente hermoso.
Demostraciones tenemos miles, y la primera que encontré fue una comparación hecha sobre algoritmos de ordenamiento si es que generaran sonido. Su visualización gráfica también es atractiva. Pueden visitarlos en Sorting Algorithms: quite boring until you add sound effects, pero aquí tenemos otra bonita demostración gráfica del heapsort, quicksort, y radio del dígito más significativo.
Pero no todos son algoritmos de ordenamiento. También tenemos fractales, como la serpiente de Serpinski, un tetris-fractal. O por qué no, algoritmos genéticos, o usados para hacer arte, que es de todos modos muy hermoso.
Los dejo con el mejor de los ejemplos para mi gusto, que es la demostración de utilizar un algoritmo procedural para la creación de un paisaje nocturno. Vale la pena ver todo el video con toda la evolución del proceso: Pixel City.
Soy un zorrinito algorítmico.
Link del día: Memorias del Black Hat 2010
Yo no tuve ninguna suerte con el concurso de How Strong Is Your Fu #2, y mucho menos todavía he podido asistir al Black Hat de Las Vegas. A pesar de eso, lo bueno es que esta gente ya ha dejado para descargar y husmear una gran mayoría de las cosas que se expusieron. Desde los Black Hat USA 2010 Archives podemos acceder a la distinta información de esta distinguidísima conferencia sobre seguridad informática.
Por supuesto, dudo que sea lo mismo que haber estado ahí y haber visto algunas cuantas demostraciones en vivo.
Muchas gracias a la gente de DragonJar que me acercó esta información, allí tienen un listado de todo también.
Soy un zorrinito seguro.
Link of the day: Free webhosting
Yeah, yeah, I know that there are plenty of different web hosters that offers great deals for free. But, wouldn’t you like to have some kind of search between them, so you can choose the one that goes best according to your preferences?
Now we have Free Web Hosts, a searchable index for different offered services, all of them free, and upgradable with different options.
I’m a free online little skunk.
Link del día: ¿Cómo trabajar con distracciones?
Un post muy interesante titulado Rethinking interruptions, de John D. Cook, habla de cómo las distracciones no son intrínsecamente malas para el trabajo, sino que, al contrario, en cierta forma son totalmente necesarias e imprescindibles para la solución de problemas. Sin embargo, ¿hasta qué punto se pueden mantener estas sin que afecten negativamente el trabajo?
él distingue muy bien el efecto que es malicioso en las interrupciones, que no es cuánto tiempo a uno lo distraiga, sino qué tan lejos deje la mente del estado original en donde estaba antes de ser distraída. él llama, tomando un término de Mary Czerwinski, readquisición de contexto al proceso que nos permite volver al estado original para poder seguir trabajando normalmente.
Esto es lo realmente interesante ahora: parece que la señorita Cerzwinski ha realizado un taller estudiando este fenómeno, cuyos resultados podemos ver en un broadcast de Channel 9 titulado Jon Udell and Mary Cerzwinski on interruptions, context reacquisition and spatial/temporal memory. Por si no fuera poco, parece que Microsoft se encuentra trabajando en una herramienta que nos permitiría facilitar este proceso una vez que terminemos con una tarea, por ejemplo, al finalizar una llamada telefónica, una conversación de chat o alguna situación que, por lo general, suelen sacarnos de la actividad que estábamos realizando en el momento en que las comenzamos.
Soy un zorrinito distraído.
Link del día: Broadcasting de seguridad
Desde hace mucho tiempo que la gente de Dragonjar se ocupa de informar y educar sobre temas de seguridad informática, hacking, avances en tecnología y temas relacionados. No se quedan sólo en eso sino que a lo largo del tiempo han ido generando concursos, conferencias, discusiones, y participación de la comunidad.
Todo eso no es suficiente, y hoy comenzarán con su nuevo proyecto llamado Dragonjar.tv, un broadcasting para toda la audiencia interesada en esto sobre temas relacionados, que comenzará a verse hoy Miércoles 18 de Agosto, a las 20.00 hrs, hora de Colombia (GMT -5).
Les transcribo el mensaje que me han enviado informándome al respecto:
Con agrado les anuncio que por fin DragonJAR.tv estará al aire en vivo, **hoy Miércoles 18 de Agosto a las 8PM GMT -5 (hora Colombiana)** ... Pero.. ** ¿Que es DragonJAR.tv?**, DragonJAR TV es un programa de TV Online en los que se tratarán temas relacionados con la seguridad de la información, de forma amena, agradable y sobre todo DIVERTIDA. La idea del programa es llegar a la mayor cantidad de publico, sin importar el conocimiento que este tenga sobre las áreas de la seguridad informática, siempre aportando nuestro grano de arena a esta área y ayudando que el mundo sea un poco mas seguro. En DragonJAR.tv encontraras los consejos que necesitas para evitar ser víctima de los mas sofisticados fraudes en la red, pero también talleres prácticos en los que aprenderemos sobre las nuevas técnicas y herramientas utilizadas en materia de seguridad. Espero que este programa sea de su agrado, que compartas esta información con tus familiares y amigos, recuerda que la solución para muchos de los problemas que encontramos en la red es la EDUCACION, en DragonJAR.tv tendrán eso y mucho mas ;-) Visita www.DragonJAR.tv
Soy un zorrinito seguro.
Link del día: Live Mesh
Hace tiempo que vengo vigilando la página de Live Mesh Beta, un servicio de Microsoft que competiría contra MobileMe, el servicio análogo de Apple. Según parece, algo ha pasado a lo largo de la beta privada (que estuve esperando a que se hiciera pública) ya que parece que Live Mesh nunca saldrá de beta, sino que será directamente reemplazado por el servicio de Live Sync.
En el fondo, esto no es nuevo. Es una tecnología que Microsoft adquirió en el 2005, llamada FolderShare, y que luego pasó a formar parte del paquete de Windows Live. El servicio es similar al de Mobile Me, Dropbox y otros servicios similares, que nos permiten sincronizar archivos a través de la nube. Además, hay servicios similares, como el mismo Live Mesh que, según parece, también estuvo funcionando hace un tiempo y que también alguna relación tiene con Windows Sky Drive. Estos servicios ya están disponibles para todos los que tengamos una cuenta de MSN Passport. De no tenerla, simplemente podemos crearnos una gratuitamente y comenzar a disfrutarlos.
Soy un zorrinito en la nube.
Link del día: A dibujar, HTML5 full powered
Hace tiempo que se viene hablando de las bondades de HTML5, y varios lugares ya han aprovechado sus características para ofrecer algún servicio extra, como video de forma distinta, como otro tipo de campos de navegación, como una arquitectura más semántica… pero creo que esta es la primera vez que lo veo en su uso completo.
Ayer mismo me encontré con una noticia de DeviantArt anunciando la liberación de Muro, una aplicación web totalmente HTML5 para dibujar. Quizá más de uno recuerde Harmony, uno de los primeros sitios que mostró las cosas que se podían hacer con el HTML5 Canvas, pero Muro realmente lo utiliza mucho más allá. Por si no fuera suficiente, Muro nos permite el uso de layers, brushes, y filtros o efectos para las imágenes. Por supuesto, las imágenes también pueden exportarse.
Por supuesto, ya han hecho muy buen uso de esta aplicación.
Soy un zorrinito dibujado.
Link del día: HTML5 video now!
Hay sitios web que ya están comenzando a utilizar video HTML5 para distribuir su multimedia. Algunos de ellos son Youtube y Vimeo, pero tratándose de un estándar, el resto de nosotros no tenemos por qué quedarnos afuera.
Aparece entonces en escena un plugin de jQuery llamado jMediaelement (jme), que nos permite manejar los nuevos tags
Soy un zorrinito HTML5.
Link del día: Validación Unicorn
Hace ya mucho tiempo que los programadores web checkean sus markups con la herramienta de validación HTML de W3c, sus estilos con el validador CSS de W3c, sus sitios móbiles con dicho servicio de W3C y también el validador de feeds. Gracias a un tweet de jmma, me enteré que ahora W3C dispone de un servicio completo para verificar todo esto al mismo tiempo, llamado Unicorn.
Este servicio es tan fácil de utilizar como los otros existentes, y además es un poco más user-friendly, permitiéndonos con artimañas de interfaz solamente concentrarnos en lo que más nos importe.
Por supuesto, esto es parte de una campaña para que de a poco la web se esté acercando a los estándares, largo trabajo que aún se está llevando a cabo. ¿Qué pasará el día en que los navegadores dejen de aceptar páginas fuera del estándar?
Soy un zorrinito estandarizado.
Doppler Reports (Español)
Hola a todos
Me enorgullece poder anunciar que desde hace un tiempo he tenido la oportunidad de trabajar junto con el equipo Doppler para un nuevo proyecto, algo que desde entonces se estaba formando llamado Doppler Reports (link). Este proyecto finalmente vio la luz y está activo públicamente desde el 27 de Julio. Permítanme contarles un poco más sobre eso.
Momento… ¿qué es Doppler?
{ :align-left}
Para aquellos que no lo conocen, Doppler es una herramienta de email-marketing. Es realmente compleja, pero explicándola en un vistazo rápido, es posible usarla para crear contenido de email online (basado en plantillas o editandolo manualmente), y enviarlo masivamente a una o más listas pre-cargadas. Sim embargo, hay mucho más para lo que puede utilizarse, y una de las grandes posibilidades que nos ofrece está en la capacidad de analizar la reacción del cliente a nuestras campañas de emails. Cuando uno tiene diez, quizá veinte, cincuenta o cien contactos, esto es algo que se puede hacer fácilmente con un listado de ellos. Uno verifica sus contactos, analiza quién abrió los emails enviados, quién hizo click en cuál link, y esa es toda la información que uno necesita.
¿Reportes?
Las cosas cambiaron mucho desde esa mañana del 2005. ¿Qué pasa cuando tienes mil contactos? ¿Y un millón? No, no estoy exagerando. Eso es parte de nuestro trabajo diario: mantener una herramienta que envía millones de emails. ¿Cómo obtenemos los resultados y los mostramos al usuario? La respuesta obvia es: Reportes.
Los reportes te darán toda la información resumida que necesitas sin tener que revisar cada uno de los contactos (porque, por supuesto, el sistema lo hace por tí). A medida que la tecnología evoluciona y que el comportamiento del cliente evoluciona a medida que el marketing evoluciona, nuestras herramientas deben evolucionar también.
Aquí es donde el Equipo de Doppler vio la necesidad de una aplicación de reportes totalmente nueva, para poder satisfacer muchos pedidos que nuestros clientes tenían para la versión anterior de la misma. Pero esta herramienta debía estar pensada para millones de emails, miles de usuarios, información en tiempo real y al mismo tiempo, reportes informativos y elegantes.
Y entramos en la escena. Tuve la oportunidad de trabajar junto con Juan Fazzini para diseñar una arquitectura que escalaría a medida que Doppler siguiera creciendo con todas las futuras características que obtendrá. Entonces, en una tarde de viernes, un pizarrón en blanco, una notebook como grabadora para todo lo que decíamos (ya saben, la documentación es importante), comenzamos a idear y pensar sobre cómo Doppler Reports trabajaría.
¿Cómo está diseñada la arquitectura?
1. Arquitectura distribuida
{ :align-right}
Cada parte de Doppler funcionará como un módulo independiente, que puede tener varias instancias funcionando al mismo tiempo. Hay un módulo en especial que se encargará de interconectar a los demás entre ellos, pero estos módulos de interconexión pueden trabajar de forma independiente también.
Esto significa que ahora tenemos mayor tolerancia a errores catastróficos. Si un servidor deja de funcionar, las otras instancias de los módulos seguirán trabajando, manteniendo al sistema con funcionamiento normal. Los usuarios no se darán cuenta, apenas puede que noten una demora pequeña en la aplicación.
También significa que si tenemos mucha carga por uso intensivo, podemos crear nuevas instancias de un módulo y los módulos de interconexión automáticamente balancearán la carga.
2. Seguridad en cada llamada
Tener estos módulos ahí afuera no es poca cosa para la seguridad. La seguridad tiene que ser tan estricta como es posible. Por eso, desarrollamos un protocolo de comunicación que le permitiría a cada módulo verificar si el que llama al mismo es una aplicación autorizada y si está bien devolver datos a la misma. Si todo funciona bien, la llamada se realiza y los datos se devuelven. Si algo no sale bien, como si se provee un token de autorización incorrecto, nunca se sabrá qué pasó. Sabemos que esto no es particularmente transparente para los programadores, pero es lo más seguro que podemos realizar para prevenir intentos de hacking.
El resultado de esta característica es que, incluso cuando los módulos estén disponibles en Internet (no todavía, pero quizás en algún momento lo estén), no cualquiera puede acceder a ellos. Incluso si saben en dónde están o cómo llamarlos, ellos no harían nada hasta que los clientes le provean un token de seguridad auténtico.
También significa que las claves de seguridad para acceder a este módulo se pueden generar y, en el futuro, podría resultar en una API para ciertos módulos de Doppler que cualquiera (o algunos usuarios) podrían utilizar. _ ¿Imaginas crear una aplicación para tu propia empresa que automáticamente trabaje con los datos que Doppler generó para tí?_
3. Reportes en tiempo real
Más que una decisión arquitectural, esto fue un desafío. Ya se sabe que estamos manejando toneladas de datos. ¿Cómo cargarlos rápidamente? ¿Cómo obtener una buena performance? Para eso, decidimos que algunos objetos trabajarían internamente como proxies, de forma que sólo se obtendría la información que se ve.
Esto significa que ahora al entrar a la pantalla de Resumen de Métricas para una de tus campañas, podrías ver (cuidado… se viene un listado grande):
- Nombre de la campaña
- Asunto del email de la campaña
- Tipo de campaña
- Cantidad de listados de emails que recibieron la campaña
- Cuántos suscriptores recibieron la campaña
- Cuándo se envió la campaña
- Aperturas por cada hora
- Clicks por cada hora
- Cuántos emails fueron abiertos (total)
- Cuántos emails todavía no han sido abiertos
- Cuántos emails resultaron en soft-bounce
- Cuántos emails resultaron en hard-bounce
- última fecha de apertura
- Clicks únicos
- Aperturas únicas
- Cada uno de los links
- Para cada link, cuántos suscriptores hicieron click en ellos
- Para cada país del mundo, cuántas aperturas ocurrieron en ese país
*toma aire* ¿Saben cuánto tiempo le toma a Doppler Reports obtener y mostrar toda esa información? Menos de 5 segundos. Pongo énfasis en ello: Menos. De. Cinco. Segundos. Ese es el tiempo que me toma leer las primeras tres líneas de la página. Quizá cuatro, quizá cinco. Pero antes de que haya terminado de hacerlo, la página está completamente cargada y funcionando. Y debo aclarar, mi conexión a internet no se destaca por su velocidad.
Por supuesto, también usamos caching. Esto agrega una capa más de interacción hasta los datos, pero nuestro sistema de caching nos asegura que tengamos los datos listos para el usuario en el momento que los pida. Los datos de una campaña no cambian mucho, a menos que se acabara de enviar, por lo que, para la gran mayoría de los casos, podrías ver los datos de tu campaña tan rápido como cualquier otra página web.
4. Diseño modular
Mencioné antes que Doppler ha comenzado a ser más y más complejo, y ahora está siendo diseñado de una forma modular. De esta forma, los módulos trabajan independientemente y a la vez, delegan responsabilidad en el módulo que sabe cómo resolver un cierto problema o cómo tratar cierto conjunto de datos. Tener un diseño modular es un aspecto terriblemente importante para cambios futuros. Le permite a nuestro equipo paralelizar el trabajo, y le permite a nuestro equipo (y a nuestra aplicación) crecer.
Esto tiene importantes consecuencias. Para el lado que el usuario logra ver, esto significa que muchas características estarán disponibles más rápidamente. Nuevas características, más mejoras, más robusto, más rápido, mejor. “Harder, faster, better, stronger.”, como Daft Punk recomienda construir el software.
Eso es increíble, ¿puedo usarlo?
Por supuesto. Estas nuevas características ya están disponibles para todos los usuarios que tengan una cuenta de Doppler. Si no tienes una, puedes crearte una de forma gratuita y probar el producto por tí mismo: http://www.FromDoppler.com/.
Antes de que se vayan…
…Quería decir que considero un logro personal haber podido formar parte de todo esto. Intentamos lograr algo radical y hoy tenemos un producto radical. Creo que el Equipo Doppler está muy orgulloso de lo que han logrado. Yo ciertamente lo estoy.
Ah, y este post ha llegado hasta el blog de GetCS. Visitenló, puede que les interese.