martes, 16 de diciembre de 2014

Cambiar resolución Ubuntu 14.04 en VirtualBox

Desde hace poco trabajo en OsX y me ha tocado instalar una maquina virtual en Linux para trabajar en un proyecto. Pero me he encontrado con el primer problema y es que la resolución por defecto es de 640 x 480 y así no hay quien trabaje. Por suerte siguiendo unos pocos pasos podemos solucionar este problema:
  1. Desactiva el soporte 3D en la configuración gráfica de la máquina virtual.
  2. Ejecutar esto:
    sudo apt-get update  
    sudo apt-get upgrade  
    sudo apt-get install dkms  
    sudo apt-get install build-essential
    
  3. En la maquina virtual dentro de los dispositivos añadir la imagen de cd  de Guest Additions (menu Devices-Insert Guest Additions CD (Host+D)). Con ello aparecerá un mensaje indicando si queremos continuar con la instalación. Obviamente continuamos y listo.
  4. Reinicia Ubuntu.
  5. Ahora la resolución de la pantalla se modificará de manera automática.


    * Si durante la instalación de los Guest Additions os aparece un warning indicado que no se ha reconocida la versión de X Windows del tipo:

    Warning: unknown version of the X Window System installed.  Not installing
    X Window System drivers.


    La instalación no funcionará. Se debe a que probablemente estéis usando una versión antigua de VirtualBox. Actualizarlo y volver a instalar las Guest Additions debería solucionar el problema. 

    Fuente: http://askubuntu.com/questions/240745/how-do-i-get-a-larger-screen-resolution-in-virtualbox-on-mac-os-x

jueves, 5 de diciembre de 2013

Instalar VTK con soporte de Qt y Python en Windows


0. Descargar e instalar Visual Stuido 2010, CMake, Qt4.x y Python con Setup Utils y Easy_install

1. Descargar y descomprimir VTK.

2. Abrir CMake y configurar el proyecto, debemos:
  • establecer la herramineta de compilación (VS2010) 
  • marcar las opciones de generación para el Wrapper de Python y el uso de Qt
  • establecer los directorios donde se encuentra nuestra instalación de Python, la herramienta qt-make y el directorio de instalación.
3. Configurar y generar. Que nos generara una solución para Visual Studio que es con la que trabajaremos a partir de ahora.

4. Abrimos la solución y la construimos a nuestro gusto (es decir en modo Debug, Release, etc).

5. Después buscamos el proyecto INSTALL dentro de la solución y lo ejecutamos. Si todo va bien ya podremos empezar a trabajar con VTK en C++ pero para poder usarlo en Python nos quedan un par de pasos mas.
  • Si nos da un error indicando que no se ha establecido la variable PYTHONPATH, debemos añadirla al sistema con el valor de la ruta en la que se esta intentando copiar el paquete .egg de python (nos lo indica el error)

6. Ahora vamos a Python e instalamos el paquete .egg generado para lo que escribimos:
  • easy_install C:\Ruta_paquete_dado_por_PYTHONPATH\VTK-6.0-py2.7.egg
7. Añadir al path del sistema los directorios bin de la instalación de Qt (por ejemplo C:\Qt\4.8.5\bin) y VTK (normalemente algo como C:\nuestro_directorio_salida_VTK_cmake\bin ).

8. Para probar que funciona todo bien entramos en la consola de python y escribimos "import vtk" .

martes, 26 de noviembre de 2013

Instalar LaTeX en Windows en 4 pasos

Parafraseando a la Wikipedia, LaTeX es un sistema de composición de textos, orientado especialmente a la creación de libros, documentos científicos y técnicos que contengan fórmulas matemáticas. Pero puede ser utilizado para componer y maquetar cualquier documento y de echo con un poco de práctica su uso es más eficiente que el trabajo con programas como Libre Office Writer o Word. Eso si los inicios no son fáciles pero todo es ponerse y para ello solo hay que seguir unos cuantos  pasos:

  1. Descargar el software necesario para trabajar cómodamente:
  2. Instalar todo en el mismo orden de descarga y a poder ser como admin.
  3. Configurar y actualizar los paquetes de MiKTeX para ello ejecutamos la aplicación Settings(Admin).
  4. Ejecutar Texmaker para crear nuestro primer documento.

