# Hola Gentoosiastas. ¿Cómo están ustedes?

## AnimAlf

Hola, me voy a presentar, soy yo, je, je, je, bueno, si alguien se pregunta de que se rie éste, no se preocupen, que no es de ustedes.

Hace mucho tiempo que me gustan estas máquinas con las que, en mi caso, paso buenos ratos, algunos mejores que otros. Sí ya se sabe, no se puede ser constante en un sentimiento, si no, cómo se sabría que hay tal sentimiento, si no se pudiese comparar con otro que se haya sentido.

Empezé con esto cuando era un adolescente, tenía unos 14 años creo recordar. Todo ocurrió en la escuela, donde unos compañeros estaban hojeando una revista. Mi curiosidad se levantó cuando oía la palabra juego, en este caso Video Juego. Por aquel entonces, no abundaba mucha diversidad de estos y los he visto nacer, he visto el pong inicial que vi, los marcianitos, los pingballs, los laberintos, todos apareciendo en mi existencia desde 0, quiero decir que en mi niñez esto no existia. Dónde estaba, a sí, en la escuela, oyendo unos compañeros que hablaban de video juegos y que miraban una revista.

Para mi sorpresa, me acerqué a ellos, y comprobé que estaban mirando una página en la que sólo aparecian dos columnas de líneas con un montón de letras escritas. Je, je, je, y claro, preguntando me dijeron que era un juego. No me lo podía creer. En mi mente no comprendía cómo tras unas líneas se escondía aquello que tan buenos ratos me hacia pasar en los billares. Y pronto empezé a hacerme con ellas para comprender un poco más que era todo ello. Un montón de tiempo pasó hasta que conseguí tener en mis manos mi primer ordenador personal, bueno soy de los del ZX. Claro, escogí. Y fué por que mís padrés me compraron unos despues de que jugando con fuegos artificales casi me reviento una mano. Imaginad, mi primer teclado y yo con una sóla mano. ¿Creeis que eso fue un problema?

Para entonces ya tenia un monton de código que sólo quería comprobar. Quería ver como se veía tras una pantalla. Je, je, je, recuerdo código que tecleé como procesadores de textos, muchos juegos, fractales, ... nada, era maravilloso.

Luego empezó el tirar de la curiosidad, cuando mi hermana, por cosa de sus estudios tubo que trabajar con un PC y le compraron un TuLIP 386, je je je, opps, que es esto, que nivelazo. Y nada, las manos encima le puse enseguida a ese teclado cuando ella no tenía que trabajar. Y como soy tan insconsciente, pués también empecé a meterme donde no debía. A destrozarlo, claro y a base de broncas, o verguenza de haber estropeado máquinas, pues aprendí también a repararlas, recuerdo esa pantalla negra con su simbolo del sistema, donde no sabía ni que hacer, y venga a leer, que se podía hacer. Empecé con los archivos Bat, y venga menus por todos lados X'D, con las aplicaciones ofimáticas, con todo lo que llegaba cerca. También con el win, pero no le hacia ni caso, ya que entonces, el 3.1 lo encontraba una tontería, perder mucho tiempo en que se pusiese en marcha, las aplicaciones funcionaban raras, sí muy bonito, pero la ligereza que daba no acceder a él se notaba un montón.

Así estube mucho tiempo, aparecían a mi alrededor mejoras, el 486, OHHH una máquina genial sentía por ahí, pero lo cierto es que para lo que yo hacía, no me hacía falta. Además que no se puede uno comprar una máquina como esas, más que nada por depender. Y llegó el pentium, que fue subiendo su pulso de reloj. 75, 100, 120 ... y de repente me encuentro que me entregaban como regalo un pentium 133 X'D podeis imaginar mi felicidad. Pues nada, al ataque. Qué diferencia.

Ya sin querer aprendí a repararlos físicamente, algo que nunca me interesó, pero que llega sólo. Nuevas animaciones podía ver tras copiar nuevos códigos que se ofrecian ante mi. Y llegó win95, y luego GNU/Linux y ... espero que esto no pare. Me gusta crear cosas con ellos, ver que puede surgir una creación realizada con ellos que salga de uno mismo. Ciertamente me ha gratificado mucho el crear cualquier cosa y observar aquello que tenía enfrente de la pantalla y que había surgido de mí.

