sábado, 6 de diciembre de 2008

Televisa ... ¿miedo?

Esta es una imagen que recibí en un correo cadena, tal vez muchos ya la han visto; pero para mi es nueva, la neta es que está muy gracioso todo, burlándose de los estúpidos comerciales de Televisa. Es realmente admirable como pueden parodiar tan excelentemente los rostros de los pseudoactores esos, la cara de Galilea (o Nalguilea) Montijo me hizo reir a carcajadas.

... [Leer más ...]

viernes, 21 de noviembre de 2008

James Bond, Quantum of Solace

Jack White y Alicia Keys en el soundtrack de la nueva película de James Bond. Alicia Keys preciosa como siempre :p.

... [Leer más ...]

viernes, 24 de octubre de 2008

Números aleatorios con bash

Hace poco me topé con un "pequeño" problema, lo escribo entre comillas porque al final no resultó tan sencillo como creí, necesitaba usar los números del rango [0-999] y después ordenarlos aleatoriamente, con la restricción de que cada cifra tenga exactamente tres números, es decir, el 0 tenía que ser 000, el 21 021, etc.

¿cómo lo resolví?, si quieres saberlo, continua leyendo porque el motivo de esta entrada no es presumir mi solución, sino saber como lo hubieras hecho tú.

La parte de las tres cifras se resuleve fácilmente con el comando printf, ya que funciona de manera similar al prinft de lenguaje C, la diferencia sólo radica en la sintaxis de la instrucción, puedes probar escribiendo en una línea de comandos lo siguiente:


printf "%0.3d\n" 5

como te puedes dar cuenta el problema está resuelto. Ahora, ¿cómo genero los números del 0 al 999?, fácil, usando el comando seq, para mayor información man seq:

seq 0 999

para obtener los números con 3 dígitos cada uno, en el rango [0-999], la sentencia de control de flujo for es la manera más sencilla (según yo):

for i in $(seq 0 999); do printf "%0.3d\n" $i; done

para ordenarlos pseudo-alatoriamente, usé una tubería y el comando sort (hay algo que bash no pueda hacer), usando la bandera -R que seguramente ya leíste después de teclear man sort:

for i in $(seq 0 999); do printf "%0.3d\n" $i; done | sort -R

y ¿para qué demonios necesitaba hacer eso?, ahhhh ... pues para crear los números de los boletos de una rifa que organiza el capítulo estudiantil al que pertenezco, ahí es donde entra el problema porque esos números los tuve que meter a una tabla en una base de datos MySQL, catorce por registro, se convirtio es un fastidio cuando me quería meter los números a un arreglo; no es tan sencillo ya que no se puede usar "directamente" la instrucción antes escrita, tuve que meter los datos a un archivo, leer del archivo e insertar en el arreglo, espero tener tiempo (y ganas) de publicar eso posteriormente, ya que fué bastante entretenido porque hice una plantilla en OpenOffice y "jalé" los datos de la tabla y los inserté en el documento.


Espero sugerencias y sus posibles soluciones a mi pequeño problema.

... [Leer más ...]

miércoles, 9 de julio de 2008

fan fodeber

Sólo para fans


Michael Jackson en vivo en concierto
Michael Jackson en vivo en concierto


Fan fodeber del maicol

... [Leer más ...]

domingo, 6 de julio de 2008

¿Qué lenguaje de programación es?

Visitando el blog de Jaime, me encontré con este test. Me parecio muy divertido, a ver si alguien lo hace y comenta cual fue su puntuación, la mia fue de 75% (en la imagen dice), la "cajetie" en uno que no era PHP :(, de los demás errores no sé.

Name That Code
Created by OnePlusYou

... [Leer más ...]

domingo, 22 de junio de 2008

Nuevas mejoras en el estilo del blog

He hecho algunos ajustes al estilo de mi blog, tal vez no se note mucho; pero ahora el espacio para cada entrada es más amplio, eso me da mucha emoción porque me molestaba tener que modificar el código fuente de mis programas cada vez que publicaba algo de programación. ¡yupi! (con voz gruesa [chiste local]).

... [Leer más ...]

domingo, 8 de junio de 2008

Gnome: Coloca un "wallpaper" desde la línea de comandos

Para cambiar el fondo de escritorio de Gnome desde la línea de comandos, puedes usar gconftool-2, la sintaxis para cambiar el fondo es:
gconftool-2 -s /desktop/gnome/background/picture_filename -t string nuevo_fondo
Ahora bien, mi objetivo es crear un script en bash que ofrezca las siguientes funcionalidades:
  1. Establecer un fondo de pantalla aleatoro.
    1. Sólo usar imágenes jpg o png.
    2. Verificar que el directorio fuente exista.
  2. Cambiar automáticamente el fondo cada cierto tiempo (me aburre ver siempre lo mismo).
    1. Usando el archivo .bash_profile, para cambiar el fondo en cada inicio se sesión.
    2. Usando cron, para establecer un intervalo de tiempo más personalizado.
  3. Establecer un color de fondo.
  4. Ajustar el tamaño de la imagen, de acuerdo a la resolución de la pantalla.
  5. Escribir un manual de usuario.
  6. Crear wallpaper clock (gracias por la idea Alan).
La primera vesión de mi script (asquerosamente ducumentado), implementa mi objetivo 1.1

Código fuente:
#!/bin/bash
# Autor: Saúl Martínez Vidals.
# Fecha: domingo, 08 de junio de 2008.
# Descripción: Cambia el fondo de pantalla cada
# cierto tiempo.

declare directorio="$1"
declare imagen
declare -a imagenes
declare -i indice

declare archivos=$(mktemp -t)
ls -1 "$directorio" > "$archivos"

while read imagen; do
if [[ "$imagen" = *.jpg ]] || \
[[ "$imagen" = *.png ]]; then
imagenes[$indice]="$imagen"
((indice++))
fi
done < "$archivos"

# coloca el fondo de pantalla
imagen="$directorio"/
imagen+="${imagenes[$(($RANDOM%$indice))]}"

gconftool-2 -s \
/desktop/gnome/background/picture_filename -t \
string "$imagen"

# elimina el archivo temporal
rm "$archivos"

exit 0
En el siguiente avance espero cumplir los puntos 2.1 y 2.2 :)

... [Leer más ...]

jueves, 5 de junio de 2008

Prueba MENSA

No, la prueba no es mensa.
Mensa es una organización internacional que agrupa a 100.000 socios en los cinco continentes. El único requisito de admisión es obtener, en una prueba de inteligencia acreditada, una puntuación por encima del 98% de la población general. Una de cada 50 personas está capacitada para ser mensista y técnicamente se considera superdotado.
Acabo de hacer una prueba, gracias a la recomendación del sitio hecha por mi amigo Oscarín. Juraría que sólo tuve un error, pero en fin, los superdotados son ellos; por lo menos me ha subido el animo y ya no me siento tan estúpido, auque ya estoy en "tiempo extra" en la Universidad .Seguro que Jaime Soffer obtiene 20 puntos de 18 :p.


... [Leer más ...]