Archivo de la etiqueta: octave

Lo que he aprendido: manejando paquetes de Octave

Aquí ando dibujando gráficas locas en Octave. La idea original era hacerlas en Matlab (recordad el regreso al capitalismo), pero no sé cómo demonios activar la licencia de la uni, así que he recurrido a mi fiel Octave, libre y disponible para todos sin necesidad de romperse la cabeza con licencias y mierdas varias. En fin, a lo que íbamos: los paquetes de Octave.

El gestor de paquetes de Octave

Aparte de la funcionalidad que ya trae consigo mismo, Octave puede llegar mucho más lejos gracias a Octave Forge, su centralita de paquetes de expansión. La manera recomendada para instalar estos paquetes es desde los repositorios de nuestra distro, solo hace falta buscarlo como tantas veces hemos hecho:

ondiz@slimbook:~$ apt-cache search octave PAQUETE

Muy fácil. Pero, ¿qué pasa si el paquete en cuestión es antiguo? ¿y si estamos en Windows? Pues igual que ocurría con TeXLive, podemos buscar el paquete correspondiente en los repositorios o usar una especie de gestor que tiene Octave. La orden para manejar paquetes no se nos puede olvidar porque es pkgpackage!) y tiene la misma pinta que nuestros conocidos y amados cabal, pip o gem. Os hago un microresumen para que no tengáis que leer el manual:

  • pkg install -forge PAQUETE instala PAQUETE desde Forge
  • pkg install PAQUETE.tar.gz instala PAQUETE desde archivo descargado
  • pkg uninstall PAQUETE desinstala PAQUETE
  • pkg list lista los paquetes instalados
  • pkg load PAQUETE carga PAQUETE para que podamos usar sus funciones
  • pkg update actualiza los paquetes instalados desde Forge

Seguir leyendo →

Anuncios

En que ando: julio

La noticia fundamental del mes de julio es que ¡terminé de escribir el curso de LaTeX! La entrada de Pandoc y la de mi proceso de escritura cerraron el cursete que llevaba en marcha desde noviembre. Escribí también una entrada sobre el presente y el futuro del curso. Lo que me falta es mejorar los ejemplos, os agradezco cualquier sugerencia que me hagáis al respecto. Además, hablé de la idea loca de hacer una campaña de financiación colectiva, de la que os iré informando según vaya avanzando.

Ahora os iré contando mis movidas con la detección de erratas y así, la primera ya ha ocurrido, me pasaron cosas locas con el tamaño del papel con XeLaTeX que ya están arregladas. También configuré el quickbuild de Kile.

Ahora estoy a tope con Octave para que si algún día vuelvo a las trincheras no se me haya olvidado todo lo aprendido. De momento he instalado la ayuda y he aprendido cómo va el archivo de configuración. También tengo intención de retomar mi querido Haskell, que el pobre se quedó un poco en el olvido.

Seguir leyendo →

Lo que he aprendido: .octaverc

Hoy voy a hablar un poco del archivo de configuración de GNU Octave, .octaverc, el equivalente octaviano del startup.m de Matlab que descubrí hace algún tiempo. Ahí metemos las órdenes que queremos que GNU Octave ejecute al iniciarse, nos vale para establecer opciones, guardar variables que usamos a menudo, añadir rutas al path o demás historias.

Lo primero que tenemos que tener en cuenta es que podemos crear este archivo .octaverc en diferentes lugares dependiendo de lo que queramos conseguir. Veamos:

  • OCTAVE_HOME/share/octave/site/m/startup/.octaverc es el archivo de configuración para todos los usuarios, donde OCTAVE_HOME es la carpeta donde está instalado GNU Octave, por defecto /usr/local/
  • ~/.octaverc es el archivo de configuración específico para cada usuario
  • .octaverc es el archivo de configuración para un proyecto particular

Yo he modificado el archivo que está en mi carpeta personal, es decir, el segundo. Ahora mismo tiene pocas cosas porque acabo de instalarlo, espero que se vaya agradando con el tiempo y el uso. Concretamente contiene estas dos líneas:

cd ("~/Documentos/Octave") % cambiar carpeta
history_control ("ignoredups"); % ignorar duplicados en historia

Este .octaverc es compatible con el startup.m de Matlab, podemos hacer que lo busque y utilice su contenido añadiendo lo siguiente:

if exist('~/Documents/MATLAB/startup.m', 'file')
  source('~/Documents/MATLAB/startup.m')
endif

Al igual que el resto de mis dotfiles, gestiono este archivo con Stow. Tengo una carpeta llamada con gran originalidad dotfiles en la que organizo los archivos de configuración según programas:

.
├── emacs
│   └── .emacs.d
|
└── octave
    └── .octaverc

Luego genero un enlace simbólico a la carpeta personal con:

ondiz@slimbook:~/Documentos/dotfiles$ stow octave -t ~

Y poco más. Me queda investigar si se pueden controlar las opciones de gnuplot desde el archivo de configuración, ya os contaré a ver. Acabo con unas preguntas: ¿vosotros qué tenéis en vuestro archivo de configuración?, ¿Cómo manejáis los dotfiles? ¿Será GNU Octave el nuevo tema recurrente en el blog?

Referencias

GNU Octave: Startup files

.octaverc en la wiki de GNU Octave

Change default workspace in Octave en AskUbuntu

Suggested .octaverc for GNU Octave

Manual de gnuplot 4.6