No se. Y eso sí es una constante, nunca aprenderé,

one a forever newbie

AnimAlf

----------

## Alejandro_23

Ciertamente mientras leia tu post, parecia que estaba leyendo mi historia (claro... con unos cuantos años menos y empezando con un Commodore 128).

Es muy gratificante ver que 1, 10, 100, 1000, etc lineas de codigo se transforman en una utilidad o una animacion o en lo que tu cabeza imagino desde un comienzo. Claro que no todo es jubilo, sobretodo cuando uno imagina una cosa y sale otra je je je. pero creo que es esa la fuerza q nos impulsa a los programadores y a los que investigamos cosas nuevas a seguir.

y tenes mucha razon en que siempre seremos nuevos en algo.

Salud!

----------

## AnimAlf

No hay que negar que siempre me gustará no ser competente X'D y no siendolo y no teniendo nada en la cabeza, sin más aparece la vieja formula de descompresión que utilizaba con el rar X'D rar x -ryv  :Razz:  durarà, a mi que no me preguntes X'D

----------

## JotaCE

Sin duda que que todos tenemos dijo.... los que tenemos mas de 30 años historias similares a la tuya y que mas que por una obligaciçon entramos en Gentoo hasta yo diría por entretenimiento y por su puesto nos gusta tanto que nos quedamos aqui.

Rercuerdo en aquellos años cuando...... (YA JOTACE CALLATE)  :Very Happy: 

P.D.: Yo prefiero usar Gentooniano o Gentooista. Aun que hay otros que nos dicen... Gentooza ..... en fin no hay un gentilicio claro ni menos oficial. al respecto.

----------

## Inodoro_Pereyra

Bienvenido AnimAlf.  

La parte "Alf" de tu nick, es por Alf?  :Very Happy: 

Salud!

----------

## AnimAlf

hola, como hace poco que estoy por aquí, me gustaría que entendieseis que aunque no se me entienda en lo que diga ... pues no tengo intenciones raras, y que soy un gentoosiasta también.

Quería ponerme las pilas de nuevo y he practicado con los scripts y con dialog, y aquí os dejo uno que acabo de realizar.

Utiliza dialog y tiene una característica que poco se ve por ahí, y es la carga dinámica de los contenidos del radiolist (tambien aplicable a los menús)

Así quizás también disculpareis algún comentario un poco borde que se me haya escapado  :Smile: )

Como soy un vicioso de la multimedia, pues me centraré en el mplayer, que siempre digo que lo haré algo para él y no lo hago.

Xdialog y dialog son muy fáciles de entender, podemos practicar con ellos desde nuestra shell preferida, además su página man reflejan todo lo que se puede hacer con ello indicando simplemente las opciones a utilizar en cada formulario, o de una forma muy rápida, tenerlo todo a mano con --help

~ $ Xdialog --help &

Por ejemplo esto lo podemos probar a ejecutar desde nuestra consola faborita o desde el menu de ejecución

Xdialog --wrap --title "Todo Bien" --help "Pues ya ves que poca" --yesno "¿Se puede seguir con ello?" 0 0

la forma de utilizarlo es la siguiente

Xdialog [<GTK+ options>] [<common options>] [<transient options>] <box option> ...

Donde como siempre, aquello encerrado entre corchetes es opcional. En la ayuda se ven claramente diferenciada las diferentes opciones, y las respuestas a cada acción donde las respuesta 0 es que se ha aceptado todo, 1 es que se canceló y 255 se cerro. Si están encadenados y en algún momento se cancela o se cierra, se salta los formularios siguiente para llegar al script y a su toma de control. En el ejemplo chain esto se ve muy claramente:

Y si os gusta fijaros en este script en el que tendréis también como dije antes una carga dinámica del las opciones del radiolist, tamibén aplicable a menús

