ReceTasEusk31-40

De GhostWiki
Saltar a: navegación, buscar

HomePage | Zer da e-ghost? | Proiektuak | GhostWiki | Erremintak | Dokumentuak | Errezetak | Ghosteka | Ikastaroak | Estabaidak | Bilerak | Estekak | Prentsa | Kontaktua | Umorea | GhostLog | Ikasgaien Alternatibak | Gazteleraz


Amamaren errezetak (31tik 40ra)

Atal honetan mundu guztiak dakizkien baina inork gogoratzen ez dituen ohiko trikimailu horiek ikusi ahal izango ditugu. Errezeta bat gehitu nahi baduzu, informa zaitez gure posta zerrendan nola egiten den. Nola egiten den jadanik jakinez gero, gehitu ezazu errezeta berria hemen.

Errezetak, 31tik 40ra


#40._Errezeta

'Izenburua': PHP Argazki Galeria (Argazkien Dimentsioak Aldatu)

'Egilea': Txupete

'Prólogoa': Askotan gure web orriak abandonaturik geratzen dira ainbeste denbora eskatzen duen orria mantentzeko denbora eskas daukagulako. Horresegatik lana arintzeko hemen duzue PHPez eginiko Argazki Galeria, bertan egin beharreko gauza bakarra argazkiak ftp bidez fitxategi batean sartzea da.

Kodeak egiten duena zera da: Fitxategia irakurri, irudi bakoitzeko irudi txiki berri bat sortu (thumb) eta taula baten barruan jarri (nere kasuan 3xn taulan). Ikusi daitekenez kodea aldatzea nahiko erraza da, adibidez, taularen ezaugarriak aldatzea.

Kode hau ibiltzeko PHPz gain zure zerbitzariak GD2 liburutegiak instalaturik eduki behar ditu.

Suposatu dezagun argazkiak /home/user/miweb/fotos/ fitxategi barruan daudela. Honen barruan beste fitxategi bat sortuko dugu thumbs/ izenekoa (/home/user/miweb/fotos/thumbs/), irudi txikiak bertan gordeko ditugularik.

'Kodea':

<?php

   function thumbjpeg($imagen) {
    // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
    $dir_thumb = "thumbs/";
    // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
    // el thumbnail se llamaría "tn_imagen1.jpg"
    $prefijothumb = "tn";
    $camino_nombre=explode("/",$imagen);
    // Aquí tendremos el nombre de la imagen.
    $nombre=end($camino_nombre);
    // Aquí la ruta especificada para buscar la imagen.
    $camino=substr($imagen,0,strlen($imagen)-strlen($nombre));
    // Aquí comprovamos que la imagen que queremos crear no exista previamente
    if (====fileexists($camino.$dirthumb.$prefijo_thumb.$nombre)) {====
         $img = imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre
n");
         // miramos el tamaño de la imagen original...
         $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre
n");

// intentamos escalar la imagen original a la medida que nos interesa if($datos1 < $datos0){ $altura = 100; } else{ $altura = 125; }

         $ratio = ($datos1 / $altura);
         $anchura = round($datos0 / $ratio);
         // esta será la nueva imagen reescalada
         $thumb = imageCreate($anchura,$altura);
         // con esta función la reescalamos
         imagecopyResized ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos0, $datos1);
         // voilà la salvamos con el nombre y en el lugar que nos interesa.
         imagejpeg($thumb,$camino.$dirthumb.$prefijothumb.$nombre);
    }

}

?>
<table border"0" width"100%">
<?php
$i=0;
?>
<?php $handle=opendir("/home/user/miweb/fotos/")?>
<?php while ($file = readdir($handle)):?>
<?php if ($file===='.' and $file!'..' and $file!'thumbs' and $file!'index.php'):?>====
<?php if ($i0) {?>
<tr>
<?php }
$imagen = $file;
thumbjpeg($imagen);
?>
<td  width"33%" align"center"><a href"<?php echo ($file); ?>" target"blanck"><img src"thumbs/tn<?php echo ($file); ?>" border"0"></td>
<?php
$i++;
if ($i3) {?>
</tr>
<?php
$i=0;
} ?>
<?php endif?>
<?php endwhile?>
<?php closedir($handle)?>
<? if ($i1){?>
<td width="33%"></td>
<td width="33%"></td>
<tr>
<?php } ?>
<? if ($i2){?>
<td width="33%"></td>
<tr>
<?php } ?>
</table>

