Filtrando listas de correo con procmail en es.gnu.org

18/11/2012 2 comentarios

Esta receta es personal para mi correo de es.gnu.org, pero le valdrá a cualquiera que tenga instalado procmail en su propio servidor. El .procmailrc situado en $HOME sería algo como:


# .procmailrc
# routes incoming mail to appropriate mailboxes
PATH=/usr/bin:/usr/local/bin
# MAILDIR=$HOME/Maildir # all mailboxes are in .mailspool/
# DEFAULT=$HOME/Maildir/inbox
LOGFILE=$HOME/mail.log
SHELL=/bin/bash

# Put mail from emacs-orgmode mailing list into mailbox emacs-orgmode
:0:
* ^(From|Cc|To).*emacs-orgmode@gnu.org
$HOME/emacs-orgmode

:0:
* ^(From|Cc|To).*emacs-es@es.gnu.org
$HOME/emacs-es

En gnu-es usamos squirrelmail y es posible suscribirse a ficheros desde el enlace Carpetas. Una vez suscrito ya es posible acceder a la carpeta desde vuestro cliente de correo preferido, en caso de gnus presionando U desde el Summary.

Categorías:software libre

Liberados trabajos que realicé en el Máster de Metodología de la Investigación Social

11/11/2012 2 comentarios

Desde Octubre de 2010 hasta Septiembre de 2012 he realizado un Máster en Metodología de la Investigación en Ciencias Sociales. Estos son los trabajos que realicé en dicho período:

  • Trabajo Fin de Máster: Usos, Actitudes y Necesidades Tecnológicas de los Movimientos
    Sociales de la ciudad de Madrid (pdf | odt)
  • Análisis Sociológico de los Logos de los Proyectos de Software Libre (pdf | odt)
  • Etnografía Virtual en Drupal (pdf | odt)
  • Cultura Material de las Máquinas PDP (pdf | odt)
  • Análisis Metodológico del libro “Para hacer que la Democracia Funcione” (pdf | odt)
Categorías:investigación social

Crear un repositorio git en un servidor

11/11/2012 4 comentarios

En el servidor

cd ~
mkdir repository.git
cd repository.git
git --bare init
git repo-config core.sharedRepository true

En local:

mkdir repository
cd repository
git init
git add *
git commit -m "Initial import"
git remote add origin git+ssh://user@server/~user/repository.git
git push origin master

Bajar git:

git clone git+ssh://user@server/~user/repository.git
Categorías:software libre

Qué hacer si recibes un fichero .org

19/05/2012 2 comentarios

Si lo quieres modificar y no quieres usar el emacs (se descarga desde http://ftp.gul.es/gnu/ftp.gnu.org/gnu/emacs/) yo creo que lo mejor es abrirlo desde, por ejemplo, el openoffice/libreoffice (Archivo -> Abrir y eliges el fichero descargado). En Word supongo que es igual, pero no tengo un Word para probarlo.

Los títulos empiezan con * y los subtítulos empiezan con ** y los subsubtítulos con *** y así sucesivamente. No necesitas saber nada más pues no uso más artificios para los ficheros que estoy compartiendo contigo. Desde el emacs es muy cómodo navegar por el fichero porque al principio solo se ven los títulos y al dar a la tecla TAB se despliegan los subtítulos y si vuelves a dar a TAB se vuelven a plegar. Si los abres con Word u OpenOffice aparece todo desplegado y tienes que tirar de scroll como te pasa en cualquier otro documento .doc u .odt

Org mode es todo un mundo y esta es su página oficial http://orgmode.org/es/index.html por si te interesa, que igual no, por lo que no me enrrollo más.

Categorías:emacs, software libre

Gnus + Gmail + Offlineimap

21/10/2011 1 comentario

En un anterior artículo se ha explicado como tener emacs funcionando con gnus para leer el correo de Gmail. En este artículo daremos un paso adelante: poder leer correo imap desconectados teniendo una copia de todo el correo en local y sincronizarlo de manera eficaz.

Con apt-get install dovecot-imapd instalamos el servidor imap al que accederemos desde gnus. La configuración de dovecot que viene en debian es extensa y consta de muchos ficheros, interesa meter una sola línea:

mail_location = maildir:%h/Maildir

Y lo haremos en el fichero /etc/dovecot/conf.d/10-mail.conf

Offlineimap realizará el trabajo de sincronizar el directorio ~/Maildir con Gmail. Con apt-get install offlineimap instalamos la aplicación en debian/ubuntu. La configuración del fichero ~/.offlineimaprc sería:


[general]
accounts = Gmail
maxsyncaccounts = 1

[Account Gmail]
localrepository = Local
remoterepository = Remote

[Repository Local]
type = IMAP
remotehost = localhost
port = 993
remoteuser = miusuario

[Repository Remote]
type = Gmail
remoteuser = miusuario@gmail.com
remotepass = micontraseña
holdconnectionopen = true
keepalive = 60

Ahora ya se puede lanzar offlineimap, la primera vez lo mejor es hacerlo desde línea de comandos y si llevas años usando gmail es probable que tarde bastante en descargar todo el correo.

Mientras eso ocurre se puede configurar gnus por ejemplo de la siguiente manera:


(setq gnus-select-method
'(nnimap "Mail"
(nnimap-address "localhost")
(nnimap-stream network)
(nnimap-authenticator login)))

Una vez que se ha descargado el correo se puede ver que todo va bien haciendo M-x gnus desde emacs.

Puesto que para tener el correo actualizado es necesario ejecutar offlineimap he creado la siguiente función interactiva para ello:


(defun offlineimap ()
(interactive)
(shell-command "offlineimap&" "*offlineimap*" nil))

