Convertir CDs de audio a MP3 en Ubuntu

viernes, 31 de diciembre de 2010

Hace algunos meses hablamos sobre K3b, la alternativa a Nero en Ubuntu. En aquella ocasión simplemente os presentamos K3b y explicamos como instalarlo. En esta ocasión, sin embargo, vamos a ver como usar una opción muy interesante de K3b, convertir CDs audio a MP3 en Ubuntu.
Hoy en día, son pocas las personas que escuchan directamente CDs de audio en alguna mini-cadena o en aquellos discmans (que cada vez se ven menos en las tiendas). Pero, lo que si es muy común en convertir CDs de audio a MP3 en Ubuntu. De esta forma podemos escucharlos en nuestro reproductor MP3, en el ordenador, etc.
En Ubuntu, lo único que necesitamos para convertir CDs de audio a MP3 es K3b y los CDs de audio que queramos convertir.
Abrimos K3b, "Aplicaciones->Sonido y vídeo->K3b". Antes de continuar y para poder convertir CDs de audio a MP3 debemos meter el CD en el lector (por supuesto). Entones deberíamos ver algo así:


Si os fijáis hay un botón en el que pone "Start Ripping", que será el que usemos para convertir CDs de audio a MP3 en Ubuntu.


Lo pulsamos y veremos una ventana como la siguiente:


En esta nueva ventana configuraremos la opciones que tendrán los archivos de salida. Lo más importante es configurar que el tipo de archivo sea "MP3", al fin y al cabo lo que queremos es convertir CDs de audio a MP3 en Ubuntu.


Por otro lado, podemos seleccionar el directorio donde se guardaran los archivos MP3 y también podemos configurar el formato de los nombres en la segunda pestaña.


Para terminar simplemente pulsamos "Start Ripping" y listo, así podemos Convertir CDs de audio a MP3 en Ubuntu.

Valida el HTML de tu web con Chrome

jueves, 30 de diciembre de 2010

Si queremos que nuestra web esté bien reconocida por Google, no solo tenemos que seguir los pasos que indicamos en el post "Cómo posicionar un web en Google", sino que el HTML debe ser perfecto. Por suerte, hoy en día hay herramientas para todo y ahora disponemos de "Validity", una extensión de Chrome que nos permite validar el HTML de cualquier web en un momento.
Para instalar no tenemos más que acceder aquí y pulsar el botón "Instalar" (por supuesto de Chrome).


Una vez instalada la extensión, vamos a la web que queramos analizar y pinchamos en el icono que aparece en la barra de direcciones.


Para ver el resultado del análisis tan solo debe acceder a la consola javascript.


Ahora toca trabajar un poco para solucionar todos los errores HTML encontrados.

Visto en programación en catellano.

Crea tu propio tux

miércoles, 29 de diciembre de 2010

Si quieres tener un pequeño Tux, hoy vamos a enseñaros cómo podéis creároslo vosotros mismos de una forma muy rápida y sencilla. Lo único que necesitaréis para crearlo será lo siguiente:
  • Impresora a color
  • Tijera
  • Cúter
  • Papel blanco. A ser posible grueso, como una cartulina por ejemplo.
 Para crear vuestro propio Tux, tan solo tendréis que seguir los siguientes pasos:
  • Imprimir la siguiente imagen a color.
  • Recortar con una tijera los bordes.
  • Utilizar el cúter para cortar sobre las líneas blancas que aparecen al lado de las letras y las patas del tux.
  • Montarlo sabiendo que cada letra tiene que encajar su propia letra. Es decir, la A encajará con la A, la B con la B, etc.
  • No es necesario pegamento.
En Nosolounix hemos decidido crear nuestro propio tux y el resultado final ha sido el siguiente:


Fuente: Cubeecraft

Notepad++ saca nueva versión

martes, 28 de diciembre de 2010

Ya tenemos disponible la nueva versión de Notepad++, un editor de texto que dispone de una gran lista de lenguajes de programación, indispensable para cualquier desarrollador.


Esta nueva versión, la 5.8.6 sobre todo soluciona problemas de seguridad, pero además también incluye nuevos plugins y mejoras de algunos:
  • TextFX v0.26 (Unicode)
  • Spell Checker v1.3.3 (Unicode)
  • NppFTP 0.23 (Unicode)
  • NppExport v0.2.8 (Unicode)
  • Compare Plugin 1.5.6.1 (Unicode)
  • Plugin Manager 0.9.3.1 (Unicode)
  • TextFX v0.25 (ANSI)
  • NppExec v0.4.1 (ANSI)
  • Spell Checker v1.3.3 (ANSI)
  • MIME Tools v1.6 (ANSI)
  • NppExport v0.2.8 (ANSI)
  • Light Explorer v1.6 (ANSI)
  • Compare Plugin 1.5.5 (ANSI)
  • Plugin Manager 0.9.3.1 (ANSI)
Para descargar la nueva versión de Notepad++ tan solo debéis acudir a su página web oficial, descargar la versión para Windows e instalarla tal y como explicamos en el manual Instalar Notepad++ en Ubuntu o sino, descargar directamente el código fuente y compilarlo vosotros mismos.

Descargar MP3 en Ubuntu

lunes, 27 de diciembre de 2010

Hoy vamos a presentaros una aplicación con la cual podréis descargar todo tipo de archivos, pero sobre todo muy útil para descargar mp3 en Ubuntu. Muchos de vosotros, si habéis utilizado entornos Windows, conoceréis Ares, una aplicación muy famosa para la descarga de mp3 pero con el inconveniente de estar plagado de viruses (algo común trabajando con Windows).


Por ello, si queréis descargar mp3 en Ubuntu de una manera fácil y rápida, nuestra recomendación es Frostwire, una aplicación P2P basada en Limewire. Cabe destacar que Frostwire está disponible para todos los sistemas operativos más utilizados hoy en día, como pueden ser Linux, Mac o Windows y está basado en Java. En este artículo nos basaremos en la versión de Ubuntu, ya que nuestro objetivo será poder descargar mp3 en Ubuntu.

Los requisitos mínimos para poder utilizar Frostwire son los siguiente:
  • 128 MB de RAM, aunque se recomiendan tener 256.
  • Java 1.6 o posterior.
  • Conexión a Internet.
Una vez conocemos los requisitos mínimos, podemos proceder a instalar Frostwire para poder descargar mp3 en Ubuntu. Como veréis a continuación, instalarlo es muy sencillo.

