Artículos de la categoría "emacs":
Configurando Emacs para trabajar en un proyecto para android
Llevo tiempo desaparecido y es el momento de dar algunas explicaciones
sobre el porqué y de paso contar algo más sobre lo que estoy haciendo
y, de paso, sobre mis esfuerzos por ajustar el entorno de desarrollo
para trabajar más a mi gusto. Empezando, pues, por poner algo de
cordura en mi actividad, ahora prácticamente diaria, como programador
para Android®. Y sí, no nos vamos a engañar, el Android
Studio®1 trae integrado todo lo que necesita un programador para
crear aplicaciones para este S.O. y Emacs se queda corto en
funcionalidades. Sin embargo, la gran cantidad de recursos necesarios
para ejecutar «la mostra», te obligan a estar muy actualizado en
hardware. Hoy contaré cómo podemos ahorrarnos un poco de máquina con
la línea de comandos y nuestro editor favorito. He hecho pruebas con
Emacs sin, y con, eglot
, encontrando algunas diferencias en el
método de trabajo de ambos modos.
Tomar notas con howm en Emacs
Si pensabais que se habían acabado los paquetes de notas en Emacs, estabais bastante equivocados. Hoy os traigo otro de esos paquetes escondidos que encuentras rebuscando por Melpa. Esta vez, con otro enfoque totalmente distinto, en cierto modo minimalista, o con ánimo de minimalismo, pero bastante más visual. Un sistema completo a base de menús y buffers de listados que te permiten navegar por toda la información que guardes.
(ver más...)Visualización de iconos con nerd-icons
¿Alguna vez te has preguntado por qué en modo texto los iconos no se
corresponden con los que se visualizan en la GUI de Emacs? ¿Hay
alguna manera de aproximar la experiencia en los dos entornos: texto y
GUI? Pues de eso voy a hablar en este artículo, que espero que te
sea útil. Para abrir boca vamos a ver una comparativa de capturas de
pantalla de all-the-icons
y nerd-icons
en los dos modos señalados.
Texinfo: el sistema de ayuda de Emacs
Los usuarios de Emacs están, o deberían estar, acostumbrados a
utilizar el sistema de ayuda que trae incorporado. Cuando pulsamos
C-h r
accedemos al manual de Emacs en su versión info
. Si lo
cargáramos en PDF
sería un manual de 768 páginas. Pero no es el
único manual que viene con este editor, hay muchos más. Podemos
acceder al manual de org-mode
(323 págs.), a una introducción a la
programación en emacs-lisp
(286 págs.), también está el manual de
referencia de emacs-lisp
(1.522 págs.) y muchas otras herramientas
que vienen con el propio Emacs, como calc
, cuya documentación en
PDF
, son 505 páginas. Toda esta información viene anexada como
documentación de en archivos .texi
, es decir, en formato Texinfo.
En este artículo te cuento un poco qué aspecto tiene y cómo funciona,
por si lo quieres utilizar para documentar tu proyecto.
Emacs, configuraciones básicas
Aprovechando que estaba dando un repaso a mi configuración de Emacs me he propuesto contar un poco qué paquetes uso y por qué. De paso, espero que a alguien le sirva de inspiración para configurar su entorno. Me repito, puesto que ya indiqué en otro artículo cómo tengo la configuración, que por otro lado puedes consultar en su repositorio: https://codeberg.org/Notxor/init-emacs. Al final, la configuración de cualquier sistema es una toma de decisiones, si hay alternativas. En un sistema como Emacs, donde hay muchas alternativas y, por tanto, decisiones, la tarea de configurarlo puede parecer abrumador al principio.
(ver más...)Introducción a PicoLisp
Llevo unas semanas trasteando ya con PicoLisp y he querido poner por escrito las primeras impresiones este final de año. Como propósito del año nuevo, ya comenté que la idea es hacer algún proyecto para aprender cómo funciona y estas son las primeras impresiones.
(ver más...)Resumen anual y futuro
Atravesamos el solsticio de invierno. Momento en el que los calendarios marcan la época de reflexión y renovación. En este artículo vengo a hacer un poco de resumen del año pasado y dar unas pinceladas sobre lo que me espero que llegue en el 2024.
(ver más...)Una mirada a la toma de notas
Una tarea fundamental de mi trabajo es tomar notas. Puede parecer una tarea sencilla: coges un papel, un bolígrafo o una estilográfica y escribes lo que necesites recordar más adelante. Probando ese sistema todo termina en un montón de garabatos esparcidos por papeles que acaban perdiéndose o mezclándose de tal modo que puedes tener un dato anotado, saber que lo anotaste y nunca volver a encontrarlo. Frustración es lo que consigues a lo largo del tiempo. Para evitar esto pasé a cuadernos o agendas que no permitieran el ir perdiendo hojas. Pero nada impide que añadas múltiples papeles sueltos y posits con anotaciones entre las páginas del cuaderno (o de la agenda) o que arranques alguna. Luego me pasé a las tarjetas de notas y ocurrió más o menos lo mismo. Viendo la precariedad del sistema, lo intenté también con medios electrónicos, pero el problema se mantuvo, lo que conseguí cambiar es un montón de papeles por tener un montón de archivos de texto con anotaciones mezclándose como sus equivalentes analógicos dentro del cajón.
(ver más...)Probando de nuevo org-roam
El otro día hablando con Jordi (de hispa-emacs) me emplazaba para un
nuevo encuentro virtual y proponía como tema que explicara cómo
utilizo org-roam
. Había leído en el blog un artículo que hablaba
sobre ello. El problema es que dicho artículo versa sobre org-roam
,
en su primera versión, y en la actualidad, la v2 es ligeramente
distinta y no la he probado. Hace años que no utilizo org-roam
, pero
dado que parece ser el chismático de notas que utiliza la mayor
parte de los usuarios de Emacs me decidí a volver a probarlo y ver
si ha mejorado con respecto a lo que recordaba.
Mi (primera) intervención en un taller de hispa-emacs
Os traigo un enlace a mi (primera) intervención en uno de los talleres de hispa-emacs donde hablamos sobre cómo está construido este blog, vimos el código fuente por encima y realizamos un ejemplo de cómo se publicaría un artículo en él. El vídeo generado se puede encontrar a continuación.
(ver más...)PicoLisp
Hoy traigo un poco de información sobre PicoLisp y por qué no lo puedo calificar o situar ni entre los Lisp ni entre los Scheme. Son unas primeras impresiones y por tanto puedo estar equivocado, pues me baso, fundamentalmente, en su documentación y lo que me han mostrado unos pocos ejemplos que he ido probando, con alguna dificultad, pero también con algún logro. En este artículo traigo lo más básico: instalación, entorno de programación y algunas pruebas de rendimiento.
(ver más...)eglot: lsp para Emacs
En las últimas versiones de Emacs se ha añadido eglot1 a los paquetes instalados por defecto. En este artículo hablaré sobre esto y sobre LSP2.
(ver más...)Compilar Emacs desde el código fuente
Como la mayoría sabéis, he estado utilizando el mejor editor de código del mundo, durante bastante tiempo1 y lo seguiré haciendo durante mucho tiempo más, aunque la única ventaja que le quede en el futuro, sea el impagable ejercicio (fisio)terapéutico para prevenir la artrosis en mis manos y dedos. ¿De qué vengo a hablar hoy? Pues hay quien me ha preguntado qué sabor uso: doomemacs, spacemacs o vanilla. Mi respuesta es siempre que la mejor configuración para ti, te la haces tú mismo.
(ver más...)Edición y exportación desde org-mode a html
Hay veces que tengo que consultar mi propio blog para recordar cómo
hacer algo y en este artículome niego a llamarlo post. Estoy desanglificando mi forma de hablar —y escribir—.
voy a contar una de esas veces. La historia no es de ahora, llevo
algunos meses pensando en dedicar un poco de mi tiempo a editar libros
para poder leerlos tranquilamente con mi lector. Generar epubs de
calidad es bastante complejo, sobre todo porque no todos los lectores
cargan los archivos igual y el html+css
que utilizan está, en
algunos casos, muy limitado.
Nim, un lenguaje compilado
Hace un tiempo ya escribí en este blog mi tendencia y gusto por los lenguajes interpretados. Suele ser así, pero siempre hace falta tener a mano algún lenguaje de esos compilados que te saquen de un apuro. Y porque en la caja de herramientas no sólo debe haber llaves inglesas, también son necesarias otras, con sus ventajas e inconvenientes, porque lamentablemente, después de todos estos años, no se ha inventado aún el lenguaje definitivo. Aunque sí veo a legiones de fans de tal o cual lenguaje comportarse como si el suyo lo fuera. Ahora hay que hacerlo todo en [......]1. Me estoy yendo por las ramas, en resumen, vamos a lo que importa: llevo unos días, semanas,usando el lenguaje Nim y vengo a contártelo. Preparamos Emacs para utilizarlo y comenzamos.
(ver más...)Lenguajes ligeros de marcas
El otro día estaba escribiendo algo y un conocido, bienintencionado,
me advirtió que el markdown que estaba utilizando no era el
estándar: «es org-mode
...», repliqué. Después de una corta
conversación me quedó claro que no había mucha idea de lo que son los
lenguajes ligeros de marcas, que markdown tampoco fue el primero,
ni está estandarizado, y todos los esfuerzos por estandarizarlo han
quedado en propuestas que deben seguir todos los mortales por
sugerencia de su correspondiente autor. Y efectivamente, org-mode
no
es más que otra sugerencia, para mí la mejor1, y no la conoce
la gente a no ser que se mueva en el minoritario mundo de
Emacs. Pues en este artículo voy a hablar un poco sobre este tipo de
lenguajes y a compararlos mínimamente, explicando por qué prefiero
org
.
armory3D y haxe
Este artículo también podría llamarse Armory, un gamengine para
blender pero resulta que fracasé en el intento de compilarlo en mi
máquina. Supongo que seré muy torpe, pero el README donde da las
instrucciones tampoco aclara mucho y haciendo lo que dice he sido
incapaz de conseguir compilar armorlab
. A pesar de no haberlo
conseguido (aún), encontré un lenguaje de esos raros y minoritarios
de los que me gustan, o me suelen gustar, o me gusta chafardear. Así
que este artículo va sobre este lenguaje y cómo configurar nuestro
Emacs para darle soporte, con una introducción a mi fracaso inicial
con Armory3D.
Programación Orientada a Objetos en Emacs
A raíz del último artículo, donde hablaba de algunos lenguajes de la
familia de LISP, me han preguntado por la POOProgramación Orientada a Objetos que se puede hacer dentro de elisp
y su
compatibilidad con CLOSCommon Lisp Object System. En
elisp
encontramos el paquete con el acrónimo EIEIO, que significa
Enhanced Implementation of Emacs Interpreted Objects. No hay que
instalar nada, es uno de los paquetes built-in y lo encuentras
instalado con tu instalación de Emacs. En este artículo voy a hacer
una breve introducción a eieio
para todos aquellos que no pueden, o
sí, vivir sin objetos en su código y quieran usarlos programando para
Emacs en elisp
.
LISP y familia
LISP es el segundo lenguaje de programación más antiguo en activo. Como precursor de los lenguajes funcionales no ha pasado de moda. Me han preguntado por él y su familia y yo he contestado «muy bien. ¡Gracias!». Pero, hay muchos LISP, innumerables. En su día hubo tantos y tan diversos que tuvieron que crear la especificación commond lisp. Además es un lenguaje que ha inspirado otros muchos (a todos, o la mayoría de, los funcionales) y tiene también descendientes, de los que Scheme y Clojure son miembros destacados. Si hoy traigo este artículo es porque me preguntaron sobre LISP, sobre Scheme, sobre las similitudes, las diferencias y sobre la utilidad de aprenderlo o no.
(ver más...)Un ejemplo de macro de org-mode
El otro día hablé de las macros de org-mode
. No pensé que fuera un
tema importante, porque creí que lo conocía todo el mundo y que
incluso sería de uso generalizado. Alguien, me preguntó para qué y
cómo se pueden utilizar, que si podía poner «un ejemplo práctico».
De eso va este artículo y voy a explicar un macro, con algunas
variaciones, sobre un efecto para web que sea práctico. Veamos: pasa
el cursor por encima de estas palabrasEsto es un ejemplo de efecto visual generado desde una macro de org-mode
. Y dentro se pueden utilizar todas las etiquetas del mismo: negrita, cursiva, tachado, etc. y luego pulsa y mantén pulsado el botón ratón.
Macros en org-mode
Gracias a las preguntas que me hacen algunos usuarios me doy cuenta de
que no siempre me explico con toda claridad y que, muchas veces, doy
por sentado que las cosas simples las conoce todo el mundo. No
obstante, puesto que mi información proviene de leerme el manual,
entiendo a quien prefiere remitir al preguntón a leérselo. Sin
embargo, mi inclinación siempre es responder con algo más sustancial
que un «lee el manual». También porque me sirve de excusa para
escribir algo en el blog y tenerlo en barbecho el mínimo tiempo
posible. En este artículo responderé a unas preguntas básicas que un
nuevo usuario de Emacs me hace, sobre el uso de org-mode
,
específicamente la capacidad de utilizar macros para introducir
texto repetitivo, también para explicar para qué pueden servir, o se
pueden utilizar, las propiedades de los apartados y demás cosas
relacionadas con las «macros».
Tutorial para blogear como Notxor
A raíz de haber publicado en Mastodon que había añadido alguna
característica más al código que soporta este blog. Me han
preguntado cómo funciona y si puedo explicar un poco el flujo de
trabajo. No hay nada más sencillo, lo único que hago es aprovecharme
de toda la funcionalidad que ya proporciona org-mode
para generar
html
. De esta manera, conseguir un sitio estático es sencillo. Pero
empezaré por el principio y explicaré un poco el código.
Toda la ayuda de Emacs
Quieres aprender a utilizar Emacs y en lugar de ponerte a ello, pretendes que te haga yo el trabajo. Bien, así no funciona el aprendizaje, hazme caso. Muchas cosas las podrás aprender leyendo este blog, así que, de alguna manera ya tienes muchas cosas explicadas. Además, una de las ventajas de Emacs es que todo es consultable, el mismo código te explica cómo funciona o, al menos, para qué sirve, sólo tienes que preguntar y leer. ¿Cómo preguntas? Pues para eso tienes el sistema de ayuda, uno de los más completos que puedes encontrar en este mundo. En este pequeño artículo te voy a explicar cómo puedes usarla, que es la manera cómo yo me inicié y aprendí a utilizarlo. Además hay un montón de blogs, artículos y canales de vídeo que te proporcionarán información adicional. La ventaja de la ayuda que viene con Emacs es que la puedes consultar dentro del propio editor e incluso ejecutar el código de los ejemplos que encuentras.
(ver más...)Lenguajes repelentes
Hoy traigo sólo un poco de reflexión e historia de los lenguajes de programación al blog. Ya lo siento, hoy toca chapa de la fina... Y es que no he podido resistirme al título, porque me ponga como me ponga al final los lenguajes en los que programo son repelentes, o al menos yo así los llamo. Para entrar en materia con un poco más de conocimiento de causa: supongo que la mayoría sabéis qué es eso de REPL1. Esos son los lenguajes que yo llamo repelentes; bueno, también existen los lenguajes que son repelentes para mi gusto (el C++ y el Java, fundamentalmente, y que curiosamente no es ninguno REPL). Si tienes paciencia suficiente para leer este artículo, te contaré por qué me gustan algunos lenguajes y por qué no me gustan esos mismos lenguajes. El criterio es el que me sale a mí, sin ninguno más, ni más vueltas y sé que caigo en contradicciones, ya veréis que algunos lenguajes me caen bien por lo mismo que no me gusta de otros. En algunos de los lenguajes aquí desglosados, me he permitido poner un poco de código para que se vea cómo luce visualmente. En fin: no te garantizo nada, a tu discreción dejo la lectura.
(ver más...)Programación literaria y la configuración de Emacs
He visto infinidad de entradas en blogs referentes a Emacs que
tienen a bien, mostrar su propia configuración o init.el
, no suelo
leerlos, me interesan más las configuraciones puntuales de
determinados paquetes, mucho más que la completa de todo el sistema.
Sin embargo, hay quien me ha pedido que haga lo mismo y publique mi
fichero de configuración de Emacs. Supongo que pensarán que oculta
algo arcano, místico e inconfesable, para no iniciados, y hacer
rular el editor. Nada más lejos de la realidad. Sin embargo, si lo
único que quieres es chafardear el fichero de configuración, lo he
puesto en un repositorio de Codeberg. Sólo tienes que seguir el
enlace para verlo.
El mundo de las notas
Cuando digo el mundo de las notas... No, no me refiero a las
calificaciones escolares. Me estoy refiriendo a lo complicado que es
tener un sistema coherente para tomar notas y apuntes con un ordenador
por medio. Llevo tanto tiempo intentando encontrar un sistema de notas
que satisfaga todas mis necesidades que ya he desesperado. Me he
planteado que voy a tener que hacerlo yo, pero antes os quiero
presentar el que estoy utilizando en estos momentos: zetteldeft
.
Pikchr
Los generadores de gráficos a partir de texto que más utilizo son
Graphviz y PlantUML. Supongo que a estas alturas todos los
conoceréis e incluso los utilizaréis con más arte de lo que lo pueda
hacer yo. Estos días, continuando con la historia de Fossil,
encontré que tiene integrado un generador de gráficos, de los
generados por texto, que se llama Pikchr. Es un descendiente de
PIC un lenguaje pensado para trabajar embebido en troff
, además
con versión GNU
(gpic
), de los años 80. Y si te estás preguntando
si nuestro querido Emacs puede trabajar con él, pues sí, existe
pikchr-mode
para que podamos editar nuestros propios gráficos desde
nuestro editor favorito. Según su web, Pikchr genera diagramas
para documentación técnica escrita en markdown o lenguajes de marcas
similares, utilizando un lenguaje duradero que sea fácil de leer y
mantener para los humanos utilizando cualquier editor de texto. Para
no andarme por las ramas, veamos el primer esquema que nos
encontramos en su documentación1
Abreviaturas en Emacs
Una de las formas de ahorrar algunas pulsaciones de teclas es utilizar abreviaturas. Ya hablé por aquí de los snippets, que serían plantillas más o menos extensas de estructuras de texto repetitivas. Las abreviaturas son sus hermanas pequeñas y consisten en algo tan sencillo como sustituir un texto corto, una abreviatura, por una expresión más larga de una o más palabras.
(ver más...)Algunos ajustes para Emacs
Algunas veces doy por sentado que todo el mundo conoce lo que yo sé, porque lo que sé lo he adquirido leyendo y leer sabemos todos. Eso hace que muchas veces no hable, bueno, más bien no escriba, sobre algún apartado que puede ser interesante para otras personas, que quizá no conozcan las posibilidades que ofrece, o se están iniciando, en Emacs. En algunos sitios, foros o grupos de internet en los que participo se han comentado cosas, se han hecho peticiones de información y se ha hablado de aspectos que, en mi ingenuidad, pensé que todo el mundo conocía. Uno de los temas es el recurrente control del tema, el aspecto, de Emacs, cosas como, por ejemplo, cambiar el tema pulsando una tecla, o cómo configurar las fuentes de caracteres o el tipo de fuente que utilizamos. Y por último, otro de los aspectos que trataré en este artículo es el que más me sorprende, porque creí que todo el mundo conocía: la capacidad de agrupar buffers en perspectivas de manera que al cambiar de perspectiva cambiará la distribución de nuestro marco en Emacs. Me sorprende porque todo el mundo, especialmente los recién llegados, parecen conocer las pestañas que nos brinda Emacs desde hace relativamente pocas versiones (y que no alcanza lo que la gente espera), pero desconocen las perspectivas, que son generalmente lo que necesitan.
(ver más...)OpenStreetMap dentro de Emacs
Una de las cosas que me gustan es la capacidad que tenemos los seres humanos para representar cosas más o menos concretas en otras más o menos abstractas. Los mapas son una expresión de esta capacidad y se convierten en algo fascinante. Los miras y te imaginas cómo puede ser el terreno que representan. Hoy traigo un tema que relaciona dos de las cosas que me más me gustan: los mapas y Emacs en una sola entrega.
(ver más...)qemu, guix, haiku y otras yerbas I
Aprovechando que tengo máquina de sobra para virtualización y que
también hay ganas de probar algunas cosas sin poner en riesgo la
instalación, pues me he puesto a experimentar un poco con máquinas
virtuales. ¿Qué quiero probar? Sencillo: Guix, Haiku-os y veré si
en el futuro, también exwm
... ¿Con algún objetivo en mente o porque
sí? Bueno, Guix llevo con ganas de probar la distro desde el
momento que supe de ella y había probado en sus inicios, también
virtualmente, pero iba tan lenta que lo deseché. También he probado
antes Haiku, pero fue cuando estaba en versión alfa y no se podía
instalar en disco duro. Por último, exwm
, porque me gustan los
entornos de ventana teselantes y mi lado friki no puede evitar
pensar en tener el entorno de ventanas gestionado por Emacs. Quizás
sea mucho contenido para un solo artículo, así que lo partiré en
varios para no cansinar al pobre lector. En este veremos los
procesos de instalación de ambos sistemas operativos. En el siguiente
compararé el rendimiento de ambos y compararemos las características y
sensaciones.
Trasteando con yasnippets
Hace poco, por Mastodon, el amigo Giorgio habló de yasnippets
y de
cómo le habían servido para ser más productivo en su trabajo... he
de confesaros que las uso poco, o casi nada, para ser sinceros. Con
Python
las utilicé, porque elpy
las usa, pero para el resto de
modos, normalmente, ni las tengo instaladas. No porque no sean útiles,
sino porque yo no suelo utilizarlas. Sin embargo, entiendo que cada
uno tiene sus costumbres y su flujo de trabajo y que, yasnippet
,
puede ser muy útil a otra gente. Por esto, en este artículo contaré
cómo instalar y configurar el paquete y cómo crear nuestros propios
snippets
para adecuarlo a nuestras necesidades. Incluso, quizá
hablándome de ello a mí mismo, termine por cogerle el gusto.
Preparando Emacs para trabajar con Clojure
Entre los propósitos del nuevo año está el aprender Clojure, incluso
tengo pensado un proyecto en el que emplearlo para aprender. Si las
cosas van bien, y no me falta tiempo, os lo iré poniendo por aquí para
enseñar mis vergüenzas como corresponde. Al empezar con el tema de
la programación con ese lenguaje, como con cualquier otro, lo primero
que he tenido que hacer es configurar mi editor favorito para ello. En
este artículo hablaré de los paquetes que he instalado y la
configuración que he hecho, todo muy sencillo. Hablaré un poco sobre:
clojure-lsp
, cider
y los primeros pasos con ellos.
EditorConfig y Emacs
Una de las cosas que suele extrañar a los nuevos usuarios de Emacs es su manera de realizar las indentaciones. Muchas veces puede ser percibido como un problema y es que, en la mayoría de los casos, dependen del modo de edición y no hay un comando estándar que permita realizarlas. En la mayoría de los casos, eso se debe a que quien programa el modo ajusta la indentación a las recomendaciones, costumbres y convenios de estilo más aceptados para cada lenguaje. No es muy intuitivo para el usuario primerizo y para algunos puede ser un problema. Aunque, en general no lo es, hay ocasiones en que uno, participando en un grupo de trabajo se encuentra con políticas específicas para el código y ajustar el comportamiento de Emacs puede ser un dolor de cabeza para el usuario novel. En este artículo hablaré de cómo hacerlo de manera muy sencilla.
(ver más...)Estadística, ESS en Emacs
Todos hemos oído alguna vez el aforismo aquel de que existen las mentiras, las grandes mentiras y la estadística. En realidad, la tercera parte de dicho aforismo no tiene que ver con la estadística como tal, sino con el uso torticero o parcial de los resultados que se puede hacer con cualquier estudio. Por el contrario, dicha ciencia viene a ayudarnos a desenmarañar la estructura de una realidad más compleja de lo que nuestras mentes pueden trabajar. Hacía tiempo que tenía ganas de aprender un poco de R y he encontrado la excusa en el clásico «por necesidades del trabajo». En el artículo de hoy quiero contar lo sencillo que me ha sido montarme mi entorno en Emacs con ESS para poder trabajar desde mi editor favorito.
(ver más...)TiddlyWiki y Emacs
El otro día ya hablé sobre TiddlyWiki y hay quien me ha hablado como
si yo fuera alguna especie de traidor o hereje, por mirar otras
herramientas fuera del sagrado rito de Emacs y de la devoción al
santísimo org-mode
. Pues ya me disculparéis, pero voy a seguir
haciéndolo y os voy a contar más cosas interesantes ─al menos para mí─
como puede ser la posibilidad de exportar un fichero org
al formato
de sintaxis de los tiddler
de TiddlyWiki.
Configuración de org-mode para utilizarlo como agenda (I)
El configurar correctamente org-mode
para utilizarlo como agenda es
un procedimiento sencillo, pero que a algunos parece que se les
atranca. Por lo tanto, me he planteado escribir esta entrada en el
blog, además lo acompañará un vídeo que resume todo el proceso de
una manera sencilla. Utilizo programación literaria para explicar
todos los pasos según los voy haciendo.
Introducción en vídeo a org-mode
Vengo con otro experimento. Como la sensación del anterior vídeo no fue demasiado buena, no me siento tan productivo editando vídeo como me siento productivo escribiendo un artículo. Pienso que es por falta de práctica. Después de haber editado uno, me planteé hacer otro, a ver si las herramientas, ahora más familiares, me permitían funcionar mucho más rápido. Además estoy valorando hacer un tercero, a ver si mejoro algunas cosas. Por ejemplo, el sonido (que es penoso).
(ver más...)Videotutoriales
A veces podemos tener la idea de que las cosas entran por los ojos y un buen vídeo nos puede ahorrar muchas explicaciones. Esto puede ser cierto y falso a la vez. No voy a entrar en muchos detalles, porque creo que se verá de manera muy sencilla qué es lo que quiero expresar con una serie de proyectos que estoy realizando. Se verá que cada cosa tiene sus ventajas y sus inconvenientes y que es posible que lo que es bueno para mostrar un proyecto no lo sea para mostrar otro. Se trata de los siguientes temas.
(ver más...)Fuente con ligaduras Fira Code
Venía preparado para escribir un largo artículo sobre algo, que pensado más despacio parece una chorrada y hecho más deprisa lo es: conseguir que nuestro querido Emacs muestre ligaduras en sus fuentes. A mí no me produce especial atracción, es algo muy hipster, sin embargo, aprovechando que tengo dicha fuente instalada, y la utilizo como fuente fija por defecto en la terminal, en hexchat, en firefox, en... bueno, en casi todos los programas de uso diario menos en Emacs.
(ver más...)nyxt 2.0
Creo que ya mencioné alguna vez nyxt en este blog o quizá estoy equivocado y sólo pensé hacerlo. En mi incansable búsqueda de un web browser gráfico que llevarme a mis navegaciones por la Internet, cada vez más, me van faltando alternativas. Parece que hay que quieren obligarme a morir al palo de chrome y así llegué a encontrar éste navegador, completamente escrito en Lisp. Hice varias pruebas con él en su versión 1.1 y lo encontré muy prometedor pero algo inestable e incompleto. Hace poco que me enteré que salió la versión 2.01 y vuelvo al ataque, a ver si ha mejorado y efectivamente: lo ha hecho. ¿Es mi navegador por defecto? Actualmente no, pero promete mucho y su modo Emacs me facilita mucho las cosas.
(ver más...)Emacs y lsp-mode
Hoy vengo con un modo que hace poco que empecé a utilizar: lsp-mode
.
La verdad es que no lo utilizo demasiado, la mayor parte de mi trabajo
la hago en org-mode
y lo que menos hago es programar, que es para lo
que es más útil lsp
, aunque también podría usarlo para
LaTeX. Language Server Protocol se está convirtiendo en un
estándar para todos los editores de código e incluso los editores
viejunos como Emacs y vim lo soportan. Este artículo hablará de
cómo configurarlo mínimamente en Emacs y sobre un par de pruebas que
he hecho para ver su funcionamiento.
Publicar con org-mode II
Este es un artículo de esos incoherentes en los que me dedico a
contestar preguntas y peticiones de aclaración. Ya en este blog
hablé de cómo publicar en html
con org-mode
, fue un artículo casi
a vuela pluma y rápido sin detenerme en detalles y eso ha propiciado
varias dudas. Además, algunos me habéis preguntado por más detalles
sobre la publicación y los distintos formatos en los que podemos
publicar. Además de detalles que hay que tener en cuenta. El
principal foco de atención han sido las plantillas, y particularmente
qué opciones de exportación son más aconsejables. También cómo
montar un servidor local para visualizar los cambios y hacer pruebas,
en el caso de que sea un proyecto para html
: bien sea un blog o
simplemente documentación. Y también cómo gestionar si se desea que la
salida se produzca en varios formatos, por ejemplo, html
y pdf
. Y
también si es mejor utilizar etiquetas include
o enlazar los
archivos. Algunas de estas preguntas tienen respuestas sencillas de
procedimiento, pero a otras sólo puedo contestar: depende. Ahora
bien, ese depende es lo que explico en adelante.
En qué ando estos días
Tengo la sensación, quizá subjetiva de que escribo poco en el blog
últimamente. Aunque algún que otro artículo he sacado, me parece que
podría quizá ser más generoso en mis escritos. Lo cierto es que estoy
liado con mis cosas y tengo que contarlo. Así pues, en este artículo,
os vais a encontrar un poco de todo: hablaré sobre el blog y su
cambio de aspecto, hablaré sobre rust
y sobre cómo estoy utilizando
Emacs para aprender con algún que otro problemilla que he ido
solventando sobre la marcha.
Tablas para cálculos en org-mode
No es la primera vez que en este blog hablo sobre las tablas y todas
las cosas que nos proporcionan a los usuarios de org-mode
. Algunos,
al haberme referido a ellas como hojas de cálculo, esperaban tener
la suerte de que se utilizaran de la misma manera y se han topado con
un pequeño muro de dificultades. Me han preguntado por cómo funcionan
y cómo las pueden utilizar y por qué las he llamado en alguna ocasión
hojas de cálculo en texto plano si no lo son. Este artículo trata
esos temas e intentará dar ejemplos suficientes para aquellos que
habiendo manejado hojas de cálculo, quieran probar la potencia de las
tablas de org-mode
.
Publicar html con org-mode
En el artículo de hoy hablo de cómo exportar de org-mode
a html
para utilizarlo en un proyecto con varios ficheros org
interconectados entre sí. Al exportar, las referencias org
se
convierten en sus correspondientes enlaces html
guardando la misma
estructura de directorios que tengan los ficheros org
. Es la forma
en la que org-mode
publica. Si quieres ahorrarte el suplicio de
leer el artículo y como lo cuento, busca el apartado publishing en
la documentación de org-mode
... pero si prefieres leer un resumen en
español y saber cómo lo hago yo: sigue leyendo.
Rust por encima, comparando con erlang
Durante el 2020 he dedicado tiempo a aprender erlang
. Ya he dicho
muchas veces que me gustan los lenguajes veteranos y supongo que
alguien que lea sólo el título estará pensando que voy a traicionar
esos gustos. Sin embargo, estos días encontré en algún sitio un enlace
a un artículo que comparaba las características de erlang
con las de
Rust
, lo que me lleva a evaluarlo como próxima adquisición. En este
artículo hablaré de lo que he ido cotilleando sobre este lenguaje y
por qué me ha interesado. También he leído que es un poco puñetero y
que lanza errores constantemente que no te permiten compilar y tienes
que retocar el código, pero entiendo que eso forma parte de la
seguridad que maneja a la hora de crear los ejecutables, por tanto
¿eso es bueno o es malo?
Propósitos y despropósitos
Ya hice una declaración de intenciones para el año nuevo, y no utilizo el término propósitos en ese sentido en este artículo. Aunque este sea el primero del 2021, no va de eso. Hoy mi intención es hablar de otros temas, más relacionados con la ética, la informática y la toma de decisiones y también con las herramientas que utilizo. Quizá aclare algo o quizá lo enrede más, nunca es fácil expresar con palabras no sólo los pensamientos, ─lógicos o no─, sino también los sentimientos que llevan aparejados. Parece que cuando elegimos algo, aunque sea una herramienta informática, es como si eligieras bando en el Parlamento Español. Es este artículo intento explicar estas cosas con mi habitual torpeza.
(ver más...)lisp, slime y emacs
Este es otro artículo que intenta responder preguntas que me hace la gente. Concretamente hay alguien que me ha preguntado cómo tengo configurado mi entorno de trabajo para trabajar con lisp. Dicho así en genérico sin especificar ninguno de sus sabores. Por las dudas que me planteado, tampoco tiene muy claro si tirar por lisp o seguir por scheme, y para eso yo no tengo respuesta, porque depende de los gustos de cada quien. Él ya ha estado mirando algo de scheme, aunque se declara novato, pero le interesa también saber algo más sobre lisp para comparar y decidir. Intentaré contestar lo mejor que pueda.
(ver más...)Krei epub arĥivon
Mi hodiaŭ parolos pri la transformadon de dosiero pdf
al dosiero
epub
por pli bone legi esperante. Mi montros ilon, kiun mi faris,
kaj klarigos kiel ĝi funkcias por faciligi, ke iu ajn povos adapti ĝin
por si mem. Ni uzos Emacs kaj elisp por kontroli tiun OCR
procezon, kiun ni bezonas por tiuj dosieroj, kiuj enhavas bildajn
skanadojn de teksto. La celo estas konverti nian pdf
dosieron farita
de skanitaj bildoj al epub
dosieron por pli bone legi en nia
inklibro aŭ tabuleto. Mi laboras per Linukso sed la rezulto estas
sendependa de la operaciumo kiun ni uzas. Mi iomete parolos pri kiuj
programoj mi uzas por tiuj laboroj.
Organización del espacio de trabajo en Emacs
Hoy vengo a hablar de cómo organizar un poco el espacio de trabajo de
Emacs. Escribiré sobre las famosas tabs que se han incorporado en
las últimas versiones y sobre otras herramientas más viejunas pero
también válidas, que teníamos antes y que sigo utilizando, como
perspective
. Así pues, si no te organizas tus ventanas de aquí en
adelante, será porque no quieres.
Material difuso y corrección gamma
Pues aquí estoy de nuevo con otra entrega del raytracer y todo lo
que voy haciendo. Hoy voy a comenzar explicando cómo tengo configurado
Emacs para trabajar con erlang
, porque me lo habéis pedido y luego
continuaré con las propuestas del libro... el de escribir un
raytracer en un fin de semana. Concretamente hablaré sobre el primer
material (el difuso) que propone y la corrección gamma del color.
org-roam en modo servidor
Ya hablé en otro artículo sobre org-roam y hoy os lo traigo de nuevo.
Desde aquél artículo inicial han pasado algunos meses y el continuo
desarrollo que están poniendo en org-roam
hace que haya evolucionado
bastante, además de subsanar algunos problemas con los que me tropecé
cuando empecé a utilizarlo hace algunos meses.
Cambiando el blog a org-static-blog
Pues estoy de cambios en el blog y ya tengo algo visible que subir a la red para que se pueda ver. Me resistía al cambio, pues los sistemas son distintos y me arriesgaba a dejar por el camino muchos enlaces rotos, no sólo externos de otros blogs o redes sociales, sino también internos.
(ver más...)La calculadora de Emacs
A los que usan Emacs no les extraña que entre las muchas cosas que trae nuestro editor favorito, aparezca una calculadora: Calc. Sin embargo, y yo entre ellos, no es fácil encontrar a alguien que la utilice de forma asidua y se entretenga en explicar un poco cómo funciona. Sólo un poco, porque en un artículo como este es imposible abarcarlo todo. Al principio me tenía que forzar a usarla, me costó acostumbrarme a sus idiosincrasias, a la notación polaca inversa y a sus modos de funcionamiento. Ahora me parece una de esas herramientas imprescindibles para el día a día... bueno, imprescindibles es una palabra muy amplia, antes me apañaba sin Calc con una calculadora de escritorio como la de KDE (Kcalc), con una interfaz gráfica a la que estamos más acostumbrados, con pulsar los botones con el ratón, etc. Quiero decir que, puesto que tengo una sesión de Emacs abierta casi el 100% del tiempo, me cuesta muy poco acceder a ella. Aunque no funciona exactamente como esas otras calculadoras: Calc tiene una interface de texto y tienes que aprenderte palabros raros como Notación Polaca Inversa o Pila (para los amantes del guiri: Stack).
(ver más...)Problemas con Emacs 27 en OpenSuse Tumbleweed
Llevo unos días, desde que apareció la versión 27.1 de Emacs en el repositorio de OpenSuse Tumbleweed ─la distribución de GNU/Linux que utilizo─, con un problema persistente durante la ejecución de mi editor favorito: Emacs.
(ver más...)Las conchas de tu madre
Pues hoy vengo a hablar de conchas ─o shells, en inglés─ dentro del entorno de Emacs. No pude resistirme a la tentación de escribir el título así, ya me perdonará quien entienda otra cosa o piense que va leer algún tipo de artículo soez o socarrón, quizá campechano, sobre temas reproductivos humanos. Pero lamentablemente la cosa va de herramientas que vienen con nuestro editor favorito.
(ver más...)Tomar notas con org-roam
Si no conocéis org-roam
no os preocupéis, vamos a verlo en este
artículo. Hace poco que lo descubrí, gracias a Patricio (¿Maxxcan?,
soy muy malo para los nombres y si me los cambiáis más ;-). En todo
caso, por alguna desconocida razón que no llego a comprender, es uno
de los lectores de mi blog y participa en el grupo de Telegram que
creé para hacer comentarios. Creo que fue el día 9 (julio de 2020),
cuando por la tarde, así como sin querer la cosa, habló del paquete de
Emacs org-roam
. Enlazó el paquete y tuvimos una conversación en el
grupo sobre tomar notas y los distintos métodos de hacerlo.
Control de tiempos con org-mode
Estos días en que el teletrabajo ha tenido un impulso importante empezamos a necesitar controlar un poco más el tiempo de trabajo, el que dedicamos a nuestras tareas laborales que se nos está mezclando con el propio personal.
(ver más...)Programación y flujo de trabajo en Emacs
Llevo un tiempo ocupado en proyectos personales y apenas saco tiempo para escribir. He hablado ya sobre el proyecto de MUD que empecé aquellos aburridos días de confinamiento y que continúo con él. Como ya expliqué, lo comencé con otra persona sólo por el ánimo de aprender un poco de erlang y ahora lo estoy continuando yo solo. De hecho, me decidí a hablar sobre el proyecto porque cuando hablo de uno que tenga entre manos se convierte en vaporware casi automáticamente, dos o tres entradas de blog después. Sin embargo, el presente proyecto, de nombre provisional erlmud, continúa con buena salud y casi se ha convertido en una obsesión. Hay cien mil detalles que atar y mejorar, cada vez más comandos que soportar y parece no tener fin.
(ver más...)Formularios y datos con forms-mode de Emacs
A veces echaba de menos la forma sencilla y eficiente que tenía el
dbase
para proporcionar formularios que facilitaban la edición de
datos. Apenas cuatro comandos que disponían en la pantalla de texto
los campos de los registros y uno podía ponerse a introducir,
modificar y borrar datos de una base de datos.
Sobre Info y la ayuda de Emacs
Hace unos días me llevé un susto con la ayuda de Emacs. Al abrirla
me encontré que apenas había contenido, todo había desaparecido,
incluidos el manual del editor, el manual de elisp
, el de org
. Un
susto bastante grande, ya que utilizo la ayuda de forma habitual. Ya
he dicho por aquí que suelo olvidar de una vez para otra cómo utilizar
los comandos y las herramientas si no los uso todos los días. Tengo
que refrescar mi memoria y es bastante habitual que consulte la ayuda,
que entre otras cosas, para eso está.
Reaprendiendo a programar
Estos días ando un poco perdido y apenas tengo tiempo para escribir en el blog. Como me consta que hay quien lo sigue y lee casi cualquier cosa que escribo ─no entiendo muy bien las razones, pero alguna tendrán─, he decidido contar un poco qué ando haciendo estos días para estar tan ocupado... estos días de aislamiento y cuarentena, cuando se supone que tenemos tiempo hasta para hacer pan o repostería.
(ver más...)Utilizando ediff
Otra de las herramientas que viene de regalo con una instalación
básica de Emacs es ediff
. Supongo que a la mayoría de los que
puedan leer este artículo les suena el comando diff
y conocen varias
herramientas que lo manejan de forma más o menos gráfica.
Utilizando emacs para programar en erlang
Llevo unos días aprendiendo Erlang, leyendo libros y tutoriales, mirando y copiando código y haciendo alguna pequeña aplicación de ejemplo para aprender.
(ver más...)Edición de archivos remotos con Emacs
El paquete TRAMP
1 viene instalado por defecto en Emacs, no
hay que instalar nada y es el paquete que nos permite editar ficheros
que no se encuentran en nuestra máquina.
Utilización de registros en Emacs
Cuando crees que más o menos tienes todo controlado sobre la herramienta que utilizas, en mi caso Emacs, resulta que te sorprendes con una funcionalidad nueva que ni habías sospechado. Eso me ha pasado con los registros.
(ver más...)Escribir un correo electrónico
Sí, desde Emacs también se pueden escribir ─y enviar─ correos electrónicos. Y esto te puede venir bien en cualquier momento como me ha sucedido a mí estos días que he estado fuera de casa. Lo que sucedió es que estaba en un lugar donde las conexiones no eran muy buenas... y torpe de mí, me dio por actualizar el ordenador creyendo que contaba con 4G. Sin embargo, algo debió ir mal en la actualización, o quizá tampoco fuera culpa de la conexión, el caso es que el programa que suelo utilizar para el correo electrónico, Thunderbird, dejó de funcionar.
(ver más...)Listas de tareas
Una de las primeras cosas que me sorprendieron cuando conocí
org-mode
fue la facilidad de hacer listas de tareas, además de lo
completas que son. Pero para ver su potencia desde cero, vamos a ir
por partes.
Agenda, fechas y configuración de teclas
Cuando trabajamos con textos largos es conveniente tener configuradas algunas cosas que nos facilitarán la vida. En general, los modos de texto y los modos de programación difieren en cómo muestran las líneas en el editor. Normalmente, en un modo de programación suele ser adecuado el mostrar una instrucción por línea; aunque ésta sea larga y supere por la derecha cualquier margen, al programador suele darle igual, pues no suele imprimir en papel el código: donde este hecho sería un inconveniente.
(ver más...)Herramientas para el sistema
Como vengo diciendo en esta introducción a Emacs, nuestro editor viene cargado con un arsenal de herramientas que nos van a facilitar el trabajo con muchos tipos de ficheros o incluso acceder al sistema operativo sobre el que corre sin necesidad de salir de nuestro entorno de trabajo. Vamos a ver algunos, los más socorridos, y por último introduciremos la manera de extender la funcionalidad de Emacs.
(ver más...)Trabajo con ventanas y buffers
Hemos tenido ya dos entregas anteriores de este «minicurso» o tutorial de cómo empezar a utilizar Emacs. De momento hemos visto cómo podemos abrir, modificar y guardar ficheros. También cómo movernos por una ventana con el cursor.
(ver más...)Primeros pasos con el editor
El otro día vimos unos pocos conceptos para tener clara la terminología y aclararnos a la hora de trabajar. No te preocupes si no has entendido algo de lo que hablé allí, porque con el uso lo entenderás rápidamente.
(ver más...)Introducción a Emacs
Hace tiempo que Emacs se ha convertido en una herramienta
fundamental en mi trabajo diario. Prácticamente lo uso para todo,
gracias a org-mode
. Y tanto he hablado de él, no sólo en este
blog, sino también en mi vida diaria, a mis conocidos, amigos y
familiares que hay quien se ha planteado el usarlo o por lo menos
probarlo. Supongo que por aquello de: yo quiero de esa mierda que
fumas tú. Y eso seguido de: ¿por dónde empiezo?... yo, henchido de
autocomplacencia, podría recomendar mi blog, pero tú, que ya lo has
leído, o al menos hojeado, de sobra sabes que no hay siquiera un
post para «no iniciados» y lo dejas claro con un: no m'entero de
ná. También porque doy por supuesto que el lector utiliza GNU/Linux
y en muchas ocasiones lo que utilizas es MS-Windows.
Pasando de bbdb a org-contacts
Llevo años utilizando bbdb
como gestor de contactos y acumulo en esa
base de datos cientos de registros con las direcciones y teléfonos de
la gente con la que me cruzo en esta vida. Había una excepción y era
que los datos de mis clientes iban a otro lugar gestionándose para
interactuar con ellos desde org-mode
y tener juntos los datos
personales y las historias clínicas con las visitas, pruebas,
avances en el tratamiento y anotaciones necesarias para gestionar
correctamente mi trabajo.
Niveles de configuración en Emacs
Una de las primeras cosas que se ve cuando uno se acerca a emacs es
la pantalla de about-emacs
y poco más. De primera vista lo único que
destaca es el aspecto antiguo, algunos dirán: rancio, del diseño. A
quien diga lo de rancio, no le falta razón. Emacs es un editor con
mucho recorrido a la espalda y su diseño proviene de tiempos en los
que la interface más habitual era la consola de texto y no estaban
inventadas las teclas de cortar, copiar y pegar, ni tenían esos
nombres, cuando este editor ya contemplaba esas acciones.
El infierno del identado
Estos días he estado trabajando en un tema en Python. En otros lenguajes, el indentado del código es más una cuestión estética que funcional, pero ya sabéis que ese lenguaje utiliza, precisamente el indentado, para establecer los bloques de código. Es una forma elegante de obligar al programador a escribir código legible, quiera o no, pero viendo lo que suele ocurrir con ello, se convierte en el origen de muchas frustraciones. ¿Por qué? Pues básicamente porque a cada programador le gusta una forma de hacerlo y eso implica, también, que los editores de texto lo hagan por defecto a la manera que le guste a quien lo programó, que puede coincidir o no con el gusto del usuario, y/o con el gusto del programador del lenguaje, y/o con el de los que hicieran el estándar del mismo. Esto, básicamente, es lo que yo llamo el infierno del indentado.
(ver más...)Plegando el código
Cuando programo me gusta ver todo el código. A veces en ficheros
largos los desplazamientos pueden ser largos, pero me apaño bien
poniendo marcas donde saltar o utilizando M-g g
(goto-line
) para
saltar a la línea deseada, o M-g c
(goto-char
) para ir a un
carácter determinado --pero esto es más complicado de saber a
priori--. Se puede uno mover de forma directa a otros sitios (al
siguiente error, al error previo o a una posición determinada de la
línea actual. Pero como ya digo, lo que más utilizo es la función
goto-line
.
Una plantilla para exportar documentos desde Emacs
Hace un tiempo, a raíz de presentar unos documentos, me preguntaron cómo me las apaño para que queden tan bien hechos. El secreto se llama LaTeX, como muchos sabéis, pero ayer mismo un amigo me preguntó por detalles más técnicos y la respuesta en ese momento se me quedó realmente corta. Aquí traigo una explicación más detallada de las cosas que tengo ya pre-paradas a la espera de la generación de documentos.
(ver más...)Prueba de concepto para crear un asistente de voz
Llevo un tiempo dándole vueltas al tema de los asistentes de voz. Veo a algunos dándole órdenes a sus ordenadores de bolsillo muy contentos con la reacción de sus chismáticos. No voy a entrar en si son conscientes de lo barato que venden su alma, sino en si merece la pena uno de esos asistentes.
(ver más...)Estudiando org-page
Son varios los que me han preguntado por el hecho de que utilizo
org-page
para escribir este blog y el chismático se ha quedado
sin soporte. Es decir, que el autor no va a hacerle más casito al tema
y no habrá mantenimiento ni corrección de bugs, ni nada. ¿Eso
asusta? A mí no (es la respuesta fácil). Pero no porque sea yo
especialmente valiente o porque crea que soy mejor que otros que
corren a refugiarse en otras alternativas ante el caos y el abandono.
Simplemente el chismático funciona y si funciona ¿para qué
cambiarlo? Ahora bien, ¿esto implica que te recomiendo la herramienta?
Pues dicho así: no, pero un no con matices.
Convertir un pdf en imágenes a texto en org-mode
Llega el verano y estoy preparando mi lector de libros electrónicos y
mi tablet para la lectura estival. Normalmente leo mucho, pero en
verano aún más. Tengo toda una lista de libros para cargar en los
dispositivos, la mayoría en formato epub
, otros en pdf
. Aquí es
donde empiezan los problemas con los formatos: pdf
es un formato que
se inventó para imprimir en papel; si tienes una pantalla del tamaño
mínimo de una hoja de papel lo verás bien; si no, leer un libro en
pdf
se convertirá en un suplicio. De hecho, en la tablet según qué
ficheros los puedo leer más o menos decentemente, pero otros no. El
contenido del archivo no se ajusta a la pantalla y se hace incómodo
leer, pasar página, etc. En el libro electrónico, ese cacharrito con
pantalla de «tinta electrónica» del tamaño de un móvil grande o de una
tablet pequeña, los pdf
se convierten en una tortura.
Gestionar bibliografía con Emacs
Llevo tiempo utilizando documentos en formato texto para todo. La
documentación, como ya he contado muchas veces en este blog, la
escribo utilizando LaTeX y como sabéis, la bibliografía de esos
documentos se guarda normalmente en ficheros .bib
. Hasta ahora
utilizaba la herramienta JabRef para gestionar esas bases de datos
y todo funcionaba perfectamente: es una gran aplicación. Pero de un
tiempo a esta parte, las versiones que van sacando de JabRef me han
dejado de funcionar. No tengo muy claro por qué, lo estoy achacando a
la versión de OpenJDK, --y todo su entorno--, que instala
Tumbleweed.
Presentaciones con org-beamer-mode
Ya hablé de cómo me apaño para tener todo en modo texto y uno de los apartados sobre el que pasé muy por encima fue el de hacer presentaciones en modo texto. Aprovechando que el día 12 tengo una charla para la Asociación con quien colaboro, me he decidido a escribir un poco y mostrar la presentación que he preparado para la ocasión.
(ver más...)Una hoja de cálculo con sus celdas en mi Emacs
He aprovechado la Semana Santa para desconectar en el pueblo, con su olor a campo y a leña quemada en el hogar. La intención era haberme movido algo más, salir a pasear al campo o a la anual recolecta de espárragos o cardillos. Sin embargo, la climatología tenía otros planes y me ha tenido en casa encerrado. Ya le hacía falta al campo un poco de agua, pero a mí no hacía falta regarme, no voy a crecer estando ya agostado... En fin, a lo que iba. Que como he tenido tiempo estuve cotilleando un modo de Emacs que me había comentado alguien a raíz de mi artículo sobre el uso del texto plano y que hasta ahora no había probado.
(ver más...)Cómo trabajar con SQLite3 desde Emacs
En mi último artículo hablé de cómo trabajo en formato texto con Emacs y son varios los que me han preguntado por el apartado de base de datos. ¿Cómo me las apaño para tener las bases de datos de SQLite en modo texto?
(ver más...)Ventajas del texto plano
Desde hace un buen tiempo me he ido pasando a tenerlo todo en fichero
de texto plano y utilizar toda una serie de programas para la gestión
de todo. La estrella de todo este sistema es sin duda Emacs, por su
org-mode
y por tener modos para casi todo. Y es que plantearse
utilizar algo en formato de texto pasa por poder editar el texto, y en
ese sentido Emacs tiene «pichorros» y «chismáticos» para todo.
Utilizando Dired para reemplazar cadenas en varios ficheros
Hasta ahora, le había echado pocas cuentas a dired
. Es un paquete de
emacs que se utiliza para trabajar con los ficheros del disco. Sin
embargo, estoy acostumbrado a hacerlo casi todo desde la línea de
comandos. Si necesito algo más visual en modo gráfico utilizo el
Dolphin de KDE-plasma y en modo texto utilizo el incombustible
mc.
Creación de un modo mayor para Emacs
Hacía que no me ponía a escribir en el blog, y no es por falta de ganas o por abandono, sino que he estado a otras cosas, que han acabado relacionándose también con el tema de la serie.
(ver más...)Reorganizar las capturas de la agenda con plantillas
Llevo tiempo oyendo hablar de GTD1 como una forma de organizarse las tareas y flujo de trabajo que consigue aumentar la productividad y reducir el estrés. Sin embargo, no ha sido hasta hace unas semanas que me he propuesto empezar a aplicarlo a mi caso. Mi vida se ha ido complicando ─complicándomela yo sólo, se entiende─ y necesito un mejor control de las cosas que debo hacer. Entiendo que GTD me servirá para eso ─y algunos ya me han dicho que o me sirve o no habrá nada que me sirva─. Llevo muy poco estudiado sobre el tema de cómo funciona el sistema, pero lo poco que llevo hace énfasis en la captura de tareas.
(ver más...)Variables de modo, keymaps y menús
Estamos acostumbrados a ajustar los paquetes que instalamos para que
se comporten de una u otra forma y eso es lo que vamos a hacer ahora
con nuestro modo de ejemplo datos-mode
. El código de ejemplo
utilizará dos variables para ello.
Creando un modo menor, sencillo y sin muchas pretensiones
Para seguir con el cursillo de elisp voy a crear un nuevo modo.
Va a ser un minor mode
, es decir, un modo que se puede activar como
secundario a otros modos generales. Lo primero que necesito es un
fichero que guarde el código en él y que se cargue desde la
configuración de Emacs.
Proyecto de ejemplo para seguir avanzando con elisp
Estoy en un punto muerto y no me decido en cómo continuar hablando sobre elisp. Creo que lo mejor sería hacer un pequeño ejemplo que implique un poco de programación y que sirva para repasar todo lo que hemos ido viendo hasta ahora.
(ver más...)Interacción con el usuario y widgets
Ya vimos cómo se podían hacer funciones que nos sirvieran de comandos y que se pudieran hacer de modo interactivo. Pero si la interacción se limita a llamar a una función, es posible que nos quedemos cortos, porque lo que necesitan los programas para funcionar son datos y la mayor fuente de datos es el propio usuario.
(ver más...)Comandos, módulos, marca, punto y otras zarandajas
Hasta ahora hemos venido trabajando directamente en el buffer
*scratch*
y todo ha ido funcionando bien, aunque nuestras funciones
y llamadas eran más bien efímeras. En este artículo vamos a guardar
el código, por primera vez, en un módulo, librería, fichero, o como lo
queráis llamar.
Funciones recursivas
En la entrega anterior hable sobre iteración, hoy hablaré sobre un mecanismo iterativo que se llama recursión. La recursión consiste en una función que se llama a sí misma para resolver la iteración. Normalmente la estructura recursiva implica que la función tenga una estructura similar a la siguiente:
(ver más...)Condicionales, bucles e iteración
Un programa es un proceso que ejecuta la máquina con la instrucción que toca en ese momento ─obviando el procesamiento paralelo que puede ejecutar varias cosas a la vez─. Si todo, el 100% del código, se ejecutara a la vez, el programa no funcionaría y seguramente la máquina no sobreviviría a tamaño calentón. Eso ocurre también con nuestro cerebro, que está activado sobre el 10% o 15% y hay quien piensa que sólo usamos eso de él. En realidad lo usamos todo, el 100%, pero sólo cuando toca. También existen personas que tienen episodios de una activación mayor y pueden llegar hasta el 40%. A esa activación extraordinaria la llamamos epilepsia y los síntomas son los propios de activaciones de conjuntos neuronales funcionando cuando no toca.
(ver más...)Tipos de datos
Cuando escribimos un programa es porque necesitamos tratar la información como nosotros necesitamos que sea tratada. Esa información es lo que llamamos datos.
(ver más...)Un poco más sobre funciones
Una de las bellezas de Lisp, o de Smalltalk, es que se basan en un concepto claro y lo llevan hasta sus últimas consecuencias. En Smalltalk todo el sistema se basa en objetos enviándose mensajes entre ellos. Así, por ejemplo, en Smalltalk la forma de ejecutar código de manera condicional no depende de una palabra clave del lenguaje, sino que es un mensaje que se manda a un objeto lógico. Otros lenguajes recurren en su sintaxis a expresiones definidas por el intérprete o el compilador con lo que se llaman palabras reservadas. No voy a darle muchas vueltas más al tema de las palabras reservadas.
(ver más...)Sobre listas y atoms
Hoy toca ver un poco más sobre la programación en elisp. Concretamente cómo funcionan las listas y los tipos de datos que pueden contener. Hablaré también un poco sobre algunas funciones básicas para procesar listas.
(ver más...)Elisp para no programadores
Uno de mis propósitos para año nuevo era escribir una introducción a elisp para no programadores como yo. El objetivo es aprender: tengo comprobado que aprendo más cuando explico las cosas que cuando me las explican. Además, la documentación que encuentro sobre el tema en español es escasa. Si alguien decide leer esta serie de posts le debo advertir primero de una serie de hechos que pueden resultarle extraños:
(ver más...)Personalizando Emacs a mi manera
Estoy escribiendo este artículo para comprobar cómo funcionan mis
ajustes personales de Emacs. Más adelante haré una captura de como
ha quedado todo, aunque supongo que esto de personalizarlo es un no
acabar nunca, siempre habrá un detalle que pulir o algo que cambiar.
Si algo distingue al auténtico friki es que no termina nunca de
cacharrear con sus juguetitos: hoy es el día de toquetear los
colorines de mi editor favorito. No sólo los colorines, también he
tocado algunas cosas más y he añadido algún paquete especial para
mejorar la «vista». Hay que recordar que los themes son ficheros de
código elisp
, es decir: para cambiar las características o el
comportamiento de las cosas, hay que ejecutar un programa. La mayor
parte de las veces se limitará a establecer el valor de algunas
variables para ajustar tipo de letra y/o color; pero hay que estar
atentos a lo que haga. De hecho, Emacs, cuando instalas un tema
externo pregunta si lo marca como seguro.
Nombres de días y meses en español en Emacs org-mode
Espero que esta entrada sea corta, es un tema sencillo que creo que ya
ha aparecido por algún sitio en este blog y que está perfectamente
documentada en multitud de sitios. Sin embargo, alguno de los
iniciandos en el mundo de Emacs y concretamente en el de
org-mode
, me hacen a veces una pregunta tal que: ¿Cómo haces para
que te aparezcan las fechas en español?.
Usando «magit»
Ya he hablado otras veces por aquí de git
y cómo, a estas alturas,
se ha convertido en una herramienta indispensable para mí. La verdad
es que ahora prácticamente no utilizo la línea de comandos para
usarlo. La mayor parte de las cosas que hago orbitan alrededor de
emacs y git
ha caído también en esa órbita.
Configuración de Jabber en Emacs
Este post va a ser muy corto. El tema es que estaba hablando ayer con Ángel de uGeek, un blog-podcast sobre tecnología. Estábamos hablando sobre Jabber o XMPP y los programas que lo soportan. Y apareció el comentario de «existe un paquete para emacs que soporta Jabber o XMPP. Y aquí he venido yo a cansinar otra vez con el emacs y esta vez va de comunicaciones y mensajería.
(ver más...)Correo electrónico con Emacs
Normalmente utilizo Mozilla Thunderbird como gestor de correo y como
mi agenda de contactos la gestiono con bbdb
, también desde emacs,
he tenido alguna vez la necesidad de enviar algún correo directamente
con emacs.
Prueba generando librojuego desde org-mode
Ayer estuve conversando sobre aventuras conversacionales y temas
similares y en un arrebato hice una especie de librojuego para la
web generando todo desde org-mode
. Desde que lo hice, he
modificado algunas cosas en los ficheros para dejarlos algo más
organizados y resultones, como quitar la numeración de los títulos y
cambiar el diseño de la página.
Ledger-cli y el ledger-mode de Emacs
Hace un tiempo ya hablé de ledger-cli
, una herramienta de gestión contable que funciona desde la línea de comandos y consiste
básicamente en guardar la información en texto plano en un fichero
ledger. Ledger se traduciría al «español contable» como libro
diario, diario o mayor. Por lo tanto, todo el trabajo consiste
básicamente en introducir los datos de forma ordenada con cualquier
editor y luego extraerlos con ledger-cli
de forma ordenada.
Ajuste del calendario y la visualización de documentos en emacs
Estos días me han preguntado cómo hacía para abrir los documentos que genero desde emacs y por qué a mí en el calendario me aparecen los meses y los días es español y a mi interlocutor no. Aunque son dos temas distintos los meto en el mismo artículo y añado otra respuesta que fue juzgada como menos urgente o importante, porque no dan una extensión que necesite el espacio de dos posts.
(ver más...)Sobre cómo utilizo org-page para hacer este blog
Este artículo va de cómo estoy utilizando org-page
para hacer éste
blog. Lo haré con pelos y señales, porque me lo ha pedido así Ángel,
del blog y podcast uGeek que se está planteando emplear el sistema
para sus proyectos. Sobre cómo ponerlo en marcha ya hablé en otra
ocasión y no voy a reincidir, aunque haré alguna puntualización.
Buscando cadenas de texto en emacs con grep
Cuando un proyecto se expande y comienza a crecer, como este blog, es
complicado encontrar dónde hablaste sobre algo. Los sistemas Unix, de
los que GNU/Linux es un heredero directo, proveen la herramienta
grep
que permite buscar texto dentro de un fichero, o de varios.
Usando emacsclient
Hace tiempo que vengo utilizando emacs para casi todo y eso hace que lo tenga abierto casi todo el rato. Algunas veces lo cierro, evidentemente. Pasados unos minutos tengo que hacer algo: repasar la agenda, actualizar la contabilidad, escribir un artículo en el blog... casi cualquier cosa, en mi actualidad, pasa por iniciar emacs.
(ver más...)Cifrado de archivos con emacs
En una conversación el otro día salió el tema de la seguridad en nuestros ficheros. Mi interlocutor se limitaba a poner una contraseña en un documento «güor» y se quejaba de que algunas veces se le olvidaba la clave y no podía abrir el archivo. Me contaba que había encontrado una herramienta que la averiguaba y que le venía fenomenal en esos casos: ya no había preocupación (¿?). Como psicólogo tengo la obligación de guardar confidencialidad de todos los datos de mis clientes. Horrorizado le pregunté por qué confiaba en un sistema que cualquiera podría descifrar teniendo la misma herramienta y no supo qué contestarme, salvo vaguedades sobre juaskers y que deberían hacer algo las autoridades con ellos. Le pregunté que si no había pensado si él «siendo un negado para la informática» ─como se definía a sí mismo─ era capaz de saltarse la protección con clave del «güor», es porque en definitiva no está protegiendo sus documentos. Y él contestó que, al fin y al cabo no es psicólogo clínico como yo, sólo profesor de primaria, como si los datos de los niños fueran menos importantes.
(ver más...)Un poco más sobre magit
Hace tiempo que vengo usando magit
como una de esas cosas que
proporciona Emacs para facilitarnos la vida. Aún hace más tiempo
que, también, vengo tropezando con git
y aunque lo uso para casi
todo, mi torpeza habitual evita que termine de entender exactamente
cómo funciona y cómo puedo aprovecharlo del todo. Por otro lado,
también he de confesar que desconozco muchos de sus comandos y
posibilidades. Sin embargo, con el uso normal que vengo haciendo
últimamente de git
he ido aprendiendo algunas pocas cosas. Con uso
normal me refiero a que últimamente lo estoy utilizando que para lo
que fue diseñado: para gestionar el código y sus versiones, con sus
ramas de desarrollo y demás chismáticos.
Tablas en org-mode: cómo tener una hoja de cálculo en modo texto
Una forma muy habitual de ordenar la información que nos llega es meterla en una tabla. Si cogemos datos al azar y podemos organizar una tabla con ellos nos facilitará el acceso a ellos en posteriores ocasiones. En esto se basan la mayoría de las aplicaciones que gestionan información, como las bases de datos --que se suelen ordenar en tablas--, o las hojas de cálculo --que realizan cálculos con información ordenada en filas y columnas: tablas--.
(ver más...)Explorando las posibilidades de Orgzly
Llevo tiempo viendo cómo podría sincronizar las notas y agenda de
org-mode
con el móvil. Hace un par de días encontré Orgzly.
Utilizando elfeed-mode de Emacs
Como más vale una imagen que mil palabras, pues ni mil palabras más:
(ver más...)Gráficos y org-mode (de nuevo)
Hace un tiempo que utilizo org-mode
para casi todo y también utilizo
ditaa, PlantUML y graphviz para realizar los gráficos que
necesito. Ditaa es un sistema que convierte un gráfico ASCII en un
fichero gráfico de diagramas.
Escribir con textos con un editor de código
Desde que descubrí LaTeX he venido abandonando los procesadores de texto. En general, los procesadores de texto son aplicaciones monolíticas que tienen muchas herramientas con el fin de trabajar con documentos, fundamentalmente de texto, pero no sólo de texto.
(ver más...)Esto es un desastre
Esto es un desastre. Mi blog se ha ido por el sumidero... bueno eso es una exageración, pero casi.
(ver más...)Creí haber terminado con el MiniMult
Hace unos días creí haber terminado el experimento con Emacs, la programación con Lisp (concretamente elisp), el MiniMult y todas esas cosas sobre las que hice una serie días atrás. Sin embargo, me surgió una pregunta que necesitaba contestar: ¿Todo ese trabajo servirá para android?
(ver más...)Gráfico de perfil en el MiniMult
El último paso de la corrección del test:
(ver más...)MiniMult corregido
He estado estos días trabajando un poco en el tema de corregir el MiniMult de forma automática con resultados irregulares. De momento me encuentro con ese regustillo a chapuza cuando no haces las cosas como piensas que se deberían hacer. Pero al final funciona, que era de momento el objetivo. Me voy a explicar por partes, comenzando por el final y luego dando saltos como es mi costumbre últimamente (es lo que tiene este cerebro que me ha tocado).
(ver más...)Escalas, plantillas y corrección
Para continuar con la serie del MiniMult, prueba que ya podemos pasar por pantalla, necesitamos primero hacer algunas reflexiones sobre cómo funciona la corrección manual.
(ver más...)Código para pasar prueba por pantalla
Bueno, para seguir con la serie sobre la corrección de pruebas
psicológicas por pantalla, ya tengo algunas cosillas hechas y lo muestro
por aquí. En las entradas anteriores solté un ladrillo sobre cómo iba a
hacer las cosas y bla, bla, bla. Todo mentira: realmente sabes cómo van
a ir las cosas cuando las haces, las pruebas, no funcionan, corriges y
las haces funcionar... En fin, de lo pensado a lo hecho hay algunos
cambios, así pues: voy a ver si me explico con claridad. El código
(casi) completo de lo que hay hecho hasta ahora en el proyecto está
guardado en un fichero minimult.el
y lo pondré al final de esta
entrada.
Pasar el MiniMult por pantalla
Cuando pensé los pasos que debería dar para corregir el MiniMult en esta entrada Especificaba que la primera parte sería la elección de ítem para la prueba. Algo que intenté explicar en la siguiente pero que creo que no me quedó suficientemente bien explicada. Como ya está publicada no sé si volver a ella y retocarla porque releyéndola me parece farragosa y confusa. Pero el caso es que allí podemos ver qué preguntas vamos a utilizar y cuáles son sus valores de plantilla (que aún no utilizamos). Con eso cumplimos el paso uno.
(ver más...)MiniMult 2
Unas pocas disquisiciones más que nos quedan antes de ponernos con el código. Quizá quede un post muy largo porque voy a poner todos los datos de los 71 ítem.
(ver más...)MiniMult
Estos últimos posts que he ido haciendo casi por completo han versado sobre Emacs. Éste sólo lo hará de manera tangencial. En realidad, el título avanza que va sobre un test: El MiniMult.
(ver más...)Utilizando org-mode para otras cosas
Una cosa que llevo tiempo buscando y/o pensando en que al final tendré que hacerlo yo es algo que me permita llevar una serie de registros a modo de historia clínica, de los casos que trabajo.
(ver más...)