Link del día: BuiltWith
BuiltWith es un servicio web que nos proporciona información sobre las tecnologías que soportan un determinado sitio. Más allá de sólo describir los módulos básicos de Apache y el tipo de servidor sobre el que se encuentre dicho sitio, nos comenta sobre varios tipos de utilización de contenido, como CDN, codificación, qué tipo de frameworks se están utilizando, qué tipo de CMS si se puede reconocer, librerías JavaScript, información sobre HTML si se encuentra disponible, y un poco más.
Nos dejan investigar también sobre otros sitios que usen la misma tecnología, pero no lo veo realmente útil a menos que queramos comparar determinados sitios que usen plataformas algo raras. Por ejempo, una búsqueda entre qué sitios usan Wordpress no aportará nada interesante, una búsqueda entre qué sitios utilizan codificación UTF8 creo que no sirve de mucho. De todos modos, este tipo de reportes son pagos, pero la información general no lo es.
Soy un zorrinito curioso.
Link del día: Notificon
La gente de Github no me deja de sorprender, parece que siempre tuvieran algo nuevo. En este caso, me crucé con algo que no es demasiado funcional, pero sí muy interesante para lograr buenas interfaces de usuario.
Han notado cómo GMail utiliza el título de la página/tab para avisarnos de cuando tenemos un mail nuevo, incluso si estamos en otro tab? Bueno, algo muy parecido se puede hacer con los favicons, cambiandolos para dar una notificación al usuario. Algo parecido hace Google Calendar, poniendo un favicon distinto cada día con la fecha actual.
El código fuente de este proyecto se puede encontrar en este sitio de Github: Notificon.
Recuerdo haber leído unas pruebas cross-browser del soporte de favicons y su posible utilización. El único caso en donde no funcionaban era en Safari, ya que en lugar de mostrarse los iconos, se mostraba un ícono propio de Safari, y dependiendo de la cantidad de tabs, directamente no se mostraba nada. Desafortunadamente, olvidé en dónde leí eso (y mis búsquedas no dieron resultados). El estudio concluía que Safari debería ponerse al tanto con el resto de los navegadores.
Soy un zorrinito visible.
Link del día: Documentación jQuery extra-oficial
Me encontré con dos fuentes de documentación extra-oficial de jQuery, con lo cual, por supuesto, pueden estar desactualizados y hasta incorrectos. Pero lo interesante de ellos es que nos ofrecen una navegación un poco distinta que la que la documentación original nos ofrece.
Es el caso, por ejemplo, de Visual jQuery (actualmente en 1.2.6), que nos permite navegar la documentación de forma jerárquica, sin perder el nivel de dónde estábamos. Además, encontré que es muy orientado a ejemplos, con lo que es fácil llegar al punto de lo que hace cada cosa y cómo se utiliza.
jQAPI es un caso parecido, y parecería que la navegación es aún más fácil en este caso, incluyendo búsqueda HTML5 y todo. Me pareció que este tiene explicaciones más detalladas y ejemplos más completos.
Soy un zorrinito javascript.
Link del día: Aprendan estadística o los mato a todos
Este link que me llegó del nuevo Delicious trata de un rant de Zed Shaw titulado Programmers need to learn statistics or I will kill them all. Trata de las frustraciones que él encuentra al momento de discutir resultados de tests y generalizaciones con determinados programadores con los que ha trabajado.
Si bien no deja de ser un rant y por eso no es realmente informativo, es un buen punto de partida para entender por qué el conocimiento básico que tenemos de estadística (si no todos, probablemente una gran mayoría). Creo que muchos hemos pecado de cometer las mismas acciones que él cuenta en su artículo, como dar un número grande de pruebas, sacar un promedio y entender que ese es el promedio de los casos, cuando hay muchos otros factores que afectan y muchos otros datos que aportan información y nunca se tienen en cuenta. Para sacar una frasecita de su artículo: “El punto es que si ustedes dan un promedio sin mostrar la desviación estándar, perdieron completamente el punto de siquiera intentar medir algo”.
Soy un zorrinito promedio.
Link del día: Sinfonías algorítmicas
Me crucé de casualidad (y ya ni recuerdo cómo) con un artículo de un blog llamado Algoritmic symphonies from one line of code – how and why?, en donde el autor mostraba un viejo experimento que había hecho: hacer iterar una variable sobre valores incrementales, y que una función de esa variable fuera enviada a la salida de audio.
Resulta que experimentando con distintas fórmulas pudo crear sonidos y hasta “canciones” bastante avanzados. Por supuesto, no podremos compararlos con obras musicales actuales (excepto que hablemos de dubstep o industrial experimental – encajarían bien ahí), pero aún así es increíble la complejidad que estos pueden adquirir con esas simples pruebas. Allí es en donde el autor encuentra esa belleza escondida de las fórmulas.
Por si fuera poco, alguien hizo una versión en JavaScript, que pueden probar y divertirse creando música (o ruido) desde fórmulas, y hasta estéreo (acompañamiento!).
Soy un zorrinito musical.
Link del día: Lineamientos de seguridad
Desde los geniales posts que nuestro amigo Alan Pasho ha escrito para el blog de CommonSense, en la serie de Is Your Website or App Secure? (recomiendo la lectura de todos ellos), me encontré ayer con los lieamientos que Mozilla impone a sus desarrolladores como medidas de seguridad al momento de desarrollar aplicaciones.
Cabe destacar que estos lineamientos, WebAppSec/Secure Coding Guidelines, no son nada cortos, pero sí detallados, y se cubren tópicos desde manejo de sesiones a (lo más básico) validación y autenticación. Si alguien está pensando en armar un checklist, este es muy buen comienzo, y si alguien quiere una guía completa de qué cubrir, puede leer esto o, por supueto, todo el contenido de OWASP y los libros relacionados.
Sabemos que la seguridad es todo un mundo, pero cuando se trata de hacer verificaciones o checkeos, siempre necesitamos una lista rápida,y tanto los posts de Alan como la guía de Mozilla son un buen lugar para hacer esa checklist de items.
Soy un zorrinito asegurado.
Link del día: HackArmoury
Como de costumbre, la gente de DragonJar postea cosas muy útiles e informativas en el ámbito de la seguridad. En este caso se trata de dar a conocer HackArmoury, un sitio dedicado a ser un repositorio de herramientas lo más accesible posible, de forma que estemos en donde estemos, con las restricciones que tengamos, siempre podamos acceder a las herramientas útiles en el ámbito de la seguridad.
Cabe destacar que este sitio ha innovado en cuanto a las formas que se tiene de acceder a él. No sólo están el típico HTTP y FTP, sino que también podemos entrar a través de Samba (SMB), rsync, IPv6, TFTP, SVN.. por supuesto, lo estarán expandiendo en el futuro. (Por qué no, por ejemplo… email?)
Soy un zorrinito armado.
Link del día: El bug tracker más simple
Cuando exponemos a los usuarios la posibilidad de agregar bugs para revisar, es muy importante que este proceso no sea ni complicado ni difícil de lograr. Debe ser algo que cualquiera pueda entender, y que no sea una interrupción al flujo de la aplicación para que los usuarios puedan reportar también detalles que necesiten ser arreglados.
Si han visto la forma en la que Google Plus permite dar feedback, habrán notado que, aunque es una forma simple, involucra varios pasos que hacen del proceso algo “pesado”.
BugHerd se encarga de ambas cosas. En cuanto a la interfaz, sólo se trata de señalar algo en la pantalla y un texto para decir qué está mal al respecto. En cuanto al proceso, solo se trata de una interfaz con un botón y un campo de texto. Bastante simple, bastante claro.
Está de más aclarar que con un proceso tan simple el feedback de los usuarios será mucho. No hagan esto si no están dispuestos a prestar atención a lo que los usuarios quieren.
Por otro lado, BugHerd es pago, pero los precios no son altos para nada.
Soy un zorrinito buggeado.
Link del día: Arquitectura CSS
La idea me parece fantástica, pero la forma en la que se desarrolló, no tanto. La idea era, Scalable and Modular Architecture for CSS, una organización del código CSS de una aplicación para que fuera dividido en forma modular. De esta forma, habría determinados estilos base, y otros estilos pertenecientes a módulos que especificarían cosas extra, o modificarían detalles (aunque no deberían) de los estilos base.
Ahora, los estilos base se subdividen, a su vez, en estilos que tienen que ver con el layout, y los que no se llaman “base”. Por último, hay una cuarta clasificación que tiene que ver con estilos de estados, es decir, cuando algo está activado, cuando se encuentra deshabilitado, etc.
Si bien la idea está muy interesante, veo algunos puntos grises en cuanto se debe determinar qué estilo pertenece a qué. Hay reglas CSS particulares que van a ser seguramente pertenecientes a una de las anteriores categorías mientras otras no, pero podemos estar hablando de los mismos elementos en pantalla. Para poder lograrlo de forma precisa, debería tenerse demasiado cuidado y una gran cantidad de reglas que aplicarían a un determinado elemento. En ese sentido no se me hace demasiado natural, aparte de la necesidad de marcar de múltiples formas un mismo elemento (un id, varias clases).
Sin embargo, me parece un muy buen comienzo, y quisiera escuchar ideas, porque creo que esta arquitectura es una base muy poderosa para hacer de CSS complejo algo muy ordenado.
Soy un zorrinito estilizado.
Link del día: Trucos de consola de Chrome
De parte de la gente de HTML5 Rocks! tenemos un pequeño post con dos videos cortos (7 minutos cada uno), llamado 7 minute videos: Javascript Console Protips & newish DOM APIs, en donde Paul Irish nos cuenta sobre determinados truquillos que podemos utilizar para debuggear JavaScript, mayormente en Chrome (aunque dos de los trucos se aplican a Firefox y a Opera).
Personalmente no me encuentro desarrollando mucho JavaScript pero creo que adoptaré alguno de estos trucos, especialmente el $0 que hace las cosas terriblemente más fácil, junto con keys(), console.time() y copy(). A ver si puedo ponerlos en mi navaja suiza diara.
Soy un zorrinito loggeado.