Category Archives: Linux/Solaris/BSD

Instalación de Corona SDK en Ubuntu 12.04 utilizando Wine

Introducción

Corona SDK es una plataforma para el desarrollo de aplicaciones móviles para iOS y Android muy publicitada ultimamente y por lo que he visto hasta el momento muy interesante para el desarrollo de aplicaciones, especialmente juegos en estos dispositivos.  Desafortunadamente no existe aún una versión para GNU/Linux sin embargo por suerte es posible instalarlo utilizando Wine.

Instalación de Wine

El primer paso debe ser entonces instalar Wine que se encarga de hacer la traducción o emulación de las invocaciones a las funciones nativas de Windows.

$ sudo aptitude install wine

En este caso estoy utilizando un release candidate de la versión 1.4.

$ wine –version

wine-1.4-rc5

Descargar Corona SDK

Para descargar la distribución del software se debe elegir la versión del sistema operativo Microsoft Windows y descargar el paquete correspondiente desde la siguiente ubicación.

https://developer.anscamobile.com/downloads/coronasdk

También es necesario que se cree una cuenta de usuario en el sitio web para poder ejecutar posteriormente el software.

http://developer.anscamobile.com/user/register

Instalar Corona SDK

La versión que se utilizó para este procedimiento fue la 2011.704.  La invocación mostrada a continuación realiza la instalación del software (desarrollado para Windows) en GNU/Linux.

$ wine start CoronaSDK-2011.704.msi

Crear una demostración: Hola Mundo

Hola Mundo con Corona SDK

Hola Mundo con Corona SDK

Utilizando cualquier editor de texto crear el archivo main.lua con el siguiente contenido.

local text = display.newText("Hello World", 50, 50, nil, 26)
text:setTextColor(255, 255, 255)

Ejecutar el Corona Simulator para interpretar la aplicación de demostración recién creada.

Herramientas instaladas por Corona SDK

Herramientas instaladas por Corona SDK

También es posible ejecutarlo desde la línea de comando de la siguiente manera.

$ ~/.wine/drive_c/Program\ Files/Ansca/Corona\ SDK/Corona\ Simulator.exe

Finalmente para interpretar la aplicación creada anteriormente elija la opción Open Project del menú File y seleccione el archivo main.lua.

Enlaces

Instalando un paquete DEB local junto con sus dependencias en Ubuntu

Introducción

Con alguna frecuencia es necesario instalar paquetes de software que no se encuentran almacenados en repositorios conocidos por el sistema operativo, en este caso lo habitual es descargar el paquete .deb e instalarlo manualmente de la siguiente manera.

$ sudo dpkg -i paquete.deb

Esta solución es útil siempre y cuando el paquete a instalarse no tenga a su vez dependencias que deban ser instaladas previamente.  En caso de tenerlas la instalación quedará pendiente hasta que se suplan.  Por ejemplo, para la instalación de Prey es necesario garantizar antes la instalación de los siguientes paquetes.

$ sudo dpkg -I prey_0.5.3-ubuntu2_all.deb | grep Depends

 Depends: openssl, scrot, curl, streamer, libio-socket-ssl-perl, libnet-ssleay-perl, mpg123

Solución

Inicialmente instalaba una a una las dependencias faltantes con aptitude sin embargo encontré una mejor manera de hacerlo.

Instalar manualmente el paquete local recién descargado.  Como este paquete tiene dependencias su instalación no puede ser completada aún.

$ sudo dpkg -i paquete.deb

Utilizar aptitude (o apt-get) para que automáticamente instale los paquetes que sean necesarios para completar la instalación del paquete anterior.

$ sudo aptitude -f install

Instalando Sublime Text 2 en Ubuntu desde repositorios

Introducción

Sublime Text 2

Sublime Text 2 para GNU/Linux

Sublime Text es un editor de texto con características muy interesantes para los desarrolladores de software, lo estoy probando a partir de esta semana.  Este software se distribuye para GNU/Linux, Mac OSX y Windows bajo una versión de prueba (sin límite de tiempo) que puede ser actualizada adquiriendo su licencia (59 USD).

Instalación en GNU/Linux

Las diferentes distribuciones (32 y 64 bits) pueden descargar e instalar Sublime Text desde su distribución tar.bz2.

Instalación en Ubuntu

Para esta distribución de GNU/Linux (y derivadas) los de webupd8.org han creado un repositorio para Sublime Text que ellos mismos administran y desde el cual es posible instalar y actualizar este software.  Para hacer esto se deben seguir los pasos mostrados a continuación.

$ sudo add-apt-repository ppa:webupd8team/sublime-text-2
$ sudo apt-get update
$ sudo apt-get install sublime-text-2

Enlaces

Explotando burbujas con Processing utilizando GSVideo y Minim

Introducción

Demostración de GSVideo_Bubbles

Demostración de GSVideo_Bubbles

Este sketch combina la técnica de detección de movimiento descrita anteriormente para crear un ambiente interactivo simple que consiste en explotar las burbujas que aparecen al azar sobre la imagen del usuario.  Adicionalmente utiliza la librería Minim para reproducir un efecto sonoro al explotar las burbujas.

Changelog

  • 20120509: actualización de GSVideo al paquete de Video estándar.  Requiere Processing 2.0 (2a5).
  • 20120223: versión inicial, procedimental basada en GSVideo.  Incluye reproducción de un sonido utilizando Minim.

Enlaces

Instalando javacvPro para manipular OpenCV 2.3 desde Processing en GNU/Linux Ubuntu y Mint

Introducción

Después de experimentar con la versión 2.1 en Processing que era provistra por ubaa.net he decidido probar con otra diferente ya que esta al parecer ha dejado de ser actualizada.