Lo primero será dirigirnos al apartado de descargas de la web oficial de Frostwire. En él, pulsaremos sobre el icono de Ubuntu para descargarnos la aplicación correspondiente para nuestro sistema operativo.


Descargaremos el archivo .deb y una vez bajado, simplemente tendremos que ejecutarlo haciendo doble click sobre él (o desde una terminal). La instalación se encargará de descargar las dependencias necesarias y una vez haya finalizado ya podremos comenzar a descargar mp3 en Ubuntu.

La primera vez que iniciemos Frostwire para descargar mp3 en Ubuntu, nos pedirá que seleccionemos cual será la ruta en la cual descargará los archivos y cual será la carpeta o directorio que usaremos para compartir nuestros archivos.

Con esta aplicación podréis descargar mp3 en Ubuntu muy facilmente. Para ello, tan sólo tendréis que seleccionar que queréis buscar un "Audio" y posteriormente buscar las canciones que queráis. Como podéis ver, podréis buscar por título, artista, disco, género, etc.


Por último, en caso de que queramos desinstalar Frostwire de nuestra máquina, abriremos una terminal y escribiremos lo siguiente:


sudo dpkg --remove frostwire

Especial Navidad - Diciembre semana 4

domingo, 26 de diciembre de 2010

Después del día de Navidad, esta semana, en vez de traeros los mejores links de los últimos 7 días, os traemos una recopilación Navideña.
Espero que disfrutéis de esta recopilación Navideña.

¡FELIZ NAVIDAD 2010!

sábado, 25 de diciembre de 2010

El post de hoy tiene un objetivo claro, desearos FELIZ NAVIDAD a todos y sobre todo a aquellos que nos leéis habitualmente.


¡Disfrutad de las fiestas!

En microsoft utilizan Linux

viernes, 24 de diciembre de 2010

Hoy os traemos un vídeo que no tiene desperdicio. En él, vemos a un Español trabajando en Microsoft de Seatle (programa de TV Españoles en el Mundo) mostrando las oficinas.

Lo mejor del vídeo se encuentra a partir del minuto 0:24 en el cual vemos a un trabajador de Microsoft con un Tux de peluche y si os fijáis bien, en otro plano veréis cómo en la pared tienen una pegatina que pone "I love Linux" (minuto 0:34).

Como veis, en Microsoft no sólo utilizan Linux, sino que hay algunos apasionados de este Sistema Operativo.


Fuente: Tuxapuntes

[HUMOR] Otra forma de felicitar la Navidad

jueves, 23 de diciembre de 2010

Estamos acostrumbrados a la típica felicitación de Navidad, que abrimos nos desean "Feliz Navidad", si eso con algún villancico de fondo. Sin embargo, desde sinergia sin control, nos proponen otro tipo de felicitaciones más originales y desde luego puede que no todos las entenderán, pero los lectores de No Solo Unix seguro que sí.




Además sinergia sin control dispone de una aplicación desde la cual podéis enviar estas felicitaciones y más a familiares y amigos.

Crear una función en Oracle

miércoles, 22 de diciembre de 2010

Hace unos días vimos cómo crear un procedimiento almacenado en Oracle. Hoy veremos cómo crear una función en Oracle, la cual es muy similar a los procedimientos almacenados pero tiene algunas diferencias.

La diferencia principal de una función en Oracle comparándola con los procedimientos almacenados, es que las funciones devuelven siempre un valor. Comenzaremos viendo la sintaxis para crear una función en Oracle:


CREATE OR REPLACE FUNCTION nombre_funcion ([parametros])
RETURN tipo_variable

IS
[zona de declaraciones]

BEGIN

 [código PLSQL]

END;
/

Como podéis ver, la función está dividida en diferentes secciones:
  • Parámetros: A la hora de crear una función en Oracle, podemos declarar parámetros de diferentes tipos (NUMBER, VARCHAR, etc) y estos pueden ser de entrada (IN), salida (OUT) o incluso de entrada y salida (INOUT), tal y como vimos en el manual anterior de “crear un procedimiento almacenado en Oracle”.
  • Zona de declaraciones: Utilizaremos esta parte de la función para declarar las variables que necesitemos utilizar en ella.
  • Código PLSQL: En esta sección va la lógica de la función, la parte de la aplicación que se ejecutará.
Vista la sintaxis para crear una función en Oracle, veremos un ejemplo muy sencillo:


CREATE OR REPLACE FUNCTION SUMA (primer_numero IN NUMBER, segundo_numero IN NUMBER)

RETURN NUMBER

IS

    resultado NUMBER;

BEGIN

    resultado:= primer_numero+segundo_numero;

    return(resultado);

END;

/


En esta función de Oracle, se le pasan 2 números (primer_numero y segundo_numero), se realiza una suma y se devuelve el resultado de la suma.

Si queremos lanzar esta función, podremos hacerlo de la siguiente forma:


DECLARE

  resultado NUMBER;

BEGIN

    resultado := SUMA(12,23);

    dbms_output.put_line('Resultado de la suma: '||resultado);

END;


Al lanzar este código, realizaremos la suma de los números 12 y 23. Una vez ejecutado, podremos ver el siguiente texto: “El resultado de la suma: 35”. Esperamos que con este ejemplo y el que os enseñamos de cómo crear procedimiento almacenado Oracle hayáis aprendido las bases para trabajar con funciones y procedimientos.

Activity, la base de una aplicación Android

martes, 21 de diciembre de 2010

En el último post de esta serie vimos como ejecutar la aplicación "HelloAndroid" desde eclipse en un móvil Android. Por lo tanto, ya tenemos toda la plataforma montada con todo lo necesario para el desarrollo de aplicaciones Android. En el post de hoy vamos a ver que es la clase "Activity", esta clase es la base de cualquier aplicación Android con interfaz de usuario, es decir, si tiene interfaz de usuario tendrá al menos una clase Activity, o más bien una clase que hereda de "Activity".
Por lo tanto, podemos resumirlo en que cada Activity está relacionada con un pantalla visible. Una aplicación puede tener más de una pantalla visible, cada una muesta una IU y responde a eventos iniciados por el sistema o por el usuario. Además, las Activity-s utilizan una o varias Views para presentar al usuario los elementos de la IU.

Todo esto que he explicado de forma teórica ya lo hicimos en el proyecto "HelloAndroid", al crear el proyecto Eclipse nos creo automáticamente la clase "HelloAndroid" que hereda de Activity (extends Activity).