```
#!/bin/sh

app=mplayer

configfile=~/.mplayer/config

Dialog=dialog

# Comprobar la existencia de dialog

which $Dialog >/dev/null 2>&1

if [ $? -ne 0 ]

then

  echo "$Dialog no existe, no continuaremos"

  exit 1

fi

$Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "Desmostración del uso de dialog y Xdialog" 0 0

which Xdialog >/dev/null 2>&1

if [ $? -ne 0 ]

then

  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "Xdialog no existe, da igual ..." 0 0

else

  Dialog=Xdialog

  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "He localizado Xdialog y continuaré con él" 0 0 0

fi

# comprobar que la aplicación existe.

which $app >/dev/null 2>&1

if [ $? -ne 0 ]

then

  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "El $app no existe, no continuaremos :((" 0 0

  exit 1

fi

# Rellenar un array con los codecs de salida de video

codecs=($($app -vo help | sed -n  "s/^\t\(.*\)\t\(.*\)/\1/p"))

descrcode=($($app -vo help | sed -n "s/^\t\(.*\)\t\(.*\)/\2/p" | sed -e "s/\ /./g"))

$Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox "se han \

  detectado ${#codecs[*]} codecs en su compilación para mplayer" 0 0

# expresión regular que lee el contenido del archivo y quita los espacios en blanco

opciones=($(cat $configfile | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e '/^#/d' -e '/^$/d'))

$Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "En su archivo de configuración existen ${#opciones[*]} opciones configuradas" 0 0

# Comprobar que en las opciones exista vo

for unaLinea in ${opciones[*]}

do

  #echo $unaLinea

  if [ $(echo $unaLinea | grep "^vo") ]

  then

    voOK=$(echo $unaLinea | sed -n "s/.*=\(.*\)/\1/p")

  fi

done

if [ $voOK ]

then

  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "vo ya está definido en su archivo de configuración [$voOK]" 0 0

else

  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \

  "vo no existe en su configuración" 0 0

fi

$Dialog --title 'Demo by AnimAlf' --no-collapse --backtitle "Elegir el driver de video por defecto" \

        --radiolist "Bien, llega el momento de la elección, como no me voy a complicar  \

  mucho la vida y como esto es una demo para ver el funcionamiento de estos formularios, \

  sólo permite la elección de un sólo driver. La configuración permite que se pongan unos \

  cuantos en el orden de preferencia, así como poner varias de sus opciones. Elige un modo \

  para comprobar el funcionamiento, el archivo original se graba con la extensión como fecha, \

  por lo que lo podrás recuperar, si lo tenías muy currado, si sigues, no perderás las opciones \

  que tuvieses, pero sí los comentarios (si vo está configurado).\n\n

  Que driver utilizará mplayer por defecto ?" 0 0 0 \

$(let X=0

let TMP=${#codecs[*]}

for i in ${codecs[*]} ; do

  echo -n "${codecs[$X]}"

  echo -n " "

  echo -n "${descrcode[$X]}"

  echo -n " "

  if [ ${codecs[$X]} = $voOK ]; then

    echo -n on

  else

    echo -n off

  fi

  if [ $X -lt $TMP ]; then

    echo

  fi

  let X=$X+1

done) 2>/tmp/checklist.tmp.$$

retval=$?

choice=`cat /tmp/checklist.tmp.$$`

rm -f /tmp/checklist.tmp.$$

case $retval in

  0)

     echo "# Configuración guardada por la demo de dialog Gentoosiasta" > $configfile

     for unaLinea in ${opciones[*]}

     do

       if [ $voOK ]

       then

         if [ $(echo $unaLinea | grep "^vo") ]

         then

           echo "vo=$choice" >> $configfile

         else 

           echo $unaLinea >> $configfile

         fi

       else 

         echo $unaLinea >> $configfile

       fi

     done

     if [ $voOK ]; then

     voOK=$voOK;

     else

       echo "vo=$choice" >> $configfile

     fi

  ;;

  1)

    echo "Has cancelado."

    exit 1

    ;;

  255)

    echo "Has cerrado."

    exit 1

    ;;

esac

clear

echo "EsosTodo Amigos!!"
```

Hay varias cosas que se pueden mejorar, asín que si aportaris mejoras nos ayudaremos a comprender mejor. Sobre todos aquellos que somos autodidactas ...  el if final de escritura al achivo de configuración es ridículo, no supe como poner un ifnot  :Smile: ) también se podría sustituir el modo de lectura por lectura esctiruta <> y alguna cosa más ...

Saludos

----------

