Link del día: Tutoriales de algoritmos de los mejores de los mejores
Yo me enteré mucho tiempo atrás de TopCoder cuando se hizo famoso casi comenzando (y cuando el diseño del sitio era totalmente distinto), por las competencias entre programadores, y como una especie de entrenamiento para mejorar. Todo el tiempo se están realizando competencias de programación. Antes eran solamente de desarollo, pero ahora se pueden hacer competencias de diseño de arquitecturas, de diseño de programas, de suites de testeo, en fin, de un montón de cosas relacionadas al desarrollo de software.
Yo hace mucho tiempo me había anotado, pensando en que algún día encontraría tiempo para experimentar una comptencia, pero nunca lo encontré. Ahí está mi usuario todavía juntando polvo.
Lo que me hizo volver a este sitio es ver otro aporte que ellos dan que se volvió muy famoso, y son los TopCoder Algorithm Tutorials. A diferencia de lo que parece decir el título, no son tutoriales sobre algoritmos pre-armados, sino que hablan de una gran variedad de cosas, desde cómo planificar eficientemente las tareas de desarrollo, hasta distintas técnicas a utilizar para el desarollo.
Muy interesante, y muy bien explicados algunos, vale la pena pegarse una mirada porque seguramente algo de lo que leamos sea aplicado en el día a día.
Soy un zorrinito olvidado.
Link of the day: Google's beggining & PageRank
I think that most of you already know the story: Google started as an academic project, and in that project, they introduced several new ideas that were used to detect the “relevant” pages among a great number of them. That is what we today know as PageRank.
However, have any of you read the original paper they made? If not, you can take a look at it here, it is called The Anatomy of a Large-Scale Hypertextual Web Search Engine.
Besides that, the Wikipedia holds a great amount of information and examples on PageRank, and how does the algorithm works. We know that this has been improved over the years and that not all the details are public until now, but Google helps us by uploading lots of information on different sites, like GoogleWebMasterHelp user profile on Youtube, Google Webmaster Central (home of the webmaster tools), and the Google Official Webmaster Central Blog.
I know, yes, they help us to do something on they way they like to be on a listing they made. Sounds circular, but they’ve done lots of things and if we want to get to the people, they are a really good shot.
I’m a Googler little skunk.
Link del día: Microsoft Open Specifications
Gracias a kangrejo, quién me compartió la noticia a través de Google Reader (pero que leí en Google Buzz), me enteré que hace unos dos o tres días, Microsoft publicó la especificación de los archivos PST, es decir, de las carpetas personales de Outlook. Microsoft los publica bajo una licencia que básicamente dice: “te digo de onda que no te voy a hacer problema si lo usás… pero igual tengo la posibilidad de hacerlo.”
Independientemente de eso, siguiendo el link y llegando a la especificación llegué a la mencionada especificación en MSDN, y me enteré que no solo se encuentra allí dicho formato, sino que muchos otros formatos se encuentran publicados para hacer uso de ellos de la forma que más queramos. Podemos verlos en Microsoft Office File Format Documents, en donde encontraremos especificaciones de formatos como OpenXML (como era de esperar), PPT, PPTX, XLS, DOC y más…
Por si fuera poco, podemos visitar también una sección más arriba llamada Open Specifications, que es desde donde tenemos acceso a todas las especificaciones que Microsoft ha publicado. Tenemos muchas cosas, como protocolos de Windows (ejemplos: Front Page Server Extensions: Website Management Specification, Message Queuing: ActiveX Client Protocol Specification, Shell Link (.LNK) Binary File Format, etc), o Protocolos de Exchange, o Protocolos de SQL.
En fin, mucho para mirar para quien quiere meterse del lado de adentro de Microsoft y operar con sus datos.
Soy un open zorrinito.
Link of the Day: Security papers, tools and exploits
It’s been a while now I’m following the RSS feed of a site called Exploit-DB. In fact, this site was created by Offensive Security, the same guys that are the creators of Backtrack, the widely-known Linux distribution for penetration testing and security auditing.
What I like most of the site are the papers. Most of them are truly enlightening and even inspiring. The last ones I’ve read are Inyección SQL en MSSQL - HackTimes, [Spanish] PFD - Partial Function Disclosure and The (in)security of Omegle - What Omegle users should know. All of the papers are easy to understand and well documented, even with pictures and examples of what they talk about.
Not so far from here, I found the site called HackTimes, with lots of articles to read about security measures, hacking techniques, ideas and more. I’ve just read an article about Fuzzy Hashing and it seems totally interesting.
I’m a secure little skunk.
Link del día: consejitos de jQuery para pr0s
Ayer Xyborg compartió un link llamado jQuery and general Javascript Tips to improve your code. No sólo me encantaron los consejos que ahí aparecían, sino que me encontré con que dicho artículo tiene una secuela, llamada More jQuery and General Javascript Tips to improve your code.
Ambos artículos son muy detallados y concisos, con un montón de items interesantes que se pueden utilizar a modo de check-list para tunear finamente el código que hayamos hecho en jQuery. Algunos consejos probablemente no los vayamos a utilizar en el momento, pero sabiéndolos, en el futuro podremos mejorar un poco nuestras prácticas. Por ejemplo, quizá no usemos la consola o no usemos el almacenamiento de datos en los objetos, pero conociendo eso, a futuro podríamos hacer las cosas de forma más simple.
Otros consejos los podemos aplicar siempre: utilizar siempre IDs en lo posible para las búsquedas (o anteponer un ID en la búsqueda de clases), otros están apuntados a la performance, a la elegancia de código o a la reutilización del mismo, otros son snippets que podemos reutilizar para nuestras necesidades y otros son consejos para proyectos que pueden volverse demasiado grandes para verificar fácilmente.
Quien trabaje con jQuery no tiene excusa para no conocer lo bueno de estos consejos.
Soy un zorrrinito JavaScript.
Link del día: Aprovechar las entidades HTML
El artículo de WebDesignerWall llamado Using HTML Symbol Entities nos muestra cuáles son las principales ventajas de usar entidades HTML (ya saben, esas que se escriben con su código, como "), y cómo utilizarlas de forma que se vean elegantes y apropiadas. Nos previene de varios errores comunes y luego, cosa que no era menos, nos deja links a otros artículos relacionados de otros sitios.
Los que más me interesaron de esos linkeados fueron el de Big Baer llamado Character Entity Reference HTML 4, y el de W3 Schools llamado HTML Symbol Entities Reference (cabe aclarar que al momento de escritura este link no se encuentra funcionando).
Por último, quiero mostrar algo que había encontrado tiempo atrás, relacionado, y que me pareció terriblemente interesante. En un artículo de Ask the CSS Guy, llamado The Details are in the Symbol Fonts, donde muestra cómo varios diseños han utilizado characteres de Wingdings como imágenes (sí, recuerdan esa fuente? La de los simbolitos?) para crear diseños elegantísimos y muy adecuados.
Soy un zorrinito entidad.
Link del día: One password to rule them all...
LastPass es un sistema centralizador de passwords que se integra con una gran variedad de navegadores para que autocomplete nuestros datos en los sitios que visitemos. De esta forma, podemos tener una buena cantidad de passwords de alta complejidad sin necesidad de tener que recordarlos de memoria, pudiendo sólo utilizar un password que usaremos en LastPass.
Por supuesto, sabemos que de esta forma, nuestro punto débil puede ser el password de LastPass, pero por supuesto existen medidas de seguridad adicionales para asegurar que no cualquiera acceda como nosotros a la información que este sistema almacena, donde podemos centralizar todo.
Entre las características que posee, existen:
- la de ingresar a un sitio, loggeándonos con un solo click
- la de sincronizar información entre varias computadoras y/o navegadores
- de compartir logins/passwords con amigos (ya no hace falta eso de enviar passwords de forma plana y sin protección)
- importación desde otros programas o sistemas
- exportar los datos
- hacer backups, restores
- generar passwords complejos
- usar la versión online
- usar desde un USB
- uso de teclados virtuales (para evitar keyloggers)
- passwords para usar una sola vez (temporales)
- crear distintas identidades con distintos permisos
- usar iPhones, Blackberry, Windows Mobile, Android, Symbian (versión paga)
- usar un USB como claves “multi-factor” (versión paga)
- usar YubiKeys (versión paga)
- soporte (versión paga)
- sin publicidades (versión paga)
Incluso hay muchos features más ya incluidos que podemos ver desde la sección de FAQs, pero si es que alguno se anima a probarlo y poner su información ahí, no dudo que va a tener una buena experiencia.
Soy un zorrinito centralizado.
Link of the Day: How to effectively take notes in a meeting / course
I found this article at LifeHacker (which does have lots of interesting articles about technology and life-improving techniques) called Geek to Live: Take great notes - Capture Tools, and, as simple as it gets on the advices that it gives, it is amazingly interesting to share and to start working on.
The main article focuses on some techniques to take notes quickly and not loosing any detail when you’re doing it at a meeting or hearing a lecture, etc. It is also great feedback if you are the one giving a lecture of speaking publicly about something and want someone to take notes about what you said. You may use it to study, to improve your speaking abilities, and make great summaries.
I know this is something we all have got a place to apply it, so take a peek and improve your note-taking abilities!
I’m a note-taking little skunk.
Link del día: Probar ruby sin problemas
Uno de los lenguajes que más furor está haciendo en estos días es Ruby. De hecho, es el lenguaje en el que está programado Twitter. Para curiosos como yo que les gustaría probarlo, se encontrarían con la desventaja de que no es del todo fácil la instalación en algún sistema de los intérpretes (excepto que estés usando alguna distribución de Linux para tus tareas diarias, o que puedas utilizarlo sin problemas). Si es el caso, entonces es cuando TryRuby.org se amolda perfectamente an nuestras necesidades.
TryRuby es un intérprete online de Ruby que nos lleva a través de un tutorial para aprender las cuestiones más básicas del lenguaje y nos permite experimentar con ellas online, solo desde el navegador. Por supuesto, esto no nos dejará estar guardando archivos ni generar proyectos, pero por lo pronto, es suficiente como para probar un poco y ver qué ocurre.
Yo he tenido problema ingresando algunos caracteres (como queriendo borrar errores de tipeo o queriendo ingresar caracteres que no están directos en el teclado y que requieren teclas adicionales - como corchetes, llaves y cosas así), pero si es el mismo caso el de ustedes, con utilizar el código ASCII de ellos se soluciona.
Soy un zorrinito rojo rubí.
Link del día: Animaciones en JavaScript
Me encontré con un artículo en Adminx Web llamado 17 Javascript Animation Frameworks Worth Checking Out, una muy buena compilación de frameworks JavaScript que, más o menos fácil (depende de cada uno) podemos integrar a nuestras aplicaciones web para hacerlas más usables, o simplemente más lindas.
Hubo uno de estos que yo ya había publicado en el pasado, tratándose de GX, y a pesar que muchas de las otras opciones son muy atractivas, me sigue agradando en GX la forma totalmente natural en que se hacen las instrucciones para asignar los pasos de las animaciones. Hay otros que no son tan simples de implementar, pero cada uno tiene sus ventajas y desventajas.
Pasen por la sección de demostraciones o ejemplos de cada una, la verdad es que algunos son increíbles!
Soy un zorrinito animado.