Archive

Posts Tagged ‘emacs’

Emacs Org-mode y ses-mode

June 24th, 2007

Sigo buscando y encontrando más cosas bonitas en esta versióm de CVS de emacs.

Org Mode

Esta vez se trata del modo org, que básicamente es una agenda integrada en emacs. En el Tutorial Org que he seguido lo utilizan para crear un documento, aunque actualmente utilizo muse con ese objetivo, la caracteristica de agenda es la más útil de todas para mi.

Ses Mode

El modo Ses permite mantejer una hoja de calculo en emacs, increiblemente permite realizar operaciones lisp entre celdas, estoy sorprendido por lo simple que es trabajar esta hoja de calculo.

Aunque no se trata de nada sofisticado cumple todas mis necesidades de hoja de calculo.

Ver el tutorial sobre este modo: Ses Mode Tutorial

EOP

Enlaces y noticias , ,

Más sobre emacs tramp

June 19th, 2007

Despues de utilizar un rato tramp via ssh lo note algo lento, luego de inspeccionar un poco la documentación encontre que el método normal de ssh no es el más optimo. En mi caso el mejor es:


scpc � ssh and scp:
Newer versions of ssh (for example OpenSSH 4) offer an option
ControlMaster. This allows scp to reuse an existing ssh channel, which
increases performance.
Before you use this method, you shall check whether your ssh
implementation does support this option. Try from the command line
$ssh localhost -o ControlMaster=yes
This method supports the `-p' hack.

Mejora considerablemente la velocidad de acceso a los archivos.

Existen otros métodos para usar en windows y samba, es mejor revisar la documentación: tramp User Manual

EOC

Enlaces y noticias , , ,

Emacs Tramp

June 19th, 2007

Bueno esta capacidad de emacs la descubri hace poco, es el modo tramp
para emacs. No estoy seguro si existe en la versión estable de emacs
pues ahora uso emacs-23 (versión alpha de emacs).

La idea es poder acceder limpiamente a los archivos existentes en una
máquina remota, independientemente del protocolo y con la facilidad de
utilizar dired-mode sobre la maquina remota.

Tramp hace esto de la forma más limpia imaginable y hasta donde lo he
probado funciona excelentemente con ftp y ssh.

Lo único necesario para utilizar tramp en emacs es utilizar la
sintaxis correctar al abrir los archivos:

/protocolo:usuario@host:ruta_remota

El protocolo que usa por defecto emacs es ssh, si se tiene el sistema
de llaves publicas y privadas, es dificil darse cuenta que se estan
editando archivos remotamente.

EOP

Enlaces y noticias , ,

Creando un sitio para Valkertown

June 15th, 2007

Bueno he empezado la creacion de un sitio estático para
Valkertown cosa que me agrada
mucho.

Para manejar y escribir el contenido estoy utilizando emacs-muse, y
hasta ahora ha resultado genial, todo funciona perfectamente y se
publican todos los cambios automaticamente utilizando tramp.

El CSS de esa página esta autorizado por sabbath y dure un rato escogiendolo
me gusta por lo simple y no creo que llegue a estar tan cargado de imagenes
como el blog.

En los proximos dias voy a cambiar el banner del blog. El de roma no duro
tanto y este de venecia se ha apoderado del espacio. Creo que el proximo
será de Pizza o Mexico, ya veremos…

Eso es todo por ahora.

EOT

Enlaces y noticias , , , ,

Emacs XFT y Google Analytics

June 6th, 2007

Bueno ya desde hace rato estoy probando la rama unicode-2 del cvs de
emacs, y ahora un pequeñisimo review.

Las tres cosas más interesantes de lo que será el emacs-23 son el
soporte para unicode, widgets gtk y xft font-backend.

Emacs siempre ha trabajado bien unicode en sus buffers pero al parecer
la compatibilidad era algo primitiva, hasta ahora lo que he podido
probar es muy bonito aunqe no doy con una fuente ttf con la que pueda
poner el tablero de ajedrez que viene en utf-8.

Los widgets gtk, pues si en xemacs llevan rato con esto pero pues ya
es hora de hacer el cambio en la versón gnu, por demás que los pocos
menus que aun veo se ven bastante bonitos.

Lo más emocionante de este emacs es el “xft font backend”, permite
utilizar algunas fuentes algo más exoticas en nuestro emacs, tanto
como para ver la nefasta “comic sans” en los buffers. Al final ver un
emacs con fuentes antialiased, hitting y demás efectos agrada mucho.

Esta rama es lo que se dice Alpha, por lo que en el buffer de inicio
aparece un letrero gigante advirtiendo sobre esto. Por ahora ha sido
bastante más estable que mis versiones anteriores de emacs y a el modo
autofill le han quitado tan horrenda costumbre de consumirse mi
maquina cuando le pedia que trabajara en ciertos parrafos.

Incluye algunos nuevos modos por defecto así que ahorra alguna que
otra molestia. Requirio algunos cambios en mi .emacs sin embargo nada
exotico, por lo que recomiendo la primera vez que se utiliza correr
emacs con –debug-init para ver con claridad algunos “warnings” que
pueden conducir a comportamientos no deseados.

Aún no he probado preview-latex en este emacs.

Llevo un rato ya aprendiendo clisp y comparandolo con emacs lisp,
ciertamente tanto tiempo con los otros lenguajes me hace dificil
acostumbrarme, sin embargo ya empiezo a ver algunas maravillas de este
lenguaje.

Finalmente me inscribi en google analytics para el blog, muy muy bonita la interface. Estos dos post son para experimentar un poco con los resultados y luego escribo algo más extenso al respecto.

El proximo post va sobre hardware y embedidos, algo nuevo que me tengo
guardado desde hace rato y por fin tengo algunos resultados.

EOT

Enlaces y noticias , ,

Actualización .emacs.

April 30th, 2007

Es cierto, Emacs suele ser un poco lento al cargar, de eso no hay duda
y aún en las mejores maquinas se sabe tardar en cargar, por esto
cuando necesito hacer modificaciones menores sigo usando vim; Sin
embargo, emacs sigue siendo mi editor de preferencia cuando se trata
de pasar varias horas editando.

Ahora, emacs brilla por su capacidad para modificarlo a mis propios
gustos y me encanta revisar constantemente la Emacs Wiki,
siempre hay cosas nuevas que aprender.

Uno de mis ahora grandes favoritos es el server
mode
, realmente me da verguenza no haberlo descubierto
antes; este modo permite ahorrarse unos segundos cada vez que se abre
un archivo nuevo. Al iniciar el servidor de emacs se puede llamar
desde la consola el emacsclient, que, en vez de
iniciar otra instancia del editor, carga el nuevo archivo en la
instancia que tenga el modo servidor. Esto es excelente en muchos
casos, aunque muchas veces me gusta tener más de un frame de emacs,
aun no manejo con tanta maestria las divisiones de emacs. A este modo
de emacs se le puede combinar con It’s All
Text
, esta extension de firefox permite editar los cuadros
de texto de las páginas, en un editor externo, en mi caso escogi el
emacsclient y lo utilizo principalmente para
editar y corregir todo lo relacionado con el blog.

Y la lista sigue, con emacs la diversion nunca acaba.

Hace poco empece a utilizar el Emacs Code Browser, una
excelente herramienta para navegar entre los archivos de un proyecto,
hace demasiadas cosas como para tratar de enlistarlo todo aqui. Es
mejor seguir el link y descubrir esta maravilla. Cosas como historial
de archivos visitado, bookmarks en los sources…

Este mismo envio lo estoy escribiendo en emacs GNU Emacs 22.1.50.1,
utilizando el weblogger
mode
. No estoy seguro si funciona en versiones anteriores de emacs,
pero hasta el momento utilizar la version CVS de emacs ha sido bastante
agradable.

Más cosas interesantes, el pair-mode, que cierra automaticamente cada
parentesis que se abre y pone el cursor en medio de los dos, muy útil
en mi opinión.

Para finalizar, completado automatico de variables y funciones en
emacs, algo por lo que alguna vez cedi un poco en cuanto a que no
sabia como se podia hacer en emacs, pero ahora aqui esta:

Tambien existe eldoc mode que permite que emacs indique que argumentos
recibe cada función a medida que se va escribiendo, ya lo probe con
elisp y funciona una maravilla, tengo que hacerle funcionar para C y Python

  1.  
  2.  ;; Activar Modo servidor
  3.   (server-start)
  4.  ;; Completado automatico manteniendo la posibilidad de indentar.
  5.  (defun indent-or-complete ()
  6.    "Complete if point is at end of a word, otherwise indent line."
  7.    (interactive)
  8.    (if (looking-at "\\>")
  9.        (dabbrev-expand nil)
  10.      (indent-for-tab-command)
  11.      ))
  12.  ;; Hooks para la tecla TAB a indent-or-complete en los modos de C y Python
  13.  (add-hook ‘c-mode-hook
  14.        (function (lambda ()
  15.                (local-set-key (kbd "<tab>") ‘indent-or-complete)
  16.                )))
  17.  (add-hook ‘python-mode-hook
  18.        (function (lambda ()
  19.                (local-set-key (kbd "<tab>") ‘indent-or-complete)
  20.                )))
  21.  

EOM

Enlaces y noticias , ,

Lo poco que dure con Emacs Wiki

June 13th, 2006

Creo que no dure ni 2h usando emacs wiki cuando me di cuenta que se volvia obsoleto gracias a Muse Mode. Es la versión renovada del EmacsWiki con desarrollo activo y este si es capaz de generar LaTeX por lo que hice el cambio.

Tengo algunos lios con las berracas tildes como siempre(Que viva UTF-8) pero me parece bastante bonito este sistemilla.

EOT

Enlaces y noticias , ,

Hide Show Emacs Mode

September 26th, 2005

Finalmente alguien encontro este modo de emacs para hacer
algo que vi en Kate y en otros editores pero no tenia ni idea
de como realizarlo en emacs, aunque los “keybindings” por defectos
son terribles aquí va un poco de código para añadir al ~/.emacs

66 (add-hook ‘c-mode-hook ‘hs-minor-mode)
67 (add-hook ‘c++-mode-hook ‘hs-minor-mode)
68 (add-hook ‘c++-mode-hook ‘cc++-keys)
69 (add-hook ‘c-mode-hook ‘cc++-keys)
70 ;;;;;;;;;;;;;;;;;;;;;; Complementar los modos de C y C++
71 (global-unset-key [f1])
72 (global-unset-key [f2])
73 (global-unset-key [f3])
74 (global-unset-key [f4])
75
76 (defun cc++-keys ()
77 (defvar c++-mode-map nil) ;; No-op actually
78 (defvar c-mode-map nil) ;; No-op actually
79 (define-key c-mode-map [f1] ‘hs-toggle-hiding)
80 (define-key c-mode-map [f2] ‘hs-show-block)
81 (define-key c-mode-map [f3] ‘hs-hide-block)
82 (define-key c-mode-map [f4] ‘hs-hide-all)
83 (define-key c-mode-map [\C-f2] ‘hs-hide-level)
84 (define-key c-mode-map [\C-f4] ‘hs-show-all)
85 (define-key c++-mode-map [f1] ‘hs-toggle-hiding)
86 (define-key c++-mode-map [f2] ‘hs-show-block)
87 (define-key c++-mode-map [f3] ‘hs-hide-block)
88 (define-key c++-mode-map [f4] ‘hs-hide-all)
89 (define-key c++-mode-map [\C-f2] ‘hs-hide-level)
90 (define-key c++-mode-map [\C-f4] ‘hs-show-all)
91 )
Con esto se añaden unos bonitos keybindings para las teclas f1 a f4 pero
solo en los modos c y c++, como es posible que los modos de otros lenguajes
se entiendan con el hs-minor-mode, quiza seria mejor así el código:

66 (add-hook ‘c-mode-hook ‘hs-minor-mode)
67 (add-hook ‘c++-mode-hook ‘hs-minor-mode)
68 (add-hook ‘cperl-mode-hook ‘hs-minor-mode)
69 ;;;;;;;;;;;;;;;;;;;;;; Complementar los modos de C y C++
70 (global-unset-key [f1])
71 (global-unset-key [f2])
72 (global-unset-key [f3])
73 (global-unset-key [f4])
74
75 (global-set-key [f1] ‘hs-toggle-hiding)
76 (global-set-key [f2] ‘hs-show-block)
77 (global-set-key [f3] ‘hs-hide-block)
78 (global-set-key [f4] ‘hs-hide-all)
79 (global-set-key [\C-f2] ‘hs-hide-level)
80 (global-set-key [\C-f4] ‘hs-show-all)

El problema es que los keybindings quedarian enlazados para todos los otros modos que
no soportan el hs-minor-mode y quiza se podrian utilizar para esto…
¿A ver alguna idea para hacer esto más bonito?

EOT

Enlaces y noticias ,

Actualización

June 18th, 2005

Saludos, bien el blog progresa con algunas modificaciones en el template y una imagen procesada por +Sabbath+ a quien moleste demasiado para hacerla, gracias por la paciencia.

Bien, en el otro blog se publicaban archivos, como no tengo aún hosting de archivos no puedo publicar aquí archivos, quiza arranque un proyecto en sourceforge para poder publicar archivos, sin embargo aun me falta organizar los proyectos para ello.

El trabajo realizado este semestre se resume en:

Scripts:

  • GRL.pl <- Get Random Line, de un archivo
  • Materm.pl, Un script que envuelve a aterm y utiliza un archivo de colores para colocar distintas transparencias, y ajustar el titulo de la terminal
  • bin2asc,asc2bin,asc2hex,hex2asc Set de scripts de perl que traducen, para los nicks P
  • rsync_backrounds, script para mantener sincronizados la coleccion de backgrounds con Herulor

Traducción:

  • BRIM

    , Corrección de la traducción a español y se añadio Español-Colombia explicitamente.Ayuda especial de Herulor

Electronica:

  • Contiki, Bien aprendi a utilizar los protothreads base de este OS
  • Instrumentación, Este proyecto cubre acondicionamiento PT100 e implementación protocolo MODBUS-ASCII sobre RS485, este utiliza los protothreads sobre AVR.
  • Control, Este proyecto fue la base del de instrumentación y ahora le toca retomar todo el trabajo hecho en el de instrumentación, este tambien utiliza los protothreads sobre AVR
  • SDL, GLUt, Para la visualización del proyecto de instrumentación se implemento un pequeño programa en C puro, usando esas librerias, al final funciono bastante bien, puede tomar la información que gráfica por RAW-PARPORT, RAW-SERIAL, o MODBUS-ASCII
  • Sobre PIC-Microchip, realice un poco de trabajo, haciendo andar las herramientas GPL bajo Linux. Aun estan en una etapa muy primitiva y desde la instalación hubo que recurrir a modificaciones del código fuente.

Software:

  • Doxygen, Excelente herramienta para la generación de documentación sobre C, C++, Java, …, la utilice en todos los proyectos, de alguna forma espero poder mostrar un poco como se utiliza esta herramienta
  • Emacs, Sobre emacs grandes mejoras sobre el uso de este.

    www.emacswiki.org/cgi-bin/wiki

    Excelente sitio.

  • Vim, Sobre vim tengo la queja aun de la indentación, puede que sea por ignorancia, pero por ahora emacs tiene un manejo muy superior de la indentación que vim.
  • Firefox, para este tengo que recomendar estas extensiones: Adblock, Disable Targets for Downloads, SessionSaver(No es muy estable), Download Manager Tweak, GooglePreview, Tabbrowser Preferences, Flashblock
  • Python y Perl siguen ganando en el desarrollo de apliaciones rapidas

Webdevelop:

  • Groupware DivExtensión UNAL, aunque le dedique bastante tiempo a este proyecto fue un fracaso por que no recibi paga alguna como suele suceder P y finalmente fue abandonado.

WindowManage

  • Fluxbox, Me encanta este manejador de ventanas, aun tiene cosas que me desagradan pero es de lo mejor. Fluxbox 0.9.13 : (c) 2001-2005 Henrik Kinnunen
  • Esetroot, la mejor herramienta para los backgrounds del escritorio y que funcionen bien con todos los programas que usan transparencias

Bien, Herulor tiene mucha participación en la elaboración de muchos de estos proyectos, sobre todo GRL es completamente de él.

TODO, Por hacer

  • Encontrar hosting de archivos
  • Mejorar el manejo de este blog, la idea de un blog plano no me agrada
  • Subir Pandesmos, oficialmente, no como ahora en mi maquina
  • Reportar más sobre los proyectos de electronica
  • Subir el contenido del blog anterior
  • Publicar el trabajo realizado sobre FFT y Transformadas Generalizadas de Fourier, y el cambio a kernel digital

Bien eso es todo, un post algo largo y sin corrección.

EOT

Enlaces y noticias , , , , , , , ,