miércoles, 7 de marzo de 2012

Llamar a Maxima desde Octave

Calling Maxima from Octave.

El siguiente script define una función en Octave que envía una lista de comandos a Maxima y devuelve un string con la última salida de Maxima.

No es muy elegante, y necesita algo de trabajo, pero cumple su función.

The following script defines a function in Octave that sends a list of commands to Maxima and returns a string with the last departure from Maxima.

It's not elegant, and needs some work, but it does its job.



--- maxima.m ---
## -*- texinfo -*-
## @deftypefn  {Function File} {} maxima (@var{comando})
##
## Ejecuta uno o mas comandos en GNU-Maxima y devuelve un string con el resultado del ultimo comando.
## GNU-Maxima puede encontrarse en http://maxima.sourceforge.net/
## Executes one or more commands in GNU-Maxima and returns a string containing the result of last command.
## GNU-Maxima can be found at http://maxima.sourceforge.net/
##
## @var{comando} es un string conteniendo el o los comandos a ejecutar en GNU-Maxima. Estos comandos deben separarse mediante @samp{";"}.
## @var{comando} is a string containing the command(s) to run on GNU-Maxima. These commands must be separated by @samp{";"}.
##
## Ejemplos/Examples:
##
## @example
## @group
## maxima("1+1;laplace(%,t,s)")
##    @result{} 2/s
## @end group
## @end example
##
##
## @seealso{ilaplace, maxima}
## @end deftypefn

## Author: Alejandro Regodesebes -
## v.1.0.1 - Copyright (C) 2012 Alejandro Regodesebes

#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see .

function resultado = maxima (comando)
    if ((nargin == 1) && ischar(comando))
        comando = strtrim(comando);
        if (substr(comando, -1) != ";")
            comando = [comando,';'];
        endif
        #{ Llama a Maxima en modo silencioso (-q), para procesar por lotes una lista de argumentos (--batch-string="..."), y le envía como argumentos la orden de mostrar la salida en una sola línea (display2d:false;) más el comando deseado. La salida de Maxima se almacena en el string "salida":#}
        [nn,salida] = system(['maxima -q --batch-string="display2d:false;',comando,'"']);
        #{ Remueve los espacios al principio y al final (strtrim) de la parte del string "salida" (substr) que comienza 5 caracteres después (+5) del primer carácter de del último "(%o" (rindex):#}
        resultado = strtrim(substr(salida,rindex(salida,"(%o")+5));
        #{ Elimina todos los signos "%":#}
        resultado(resultado == "%") = "";
    else
        printf("ERROR: el argumento debe ser un string\n");
        print_usage ();
    endif
endfunction


--- fin maxima.m ---

martes, 6 de marzo de 2012

Acentos en Texmaker

Para poder escribir acentos en Texmaker (y posiblemente en cualquier programa para KDE) en Ubuntu, instalar:

sudo apt-get install ibus-qt4

Además, en Texmaker ir a Opciones -> Configurar Texmaker -> Editor y poner la codificación del editor en la usada para el documento (UTF-8 me funciona).

Actualización para Ubuntu 11.10:

La versión de Texmaker de los repositorios es obsoleta, y no permite escribir acentos cuando se utiliza ibus.

1) Desinstalar Texmaker.

2) Instalar la última versión, descargada desde la página oficial de Texmaker:  http://www.xm1math.net/texmaker/download.html#linux

3) Instalar ibus-qt4:

sudo apt-get install ibus-qt4

4) En Texmaker, verificar que se utilice la codificación UTF-8:
Opciones -> Configurar Texmaker -> Editor

5) A la hora de escribir, en Texmaker hacer clic con el botón derecho del ratón sobre un área de la página, y en el menú contextual elegir:
Seleccionar IM  -> ibus

viernes, 6 de mayo de 2011

Montar particiones en Ubuntu 11.04

1) Dash > Utilidad de discos

2) Seleccionar la unidad y montarla.

Para hacer que la unidad se monte automáticamente al inicio:

3) Anotar el nombre de la unidad (ej: /dev/sda4).

4) Dash > Terminal:

$ sudo gedit /etc/mtab

5)  Buscar el nombre de la unidad y copiar la línea (ej.: /dev/sda4 /media/main ext4 rw,nosuid,nodev,uhelper=udisks 0 0 ).

6) Abrir una nueva pestaña en la terminal:

$ sudo gedit /etc/fstab

7) Pegar la línea y guardar. Cerrar todas las ventanas.

8) En una terminal nueva, testear con:

$ sudo mount -a

(Si no da error, reiniciar tranquilo.)

Fuente: http://www.muktware.com/man/1075?page=0,1

viernes, 22 de abril de 2011

Cómo restaurar el panel de gnome en Ubuntu.

Para restaurar el panel de gnome a su estado original, ejecutar el comando:


gconftool --recursive-unset /apps/panel && killall gnome-panel

Probado en Ubuntu 10.10.

miércoles, 9 de marzo de 2011

Workaround para TVtime en Ubuntu 10.10

No es muy elegante, pero funciona:

1) Agregar este ppa (https://launchpad.net/~diwic/+archive/maverick) e instalar tvtime. Si pregunta, reemplazar el archivo de configuración de sonido por el nuevo.

sudo add-apt-repository ppa:diwic/maverick

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install tvtime

2) Editar el archivo de configuración de tvtime:

sudo gedit /etc/tvtime/tvtime.xml

Cambiar:

 option name="MuteOnExit" value="1"

Cambiar bind command="toggle_mute" por:

  bind command="mixer_toggle_mute"

3) Ejecutar con:

tvtime --mixer=hw:0/Line

----------------------------------------------

ACTUALIZACIÓN:


Probado en Ubuntu 11.10:


1) Instalar TVtime normalmente.


2) Editar el archivo de configuración de tvtime:

sudo gedit /etc/tvtime/tvtime.xml

Cambiar:

 option name="MuteOnExit" value="1"


Cambiar:

 option name="MixerDevice" value="hw:0/Line"



miércoles, 2 de marzo de 2011

Tasksel: Instalar LAMP en Ubuntu fácilmente.

Tasksel es una utilidad para instalar grupos de paquetes según su funcionalidad.

Para ver un listado de los grupos instalados (i) y disponibles (u), ejecutar:

tasksel --list-tasks

Para instalar un servidor LAMP (Linux - Apache - Mysql - Php), ejecutar:

sudo tasksel install lamp-server

Nota: completar la instalación del servidor LAMP con:
 sudo apt-get install phpmyadmin php-pear