Archivos de etiquetas: GNU/Linux

Controlando versiones de código fuente con una solución buena, bonita y barata

Uno de los muchos desafí­os que enfrentan las Software Factories tiene relación con la Gestión de la Configuración (SCM para los amigos) y puntualmente, el control de versiones. No está de más dejar claro a cualquier newbie en estas lidies que hacer una correcta gestión del versionamiento no solo hace del acto de desarrollar en equipo un problema resuelto, también permite mantener backups de cada uno de los cambios realizados a tus fuentes, y finalmente un soporte para la gestión de ambientes entre otras ventajas.

Pasando a lo práctico, por razones laborales me aboqué a levantar un entorno que permitiera hacer gestión de un repositorio de códigos fuentes sin gastar un peso, que tuviese buen rendimiento, escalable y fácil de administrar.

Oracle VirtualBoxMe incliné por la implementación de máquinas virtuales con VirtualBox que tiene un desempeño “aceptable” (es una porquerí­a si quieres enchufarle un USB o puertos COM, pero para este ejercicio no es relevante). Inicialmente desarrollada Open Source pero tras ser adquirida por Oracle hace algunos años, mataron lo lindo del proyecto. Hoy sigue funcionando y si bien han endurecido el sistema de licenciamiento, sigue siendo “gratis”.

ubuntu-logo14Opté por Ubuntu 12.10 como servidor de aplicaciones simplemente porque me gusta y, siendo esta una distro ampliamente utilizada, cuenta con una extensa comunidad que presta ayuda y soporte a los náufragos. Sin embargo, el primer problema con que me topé fue que no lograba instalar correctamente Ubuntu Server 12.10 en mi VirtualBox. No tengo claro cual fue el problema y la verdad, tampoco quise dedicarle mucho tiempo.

En Virtualboxes.org amablemente disponen para descarga imágenes de máquinas virtuales pre configuradas con, entre otras, Ubuntu Server. Que puedo decir, mil gracias! Descargas, descomprimes y abres el archivo vbox que trae la configuración de la máquina virtual.

No me detendré mucho en la configuración de VirtualBox para optimizar su explotación, solo recomendarles que la tarjeta de red la configuren como “Adaptador Puente” y no “Nat” como viene configurado por defecto, así se le asignará una IP individual y podrá ser vista desde toda tu red.

Muy bien, arrancamos la MV y aplicamos actualización del SO de inmediato. Recuerda que Ubuntu Server no trae interfaz gráfica y objetivamente, no la necesitamos. A pura consola muchachos(as), es mas romántico.

#sudo apt-get update
#sudo apt-get upgrade

SubversionAhora estamos casi listos para comenzar a trabajar. Antes hablemos un poco de Subversion, herramienta que gestiona el control de versiones, también muy popular y ampliamente utilizada. Sin embargo, mas adelante quiero escribir sobre Git y como instalarlo dentro de una MV.

Me incliné inicialmente por SVN porque es una herramienta medianamente conocida por el mercado y por mi cliente, aunque no del todo bien utilizada. Sin embargo las caracterí­sticas de Git lo hacen muy interesante y eventualmente me gustaría explorar mas adelante.

En lo personal, siempre preferí instalar LAMP Server porque te deja Apache y PHP funcionales para levantar una interfaz gráfica al SVN.

#sudo tasksel install lamp-server

Si todo salió bien, consulta el estado de Apache y MySQL con estas instrucciones:
#sudo service apache2 status
#sudo service mysql status

Luego, instalamos Subversion:
#sudo apt-get install subversion subversion-tools libapache2-svn

Habilita los módulos dav_svn:

#a2enmod dav
#a2enmod dav_svn

Y con esto ya lo tenemos instalado. Lo que viene ahora es configurarlo. Comenzaremos agregando un grupo de usuarios para SVN:

#sudo addgroup <nombre del grupo>

Y agregamos a los usuarios al grupo y configuramos las passwords:

#sudo usermod -a -G <nombre del grupo> <nombre de usuario>
#sudo htpasswd -c /etc/apache2/dav_svn.password <nombre de usuario>

