31 enero 2009

Windows 7 Ultimate sobre VirtualBox

Días atrás me canse de usar VMware para crear maquinas virtuales sobre Windows o Linux y recordé un artículo sobre VirtualBox colocado en Fedora México. Lo baje pero no me decidí hasta hoy a instalarlo propiamente con el pretexto de probar el beta de Windows 7 Ultimate y con mi experiencia dar una opinión más concreta. La instalación del VirtualBox sobre Ubuntu y derivados (Kubuntu,Xubuntu, etc.) requiere realizar algunos pasos para evitar errores con la compilación de los módulos del kernel de dicho software. Las notas de la instalación se pueden ver desde el sitio oficial de descarga del VirtualBox; la liga aquí. Ya cuando terminé la configuración de mi "virtualizador" monte la ISO de Windows 7, y seguí los pasos de instalación que me parecieron sencillos, pero no sorprendentes, y aproximadamente desde que arranca el DVD de instalación hasta que aparece la ventana de login para usarlo por primera vez tarde 1 hora con 15 min. aproximadamente (Ojo, el tiempo variará de equipo a equipo). A groso modo de Windows 7 puedo decir que visualmente es atractivo, no consume tantos recursos que su antecesor lo cual da posibilidad a su uso en notebooks, los previews de las aplicaciones activas no son tan detallados y es bueno, no hay tantas molestas ventanas de ¿Esta seguro de ... Continuar. Más adelante haré una revisión más profunda y publicaré algo al respecto.
Nota: No es muy recomendable tomar varias instantáneas con VirtualBox, ya que son estados almacenados de la maquina "virtualizada" y ocupan un considerable espacio en disco duro.

30 enero 2009

Pasos básicos para desarrollar un formulario (1era. Parte)

Un formulario es una plantilla cuyo objetivo es obtener datos de un usuario. Los formularios, por lo general, están compuestos por campos de texto libre, campos de selección múltiple, listas de opciones, cajas de verificación y un botón para enviar los datos. Cada elemento del formulario va acompañado de una descripción o una etiqueta indicando lo que se pide, las cuales, se colocan al lado del campo. Armar un formulario no es una ciencia, pero es muy común no preguntarse: ¿El usuario final llenará los campos como yo espero?. Por tal motivo, propongo ésta guía de pasos a tomar en cuenta al desarrollar un formulario.
  1. ¿Qué datos requiero?: Como dije, el formulario tiene por objetivo recabar datos, pero hay que delimitar correctamente que información necesitamos. Por ejemplo, si creo un formulario para guardar comentarios de para un blog, lo que me interesa saber es el nombre de quien deja el comentario, su correo electrónico, la fecha en que se realizó el comentario y cual es el comentario. Si mi objetivo sólo es grabar la opinión de quien consulte mi blog y tener información suya, para después comunicarme con él, el formulario planteado anteriormente es totalmente valido. Pero no será valido un formulario que pida su número de seguro social o su estado civil, ya que nada de esto ayuda a cumplir el objetivo por el cual se desea crear un formulario para recibir comentarios en un blog.
  2. Qué campos llenará el usuario y cuales pueden ser calculados?: Tomando en cuenta el ejemplo anterior, vamos a determinar que campos obligatoriamente debe ingresar el usuario y cuales pueden ser calculados por código. De entre los campos nombre, dirección de correo electrónico, fecha del comentario y el comentario a dejar, aquel que puede ser calculado fácilmente es la fecha. Por tanto no necesitamos pedirle la fecha, ya que es posible calcularla al momento de que el usuario presione el botón enviar.
  3. ¿Qué tipo de campos uso?: Pongamos otro ejemplo, si quiero armar un formulario para saber la calidad de un producto X necesito saber la opinión del cliente, una observación, y quizás, su nombre y correo electrónico. Es claro que el nombre, correo electrónico y la observación deben ser cajas de texto, pero no sería buena idea usar una caja de texto también para pedir la opinión sobre la calidad del producto ya que la respuesta es muy ambigua. Por eso la mejor alternativa para saber la calidad del producto es una lista con las opciones excelente, buenas, regular y mala; esto es más factible si deseamos datos concretos.
Estos son los pasos iniciales, y que son de gran ayuda, ya que evitan problemas en etapas más maduras del desarrollo. En el siguiente artículo describiré otros puntos como la distribución de los campos, la validación y enriquecer la funcionalidad de los campos de un formulario.

25 enero 2009

Ubuntu, cerca de ser económicamente autosustentable

