domingo, 24 de julio de 2011

Instalar Drivers Nvidia Debian 6 de 64 bits

Para instalar los drivers Nvidia 64 bits en nuestro Debian squeeze debemos irnos a la pagina oficial de Nvidia y bajar el driver que corresponda


La instalacion de los drivers comprende compilar estos mismo, para ello nos descargamos:
# aptitude install build-essential automake make checkinstall dpatch patchutils autotools-dev debhelper quilt fakeroot xutils lintian cmake dh-make libtool autoconf git-core subversion
Instalamos los headers
# aptitude install gcc linux-headers-$(uname -r)
Debian asigna un modulo de los drivers ha nuestra tarjeta nvidia llamado nouveau, por ende antes de iniciar nuestra instalación del driver privativo debemos eliminar el modulo y archivos:
# apt-get remove xserver-xorg-video-nouveau
Removido el driver, nos aseguramos y lo eliminamos de la lista modprobe, puede ser usando nano, vi,gedit,kate, etc. En este caso mi favorito vi:
#vi /etc/modprobe.d/blacklist.conf
Adimos las siguiente lineas :
#Driver nouveau
blacklist nouveau
Guardamos y ahora presionamos CTRL+ALT+F1 se nos abre una consola y paramos el entorno grafico:
para Gnome:
# /etc/init.d/gdm3 stop
para Kde:
# /etc/init.d/kdm stop
Nos vamos a nuestro archivo descargado de la pagina oficial de nvidia que deberia ser en formarto .run
le damos permiso de ejecución:
# chmod 755 NVIDIA-Linux-x*****.run
ejecutamos con
#sh NVIDIA-Linux-x*****.run

seguimos los pasos,bastante sencillo por lo demas, acotar que posiblemente nos diga que el cc no corresponde a la version, pero le damos continuar.

alfinal reiniciamos y Listo :D
Saludos
NcW

viernes, 22 de abril de 2011

Libreria Jpgraph con Mysql en PHP

Desarrollando una aplicacion Web me tope con una librería capaz de graficar los puntos que le demos con diferentes formas de mostrar estadísticas.
la librería se llama jpgraph
la puedes obtener desde


bueno vamos al grano, la idea que quiero presentar es : obtener datos desde una BD Mysql

y poder realizar una estadística

las variables donde se guarda los puntos son :

$datay1,$datay2,$datay3, $datayN, etc ...

bueno para que me entiendan coloco el code de uno de los ejemplos que trae la librería:

SetScale("textlin");

$graph->SetMargin(200,200,200,200);

$theme_class=new VividTheme;




$graph->yaxis->HideZeroLabel();

$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#BBCCFF@0.5');

$graph->xgrid->Show();

$graph->SetTheme($theme_class);

$graph->img->SetMargin(80,30,30,40);

$graph->title->Set('Mensajes BPServer');

$graph->yaxis->title->SetFont(FF_FONT2,FS_BOLD);

$graph->xaxis->title->Set('Hora');

$graph->yaxis->title->Set('Mensajes'); // nombre del eje Y plano cartesiano

$graph->SetBox(false);




$graph->yaxis->title->SetFont( FF_FONT1 , FS_BOLD );

$graph->xaxis->title->SetFont( FF_FONT1 , FS_BOLD );

$graph->img->SetAntiAliasing(true);




$graph->yaxis->HideZeroLabel(true);

$graph->yaxis->HideLine(false);

$graph->yaxis->HideTicks(false,false);




$graph->xgrid->Show();

$graph->xgrid->SetLineStyle("solid");

$graph->xaxis->SetTickLabels(array('06:00','','08:00','','10:00','','12:00','','14:00','','16:00','','18:00','','20:00','','22:00'));

$graph->xgrid->SetColor('#E3E3E3');




// Create the first line

$p1 = new LinePlot($datay1);

$graph->Add($p1);

$p1->SetColor("#9495ED");

$p1->SetLegend('READ');