Una vez añadida al .emacs y cargada se llama con M-x offlineimap.

Categorías:emacs

Stumpwm: lisp en el gestor de ventanas

12/10/2011 2 comentarios

Stumpwm es un gestor de ventanas atilado escrito en common lisp. Esto le hace ser considerablemente más rápido que utilizar gnome, unity o kde. Si lo que sueles hacer la mayor parte de tu tiempo es usar un editor de textos, un navegador y alguna otra aplicación se hace realmente productivo.

Pero empecemos por la instalación en debian/ubuntu basta con:

apt-get install stumpwm

Pero después es necesario crear el fichero /usr/share/xsessions/stumpwm.desktop con el siguiente contenido:

[Desktop Entry]
Encoding=UTF-8
Name=StumpWM
Comment=Tiling Window Manager
Exec=/usr/bin/stumpwm
Icon=
Type=Application

Una vez hecho esto deberíamos poder elegir stumpwm, por ejemplo, en el gdm. Al arrancar stumpwm vemos una pequeña ventana que nos invita a ejecutar C-t ? para conocer los atajos.

Los importantes para empezar son:

  • C-t c: abrir una consola
  • C-t e: abrir el emacs
  • C-t !: ejecutar un comando de consolar
  • C-t C-t: volver a la ventana anterior
  • C-t w: listar las ventanas abiertas
  • C-t 0: ir a la ventana número 0 (con otros números iremos a ventanas distintas)

Para evaluar código lisp se usa C-t :. Así, podemos evaluar:

  • (+ 2 2): evalúa una suma de dos más dos
  • (loadrc): evalúa el fichero .stumpwmrc
  • (quit): sale de la sesión

Mi .stumpwmrc es realmente simple, ya que llevo muy poco tiempo utilizando este entorno, pero puede ser útil para otros principiantes como yo:

(in-package :stumpwm)

(setf *default-package* :stumpwm)

;; Cambio el prefijo C-t por C-z
(set-prefix-key (kbd "C-z"))

;; Creo el comando iceweasel
(defcommand iceweasel () ()
  "Start/Switch to Iceweasel."
  (run-or-raise "iceweasel" '(:class "Iceweasel")))

;; Ahora con C-z C-i iré al iceweasel
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "C-i") "iceweasel")

;; Creo el comando wikipedia
(defcommand wikipedia (search)
  ((:string "Search in Wikipedia for: "))
  "docstring"
  (check-type search string)
  (substitute #\+ #\Space search)
  (run-or-raise 
     (concat "iceweasel http://www.wikipedia.org/wiki/" search) 
     '(:class "Wikipedia")))

;; Arranca el network-manager al iniciar (para conectar vía wifi)
(run-shell-command "nm-applet --sm-disable")

Las cosas que he encontrado útiles de stumpwm son:

  • tener atajos para ir directamente al emacs, ó al navegador independientemente de cuantas ventanas tengo abiertas, no como con Alt+TAB que le tienes que dar unas cuantas veces
  • tener el fichero de configuración en lisp
  • su rapidez, especialmente vital en máquinas lentas

¿A vosotras/os que os parece?

Categorías:lisp, software libre

Múltiples cuentas de smtp en GNUS con msmtp

29/09/2011 1 comentario

En un artículo anterior ya se explico cómo configurar Gmail en Gnus incluyendo el servidor de smtp. La idea de este artículo es que Gnus elija el servidor smtp en función del from que introducimos.

Hay diferentes formas de gestionar esto. Aquí se ha elegido usar msmtp por su estabilidad y sencillez.

Así es que lo primero será instalar msmtp:

sudo apt-get install msmtp

Después se crea un fichero .msmtprc para almacenar las cuentas de smtp:

#################################
account gmail
host smtp.gmail.com
domain smtp.gmail.com
tls on
tls_certcheck off
tls_starttls on
auth on
user correo@gmail.com
from correo@gmail.com
password XXXXXXXX
port 587
logfile ~/msmtplog.txt
##################################
account gnues
host chapters.gnu.org
domain chapters.gnu.org
tls on
tls_certcheck off
tls_starttls on
auth on
user miusuario
from miusuario@es.gnu.org
password XXXXXXXXX
port 25
logfile ~/msmtplog.txt
##################################

Una vez hecho esto se cambian los permisos del fichero de configuración:

chmod 600 ~/.msmtprc

Y ahora se reemplaza la configuración que hubiera en el .emacs relativa a smtp por lo siguiente:

(defun cg-feed-msmtp ()
  (if (message-mail-p)
      (save-excursion
	(let* ((from
		(save-restriction
		  (message-narrow-to-headers)
		  (message-fetch-field "from")))
	       (account
		(cond
		 ;; I use email address as account label in ~/.msmtprc
		 ((string-match "correo@gmail.com" from) "gmail")
		 ;; Add more string-match lines for your email accounts
		 ((string-match "miusuario@es.gnu.org" from) "gnues"))))
	  (setq message-sendmail-extra-arguments (list "-a" account))))))

(setq message-sendmail-envelope-from 'header)
(add-hook 'message-send-mail-hook 'cg-feed-msmtp)

;; with Emacs 23.1, you have to set this explicitly (in MS Windows)
;; otherwise it tries to send through OS associated mail client
(setq message-send-mail-function 'message-send-mail-with-sendmail)
;; we substitute sendmail with msmtp
(setq sendmail-program "/usr/bin/msmtp")

Modificando claro lo relativo al correo y a las etiquetas de msmtp que hayais puesto.

Con esto ya debería valer, pero podéis depurar posibles errores lanzando msmtp desde línea de comandos y revisando el log que en este caso está en ~/msmtplog.txt

Suerte!

Categorías:emacs
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.