Yasnippet mode en Emacs


Yasnippet es un sistema de plantillas que nos permite escribir una abreviatura y automáticamente expandir  según las plantillas definidas. Este paquete viene con plantillas para lenguajes como C, C++, C#, Perl, Python, Ruby, SQL, LaTeX, HTML, CSS, entre otros. A continuación veamos como instalarlo:

1.- Descargamos yasnippet desde su página en https://github.com/capitaomorte/yasnippet (para GNU Emacs 23 pueden descargar el archivo yasnippet-0.8.0.tar.gz y para Emacs 24 pueden descargar el archivo yasnippet-0.9.0-beta.tar.gz )

Continuaremos los siguientes pasos con el archivo la versión de Yasnippet 0.8.0, pueden cambiar solamente el valor de la versión si instalan en GNU Emacs 24.

2.- Descomprimimos el archivo descargado y los movemos a la carpeta ~/.emacs.d/ :

tar xzvf yasnippet-0.8.0.tar.gz && mv yasnippet-0.8.0 ~/.emacs.d/

3.- Escribimos lo siguiente en nuestro archivo de configuración de GNU Emacs en ~/.emacs

(add-to-list 'load-path "~/.emacs.d/yasnippet-0.8.0")
(require 'yasnippet)
(yas-global-mode 1)

4.- Reiniciamos GNU Emacs y con esto ya tenemos yasnippet mode listo para usar 😀 .

Más información:

Notas:

Sistema de paquetes para GNU Emacs


Desde la versión 24 de GNU Emacs viene viene incorporado un instalador de paquetes que permite descargar e instalar paquetes de una manera mas sencilla mediante una librería llamada package.el . Cada paquete es un programa para GNU Emacs que ademas contiene información como nombre, descripción, versión, dependencias, entre otras.

ELPA : Archivos de paquetes de Emacs Lisp

Para trabajar con este instalador existen diferentes archivos de paquetes ELPA que viene a ser algo similar a los repositorios en las diferentes distribuciones de GNU/Linux. Entre los repositorios ELPA conocidos existen:

Instalación en GNU Emacs 23

Tal como mencione en un inicio este sistema de paquetes viene por defecto en la versión 24 de GNU Emacs, si deseamos instalarlo en la versión 23 tendremos que seguir los siguientes pasos:

1.- Primero descargamos el archivo package.el

wget http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el

2.- Copiamos el archivo a nuestro directorio con los demás modos de Emacs instalados, en mi caso en la carpeta «~/.emacs.d/» (sin comillas)

cp package.el ~/.emacs.d/

3.- A continuación, escribimos en el archivo ~/.emacs lo siguiente:

(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize)

4.- Luego ya podemos ingresar a emacs y ver la lista de paquetes existentes pulsando «M-x package-list-packages» (Entiéndase el M-x como pulsar Alt+x en el teclado, ademas no usar las comillas)

emacs-m-xpackage-list-packages

Mas información:

Modo paquete en GNU Emacs

Desde el entorno gráfico:

package-emacs

Desde la consola (emacs -nw):

packages-emacs-nw

modo auto-complete : Autocompletado para Emacs


Este modo como su nombre lo dice nos permite auto-completar palabras con las que estamos trabajando haciéndonos fácil la reutilización de estas en nuestro trabajo.

1.- Primero descargamos por consola el auto-complete desde su página web:

wget http://cx4a.org/pub/auto-complete/auto-complete-1.3.1.tar.bz2

2.- Segundo descomprimimos el paquete descargado:

tar xjf auto-complete-1.3.1.tar.bz2

3.- Desde GNU Emacs pulsamos «M-x load-file» (Entiéndase el M-x como pulsar Alt+x en el teclado, además no usar las comillas)

emacs-m-x-load-file

4.- Ubicamos el archivo instalador desde la ruta descargada (en mi caso está en ~/auto-complete-1.3.1/etc/install.el) :

emacs-m-xload-file_toauto-complete

5.- Nos preguntará la ruta a instalarse el modo de auto-completado (en mi caso he dejado la ruta que dan por defecto):

emacs-install-to

6.- Luego de terminar la instalación, abrimos el archivo de configuración de GNU Emacs en ~/.emacs y escribimos los siguiente

(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)

7.- Finalmente reiniciamos GNU Emacs y con esto ya tendremos el modo de autocompletado listo 😀 .

Más información:

Nota: Desde GNU Emacs 24 se puede instalar con el sistema de paquetes de GNU Emacs (por defecto) desde MELPA con el nombre de auto-complete

Instalar OpenCV en Trisquel GNU/Linux


Hace poco en la UNIversidad me vi en la necesidad de usar OpenCV (Open Source Computer Vision Library) para un proyecto, al principio me compliqué un poco con la instalación, luego de un par de tropiezos logré que funcione correctamente y por si tal vez alguien tenga la misma duda de como realizar una correcta instalación es que escribo esta instalación en 10 pasos.

1.- Primero tenemos que instalar los paquetes necesarios para poder hacer las funciones de procesar imágenes, trabajar con vídeo, etc. Para eso instalamos los siguientes paquetes mediante el apt:

– Instalamos los paquetes necesarios para descargar, compilar y configurar el OpenCV:

apt-get install build-essential subversion libgtk2.0-dev cmake pkg-config 

– Además, instalamos una seria de bibliotecas para trabajar con el OpenCV:

apt-get install libpng12-0 libpng12-dev libpng++-dev libpng3
apt-get install libpnglite-dev libpngwriter0-dev libpngwriter0c2
apt-get install zlib1g-dbg zlib1g zlib1g-dev
apt-get install libjasper-dev libjasper-runtime libjasper1
apt-get install pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
apt-get install libjpeg8 libjpeg62-dev libjpeg8-dbg libjpeg-progs
apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev
apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0  libgstreamer0.10-dev
apt-get install libxine1-ffmpeg libxine-dev libxine1-bin
apt-get install libunicap2 libunicap2-dev
apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils
apt-get install swig
apt-get install libv4l-0 libv4l-dev
apt-get install python-numpy 

Además de las anteriormente mencionadas instale algunas otras para que no salga error con el «cmake» que haremos mas adelante.

apt-get install libgstreamer-plugins-base0.10-dev libjpeg62-dev libswscale-dev 

2.- Entramos en la carpeta que usaremos para trabajar, en mi caso usaré la carpeta «/home/urpi/svn/» que es equivalente a «~/svn/» .

cd ~/svn/ 

3.- Luego descargamos el OpenCV, para esto tenemos dos opciones:

– Descargar la última versión de OpenCV del repositorio central (trunk):

svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk 

– Descargar la última versión probada de OpenCV (tested):

svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot 

4.- Continuaremos el ejemplo con la primera opción (la otra es similar). Entramos a la carpeta principal del proyecto descargado.

cd ~/svn/trunk/opencv/ 

5.- Creamos la carpeta «release» para ahí compilar el proyecto, luego entramos en ella.

mkdir release
cd release/ 

6.- A continuación ejecutamos «cmake» y comprobamos que no nos muestre errores para continuar con la instalación, si falta algún paquete instalarlo antes de continuar.

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON .. 

7.- Luego de que comprobamos que no hay errores continuamos compilando e instalando el OpenCV:

make
sudo make install 

8.- Para que el sistema reconozca la ruta de la biblioteca ejecutamos lo siguiente:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 

9.- Ahora, para probar que todo salió correctamente entramos a la carpeta de los binarios ejecutables y probamos el «cxcoretest» (debería darnos todo OK):

cd bin/
./cxcoretest 

10.- Luego también podemos compilar y probar tres de los ejemplos predefinidos en C que vienen con el OpenCV:

cd ../../samples/c/
. build_all.sh

./delaunay
./facedetect lena.jpg
./bgfg_segm tree.avi 

Notas adicionales:

Instalar y usar w3m en GNU Emacs


Entre las diversas funcionalidades de GNU Emacs se encuentra el poder usarlo como un navegador web, haciendo uso para esto del paquete w3m, el cual es un navegador web basado en texto.

1.- Primero descargamos el emacs-w3m por consola desde cvs:

cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot login
CVS password:  #No colocamos ningún password, solo le damos Enter
% cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m

2.- Copiamos el emacs-w3m en nuestro directorio con los demás modos de emacs instalados por nosotros, en mi caso en la carpeta «~/.emacs.d/» (sin comillas)

cp emacs-w3m - rf ~/.emacs.d/

3.- Ahora entramos al directorio para comenzar con la instalación:

cd ~./emacs.d/emacs-w3m/

4.- Si no existe el archivo «configure» tendremos que crearlo (deberá tener el paquete «autoconf» instalado previamente):

autoconf

5.- Ya con el archivo «configure» ejecutamos los siguientes comandos para instalarlo:

./configure
make
sudo make install

6.- Para terminar la instalación, escribimos en el archivo ~/.emacs lo siguiente:

(add-to-list 'load-path "~/.emacs.d/emacs-w3m/")
(require 'w3m-load)

7.- Luego de guardar esos datos, abrimos el GNU emacs y entramos al w3m con «w3m-browse-url» :

8.- Nos pedirá que ingresemos la pagina, podremos entrar a http://www.gnu.org 😀

Notas adicionales:

  • Para poder ver las imagenes escribir en el archivo «~/.emacs» lo siguiente: «(setq w3m-default-display-inline-images t)» (sin comillas)
  • Para poder usar las cookies en las paginas que necesiten, agregar en el «~/.emacs» : «(setq w3m-use-cookies t)»
  • Para mayor información sobre el uso de w3m desde GNU Emacs revisar la documentación oficial o colocar «M-x w3m» dentro de GNU Emacs.
  • Información completa del proyecto emacs-w3m en su web oficial.

GNU Emacs con w3m

Desde el entorno gráfico:

Desde la consola (emacs -nw):

P.D.: La instalación se hizo en Trisquel GNU/Linux, asi que es probable que funcioné en cualquier derivado de Debian.

ERC : Cliente de IRC para GNU Emacs


ERC es tal vez el modo de GNU Emacs mas sencillo de usar para una persona que recién se anima a entrar al fascinante mundo de GNU Emacs 😀 . Este cliente viene por defecto en las instalaciones de GNU Emacs posteriores a la versión 22.1 .

Para usarlo solo abrimos GNU Emacs e ingresamos al modo llamado erc de la siguiente forma:

1.- Pulsamos «M-x erc» (Entiéndase el M-x como pulsar Alt+x en el teclado, ademas  no usar las comillas)

2.- A continuación se nos ira preguntando por datos para realizar la conexión: Servidor IRC, puerto IRC, usuario, contraseña.

3.- Luego ya podemos continuar usando comandos de IRC, tal y como se usan en otros clientes. Por ejemplo, para ingresar al canal de chat llamado #gnu-es , usamos «/join #gnu-es» (sin comillas).

Mas información:

ERC desde Emacs

Desde el entorno gráfico:

Desde la consola (emacs -nw):

P.D.: Las capturas de pantalla se hicieron desde GNU Emacs 23.1.1 en la distribución Trisquel GNU/Linux .

Identi.ca mode para Emacs


Como dije en un post anterior, GNU Emacs sirve para muchas cosas, entre ellas el poder usarlo para leer y portear en nuestras cuentas de identi.ca, para esto tendremos que usar el identica-mode. A continuación les explico los pasos a seguir para poder intalarlo.

1.- Verificamos que tenemos instalado el Emacs.

2.- Descargamos la ultima versión del identica-mode desde su pagina de http://git.savannah.gnu.org/cgit/identica-mode.git .

3.- Descomprimimos el archivo descargado y copiamos el archivo identica-mode.el a la carpeta «~/.emacs.d/» (sin comillas).

 tar xzvf identica-mode.tar.gz && cp identica-mode/identica-mode.el ~/.emacs.d/ 

4.- Ahora modificamos nuestro archivo de configuración de Emacs ubicado en  «~/.emacs» (en el caso no lo tengas, puedes crearlo) y en colocamos lo siguiente:

 ;;; Identi.ca mode
(add-to-list 'load-path "~/.emacs.d/")
(require 'identica-mode)
(setq identica-username "yourusername")
(setq identica-password "yourpassword")
(global-set-key "\C-cip" 'identica-update-status-interactive)
(global-set-key "\C-cid" 'identica-direct-message-interactive) 

Tendremos que haber reemplazado «yourusername» y «yourpassword» por los datos de nuestra cuenta, en mi caso «ovruni» y «**********» .

5.- Ahora, en el caso tu no estés usando identi.ca, sino un servidor personalizado con el software statusnet, entonces tu deberías agregar también:

 (setq statusnet-server "myserver.com") 

6.- Luego de guardar esos datos, ya estamos listos para usarlo, abrimos Emacs y lo usamos: «M-x identica-mode» (Entiendase el M-x como el pulsar Alt+x en el teclado).

Notas adicionales:

  • Para poder ver los iconos de cada usuario presionar la tecla «i» .
  • Para enviar un nuevo mensaje usar: «C-c C-s» (entiendase C-c como el pulsar Ctrl+c en el teclado, lo mismo luego para la «s») .
  • Para enviar un re-dent, presionas C-c, luego das enter, luego te ubicas en el mensaje a re-dentear y en el estado saldrá el mensaje para el re-dent.
  • Para mas información sobre comandos para identica-mode, revisar el blog de Daniel Saldaña, creador del proyecto.
  • Si deseas realizar le conexión mediante OAuth puedes revisar mi siguiente post sobre esto.

Emacs con Identica-mode:

Desde el entorno grafico:

Identica-mode en Emacs

Desde la consola (emacs -nw):

P.D.: La instalación se hizo en Trisquel GNU/Linux, asi que es probable que funcione en cualquier derivado de Debian.

Trisquel GNU/Linux


Logo Trisquel GNU/Linux

Desde hace un par de meses comencé a usar Trisquel GNU/Linux y me va de maravilla :D, como comente en otro post anterior antes venia usando el gNewSense, el cual aún conservo en otra partición.

Me cambié a usar Trisquel GNU/Linux debido a que se encuentran mas actualizados los paquetes y tiene un mejor soporte para mi PC (he probado que corre con muchas portátiles), además de el hecho de ser otra de las distribuciones que trabaja para conservar la libertad de los usuarios, en otras palabras ser una distribución 100% libre :D.

Captura de Pantalla

Trisquel GNU/Linux

Descargas

Identi.ca


Logo Identi.ca

Identi.ca es un servicio de red social y microblogging en software libre. Este servicio esta basado en el software status.net, el cual usa el protocolo OpenMicroblogging que es libre, además los datos están bajo la licencia Creative Commons Attribution 3.0, en otras palabras totalmente libre 😀 .

Este servicio no tiene nada que envidiar a el conocido servicio Twitter, se usa además las mismas notaciones para comunicarse(el # y el @), además de poderse tener grupos públicos (se usa el !).

Además en el caso no le guste a uno el servicio de identi.ca, tiene la posibilidad de sacar sus datos y de poder instalar el software de status.net en otro lado. El objetivo buscado en este proyecto es la autonomía y el derecho a administrar su propia presencia en internet, valorando sobre todo la libertad de los usuarios.

Por esto y muchas otras cosas mas que podrán encontrar en las preguntas frecuentes es un servicio que recomiendo totalmente :D.

Para seguirme en identi.ca: http://identi.ca/ovruni

GNU Emacs


Logo Emacs

Hace unos meses comencé a usar el GNU Emacs y he quedado encantado, ahora algunos se preguntarán que es GNU Emacs y porque algunos desarrolladores hablan bien de el (algunos otros tal vez al contrario).

GNU Emacs inicio siendo solo un editor de texto que fue escrito por Richard Stallman junto con Guy Steele por el año de 1975, en la actualidad existen varias versiones de Emacs, pero GNU Emacs es el EMACS (Editor MACroS para el TECO) la original.

Si bien GNU Emacs comenzó siendo un editor de texto, debido al uso de Emacs Lisp (un dialecto del lenguaje de programación Lisp) al ser este extensible es en la actualizad una herramienta útil para un gran número de tareas.

Con GNU Emacs es posible editar un conjunto de lenguajes de programación al existir un sin número de modos, estos modos nos permitirán usarlo como navegador web, administrador de archivos, reproductor multimedia, cliente de mensajería instantánea, cliente para microblog, cliente irc, lector de noticias, calculadora, calendario, jugar (tetris, pong, entre otros), además de un largo etcetera.

Debido a sus multiples usos algunos desarrolladores a modo de broma aluden a la creación de la iglesia de Emacs, en la cual Richard Stallman interpreta a San Ignucio, en la cual se dice que no hay dioses, pero si santos y que no existe el celibato.

Para entender como es el uso de GNU Emacs dejo algunos paginas que he encontrado:

  • EmacsWiki, pagina con información sobre el uso de emacs y sobre todo sobre los modos usados en Emacs.

Espero que este articulo introductorio sobre GNU Emacs haya sido de su agrado. mas adelante estaré colocando sobre algunos modos en GNU Emacs que he venido usando :D.

, cliente de mensajería instantánea