Alpha's Manifesto

La madriguera de una insignificante figurita blanquinegra.

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.

Link del día: Bytecode for Dummies

Para aquellos que desarrollamos sobre lo que se llaman plataformas (como por ejemplo .NET o Java), sabemos que el código que nosotros escribimos no se compila a lenguaje de máquina realmente, sino que se compila en algún lenguaje intermedio que luego es interpretado para una mejor ejecución en la máquina apropiada sobre la que esté corriendo la plataforma.

El punto que muchos dejamos de lado es saber interpretar ese lenguaje intermedio. Este lenguaje muchas veces puede proveernos información muy válida sobre problemas de performance que puede sufrir nuestra aplicación, usos de memoria no liberados, o incluso de la forma en la que se realizan llamadas al sistema operativo.

Charles Nutter realizó una presentación llamada JVM Bytecode for Dummies (and for the rest of you all) que explica detalladamente cómo podemos iniciarnos en este mundo. Él se enfocó en el bytecode de la máquina virtual de Java, pero esto es aplicable a otras máquinas virtuales y a otras plataformas también. Puede que al principio nos maree un poco con ejemplos algo complejos, pero luego la teoría va tomando color hasta ser bastante tangible y podemos entender cómo el bytecode realmente refleja nuestro código. Mejor aún, podemos directamente programar con bytecode y aprovecharnos de eso mismo.

Soy un zorrinito interpretado.

Link del día: Soy un…

A muchos de los que trabajamos en el área del software, de la ingeniería, o en cierta rama especializada de alguna ciencia nos toca alguna vez explicarle a alguien que sea ajeno a las mismas cuál es nuestra función o de qué se trata nuestro trabajo. Esta no es una tarea fácil, y es difícil ser preciso y explicativo al mismo tiempo.

Por ejemplo, Niels Matthijs explica que es un front-end web-developer. Pero su trabajo no es tan simple como decir “hago websites”. O su trabajo no es tan amplio como “trabajo con computadoras”. Él nos cuenta cómo a veces intenta usar analogías para poder explicar la función de su trabajo, pero que ninguna analogía le es tan apropiada como quisiera.

Desde preguntas en StackOverflow relacionadas al tema, hasta chistes (de qué trabaja un filósofo?) y más artículos al respecto, ciertamente es un tema que da que hablar.

Estoy muy interesado en escuchar ideas, opiniones, o que me cuenten cómo le hacen ustedes para explicar su trabajo a alguien que desconoce mucho de él.

Soy un zorrinito… bueno, como un zorrinito. Uno de esos animalitos blanco y negro. Aha, sí. De esos. Eso soy yo.

Link of the day: What’s your easter egg?

Easter eggs in software are sometimes funny, sometimes they’re not, and they are sometimes allowed and sometimes strictly prohibited. Regarding this issue and some personal anecdotes about these, we can check out this StackOverflow thread called: What Easter Eggs have you placed in your code?

I personally believe that the ones that we have on Google are amazing and a nice way of having a non-offensive and non-intrusive easter egg. Have you tried searching for recursion? For the answer to the life, the universe and everything? For the number of horns in a unicorn? I love those.

I’m a suprising little skunk.

Link del día: Replicación MySQL en 5 minutos

Gracias al Twitter de @BreakingDev me topé con un artículo muy interesante llamado Get MySQL Replication up and running in 5 minutes. Creo que es realmente útil para novatos como yo en estos asuntos, ya que recuerdo mis pobres intentos de trabajar con replicación MySQL y pasar horas y horas intentando hacerlo trabajar, basándome en unas instrucciones mágicas que alguien que lo comprendía me pasó y yo solo las seguía ciegamente.

Por suerte el artículo es lo suficientemente explícito como para darnos a entender qué es lo que estamos haciendo, y lo suficientemente breve como para no hacernos perder tiempo e ir directo al grano.

Por supuesto, siempre podemos ir al manual oficial y checkear el capítulo Replication, en donde la primera parte está titulada How To Set Up Replication. Este es el que contiene toda la información que podamos necesitar sobre opciones extras o customizaciones que quisiéramos hacer.

Soy un zorrinito replicado.

Link of the day: Comment this!

As developers most of us sometimes feel uncomfortable with our code, or with others. We may feel it is somewhat great and beautiful code or really hate it. And if we are to leave feedback for that code in comment form… well… sometimes those feelings do escape and make it into the message.

