miércoles, septiembre 20, 2006

1 año de USERS Linux GRATIS

Vaya ironías XD, hoy andaba por el cine y compre la revista de USERS Linux, tomamos un café con mi hermana, yo pedí un helado de café xD ( la verdad no recuerdo como se llama ), mientras le daba una revisadita a la revista. Llego la hora de entrar al cine, compranos un combo y un hotdog (sin comer, aunque seá el hotdog de platico sabe bueno) y entramos a ver la de la dama en el agua (algo media mafufa, pero en fín xD)..

Llegué a casa y navegaba por las páginas que comúnmente visito y da la casualidad que USERS Linux da como regalo sus publicaciones del primer año en formato PDF bajo licencía CC...

Para descargar: http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/menu.htm

Bueno ahi se las dejo y que les seá de provecho, yo deseando que salga bien en el examen de Matemáticas IV XDDDDDDD =PPPPPPPPP..

miércoles, septiembre 13, 2006

Día 256, día del programador =P

Leyendo en Cofradía digital me encontre con que hoy es día del programador xD: http://es.wikipedia.org/wiki/Dia_del_Programador

Así que ps, felicidades a todos los programadores :D y de paso les dejo un pequeño programa usando POO ( que realmente no hace mucho xDDDDD)..

stringclass.h

//Evita la inclusion multiple del archivo de encabezado


#ifndef STRINGCLASS_H
#define STRINGCLASS_H

class Cadena{
protected:

char *texto;
unsigned int tamano;

public:

Cadena();
Cadena(int _tamano);
Cadena(char *_texto);
~Cadena();

char *Asignar(char *_texto);

char * operator = (char *_texto);
char * operator +=(char *_texto);

char *Texto();

void imprimir();

unsigned int tam();
};

#endif

stringclass.cpp


#include<stdio.h>
#include<stdlib.h>

#include "stringclass.h"

Cadena::Cadena(){
texto = NULL;
tamano = 0;
}

char *Cadena::Asignar(char *_texto){
tamano=0;
int j;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto=(char *)realloc(texto,tamano+1);
for (j=0; j<tamano ;j++)
texto[j]=_texto[j];
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;

}

Cadena::Cadena(int _tamano){
tamano=_tamano;
texto = (char *)malloc(tamano+1);
}

Cadena::Cadena ( char *_texto){
int j=0;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto = (char*)malloc(tamano);
for ( j=0; j<tamano; j++){
texto[j]=_texto[j];
}
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;

}
}

char *Cadena::Texto(){
if(texto)
return texto;
return "";
}

unsigned int Cadena::tam(){
return tamano;
}

void Cadena::imprimir(){
printf("El texto es: %s\n",texto);
}

Cadena::~Cadena(){
if(texto)
free(texto);
}

char *Cadena::operator =(char *_texto){
int j;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto=(char *)realloc(texto,tamano+1);
for ( j=0 ; j<tamano; j++)
texto[j]=_texto[j];
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;

}

