Link del día: LoadTest

Como ya sabemos, la web está llena de herramientas gratis que podemos utilizar, y el load testing no queda excluído. Hace poco me crucé con una herramienta llamada LoadImpact, que, como su nombre nos da a pensar, es una herramienta web que permite hacer test de stress sobre websites. En este caso, para acceder a la totalidad de sus funcionalidades deberíamos subscribirnos y abonar un pago, pero también podemos acceder sin registrarnos a una batería de tests gratuitos.

Desafortunadamente los tests al correr no nos dan información demasiado detallada sobre lo que ocurre tras el telón, pero logra el objetivo de mantener los resultados y la información simple como para poder detectar cualquier problema de performance que la concurrencia de usuarios nos pudiera llegar a dar.

Soy un zorrinito concurrente.

(Read more →)

Link del día: Trackeo de usuarios, desde caché

Gracias a una característica propia de los browsers en cuanto a la forma que cachean elementos (algo que está funcionando desde hace un buen tiempo ya), resulta que es posible que explotando esa funcionalidad se pueda hacer trackeo de usuarios de la misma forma que podríamos hacerlo con cookies u otros elementos persistentes (recuerdan EverCookie?).

Y resulta que las técnicas no son simples de salvar para que esto no ocurra. Como el autor lo menciona en su artículo, Preventing Web Tracking via de Browser Cache, “esto no es algo con un arreglo simple”.

él nos explica también cómo se puede lograr este tracking con varios métodos, sin nada que alerte al usuario de estar siendo trackeado.

¿Ustedes qué piensan? ¿Puede esto ser un problema para la seguridad?

Soy un zorrinito cacheado.

(Read more →)

Link del día: Clases en Stanford

Ya hemos hablado mucho de educación online con las distintas posibilidades que la internet ofrece a través de videos, podcasts y demás multimedia. Sin embargo, por lo general es raro que las instituciones que crean este contenido se vinculen demasiado con los consumidores de dicho contenido.

No es el caso de la gente de Stanford, que hoy está ofreciendo anotarse a tres cursos en particular: Introduction to Databases, Introduction to Artificial Intelligence, Machine Learning. Cualquiera puede anotarse y cursará el mismo curso que la gente de Stanford cursará, incluyendo los exámenes y todo. No obtendremos un título oficial de Stanford pero sí un certificado de haber pasado el curso firmado por los profesores (que son respectivamente Jennifer Widom, Peter Norvig con Sebastian Thrun, y Andrew Ng). No es poca cosa.

No sé ustedes, pero yo me anoté y pienso formar parte de esa experiencia. Gracias i.MicroSiervos por haber pasado el dato!

Soy un zorrinito stanford.

(Read more →)

Link del día: Diseñar con TDD

Para los que no conocen la sigla, TDD representa el concepto de Test Driven Development, la metodología de hacer las pruebas de lo que queremos lograr antes del código.

Este es el caso de alguien que estaba demostrando esa metodología ante uno de los escépticos que no creen que sea realmente aplicable. “Funciona muy bien en la teoría pero al momento de la verdad no se puede respetar totalmente”, pensaba. Ese es el caso de Rob Conery, explicando las técnicas de TDD de Brad Wilson.

Lo que él hizo fue, intencionalmente, planear una situación en un sistema medianamente complejo, para luego introducir un nuevo requerimiento que cambiaba todo el diseño. Parece que entonces lo que Wilson hizo fue, en lugar de tirar todo y comenzar de cero, ir adaptando las pruebas gradualmente, ir refactorizándolas hasta que comenzaron a formar “clases”, que luego se movieron del entorno de pruebas al sistema real.

“Un concepto en el que no había pensado nunca” – menciona Conery – “usar el archivo de pruebas como una especie de útero {de dónde nacen las clases}”.

Soy un zorrinito TDD.

(Read more →)

Link del día: CSS Semántico

Desde CSS Tricks (muy buen sitio de referencia, por cierto) me llegó un artículo llamado What Makes for a Semantic Class Name? Este tema parece algo tonto desde su concepción básica: “cómo nombrar clases de CSS”. En un principio, realmente no importa cómo se llamen, si el estilo está bien, se verá bien y será como nosotros queremos.

La situación se pone realmente interesante cuando estamos planeando nuestro sitio para el cambio, y entonces una clase como “hd24ba” no tiene mucho sentido (menos aún si la generó algún software nefasto de web development). Ahí es donde – la buena práctica dice – lo conveniente es trabajar con nombres de clases semánticos, que representen el real hecho de por qué son clases. Una clase de qué están representando, un tipo de qué objeto están estilizando.

Por supuesto que esta definición es algo vaga y entonces es difícil determinar cuál es el punto específico de abstracción es realmente semántico y cuando excedemos un punto límite que hace que no estemos hablando de nada.

Yo creo, aún así, que estas prácticas son bastante discutibles, y que las reglas se pueden torcer un poco. ¿Qué opinan?

Soy un zorrinito semántico.

(Read more →)

Link del día: SiteCake