Si tienes problemas con htpasswd, instala el apache2-utils.

Vamos por el repositorio. Primero creamos la carpeta y luego el repositorio, para finalmente configurar los permisos.

#mkdir <path repositorio>
#cd <path repositorio>
#sudo svnadmin create /<path repositorio>
#sudo chmod -R 775 /<path repositorio>/
#sudo chown -R www-data:<nombre del grupo> /<path repositorio>/

Ahora habilitaremos una interfaz web para leer nuestro SVN, editando el archivo dav_svn.conf:
#sudo nano /etc/apache2/mods-available/dav_svn.conf
Y agregando las siguientes lineas:
<Location /svn>
DAV svn
SVNPath /<path del repositorio>/
AuthType Basic
AuthName "Nombre del Repositorio"
AuthUserFile /etc/apache2/dav_svn.passwd
Requiere valid-user
</Location>

Luego reiniciamos Apache para que tome los cambios:
#sudo service apache2 restart

Con esto ya tienen habilitado Subversion con ambiente web que puedes ver en http://ip_de_tu_MV/svn.

Pero prefiero instalar una aplicación web mas pro: webSVN.

#sudo apt-get install websvn
Movemos la instalación de websvn a las carpetas del Apache:
#sudo cp -r /usr/share/websvn/ /var/www/

Ahora la hacemos visible en Apache agregando algunas lineas a /etc/apache2/mods-available/dav_svn.conf:
<Location /websvn>
Options FollowSymLinks
order allow,deny
allow from all
AuthType Basic
AuthName "Subversion Repository"
</Location>

Reiniciamos Apache:
#sudo service apache2 restart
Y listo… entras a http://ip_de_tu_MV/websvn y tienes un lindo SVN corriendo.

En unas semanas escribiré algunas mejores prácticas para el uso de SVN, que son los trunk, branch y tag y como sacarles mejor partido.

Nos leemos!

Restaurar “Instalar por tareas” en Ubuntu

No se cuando desapareció, pero cuando intenté usarlo en Ubuntu 10.10 me di cuenta (con algo de pánico para ser franco) que lo habían removido.
Me refiero a la grandiosa opción de Synaptic para instalar TODO el software necesario para realizar determinada tarea, con un solo click.

La opción se llama “Marcar paquetes por tarea”, y es grandiosa.

Pues bien, restaurarla es muy facil. Abre una consola y escribe lo siguiente:

$ sudo apt-get install tasksel

O bien, selecciona Tasksel desde el mismo synaptic e instalalo.

Luego, cierra y vuelve a abrir synaptic y listo, ya verás nuevamente la opción en el menú Editar.

Ojalá lo disfruten, yo me voy a instalar LAMP server para solucionar un lío con WordPress.

Habilitar Backspace en Chromium / Chrom

Revisando mis feeds diarios, me tope con este articulo que describe como habilitar en Firefox la opción de volver atrás en el historial.

Si bien desde que me topé con Chromium, no he vuelto a usar Firefox, me pareció interesante habilitar esta funcionalidad en mi navegador favorito.

Y resulta bastante simple, mas que en Firefox. Solo hace falta instalar la Backspace As Back/Forward for Linux exención que lo resuelve todo.

Ojalá les sirva!

Como se ven los fans de Win/Mac/Linux

Lo vi en VivaLinux y me pareció fantástico. Es que nada mas cierto, es todo una cuestión de percepciones y de cuan fanático seas.

Es un tema de percepciones

Yo voy por Linux Fan, y tu ¿Por cual te la juegas?.

Spicebird, una vista al futuro de los clientes de productividad

Hay una tendencia clara en cuanto a los clientes de correo electrónico, y tiene relación con gestionar desde una misma aplicación toda la información relacionada con la productividad. Seguramente, quien mejor ha explotado (comercialmente) esto es Microsoft con su aplicación Outlook. Su problema radica no en ser un producto Microsoft (aunque muchos lo piensen), si no en ser un producto MS Office, tan lleno de grasa que se pierden dos de las características principales de cualquier pieza de software: la simpleza y la agilidad.

