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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

Link del día: Licencias de software

Gracias a un interesante post que me compartió el kangrejo, estuve leyendo un poco sobre las diferentes licencias de software que están por ahí. El artículo en cuestión es de OnSoftware, y el artículo se llama El Software libre y las licencias de uso.

Me resultó realmente muy curioso (y de hecho, no lo sabía) que una licencia de software libre no significa que seamos libre de utilizarla para cualquier proyecto. Por ejemplo, la licencia GPL nos obliga a liberar todo código en donde está utilizada esta licencia con esa misma licencia, con lo cual, si no fuera porque jQuery tiene también la licencia MIT, todo lo que hiciéramos con esta librería tendría que estar publicado como open source.

Wikipedia tiene un buen artículo sobre Comparison of free software licenses, que nos explica con cuáles licencias podríamos utilizar software en nuestros proyectos.

Recuerden que free software no es lo mismo que open source.

Soy un zorrinito licenciado.

(Read more →)

Link of the day: Face detection code

Well, face recognitions systems are not actually the last thing in technology, but still may be something new for us who couldn’t have a grasp of it and try it out in our own code. Of course, maybe we’re not fancy enough to come up with an algorithm out of ourselves and may just have ideas to use it, not to develop it.

For us then, we can go ahead and try Face Detection in any language, a blog post from Tukiun referring to OpenCV, the Open Computer Vision library that will allow us to make image processing something simple. It has been ported to different languages so it is sure that some of them will be suitable for us.

I’m a recognized little skunk.

(Read more →)

Link del día: Bases de datos en las nubes

Está de moda últimamente hablar de la computación en la nube (y no es para menos, ya que realmente propone un cambio interesante en la forma en que se mantiene el software). Lo más común para esto son servicios en donde podemos alojar nuestros sistemas con más o menos control de la plataforma, pero pocos de ellos se han centrado solamente en los datos.

Database.com es un sistema online que nos permitirá crear una cuenta para comenzar a utilizar bases de datos on the cloud. Lo mejor de todo esto, es que para comenzar, siempre y cuando no exceda cierta cantidad, será gratuito. ¿Qué mejor que eso? (Que sea todo gratuito, lo sé, pero hey, alguien tiene que mantenerlo.) Cabe aclarar que con nuestra cuenta tendremos también la replicación automática (por supuesto, estamos en la nube), backups, tuning según el uso, upgrades del sistema, y generación de los ambientes de desarrollo, test y training.

Sepan también que esta gente es la misma que desarrolló SalesForce, de forma que no se trata de ninguna tontería y sí estamos hablando de algo serio y confiable.

¡Gracias Kabytes por la información!

Soy un zorrinito en la nube.

(Read more →)