// Create the second line

$p2 = new LinePlot($datay2);

$graph->Add($p2);

$p2->SetColor("#B25522");

$p2->SetLegend('SENT');




// Create the third line

$p3 = new LinePlot($datay3);

$graph->Add($p3);

$p3->SetColor("#FF1493");

$p3->SetLegend('T001');




// Create the fourth line

$p4 = new LinePlot($datay4);

$graph->Add($p4);

$p4->SetColor("#FF1441");

$p4->SetLegend('T002');



$graph->legend->SetFrameWeight(3);



// Output line

$graph->Stroke();
?>

un ejemplo sencillo y completo.

ahora veremos un ejemplo mas practico y de un nivel un poco mas elevado

la idea sera:
- Obtener la cantidad de ocurrencias para los registros de SENT,READ,TO01 yTO02 que esten entre los rangos 60000 y 220000 dentro de la base de datos, cabe destacar que 60000 y 220000 corresponde horas, es decir 60000 es igual a 6:00 como 220000 es a 22:00 Hrs (para mayor comodidad del lector).

cod3:

require('jpgraph/jpgraph.php');
require('jpgraph/jpgraph_line.php');

$matriz[1]="\"READ\"";
$matriz[2]="\"SENT\"";
$matriz[3]="\"TO01\"";
$matriz[4]="\"TO02\"";
$table=$_SESSION['table'];
$conexion=mysql_connect($server, $user, $pass) or
die("Error en conexion con motor".mysql_error());
mysql_select_db($bbdd,$conexion) or
die("Fallo al selecionar la BBDD");
//array para read sent TO01 y TO02
$i=0;

foreach($matriz as $key => $value){
$x=1;
for($i=60000;$i<=220000;$i=$i+10000){
$aux=$i+10000;
$x++;
$consulta=mysql_query("Select count(*) as total from ".$table." where hora >".$i." and hora < ".$aux." and status =".$value,$conexion); // sumatoria de las ocurrencias

if ($file = mysql_fetch_array($consulta)){
// asignando resultados
if($key==1)
$datay1[$x] = $file["total"];
if($key==2)
$datay2[$x] = $file["total"];
if($key==3)
$datay3[$x] = $file["total"];
if($key==4)
$datay4[$x] = $file["total"];
}
}
}
...setup graph ...

de esta manera obtenemos podemos obtener lo siguiente:



domingo, 9 de enero de 2011

start wars episodio IV en ascii

el episodio IV de start wars en ascii
solo abren una terminal yle dan

telnet towel.blinkenlights.nl

y para los niños de winbugs(windows)

abren inicio->ejecutar y escriben

cmd /k telnet towel.blinkenlights.nl

listo :B

SPAM desde ip validas

este es un pequeño script creado para poder enviar correos masivos desde cuentas se servidores smtp validos ; por ejemplo el siguiente es de gmail.com usando el comando sendEmail

debes tener un archivo llamado usuarios.txt con la estructura mail@gmail.com clave
donde pondras todas las cuentas reales de gmail que tienes .. es decir

tuusuario1@gmail.com clave1
tuusuario2@gmail.com clave2


la lista de correos se pasa como primer argumento del comando
tiene que ser un texto plano y nada mas (el script se encarga de sacar los correos de cualquer texto que le entreges creando un archivo lista.txt )

como prerequisito se debe tener el script sendEmail (ojo no es el smtp sendmail)
desde debian u deribados

sudo aptitude install sendemail

desde opensuse

zypper in sendemail

ejemplos de utilizacion del script

$ sh spam.sh /home/tuuser/listadecorreos /home/tuuser/mensaje.html

el mensaje puede ser un html, recalco que el mail nosera enviado a spam ya que estamos usando una cuenta gmail .

uno de los inconvenientes de este script es que como el server gmail permite enviar 500 mails cada 24 hrs . tendriamos que tener varias cuentas para enviar 5000. pero se viene spam.sh
version 2 donde aprovechamos un server publico para enviar correos ilimitados sin problemas con envios a spam :B
les dejo la descarga de script y el codigo

