Link del día: CSS3 para navegadores viejos
Todos sabemos que cuando queremos avanzar en las tendencias tecnológicas, muchas veces debemos dejar atrás a una serie de usuarios que no quieren o no pueden actualizar sus plataformas. Para muchos desarrolladores web, Internet Explorer es hoy el problema de dar soporte a todos los posibles usuarios, más específicamente en las versiones antiguas de este navegador. (Según parece, todavía hay gente que utiliza la versión 5.)
Gracias a un tweet de @jmma me enteré de un script llamado Selectivizr (nombres 2.0 si los hay) que simula los selectores CSS3 para IE6, IE7 e IE8. Por supuesto, ya luego podemos utilizar CSS3 y librerías JavaScript con selectores CSS3 sin problemas.
En el fondo, sabemos que no es perfecto (vean la sección “You need to know”), pero está mucho más cerca de ayudarnos a avanzar sin dejar a muchos usuarios de lado.
Soy un zorrinito compatible.
Link del día: Framework de Ingeniería Social
Muchos de nosotros debemos pensar que la ingeniería social tiene mucho de talento innato, mucho de arte y mucho de particular. Por la forma en que muchas cosas se desarrollan en este área de la seguridad, creemos que hay realmente poco de reutilizable, exceptuando ciertos detalles técnicos, ciertas acciones que pueden desarrollarse a través del ámbito virtual.
Estas cosas son, por supuesto, fácilmente reproducibles y reutilizables, y deben de serlo cuando se trata de la utilización de ciertos exploits o de ciertas técnicas que necesitamos utilizar para que el usuario nos brinde información propia (por ejemplo, phishing, tab-nabbing, click-jacking, etc.).
Social-Engineer.org tiene muchísima información sobre este tema, sobre distintas aproximaciones y técnicas, y, lo más curioso, un framework de ingeniería social llamado de forma muy creativa Social Engineering Framework. Pero no sólo eso, sino que para asistir a la sección de computer-based social engineering hay herramientas muy conocidas, las cuales son:
- Maltego
- Maltego Mesh
- Social Engineer Toolkit
- Common User Passwords Profiler
- Who’s Your Daddy Password Profiler
Yo diría que todo esto es un must-read para un aspirante a testeador de seguridad.
Soy un zorrinito social.
Link del día: HTML Instant
Gracias a la gente de BreakingDev me enteré de una aplicación web llamada HTML Instant, en donde podemos comenzar a maquetear HTML instantáneo, viendo los resultados ahí mismo en donde estamos trabajando.
Lo bueno es que podemos ver los resultados de forma instantánea y sin mucho trabajo, podemos codificar al mismo tiempo que vemos nuestros errores para fácilmente corregirlos. No hay siquiera por qué cambiar de ventana. La aplicación de una sola página consta también de ciertos snippets pre-armados sobre los cuales podemos trabajar más fácilmente.
Por supuesto, también acepta CSS y JavaScript.
Soy un zorrinito web.
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.
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.
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.
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.
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.
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.
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.