Según un artículo de la revista NewYork Times publicado desde su portal, se estima que pronto la empresa Canonical, la cual apoya económicamente al proyecto Ubuntu, podrá generar ingresos suficientes para que Ubuntu sea autosustentable. Esta noticia tiene una gran importancia por que asegura una vida larga al proyecto y actualizaciones puntuales como hasta ahora. Además Mr. Mark Shuttleworth (El empresario que le da financiamiento a su vez a Canonical) dice que su visión para Ubuntu es que esta distribución sea el Sistema Operativo estándar para el siguiente par de billones de personas que adquieran una Pc en lo venidero.
La importancia de este hecho, es que se pone en manifiesto el alcance fenomenal que el software libre, Linux para ser más preciso, en la vida de usuarios normales, en el mejor sentido de la palabra. En una época en que la palabra "crisis" pone en peligro a las grandes empresas, es un verdadero alivio ver que Canonical tenga cifras tan alentadoras.
Para mayor información sobre el artículo, el artículo puede ser leído desde aquí.

08 enero 2009

Reiniciar contador de un campo incremental

Este script de SQL es muy útil cuando se ha terminado de desarrollar y se esta en la etapa de implementación. Po lo general, al crear un campo auto-incremental se genera una semilla la cual va incrementando a medida que se agregan campos, la desventaja de esto se observar al querer reiniciar este número a un valor deseado como cero. El script puede ser de distinta forma dependiendo del manejador de base de datos que estemos usando, he aquí unos ejemplos.

SQL server 2005
DBCC CHECKIDENT (NOMBRE_TABLA, RESEED, 0)
Donde NOMBRE_TABLA es la tabla que contiene el campo autoincremental que deseamos reiniciar y el parametro 0 el nuevo valor para la semilla.

MySQL
ALTER TABLE NOMBRE_TABLA AUTO_INCREMENT=0
Donde NOMBRE_TABLA es la tabla que contiene el campo autoincremental que deseamos reiniciar y el número que vaya después del (=) será el nuevo valor para la semilla.
El material fue recolectado de ForosWeb y son soluciones que he aplicado previamente y las considero un recurso útil, el cual se debe tener a mano y en cuenta antes de la etapa de implementación del sistema.

05 enero 2009

Un excelente sitio sobre Android en español

Hoy al estar escuchando el podcast de Java-Hispano, uno de mis preferidos por cierto, me enteré que existe desde ya algún tiempo un sitio dedicado al sistema operativo para moviles de Google completamente en español; Android-Spa.com. Lo que se puede encontar en este sitio es todo lo que se puede esperar de una comunidad al pendiente del SO para moviles, foros, tutoriales para iniciación, ligas para emuladores, noticias, feed de noticias, etc. Esta comunidad no es exclusiva para españa, ya que "spa" no es por España sino por "español", así que toda la comunidad hispanoamericana puede participar ahí. Algo notable es que el formato de algunos ejemplos de lo que se puede hacer con Android en video y pueden ser vistos desde el sitio en la sección "Videos".
Para todos aquellos que han buscado un lugar donde puedan dar sus primeros pasos como usuarios o como desarrolladores sobre Android esta es una excelente oportunidad en nuestro idioma para comenzar a explorar el SO para moviles, que quizás, tendrá un peso muy importante en el mercadoel desarrollo de aplicaciones para moviles en los proximos años, siempre y cuando existan más equipos moviles con este SO a nivel mundial y no solo en Estados Unidos y el Reino Unido.

01 enero 2009

The Big Bang Theory

Este fin de año fue agradable gracias a que vi esta tremenda serie llama "The Big Bang Theory". Dicha serie es transmitida por la CBS, y hasta estas fechas se han liberado dos temporadas (De las cuales yo solo he visto la primera temporada, que se conforma por 17 episodios). Es como ver Friends pero versión Geek, ya que la temática gira en torno a dos científicos, Leonard y Sheldon, quienes además de compartir un mismo empleo, comparten trabajo y apartamento. Como dos personas no son suficientes para jugar Halo (más bien no muy divertido), hay dos amigos más, Howard y Rajesh, quienes se reunen con Leonard y Sheldon para compartir su muy singular estilo de vida. El atractivo visual corre por parte de la camarera y actriz Penny, la cual a pesar de poseer un IQ promedio, este le es más que suficiente para superar a nuestro "geek squad" en todo lo que tenga que ver con interacción social.
Le agradezco a mis amigos Marvin y Kaio por semejante sugerencia para estas vacaciones y es una serie que recomiendo ampliamente para quienes sean geeks, o bien, deseen saber si lo son.