Link del día: Evercookie

Hace un tiempo me crucé con un artículo que hablaba sobre HTML5 y la privacidad en internet. Si bien me pareció que era un poco exagerado, parece que muchas fuentes, incluyendo algunas bastante confiables como el NYTimes.

Pero en realidad no estamos hablando de un problema de HTML5, sino de la seguridad que los navegadores implementen para dar soporte a este nuevo estándar.

Todo en el fondo se trata de la utilización de más técnicas para el almacenamiento de información local en una computadora, que de una forma u otra puede ser utilizada (y de hecho, lo es hoy en día) para identificar gustos y tendencias de navegación en ciertas partes de internet, de forma que, por ejemplo, Google pueda anunciar cosas de nuestro interés, incluso aunque estemos viendo una noticia sobre algo que no está relacionado.

Una aplicación proof of concept de cómo se puede almacenar información casi-persistente (cuando se supone que no debería de serla) es EverCookie. Evercookie es una suerte de cookie que a través de distintos mecanismos de almacenamiento se permite persistir de forma prácticamente persistente, incluso luego de la limpieza de caché, cookies y otro tipo de limpiezas estándares que muchos de nosotros haríamos pensando que ya debería de haber desaparecido.

¿Ustedes creen que esto realmente tenga implicaciones en la seguridad? ¿Creen que HTML5 se convertirá más en un problema que en una solución?

Soy un zorrinito persistente.

(Read more →)

Link del día: Replicación MySQL en 5 minutos

Gracias al Twitter de @BreakingDev me topé con un artículo muy interesante llamado Get MySQL Replication up and running in 5 minutes. Creo que es realmente útil para novatos como yo en estos asuntos, ya que recuerdo mis pobres intentos de trabajar con replicación MySQL y pasar horas y horas intentando hacerlo trabajar, basándome en unas instrucciones mágicas que alguien que lo comprendía me pasó y yo solo las seguía ciegamente.

Por suerte el artículo es lo suficientemente explícito como para darnos a entender qué es lo que estamos haciendo, y lo suficientemente breve como para no hacernos perder tiempo e ir directo al grano.

Por supuesto, siempre podemos ir al manual oficial y checkear el capítulo Replication, en donde la primera parte está titulada How To Set Up Replication. Este es el que contiene toda la información que podamos necesitar sobre opciones extras o customizaciones que quisiéramos hacer.

Soy un zorrinito replicado.

(Read more →)

La máquina de emociones - Capítulo 4: Conciencia

Continuando con mi lectura del libro de Minsky, el capítulo 4 se titula “Conciencia”, y definitivamente trata sobre eso.

La primera sección del capítulo intenta definir lo que la conciencia es, por supuesto, fallando por el hecho de que “conciencia” no es más que una palabra describiendo algo que somos capaces de percibir. Al igual que nuestra mente, no puede ser lo suficientemente simple como para ser definidia por solo una palabra (o solo un proceso), de modo que Minsky deduce que la conciencia es de hecho la interacción de diferentes recursos mentales. él propone la idea de que nuestras mentes tienen un detector de conciencia que se activa cuando ciertos recursos están involucrados o activados. En esta idea podemos explicar comportamientos complejos inconscientes a la vez de comportamientos simples conscientes (y por supuesto, los opuestos también.)

Minsky también describe cómo las redes de conectividad o redes neurales no pueden describir completamente los secretos de nuestra conciencia, pero las redes semánticas sí. ( ¿Qué tan de acuerdo se encuentra esto con la neurobiología?) Esto se debe a que nuestros procesos de conciencia deben tener al menos cuatro características:

  • Memoria: necesitan involucrar la memoria debido a la ilusión de la inmanencia - la ilusión de que todo lo que percibimos, pensamos y sentimos está ocurriendo ahora mismo, y de que poseemos toda la información que podemos obtener de nuestros sentidos. Lo que pensamos no se debe a lo que está ocurriendo en este preciso momento, sino a lo que acabamos de ver o hacer.
  • Procesos seriales: parece que para procesos complejos o para procesos que requieran un recurso en específico, solamente podremos ejectuar una sola tarea a la vez, y esto explicaría conceptos como la “atención”.
  • Descripciones simbólicas: necesitamos construir modelos abstractos y representaciones semánticas de nuestros mundos y de nosotros mismos incluídos en él.
  • Modelos del propio-ser: también necesitamos una forma de modelarnos a nosotros mismos y poder predecir nuestras propias reacciones ante ciertas situaciones, en varios modelos (no sólo uno) de nosotros mismos.

Minsky también propone que existe otro detector que activaría ciertos recursos para hacernos concientes de un problema específico que debemos resolver cuando el comportamiento instinctivo no lo resolvería.