char *Cadena::operator += (char *_texto){
int tam=0;
int j;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
while (texto[tam]!=0)
tam++;
if ( (tamano) && (tam)){
texto=(char *)realloc(texto,tam+tamano+1);
for ( j=0; _texto[j]!='\0' ;j++)
texto[tam+j]=_texto[j];
texto[tam+j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;
}


stringmain.cpp


#include<stdio.h>
#include<stdlib.h>

#include "stringclass.h"

int main(){
system("clear");

//Crea objetos

Cadena str1;
Cadena str2(10);
Cadena str4;

//Asigna valores

str2.Asignar("Jorge");
str1.Asignar("Hola como estas?");
str4 = "Buenos dias";
str4 += " Hola";

// Imprime valores

str2.imprimir();
str1.imprimir();
str4.imprimir();

//Usando método tam de la clase Cadena

printf("El tamanio de srtr2 es %d \n",str2.tam());

//Usando método Texto de la clase Cadena

printf("El texto de srtr2 es %c ",str2.Texto());

getchar();

return 0;

}

Para compilar: g++ stringclass.cpp stringmain.cpp -o stringclass

Yo por el momento ya empezaron las clases después de un rato de estar en paro xD, lo único relevante es la matería de estructura de datos, en la cuál, nos va a costar un poco ya que manejaremos java (si java, que casí ni nos enseñaron). Además nos traen dando vueltas por lo referente a lo horarios ><", espero cuando menos no salir más allá de las 14:00 Hrs.. ><""

t.|A|. xD

Saludos!!

viernes, septiembre 01, 2006

[ Política] Hablemos del informe y del sr. Lopez xD

Último informe del presidente de México

Qué paso? Nada que no supieramos, a falta de 7 min para que el FOX estuviera presente en el Palacio, los diputados y senadores interrumpieron la sesión y tomaron la tribuna.

Lo chistoso de todo esto fue la inclinación de los diputados y senadores del PRD hacía el movimiento que actualmente está llevando AMLO (el "peje"), consignas como el clásico voto por voto o Obrador! Obrador!. Es realemnte lamentable que en una sesión constitucionalmente clásica existan personas que trabajan por méxico realizando estos absurdos teatritos hacia el exterior. Que aquí eso ya erá lo de menos que esperabamos, pero en fín, el Presidente llego y cómo no pudo leer su informe, pues simplemente se presento y entrego su informe como estípulan las leyes méxicanas.

A las 21:00 Hrs el presidente mando un mensaje bajo cadena nacional, diciendo babosada y media, que para lo único que es cierto es que el país macroeconomicamente no esta mal. Lo que me parecio fastidioso es recalgar una y otra vez la Democracía existente, que posiblemnte no esta del todo estructurada como debería de ser, pero de que existe, existe, quién me lo niega?. Total, el ejemplo claro esta la toma de la tribuna jejeje XDDD, que vaya que eso no se lo hicieron a Salinas.

Sobre el cerco que se mantuvo sobre San Lázaro a fuera del Palacio es el simple resultado de la violencia que se ha dejado ver por los seguidores de la coalición por el bien de todos..

Lo que me gustaría ver es cuando aquellos personajes del PRD tengán que tratar con el presidente electo por el TRIFE ( que posiblemente seá Calderon), tarde o temprano tendrán que abandonar esta postura de apollo unanime al movimiento de AMLO, tarde o temprano tendrán que ponerse a trabajar, acordar tratos, leyes y vaya lo que su trabajo les compete..

Ahora pongamos un pogo de díalogo sobre el sr. Andres Manuel Lopez Obrador (si esta mal su nombre, disculpen xD), en su asamblea permamente (?) ó como se le puede llamar, subrayo el hecho de crear un gobierno representante del pueblo, ha pues que se oye muy chido, pero muchos se pregunta de donde obtendrá este gobierno para trabajar, cobrará impuestos?, de donde sacaran presupuesto para solventar a los estados?. De las instituciones? de esas institucionas que el mismo ha llamado incopetentes e inservibles?.

Para lo único bueno que ha dejado el sr. AMLO desde una vista subjetiva es el acercamiento de la sociedad sobre políticia, si!, si!, es una especie de interes para muchos, por tratar de comprende un poco más sobre lo que pasa en el país, por tratar de investigar, leer, oir o escuchar, ya seá en la televisión, radio, peridicos, internet respectivamente sobre todo lo que pasa actualmente en la vida política de méxico. Poner a la curiosidad de la sociedad sobre nuestros gobernantes, sobre nuestra historia política, sobre la democracía, sobre las fuerzas políticas existentes en nuestro país, etc...
De todo lo descripto anteriormente, ha dejarme llevar por sus actos disfrazados con legalidad ó ha creerme un país méxicano sin pobreza por el simple hecho de que si toma poder cómo presidente vamos a vivir en una especie de Pejelandía, esta muy pero muy retirado :D (afortunadamente), que tampoco mencionar que la inversión es la solución de todos los males pero cuando menos es una parte importante. De eso a que todo suceda en un sexenio futuro ó pasado es realmente patético. Todo absolutamente todo lleva su tiempo y dedicación..

Bueno creo algunos ya se han de haber aburrido de mis palabras xD, posiblemte acertadas algunas y otras tirandole a risa. Se ha terminado el momento de inspiración sobre política y mejor me voy a dormir que mañana hay curso en la Facultad de Mateáticas =P..

Saludos!!

lunes, agosto 28, 2006

HACKED ANIMATION STUDIOS By elvispresley

xDDD

En Hackerss.com ha aparecido el sr. ElvisPresley para ofrecernos animaciones de los usuarios del portal. Hasta ahora van 2 capítulos..
Sin más que decir les dejo el link a las animaciones y el tema en el foro correspondiente :P

Capítulo 1

Capítulo 2

Foro: HACKED ANIMATION STUDIOS

jueves, agosto 24, 2006

[Script PHP] Converter BBCODE/HTML

Hace un par de días me canse XD de estar editando los pequeños howtos, que aconstumbro escribirlos con todo y etiquetas BBCODE para los foros xD..

Así que me di la tarea de escribir un script que me ayudara o cuando menos minimizara esta tarea un poco. Y aquí esta (tiene detallitos, pero ya menciones cuál era mi objetivo =):



<html>
<head><title>Convert HTML/BBCODE</title></head>
<body>
<?php
if (!empty($HTTP_POST_FILES["archivo"]["tmp_name"]) && !empty($_POST['opc']) ){
if ( $HTTP_POST_FILES['archivo']['size'] <= 100000){
$archivo_name=$HTTP_POST_FILES['archivo']['name'];
$dirTmp=$HTTP_POST_FILES['archivo']['tmp_name'];
$extensiones = explode(".",$archivo_name);
$e = count($extensiones)-1;
if($extensiones[$e] == "txt"){
$opc=$_POST['opc'];
$etiquetas = array
("html" => array( "<span style='font-weight:bold;'>","</span>","<pre><nowiki>",
"</pre></nowiki>","<span style='font-style:italic;'>","</span>",
"<span style='font-size:18px;'>","</span>","<a href=","</a>",
"<img src="," />","<blockquote>","</blockquote>",
"<span style='font-size:16px;'>","</span>"),
"bbcode" => array("[b]","[/b]","[code]","[/code]","[i]","[/i]","[size=18]","[/size]",
"[URL=","[/URL]","[IMG]","[/IMG]","[quote]","[/quote]","[size=16]","[/size]"));
$open=fopen($dirTmp,"r");
$text=fread($open,filesize($dirTmp));
$texto=$text;
for( $x=0; $x<=count($etiquetas["html"]); $x++){
if ($opc == 2)
$text=str_ireplace($etiquetas["bbcode"][$x],$etiquetas["html"][$x],$text);
if ($opc == 1)
$text=str_ireplace($etiquetas["html"][$x],$etiquetas["bbcode"][$x],$text);
}

fclose($open);
?>
<form>
<a href="<?php $PHP_SELF ?>">Regresar</a>
<br><b>Texto Original</b><br>
<textarea name=texto rows=21 cols=100><?php echo $texto ?></textarea>
<br><br>
<b>Texto Modificado</b><br>
<textarea name=texto rows=21 cols=100><?php echo $text ?></textarea>
</form>
<?php
}else{
echo "Sólo se permiten archivos con extensión .txt" ;
echo "<br><a href='$PHP_SELF'>Regresar</a>";
}
}else{
echo "El archivo debe ser menor de 100 Kb" ;
echo "<br><a href='$PHP_SELF'>Regresar</a>";
}
}else{
?>
<FORM METHOD="POST" ACTION="<?php $PHP_SELF ?>" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="archivo">
<INPUT TYPE="submit" NAME="enviar" VALUE="Enviar">
<br><br><b>Convertir a:</b>
BBCODE: <input type="radio" name="opc" value="1">
HTML: <input type="radio" name="opc" value="2">
<br><br><b>Asegurate que eligas la ruta del archivo y la opción correcta</b>
</FORM>
<?
}
?>
</body>
</html>
Para poder probarlo localmente (que es como lo utilizo) hay que modificar la configuración de PHP en el archivo php.ini de la siguiente manera y agregar los permisos correspondientes. Todo esto para poder subir archivos a un servidor:

Archivo: /etc/php/apache2-php5/php.ini
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = /tmp

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Asignando permisos al directorio temporal para subir achivos:

##Permisos a /tmp para el usuario y grupo apache

# chown apache:apache /tmp

Saludos!!

sábado, agosto 19, 2006

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

Andaba como si nada navegando por google hasta que me tope con esto: http://stargeizer.blogspot.com/2006/01/epson-cx-1500-bajo-linux.html , enseguida me di la tarea de investigar si el soporte ya estaba mejor que antes, lo cuál habia un soporte clasificado como bueno y no completo, pero que funciona a las mil maravillas :D

Bueno voy a tratar de orientar a los usuarios a poder dar soporte a sus escanners así como yo lo he realizado con la multifuncional Epson Stylus CX1500 (escaner, impresora y copiadora)..

La parte del soporte para la impresora la dejo a un lado ya que no es objetivo del tema, simplemente decir que esta soportada por el paquete guteprint..


http://www.linuxprinting.org/show_printer.cgi?recnum=Epson-Stylus_CX1500

Para dar soporte a la mayoria de escaners necesitamos sane (http://www.sane-project.org/) que es una API.

Como sabes si mi escaner es soportado?

Dirígete a: http://www.sane-project.org/sane-mfgs.html
También esta la versión cvs http://www.sane-project.org/lists/sane-mfgs-cvs.html

Antes de instalar Sane

Si una vez que aseguramos que el dispositivo esta soportado, vamos a verifícar si el escaner es detectado por el kernel. En mi caso es un dispositivo conectdo por USB y el kernel no lota como impresora (será por es impresora también).

Para resumir, si tu impresora se conecta para USB tienes que tener el soporte en el Kernel, al igual forma con SCSI..

Para esto disponemos de varias herramientas como veremos en seguida:


UnderHouse # cat /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: [b]Vendor=04b8 ProdID=080c[/b] Rev= 1.00
S: Manufacturer=EPSON
S: Product=USB MFP
S: SerialNumber=N05060409192322050
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=usblp
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

UnderHouse # lshal | less
udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N050604
09192322050_if1_printer_noserial'
info.udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192
322050_if1_printer_noserial' (string)
printer.description = 'EPSON Stylus CX1500' (string)
printer.product = 'Stylus CX1500' (string)
printer.vendor = 'EPSON' (string)
info.vendor = 'EPSON' (string)
linux.device_file = '/dev/usb/lp0' (string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 2 (0x2) (int)
printer.physical_device = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string)
printer.device = '/dev/usb/lp0' (string)
info.product = 'Stylus CX1500' (string)
info.capabilities = {'printer'} (string list)
info.category = 'printer' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string) linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.1' (string)
linux.sysfs_path = '/sys/class/usb/lp0' (string)



UnderHouse ~ # lsusb
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 002: ID 04b8:080c Seiko Epson Corp.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Si se fijan en lo de arriba ahora ya sabemos con exactitud el nombre del disposituvo y la ruta: /dev/usb/lp0 , además los códigos que identifican al proveedor y el ID del producto..

Instalación de Sane

Primero hay que darnos cuenta que sane maneja dos tipos de paquetes principalmente, uno es el API para los dispositivos llamado sane-backendsy otro es un par de utilerías para el usuario llamado sane-frontends.

Sane-frontends - Algunas de las herramientas que nos proporciona es:

xcam Un GUI para escanear desarrolado en GTK+ me parece.

sane-find-scanner Como su nombre lo dice, es para ver si detecta el escaner, pero como ya vimos que si está soportado no lo considero muy importante. Un ejemplo:


UnderHouse # sane-find-scanner

# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (UNKNOWN vendor and product) at device /dev/usbscanner
found USB scanner (vendor=0x0ac8 [V Micro. Corp.], product=0x0302 [PC Camera]) at libusb:001:003
found USB scanner (vendor=0x04b8 [EPSON], product=0x080c [USB MFP]) at libusb:001:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# `UNKNOWN vendor and product' means that there seems to be a scanner at this
# device file but the vendor and product ids couldn't be identified.
# Currently identification only works with Linux versions >= 2.4.8. You may
# need to configure your backend manually, see the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.


Más información: man sane-find-scanner

scanadf Esta es una que me ha gustado xD, no es necesario ajustar absolutamente nada, solo la ejecutas y te escanea la imagen y la coloca en tu home de tu usuario (Asi de simple, asi de sencillo :P)

Sobre sane-frontends: http://www.sane-project.org/sane-frontends.html


Instalando bajo las fuentes: Baja el paquete en el formato que más te convenga de aquí http://www.sane-project.org/source.html

La instalación de fuentes es normalmente como siempre..

Si tu dispositivo tiene soporte en la versión en desarrollo, tienes las instrucciones para CVS: http://www.sane-project.org/cvs.html

Instalando en gentoo:


# echo "media-gfx/sane-backends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends gimp" >> /etc/portage/package.use

# emerge sane-backends sane-frontends

Configurando dispositivo scanner:

Kerel >= 2.6.3 + Hotplug

Debemos verificar que el scanner este en la lista de sane, debemos buscar con el código del ID del producto que obtuvimos al inicio


UnderHouse ~ # grep 080c /etc/hotplug/usb/libsane.usermap
libusbscanner 0x0003 0x04b8 0x080c 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000



Ahora nos dirigimos a /etc/sane.d/ donde buscaremos el fabricante de nuestro escaner y es el que contendra la configuración del dispositivo

# epson.conf
#
# here are some examples for how to configure the EPSON backend
#
# SCSI scanner:
scsi EPSON
# for the GT-6500:
scsi "EPSON SC"
#
# Parallel port scanner:
#pio 0x278
#pio 0x378
#pio 0x3BC
#
# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner
(or to be more
# accurate, it's device ID) is known to the backend.

## Especificamos el id del producto y del dispositivo

usb 04b8 080c

# For libusb support for unknown scanners use the following command
# usb
# e.g.:
# usb 0x4b8 0x110
# And for the scanner module, use the following configuration:
usb /dev/usbscanner0
usb /dev/usb/scanner0


Ya solo falta agregar nuestro usuario al grupo scanner


UnderHouse ~ # gpasswd -a soullost scanner
Añadiendo al usuario soullost al grupo scanner


En gentoo hay que modificar el archivo /etc/hotplug/usb/libusbscanner, quedando de esta manera:

#!/bin/sh

# This file is part of sane-backends.
#
# This script changes the permissions and ownership of a USB device under
# /proc/bus/usb to grant access to this device to users in the scanner group.
#
# Ownership is set to root:scanner, permissions are set to 0660.
#
# Arguments :
# -----------
# ACTION=[add|remove]
# DEVICE=/proc/bus/usb/BBB/DDD
# TYPE=usb


if [ -z "$DEVICE" ] ; then
IF=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\2:')
DEV=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\3:')
DEV=$(expr $DEV + 1)
DEVICE=$(printf '/proc/bus/usb/%.03d/%.03d' $IF $DEV)
fi

if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
chown root:scanner "$DEVICE"
chmod 0660 "$DEVICE"
fi


# That's an insecure but simple alternative
# Everyone has access to the scanner

# if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
# chmod 0666 "$DEVICE"
# fi


Si tienes el demonio hotplug iniciado, habrá que reiniciarlo

service hotplug restart
/etc/init.d/hotplug restart

Y listo! ya puedes verificar con las herramientas de sane-forntends que todo este funcionando como debe de ser..

Más programas para escanear

- Xsane Este GUI de sane es lo mejor que hay, es bastante configurable y además permite la edición de las imagenes..


UnderHouse ~ # eix xsane
* media-gfx/xsane
Available versions: 0.991
Installed: 0.991
Homepage: http://www.xsane.org/
Description: graphical scanning frontend

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

- Xcam ( sane-frontends) No me gusto tanto como xsane, además al escanear, la aplicación se deforma por que la imagen es demasiado grande :lol:

Free Image Hosting at www.ImageShack.us

- Integración en Gimp

Free Image Hosting at www.ImageShack.us

- Integración en OpenOffice

Free Image Hosting at www.ImageShack.us

Mucha más información en:

SANE - Frontends (Applications) - http://www.sane-project.org/sane-frontends.html
The Scanner HOWTO - http://tldp.org/HOWTO/Scanner-HOWTO/index.html

Saludos!!

sáb 19 ago 2006 11:25:10 MDT

sábado, agosto 12, 2006

[Howto] Administración de Gentoo GNU/Linux

Introducción . Como ya he visto a varios usuarios usando Gentoo como distribución preferida, me pongo a redactar este pequeño articulo de cómo administrarlo con las herramientas y las configuraciones que nos ofrece esta excelente distribución a mi parecer. Por consiguiente, algunas recomendaciones son las que aconstumbro hacer y no están sujetas como obligatorias..

El archivo make.conf

Este archivo contiene toda las información necesaria para que emerge y portage hagan su labor debidamente. Ahora veamos la estructura de una configuración común de make.conf ( osea, la mia xD):


UnderHouse ~ # more /etc/make.conf
# These settings were set by the catalyst build script that automatically built
this stage
# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=pentium4 -pipe"
##-fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
USE="browserplugin nvidia nomalloccheck utf8 apache2 php imap
unicode gtk gpm directfbi foomaticdb nls spell -3dfx -aim alsa
-arts cdr -cjk debug doc -dedicate dga directfb encode fdftk flash
gnome -hardened -icq -jabber java -kde -qt -mmx mpeg msn nls opengl
oss samba svga usb xmms -yahoo nptl aac aalib -acpi apm cups dri fam
fbcon gphoto2 gstreamer hal mp3 -mozilla firefox esd sdl usb"
GENTOO_MIRRORS="http://linuv.uv.es/mirror/gentoo"
AUTOCLEAN="yes"
LINGUAS='es'
CONFIG_PROTECT_MASK="/usr/X11R6/bin/startx"
MAKEOPTS="-j2"
#PORTDIR_OVERLAY=/usr/local/portage
PORTDIR_OVERLAY="/usr/local/portage/xgl-coffee"
FEATURES="parallel-fetch"
INPUT_DEVICES="evdev keyboard mouse"
VIDEO_CARDS="nvidia fbded nv none vesa"
PORTAGE_ELOG_CLASSES="log error warn info"
PORTAGE_ELOG_SYSTEM="save"


CFLAGS: Esta variable contiene las opciones que usa el compilador (gcc) para compilar los paquetes para instalar/reinstalar. Por ejemplo yo tengo estas opciones:
-O2 Es el tipo de optimización
-march=pentium4 Es la arquitectura de mi sistemam, que es com ha visto un pentium 4
-pipe Usa tuberias para la compilación..

Generalmente se recomienda las opciones que generen una optimización segura y efectiva ( si estas opciones son muy agresivas los paquetes pueden llegar a tener errores ). Ahora la pregunta obligatoria, ¿Qué opciones uso para mi sistema?. Bueno hay una lista recomendada en la siguiente dirección: http://gentoo-wiki.com/Safe_Cflags

CHOST: Simplemente es el tipo de arquitectura que uses..

CXXFLAGS: Otra variable más para el compilador, generalmente toma las mismas definidas anteriormente en CFLAGS

USE: Esta es una de las variables que más me gustan :D. El concepto es simple, los paquetes disponen de ciertos soportes, pero que soportes? mirar: http://www.gentoo-portage.com/USE || less /usr/portage/profiles/use.desc

Por ejemplo, para que mis paquetes puedan integrarse al gnome uso la use "gnome" xD, si quiero que mis paquetes tenga soporte para varios idiomas uso la use "nls". Asi mismo para dar soporte escribimos la use tal y cual es, para quitarselo antepnemos un signo menos "-" antes del nombre..

Nota importante: Las USE's definidas en make.conf serán las usadas siempre, osea, emerge al instalar/actualizar el sistema siempre usará los soporte definidos por esta variable, por esos es importante colocar los soportes que queremos que "siempre" tengan nuestros paquetes..

GENTOO_MIRRORS: Simplemente el mirror que usará gentoo para actualizar la BD de portage

AUTOCLEAN="yes" Significa que los paquetes descargados (/usr/portage/distfiles) serán borrados después de un tiempo (no recuerdo bien el lapso, pero creo es cada mes o algo similar)..

LINGUAS='es': Algunos paquetes usan esta variable para dar soporte a ciertos idiomas incluyendo el español :P

CONFIG_PROTECT_MASK: Especifíca que archivos no seran modificados por emerge..

MAKEOPTS: Determina las compilaciones paralelas definidas por la cantidad de CPUS que tengas, en este caso como yo tengo solo un CPU le sumo uno "-j2", en caso de tener un CPU de doble nucleo ponemos "-j3"..

PORTDIR_OVERLAY: Es un directorio opcional para que emerge lo tenga en cuenta para paquetes definidos por los usuarios (ebuilds creados por nosotros, ebuils creados por desarroladores que no son del equipo de gentoo, etc..). Muy útil para pruebas y para agregar nuestros propios paquetes que no se encuentren en la BD de portage.

FEATURES="parallel-fetch": Esta opción habilita el poder bajar paquetes mientras a su vez se compola otro, útil al momento de actualizar todo el sistema..

INPUT_DEVICES: Esta variable la he puesto por el cambio a xorg-7.x, simplemente poner los dispositivos para los que queremos soporte. La lista es:


INPUT_DEVICES="evdev keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc
-dynapro -elo2300 -elographics -fpit -hyperpen -jamstudio -joystick -magellan -magictouch
-microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse
-void -wacom"


VIDEO_CARDS: Lo mismo que lo anterior pero ahora para el soporte de las tarjetas gráficas que queremos tener disponibles. La lista:


VIDEO_CARDS="nv nvidia vesa -apm -ark -chips -cirrus -cyrix -dummy -fbdev
-fglrx -glint -i128 -i740 -i810 -imstt -mach64 -mga -neomagic -nsc -r128
-radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb -tdfx
-tga -trident -tseng -v4l -vga -via -vmware -voodoo"


PORTAGE_ELOG_CLASSES: Integra la herramienta elog para emegerge ( a partir de la versión 2.1 de portage :P ), esta herramienta es de uso obigatorio, cuantas veces nos hemos dado cuenta que al emergear un paquete nos coloca aviso del tipo:


~/.wine/config is now deprecated. For configuration either use
winecfg or regedit HKCU\Software\Wine


Todos estos avisos están puestos para los usuarios, habilitando elog no se nos escapará ni uno solo :D

También bastante útil para los foros y cuando tengas errores..


PORTAGE_ELOG_SYSTEM: Decide donde arrojar estos logs, en mi caso le ponga "save" para que los errores los coloque en /var/log/portage/elog/paquete-x.x.x.

Bueno ya terminamos uno de los archivos más importantes en Gentoo :P

El archivo /etc/portage/package.use

Este archivo de configuración contiene las use que solo queremos para ciertos paquetes en especial..

Por ejemplo en un paquete quiero tener soporte X y en otros no, aqui podemos des/habilitar estas opciones por paquete..


echo "categoria/paquete -X +alsa -oss" >> /etc/portage/package.use


Les muestro un pedazo de mi archivo:


soullost@UnderHouse ~ $ head /etc/portage/package.use
sys-devel/gcc hardened
dev-lang/python -X
net-misc/openssh chroot
net-fs/samba -python
x11-base/xorg-x11 dlloader
app-editors/vim bash-completion vim-with-x
app-editors/vim-core bash-completion
www-client/mozilla crypt debug gnome ipv6 java mozcalendar
mozdevelop -moznocompose -moznoirc -moznomail -moznoxft mozsvg
-postgres ssl truetype -xinerama -xprint
media-video/totem xine
media-libs/xine-lib -X dvd imagemagick vcd vidix win32codecs ffmpeg


El archivo /etc/portage/package.keywords

Si tenemos una rama estable :P, aqui coloquemos todo esos paquetes que por alguna razón preferimos tener los paquetes más recientes en portage..


echo "categoria/paquete ~x86" >> /etc/portage/package.keywords


Les muestro un pedazo de mi archivo:

soullost@UnderHouse ~ $ head /etc/portage/package.keywords
net-im/amsn ~x86
app-emulation/kqemu ~x86
app-emulation/qemu-softmmu ~x86
app-emulation/qemu ~x86
app-emulation/qemu-user ~x86
media-gfx/gimp-print ~x86
net-print/foomatic ~x86
net-print/foomatic-db ~x86
net-print/foomatic-db-engine ~x86
net-print/foomatic-filters ~x86


También podemos escoger versiones de paquetes con los operadores >=. <=, = ..


echo ">=categoria/paquete-version ~x86" >> /etc/portage/package.keywords


El archivo /etc/portage/package.unmask

Contiene todos los paquetes que queremos tener disponibles pero marcados como masked por los desarrolladores de gentoo.


echo "categoria/paquete" >> /etc/portage/package.unmask


El archivo /etc/portage/package.mask

Contiene todos los paquetes que "nosotros" queremos enmascarar para de ninguna forma poder emergearlos


echo "categoria/paquete" >> /etc/portage/package.mask


Buscando paquetes

Yo regularmente uso eix para tal motivo :P


emerge eix


Uso:
eix paquete


Instalando paquetes

Mi procedimiento:

Primero miramos las dependencias de los paquetes y las uses por defecto:


emerge -pv paquete


Si es necesario agrego las uses a package.use, si hay dependencias de paquetes inestables o quiero alguna versión en especial al archivo package.keywords..

Ahora descargo/compilo e instalo:


emerge paquete


Otras formas de instalando paquetes

Podemos saltarnos la parte de agregar paquetes a los archivos package.use, package.keyword, emergeando de las siguientes formas respectivamentes:

USE="gnome -kde" emerge paquete



ACCEPT_KEYWORDS="~x86" emerge paquete



emerge =categoria/paquete-version


Tengan en claro que esta formas son correctas pero que al actualizar el sistema estas no son tomadas, por ejemplo, si instalo un paquete inestable al momento de actualizar todo el sistema, emerge me va a instalar la versión estable del paquete. Lo mismo pasa con las uses, cuando actualize el sistema o reemergee sin especificar nada tomará las uses por defecto en make.conf

Desinstalando paquetes


emerge -C paquete ## -C desinstalar
emerge depclean ## Elimina dependencias rotas
revdep-rebuild ## Arregla librerias rotas


Cuidado con usar depclean, antes de desinstalar dependencias "según inservibles" te manda un listado, verifica que no este ningún paquete importante que puedan corromper el sistema..

Ver dependencias de paquetes

Hay muchas herramientas disponibles en el paquete gentookit, una de ellas es el poder ver las dependencias de las que depende un paquete, por ejemplo para el apache:


UnderHouse ~ # equery depends apache
[ Searching for packages depending on apache... ]
dev-util/subversion-1.3.2-r1
dev-lang/php-5.1.4-r4


Útil al momento de desinstalar paquetes

Nota: Solo disponible para paquetes ya instalados en el sistema :P

Para mirar todos los archivos que componen el paquete apache:


UnderHouse ~ # equery files apache

/usr/share/man/man8
/usr/share/man/man8/ab2.8.gz
/usr/share/man/man8/apache2.8.gz
/usr/share/man/man8/apache2ctl.8.gz
/usr/share/man/man8/apxs2.8.gz
/usr/share/man/man8/logresolve2.8.gz
/usr/share/man/man8/rotatelogs2.8.gz
/usr/share/man/man8/suexec2.8.gz
/var
/var/cache
/var/cache/apache2
/var/cache/apache2/.keep
/var/lib
/var/lib/dav
/var/lib/dav/.keep
/var/log
/var/log/apache2
/var/log/apache2/.keep
/var/www


Más usos de equery:

Usage: equery <global-opts> command <local-opts>
where <global-opts> is one of
-q, --quiet - minimal output
-C, --nocolor - turn off colours
-h, --help - this help screen
-V, --version - display version info
-N, --no-pipe - turn off pipe detection
where command(short) is one of
belongs(b) <local-opts> files... - list all packages owning files...
changes(c) - not implemented yet
check(k) pkgspec - check MD5sums and timestamps of pkgspec's files
depends(d) <local-opts> pkgspec - list all direct dependencies matching pkgspec
depgraph(g) <local-opts> pkgspec - display a dependency tree for pkgspec
files(f) <local-opts> pkgspec - list files owned by pkgspec
glsa(a) - not implemented yet
hasuse(h) <local-opts> useflag - list all packages with useflag
list(l) <local-opts> pkgspec - list all packages matching pkgspec
size(s) <local-opts> pkgspec - print size of files contained in package pkgspec stats(t)
- not implemented yet
uses(u) <local-opts> pkgspec - display USE flags for pkgspec
which(w) pkgspec - print full path to ebuild for package pkgspec


Actualizando todo el sistema

La manera más recomendable es hacerlo de la siguiente forma:

emerge --sync
emerge -uDav --newuse world

Opciones:

-u Actualizar
-D Actualiza dependencias
-av Pregunta antes de actualizar e información extra
--newuse Verifica si hay uses nuevas y si las tenemos especificadas las toma en cuenta..
world XDDDDDDDDD :P

Archivos de configuración nuevos

Cada vez que actualizamos servicios posiblemente nos tire un mensaje que necesitams ejecutar etc-update para actualizar archivos de configuración. Algo similar a esto:


Por favor, seleccione el fichero a editar introduciendo el número correspondiente.
(-1 para salir) (-3 para auto-combinar todos los ficheros restantes)
(-5 para auto-combinar SIN usar 'mv -i'):


Yo siempre recomiendo ver primero los archivos, una vez que te muestros los archivos y las lineas agregadas (++) o quitadas (--) puede decirir si dejarlo como estaba o poner la nueva configuración. Las opciones son:


1) Reemplazar el original con la actualización
2) Borrar la actualización, manteniendo el original inalterado
3) Combinar interactivamente el original y la actualización
4) Mostrar de nuevo las diferencias


