/**
* Función que permite obtener un array unique de numeros aleatorios
*
* @param int $de
* @param int $max
* @param int $cuantos
* @return array unique
*/
function rand_pos($de=0,$max=0,$cuantos=false)
{
$i=0;
$rand_nums=array();
$de=(!preg_match('/^[0-9]+$/',$de)||$de>$max)?0:$de;
$max=(!preg_match('/^[0-9]+$/',$max))?0:$max;
$cuantos=($cuantos&&!preg_match('/^[0-9]+$/',$cuantos))?1:$cuantos;
while($i<=$max)
{
while(in_array($rand=rand($de,$max),$rand_nums));
$rand_nums[]=$rand;
if($cuantos&&$i == $cuantos-1)
return $rand_nums;
$i++;
}
return $rand_nums;
}
Bueno para un trabajo que hacía, requería mostrar cierto numero de registros de una tabla de manera aleatoria y pues bueno, hice esa función que es simple pero funcional.
Ejemplo con Base de datos:
$q=mysql_query("select autor,nombre_blog from blog_tb where blog_activo=1");
while($r=mysql_fetch_object($q))
{
$row[]=array
(
'autor'=>$r->autor,
'blog'=>$r->nombre_blog
);
}
//supongamos que obtenemos 50 registros como resultado de esa consulta pero quiero mostrar sólo 5...
//tamaño del array con los datos
$num_regs=count($row)-1;
/*
Llamamos a la funcion para que regrese el array con posiciones aleatorias dentro del rango que le mandamos en los primeros 2 parámetros
Nota: Se puede definir un numero, en el primer parámetro enviado, del cual queremos que parta el random. Si el valor es mayor que el segundo parámetro o no es valor entero, el primero será 0 (cero)
*/
$posiciones=rand_pos(0,$num_regs,5); //llamada a la funcion
//una vez obtenido el array con las posiciones aleatorias, lo recorremos...
foreach($posiciones as $i)
{
echo "Nombre del blog: ".$row[$i][blog]."<br/>";
echo "Autor: <i>".$row[$i][autor]."</i><hr>";
}
No sé si es el mejor método para hacer esto, pero en este momento fue lo que se me ocurrió y quise postearlo. Tal vez a alguien le sirva.
Una de las “modas” actualmente es el uso de XHR para dejar todo del lado del cliente, lo que facilita entre otras cosas el envio de peticiones y recepción de respuestas en el formato que mejor nos parezca. Como algunos saben. Ya hace algún tiempo que ando metido en mootools y bueno, si no soy un programador veterano de mootools, he aprendido a usar, extender y exprimir cada funcionalidad de este maravilloso framework.
El siguiente ejemplo que hice muestra la manera de obtener información de un video directamente de youtube usando XHR mediante JSONP en mootools
NOTA: En el ejemplo no funcionan correctamente el boton “siguiente” pero sólo por el uso de mooshell. Prueben el codigo en su local y funcionará bien.
Este bash script sirve para eliminar los espacios en los nombres todos los archivos de un directorio
#!/bin/sh
#ftrim by vrS
find . -name '* *' | sort | while read FILE
do
NEWFILE=`echo ${FILE} | sed 's/ /_/g;'`
mv "${FILE}" ${NEWFILE}
echo ${NEWFILE}
done
Instalación
El proceso para “instalarlo” es el mismo que el de avi2dvd
Uso
Usando la consola, ubíquense en el directorio en el cual quieren eliminar los espacios de sus archivos y ejecuten el script
bash~$ ftrim
Diré lo meramente necesario ya que carezco de tiempo:
subDownloader es un programa que busca por tí de los subtítulos necesarios para tu película. Lo único que tienes que hacer es cargar la película y el programa buscará los subtítulos adecuados en opensubtitles para poder seleccionarlos y bajarlos 

Recomendable 100%
Siguiendo con el tratado de videos, mas especificamente, películas, les diré como pegarle los subtitulos a un AVI x)…
Lo único que necesitas tener instalado es mencoder
$sudo apt-get install mencoder
Después de esto, nada mas el siguiente comando:
mencoder -o video_destino.avi -sub los_subtitulos.str -oac copy -ovc xvid -xvidencopts pass=1 video_origen.avi -subcp ISO-8859-1 -font fuente.ttf -subfont-text-scale 3.0
Listo x) ahora nada mas a esperar que se complete el proceso y listo.
Hice un script para hacer eso un poco más sencillo. Aquí se los dejo
#!/bin/bash
##############################
## subAttach by vrS ##
##############################
BLK='^[[1;30m'
RED='^[[1;31m'
GRN='^[[1;32m'
YEL='^[[1;33m'
BLU='^[[1;34m'
MAG='^[[1;35m'
CYN='^[[1;36m'
WHI='^[[1;37m'
DRED='^[[0;31m'
DGRN='^[[0;32m'
DYEL='^[[0;33m'
DBLU='^[[0;34m'
DMAG='^[[0;35m'
DCYN='^[[0;36m'
DWHI='^[[0;37m'
RES='^[[0m'
#emptying terminal
reset
# Se válida si se tiene mencoder instalado.
if [ ! -f `which mencoder` ]; then
echo "${DCYN}[${RED}+${WHI}ERROR${DCYN}] ${WHI} Necesitas instalar MENCODER ${RES}"
exit 1
fi
if [ $# -lt 3 ]
then
echo
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${WHI}usage${DCYN}]${WHI} $0 [your_movie.avi][your_subtitles.str][your_font.ttf]${RES}"
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${WHI}Ejemplo${DCYN}]${BLU} $0 pelicula.avi pelicula.str ~/.fonts/Arial_Black.ttf${RES}"
echo
exit
fi
videoavi=$1
subs=$2
fuente=$3
out=`echo $videoavi |cut -f1 -d '.'`"_subs"
#Pegando subs...
mencoder -o "$out".avi -sub "$subs" -oac copy -ovc xvid -xvidencopts pass=1 "$videoavi" -subcp ISO-8859-1 -font "$fuente" -subfont-text-scale 3.0
echo
echo "${DCYN}[${WHI}+${DCYN}]${DCYN}[${YEL}EXITO${DCYN}]${GRN} Proceso Finalizao con exito x)${RES}"
echo
Instalación:
El proceso para “instalarlo” es el mismo que el de avi2dvd
Rara vez un soft cambia su splash de acuerdo a la temporada, al menos, no conozco muchos. jDownloader sí lo hizo 
