Link del día: Cómo contratar a todo el mundo para hacer tu trabajo
Hace un tiempo que Amazon ofrece, entre sus varios Web Services, un servicio llamado Mechanical Turk, lo cual ellos llaman Artificial Artificial Intelligence. Si recuerdan a ShortTask, muy seguramente ya conozcan el concepto: Amazon provee un mercado en donde los Requesters pueden postear distintas tareas de inteligencia humana (HITs), y un trabajador (Worker) puede realizarlas para ganar dinero. Además, Amazon provee el concepto de Qualifications, que son pruebas que los usuarios deben tomar para poder acceder a ciertas tareas (aunque es opcional que una tarea requiera de tomar pruebas).
Por supuesto, todo esto es automatizable de cierta forma (o al menos el control de la información en Amazon), por lo que esto se vuelve interesante para ser integrado con otros trabajos.
En ese caso, y a modo de ejemplo, tenemos a Soylent (es un buen nombre o qué?), un proyecto que siendo un plugin para Microsoft Word, nos permite asignar tareas relacionadas con nuestro documento para que la gente trabaje sobre él.
Todo esto me llega desde BarraPunto, que, por supuesto, está lleno de noticias interesantes.
Soy un zorrinito en la nube.
Link del día: Proyectos ágiles de verdad
No sé si alguno de ustedes está subscripto al Dev Channel de Google Chrome, en donde pueden obtener features nuevas más rápidamente, por supuesto, sabiendo que no están del todo probadas. Si están ahí, sabrán que la cantidad de cambios y updates es realmente mucha, y que a pesar de todo eso, el proyecto sigue creciendo y trabajando en el ambiente, uno se pregunta:
¿Cómo hacen para mantener ordenado un proceso tan dinámico?
Esa pregunta me fue respondida por un link provisto por @Woork, quién nos otorga una presentación sobre el Ciclo de Vida del proyecto Chrome, presentado por parte de Anthony LaForge, llamado Chrome Release Cycle. En esta presentación podemos ver los distintos problemas a los que se enfrentaron al momento de manejar tiempos y los distintos problemas de la programación común, y cómo fueron adaptando la estrategia para lograr un punto más dinámico y accesible.
Quienes estemos subscriptos a esa rama de desarrollo sabemos ahora que funciona, y que da resultados visibles.
Soy un zorrinito apurado.
Link del día: Películas y las matemáticas
El otro día anduve curioseando un rato por el sitio de MathsMovies, un sitio web que recopila varios datos sobre películas y la relación que estas tienen con el mundo de las matemáticas. Suena quizá a algo tonto, pero si revisan en la sección de Salas, se encontrarán con que realmente hay distintas categorías y están bien pensadas. Por ejemplo, no es para nada igual una película que trata de un personaje muy hábil con las matemáticas (ej: Little Tate), que otra película en donde la trama es completamente guiada por el método matemático (ej: Primer), o que otra en donde los conceptos matemáticos forman una parte fuerte de la trama (ej: la saga de El Cubo).
Hay otras películas que realmente no me sorprendió encontrar mencionadas en el sitio, como Futurama, del cual yo ya había visto un especial dedicado a Futurama y Las Matemáticas, y más sabiendo que desarrollaron y demostraron el Teorema de la Inversión exclusivamente para uno de los capítulos. Si han visto la serie, sabrán de qué hablo y que Futurama es una serie llena de referencias matemáticas y de sistemas.
Otro sitio que hacen recopilación de este tipo de cosas son Cine y Matemática, pero desafortunadamente no he encontrado alguno completamente actualizado y con muy buena y detallada información al respecto. ¿Alguien que conozca y quisiera compartir?
Soy un zorrinito matemático.
Link del día: Simulador de iPad
Gracias a @Woork me enteré de este Simulador de iPad totalmente hecho en CSS y JS. Si lo prueban un poco se darán cuenta que la mayoría de las aplicaciones no están implementadas todavía, pero hay cosas que sí están implementadas y pueden probarse hoy, por supuesto, de la misma forma que funcionaría en un iPad real:
- Moverse sobre las distintas pantallas (pueden usar el mouse o las teclas de dirección del teclado)
- El botón de Sleep
- El botón de Power
- Sostener los iconos y cambiar su posición
- Borrar aplicaciones
- Safari
- Lock/Unlock
- Búsqueda
Es mucho y anda muy bien para ser un poco de JavaScript.
Fuera de eso, cabe aclarar que el creador de este simulador, Altyrne, tiene un blog en donde actualiza muy regularmente sobre sus experimentos con navegadores, JavaScript, HTML5 y CSS3, aparte de jQuery, animaciones, etc.
Soy un zorrinito JavaScript.
Link del día: SMShing
A este punto del desarrollo de la tecnología, cualquier cosa puede ser víctima de un ataque de phishing. Para quién no lo sepa, el phishing es el engaño que se realiza para obtener información de uno que pueda ser útil para alguien más, sea para el motivo que sea. Por lo general se hace a través de email intentando obtener datos de uno para luego estafar de alguna forma (contraseñas, datos personales, etc.). Dado que un engaño puede realizarse por múltiples vías, incluso en algunas de las cuales podemos caer sin siquiera sospecharlo (pharming, content-injection phishing, etc.).
La gente de Dragonjar escribió un artículo sobre cómo se realiza el SMShing (también llamado Vishing), y también introducen una campaña muy interesante, llamada Trollear por una causa. Esta campaña en particular (algo similar a las historias que yo contaba de Anonymous [1], [2]) pretende que quienes quieran hacerlo se dediquen a la vez a estafar a los estafadores, quizá para hacerles perder el tiempo, quizá para molestarlos un poco nada más, quizá para decepcionarlos lo suficiente como para que su negocio no sirva, o quizá para entregarlos a la justicia. Sea como fuera, es una campaña muy interesante.
Soy un zorrishing.
Link del día: Cómo diseñar URLs
El diseño de URLs es lo que primero se ve de una aplicación web. Es prácticamente nuestro punto de entrada a la misma, y de alguna forma nuestro mapa mental del sitio fuera del sitio.
Gracias a un tweet de @Xyborg y de @Woork me enteré de un artículo de Kyle Neath llamado URL Design en donde aborda el tema. Por suerte no es una consideración general sino que toca muchos puntos interesantes, como por ejemplo, de qué forma plantear determinadas jerarquías, de qué forma presentar una dirección si se trata de la misma información que ya se ve o de nueva información, como trabajar con el historial y las nuevas funciones de HTML5, etc.
Pero lo más importante es que nos provee un criterio muy interesante sobre la forma en que las URLs deben ser construidas para representar algo fácil de recordar y algo representativo de la información.
Como extra y relacionado, que también me pareció muy interesante, es la forma en que se debe planear para evitar conflictos de URLs entre contenido de usuario y funcionalidades que actualmente no existen en el sistema. ¿Cómo planear a futuro? Acá está la pregunta: How do sites prevent vanity URLs from colliding with future features? Las respuestas son más que curiosas.
Soy un zorrinito universal.
Link del día: BigQuery
Gracias a un tweet de Woork me enteré de un proyecto que actualmente forma parte de Google Labs llamado BigQuery.
BigQuery es la posibilidad que nos ofrece Google de utilizar su capacidad de tratamiento de grandes cantidades de información de una manera similar a cómo haríamos con tablas SQL. El problema en este caso es que no se trata realmente de una base de datos relacional, con lo que tenemos que tener cierto tratamiento especial con los datos. La entrada y la salida del mismo por ahora será a través de texto (CSV para importar datos, JSON para obtenerlos), y el lenguaje utilizado es muy similar a SQL, con algunas pequeñas modificaciones y limitaciones.
Tenemos también la posibilidad de integrar la API de BigQuery a nuestros sistemas, si es que podemos sacar provecho de eso, y sin duda utilizarlo de forma programática. Así tendremos la posibilidad de analizar gigabytes o terabytes de data con el poder de Google, instantáneo. No dudo que en el futuro esto logrará mayor funcionalidad y características que puedan llegar a convertirlo en un sistema de datamining muy poderoso. Aún no, pero no creo que estemos lejos.
Soy un zorrinito con muchos datos.
Link del día: HTML5 más profundo
Hace un tiempo ya que tuvimos un link de introducción a HTML5, como para saber de qué se trataba, y por supuesto, el tiempo ha pasado y esta nueva tecnología se ha vuelto mucho más popular. Lo bueno es que ya mucho del mismo es aplicable a los navegadores actuales, por lo que no tenemos exactamente que esperar a que el estándar sea totalmente aprobado. Al menos no si es que deseamos estar en lo último y aprovechar sus bondades.
Pero lo que es actualmente aplicable y lo que no podemos verlo en un buen artículo de InfoWold llamado How to use HTML5 on your website today, para poder adaptarnos a las nuevas capacidades. Podemos también hacer un repaso rápido a sus características gracias a An Introduction to HTML5, o ver su historia (que realmente es interesante) en A Brief History of Markup, o repasar básicamente de qué se trata HTML5 y en qué forma es importante, bajo un artículo del mismo nombre: ¿Qué demonios es HTML5 y por qué debería importarme?
Por último, y si es que estamos listos para poner manos a la obra, tendremos que tener a mano una buena cheat sheet, para no perder de vista las posibilidades que tenemos, y saber bien de qué forma debemos utilizarlas, y utilizar un código de reset HTML5 para que todos los elementos se comporten de la misma manera (aunque siendo sinceros, esto está más relacionado con CSS3).
Recuerden que aplicaciones HTML5 sobran, sientansé libres de explorar las que ya están en el mercado, que también son una muy buena fuente de aprendizaje.
Soy un zorrinito HTML5.
Link del día: Arquitectura Modular JavaScript
Gracias a JH me llega esta interesantísima presentación sobre un ámbito algo descuidado por lo general del desarrollo web: la parte programática de la interfaz. En esta presentación llamada Scalable JavaScript Application Architecture, Nicholas Zakas nos presenta una arquitectura modular extensible, en donde cada módulo independiente solamente conoce el sandbox en el cual interactúa, aislado de todos los demás módulos, y sin siquiera conocer cómo es la aplicación web en la que está funcionando.
Parecería que esto no aplica en entornos en donde los distintos módulos tienen que reaccionar frente a acciones realizadas en otros módulos, pero bajo el ejemplo de Twitter, se nos explica cómo es que los módulos pueden registrarse para afrontar cambios cuando sea necesario, de una forma bastante desacoplada.
Tengan en cuenta que el señor Zakas es ingenierio de frontend de Yahoo!, con lo cual, estamos hablando de alguien que tiene a su cargo una página con mucha funcionalidad y mucho trabajo de performance y desarrollo. Por supuesto, tampoco dejen de ver el resto de sus presentaciones, igual de interesantes.
Soy un zorrinito javascript.
Link del día: Curso de Metasploit
Hace poco hablábamos de determinadas herramientas de seguridad que están disponibles para nosotros a lo largo y lo ancho de la internet. Pero además de eso, debemos saber utilizarlas.
Una de las herramientas de seguridad más potentes que hay es Metasploit, que como toda herramienta poderosa, es lo suficientemente compleja como para que no cualquiera la sepa manejar. Es por eso que la gente de DragonJar nuevamente hace su aparición, esta vez ofreciéndonos un Curso Completo de Metasploit en Video. Sin duda un must-watch para cualquier persona que quiera dedicarse o interiorizarse en la seguridad de sistemas informáticos.
Soy un zorrinito seguro.