#39._Errezeta

'Título': Cómo conectar una tarjeta de video a la tele

'Autor/a': Bardok

'Prólogo': Bajarse pelis de Internet (de manera legal, por supuesto, como yo hago ;-) y verlas en el ordenador, está muy bien, pero... ¿no os molaría más verlas sentados en el sofá de la sala, en la tele? Y si tenemos Home Cinema, y se escucha el sonido por los 5 altavoces, aunque no sea Dolby... ¿no molaría también? Pues bueno, esta receta pretende que vayamos poniendo aquí nuestro "conocimiento" sobre cómo hacerlo con diferentes tarjetas de video, de modo que, si alguien lo sabe hacer con una tarjeta de video que no esté en la lista (yo empiezo con una GeForce 4), edite esta recetilla y lo meta. Pues eso.

'Tarjeta': Geforce 4, y tarjetas GeForce con conector S-Video

'Por': Bardok

'Modo':

La conexión es muy sencilla, siempre que dispongamos de una tele con Euroconector.

Lo primero que tenemos que hacer, es comprar un "kit de cables" (en Eroski, sección de informática, por 50 Eypos), que tenga: 1 conector S-Video a S-Video, 1 cable de Jack a Audio Stéreo a Audio Compuesto, un adaptador de S-Video/Video Compuesto a Euroconector.

Conectamos la salida S-Video de la tarjeta (que es como una PS/2, pero con un par de agujeros más), a la entrada S-Video del adaptador, y enchufamos el Jack de Auriculares de la tarjeta de sonido al adaptador para Audio Compuesto, y los dos canales del cable, a las entradas de audio del adaptador. Si tenemos otro sistema de altavoces mejor (Minicadena, Home Cinema), podemos enchufar el cable de Audio a la entrada Aux del sistema de sonido.

Ahora, enchufamos el Adaptador a la entrada de Euroconector de la tele, y encendemos el ordenador, seleccionamos en la tele "AV-n" (el número que sea el euroconector), y ¡tachan==== ¡Linux en la tele!====

Lo más probable, es que veamos todo en blanco y negro (a no ser que la tele soporte NTSC). Para ver el color (lo más probable es que pierda algo de color, pero bueno), editamos el XF84Config-4 (o como se llame en vuestro sistema), y en la sección "Device" de la tarjeta de video, añadimos:

Option "TVStandard" "PAL-B" (en la documentación de NVidia vienen los modos, dependiendo del país, aquí, PAL-B)

Reiniciamos, y ya está, en color... ahora ajustamos el volúmen (se oirá bajito en principio), ponemos nuestro reproductor favorito a pantalla completa, y ale, al sofá.

En este modo lo que hacemos es duplicar el contenido del monitor en la tele. Si queremos, podemos hacer que la tele sea una extensión del escritorio, pero eso, no sé hacerlo todavía  ;-)


#38._Errezeta

'Título': Usar PostgreSQL como base de Datos en el proyecto de Java

'Autor': Yuki

 'Origen': Sobre todo la pagina de PostgreSQL

'Pasos': 1. Instalar PostgreSQL y crear una Base de Datos. Yo he usado el codigo fuente para instalarlo copiado del INSTALL del .tar.bz2

  Short Version
    ./configure
    gmake
    su
    gmake install
    adduser postgres
    mkdir /usr/local/pgsql/data
    chown postgres /usr/local/pgsql/data
    su - postgres
    /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
    /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
    /usr/local/pgsql/bin/createdb test
    /usr/local/pgsql/bin/psql test
 Con esto tenemos creada la base de datos "test" en el directorio /usr/local/pgsql/data

2. Conseguir el driver para que java funcione con PostgreSQL. Para conseguirlo id a PostgreSQL Driver. Dependiendo de la version PostgreSQL y la de JDK que tengais os tendreis que bajar uno u otro. Yo lo guarde como postgresql.jar en /usr/local/pgsql/share/java/

