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