Servicos/Demonios

Nomenclatura:

Runlevels: boot default
[] - Opcional
< > - Obligatorio


Para mirar los servicios encendidos:

rc-update -s

Para mirar todos los servicios disponibles:

rc-update -s -v [runlevel]

Para buscar un servicio

rc-update -s -v [runlevel] | grep <servicio>

Para agregar un servicio al inicio del sistema

rc-update add <servicio> <runlevel>

Para quitar un servicio del sistema

rc-update del <servicio> <runlevel>

[b]Script para el clásico: service <servicio> <acción>[/b]


#!/bin/bash

/etc/init.d/$1 $2


Ahora ya podemos usar: service apache start

En lugar de: /etc/init.d/<servicio> start


Archivos de configuración de Servicios

Los archivos de configuración de los demonios del sistema se encuentra en /etc/conf.d/

Perfiles/Actualización de Gcc, Python, Java y Similares

Nomenclatura:

* - En uso

Todos estos paquetes tiene una herramienta para poder usar alguna versión en especifico. Por ejemplo, con gcc podemos ver los perfiles disponibles con: gcc-config -l


[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.3.6-hardenednopie
[3] i686-pc-linux-gnu-3.3.6-hardenednopiessp
[4] i686-pc-linux-gnu-3.3.6-hardenednossp
[5] i686-pc-linux-gnu-3.3.6-vanilla
[6] i686-pc-linux-gnu-3.4.6
[7] i686-pc-linux-gnu-3.4.6-hardenednopie
[8] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[9] i686-pc-linux-gnu-3.4.6-hardenednossp
[10] i686-pc-linux-gnu-3.4.6-vanilla *


Para usar alguna versión especifico necesitamos seleccionarlo de la siguiente manera:

gcc-config <num de perfil> && source /etc/profile

Para java:

java-config -L ## Para mirar las maquinas virtuales disponibles y la que usamos actualmente


[sun-jdk-1.4.2.10] "Sun JDK 1.4.2.10" (/etc/env.d/java/20sun-jdk-1.4.2.10) *
[blackdown-jdk-1.4.2.03] "Blackdown JDK 1.4.2.03" (/etc/env.d/java/20blackdown-jdk-1.4.2.03)


Para cambiar de versión:

java-config -S argument --set-system-vm=blackdown-jdk-1.4.2.03

Ahora para python tenemos: python-updater y python-config

Variables de entorno (PATH)

Estas configuraciones las encontramos en /etc/env.d
Una pequeña descripción de las variables:

PATH Esta variable contiene una lista de directorios separados
por ":" en la cual el sistema buscará los archivos ejecutables.
Al introducir el nombre de un ejecutable (como ls, rc-update o emerge) que no
se encuentre en un de los directorios listados, el sistema no lo encontrará,
(a menos que se introduzca la ruta completa, por ejemplo: /bin/ls).
ROOTPATH Esta variable tiene la misma función que PATH, pero únicamente
contiene los directorios que el sistema debe revisar cuando el usuario root
introduce un comando.
LDPATH Esta variable contiene una lista de directorios separados por
":" en la cual el enlazador dinámico busca para encontrar una librería.
MANPATH Esta variable contiene una lista de directorios separados por
":" en la cual el comando man busca las páginas de manual.
INFODIR Esta variable contiene una lista de directorios separados por
":" en la cual el comando info busca las páginas info.
PAGER Esta variable contiene la ruta hacia el programa utilizado para
mostrar el contenido de los ficheros (como less o more).
EDITOR Esta variable contiene la ruta hacia el programa utilizado para
modificar el contenido de los archivos (como nano o vi).
KDEDIRS Esta variable contiene una lista de directorios separados por
":" los cuales contienen material específico de KDE.
CLASSPATH Esta variable contiene una lista de directorios separados por
":" los cuales contienen las clases de Java.
CONFIG_PROTECT Esta variable una lista de directorios separados por espacio
los cuales deben ser protegidos por Portage durante las actualizaciones.
CONFIG_PROTECT_MASK Esta variable una lista de directorios separados
por espacio los cuales no deben ser protegidos por Portage durante las actualizaciones.


Cada vez que actualizemos estas variables es importante hacer: env-update

Problemas compilando

Mirar: http://www.gentoo-es.org/node/363

Nota: Si utilizan el perfil de gcc realizado por gentoo, siempre traten rebajando la versión o utilizando el perfil por default titulado como vanilla..

Bugs de gentoo para reportar y revisar: http://bugs.gentoo.org && http://bugs.gentoo.org/query.cgi

Links que considero importantes

Foros en español: http://forums.gentoo.org/viewforum.php?f=30
Repositorio web de gentoo: http://packages.gentoo.org/
Recursos de documentación: http://www.gentoo.org/doc/es/list.xml
Gentoo Wiki: http://gentoo-wiki.com/Main_Page
Gentoo y portatiles Toshiba: http://web.gentrinoo.org/
Boletín Semana de Gentoo en español: http://www.gentoo.org/news/es/gwn/gwn.xml
Gentoo español: http://www.gentoo-es.org/

powered by performancing firefox

lunes, julio 17, 2006

Díass y más días

Estoy con un dolor de cabeza bastante fuerte xD me siento mareado y siento ascos xDDD, posiblemente llegando a la deliría..

Ahora no se que decir exactamente XD, de hecho escribo estas pocas lineas por que me dijieron que actualizará y yo muy we xD dije que prometia actualizarlo antes de que terminará este dia xDDDD =""""""""..

En fin, los dias han sido bastante normales, despierto, almuerzo, voy a cursos, regreso, miro la pc, leo un rato y me desvelo =) xD..