package com.example.helloandroid;



import android.app.Activity;

import android.os.Bundle;



public class HelloAndroid extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

}


En esta Activity mostramos la View que está definida en el archivo XML "main.xml", más adelante veremos como se definen estas View en XML.
Por lo tanto, podemos decir que Activity es el tipo de aplicación Android más común.

Ciclo de vida de la clase Activity
Por último, vamos a ver el ciclo de vida Activity, la base de un aplicación Android. Las Activity-s en el sistema se ejecutan como "tareas activity". Cuando es iniciada una nueva Activity se pone al inicio de la pila de ejecución y se convierte en la Activity en ejecución. La Activity que estuviera ejecutándose antes siempre estará por debajo en la pila y no volverá a primer plano mientras la nueva Activity exista.

En el siguiente diagrama vemos claramente cual es el ciclo de vida de este tipo de clases.


Es muy importante tener este diagrama en mente cuando estamos desarrollando una aplicación Android, ya que todas nuestras Activity-s pasan por los estados definidos en el diagrama.

Toda esta información y más la podéis encontrar en la web Android Developer. La página web más importante para cualquier desarrollador de Android.

[HUMOR] ¿Buscas Trabajo?

lunes, 20 de diciembre de 2010

En tiempos de crisis es difícil encontrar trabajo y en ocasiones las ofertas que nos encontramos piden demasiado (experiencia, conocimientos, idiomas, etc.).
¿Cumples este perfil?

Visto en Listonauta

Los mejores links de la semana - Diciembre semana 3

domingo, 19 de diciembre de 2010

Se acercan las navidades y hoy os traemos los mejores links de esta semana:
  • Si tu distro de Linux fuera una canción. TMLinux
  • Transmission 2.13 liberado. Ubuntips
  • Googleando por la naturaleza. Pinguinosycia
  • Los 10 mejores gadgets de 2010. Iguanahosting
  • Crear imagen ISO arrancable con varias distribuciones Linux. PortalUbuntu
  • Mensajes programados en twitter y facebook. Realidadgeek
  • Wikileaks demostró algo más que una crisis para Estados Unidos. Untuxsuelto

Ejecutar desde Eclipse en móvil Android (Ubuntu 10.10)

sábado, 18 de diciembre de 2010

En el post anterior sobre Android vimos como era la Estructura y ejecución en el simulador de un proyecto Android. En aquel caso ejecutamos la aplicación HelloAndroid en el simulador, en este caso, sin embargo, vamos a ver como ejecutar nuestra aplicación directamente en el móvil.
Lo primero que debemos hacer es decirle al móvil que permita ejecutar aplicaciónes de "Orígenes desconocidos", es decir, aplicaciones que no sean del Market. Para ello abrimos el menú y accedemos a "Ajustes->Aplicaciones" y marcamos la opción "Orígenes Desconocidos".


Por otro lado debemos activar la "Depuración USB". Para accedemos al menú "Ajustes->Aplicaciones->Desarrollo" y activamos la opción "Depuración USB". Con esto tendríamos el móvil listo para nuestras aplicaciones.


Si abrimos Eclipse e intentamos ejecutar la aplicación (con el móvil conectado por usb al ordenador), botón derecho sobre el proyecto "Run As-> Android Application", veremos una ventana como la siguiente:



En la parte de arriba vemos los dispositivos físicos conectados y abajo los virtuales. Como veis no detecta correctamente mi HTC Desire. Debemos hacer algunos cambios en el sistema operativo para poder ejecutar desde eclipse en moviles Android en Ubuntu 10.10.
Accedemos a "/etc/udev/rules.d/" y creamos el archivo "70-android.rules" desde un terminal:
sudo touch 70-android.rules


Nota 1: Si no estás usando Ubuntu 10.10 tendrás que sustituir el "70" por el número que tengan el resto de archivos de reglas en "/etc/udev/rules.d/".

Abrimos el archivo:

sudo gedit 70-android.rules


Y escribimos la siguiente línea:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"


Nota 2: Tened cuidado al copiar la línea, ya que es posible que las comillas no se copien bien y no conseguirás que funcione.
Nota 3: El número "0bb4" es para móviles HTC, tendrás que comprobar cual es el número para tu marca en la página de Google "USB Vendor IDs" y sustituirlo por el tuyo.

Cambiamos los permisos para el archivo que hemos creado:

sudo chmod a+rx /etc/udev/rules.d/70-android.rules


Reiniamos el ordenador y ya tendríamos todo listo para ejecutar nuestras aplicaciones desde Eclipse en un móvil Android desde Ubuntu 10.10.
Si ejecutamos en un terminal lo siguiente:

adb devices


Nota 4: En vez de reiniciar el ordenador puedes reiniciar "adb" y debería funcionar, pero no lo he comprobado.

Ahora si ya deberíamos poder ver nuestro móvil:


Volvemos a Eclipse y ejecutamos la aplicación, tendremos "HelloAndroid" en nuestro móvil.

iReport, Creación de un informe (report) DBOLAP

viernes, 17 de diciembre de 2010

Con este post acaban los post sobre JasperSoftware herramienta OpenSource para Business Intelligence. En este último vamos a volver a hablar sobre iReport, pero en este caso hablaremos sobre la creación de un informe (report) DBOLAP, es decir, haremos un informe de un cubo.

Para poder hacer este manual es necesario haber seguido el tutorial "JasperETL, creación de un data warehouse" y el manual "JasperAnalysis, creación de un cubo en JasperServer". Si todavía no los has mirado te recomiendo que te pases por esos post y luego vuelvas a este.

Configuración de conexiones
Lo primero que debemos hacer es crear una conexión "Mondrian XML/A Source" en JasperServer. Para ello en "View->Repository", encima de la carpeta "Root->Analysis Components->xmla" clicamos con el botón derecho y pulsamos la opción "Add resource->Other->Mondrian XML/A Source" como se ve en la imagen.

Introducimos el nombre de la conexión “NorthwindXMLAConnection”, lo mismo para label, description y Catalog. En Mondrian Connection Reference seleccionamos la conexión “NorthwindCubeClientConnection”  creada durante la creación del cubo.

Sigue leyendo para ver como seguir usando iReport, Creación de un informe (report) DBOLAP.

Comando find en Linux

jueves, 16 de diciembre de 2010