Me he reencontrado con esta canción que es muy apropiada para mi situación actual


Lo que he aprendido: instalar la ayuda de GNU Octave

¡He vuelto a instalar GNU Octave en mi recién estrenado elementaryOS Loki! Estoy contenta porque la versión de los repos de Ubuntu 16.10 LTS abre directamente una GUI, pero no trae la ayuda, maldita sea, si vamos a la pestaña de la documentación nos dirá que /usr/share/info/octave.info no existe. Vamos a solucionarlo ahora mismo.

Con las pistas que nos da el error podemos hacer una búsqueda rápida para identificar el paquete donde vive la ayuda:

$ apt-cache search octave info
octave-doc - PDF documentation on the GNU Octave language
octave-htmldoc - HTML documentation on the GNU Octave language
octave-info - GNU Info documentation on the GNU Octave language
...

El principal sospechoso es el tercero (info), vamos a ver su descripción a ver si nos encaja (la resumo porque es demasiado larga):

$ apt-cache show octave-info

Package: octave-info

This package provides the following documentation 
in info format: a document on the C++ classes used 
by Octave, as well as the main octave documentation 
which is needed for the 'help -i foo' command within 
Octave.

Parece que es ese, así que lo instalamos:

sudo apt-get install octave-info

Si vamos a /usr/share/info/ veremos que ahora hay cosas de GNU Octave por ahí, lo que es buena señal. Vamos a abrir GNU Octave a ver:

octave

¡Tachán! ¡Ya hay documentación! Lo que sí que he de decir que este tipo de cosas no ayuda en nada a que los usuarios principiantes usen software libre, no cuesta tanto ponérselo ponérnoslo más fácil, creo yo.

Más

GNU/Octave en Ubuntu 14.04 y 14.10: Trucos para una buena experiencia inicial


Lo que he aprendido: forzar la GUI de Octave en GNU/Linux

Antes de nada he de decir que lo que os traigo hoy me lo ha enseñado este señor. Pero todo lo erróneo que pueda haber en el post es solo responsabilidad mía.

Resulta que ahora Octave viene con una GUI experimental pero hay que forzar que se abra, ya que por defecto se abre el intérprete en el terminal. Por si no sabíais, hay que hacer así:


octave --force-gui

Esto está muy bien y convierte a Octave en una alternativa seria a Matlab, pero que queréis que os diga, me cansa soberanamente tener que escribir toda la historia cada vez que quiero usar el programa. Podría hacer un alias, sí, pero estoy en las mismas. Yo lo que quiero es darle al menú y que cuando elija Octave me abra la ventanita de marras. Porque yo lo valgo.

Pues eso puede conseguirse, amigos. El software libre es así, señores. Pidan y se les dará. Al loro que ahora viene la parte en la que hablo sin saber (pero os garantizo que funciona). La cuestión es que los escritorios típicos (1) de GNU/Linux cumplen un estándar llamado freedesktop.org que hace lo siguiente (copio directamente de la página de desarrolladores de GNOME):

En GNOME y algunos otros escritorios que cumplen el estándar de freedesktop.org una aplicación se registra en los menús del escritorio a través de un archivo de escritorio que es un archivo de texto con la extensión .desktop. Este archivo de escritorio contiene una lista de la configuración de la aplicación. El escritorio obtiene la información del archivo y lo usa para:

  • poner la aplicación en el Menú principal. Para ver una lista de las categorías válidas, consulte la especificación del menú del escritorio de FreeDesktop.org.
  • liste la aplicación en el diálogo Ejecutar aplicación….
  • cree los lanzadores apropiados en el menú o en el escritorio.
  • asocie el nombre y la descripción de la aplicación.
  • use el icono apropiado.
  • reconozca el tipo MIME que soporta para abrir archivos.

Bien, lo que queremos aparece en esa lista así que se deduce que algo hay que hacer con el archivo .desktop. El archivo .desktop de Octave está en /usr/share/applications/, si lo abrís veréis que es algo así:

octaveSi os fijáis en la línea en la que pone Exec, veréis que ahí no hay –force-gui que valga y es por eso que nos abre Octave en el terminal (2). Si copiamos ese archivo y lo modificamos habremos conseguido lo que queríamos (3). Probablemente tendréis que abrir la carpeta como root para poder copiar y pegar cosas en ella y también os hará falta el sudo para modificar el archivo. Quedaría así:

octaveDesktopComo veis, es prácticamente igual salvo que aparece el –force-gui en la línea de Exec y ahora Terminal es false porque no queremos que abra el terminal. Y con esto, chavalada, tendría que aparecernos un nuevo cacharro en el menú que nos abra Octave con GUI incorporada:

oct

Esto es lo que he aprendido hoy, ¿qué os parece?

—————————————————————————————————————————-

NOTAS

(1) Digo típicos porque no sé si habrá algún escritorio raruno que no lo cumpla, ya he avisado de que hablo sin saber.

(2) /usr/bin/ es donde viven las cosas que escribimos en el terminal, más no me pidáis. Si os queréis enterar de la movida aquí tenéis una explicación.

(3) Copiad y cambiad el otro archivo, no seáis locos de la vida. No, no es por eso: si tenéis dos archivos en el menú tendréis la posibilidad de abrir Octave con GUI o sin GUI.

—————————————————————————————————————————-

MÁS:

Más sobre los archivos .desktop

La página oficial de freedesktop.org