Les comentaba sobre unos cursos xD, ps estos cursos son GRATIS!! xD (si no no estuvierá en ellos XDD), bueno son de la uni y forman parte de un proyecto sobre crear aplicaciones educativas, algunas orientadas para calculadora ( hay un convenio me parece con la CASIO).
Por el momento nos estan capacitanto XDDDDD, el curso trata sobre los siguientes temas:

- C++
- ClassLav
- Flash
- FlashCom
- Java (creo)
- PHP

Bueno dependiendo como vean nuestras "destrezas" xD nos van a asignar un puesto en el proyecto xDD ( al menos eso dijieron xD ). Esta bien para pasar un rato ocupado en algo XDDDDD y no pensar en situaciones que me ponen mal :P.

Todo pasa normal aqui XD, ha no, se me olvidaba, arregle mi cuarto xDDDDD, ya tenia rato de no hacerle nada, más bien, meses!!! de no hacerle nada jajajaja xDDDDDDDD. Sigo fumando =) y pensando ideas vagas xD. En ocaciones me da sindrome del zombie ( como dice mi hermana ¬¬), y no es que no quiera dormir, pero hay mejores cosas que hacer que dormir :D.

Hace unos días recordé que hay cosas impredecibles, que unos dias te pueden pasar situaciones increibles y en tan sólo un min. ese panorama se transforma en una terrible incertitumbre y tristezas juntas. También rocordé que cosas tan simples y en ocasiones absurdas pueden llenarte de felicidad y darte las ganas y el aliento para seguir en esta vida ( citando una frase que oí: La vida es un asco, pero la alternativa puede ser peor ).