Hoy vamos a explicar el funcionamiento de uno de los comandos más útiles, el comando find en Linux. El comando find se utiliza para buscar archivos en un sistema Linux. Asimismo, el comando find en Linux permite buscar archivos por nombre, grupo, tipo, permisos, fechas, etc. Por ello, es una herramienta muy potente para realizar búsquedas de una forma muy rápida y sencilla.

Cabe destacar que la búsqueda se realizará en todos los subdirectorios que estén dentro del directorio que estamos buscando. Aparte de este tutorial, podemos ver información detallada sobre el comando find en Linux si escribimos lo siguiente en la terminal:

man find
La sintaxis del comando find en Linux es la siguiente:

find <-directorio-búsqueda-> <-expresión->
Si escribimos simplemente find en la terminal, realizará una búsqueda de todos los ficheros que existen en el directorio en el que estamos y también en todos los subdirectorios. Asimismo, escribir los siguientes comandos tendrán el mismo resultado que acabamos de comentar:

find . -print

find -print

find .

La búsqueda más habitual con el comando find en Linux suele ser una búsqueda por nombre de archivo. Para ello, si por ejemplo queremos buscar los ficheros que tengan como nombre “log.txt”, estando en el directorio en el cual queremos realizar la búsqueda, escribiremos lo siguiente:

find . –name log.txt
Si existe algún archivo con ese nombre, nos aparecerá listado.

Si por ejemplo queremos realizar la misma búsqueda en todo el sistema, tendremos que añadir el carácter “/” (directorio raiz). A continuación se muestra un ejemplo:

find / –name log.txt
Es importante que si ejecutamos este último comando lo hagamos con permisos de root, ya que si no el sistema dará errores al intentar buscar en carpetas en las que no tenemos acceso. Recordar que si queremos hacer cualquier búsqueda en todo el sistema con el comando find en Linux, simplemente tendremos que introducir el carácter “/” de la forma que hemos explicado.

Se puede dar el caso de que no conozcamos la extensión de un fichero o por ejemplo queramos buscar todos los archivos que tengan la palabra “log” en su nombre de archivo. Para ello, podemos realizar una búsqueda como esta:

find . –name *log*
Con esta expresión le estamos indicando que busque todo lo que tenga la palabra "log". Introduciendo un asterisco (‘*’) por delante y por detrás de la palabra “log”, le estamos indicando que busque cualquier archivo que tenga la siguiente estructura: “cualquier texto” log “cualquier texto”. Por ello, encontrará ficheros que se llamen “logservidor” o “servidorlog”, por ejemplo.

Podemos utilizar esta misma técnica si por ejemplo queremos buscar todos los ficheros de un tipo de extensión. A continuación veremos un ejemplo en el cual encontraremos todos los archivos “.html” gracias al comando find en Linux:

find . –name *.html
Otra opción muy útil del comando find en Linux, es el poder ver qué archivos se han modificado en las últimas horas o minutos. Se suele utilizar el comando –mmin para minutos y el comando –mtime para ciclos de 24 horas. Esto se ve mejor con unos ejemplos. Si por ejemplo queremos ver qué archivos han sido modificados en los últimos 20 minutos, podremos ejecutar lo siguiente:

find . -mmin -20
Por otro lado, si queremos ver que ficheros han sido modificados entre hace 6 y 10 minutos, podremos realizar lo siguiente:

find . -mmin +5 -mmin -10
Trabajar con –mtime es similar, pero como hemos adelantado, se trabaja en ciclos de 24 horas. Por ello, veremos diferentes ejemplos para el comando find en Linux utilizando –mtime. Si queremos saber qué archivos se han modificado en las últimas 24 horas (entre hoy y hace 1 día), lo sabremos de la siguiente forma:

find . -mtime 0
Para conocer los archivos modificados hace menos de 1 día (igual que el resultado anterior):

find . -mtime -1
Si queremos conocer los archivos modificados entre hace 24 y 48 horas:

find . -mtime 1
Por último, para ficheros modificados hace más de 48 horas:

find . -mtime +1

Las combinaciones de uso del comando find en Linux son casi infinitas, por lo que podéis probar y ver la multitud de combinaciones que ofrece.

Fuente de apoyo

[HUMOR] Complejidad de las contraseñas

miércoles, 15 de diciembre de 2010

Hoy venimos con un poco de humor para entreteneros un rato... Cada vez va a ser más fácil romper una contraseña por fuerza bruta :)


Visto en linuxhispano

iReport, Creación de un informe (report) relacional

martes, 14 de diciembre de 2010

Con este tercer tutorial de la serie JasperSoftware herramienta OpenSource para Business Intelligence, vamos a aprender a crear un informe de una base de datos relacional con iReport.
Antes de nada ponemos en marcha JasperServer y abrimos la herramienta iReport.

Conexión a la base de datos
Haremos click en el botón que muestra la imagen. De esta forma crearemos una conexión a la base de datos.

Configuraremos la conexión tal y como se muestra en la imagen. En este caso estamos conectando a una base de datos en MySQL que se llama northwind_dbo que tendrá que existir previamente (podeis ver como crear la base de datos en el tutorial "JasperETL, Creación de un data warehouse"). Testeamos que la conexión es correcta (mediante el botón “Test”) y pincharemos en “Save”.

Sigue leyendo para ver como usar iReport, Creación de un informe (report) relacional.


Crear procedimiento almacenado Oracle

lunes, 13 de diciembre de 2010

Hoy vamos a ver cómo crear un procedimiento almacenado en Oracle, uno de los sistemas gestores de base de datos más completos del mercado. Antes de nada, comenzaremos con la sintaxis de un procedimiento almacenado de Oracle:


CREATE [OR REPLACE] PROCEDURE nombre_procedimiento ([parametros])

IS

[zona de declaraciones]

BEGIN

[zona de ejecución]

EXCEPTION

[zona de excepciones]

END nombre_procedimiento;