http://goo.gl/Umzkj



#!/bin/bash
# MailSpam V 0.1
# Autor: Francisco Cespedes
# Script mandar mails masivos con cuentas reales
# server usado gmail
# --argumentos --
# el primer argumento es la direccion de un archivo que contiene correos en un texto plano
# version beta .. configurar archivos usuarios. separados por cantraseña y password
# ejemplo usuario@gmail.com clave
#-------------------
SERVER="smtp.gmail.com:587"
MENSAJE=$(cat -s $2) # para incluir mensaje agregar -m a sedemail
ASUNTO="el asunto"
ADJUNTO="" # adjuntar con -a y direccion completa del archivo

# separa los correos que existan de cualquer texto plano.
grep -Eio '[a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}' $1 |sort |uniq > lista.txt
# bucle que envia los correos separados por mail.
# -- deben ser 2 bucles uno para el correo del cual se van a enviar los correos
# -- y otro con los correos destinarios
CONTADOR=0
while read line
do
CORREO=$(echo $line | gawk '{print $1}')
PASSWORD=$(echo $line | gawk '{print $2}' )
USUARIO=$(echo $CORREO |gawk '{print $1}' FS="@" )

while read line2
do
let CONTADOR+=1
sendEmail -f $CORREO -t $line2 -s $SERVER -o tls=yes -xu $USUARIO -u $ASUNTO -xp $PASSWORD -m $MENSAJE
if [ $CONTADOR -eq 499 ]; then
break
fi
done < lista.txt
echo "siguiente usuario: " $CORREO
let CONTADOR=0
done < usuarios.txt
done < usuarios.txt

viernes, 17 de diciembre de 2010

Instalacion correcta de OpenShot en Opensuse 11.3

Intalacion openshot en opensuse

para no tener problemas con el editor de vídeos, ya que se queda pegado ,si es que les uscedio el caso , hay que agregar una librería .

primero descargamos el openshot
zypper in openshot

luego la librera.

zypper in frei0r-plugins

quedaríamos listos ;)

martes, 14 de diciembre de 2010

Instalacion de VirtualBox en Opensuse 11.3

Instalación de VirtualBox en openSuse 11.3.

para comenzar descargamos los paquetes correspondientes para la instalación:

zypper in kernel-source make gcc gcc-c++ pam-devel kernel-syms

luego descargamos el virtualbox dependiendo de la arquitectura :)

http://www.virtualbox.org/wiki/Linux_Downloads

y para finalizar la instalación en sí:

zypper ./VirtualBox-3.2-3.2.12_68302_openSUSE113-1.x86_64.rpm

* mi arquitectura es de 64 bits por ende el paquete 86_64 es el mio.

VirtualBox-3.2-3.2.12_68302_openSUSE113-1.x86_64.rpm esto varia segun tu arquitectura

* recuerda alojarte en el directorio donde descargaste virtualbox para ejecutar zypper .
:)
____________
NcW

martes, 16 de noviembre de 2010

Multiusuario phpmyadmin

la idea principal de esta ayuda es poder crear una petición de usuario y contraseña , o comúnmente llamado login en phpmyadmin.
lo primero es buscar el archivo config.inc.php que generalmente esta ubicado en la carpeta de phpmyadmin.
luego modificar las siguientes variables:

$cfg['Servers'][$i]['auth_type'] = 'config';

remplazas config por cookies ,si ya esta en cookies en vez de config no lo modifiques.
te quedara de esta forma:
$cfg['Servers'][$i]['auth_type'] = 'cookie';

luego deben crear una variable o modificar si es que ya existe de esta forma:
$cfg['blowfish_secret'] ='tu_frase';

esta frase es usada para la encriptacion, debes cambiarla por la que mas te acomode a ti.

por ultimo guardas las modificaciones y reinicias el servidor.


by NcW|@