3. Configurar el CLASSPATH. Poneis en el .bashrc de vuestra home algo como:

    export CLASSPATH = /home/yuki/java/PROYECTO:/home/yuki/java/:/usr/local/pgsql/share/java/"

para que luego al compilar se encuentre el driver y vuestro proyecto.

4. Cargar el driver en Java:

  try {
     Class.forName ("org.postgresql.Driver");
  }
  catch (ClassNotFoundException e) {
  }

5. Conectar a la BD desde java.

   try{
     Connection db = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test","", "");
   }
   catch (SQLException e){
   }


Espero que le sirva a alguien


#37._Errezeta

'Título': Como poner mysql para programar en java y que tire contra mysql

'Autor/a': Saladino

'Origen': Muchas paginas en google ahora mismo no recuerdo ninguna que haya resumido todo bien.
'Ayudita': Para cuando toque instalar mysql: Tutorial de Split sobre Mysql
'Objetivo':

Para toda esa gente que tiene que hacer el proyecto de java y sabe que deberia poder hacerlo en linux, con esta receta podra hacer programas que funcionen con una base de datos mysql.

'Pasos:'

1. Instalar mySQL y J2sdk y J2re(yo personalmente los J2.. me los baje de la pagina de blackdown)

2. Bajar el driver de conexion a mysql de jdbc. El driver se puede bajar aquí y se llama connector/J. La documentación del conector se puede ojear aquí

3. Se descomprime el archivo del driver y en una subcarpeta tenemos el driver en si que se llama mysq-connector-java-....-bin.jar, no tenemos mas que añadir el archivo .jar al classpath.

4. Una vez que esta metido el driver en el classpath le tenemos que indicar al server de mysql que acepte peticiones por tcp asi que vamos a /etc/mysq/my.conf y comentamos la opcion skip-networking.

5. Ahora ya solo hay que hacer codigo. En la clase en la que vayamos a hacer la conexion a la BD se mete un "import java.sql.*;"

6. Se carga el driver de la siguiente forma:

try { Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e) { System.out.println("Unable to load Driver Class"); }

7. Una vez cargado el driver solo nos resta hacer la conexion con nuesta BD, supongamos que en mi propio ordenador(localhost) tengo un usuario llamado "java" con password "prueba" y que tiene acceso a la BD que necesitamos que se llama aplicacion. En ese caso la conexion se haria asi:

try{

  String url = "jdbc:mysql://localhost/aplicacion/";
  Connection con = DriverManager.getConnection(url,"java","prueba");
  Statement stmt = con.createStatement();
  query="SELECT * FROM tabla";
  ResultSet rs = stmt.executeQuery(query);
  rs.next();
  variable = rs.getString("campo de la tabla");
  rs.close();
  stmt.close();
  con.close();
  }

catch(SQLException se)

  {
  System.out.println("SQL Exception: "+ se.getMessage());
  se.printStackTrace(System.out);
  }

8. En caso de esperar mas de una linea por consulta habria que meter un bucle empezandolo justo antes de rs.next() y acabandolo antes de rs.close().


#36._Errezeta

'Título': Cómo saber al de cuánto toca runear «fsck», para que no nos pille en apuros

'Autor/a': Aida (ye-ye)

'Origen:' [1].
'Objetivo:'

Para aquellos que tengamos 1153&nIdPage3 "journalism file system" y nos guste estar siempre informados (y nos ocurran molestias como las que describe su autor), he encontrado un script escrito en perl bastante simple que nos permite estar siempre al loro de cuándo toca el "chequeo automático de las particiones" (file system check o fsck).

'Pasos:'

1. Bajarse el script que podemos conseguir de aquí

2. Darle permisos de ejecución:

  $chmod +x mountinfo

Si queremos, podemos añadir el script a nuestra secuencia de arranque para que nos informe cada vez que entremos:

3. Mover nuestro script a /etc/init.d/

4. Añadirlo a la lista de demonios (xD como suena) para que se ejecute cada vez que entremos haciendo (estando en /etc/init.d)

  $update-rc.d mountinfo defaults