Como podéis ver, el procedimiento está dividido en diferentes secciones:
  • Parámetros: a la hora de crear un procedimiento almacenado de Oracle, podemos declarar parámetros de diferentes tipos (NUMBER, VARCHAR, etc) y estos pueden ser de entrada (IN), salida (OUT) o incluso de entrada y salida (INOUT).
    • IN: Se utiliza como un parámetro de entrada para el procedimiento almacenado. No se puede cambiar la información de este parámetro dentro del procedimiento.
    • OUT: Se utiliza como parámetro de salida en el procedimiento almacenado. Se puede cambiar la información de este parámetro dentro del procedimiento.
    • INOUT: Se utiliza como parámetro de entrada y de salida. Se puede cambiar la información de este parámetro dentro del procedimiento.
  • Zona de declaraciones: utilizaremos esta sección del procedimiento para declarar las variables que necesitemos utilizar en el procedimiento.
  • Zona de ejecución: en esta sección va la lógica del procedimiento, es decir, la parte de la aplicación que se ejecutará.
  • Zona de excepciones: se utiliza para el tratamiento de excepciones del procedimiento.

Una vez explicada la sintaxis, veremos un ejemplo muy sencillo:


CREATE OR REPLACE PROCEDURE SUMA_NUMEROS (primer_numero IN NUMBER, segundo_numero IN NUMBER, resultado OUT NUMBER)

IS

BEGIN

resultado:=primer_numero+segundo_numero;

END;

En este procedimiento almacenado, simplemente le daremos 2 números (primer_numero y segundo_numero), realizamos una suma y devolvemos el resultado. Destacar que primer_numero y segundo_numero son parámetros de entrada (IN) y que resultado es un parámetro de salida (OUT).

Para poder llamar a este procedimiento y probarlo, podemos hacer lo siguiente:


DECLARE

resultado int;

BEGIN

SUMA_NUMEROS(20,30,resultado);

dbms_output.put_line('Resultado de la suma: ' || resultado);

END;

En esta llamada, le indicamos que queremos sumar los números 20 y 30. Por ello, ejecutando estas últimas líneas podremos ver por el "output" el siguiente texto: "El resultado de la suma: 50".

Esperamos que con este sencillo ejemplo haya quedado claro cómo crear un procedimiento almacenado en Oracle.

Los mejores links de la semana - Diciembre semana 2

domingo, 12 de diciembre de 2010

Se acerca la Navidad y hoy os traemos los mejores enlaces de esta semana:

Evolución Geek

sábado, 11 de diciembre de 2010

Hace unos meses os presentamos una encuesta en la cual el sistema os indicaría si erais geek, nerd, dork o simplemente eráis tipos normales.

Hoy no vamos a presentaros otra encuesta de este tipo, sino un diagrama en el cual podréis ver de forma humorística la evolución de los geeks, de donde provienen y sus diferentes variantes.

Click sobre la imagen para verlo en grande.

En mi opinión, el más gracioso el de Steve Hurkel UberGeek.

Y tu, ¿Que clase de Geek eres?

Los ordenadores no discuten

viernes, 10 de diciembre de 2010

Una nueva cita divertida...

Esta vez de Paul Leary, un músico americano. Hay que reconocer que razón no le falta.

Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza.

Paul Leary

JasperAnalysis, creación de un cubo en JasperServer

jueves, 9 de diciembre de 2010

Con el post de hoy voy a continuar con los manuales de JasperSoftware herramienta OpenSource para Business Intelligence que empecé hace unos días. En este manual explicaré la herramienta JasperAnalysis, concretamente como crear un cubo, también veremos como explotar dicho cubo en JasperServer.
Si has seguido estos manuales desde el principio ya habrás creado el data warehouse de Northwind con la ayuda del primer manual "JasperETL, Creación de un data warehouse", si no es así, te recomiendo que lo leas antes de seguir con este. Por lo tanto, para poder hacer este manual y crear un cubo con JasperAnalysis, es necesario tener el data warehouse de Northwind en MySQL.

Para construir el cubo son necesarias dos herramientas: JasperAnalysis-Workbench y Jasper Analysis de Jasper Server que ya tendrás instaladas. JasperAnalysis-Workbench permite crear un schema y probarlo. Por su parte, JasperAnalysis permite crear vistas del cubo.

El resumen de los pasos a seguir para construir un cubo y sus vistas con JasperAnalysis se presenta a continuación:
  1. Crear un Schema con JasperAnalysis-Workbench y probarlo con consultas MDX.
  2. Crear un Datasource con JasperAnalysis (Jasper Server).
  3. Activar un Schema en JasperAnalysis (Jasper Server).
  4. Crear un Analysis Client Connection en JasperAnalysis (Jasper Server).
  5. Crear un Analysis view JasperAnalysis (Jasper Server).
  6. Utilizar Analysis view en JasperAnalysis (Jasper Server).
Sigue leyendo para ver como usar JasperAnalysis, creación de un cubo.

El violinista más Geek

miércoles, 8 de diciembre de 2010

Si hace unos meses os enseñamos un vídeo en el cual veíamos a Teppei Okada (un violinista profesional) tocando la melodía de Super Mario Bros en una partida en tiempo real, hoy os traemos más vídeos de este peculiar violinista.

Donkey Kong:



Super Mario Bros 3:



Super Mario Kart:



Dragon Quest:



Tennis:


Sin duda, todo un artista.

JasperETL, Creación de un Data Warehouse

martes, 7 de diciembre de 2010

En este segundo post sobre Business Intelligence vamos a ver como usar la herramienta JasperETL, para la creación de un Data Warehouse. Para este tutorial, vamos a usar la base de datos relacional Northwind, y con el uso de JasperETL crearemos el data warehouse de esa base de datos.

Antes de anda abrimos JasperETL. Veremos una ventana que indica que se está iniciando.



Si es la primera vez que se inicia JasperETL aparecerá un acuerdo de licencia al que aceptaremos para seguir adelante. Después nos aparecerá una ventana para registrarse. Tendremos que introducir el e-mail y el país, a continuación pincharemos en "validate".


Sigue leyendo para aprender más sobre JasperETL, creación de un Data Warehouse.

Reserva dinámica de memoria (2) - Programación C

lunes, 6 de diciembre de 2010

Hoy volvemos con más ejercicios de programación en C y continuamos con ejercicios de reserva dinámica de memoria. En esta ocasión tendremos que realizar una aplicación que realiza diferentes operaciones y en ellas tendremos que tener en cuenta la reserva dinámica de memoria.

Ejercicio:
Crear un programa que pida una cadena de caracteres, la guarde en memoria y muestre un menú con diferentes opciones:
  • i) Mostrar por pantalla la cadena actual
  • k) Sumarle una cadena de caracteres a la actual (concatenar)
  • e) Eliminar una cadena de caracteres que tenga la cadena actual
  • z) Eliminar toda la cadena a partir de un carácter
  • M) Convertir toda la cadena a mayúsculas
  • m) Convertir toda la cadena a minúsculas
 Para ver el resultado, continúa leyendo.