Hablando de user experience en algo tan complejo como puede llegar a ser construir un sitio, hay pocos ejemplos que realmente muestran cómo puede hacerse fácil a la vez. Ya alguna vez CD me había mostrado Unbounce, una aplicación web que más que construir una página nos da varias herramientas útiles para marketing, como A/B Tests, analíticas y varias otras capacidades.

Pero la noticia para mi hoy es SiteCake, que encontré gracias a MicroSiervos. Según lo ponen ellos, es el tipo de aplicación que “hasta la abuela podría usar”. De verdad que sí, el diseño es muy intuitivo y la forma de interactuar también (aún así, dispositivos móviles quedan fuera). También disponen de un live demo que podemos utilizar sin registrarnos ni nada, pero aún así estimo que estando registrados tendremos una mayor variedad de opciones y capacidades.

Soy un zorrinito cake (a lie).

(Read more →)

Link del día: jQuery File Upload

Me crucé con este plugin hace tiempo y lo quería probar pero no he tenido la oportunidad de hacerlo todavía. Este plugin envuelve básicamente toda la funcionalidad de subir archivos a un servidor, mostrar barras de progreso, permitir drag & drop, aparte de la clásica búsqueda de archivos desde cuadros de diálogo, selección múltiple y sin usar Flash.

También: posibilidad de cancelar el upload, preview de imágenes, formulario estándar si no hay JavaScript habilitado, extensible, y por supuesto, open source.

jQuery File Upload parece ser una de esas joyitas que nos dan un problema muy común ya solucionado.

Via Creativos Online, y alguien que lo compartió en Google Reader (perdón, pero ya no sé quién fue!).

Soy un zorrinito con soluciones.

(Read more →)

Link del día: Mónadas en JavaScript

Notesé que el título habla de mónadas, y no de monadas. Esto se trata de un artículo algo extenso, pero muy interesante, de cómo el concepto de mónadas se puede aplicar a cualquier lenguaje que permita el uso de objetos función o lambdas. Y qué lenguaje más simple para demostrar esto que JavaScript: Understanding Monads With JavaScript.

El artículo nos lleva sobre una estructura muy simple (un array utilizado como pila) en donde se ponen dos valores y luego se recuperan. Ese mismo proceso se va modificando en la forma en que se codifica hasta el punto de lograr las mónadas: objetos “computables” totalmente encapsulados en donde se abstrae de nosotros el procesamiento y la estructura, que a la vez, es más funcional que procedural.

Por supuesto que para los que venimos de programación orientada a objetos (OOP) esto nos debe de resultar un poco raro, pero podemos ver fácilmente la relación con otros lenguajes que no tienen esta orientación, sino una orientación, como decía, más funcional, y como podemos en base a ellos también modelar la encapsulación, en estructuras “fractaloides”, que contienen subpartes que, bajo la misma estructura, hacen más simple los procesamientos internos de nuestro sistema.

Suena muy loco, pero si logran comprender el artículo los invito a llevarlo hasta donde su imaginación lo permita, y luego preguntarse si el gráfico en ese blog no está muy apropiadamente colocado.

Soy un zorrinito funcional.

(Read more →)

Link del día: HTML5 Speech input

Esta noticia la vengo guardando desde Marzo, así que ya de nueva no tiene demasiado. Pero no deja de ser interesante. Resulta que para una de las versiones beta de Google Chrome (que de hecho, ya no es más beta), hay un nuevo attributo para los elementos input de HTML5 que básicamente permite obtener reconocimiento de voz. Este atributo, debería hacer que el navegador automáticamente reconozca nuestra vos como para rellenar un campo de texto, permitiendo búsquedas más rápidas o entrada de datos más correctas (si es que el usuario tiene problemas con la ortografía).

Por supuesto, como con todo reconocimiento de voz, hay que ver qué tal funciona. Yo estuve jugando un poco con el que ya está disponible en Google y parece funcionar bastante bien (en inglés). Por supuesto que con palabras raras tampoco funciona bien, parece estar muy basado en un diccionario… pero es una muy buena aproximación. Además de innovador, es en cierta forma divertido.

Soy un zorrinito reconocido por voz.

(Read more →)

Link del día: Scrollability

Scrollability es un pequeño proyecto/librería que podemos utilizar para dar una suerte de scroll para páginas móviles, del mismo tipo que los dispositivos iOS presentan en sus interfaces nativas. Por supuesto, queremos aprovechar esa características para poder dar al usuario una experiencia mucho más cercana a la que ya posee en su teléfono.

Si a eso le sumamos el uso de HTML5 y canvas, prácticamente podemos hacer aplicaciones iguales a las nativas o más aún, aprovechando las posibilidades de la web sin necesidad de pedir permiso al usuario (o al sistema) de usar una conexión saliente. Incluso más, no hace falta pedir permiso a Apple para instalar nada en el teléfono de nadie.

Sé que divagué un poco pero, ¿ustedes qué opinan?

Soy un zorrinito scrolleable.

(Read more →)