Luego trata sobre nuestra capacidad de reflexionar sobre nosotros mismos como si fueramos espectadores del Teatro Cartesiano, un concepto similar a la metáfora de Sócrates de la caverna y las sombras en la pared. Sin embargo, el teatro cartesiano es más una idea de Daniel Dennet, y podría ser descripta brevemente como si nuestra conciencia fuera un espectador en un espectáculo en donde diferentes partes de nosotros mismos son los actores.

Finalmente, Minsky explica la idea de _cerebros _reguladores y detectores. Estos cerebros podrían ser meta-mentes que interactúan como si el mundo exterior para ellas fuera la información que pueden obtener de nuestro cerebro real. Una especie de una mirada interior, que podría permitirnos alcanzar más planos abstractos fuera de la experiencia del mundo real.

Una cuestión curiosa es que Minsky explica que tenemos seis niveles de cerebros internos, lo que corresponde con los distintos niveles de conciencia que los humanos tienen: instinctos, deliberación, reflexión, reflexión del ser-propio, y reflexiones de la conciencia propia. No ha entrado en detalle sobre ninguno de ellos, pero realmente encuentro interesante el hecho de que ya he leído al respecto habiendo estudiado hace mucho Kabbalah y el árbol de la Vida como un mapa para la mente humana, en donde los seis sephiroth inferiores (Yesod-Hesed) representarían seis niveles de conciencia huamana. Quizá sea solamente casualidad, pero intentaré volver a esto después en más detalle.

(Read more →)

The Emotion Machine - Chapter 4: Consciousness

Going on with my reading of Minsky’s book, chapter 4 is titled “Consciousness” and it definitely treats about that.

The first section of the chapter tries to define what consciousness is, of course, failing as in fact “conscience” is nothing but a word that describes something that we are able to percieve. As our mind, it can’t be so simple as to define with just one word (or just one process) so Minsky states that consciousness may be in fact the interaction of different mind resources. He proposes the idea that our minds have a consciousness detector that is activated when certain resources are activated. In that idea we can explain for unconcious complex behavior and conscious simple behavior. (Of course, also the oposite.)

Minsky also describes how neural or connectivity networks cannot fully describe the secrets of counsciousness, but semantic networks can. (How aligned is this with neurobiology?) This is because our counsciousness process must have at least four characteristics:

  • Memory: they need to involve memory because of the Inmanence illusion - the illusion that everything we percieve, think and feel is happening right now, and that we have all information we can get from our senses. What we think of is not because of what’s happening right now, but what we have just seen/done.
  • Serial processes: it seems that for complex processes, or processes that require a certain resource, we can only do one at once, and that would explain concepts like “attention”.
  • Symbolic descriptions: we need to build abstract models and semantic representations of our world and ourselves included in them.
  • Self-Models: we also need a way to model ourselves and predict our own reactions to certain situations, based on different models (not just one) of ourselves.

Minsky also proposes that there is another detector which would activate certain resources to make us conscious of a specific problem that we need to solve when instinctive behavior would not solve the problem.

Then he treats our self-reflection as if we were spectators of The Cartesian Theater, somewhat alike Socrate’s metaphor of the underground den and the shadows on the wall. However, cartesian theater idea is mostly from Daniel Dennett, and could be briefly described as if our conscience was a spectator in a show were different part of ourselves were the actors.

Finally, Minsky explains the idea of regulator and detector brains. This brains could be meta-minds that interact as if the outer world for them was the information they could get from our real brain. Some sort of an inside-looking, that could prove for more abstract plans rather than real world experience.

A curious thing is that Minsky describes that we’ve got six levels of inner-brains, which correspond to different consciousness levels that humans have: instinctiveness, learning, delibering, reflection, self-reflection and self-conscious reflections. He hasn’t gone further in detail about them, but I truly find it amusing that I already have read that when studying Kabbalah and the Tree of Life as a map to human mind, where the lesser six sephiroth (Yesod-Hesed) would represent six differents levels of human counciousness. Maybe was just chance, but I’ll try to get back to this later with further detail.

(Read more →)

Link del día: jQuery deconstructed

Otro post de jQuery, pero realmente vale la pena porque nunca nos dejamos de sorprender de las cosas que podemos hacer gracias a este framework. En este caso, para aquellos que quieran conocer exactamente cómo es que funciona o cómo es que efectúa ciertas tareas, se habrán encontrado con la complicación de que realmente es complejo en su funcionamiento interno. Para ello, la página de jQuery Deconstructed nos permite una vista más semántica y fácilmente entendible de sus funcionamientos internos. Si es que estuviéramos interesados, esta misma gente ha creado varios instructivos del interior de Prototype y de Mootools, otros frameworks bastante conocidos también.

Un trabajador tiene que conocer sus herramientas, cierto?

Soy un zorrinito javascript.

(Read more →)

Link del día: Qué recuerdan los usuarios de tu sitio?

Tanto para probar un diseño o como para probar un website o aplicación web, ya hemos hablado de varios sistemas que nos permiten evaluar qué tan eficiente es nuestro diseño (recuerdan el link de Usabilia?). Hoy tenemos dos más muy similares, basados en la prueba de los cincos segundos.