Los mejores links de la semana - Diciembre semana 1

domingo, 5 de diciembre de 2010

Empezamos este mes tan frío con los mejores links de la última semana:

JasperSoftware herramienta OpenSource para Business Intelligence

sábado, 4 de diciembre de 2010

Con este post empieza una pequeña serie de post en los que voy a hacer una serie de manuales con los que mostraré una herramienta OpenSource para Business Intelligence.

Antes de nada, según wikipedia "Business Intelligence" os "Inteligencia Empresarial" en castellano, es:
El término inteligencia empresarial se refiere al uso de datos en una empresa para facilitar la toma de decisiones. Abarca la comprensión del funcionamiento actual de la empresa, bien como la anticipación de acontecimientos futuros, con el objetivo de ofrecer conocimientos para respaldar las decisiones empresariales.
Las herramientas de inteligencia se basan en la utilización de un sistema de información de inteligencia que se forma con distintos datos extraídos de los datos de producción, con información relacionada con la empresa o sus ámbitos y con datos económicos.
Mediante las herramientas y técnicas ETL (extraer, transformar y cargar) se extraen los datos de distintas fuentes, se depuran y preparan (homogeneización de los datos) para luego cargarlos en un almacén de datos.
La vida o el periodo de éxito de un software de inteligencia de negocios dependerá únicamente del nivel de éxito del cual haga en beneficio de la empresa que lo usa, si esta empresa es capaz de incrementar su nivel financiero, administrativo y sus decisiones mejoran el accionar de la empresa, la inteligencia de negocios usada estará presente por mucho tiempo, de lo contrario sera sustituido por otro que aporte mejores resultados y mas precisos.
Por último, las herramientas de inteligencia analítica posibilitan el modelado de las representaciones con base en consultas para crear un cuadro de mando integral que sirve de base para la presentación de informes.

Actualmente en el mercado existen muchas herramientas que permiten utilizar Business Intelligence (en adelante BI) en la empresa. Quizá una de las más conocidas sea SQL Server de Microsoft pero como no, de pago. Por ello, y aunque seguramente sea menos conocida, nosotros vamos a aprender con Jasper Software.

En los siguientes tutoriales vamos a trabajar con la base de datos relacional Northwind, muy usada en la educación, y todo el pack de Jasper Software. Por ello, os recomiendo que montéis una maquina virtual con Ubuntu y trabajáis sobre ella, la máquina virtual debe tener instalado:
  • Servidor MySQL
  • Máquina virtual de Java
También debéis descargar e instalar lo siguiente de JasperForge:
Está serie de post constará de cuatro manuales:
Nos vemos en el siguiente tutorial.

Gracias a Felix, Unai y David por sus contribuciones a la creación de esta serie de tutoriales.

Juegos Clásicos en Stop Motion

viernes, 3 de diciembre de 2010

Hace ya algunas semanas vimos el vídeo "Un día en Stop Motion", en aquel post aprovechamos para explicar en que consiste la técnica Stop Motion.
En este caso os dejo un vídeo que sin duda ha requerido de mucho tiempo, ya que está hecho con post-it, me pregunto cuántos habrán usado, muchos sin duda.
En el vídeo recrean juegos clásicos como el Pong mediante pos-its.



Fuente: geekol

El Uso de Google

jueves, 2 de diciembre de 2010

En el gráfico inferior vemos cuál es el uso que hacemos de Google. La verdad es que no le falta razón, cuantas veces habré puesto en Google una palabra que no estaba segura de como se escribía, solo para asegurarme. Al fin y al cabo si está escrita en muchas webs, estará bien, ¿no? y sino siempre nos queda el famoso:
"Quizás quiso decir: ..."

Y como no, poner "gmail" para no tener que poner en la barra de dirección toda la URL, menudo trabajo tener escribir ".com".

En fin, parece ser que no siempre usamos Google para lo que realmente está, buscar información, pero bueno ¿para que está Google sino para ayudarnos?


Visto en Listonauta (vía Google Reader de un amigo)

Gamer paga $15,000 por jugar a World of Warcraft

miércoles, 1 de diciembre de 2010

El titular lo dice todo. Un gamer ha pagado 15.000 dólares por jugar a World of Warcraft (o un juego similar) en una pantalla de 250 x 30 metros.

La pantalla en cuestión está ubicada en Beijing (China) y al parecer normalmente se utiliza, entre otras cosas, para mostrar un acuario virtual con peces y tiburones mientras la gente pasea por la ciudad.


Como podéis ver en las imágenes, la pantalla es impresionante. Eso si, también es impresionante el precio que costó la pantalla LED: 32 millones de dólares.

Por último, os dejamos con el vídeo en cuestion en el cual podemos ver al "afortunado" jugando en la mega-pantalla.


Como se suele decir... "Hay gente para todo". ¿Y tu, te gastarías todo este dinero en algo así?

Visto en BeatGeek

Cómo funcionan realmente los proyectos

martes, 30 de noviembre de 2010

Hace nada os presentamos un gran cita sobre captura de requisitos. Hoy os presentamos unas imágenes que muestran "Cómo funcionan realmente los proyectos", proceso en el que entra en juego la captura de requisitos.

Nada lejos de la realidad...



Os recomiendo que veáis el original. Asimismo, os permite crear vuestras propias viñetas en el siguiente enlace.

Comandos administración servidores Linux

lunes, 29 de noviembre de 2010

Hoy queremos presentaros una lista con algunos de los comandos más útiles para administrar servidores Linux.

 
top
Muestra una lista de los procesos en uso del servidor para conocer el uso de CPU, Memoria, ID del proceso, etc. Uno de los comandos más útiles a la hora de administrar servidores Linux.

uptime
Indica el tiempo que lleva el servidor activo desde el último reinicio.

ps aux | grep nombreaplicacion
Este comando es muy utilizado para conocer el ID del proceso (PID) de una aplicación en concreto. En vez de nombreaplicacion introduciremos el nombre del programa o proceso que queramos buscar.

kill -9 PID
Se suele utilizar junto al comando anterior para matar/parar un proceso en concreto. En vez de PID se escribirá el número de proceso que queramos detener.

free
Información sobre la memoria del sistema: memoria total, consumida y libre.