'Observaciones:'

1. Ojeando un poquito el script me da que sólo vale para "ext 2/3", nada de ReiserFS ni XFS, si me equivoco.. a corregir, que para algo es wiki-peich :þ

2. Recordar, que el fsck se ejecuta en aquellas particiones, las cuales estén definidas de forma "auto" (se automontan al arrancar) en el archifo "/etc/fstab"


#35._Errezeta

'Tìtulo': Configurar modem Adsl USB de telefonica en SuSE 9.0 en 19 comodos pasos

'Autor/a': Miguel Zubiaga

Objetivo: Hacer funcionar el modem Mac System Messenger ADSL USB, distribuído en Europa por Vitelcom bajo la denominación de EPS 5002 USB. (pisapapeles azul de telefonica): Distribucion: SuSE 9.0; Kernel: 2.4.21-99-athlon; Nota: Hacer todo como root;

01-Desinstalar el paquete libusb 0.1.8beta q te viene por defecto con suse 9

02-Paquetes Necesarios:

    linux-atm
    linux-atm-devel
    linux-atm-lib
    libglade
    libglade-devel
    libxml
    libxml-devel
    gcc
    make
    kernel-source
    modutils
    libusb 0.1.6-3 (http://prdownloads.sourceforge.net/accessrunner/libusb-0.1.6-3.i386.rpm?download)
    libusb-devel 0.1.6-3 (http://prdownloads.sourceforge.net/accessrunner/libusb-devel-0.1.6-3.i386.rpm?download)

03- Bajar el Cxacru-2003-10-05-src-tgz (http://prdownloads.sourceforge.net/accessrunner/cxacru-2003-10-05-src.tgz?download)

04- Colocar el Cxacru-2003-10-05-src-tgz en /usr

05- tar -zxvf cxacru-2003-10-05-src-tgz

06- cd /usr/src/linux

07- make mrproper

08- make xconfig y marcar todas las q te dice el manual (http://accessrunner.sourceforge.net/es/linux/manual.html#sec11) (Punto 9.2)

09- make dep

10- make oldconfig

11- make dep

12- cd /usr/cxacru

13- make

14- Al final el make devuelve un error, pero bueno, debe ser algo del panel de control ya q a mi el panel no me tira pero el adsl si, asi que que mas da.

15- Editar el /etc/hotplug/blacklist y añadir al final la linea "usbcam" (sin comillas).

16- Editar el /etc/cxacru , rellendando los campos IP_ADRESS y GATEWAY. (si utilizas Ip-fija, si no echar un vistazo al manual para saber cuales configurar)

17- Editar el resolv.conf para poner las DNS, pero jaja, ese fichero no existia. Asi q pille el resmgr.conf y lo copie renombrandolo como resolv.conf, lo edite, lo borre todo, y puse mis DNS:

nameserver x.y.z.v

nameserver x.y.a.s

18- cxstart.sh para conectar ADSL

19- cxstop.sh para parar ADSL


Mas informacion y rpms para distintas distribuciones/kernels : http://adslinux.iespana.es/adslinux/



#34._Errezeta

'Título': Cómo "purgar" los archivos de configuración de paquetes desinstalados sin --purge

'Autor/a': Álvaro Marín

Al hacer un 'apt-get remove paquete', como tenemos comprobado, no se borran los archivos de configuración o los rastros que deja dicho paquete en nuestro sistema. Para borrarlos, normalmente usamos el --purge. Pero qué pasa con los paquetes ya desinstalados y con los que no hemos usado dicha opción? Para borrar todos los archivos de éstos, bastará con ejecutar como root:

COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P

Fuente: Knoppix Remastering HowTo


#33._Errezeta

'Título': Cómo configurar una tarjeta wireless USR 2210 de 22 mpbs (chipset Texas Instruments)

'Autor/a': Pedro Gutierrez

El software necesario es el paquete wireless-tools. Kernel 2.4.2?, dentro del kernel debemos activar las siguientes opciones

Network device support -->
	Wireless LAN (non-hamradio) -->
		* Wireless LAN (non-hamradio)
	PCMCIA network device support -->
		* PCMCIA network device support
		* Pcmcia Wireless LAN

Además hay que bajarse el driver acx100 de internet mediante CVS, lo que yo hice fue un apt-get install de cvs e introduje las siguientes líneas (http://acx100.sourceforge.net/download.html):

 $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/acx100 login
 $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/acx100 co acx100

Cuando te pide el password pulsas enter. Ayer y hoy no me ha funcionado lo de bajarme el driver, igual tienen algún problema en el servidor.

Una vez ejecutadas esas dos líneas se nos habrá creado una carpeta acx100 en el directorio actual. Dentro de este directorio hay un directorio que se llama firmware, donde deberemos introducir tres ficheros que debemos obtener de windows (WLANGEN.BIN, RADIO0d.BIN y RADIO11.BIN), suelen encontrarse en windows/system32 o windows/system32/drivers.

Ahora compilamos el módulo "$ make " dentro de la carpeta acx100, cuando haya terminado ya tenemos el módulo compilado y sólo nos queda cargarlo, que se realiza de la siguiente forma: con la tarjeta PCMCIA introducida en la ranura(un paso importante :-DD), dentro del directorio acx100 ejecutamos:

$ insmod src/acx100pci.o firmwaredir=firmware

(aconsejo realizar la carga del módulo desde las X pq en la consola comienzan a salir un motón de letras q te la dejan un pelín tostada)

Bien ahora ejecutamos iwconfig wlan0 mode managed essid NOMBRE_AP (El mode managed en el caso de tener access point).

Por último un "$ ifup wlan0", wlan0 lo habremos definido en /etc/network/interfaces, cuando acabeis de utilizar la tarjeta yo hago un ifdown wlan0 (el driver no es perfecto, pero está currado ;-D).


#32._Errezeta

'Título': Cómo configurar una máquina GNU/Linux para que enrute el tráfico desde y hacia Internet

'Autor/a': Fernando Urien (Zefe), tomado de bulmalug

1º Activar el reenvío de paquetes:

# echo 1 > /proc/sys/net/ipv4/ip_forward
$ cat /proc/sys/net/ipv4/ip_forward
1

2º Limpiaremos las reglas del iptables:

# iptables --flush
# iptables --table nat --flush

3º Activaremos el NAT con enmacaramiento en las reglas del iptables:

# iptables --table nat --append POSTROUTING   --out-interface ppp0 -j MASQUERADE
# iptables --append FORWARD --in-interface eth0 -j  ACCEPT

Con tan solo esto ya tendremos nuestro servidor linux, haciendo de proxy/router/gateway, de forma que podremos acceder desde cualquier ordenador a Internet. Evidentemente necesitaremos tener activado en el kernel el iptables, el módulo NAT y cargado este módulo:

modprobe iptables_nat.

Luego solo falta configurar los ordenadores clientes, poniendo como gateway la ip del servidor que acabamos de configurar.


#31._Errezeta

'Título': Cómo buscar en el diccionario de la RAE desde la shell

'Autor/a': Pablo Garaizar Sagarminaga (txipi), tomado de barrapunto

Muy fácil, pero muy chulo. Crea un script que se llame rae (o como te dé la gana) y guárdalo en un directorio que esté en tu path, con el siguiente contenido:

#====/bin/bash====
lynx -dump --nolist "buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_ HTML2&LEMA"$1

Así, cuando tengamos alguna duda...

argon@txipi~$ rae feo
  feo, a.
        (Del lat. foedus).
        1. adj. Desprovisto de belleza y hermosura.
        2. adj. Que causa desagrado o aversión. Acción fea.
        3. adj. De aspecto malo o desfavorable. El asunto se pone feo.
        4. adj. En el juego, se dice de las cartas falsas.
        5. m. coloq. Desaire manifiesto y grosero. Le hizo muchos feos.
        6. m. coloq. Col. Miembro de la Policía secreta.
  OS V.
        bicho feo
        sexo feo
          Real Academia Española © Todos los derechos reservados

La última línea sucks un poco, pero bueno, así de rancios son los de la RAE ;-D