Ya hasta aqui xD, no suelo escribir sobre mi vida :P y no es que me asuste, pero, no es lo mio XDDDDDDDDD. Por ultimo les dejo una imagen que me paso dna =" y aunque diga el tipo ese que no hiba con su concepto ¬¬, a mi si me gusto =)..

domingo, junio 25, 2006

Google Earth en GNU/Linux

Hacer un par de días le estaba echando el ojo a Google Earth v.4 beta desde mi gentoo =) y va bastante bien..

Para poder descargarlo basta con bajar el paquete googleearth (paquete que ahora mismo sale en la rama inestable) de la siguiente manera:

# echo "x11-misc/googleearth ~x86" >> /etc/portage/package.keywords

Después a emergiarlo

# emerge googleearth


Y es todo =), la navegación es bastante simple y esta en español.Además permite obtener capturas y si tienes una buena tarjeta gráfica la panorama será bastante mejor =).
Yo miré mi ciudad y encontre algunos sitios interesantes...

Mi ciudad
Free Image Hosting at www.ImageShack.us

Por una de estas curvas es donde vivo (la panora desde arriba es diferente, solo reconocí el lugar por la entrada al maxitunel xD)
Free Image Hosting at www.ImageShack.us

Los campos donde realizan algunos partidos de football (mejor conocido como la máquina xD)
Free Image Hosting at www.ImageShack.us