En este caso estoy probando javacvPro la cual se ve muy prometedora a pesar de que su sitio web y documentación se encuentra escrito en francés.

Requisitos

Es necesario contar los paquetes de la librería OpenCV 2.3 instalados.

Instalación

Descargar la versión mas reciente de la librería desde el siguiente enlace.  Ver la sección Téléchargement.

http://www.mon-club-elec.fr/pmwiki_reference_lib_javacvPro/pmwiki.php

En este caso se utilizó la versión 0.3 disponible actualmente.

Descomprimir el paquete recién descargado.

$ unzip javacvPro-0.3.zip

Crear el directorio para las librerías de Processing (si este aún no existe).

$ mkdir -p ~/sketchbook/libraries

Ubicar la librería en esta ubicación para que esté disponible para Processing.

$ mv javacvPro ~/sketchbook/libraries

Enlaces

Instalando OpenCV 2.3 en GNU/Linux Ubuntu/Mint 12

Introducción

Después de realizar algunas pruebas y experimentos con la versión 2.1 he decidido actualizar la versión de OpenCV a su versión mas reciente (2.3.1 agosto de 2011) para utilizar nuevas librerías mas avanzadas.

Para esto, en lugar de construír la librería desde fuentes, voy a utilizar el repositorio que hábilmente ha creado @gijzelaerr en Launchpad con esta versión.

Instalación

Agregar los repositorios necesarios al sistema operativo.

$ sudo add-apt-repository ppa:gijzelaar/cuda

$ sudo add-apt-repository ppa:gijzelaar/opencv2.3

Actualizar la lista de índices de los paquetes en los repositorios.

$ sudo apt-get update

Instalar el OpenCV y sus dependencias.

$ sudo aptitude install libcv-dev

Enlaces

Solucionando problemas con las firmas GPG de los paquetes en GNU/Linux Ubuntu y Mint

Introducción

Después de una acción aún no determinada, posiblemente agregar un nuevo repositorio de paquetes al sistema operativo, empecé a obtener errores de firmas GPG como los siguientes durante la actualización de los índices de los paquetes en los repositorios con Aptitude.

W: GPG error: http://archive.ubuntu.com oneiric Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures were invalid: BADSIG B9316A7BC7917B12 Launchpad chrislea
W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures were invalid: BADSIG B6C6326781C0BE11 Launchpad All you need for Ruby/Rails development on Ubuntu
W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures were invalid: BADSIG C2518248EEA14886 Launchpad VLC
W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ppa.launchpad.net oneiric Release: The following signatures were invalid: BADSIG C2518248EEA14886 Launchpad VLC

La solución

Para solucionar esta situación se siguieron los pasos mostrados a continuación.

Renombrar (mover o remover) las listas de índices de paquetes actualmente manejadas por el sistema operativo.

$ sudo mv /var/lib/apt/lists /var/lib/apt/lists.old

Recrear el directorio de almacenamiento de las listas de índices.

$ sudo mkdir -p /var/lib/apt/lists/partial

Limpiar los paquetes almacenados en el sistema de archivos local descargados durante procedimientos anteriores.

$ sudo apt-get clean

Solicitar nuevamente las listas de índices de los paquetes contenidos en los repositorios actualmente registrados en el sistema operativo

$ sudo apt-get update

Campos autonuméricos con SQLite3

Introducción

SQLite es un gestor de bases de datos pequeño y simple que se usa ampliamente como apoyo al software (aplicaciones de escritorio, navegadores web, etc.) y en sistemas embebidos como los teléfonos móviles (Android por ejemplo).

A continuación se muestra como crear campos autonuméricos en esta base de datos, es decir, campos cuyo valor es un número serial que es asignado automáticamente por el software.

Procedimiento

Crear la tabla con el campo autonumérico (code en este caso).

CREATE TABLE test (
code     INTEGER        PRIMARY KEY    AUTOINCREMENT,
name     VARCHAR(20)    UNIQUE,
value    FLOAT
);

Agregar datos a la tabla recién creada.

INSERT INTO test VALUES(NULL, 'demo1', 10.10);
INSERT INTO test VALUES(NULL, 'demo2', 20.20);
INSERT INTO test VALUES(NULL, 'demo3', 30.30);

Consultar los datos recién ingresados.

sqlite> select * from test;
    1|demo1|10.1
    2|demo2|20.2
    3|demo3|30.3

Consultar el valor del último campo autonumérico ingresado durante la sesión.

SELECT last_insert_rowid();
    3

Enlaces

Permisos de archivos/directorios incorrectos para el servidor de páginas en GNU/Linux

Introducción

El problema mas común que impide que se pueda acceder correctamente a un sitio o aplicación web que se está instalando o desarrollando es que los archivos y directorios no cuenten con los permisos de acceso apropiados para que el servidor de páginas (Apache por ejemplo) pueda accederlos correctamente.  En estos casos se obtiene un mensaje de error similar al  mostrado a continuación.

failed to open stream: Permission denied in /ruta/al/proyecto/index.php on line xx

La solución

En términos generales, los directorios deben contar con permisos 755 (drwxr-xr-x) y los archivos -como .php- 644 (-rw-r–r–).  Esta modificación puede realizarse de manera recursiva aprovechando la flexibilidad del comando find de la siguiente manera.

$ find /ruta/al/proyecto -type d -exec chmod 755 {} \;
$ find /ruta/al/proyecto -type f -exec chmod 644 {} \;

Inclusive es posible establecer filtros a los nombres de los recursos actualizados para mayor precisión en el cambio.

$ find /ruta/al/proyecto -type f -name '*.php' -exec chmod 644 {} \;