df –h
Utilizado para conocer el estado de los discos duros del servidor: tamaño total, espacio utilizado y espacio disponible.

du –h nombredearchivo
Muy útil para conocer el tamaño de un archivo que se encuentre dentro del servidor. En vez de nombredearchivo introduciremos el nombre del archivo que queramos analizar.

hostname
Indica cual es el nombre del servidor en el que estamos conectados.

date
Muestra la fecha y hora del servidor.

locate nombrearchivo
Permite buscar archivos de una forma muy rápida. Si por ejemplo sólo queremos que nos muestre un número concreto de resultado añadiremos “-n numeroresultados”. Ejemplo en el cual buscamos la palabra log pero queremos que sólo nos muestre los primeros 10 resultados: locate log –n 10

who
Obtenemos la lista de usuarios conectados al servidor

history
Muestra una lista con los últimos comandos ejecutados en el sistema.

cat /proc/versión
Muestra la versión de Linux instalada en el servidor y su Kernel

more nombrefichero
Muestra el contenido de un archivo paginado en vez de mostrar todo el contenido de golpe.

head nombrefichero –n numerolineas
Muestra las primeras líneas de un fichero. Un ejemplo de uso para un archivo llamado log_error y queriendo visualizar las primeras 20 líneas: head log_error –n 20

tail nombrefichero –n numerolineas
Muestra las últimas líneas de un fichero. Este comando es muy útil cuando queremos ver por ejemplo un log de errores y sólo queremos visualizar las últimas líneas del fichero (ya que ahí está el error más reciente). Un ejemplo de uso para un archivo llamado log_error y queriendo visualizar las últimas 20 líneas: tail log_error –n 20


Por último, comentar que esta lista no abarca "todos" los comandos, sino algunos de los que nos han parecido más útiles a la hora de administrar un servidor Linux.

Si crees que en esta lista debería estar algún otro comando, no dudes en escribir un comentario.

Los mejores links de la semana - Noviembre semana 4

domingo, 28 de noviembre de 2010

Hoy domingo, os traemos los mejores enlaces de la semana:
¡Disfrutarlos!

Cita: Captura de requisitos

sábado, 27 de noviembre de 2010

Hace tiempo que no publicábamos nada en nuestra sección de Frases y Citas. Hoy os traemos una a la que podríamos denominar "Captura de Requisitos":

Si hubiésemos preguntado a los usuarios qué era lo que necesitaban, su respuesta habría sido: “caballos más rápidos”.
– Henry Ford, fundador de la Ford Motor Company

Visto en MundoGeek

Estructura y ejecución en el simulador de un proyecto Android

viernes, 26 de noviembre de 2010

Tras haber creado un proyecto Android en Eclipse, basándome en ese proyecto voy a explicar la estructura del mismo y luego vamos a ver como ejecutarlo en el simulador.