La univerdad ( Instituto Tecnológico de Acapulco :P )
Free Image Hosting at www.ImageShack.us

Ahora mi rumbo será hasta Alemania donde se juega el mundial XDDDDD

Descarga Google Earth (recuerdo que algunas distros ya habian agregado dicho paquete disponible para ubuntu, fedora y gentoo)..

miércoles, junio 21, 2006

México VS Portugal

Son las 6:18 Hrs.. México va ganando 5 goles en contra de portugal, se aproxima al área y gollllllll!!!!!!! si señoress

GOLLLLLLLLLLLLLLL!!!

o.Ou. Se vale soñar como dice el comercial =)))))



Lo que si es cierto es que hoy a las 9:00 Hrs (falta poco) juega méxico y al menos de mi parte espero que juguemos bien y pasemos a octavos, como debe de ser =) (hoy no tengo clases, será que los maestros veran el partido? xD al menos el de matemáticas, si es seguro =).

Pobre de mis amigos y compañeros que exactamente a esa hora estaran realizando un exámen de estadística y probabilidad :D ( yo ya la pase cuando menos con un 81% XD)..

Estoy seguro que tanto el niñito que vende en la tiendita de abajo, como el presidente, calderon, madrazo y hasta los prisioneros xD veran el partido. Asi perdon el peje seguro luego le avisan y ya nos dira con su papelito en mano que tal estuvo XDDD..

