sábado, 25 de abril de 2009

Descargar Ubuntu 9.04 Jaunty Jackalope

Ya podéis bajar la ultima versión de Ubuntu 9.04, Jaunty Jackalope desde su web:
www.ubuntu-es.org
La nueva release basada en Debian, Ubuntu,  ya esta disponible desde su web. Este sistema operativo que competira con el próximo Windows 7 arranca en menos de 25 segundos y la activación desde la hibernación o suspensión sera casi inmediata.
Trae el kernel 2.6.28 y mejoras en la conexiones inalámbricas con una mejora en la aceleración gráfica.

Se recomienda bajar el sistema operativo via torrent ya que los servidores están a pleno rendimiento entrar en la web ya cuesta, os dejo los enlaces torrent de las distintas versiones:

Desktop 32 bits: 
Desktop 32 bits alternate: 
Desktop 64 bits: 
Desktop 64 bits alternate: 
Server 32bits: 
Server 64bits: 


miércoles, 8 de abril de 2009

Video tutorial para desmontar la PSP

Vídeo Tutorial de como desmontar la PSP por teknoconsolas, yo lo utilicé para cambiar el joystick que se me jodio. Hacer esto es bastante fácil, pero quitar la pantalla y seguir desmontando hay que tomárselo con paciencia. Suerte!


lunes, 6 de abril de 2009

Funciones Integradas PL/SQL

Os dejo las Funciones integradas más comunes de PL/SQL.

SYSDATE
Devuelve la fecha del sistema
Select SYSDATE from dual;
Se suele utilizar con TO_DATE, TO_CHAR o TRUNC
TO_CHAR(SYSDATE,'DD/MM/YYYY');

TRUNC
Trunca una fecha o un numero, si la expresión es una fecha quita las horas, minutos.. y si es un numero deja la parte entera.
TRUNC(expresion);

TO_CHAR
Convierte a cadena de caracteres la expresión
TO_CHAR(expresion, [formato]);
El segundo parámetro [formato] es opcional e indica el formato de salida de la expresión.

TO_DATE
Convierte a fecha la expresión del primer parámetro
TO_DATE(expresion, [formato]);
En este caso el parámetro [formato] indica el formato de entrada.

TO_NUMBER
Convierte en entero la expresión.
TO_NUMBER(expresion);

NVL
Si el valor de la expresión es NULO, devuelve el valor del segundo parámetro sino devuelve el valor de la expresión
NVL(expresion, valor); (Ejemplo)

DECODE
Es equivalente a una sentencia de control de flujo if-elsif-else
DECODE(expresion,cond1,valor1,cond2,valor2,...,valorN);
Si la expresión valida la cond1 devolverá el valor1, sino y valida la cond2 devolverá el valor2 y si no cumple ninguna condición devolverá el valorN.

LENGTH
Devuelve la longitud de una expresión char o el numero de dígitos de un number.
LENGTH(expresion);

INSTR
Devuelve la posición de una ocurrencia buscada en una cadena.
INSTR(cadena, cadena_a_buscar, [pos_inicial], [iterador]);
[pos_inicial] y [iterador] por defecto valen 1.

REPLACE
Reemplaza un texto por otro
REPLACE(cadena, cadena_buqueda, cadena_reemplazo);

SUBSTR
Devuelve la subcadena indicada por la posición inicial y la longitud.
SUBSTR(cadena, pos_ini, longitud);

UPPER
Devuelve la cadena pasada en mayúsculas
UPPER(cadena);

LOWER
Devuelve la cadena pasada en minúsculas
LOWER(cadena);

RPAD
Devuelve la cadena concatenada con otra por la derecha repitiendo la segunda hasta una longitud determinada.
RPAD(cadena_orig, logitud, cadena_a_concatenar);

LPAD
Igual que la anterior pero por la izquierda.
LPAD(cadena_orig, logitud, cadena_a_concatenar);

RTRIM
Elimina espacios por la derecha.
RTRIM(cadena);

LTRIM
Elimina espacios por la izquierda.
LTRIM(cadena);

