miércoles, 28 de julio de 2010

Configurando un nuevo entorno de desarrollo

Estoy empezando un nuevo trabajo y esta semana le estuve dedicando un poco de tiempo a configurar mi nueva laptop. Este es siempre un proceso importante para nosotros los programadores, ya que pasamos muchas horas por día usando nuestras máquinas y por lo tanto todo lo que haga más confortable el entorno de trabajo influye mucho en nuestra productividad.

En esta oportunidad decidí llevar un log del proceso de instalación, por un lado para que me quede como documentación si necesito volver a instalar pero principalmente para compartirlo aquí y recibir feedback sobre herramientas o configuraciones utilizadas por otras personas.

Como voy a estar desarrollando aplicaciones que corren en Ubuntu decidí instalar ese sistema operativo. Además (y sin querer entrar en una guerra religiosa), me parece un entorno mucho más productivo para un desarrollador.

La instalación de Ubuntu 10.4 sobre mi Dell Vostro 1320 fue bastante fácil, solo tuve que tomar en cuenta algunos detalles. Por un lado hay que realizar la instalación conectado vía cable (no wireless) a Internet, para que se baje ciertas actualizaciones claves sin las cuales no funciona bien. Por otro lado, si bien los drivers propietarios de Dell funcionan correctamente, hay que eliminar uno de ellos que se instala por default y que causa problemas en el manejo del switch de la red wireless. Para hacerlo hay que agregar la siguiente linea al archivo /etc/modprobe.d/blacklist.conf.

blacklist dell_laptop

A continuación, y ya con la laptop andando correctamente en Ubuntu, me puse a instalar las herramientas que normalmente utilizo. Por supuesto, empecé con gvim (la instalación standard de ubuntu incluye la versión de consola de vim, pero yo uso también la version con interfaz gráfica).

sudo apt-get install vim-gnome

En seguida instalé vimwiki. Esta herramienta es un wiki personal que funciona como un plugin de vim. La función de un wiki personal es organizar nuestra información de la misma manera que haríamos en un wiki de un grupo o proyecto. Personalmente yo lo uso para tomar notas de las cosas que voy aprendiendo o quiero recordar más adelante (por ejemplo estoy armando este artículo en bases a las notas que tomé en vimwiki mientras realizaba la instalación). También me resulta muy útil para ir llevando un diario que me permita saber a que le dediqué mi tiempo cada día y para mantener una lista de las cosas que tengo pendientes de hacer. Más allá de la herramienta que se use (hay muchas versiones diferentes de Wikis personales), me ha resultado una práctica muy útil.

Instalar vimwiki es muy sencillo siguiendo las instrucciones del sitio. Solo hay que tener en cuenta que se necesita agregar las siguientes lineas al archivo ~/.vimrc

set nocompatible filetype plugin on syntax on

Una vez instalado gvim, me dediqué a la configuración del interpreté de linea de comando (bash en mi caso, tengo ganas de probar zsh algún día). En primer lugar lo configuré para poder utilizar los comandos de vi en la edición, agregando las siguientes dos líneas al archivo ~/.inputrc :

set editing-mode vi set keymap vi

Después hice que la historia de comandos del shell fuera prácticamente infinita (lo que suele ser muy útil cuando uno quiere encontrar tareas para automatizar). Para eso agregué al archivo ~/.bashrc las siguientes líneas:

HISTFILESIZE=1000000000 HISTSIZE=1000000

De manera que el shell va a recordar el último millón de comandos que ejecuté!

A continuación me dediqué a configurar el teclado. La distribución de teclado latinoamericano que tiene mi Dell anda perfecto, pero hay un par de teclas que siempre me interesa reconfigurar. En primer lugar, desactivé la tecla de bloqueo de mayúsculas (Caps Lock). Nunca la uso y a veces la toco por error causando algunos problemas (sobre todo en vi, que es *muy* case sensitive). Lo que hice fue transformarla en otra tecla Alt-gr, para lo cual agregué las siguientes dos lineas al archivo ~/.Xmodmap.

remove Lock = Caps_Lock keysym Caps_Lock = ISO_Level3_Shift

La otra modificación que hice al teclado fue habilitar la tecla de Windows, para poder usarla en combinaciones de hotkeys. Para eso agregué las siguientes tres lineas al archivo ~/.xstartup

xmodmap -e "remove mod4 = F13" xmodmap -e "keycode 115 = Super_L" xmodmap -e "add mod4 = Super_L"

Una vez hecha esta modificación podemos utilizar las combinaciones básicas de windows (Windows + L para lockear la máquina, por ejemplo) siguiendo estas instrucciones. Además instalé tres plugins para Firefox: Firebug (fundamental para desarrollo Web), Down them all (un muy cómodo manejador de downloads) y Vimperator (que configura Firefox para poder navegar utilizando los comandos de Vim!! Creo que mi relación con Vim está dejando de ser saludable :) ). Finalmente, para poder utilizar algunos programas de Windows (fundamentalmente Windows Live Writer, para el cual no conseguí un equivalente Ubuntu), instalé VirtualBox, la máquina virtual de Sun y cree una maquina virtual Windows.

Esta fue mi customización básica de Ubuntu. A medida que pasen los días, seguramente voy a ir instalando algunas cosas nuevas y ajustando Ubuntu para automatizar todas las tareas repetitivas que pueda, algo que se facilita por ser Linux un sistema operativo muy amigable para los desarrolladores. Como decía un viejo chiste , no es que Unix no sea user-friendly, solo que es muy selectivo con quienes considera sus amigos.

1 comentario:

  1. buen post! yo le agregaría Fish (https://wiki.ubuntu.com/Fish) y Compiz (http://www.compiz.org/), Pidgin (http://www.pidgin.im/) y fundamental Ubuntu Tweak (http://ubuntu-tweak.com/) que me hace la vida mucho más fácil... y ojo con necesitar una virtual, en muchos casos el wine resuelve gran cantidad de problemas para ese tipo de necesidades... probado incluso con Counter Strike en la office ;)

    ResponderEliminar