Al usuario que va a efectuar la prueba, se le muestra un screenshot de nuestro website o nuestro diseño, y luego de eso él tiene que escribir las 5 primeras cosas que recuerde haber visto. Por supuesto, nos permitirá identificar fácilmente así qué elementos son los que realmente llaman la atención del visitante al primer momento. Y sabemos que si ganamos la atención en ese primer momento, hemos tenido éxito.

Por un lado tenemos a FiveSecondTest, en sus versiones paga y gratuita. Esta aplicación es de la gente de UsabilityHub, que ya tienen una serie de productos para la medición de la usabilidad de aplicaciones web, incluyendo también a NavFlow y a ClickTest.

Por otro lado está Clue, un servicio gratuito muy similar, en donde solo podremos probar aplicaciones web.

Soy un zorrinito probado.

(Read more →)

Link del día: Buscar imágenes desde imágenes

Alguna vez hablé sobre un sistema que nos permitía buscar imágenes que contuvieran ciertos colores. Pasaron los meses y ya se convirtió en algo común que todos podemos hacer a través de Google Image Search. El buscar imágenes similares también es algo que podemos hacer, también desde Google Image search.

Pero cuando tenemos una imagen, cómo la utilizamos sin palabras para buscar en donde se encuentra? O para buscar imágenes similares?

Entonces es cuando queremos hacer image reverse search, es decir, buscar desde imágenes, o buscar imágenes similares.

La web de GazoPa (gracias @baldosin) nos permite hacer esto, subiendo una imagen, linkeando una desde otra web, dibujando, usando la cámara web, o introduciendo palabras clave que creemos están relacionadas.

Eso de dibujar es muy similar al software imgSeek para Linux (también gracias a @baldosin), que nos permite utilizar esta funcionalidad de una forma más personal.

Finalmente, mi preferido es TinEye, que a mi parecer me ha dado mejores resultados y parece que está creciendo.

Soy un zorrinito rastreador.

(Read more →)

Link del día: Gráficos para tu web, Flash + HTML5

Gracias a DN pude checkear la web de ZingChart, un producto que nos proporciona la posibilidad de generar gráficos interactivos a través de datos JSON. Toda esta interactividad puede lograrse a través de AJAX, permitiendo una buena experiencia del usuario y una riqueza gráfica interesante.

Más allá de las características del producto (que son muchas), hay dos a destacar. La primera de ellas, es que ahora nos provee la posibilidad de utilizar su versión HTML5 cuando sea posible, permitiéndonos de otra forma volver a Flash. Comparen ustedes mismos y vean las diferencias de velocidad y tamaño.

La segunda característica es que a pesar del precio que tiene este producto (algo caro en mi opinión personal) es que podemos bajar la versión gratuita, totalmente ilimitada en su uso permitido, y la única contra que tiene es un link al sitio original y un textito que dice “Powered by Zing Charts”. Yo creo que vale la pena, no?

Soy un zorrinito gráfico.

(Read more →)

Link del día: Hermoso JavaScript!

Si ustedes han estado trabajando en análisis de algún sitio, ya sea por cuestiones de seguridad, curiosidad o investigación, muy seguramente habrán encontrado que analizar el JavaScript luego de que se comprime lo mayormente posible es un dolor. Por supuesto, sabemos que sigue siendo JavaScript válido porque se ejecuta, pero lo que nos falta es una forma de poder leerlo de forma simple.

JavaScript Beautifier se encarga de eso, toma nuestro input y lo convierte en JavaScript fácil de leer. No sólo eso, hay varias sugerencias extras al final de la página, pero si preferimos no hacer caso a ellas, el beautifier funcionará siempre online. Dice también de-obfuscar los crípticos códigos generados por JavaScript Obfuscator.

Soy un zorrinito arregladito.

(Read more →)

Link del día: Herramientas .NET

Buscando una herramienta en específica me di cuenta que Microsoft dispone de una sección para todas las herramientas extras para .NET, llamada .NET Framework Tools. Me pareció que había muchas cosas interesantes para los que trabajamos en ese entorno.

Todas estas herramientas ya están incluidas en el entorno de Visual Studio. Por ejemplo el Assembly Binding Log Viewer. Gracias a él sabremos cuando no se encuentra una librería, en donde fue que se buscó. SqlMetal nos permite regenerar los archivos de DataContext de LinQ to SQL. GacUtil nos permite administrar el Global Assembly Cache.

Y hay más, por supuesto, muchas de ellas habrán encontrado su camino dentro del entorno visual, pero nunca está de más conocerlas.

Como extra y no relacionado les dejo una infografía sobre todos los personajes de Hanna Barbera, una curiosa infografía. Con gusto linkearía al Flickr de Juan Pablo Bravo (el autor) pero lo ha hecho privado, junto con otras infografías de ese estilo.

Soy un zorrinito útil.

(Read more →)