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 →)

Link del día: Script Src

Sacando esto del cajón de_ las aplicaciones que no hacen nada pero son útiles_, me encontré a ScriptSrc, una aplicación que mantiene las últimas versiones a varios frameworks y librerías comunes, como jQuery, mooTools, extJS, YUI, etc. Por supuesto, los scripts no están alojados en este propio servidor, sino que ellos nos dan el link al CDN correspondiente que lo aloja, permitiéndonos linkearlo directamente.

Y aunque hay un poco de discusión sobre si realmente conviene usar CDNs o mejor archivos pequeños en nuestro propio host, hay ciertas ventajas y desventajas. Las ventajas son ineludibles, las desventajas no lo son tanto.

Soy un zorrinito distribuido.

(Read more →)

Link del día: Algoritmos genéticos juegan al Tetris

Ni más ni menos que como lo dice el título, este es el caso de alguien que con un poco de tiempo libre (bueno, mucho) y algo de ingenio (bueno, mucho) logró hacer un algoritmo genético que aprendiera a jugar al Tetris. Podemos ver tanto la teoría como la práctica en videos en el artículo de su blog. Allí se explican los detalles al respecto, que serán muy útiles para todos lo que estén interesados en dotar de inteligencia compleja a algún sistema y no sepan muy bien por dónde comenzar.

Soy un zorrinito genético.

(Read more →)

Link del día: Google Swify

De la gama de productos Google que todavía están en beta y en laboratorios (una buena cantidad), ahora tenemos a Google Swify, cuya funcionalidad es tomar archivos de Flash para convertirlos a HTML5.

No lo he probado, pero supongo que hará un uso excesivo de los elementos de Canvas y animación via JavaScript. Tampoco he sabido cuál sea la performance general de los resultados. Pero, sí podemos saber, que gracias a esta conversión, podremos fácilmente estar disponibles en cualquier tipo de plataforma.

Via i.MicroSiervos.

Soy un zorrinito HTML5.

(Read more →)

Link del día: Minify

Tratando de retomar la periodicidad de los links del día, hoy quiero hablar de Minify. Minify es una librería PHP de código abierto autocontenida que podemos utilizar para minimizar, unificar, cachear y definir nombres propios para recursos que queremos utilizar y mejorar la performance de nuestro sitio.

La librería no sólo soporta el trabajo con CSS, JS y HTML, minimizándolo completamente, sino que además puede ser utilizado para minimizar recursos bajo un solo nombre, y mejor aún, también es extensible para que podamos servir cualquier tipo de contenido de cualquier otra fuente. De hecho, lo probé cacheando y sirviendo recursos desde un sitio propio cuando los recursos en realidad son leídos de un lugar ajeno. Las ventajas de eso son el poder servir todo el JavaScript/CSS junto incluso aunque no nos pertenezcan, y ahorramos pedidos, y evitamos que el cliente deba acceder a múltiples dominios.

Y lo mejor, ni siquiera tenemos que andar haciendo referencia a los nombres de los archivos (aunque es la forma más fácil), ya que podemos definir grupos con nombres y utilizarlos. Eso nos brinda la ventaja de poder jugar mucho con eso y con el dinamismo de nuestra aplicación.

Pero en fin, lo interesante es la forma en la que minimiza, y lo simple que es de usar. ¡Dénle un intento!

Soy un zorrinito minimizado.

(Read more →)

Link del día: Spine.js y cómo utilizarlo

Building JavaScript Web Apps with MVC and Spine.js es un artículo muy explicativo de cómo debe ser la estructura de una aplicación MVC junto con herramientas de Spine.js que nos permitirán hacer más sólidas nuestras aplicaciones. Para aquellos que no sepan qué es MVC, aquí tienen una corta y buena explicación, y para los que no sepan cómo se usa Spine.js, también tienen un buen ejemplo.

Personalmente me gusta que la aproximación presentada es bastante limpia y lo suficientemente simple como para ser entendible sin confundir distintos conceptos. Recordemos que, aunque poco funcional, es un ejemplo para aprender de qué se trata.

Como extra, y para los más interesados, el artículo incluye una entrevista con uno de los desarrolladores de Spine y varios otros ejemplos.

Soy un zorrinito MVC.

(Read more →)

Link del día: HTML5 Front End Framework

Para todos aquellos que necesitábamos una forma de fácilmente comenzar con trabajos en HTML5, tenemos la opción de comenzar con algo ya estructurado sobre lo que podemos hacer nuestras modificaciones a gusto.

Me he encontrado principalmente con dos opciones muy interesantes. La primera de ellas es HTML5 BoilerPlate, del cual habíamos hablado algún momento en el pasado. Básicamente es un template que podemos utilizar para arrancar rápidamente con la configuración básica de una aplicación HTML5. Ya incluye un poco de configuraciones para cacheo, optimizaciones para mobile, un framework de testing y varias cosas más.

La segunda opción es G5 Framework, que bajo el mismo concepto tiene también varios elementos sobre los que podemos pararnos para impulsar nuestro proyecto. Este además ya tiene una buena cantidad de librerías incluidas con lo que podemos inmediatamente comenzar a constriur sobre ellas, y sobre un framework CSS, útil como siempre.

Quisiera ver qué trabajos se logran con estos frameworks.

Soy un zorrinito HTML5.

(Read more →)