Sobre el partido anterior no fué del todo bien, no hubo goles y jugabamos contra una selección definida como debil por ser su primer mundial jugando, pero cuando menos hubo llegadas y algunas ideas (en partidos previos al mundial, ni eso habia, a mi parecer claro :P)..

Asi que buena suerte para la selección :D
Saludos!!

lunes, junio 19, 2006

Películas Gore/Sangre

Un dia andabamos por el cine mi primo con su novia, mi hermana y yo, mientras mirabamos la cartelera disponible ( nada espectacular) me percate de una película titulada Hostel con una clasificación de D xDDD Jajaja. El caso es que la queria ver solo para saber si se merecia la clasificación que le daban *-), al último no vimos nada y nos fuimos a rentar peliculas a BlockBuster :DDD..

Hace un par de días me dieron ganas de bajar la película y además me puso a leer opiniones sobre este tipo de películas que encontre en google XD..

Aquí les dejo los torrents y un pequeño resumen de las primeras que he bajado para ver =), si alguién sabe alguna más que me la recomiende ps adelante :P..

Hostel 2005



Descripción:

D
os compañeros de la universidad: Josh (Dereck Richardson) y Paxton (Jay Hernández) están recorriendo Europa con mochila a la espalda, en compañía de un islandés llamado Oli (Eythor Gudjonsson), a quien conocieron en el viaje y lo trajeron a Ámsterdam a un sitio donde beben heroícamente, fuman marihuana y, si tienen suerte, también encuentran sexo. Mientras están ahí, les dicen que deben ir a Bratislava donde las mujeres eslovacas están locas por los extranjeros, especialmente norteamericanos, dasfortunadamente nunca les dijeron que tan locas están.

Opinión: Esta bien, pero no tanto como para cortarse las venas con pan bimbo o algo similar. La historia te da un giro de 360º, primero estas con unas chavas super buenas x)~~ y después estas viendo sangre, gritos y personas torturadas. En final es lo único que la opaca, es el clásico final estadounidense donde alguién sale victorioso ( en este caso es vengaza)..
Mi hermana decia expresiones como aargg, no manchesss y cara de que se le revolvia el estómago xDDDDDDD.


Saw





Descripción:

Saw es unThriller de terror protagonizada por Cary Elwes, Danny Glover y Dina Meyer entre otros.


Saw empieza con dos hombres encerrados y encadenados en un apestoso baño con las luces apagadas. Al encenderse las luces se ve que a parte de esas dos personas hay un tercer hombre muerto de un tiro en la cabeza con una pistola en la mano y una cinta de video en la otra.

Hay es donde comienza el juego planeado por un misterioso spicopata que consiste en que uno de ellos mate al otro antes de una hora determinada si no quiere ver morir a su familia.

Opinión: No la he visto, pero seguro esta noche esta puesta =)

p.d Para los despistados den click en el título de la película para descargar el torrent (usar programas como azureus, etc). Que las disfrutenn!!! =), por cierto busquen los subtitulos en español por google ¬¬u :P.

domingo, junio 18, 2006

Aviso: Theme nuevo y modificado =)

Como verán he puesto nuevo theme al blog y lo he modificado un poco..
He pasado parte de la madrugada haciendo eso y espero que cuando menos les guste, por el momento hay que modificar algunas cosas más para dejarlo a toque.
Agregué algunas descripciones más sobre mi persona, más que nada para verme obligado a mirar un poco más este espacio XDDDDD..

Se ve bien no?
Ahora para los que quieran hacer algo similar en su blog, miren esta página. Para los gusten el código fuente del theme que bajan pueden encontrar la URL en este parte del theme (de ejemplo el mio):


..type="text/css">
@import url('http://tf6zh12ut5dea96s5zal41s.chez-alice.fr/k2.css');


/************** REMOVE THIS TO UNHIDE THE BLOGGER NAVBAR ****************
**/ #b-navbar {height:0px;visibility:hidden;display:none} /**
*************************************************************************


body {margin-top: 32px !important}
*/


Algunos blogs de ayuda:
http://utilidades.bitacoras.com/
http://elblogdelosblogs.blogspot.com/
http://proyectoblong.blogspot.com

Pronto estaré poniendo un fotolog =)

Ahora a ducharme para quitarme esta cara de desvelado que cargo o.Ou

=*

Sín comentarios, solo lean por favor =)
Por cierto yo no lo escribi, fué la dna y me gusto =)..
Espero te vaya bien sonsa en el exámen de hoy =""


DIA 1, luz radiante

una sonrisa finjida

un desayuno normal

deseos de desaparecer