TRIM
Elimina espacios por la derecha y por la izquierda.
TRIM(cadena);

MOD
Devuelve el resto de la división entera
MOD(dividendo, divisor);
Ej: Select MOD(22,18) from DUAL;
Devuelve: 4

Si utilizáis otras dejarlas en los comentarios e iré poniéndolas, así tendremos entre todos reunidas las funciones más comunes. Gracias de antemano.

lunes, 16 de marzo de 2009

Administrador de descargas: JDownloader

No se como hasta ahora he seguido bajandome archivos de Internet sin JDownloader, desde que lo descubrí es el único programa que utilizo para descargar archivos. Con un simple entorno escrito en Java el  administrador de descargas JDownloader descarga archivos de megaupload, rapishare, ... o desde cualquier servidor del estilo. Tan solo debes introducirle los enlaces del servidor o la url de la pagina donde están los enlaces y ya el se encarga de descargar los archivos en la carpeta que le indiques. Sencillo y muy practico.



Especificaciones:
Plataforma de código abierto escrita completamente en Java. Esto simplifica la descarta de archivos de servidores como Rapidshare.com o Megaupload.com, no solo para usuarios con cuenta Premium sino también para los que no pagan. JD ofrece descargas múltiples paralelas,
reconocimiento de captcha, extración automática de archivos y mucho más. Por supuesto, JD es gratuito. Adicionalmente, soporta muchos sitios de "encriptacion de enlaces", así que solo tendrá que pegar los enlaces "encirptados" y JD hará el resto. Jd puede importar archivos CCF, RSDF y los nuevos archivos DLC.

Descargalo desde aquí

viernes, 6 de marzo de 2009

Instalación de PHP 5

El primer paso para desarrollar programas en PHP 5 es encontrar un servidor donde hacer las pruebas del programa, hay tres opciones: pagar a un tercero por el servidor (hosting),  montarte tu este servidor o montar lo que yo llamo un servidor de pruebas que es lo que voy a comentar en esta entrada.
Este servidor lo queremos para aprender a programar o simplemente para probar nuestro código.
PHP 5 se distribuye como código fuente, listo para compilar en el sistema operativo que se quiera. Pero para nuestra finalidad que es probar el código vamos a instalar unos paquetes pre-compilados que nos van a facilitar mucho el trabajo.
Vamos a instalar tres programas:
Servidor Web Apache
PHP 5
MySQL 

Instalación en Windows:

He elegido el paquete de aplicaciones XAMPP, simplemente porque tiene todo lo necesario para lo que pretendemos.
En la web www.apachefriends.org puedes encontrar el archivo de instalación, la instalación es como cualquiera de este sistema operativo (siguiente, siguiente, ....).
Cuando lo tengamos instalado aparecerá en Inicio>Programas>apachefriends>XAMPP Control Panel


Tan solo tendremos que darle al botón Start de cada elemento que queramos activar.
Para probar que todo funciona, puedes darle al start de Apache y en el navegador poner localhost, te deberá aparecer la pagina de inicio de XAMPP.

Instalación en Linux:

Los usuarios de Linux saben que cada distribución es un mundo asi que os voy a poner los comandos de la que se basan en Debian.
También voy a instalar el paquete XAMPP, supongo que los que utilicen Ubuntu u otro sistema que tenga gnuLinux se podrá bajar con el administrador de paquetes, si lo hacéis comentarlo!
Bueno, una vez descargada la versión lo tendremos que descomprimir en un directorio:
gzip -d xampp-linux-1.7.tar.gz
Tenemos que volver a descomprimir (.tar.gz)
tar xvf xampp-linux-1.7.tar
Se creara una carpeta llamada lampp
Copiamos la carpeta al directorio /opt 
cp -r lampp /opt
Y ya lo tenemos instalado. Para ejecutarlo (siendo superusiario -sudo-) invocamos el siguiente comando:
/opt/lampp/lampp start
Las paginas las guardaremos en /opt/lampp/htdocs.

En realidad la forma mas recomendable de instalar PHP es compilarlo tu mismo, así tendrás la posibilidad de añadir los módulos y extensiones que quieras o realmente vayas a utilizar. Puedes encontrar más información en www.php.net