Si lograste salir del mundillo de Outlook, seguramente sabrás que existen muchos buenos clientes de correo electrónico (mi favorito sin duda es Thunderbird) pero no pasan de la gestión del correo electrónico puesto que no incorporan de fábrica características tan necesarias como gestión de calendarios, tareas, notas y una decente agenda de contactos.

La excepción en Linux viene de la mano de Evolution, la solución de Novel que peca en lo mismo que peca Outlook: tiene tanta grasa que se torna lento y pesado.
Pero como en el mundo del Open Source siempre hay alternativas para todo, me topé hace unas semanas con el beta de una aplicación que a mi modo de ver, recoge lo mejor de lo mejor.

Spicebird Beta

Spicebird es, en resumen, un mix entre  iGoogle, Thunderbird, Lightning (Add-on para Thunderbird que integra control de Calendario y Tareas) y Telepathy (framework para mensajería instantánea).

Y la integración, a pesar de ser un beta, la hace muy bien.

Cumple con los requisitos fundamentales de una aplicación que te acompaña durante toda tu jornada laboral: Rápido y ligero. Y su simpleza radica en que organiza cada aspecto en una pestaña distinta, lo que permite ordenar la información y acceder a ella rápidamente.

Además, tiene una fluida interoperabilidad con las soluciones Google GMail, Google Applets y Google Calendar, pero se queda en deuda la integración con la libreta de contactos. Y cuenta al igual que las todas las soluciones Mozilla (ojo que es un proyecto liderado por la empresa Synovel), con la posibilidad de extender funcionalidad vía Add-ons.

Me ha gustado la aplicación… le falta madurar aún, pero mi olfato me dice que por acá se viene una buena innovación. A esperar la versión 1.0.

Puedes descargar su beta desde la sección de descargas de su web.

Crash de Flash embebido en Firefox en Ubuntu Hardy

Hace unos meses publiqué en este blog algunos pasos para habilitar el audio en flash embebido en Firefox en Ubuntu Hardy.

Sin embargo, y como algunos no dudaron en hacérmelo ver, la solución provoca un crash errático de Firefox cuando visualiza una página con flash embebido.

Así que ahora publico como corregir el Crash (desde que lo apliqué, no he vuelto a tener problemas).

  1. Primero, descarga e instala nspluginwrapper.
  2. Ahora abre un terminal y ejecuta lo siguiente:

sudo apt-get install libflashsupport
sudo apt-get remove --purge flashplugin-nonfree
sudo apt-get install flashplugin-nonfree

Reinicia Firefox y deja que la magia haga su trabajo

Las instrucciones las tomé de acá.

Centraliza en Pidgin buena parte de tus IM

Algo que suele resultar muy molesto es levantar múltiples aplicaciones para mantenerse “conectado” virtualmente con quienes se necesita conversar vía mensajería instantánea: MS Messenger, Google Talk, Yahoo son quizás las mas populares, yo las he utilizado durante varios años.

Pero además uso Skype para hacer llamadas especialmente fuera de Chile, y a eso se ha sumado el chat de Facebook que como buena red social me ha permitido retomar contacto con una buena cantidad de personas que incluso había olvidado existían.

Entonces, solo para mantenerme comunicado debiera mantener 5 aplicaciones abiertas. Este problema se soluciona en parte con el excelente cliente de mensajería instantánea Pidgin, que trae de serie conectividad con variedad de redes donde destacan MS Messenger, Google Talk y Yahoo.

Pero no ocurre lo mismo con Skype ni Facebook, al menos hasta que aparecieron en escena un par de plungins altamente recomendables.

En Google Code se encuentran disponibles Facebook Chat for Pidgin para integrar el Chat de Facebook y Skype Plugin for Pidgin para conversación vía mensajes de texto por la red de Skype. El primero funciona de maravillas, pero el segundo tiene un par de aspectos a considerar:

  1. Como pidgin no cuenta (aún) con trafico de voz ni video, Skype Plugin solo admite mensajes de texto.
  2. Requiere que mantengas abierta la aplicación Skype.

Salvando este par de puntos, funcionan de maravilla.

Disfrútenlos.