miércoles, 13 de noviembre de 2013

Ejecutar un script sh (o comando) cada cierto tiempo

Tan simple como:

$watch -t -n secs ./script.sh

donde secs es el intervalo de tiempo en segundos cada el que queremos ejecutar script.sh. Para ejecutar un comando simple basta con substituir el script por el comando deseado, por ejemplo:

$watch -n 10 ps -l

para listar los procesos activos cada 10 segundos. Si queremos ejecutar un comando compuesto deberemos añadir la opción -x o simplemente poner el comando entre comillas simples. Otras opciones bastante útiles son -d para resaltar los cambios en los resultados producidos entre ejecuciones o -t para evitar que se muestre la cabecera del programa.

jueves, 25 de julio de 2013

Code Snippets I: obtener ángulo vector en Java

    /**
   * Obtiene el angulo con respecto de la horizontal de un 

   * vector definido en el plano calculando en primer lugar el 
   * arco tangente y después comprobando el cuadrante en el que
   * se encuentra.
   * @param x0 Coordenada X del punto origen del vector.
   * @param y0 Coordenada Y del punto origen del vector.
   * @param x1 Coordenada X del punto final.
   * @param y1 Coordenada Y del punto final.
   * @return Ángulo en radianes.

   * @author K.Stopa - GPLv3
   */
public double getAngle(double x0, double y0, double x1, double y1) 

{       
        double dx = x1 - x0;
        double dy = y1 - y0;
        double dy0 = dy;
        double dx0 = dx;
        if (dx < 0.0) dx0 = -dx;
        if (dy < 0.0) dy0 = -dy;       
        double angval = Math.atan2(dy0, dx0);
        if (dx < 0.0 && dy > 0.0) {
            angval = Math.PI - angval;   
        } else if ((dx < 0.0) && (dy <= 0.0)) {
            angval = Math.PI + angval;
        } else if ((dx >= 0.0) && (dy < 0.0)) {
            angval = 2.0 * Math.PI - angval;
        }
        return angval;

}   

miércoles, 5 de diciembre de 2012

Compilando Boost en windows con MinGW

Boost es una librería libre que extiende la funcionalidad de C++ ańadiendo una gran cantidad de clases que entre otras para el tratamiento avanzado de cadenas, contenedores, funciones lambda, programación concurrente y paralela (como el estándar MPI), estructuras matemáticas avanzadas (como octiones, quaterniones, funciones avanzadas de calculo estadístico o librerías para el tratamiento de matrices con álgebra lineal) y un largo etc.

En primer lugar nos debemos descargar MinGW e instalarlo para lo que recomiendo dejar por defecto como ruta de instalación C:\MinGW\ y en cualquier caso es mejor que no tenga espacios.

Por otro lado debemos bajarnos el código de Boost (actualmente en la versión 1.52.0) y descomprimirlo en la ruta que queremos (p. e. C:\libs\boost-1.52.0).

Ahora abrimos el la consola y anadimos al PATH la carpeta bin de MinGW:

> set PATH=%PATH%;C:\MinGW\bin

Después  vamos a la carpeta donde se encuentra Boost y ejecutamos:

> bootstrap gcc

Y finalmente si queremos compilar toda la biblioteca utilizando MinGW tan solo debemos escribir:

> bjam --toolset=gcc --build-type=complete --build-dir="C:\Boost" install

Y después de unas horas listo!

jueves, 15 de noviembre de 2012

Festival

Festival es una sistema de síntesis de voz de propósito general para varios idiomas (entre los que también se encuentra el español) que nos permite convertir cadenas de texto en voz. Esta herramienta se encuentra implementada como un interprete de comandos el cual puede conectarse con diversos módulos y aplicaciones o su utilización por medio de su API en C++ o Java.

Para su instalación tan solo debemos escribir:

En Fedora (aunque es probable que venga instalado por defecto):

$ sudo yum install festival


En Debian o Ubuntu:
$ sudo apt-get install festival 

Y ya podemos empezar a utilizarlo. Para ello en la consola escribimos:

$ festival

Con lo que aparecerá la consola de festival en la que podremos escribir diferentes comandos. Por ejemplo para que el sistema diga una frase utilizaremos el comando SayText:

festival > (SayText "Your text here")