StackTrace’s user Thomas Bratt published a question called What is the best comment in source code you have ever encountered? Answers are deathly hilarious and creative. I really really suggest you to go and take a look.

Let’s finish this week with a little humor. :)

I’m a commented little skunk.

Link del día: Ahora hay que reaprender PHP

Gracias a @Analton llegué a un artículo llamado Never user $_GET again, que habla de cómo ya no deberíamos utilizar más las archi-conocidas variables globales de GET y POST al programar en PHP. No sólo eso, sino que explicando los conceptos de validación y sanitización nos deja como paso siguiente ir al manual de PHP, y explorar una sección que quizá muchos ya no tengamos del todo frescas.

Esta sección es la de Filtering, en donde nos vemos introducidos a distintas funciones que ya efectúan validaciones de determinados tipos de entrada en particular, y nos permiten filtrar el resto de lo ingresado para obtener valores correctos, o al menos, lo suficientemente corregidos como para que no dañen nuestro código.

“¿Desde cuando está eso ahí?”, algunos preguntarán. Desde PHP 5.2, de forma que ya tiene un ratito ahí, no sé como a muchos se nos pasó de largo. Aprovechen a reaprenderlo y será más fácil programar la entrada de datos!

Soy un zorrinito preprocesado.

Link del día: Bases de datos pre-armadas

Esperemos que pronto podamos volver a la frecuencia común de los links del día. Mientras tanto, intentemos mantenerlos cortitos para que no tomen demasiado tiempo.

Hoy los dejo con SQL Dumpster, un sitio con una muy buena idea, pero desafortunadamente, algo abandonado. La idea del sitio es que podamos agregar nuestro script SQL con los datos que queramos compartir al mundo. Cualquiera, nosotros incluidos, podemos navegar por los scripts disponibles según lo que necesitemos. Por ejemplo, ¿necesitamos un listado de países? No hace falta más que ir a la sección de scripts geográficos y lo encontraremos listo para ejecutar en nuestra base de datos. ¿Queremos un listado de tipos de empleo? Ahí están.

Como esos podrían haber muchos más que no sean útiles, y si el sitio se hiciera conocido, sin duda tendría muchos scripts muy útiles.

Soy un zorrinito compartido.

Link del día: Más tutoriales y manuales

Anteayer hablábamos de un sitio con distintos tutoriales, y muchos de estos estaban orientados al diseño gráfico, fotografía o diseño web. Hoy tenemos un sitio muy similar, llamado 1st Web Designer, que se orienta más al desarrollo web o incluso a otras cosas no relacionadas. (De hecho, el logo se parece mucho al de Debian Linux, verdad?)

Yo encontré ese sitio tras haberme cruzado con un tutorial llamado How to create your first WordPress theme – part 1, pero estoy viendo que hay cosas muy variadas. How to make a sleek Wii controller, 35 Tutorials to get your awesome design print-ready, A crash course in creating e-Commerce websites in WordPress, son algunos ejemplos.

Ya que estamos hablando de tutoriales y manuales, podemos ver también este sitio llamado Top PDF Manuals, otro sitio de búsqueda de PDFs o eBooks, como hemos visto antes en otros sitios ([1], [2]).

Soy un zorrinito tutorial.

Link del día: Anécdotas de clientes

Doy gracias a MD, quién posteó en Facebook este link, y es terriblemente adictivo leer las historias publicadas en él. Clients from hell es un blog en donde se postean diálogos que tienen empresarios (desarrolladores, diseñadores, vendedores, etc.) con clientes, y anécdotas dignas de ser recordadas, ya sea por graciosa, insólita, o avergonzante.

Me hace acordar mucho a la anécdota de David Thorne sobre un empresario que lo presionaba para trabajar gratuitamente en un supuesto proyecto que sería exitoso. La anécdota se titula It’s like Twitter, except we charge people to use it. Las contestaciones de David son hilarantes y terriblemente concisas. Muchas otras anécdotas están publicadas en su sitio, 27b/6, también titulado “Go Away”.

El miércoles pasado también envié unas historias de parte del equipo técnico de HostGator: HostGator Tech Support: Always interesting (gracias Seinkraft!).

Aprovecho la ocasión para invitarlos a todos a que compartan anécdotas de sus clientes. Vamos, queremos saber qué les haya pasado!

Soy un zorrinito anecdótico.