En la siguiente imagen vemos la estructura.



  • En "src" tendremos los paquetes del proyecto con las clases Java (como en cualquier proyecto Java que tendgamos".
  • En "gen" se guardan las clases que se generan automaticamente cuando compilamos el proyecto (esta parte no debe preocuparnos mucho).
  • Luego tenemos la librería de Android que hayamos seleccionado.
  • En "res" tendremos, por un lado las carpetas "drawable-xxpi", que son las imágenes que usaremos en nuestro código, cada una de las carpetas es para un tipo de pantalla. En "layout" estarán los archivos xml que describen las interfaces gráficas (explicaré esto más a fondo en otro post). Por último, en "values" tendremos los textos que veremos en la aplicación (para no tener que escribirlos en código y luego sean más fáciles de cambiar, hacer la localización, etc.).
  • AndroidManifest.xml es un archivo muy importante. Ya que en él definimos las propiedades generales de la aplicación. Nos centraremos en él en otro post.
  • default.properties no debe preocuparnos

Sigue leyendo para ver como ejecutar en el simulador el proyecto Android.

[HUMOR] La venganza del móvil

jueves, 25 de noviembre de 2010

¿Se pueden vengar los móviles?
Puedes pinchar en la imagen para verla mejor.


No os perdáis las tomas falsas en sinergiasincontrol.

Nuevo concepto de semáforo

miércoles, 24 de noviembre de 2010

Quién sabe quizá dentro de poco veamos estos semáforos en nuestras ciudades o pueblos.


Hasta ahora, habíamos visto el típico cronómetro que nos índica cuanto tiempo nos queda para pasar. Sin embargo, este nuevo concepto es algo más intuitivo y por supuesto, más original.
En la siguiente imagen veréis cual es todo el ciclo que seguirían estos tipos de semáforos si llegarán a ponerse en las ciudades.
Fuente: geekol

¿Eres de los que rompe o abre la hucha antes de tiempo?

martes, 23 de noviembre de 2010

¿Eres de los que rompe la hucha antes de tiempo? ¿Cuántos cerditos has roto antes de tiempo? Todos hemos comprado una hucha y nos hemos dicho: "Todo el dinero que meta aquí para comprarme ...", pero al final hemos abierto la hucha antes de tener el dinero que queríamos y además lo hemos usado para otra cosa.
Bueno pues ya tenemos la solución a este problema:


La hucha rubik. Eso si, para meter el dinero debemos resolver la cara amarilla y para sacarlo no necesario resolverlo entero, con resolver la cara verde es suficiente. Eso si, si eres de los que resuelve el cubo en 10 segundos, mejor cómprate el cerdito de toda la vida.

Visto en no puedo creer que lo hayan inventado.

Crear un Proyecto Android en Eclipse

lunes, 22 de noviembre de 2010

En el último post sobre desarrollo de aplicaciones para el sistema operativo Android, nos quedamos en como crear tu primer AVD (Android Virtual Device). Con ello terminamos de preparar el entorno de desarollo, por lo que mediante este tutorial voy a explicar como crear un proyecto Android en Eclipse.

Esta primera aplicación será el mundialmente famoso "Hello World", es decir, veremos en la pantalla del móvil la frase "Hello World".

Antes que nada, por supuesto, abrimos Eclipse, entonces seleccionamos "File->New->Project".


En la nueva ventana que se nos muestra, expandimos la opción "Android" y seleccionamos "Android Project" y pulsamos "Next".


Sigue leyendo para ver como crear un proyecto Android en Eclipse.

Las mayores distracciones de Internet

domingo, 21 de noviembre de 2010

Hoy os vamos a presentar el top 5 de las distracciones de usuarios en Internet, o dicho de otra manera, las webs o aplicaciones con las que más tiempo de nuestra vida desperdiciamos... Y tu, ¿Te sientes identificado en este gráfico?


Visto en BeatGeek

Los mejores links de la semana - Noviembre semana 3

sábado, 20 de noviembre de 2010

Acabamos la tercera semana de Noviembre y como todas las semanas os traemos lo mejores artículos:

[HUMOR] Cementerio PACMAN - RIP

viernes, 19 de noviembre de 2010

Para los amantes de Pac-Man... Frikada al canto.

Cementerio de Pac-Man - Rest In Pacman (R.I.P) 


Visto en Losquesaben

Ganadores del segundo Sorteo de Camisetas Geeks

jueves, 18 de noviembre de 2010

En el post de hoy tenemos buenas noticias ya que vamos a presentaros a los ganadores del segundo sorteo de camisetas geek patrocinado por ropageek.

Como se explicaba en las bases del sorteo, el sorteo se ha realizado mediante Random.org, una aplicación web que genera automáticamente los ganadores en base a una lista de participantes.

Para que veáis como se ha realizado el sorteo, os dejo el vídeo a continuación donde se ve quienes han sido los ganadores. Podéis ampliar el vídeo para verlo en detalle:



Como habéis podido ver, los ganadores han sido los siguientes:
  • rocket85
  • fotovideo
Nos hemos puesto en contacto con los ganadores para que me indiquen todos sus datos para poder enviarles la camiseta que eligan. En caso de no obtener respuesta de alguno de ellos en los próximos 7 días, es decir antes del 25 de noviembre de 2010, el premio pasará a los siguientes participantes en el orden obtenido por random.org.

Se van a preparar más sorteos, por lo que estar atentos ya que tenemos muchas sorpresas preparadas para los próximos meses.

¡Muchas gracias a todos y suerte la próxima vez!

Fin del 2º Sorteo de Camisetas Geeks

miércoles, 17 de noviembre de 2010

Tras dos semanas de concurso, hoy día 17 de noviembre a las 20.00 finaliza el segundo sorteo de camisetas geeks patrocinado por Ropageek. Todas las participaciones recibidas a partir del momento de publicación de este post no serán validas.


Gracias a todos los que habéis participado y especialmente a aquellos que habéis ayudado a difundirlo. Desde NoSoloUnix podemos asegurar que ha sido todo un éxito.
Además, las respuestas a la pregunta que planteábamos ¿Qué mejorarias de www.ropageek.com? sin duda ayudará a ropageek a mejorar la web y el servicio que ofrecen.

En las próximas 48 horas publicaremos los nombres de los dos ganadores y nos pondremos en contacto con ellos para comenzar los trámites para la entrega de las camisetas, así que estad atentos.

¡Muchas suerte a todos!

Último día para apuntarse al sorteo de camisetas Geek

martes, 16 de noviembre de 2010

Os informamos que mañana día 17 de Noviembre es el último día para participar en el sorteo de camisetas Geek organizado por la tienda Ropageek.com.

Si aun no has participado y quieres ganar una fantástica camiseta 100% Geek, pásate por el hilo del sorteo. Apuntarse a un sorteo nunca había sido tan fácil. Simplemente tendrás que rellenar un formulario muy sencillo y entrarás en el sorteo de una camiseta que podrás elegir de todo el catálogo de Ropageek.com.

¡No te quedes sin tu camiseta!

Velas Philips Imageo

lunes, 15 de noviembre de 2010

Hoy vamos a realizar un análisis sobre un nuevo gadget que ha llegado a nuestras manos. Se trata de las velas Philips Imageo, un gadget que hará las delicias de muchos de vosotros.

Como su propio nombre indica, se trata de unas velas similares a las de toda la vida con la característica principal de que su iluminación no la da el fuego, sino que las velas utilizan un LED para iluminar.


Antes de adentrarnos en explicar las particularidades de este gran invento, vamos a explicar cómo es y cómo funciona. Las velas Philips Imageo vienen en un pack de 3 velas de cristal de un tacto muy agradable y una base de carga. Esta "base", la cual podréis ver en un vídeo que os mostraremos, se utiliza para cargar las velas y luego poder utilizarlas donde queramos. Por ello, no tendremos que preocuparnos de ponerles pilas a las velas LED, sino que las velas tienen su propia batería y la base actuará de cargador cuando la batería de las velas se acabe.

Dicho esto, la autonomía de las velas Philips Imageo es de 20 horas aproximadamente, por lo que podemos decir que gozan de gran autonomía. Una vez se queden sin batería, las pondremos sobre la base de carga para recargarlas. Esta base se conecta a la corriente eléctrica y utiliza un sistema de inducción para cargar las velas, es decir, solo con poner las velas LED sobre la base comienza su carga. Una vez colocadas en la base, dejaremos las velas Philips Imageo sobre unas 10-12 horas para obtener una carga completa. Debemos decir que la base tiene un diseño muy elegante y aparte de cargar las baterías de las velas, puede usarse para guardar las velas cuando no se estén utilizando.

Por otro lado, debemos destacar el interesante sistema que utilizan las velas Philips Imageo para encenderse y apagarse. Para ello, simplemente tendremos que girar la vela tal y como veremos en el próximo vídeo. Asimismo, fijaros en que el "efecto vela" es increíble, ya que simulan a la perfección la iluminación de un vela original:


Una de las características más interesantes de las velas Philips Imageo en comparación con las velas de toda la vida, es que no tendremos riesgo de quemarnos (y en un caso extremo, quemar nuestra casa), ya que debéis saber que hoy en día, uno de los casos más frecuentes de incendios de casas son a consecuencia de velas de cera. Por ello, si utilizas velas de forma habitual, te recomendamos que pienses seriamente el probar esta nueva tecnología.

Asimismo, es importante resaltar que las velas Philips Imageo son resistentes al agua, por lo que podemos utilizarlas en exteriores y en interiores sin ningún riesgo de que se estropeen.

Estas velas Philips Imageo son muy apropiadas para decoración, alumbrado en nuestros hogares y porque no, para utilizarlas en una velada romántica. Por último, os dejamos con una imagen de las velas Philips Imageo en plena oscuridad.


Esperamos que os haya gustado el análisis y si tenéis cualquier pregunta, no dudéis en escribirnos, estaremos encantados de resolver vuestras dudas sobre este interesante gadget.