DIA 2, dia nublado

dolor de cabeza

deseos de verte

deseos de tenerte

que no lo notas?

haciendo confusion en mi

dia a dia me haces sentir diferente

solo quiero salir

quiero que me dejen en paz

talvez no lo comprenderian

no lo haran

DIA 3, he reflexionado

no vale la pena

es algo antinatural

es una fantasia compartida

algo que no podra

deberia dejar esto...

deberia dejar de hacerlo

dejare de quererte

solo provoco mas daño

dejare de hacerlo

solo dejare de pensarte

DIA 4, golpes en la cabeza

no parece tener solucion

deja de criticarme

no me pongas mas problemas

se lo que soy

porfavor...

no me digas que estoy mal

no grites mis errores

DIA 5, si lo quiero

que tiene de malo si

te reconforta?

si te hace sentir bien

que tiene de malo sentirlo?

DIA 6, Ya nada importa

dejare de pensar en los demas

empiezo a decir por mi

te amo...

no siento pena de decirlo

no siento pena de sentirlo

te amo demasiado

hoy solo imaginare

que tu tambien lo haces

y sere feliz...

hoy es perfecto





----*



Este maldito zumbido no me deja dormir, no me deja ser,
no me deja estar, el cielo se cae a cada momento pero
todo dicen que esta bien, yo no lo creo, llevo varios
meses sin mirar la luz; el sol sale, la bombilla no se
ha fundido, pero donde esta la luz... quien se la ha
robado, exijo que me la devuelvan, esto no es para negociar,
cada vez se hace mas tarde

La almohada no deja de criticarme, de juzgarme,
pero yo se que ella esta mas jodida que yo...
lleva 3 meses con la misma funda

Puntos negros, rojos y azules corriendo de un extremo a otro

No descansan, ni yo tampoco



----*

viernes, junio 09, 2006

Soporte Webcams en GNU/Linux

¿Quién dice que no puedes charlar en messenger con webcam o similares?

Esto falso desde hace tiempo :D..

Hace un par de días compré dos camaras web con las siguientes características:

Creative Wecam Instant $375


* Sensor CMOS 352 x 288 (CIF)
* Captura de vídeo de hasta 352 x 288
* Captura de imágenes fijas a 640 x 480 (software mejorado)
* Botón de instantáneas
* Conexión USB 1.1
* Una base flexible de tres patas se coloca sobre una superficie
plana y se fija a un panel plano o a la pantalla de un portátil
* Compatible con Yahoo!® Messenger, AIM, MSN® Messenger,
Windows® Messenger y otras aplicaciones de mensajería instantánea


Samsung Webcam Pleomax $649


# 300k píxeles, color VGA (640 x 480) sensor CMOS
# Micrófono incorporado
# Compatible con archivos MPEG
# No necesita ninguna tarjeta de captura ni adaptador.
# Soporta aplicaciones de video conferencia tipo
Yahoo, Messenger, NetMeeting...
# Plug and Play.
# Disponible en color blanco y negro
# Windows 98/ME/NT/2000/XP
# Puerto USB


Para darle soporte en nuestro Linux necesitamos instalar el driver Spca5xx, con este driver trabajan las dos camaras web..

Antes de instalar debemos asegurarnos de tener la siguiente opción habilitada en el kernel o levantar el módulo vdeodev:

Device Drivers --->
Multimedia devices --->
Video For Linux


Tambíen asegurarse que la versión de gcc que usen seá la misma con la que fue compilado el kernel ( mirar en /proc/version)..

Código Fuente

wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20060501.tar.gz
tar -xvzf spca5xx-20060501.tar.gz
cd spca5xx-20060501
make clean
make
su -c "make install"
modprobe spca5xx


Mi querido Gentoo xD

emerge --sync
emerge spca5xx


Debian y similares

apt-get install spca5xx-source



Paquetes para otras distribuciones

http://mxhaard.free.fr/download.html


Levantar el módulo con modprobe y agregar ese mismo módulo para que inicie desde el arranque del sistema de tu distribución preferida =)
Ya sólo falta colocar nuestra webcam al puerto USB y listo XD

Para tomar fotografías pueden usar camorama de gnome.

* media-video/camorama
Available versions: 0.16 0.17
Installed: 0.17
Homepage: http://camorama.fixedgear.org/
Description: A GNOME 2 Webcam application featuring various image filters.


Found 1 matches

Videoconferencias

* net-im/gnomemeeting
Available versions: 0.98.0 0.98.5 0.98.5-r1 1.00 1.0.2
1.0.2-r1 1.2.1 1.2.2
Installed: 1.2.2
Homepage: http://www.gnomemeeting.org/
Description: H.323 videoconferencing and VoIP softphone


Found 1 matches


Un ejemplo de fotografía de la segunda camara (tienes mucha mejor calidad que la primera)..
Free Image Hosting at www.ImageShack.us
Free Image Hosting at www.ImageShack.us

Usar el messenger con webcam

Mas sencillo, sólo hay que bajarse la última versión del amsn y después enviar una invitación para que tus contactos puedan ver la webcam:

* net-im/amsn
Available versions: 0.94 0.95-r2
Installed: 0.95-r2
Homepage: http://amsn.sourceforge.net
Description: Alvaro's Messenger client for MSN


Ha por cierto, olvidaba xD, hay que abrir el siguiente rango de puertos en tu router o firewall:

Application: aMSN
Start: 6890
End: 6900
Protocol: Both(TCP & UDP)
IP: xxx.xxx.x.xxx
Enabled: X (Yes/True)


Además pueden configurar el contraste, brillo, etc, en el amsn desde Acciones > Configurar Webcam

Bastante sencillo no? =)

Saludos!!

sábado, junio 03, 2006

Juegos en Linux - Live CD

Free Image Hosting at www.ImageShack.us

Hace un par de semanas andaba por el cine y miré donde venden revistas para mirar si estaban las que aconstumbro comprar:

Linux+
Mundo Linux
Todo Linux
@rroba

Entre algunas otras XD..

El caso es que esta revista contenía un dvd con una live CD llamado Linux Live Games. EL liveCD esta bastante bien y les recoemiendo que lo prueban, a pesar de ser una distro que se carga en memoria va super fluido.

Mi PC tiene una tarjeta Intelv450 integrada a la tarjeta madre y corre bien la mayoría de los juegos. Si tienes una tarjeta Nvidea o ATI te va ir de perlas :D por que detecta automaticamente el chipset y carga lo necesario con soporte DRI para jugar juegos en 3D..

Algunos juegos que probe y que me gustaron:

SIN ACELERACIÖN DRI:

Silbo ( ajedrez)
Danican
LinCity ( similar a simcity)
FreeDom ( similar a Doom)
Batle for Wesnoth ( similar a zelda)

CO ACELERACIÓN DRI:
Uto 2004
Americas Army
Nexvoz
Tigger

Bueno para ver una lista completa de los juegos chequen la siguiente url: Lista de Juegos

Para descargar: Descarga

Bueno espero les gute, saludos!! :D