Archive for January 2009
Instalación de Windows 7 beta 1 en Virtualbox
Formatear una partición NTFS desde Linux OpenSuse 11.1
El procedimiento es similar al utilizado para formatear las particiones FAT32 analizado anteriormente, se modifica la ejecución de los comandos mkfs.msdos y fsck.msdos como se muestra a continuación.
Crear el sistema de archivos NTFS en la partición elegida.
$ sudo /sbin/mkfs.ntfs /dev/sdf1 –label windows -v
Revisar el disco en busca de bloques dañados.
$ sudo /sbin/badblocks -s -v /dev/sdf1
Realizar la revisión de problemas comunes de particiones NTFS.
$ sudo /usr/bin/ntfsfix /dev/sdf1
Un poco de humor técnico
Sistemas ágiles para la prestación del soporte técnico.
La verdadera tecla ESC.
Nuevos y alarmantes casos de phishing.
Como desactivar el parlante en Windows
Una de las muchas cosas en que actualmente uno no piensa es en el parlante (speaker) del computador. Después de la popularización de las tarjetas de sonido a principios de los 90’s el parlante cayó en desuso, sin embargo sigue allí, al acecho, nunca nos dice nada y por eso lo ignoramos creyendo que ya se ha ido.
La semana pasada, el portátil de una compañera tenía problemas, no han logrado encontrar sus controladores de sonido y por consiguiente el speaker ha asumido sus funciones. Debido a sus limitaciones técnicas lo único que puede hacer es el consabido beep cada vez que puede, con demasiada frecuencia. Debido a esto la citada compañera me pidió el favor de ayudarle a hacernos cargo de él.
Esto lo logré de la siguiente manera desde la línea de comando. Existen dos tipos de cambios, el que es tomado unicamente durante la sesión actual, es decir, al reiniciar el equipo el uso del speaker se restablece y el permanente cuyo estado perdura hasta que se deshaga la configuración.
- Cambio temporal.
net stop beep
- Cambio permanente.
sc config beep start= disabled
Debe tenerse en cuenta que el espacio después de la palabra “start=” en el cambio permanente, es obligatorio. Trivialmente, para revertir la configuración permanente se debe ejecutar el mismo comando reemplazando la opción disabled por enabled.
Desbloquear archivos CHM
Muchos de los documentos que se descargan de Internet vienen en archivos con el formato Microsoft Compiled HTML Help, es decir, el bendito CHM.
Muchos de estos documentos acostumbran a fallar al intentar realizar una consulta en ellos después de descargarlos y abrirlos localmente.
Pues bien, después de haberme echado a la pena y de haber borrado muchos de estos archivos pensando que estaban corruptos, he encontrado por fin el motivo de este síntoma y su correspondiente solución. Resulta que en estos casos, Windows es muy pudoroso y considera muy arriesgado abrir el archivo de documentación ya que ese archivo ha sido creado en otro equipo y puede traer mañas raras.
La solución que permite consultar el documento tal y como se esperaba consiste en dar clic derecho sobre el archivo y seleccionar la opción Propiedades.
En este diálogo se debe presionar el botón Desbloquear en la parte inferior y posteriormente presionar el botón Aceptar.
Después de estos pasos demasiado simples, sólo es necesario volver a abrir el documento y disfrutar de su contenido.
Definitivamente lo peor que hay en este mundo es … no saber
Transfiriendo un proyecto a Dreamhost
Introducción.
Este mes realice la transferencia de un proyecto que estaba albergado en un hosting un tanto incómodo (poco espacio, no acceso al shell, bases de datos limitadas, no acceso por SFTP, …) hacia Dreamhost donde están hospedados los demás proyectos. Este proceso incluyó la transferencia del dominio desde el Registrar anterior, la copia de archivos y la copia de las bases de datos. Pensé que la parte de actualización de los dominios iba a ser mas tortuosa pero en realidad no fue nada difícil, sin embargo amerita su documentación para futuras referencias.
Transferencia del dominio.
Para transferir el dominio al Registrar de Dreamhost se debe contar con las siguientes condiciones obligatorias.
- Ser un dominio .com, .net, .org o .info.
- Tener una cuenta (Web ID) con Dreamhost.
- El dominio a transferirse debe tener mas de 60 dias de adquirido/renovado.
- Tampoco debe estar a punto de vencerse ya que el proceso toma algunos días y es abortado si este se vence durante la transacción. Un rango de tiempo mínimo es de 2 semanas antes de su vencimiento.
- No debe estar asegurado (locked) o retenido (on-hold) por el Registrar actual.
- Se debe contar con el código de transferencia del dominio provisto por el Registrar.
- Se debe contar con acceso a la cuenta de correo del administrador del dominio registrada con él ya que a esta se envía un correo de confirmación.
Para iniciar la transferencia se accede al panel de control de Dreamhost (http://panel.dreamhost.com/) a través de los menúes Domains > Reg. Transfer. En el campo Transfer a registration to us se debe especificar el nombre del dominio que va a ser trasladado. Posteriormente el sistema solicita el código de transferencia (Transfer Auth Code) que lo entrega el Registrar de orígen y la información del Whois que puede ser la de Dreamhost si se desea privacidad o sus datos propios.
En este momento se envía un correo de confirmación a quien aparezca como administrador del dominio, este correo contiene una autorización que debe ser activada en un plazo máximo de 7 días o la transacción se terminará automáticamente. Esta información se puede consultar a través de Whois. Este proceso puede tomar algunos días.
Para formalizar la transferencia del dominio es obligatorio que se renueve el dominio por un año mas. Este tiempo se suma al que tenga ya contratado el dominio en ese momento.
Después de realizada la transferencia del registro se especifican los servidores DNS (Whois nameservers) que manejaran el nombre, ya sean los del hosting orígen si se desea que se siga utilizando (útil si no se ha hecho aún la copia de archivos) o a los siguientes servidores de Dreamhost para que se utilicen los archivos almacenados allí.
- ns1.dreamhost.com
- ns2.dreamhost.com
- ns3.dreamhost.com
Para verificar el cambio del dominio utilice un navegador web o la herramienta ping junto con el nombre del dominio en cuestión. En éxito deberá aparecer el nuevo sitio o la nueva dirección IP respectivamente, a la cual apunta el dominio.
Si utiliza Windows Vista como sistema operativo, probablemente necesite renovar el caché del DNS ya que este habrá almacenado el valor inicial y se demorará cierto tiempo en solicitar el nuevo, impidiéndo que sea tomado en cuenta el cambio en el DNS ya propagado. Para hacer esto realice los siguientes pasos.
- Haga click sobre el menú de inicio desplegándolo.
- En el campo de texto ubicado en la parte inferior donde dice “Iniciar la búsqueda” escriba cmd.
- Presione las teclas CTRL + SHIFT + ENTER.
- Presione el botón Continuar para aceptar la ejecución del Símbolo del sistema con permisos de administrador.
- Ejecute el comando: ipconfig /flushdns
Copia de seguridad de la base de datos.
Mientras se realiza la transferencia del registro es necesario continuar con el proceso de la copia de seguridad de la base de datos. Como mencioné, el hosting orígen no me daba acceso a la línea de comando así que no podía utilizar mysqldump así que la copia de seguridad se realiza a través de PHPMyAdmin. El procedimiento es muy sencillo.
- Ingrese al PHPMyAdmin del servicio de hosting con el nombre de usuario y contraseña de la base de datos que se va a exportar.
- En la parte izquierda seleccione la base de datos que se va a exportar (es posible que aparezcan varias).
- En la parte media superior elija la etiqueta Exportar.
- Seleccione las tablas (por defecto todas) que desea exportar y el formato (por defecto SQL).
- Elija la casilla Deshabilitar la revisión de las llaves extranjeras para evitar futuros problemas con la restauración de las tablas en desórden.
- Seleccione las casillas Estructura y Datos para que sean incluídos en la copia de seguridad.
- En la parte inferior seleccione Enviar (genera un archivo descargable) y presione el botón Continuar.
- Almacene este archivo para posteriormente trasladarlo al nuevo hosting.
Creación de la base de datos y restauración de la copia de seguridad.
El primer paso es crear la nueva base de datos en la cuenta de Dreamhost, para esto realice los siguientes pasos.
- Acceda al Panel de Dreamhost.
- Navegue a través de los menúes Goodies > Manage MySQL.
- Ubique la sección Create a New MySQL Database.
- Ingrese la información de la nueva base de datos.
- Presione el botón Add new database now!.
- Tome atenta nota de la información suministrada en este punto.
El segundo paso corresponde a la restauración de la copia de seguridad realizada anteriormente. Para hacerlo siga los pasos dispuestos a continuación.
- Acceda al PHPMyAdmin asociado a la cuenta. Esto se hace accediendo al host (corresponde al valor del campo Use Hostname del paso anterior) de la base de datos desde un navegador web.
- Ingrese utilizando el nombre de usuario y contraseña especificados durante el paso anterior.
- Seleccione en la parte media superior la etiqueta Importar.
- En la sección Archivo a importar presione el botón Examinar y seleccione el archivo donde almacenó la copia de seguridad de la base de datos.
- Presione el botón Continuar para terminar el proceso.
Copia de los archivos al nuevo hosting.
Para este momento la transferencia del dominio ya ha sido realizada y la base de datos se encuentra lista, el problema es que el sitio aún está vacío. El único acceso al hosting de orígen es a través de FTP motivo por el cual se siguen estos pasos para realizar la copia de lo archivos del proyecto.
- Inicie una sesión SSH con su cuenta de Dreamhost. Para esto utilice un cliente SSH como Putty (Windows).
- Como Host name escriba su nombre de dominio, el cual ya debe ser accesible desde su ubicación.
- Como Connection type elija SSH.
- Presione el botón Open.
- En los campos Login as y Password ingrese los datos correspondientes al usuario propietario de la cuenta asociada al dominio, que de paso, es diferente al usuario administrador de su cuenta de Dreamhost.
- Acceda al directorio donde se almacenarán los archivos de su sitio web. Dreamhost crea en las cuentas de los usuarios, un directorio por cada dominio asociado. Estos directorios tienen como nombre el mismo nombre del dominio.
$ cd midomino.com
- Utilice wget para realizar la copia de los archivos del hosting original hacia la cuenta en Dreamhost.
$ wget –mirror ftp://USUARIO:CONTRASEÑA@HOSTING_ORIGEN/RUTA
Modifique los valores de USUARIO (usuario FTP del hosting orígen), CONTRASEÑA (contraseña del usuario FTP del hosting orígen), HOSTING_ORÍGEN (nombre o dirección IP) y RUTA (ubicación de los archivos a copiar).
Ajustes finales.
Realice los ajustes finales que requiera su proyecto como configurar la nueva ubicación y autenticación de las bases de datos, asegurarse que los enlaces funcionen correctamente, etc.
Enlaces.
- Dreamhost.
http://www.dreamhost.com/ - Whois.
http://www.whois.net/ - PHPMyAdmin.
http://www.phpmyadmin.net/ - KB / Account Control Panel / Domains :: Registration / The Basics
http://wiki.dreamhost.com/KB_/_Account_Control_Panel_/_Domains_::_Registration_/_The_Basics - KB / Domains / Transfers / Transfer Registration
http://wiki.dreamhost.com/KB_/_Domains_/_Transfers_/_Transfer_Registration - KB / Account Control Panel / Domains :: Transfer
http://wiki.dreamhost.com/KB_/_Account_Control_Panel_/_Domains_::_Transfer - Transfer your hosting to us
http://wiki.dreamhost.com/Transfer_your_hosting_to_us - Registration Terms and Conditions
http://wiki.dreamhost.com/KB_/_Account_Control_Panel_/_Domains_::_Registration_/_Registration_Terms_and_Conditions
7 comments » | Humor, Internet, Linux/Solaris/BSD, Móvil, Web
Elementos comúnes para el éxito del desarrollo de software
Los elementos triviales y obvios mencionados a continuación son en realidad el sustento para el desarrollo de proyectos de software exitosos.
- Alguien mantiene una lista de las cosas que hay que hacer. Estos requerimientos se encuentran divididos en actividades manejables y los sus estimados de tiempos y recursos se encuentran calculados.
- Cada miembro del equipo conoce cuales de esas actividades son de su responsabilidad y se prioriza su implementación de acuerdo con el impacto de estas.
- Por lo menos una persona realiza el seguimiento contínuo de las actividades realizadas para determinar si el proyecto se encuentra en curso o si existen problemas para tomar las medidas correctivas del caso.
Sobre ellos se sobreponen algunas otras características que facultan al grupo de trabajo y lo catapultan hacia el éxito.
- Personal talentoso, motivado y bien dirigido.
- Procesos cortos, livianos y flexibles: ágiles.
- Apertura al cambio que trae consigo evolución y refinamiento.
- Comunicación permanente.
- Autogestión: responsabilidades y autoridad.
Le suena esto ya conocido ? No ? Lo invito a que revise estos enlaces.
- Introducción a la implementación de Scrum.
http://www.jorgeivanmeza.com/blog/2008/11/08/introduccion-a-la-implementacion-de-scrum/ - Scrum en menos de 10 mintuos.
http://www.jorgeivanmeza.com/blog/2009/01/14/scrum-en-menos-de-10-minutos/ - The Argument for Scrum.
http://aboutscrum.com/blog/the-argument-for-scrum/ - Scrum (development).
http://en.wikipedia.org/wiki/Scrum_(development)
Algunos aspectos a tener en cuenta durante el desarrollo de software
Visitando el blog de AboutScrum encontré un par de artículos que me parecieron muy interesantes y que resumo a continuación. El primero de ellos habla de cinco prácticas comunes que se deben evitar cuando se desarrolla software en grupos y que pueden ir en detrimento del éxito del proyecto.
- Creer que todos los integrantes del grupo son iguales y tratarlos como tal. Todas las personas son diferentes entre sí, todos tienen sus propias fortalezas y sus debilidades particulares. No potenciar las primeras y minimizar las segundas es desperdiciar las aptitudes del personal.
- Seguir con rigurosidad los procesos y procedimientos. Estos fueron creados para evitar los errores y permitir depurar los existentes. Si el grupo encuentra una mejor y mas eficiente manera de desarrollar sus funciones dentro de unas condiciones tolerables debería tenerse en cuenta esta opción. Lo importante no son las reglas sino el desarrollo del producto. Esto aplica particularmente a los desarrolladores de software cuya función principal es la de resolver problemas y que probablemente, con su visión particular del mundo, encuentren diferentes formas de acercarse a los problemas. Los procesos no deben ser camisas de fuerza sino recomendaciones bajo las cuales se acostumbre a llegar al éxito, con la posibilidad de una razonable desviación: “el proceso es creado para el equipo, no el equipo para el proceso”.
- Crear un diseño detallado antes de iniciar la implementación. Se sugiere realizar una mediación inteligente entre el diseño de un buen plan y el diseño de un plan demasiado riguroso, este último se convierte en una guía paso a paso para seguir al pie de la letra y de esta manera se extirpa de él la posibilidad de innovar y evolucionar.
- Oponerse de manera obstinada al cambio de requerimientos. Los cambios sobre la marcha son altamente temidos, modifican cronogramas y alteran presupuestos, sin embargo el cambio en las condiciones del medio es una realidad cotidiana. Tratar de evitarlo es destruír la evolución del proyecto mismo y condenarlo a la mediocridad y probablemente al fracaso.
- Asignar las tareas según la disponibilidad de recursos. Esta tarea cotidiana constituye la dirección del proyecto en el día a día y amerita la toma de decisiones de manera inteligente, maximizando el beneficio para el proyecto en pos de su éxito. De esta manera, la toma de decisiones no debería estar basada en la disponibilidad de recursos sino en la gestión de los talentos. Una tarea importante no debería asignársele a un ingeniero promedio simplemente porque tiene tiempo libre: la pondría en un riesgo inminente. De igual manera, a un ingeniero talentoso no se le deberían asignar triviales ya que sería un desperdicio de sus aptitudes y disminuiría su nivel de satisfacción en el proyecto.
El otro artículo habla de la importancia de la conformación de un buen grupo de trabajo frente a cualquier otra variable de un proyecto que incida en su éxito. Este artículo parece complementar el anterior, en especial al quinto punto.
- La pieza central de cualquier proyecto exitoso es el grupo de personas que lo construyó.
- No existen herramientas, métodos de desarrollo ni cantidades de tiempo o dinero que puedan sustituír la importancia del grupo de trabajo.
- La creencia de que “con un buen sistema y procesos afinados se puede construír cualquier cosa con un grupo de trabajo mediocre” es falsa. Sólo los equipos dirigidos, motivados y talentosos pueden desarrollar productos excepcionales.
- Las metodologías pesadas para el desarrollo de productos y procesos sólo pueden lentificar a los equipos para garantizar que los miembros mediocres se mantegan al día. El costo es realmente muy alto.
- El aumento de personal no necesariamente acerca las fechas de entrega, probablemente aumenta el trabajo de capacitación y coordinación, los costos y disminuye la cohesión del grupo, trayendo consigo el efecto exactamente opuesto.
- Nueve mujeres no pueden tener a un bebe en un mes.
- Por esto es muy importante el contratar al personal mas talentoso posible. Es mejor un buen ingeniero que diez mediocres. Una persona mediocre disminuye ostensiblemente el desempeño de todo el grupo.
- El sistema debe ser de procesos ligeros y flexibles, el personal talentoso es quien realmente sabe como se deben hacer las cosas y no necesita que les indiquen el camino.
- Remueva al personal mediocre o en su defecto, asígnele tareas que nos sean críticas para el éxito del proyecto.
- Cree la cultura del talento. La satisfacción y la remuneración del personal son muy importantes, las personas talentosas gustan de trabajar con otras personas talentosas.
Enlaces.
- 5 Common Sense Practices to AVOID!
http://aboutscrum.com/blog/5-common-sense-practices-to-avoid/ - Building a Great Team.
http://aboutscrum.com/blog/building-a-great-team/
Instalación de Moonlight en Linux OpenSuse 11.1
El runtime de Moonlight/Silverlight permite ejecutar en el navegador aplicaciones web de contenido enrriquecido desarrollado utilizando las tecnologías de Microsoft .NET. Para realizar su instalación en OpenSuse 11.1 se deben realizar los siguientes pasos.
- Abrir YaST: System > System > YaST.
- Bajo la sección de Software seleccionar la aplicación Software Repositories.
- Presionar el botón de Add + para agregar un nuevo repositorio.
- Como Media Type elegir Specify URL … y presionar el botón Next.
- Como Repository Name especifique Mono from Novell.
- Como URL especificar http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.1 y presionar el botón Next.
- En el diálogo Import untrusted GnuPG key presionar el botón Import.
- En el YaST seleccionar la aplicación Software Management.
- En el campo de búsqueda escribir moonlight.
- Seleccionar los siguientes paquetes.
- libmoon0.
- moonlight-plugin.
- moonlight-tools.
- Presionar el botón Install.
- Presionar el botón Apply.
Para otros sistemas operativos visite el siguiente enlace.




























