Link del día: Queries comunes

A aquellos que programamos SQL nos encontramos muchas veces con lo que se encuentra cualquiera que programa cualquier otra cosa: tener que resolver un problema que seguro ya alguien resolvió. Para esto están los fotos, Google, sitios de soporte, StackOverflow, ExpertSexChange (a drede) y tantos otros lugares.

Hoy dejaré otro lugar que es de buena referencia para varios problemas comunes en SQL, algo que a muchos puede costarnos porque seguramente todos aprendimos a programar imperativamente y el álgebra relacional puede que no sea nuestro fuerte. El link en cuestión se trata de Common Queries Tree, que dice ser una extensión de Common MySQL Queries, y de los manuales de referencia de Artful Software.

A mi me ha ahorrado varias horas y dolores de cabeza, espero que a ustedes también.

Soy un zorrinito relacional.

(Read more →)

Link of the Day: Liberate your data!

I know that Google has products for everything, and they’re still creating new things, making more and more enemies in different business. Besides that, we have the user’s data concern: what about privacy? What about having other options? What happens to our Google data?

Well, Google has made a step forward into that, creating DataLiberation.org, or, known by it’s full name, The Data Liberation Front (politics, anyone?). The mission for this project is that all users should be able to control the data they store in any of Google’s products. And to approach that mission, you may check for instructions on how to import or export data from any of Google products, and how to make it compatible with different options.

For example, you may as well want to download your Google Docs to use Microsoft Word. Or maybe you want your AdWords data in HTML. Or maybe you want to download back your videos from Youtube.

There are plenty of options, and ideally, each of Google’s products should have a way to back up your data and use it in another service or any way you like. It is supposed that it’s your data. (However, licenses may state else.)

I’m a compatible little skunk.

(Read more →)

Link del día: Software libre y gratuito para todo

Si bien ya alguna vez publiqué un link en donde había un listado de software libre ordenado por categorías, estoy seguro que ese listado ni es extensivo, ni es completo, ni cubre las necesidades de todos. El software gratuito y libre abunda y, aunque opino que no existe software de calidad necesaria para reemplazar a todo el software prioritario, no podemos decir que nuestras necesidades no se encuentran cubiertas bajo el paraguas del no-pagar.

Aviso que no quiero hablar aquí de la mentidad del software libre contra la del software cerrado (en la cual, mucho del freeware posiblemente caiga). Sé que existe la diferencia pero no quiero remarcarla aquí, yo quiero afrontar esto ahora desde el punto de vista de los usuarios, nosotros, quiénes lo que queremos es “una alternativa gratis”.

Y para alternativas gratis, tenemos muchas. Dónde buscar? Mi primera aproximación es siempre SourceForge.net, seguida de Google Code (quien está lejos del primero). Pero a veces estaría bueno poder browsear por categorías y es aquí en donde voy a dejar algunos listados que pueden sernos útiles, al menos para ver alternativas de nuestro software actual y, quién sabe, descubrir alguna alternativa gratis que nos guste más. (Eso a mí me pasó con Notepad++, por ejemplo. Ya no sé con qué reemplazarlo.)

El primer listado está bien ordenado según funcionalidad. “I want a freeware utility to…” y completar la frase con aquello que nos interese. Otro de ellos es simplemente un listado que alguien hizo en un foro, pero no deja de ser una buena fuente (aunque es más seguro que con el tiempo pase a estar desactualizado - y ya debe de estarlo ahora, sabiendo que el post es del 2006).

El tercero y último que puedo compartir hoy es llamado el OSSWin Project: OpenSource Software for Windows. En el fondo, no todo es para Windows (como FreeDOS, por ejemplo, jeje), pero no deja de ser otro buen punto de partida, especialmente si este es nuestro sistema operativo.

Soy un zorrinito gratuito.

(Read more →)

Link del día: NoSQL

Gracias a DG quien me compartió este artículo en Google Reader, me enteré que Twitter va a estar migrando sus servidores de datos desde un modelo relacional (que en este caso se trata de MySQL) a un modelo no relacional, en este caso, un family-value non-relational database management system (digan eso cinco veces, bien rápido).

Básicamente de lo que se trata es que ya los datos no se encuentran “atados” por relaciones, o disgregados según los datos relacionados que poseen (lo cual se conoce como leyes de la normalización). Dejemos de ser relacionales por un momento y pensemos las grandes ventajas que esto nos puede traer. Más allá de lo raro que se nos puede hacer, la escalabilidad que esto permite es impresionante.

Para que tengan una idea, este sistema en particular, llamado Cassandra, comenzó a desarrollarlo Facebook, lo compró Google y lo hizo Open Source. Está pensando especialmente para sistemas con muchísima información y para escalar y replicarse fácilmente, agregando, quitando, o moviendo nodos que formen parte de todo el sistema de almacenamiento.

Muchos de los sistemas bajo esta denominación de NoSQL cumplen con estas premisas, los invito a visitar el artículo de Wikipedia sobre NoSQL y ver lo que se dice de varios de estos.

Soy un zorrinito no-relacional.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)

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.

(Read more →)