miércoles, 18 de febrero de 2009

Administrar los componentes del ordenador: AIDA32


Aida32 es un programa para Windows que proporciona información de los componentes hardware del ordenador. Esta información la podemos guardar en varios formatos HTML, CSV o XML. 

Uno de los puntos más interesantes que nos ofrece este programa es que en la referencia del componente nos muestra la web oficial de este y también un enlace hacia la página de controladores para actualizarlos. También en forma de notas nos muestra diferentes sugerencias para mejorar nuestro ordenador, suelen ser como subir memoria RAM (nunca sera suficiente, jejeje) o actualizar BIOS (cuidadin con esto, si no lo habéis hecho nunca, informaros antes sobre vuestra BIOS).

Cuando instaléis el programa veréis a la izquierda un árbol de contenido, podéis empezar por el que pone Resumen que no es nada más que eso, el resumen de tu ordenador y luego ir componente a componente para ir viendo el modelo y actualizando drivers así como haciendo test de los componentes.

Everest es el software comercial de los mismos desarrolladores y que dispone de la misma funcionalidad de AIDA32. Por lo que veo en internet parece que han dejado de sacar versiones de AIDA32 y se han centrado en Everest, es lo que tiene el dinero que siempre se necesita.

Aquí os dejo una versión de AIDA32, no se cual es la última, ya os digo que ahora ya no se promociona AIDA32 sino Everest si encontrais otra versión más actual avisarme y la cuelgo. Bueno ya me direis que os parece o si habeis tenido cualquier problema ;P

AIDA32 3.75

lunes, 16 de febrero de 2009

Reconstruir indices en oracle

Un índice en oracle normalmente se guarda en una estructura de árbol (B-tree), digo normalmente porque en algunos casos este se guarda en un Bitmap pero se lo tienes que indicar tu cuando lo creas. En esta entrada hablaremos de los índices por defecto, los que se guardan en árbol.
En cada nodo de este árbol se encuentra la información del campo que a su vez es índice y su rowid, no se guarda información de toda la fila solo que fila es (rowid).
Cuando actualizamos y borramos el nodo no se destruye por lo que aunque no crezca la tabla el árbol del índice seguirá creciendo, por eso la importancia de reconstruir el índice.
¿Cuando reconstruir el índice?
Las estadísticas de la BBDD nos lo dirá, lo primero es ver si están actualizadas
-- Donde nb_usuario es el nombre del esquema del usuario ('SYS')
SELECT index_name, last_analyzed
FROM dba_indexed 
WHERE table_owner='nb_usuario'
Para actualizar la tabla lanzamos el siguiente código

-- Esquema es el nombre de nuestro esquema esquema  ('SYS')
Execute DBMS_STATS.gather_schema_stats('Esquema');

Una vez actualizadas las estadísticas lanzamos la siguiente consulta que nos devolverá si tenemos que reconstruir nuestro índice
-- Sustituimos Porpietario por el esquema o propietario que queramos verificar ('SYS')
SELECT index_name, blevel, 
  decode(blevel,0,'OK BLEVEL',1,'OK BLEVEL',2, 
  'OK BLEVEL',3,'OK BLEVEL',4,'OK BLEVEL','BLEVEL HIGH') OK 
FROM dba_indexes where table_owner='Propietario';

Si para el indice en cuestión que estamos viendo si tenemos que reconstruir en la columna "OK" aparece BLEVEL HIGH deberemos reconstruir ese indice.
Este nivel indica el número de veces que ORACLE ha tenido que reducir la búsqueda en ese indice. Si el valor esta por encima de 4 debería ser reconstruido.

Reconstruir el índice:
ALTER INDEX REBUILD

Debes tener en cuenta que para realizar la reconstrucción del índice deberíamos tener una cuota suficiente sobre el tablespace.
Para reconstruir una partición de un índice
ALTER INDEX REBUILD PARTITION NOLOGGING;

Hay veces que los índices están corruptos y no nos deja reconstruirlos, entonces la solución seria borrarlo y volver a crearlo