Hola,hacia tiempo que no colgaba ningun post.He empezado el ciclo de grado superior de desarrollo de aplicaciones multiplataforma(llamado DAM),bueno de hecho solo he cursado un semestre las asignaturas de sistemas informaticos y bases de datos,en enero los examenes que ya veremos como van…….
Me gustaria ir dejando los apuntes del ciclo para el que le interese,eso si,estan en catalán.Os dejo en este enlace los apuntes de las asignaturas de programacion basica y desarrollo de interfaces.
apuntes desarrollo de aplicaciones multiplataforma(DAM)
16 12 2011Comentarios : Deja un Comentario »
Categorías : Uncategorized
Bot irc con python
19 06 2011Buenas otra ves,hacia tiempo que no colgaba un post…
Despues de leerme el libro de python para todos que es gratuito y lo podeis encontrar en internet facilmente en el cual viene un capítulo sobre sockets y otro sobre comunicacion con webs me decidi a hacer un bot para el irc,la verdad es que con código prestado en gran parte(no se mucho del protocolo IRC) aunque he añadido algunas cosillas,como poder guardar logs.
Basicamente lo que necesitamos es el servidor al que conectar,el puerto,el nick del bot y poco mas, luego tenemos que crear un objeto socket y conectar a ese servidor y puerto,identificarnos en el irc y responder alos pings que manda el servidor para seguir conectados.
El codigo es este:
#Programa que crea un bot para el IRC
botnick = "Manolo"
server = "irc.irc-hispano.org"
puerto = 6667
canal = "#barcelona" #escogeis el canal al que querais entrar
cont=1
f = open("log.txt", "w") #abrimos un fichero para guardar las lineas
socket_bot = socket.socket() #creamos el socket
socket_bot.connect((server, puerto)) #conectamos al server y puerto
socket_bot.send('USER martinez perez luis :amateur\n')#nos identificamos
socket_bot.send('NICK ' +botnick+'\n') #nos ponemos un nick
while True:
line = socket_bot.recv(4096) #Aqui empezamos a recibir datos
print line #IMPORTANTE,imprimimos las lineas
#En este if respondemos al PING que nos envia el servidor con un PONG mas la clave
if line.find('PING')!=-1:
socket_bot.send('PONG ' +line.split()[1]+'\r\n')
socket_bot.send("JOIN " +canal+'\n') #Entramos a un canal
f.write(line) #Comenzamos a guardar cada linea de texto que nos llega
cont=cont+1
if cont==200: #si ha leido 200 lineas cerramos el fichero y el socket
f.close()
socket_bot.close()
if line.find('hola MAnolo')!=-1:
socket_bot.send('PRIVMSG #eskizofrenia :caro caro ahun no te he saludado y ya saludas\n')
if line.find('como estas Manolo?')!= -1:
socket_bot.send('PRIVMSG #eskizofrenia :hecho kakitas amigo hecho kakitas\n')
if line.find('porque?')!= -1:
socket_bot.send('PRIVMSG #eskizofrenia :si,porque? porque pepe? porque manchester?, porque?\n')
Os dejo una captura donde se ve el código.
Comentarios : Deja un Comentario »
Categorías : python
Hacer funcionar la webcam en skype y linux
1 11 2010Hola,me imagino que mas gente habra tenido el mismo problema que yo al querer hacer funcionar la webcam en skype para linux.Buscando por internet he encontrado informacion de como solucionarlo auqnue en el README del skype viene explicado tambien.
En mi caso por problemas que tuve al comprar una nueva multifuncion y querer hacer funcionar el scanner en Debian lenny tuve que actualizar varias cosas y acabé de fastidiar el sistema,entonces me hablaron de la version inestable de debian y es la que tengo instalada actualmente,descargué la version static de skype y me encontré con ese problema.
Basicamente lo que he hecho es precargar las librerias de video (uso una logitech webcam for notebooks pro) con el siguiente comando:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so ./skype
En el README viene la solucion para ubuntu y varia un poco la linea:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
Pero no se porque aunque cree un enlace simbolico del archivo skype a /usr/bin no me lo reconoce como un comando,asi que he tenido que abrir una consola y ejecutar ese comando desde el mismo directorio del skype.
Tambien hay que asegurarse de tener marcada la opcion iniciar video automaticamente al iniciar llamada.Con esto os tendria que funcionar la webcam con el skype para linux,y para no tener que andar poniendo el comando cada vez podeis crear un script asi:
1.nano scriptskype
2.copias la linea a ejecutarse dentro del archivo y guardais el archivo
3.chmod +x scriptskype
4.ejecutamos el script cada vez que queremos abrir el skype con ./scriptskype o directamente haciendo click en el script y elegir ejecutar en una terminal
Un saludo,espero que os sirva
Comentarios : Deja un Comentario »
Categorías : linux
Añadir una cuenta de hotmail y Gmail a Evolution
5 06 2010Hola de nuevo,en este post explico como configurar una cuenta de hotmail en evolution,que es bastante fácil y nos permite leer el corrreo en nuestro ordenador(eso de ir a la pagina web cada vez ,es un poco palo no?)
Añadir una cuenta de Hotmail
_________________________
1-Abrimos el evolution y nos vamos a Editar->Preferencias->Añadir cuenta
2-Nos saldra un configurador donde pondremos lo siguiente en cada pantalla:
-Pestaña identidad–> Pondremos nuestro nombre y nuestra direccion de correo de hotmail y si queremos que esta cuenta sea la predeterminada
-Pestaña Recepcion-> Escojemos POP como tipo de servidor y en servidor ponemos pop3.live.com,en usuario lo que queramos y en cifrado SSL,la opcion recordar contraseña no es necesario si no se quiere.
-Pestaña Opciones de Recepción–> Aqui básicamente lo que yo he marcado es dejar mensajes en el servidor para que no los borre (la primera vez que los descarga los borra,OJO!)
-Pestaña envio de correo-> Escojemos SMTP como tipo de servidor y en servidor escribimos-> smtp.live.com. Marcamos la opción el servidor requiere autenticación y en cifrado escojemos TLS y almenos en mi caso en el apartado de autenticacion en usuario tengo que poner mi correo de hotmail(sino no me envia mensajes).
Nos pedira un nombre para identificar la cuenta y listos.
Tambien podemos instalar algun tipo de filto para que nos filtre el spam,podemos descargar spamassassin escribiendo en la consola:
apt-get install spamassassin
Reiniciamos evolution y ya esta.
Añadir una cuenta de Gmail
________________________
Basicamente haremos lo mismo que antes,los datos necesarios son los siguientes:
* Recibiendo mensajes
o Tipo de servidor: POP
o Servidor: pop.gmail.com:995
o Usuario: tu_usuario@gmail.com
o Usar conexión segura: Encriptación SSL
o Tipo de autentificación: Contraseña
* Enviando correo
o Tipo de servidor: SMTP
o Servidor: smtp.gmail.com:465
o El servidor requiere autentificación: Marcado
o Usar conexión segura: Encriptación SSL
o Autentificación: PLAIN
o Usuario: tu_usuario@gmail.com
Hasta pronto!.
Comentarios : 3 Comentarios »
Categorías : linux
Instalar una impresora en debian lenny
16 06 2009Aqui os dejo como instale yo en mi caso la impresora,comentar que el proceso se puede hacer via web o descargando de los respositorios(system-config-printer es lo que tenemos que descargar), aqui explico el proceso haciendolo via web. Mi impresora es una epson stylus cx3200(multifuncion). Primero tendremos que bajar el driver ,iremos a
http://openprinting.org
y luego en la seccion printers buscaremos nuestro impresora y le damos a show,nos mostrara los drivers para esa impresora asi como instrucciones de instalacion,esocojemos el driver que sea para LSB 3.2 y que sea el paquete deb, luego una vez bajado pondremos en consola:
dpkg -i eldriverquesea.deb
Con eso se instalara el driver,luego tenemos que bajar el lsb 3.2 en mi distro se puede bajar con:
apt-get install lsb
Podeis buscar que sea el 3.2 haciendo:
apt-cache search lsb
Ahora tenemos que agregar la impresora ,enchufamos la impresora al puerto usb y vamos a http://localhost:631, luego a añadir impresora ,escojemos tipo de conexion y seguimos los pasos al final te pide configurarla pero se puede dejar como esta y ya tendremos lista la impresora,al menos en mi caso asi fue.
Luego si queremos usar el scanner con xsane,en la pagina del proyecto sane ,hay un README que nos sera de utilidad, http://www.sane-project.org/README.linux, en mi caso lo que he tenido que hacer para que me detectara xsane el scanner es añadir mi usuario al grupo scanner y luego reiniciar si no no hara efecto ,reiniciamos y lo tendremos listos.Para añadir nuestro usuario al grupo scanner nos iremos a Sistema->Administracion->Usuarios y grupos nos pedira la clave de root y nos dira que se puede fastidiar algo del sistema bla bla actua bajo tu responsabilidad y eso,la aplicacion es intuitiva os lo dejo a vuestro libre albedrio.
Tambien he visto que hay varias aplicaciones para usar con el scanner una me a parecido curiosa gscan2pdf ,una aplicacion para pasar producir pdf de lo que escaneamos,el listado esta aqui http://www.sane-project.org/sane-frontends.html
Espero que sea de utilidad.
Comentarios : Deja un Comentario »
Categorías : linux
Problemas con resolucion en debian
6 06 2009Hola me he encontrado con un problema al instalar debian lenny y es que en mi escritorio solo me acepta resoluciones hasta 800*600, aqui os explico los pasos(almenos los que he hecho en mi caso) para poder aumentar la resolucion; primero de todo hay que instalar los drivers nvidia
DESCARGANDO Y INSTALANDO DRIVERS DE NVIDIA
—————————————————————————–
Primero de todo tendremos que ir a la pagina de nvidia.com a la seccion de descarga de drivers y elegir el modelo de nuestra tarjeta y el sistema operativo,hecho esto descargamos los drivers, es bueno leer el README de la pagina por si surgen problemas, luego hay que instalar tambien los headers de nuestro nucleo ,lo haremos desde la consola con:
apt-get install linux-headers-$(uname -r)
Luego ya podremos instalar los drivers pero hay que tener en cuenta varias cosas ,no nos dejara instalarlos desde las X(logico) y deberemos instalarlos con el runlevel 3,por defecto debian arranca con el runlevel 2.
Saldremos de las X apretando ctrl+alt+F1 ,cambiaremos a root y seguiremos los siguientes pasos desde el directorio donde se encuentren los drivers:
telinit 3
/etc/init.d/gdm stop
sh elarchivodedriver.run
telinit 2
/etc/init.d/gdm start
startx
Hay que tener en cuenta que al instalar el driver primero dice que no encuentra algo de los headers y si quieres bajarlos le decis que si aunque en mi caso no baja nada y luego me decia que habia una incompatibilidad con gcc y si queria abortar la instalacion le decimos que no y se instala.
En mi caso me encontre tambien con otro problema y es que el teclado no estaba bien configurado asi que hay que editar el archivo /etx/X11/xorg.conf (acuerdate de hacer una copia por si las moscas) y añadimos:
Section “InputDevice”
# generated from default
Identifier “Keyboard0″
Driver “kbd”
Option “XkbRules” “xorg” —>esta
Option “XkbModel” “pc105″ —>esta
Option “XkbLayout” “es” —>esta
EndSection
Guardamos y reiniciamos las X con ctrl+alt+suprimir y ya esta listo,espero que os sirva.
Comentarios : Deja un Comentario »
Categorías : linux
Primeros pasos con wxpython y wxglade
30 05 2009Hola ya estamos de nuevo aqui
Quiero hablar un poco sobre wxglade(un RAD que le llaman) que no es mas que una aplicacion que permite diseñar frames y luego te genera el codigo,hay varios programas de este tipo,boa constructor y otros pero me he decido a usar wxglade por su sencillez.
Al principio cuesta un poco hacerlo funcionar pero con el manuel de usuario de la pagina de wxglade se hace bastante facil.
Primero de todo hay que crear un frame ,ala derecha tenemos los diferentes widgets que podemos añadir ,seleccionamos frame y escojemos wxFrame y el nombre que queramos tenga la clase,la otra opcion no se para que sirve y llevo poco con wxpython;nos aparecera una ventana con fondo gris,luego os encontrareis en que añadiendo por ejemplo un boton no puedes moverlo de la posicion por defecto que tiene que es arriba ala izquierda,podemos ponerlo en la posicion que queramos con ir a la ventana de propiedades ,seleccionar la pestaña LAYOUT escojer el tamaño en BORDER y y luego mas abajo en la seccion que se llama border tambien elegir por donde insertaremos el borde que puede ser en los cuatro lados TOP y luego ala izquierda,derecha ,etc….
mas abajo esta la seccion ALIGNMENT donde podemos alinear el widget como queramos centrado ,expandido,etc,con eso tendremos solucionado poner el boton que hemos añadido donde queramos.
Otro problema es que al querer añadir otros widgets me di cuenta que no se podia pero en el manual de usuario lo explica bien
hay que seleccionar SIZER_1 en la ventana tree que vereis encima del frame,boton derecho y add slot con eso creamos un espacio nuevo en el frame para añadir mas widgets.
Para crear el codigo hay varias opciones,se recomienda guardar lo que hemos hecho para no perderlo,minimizaremos el frame y en la ventana tree pulsaremos sobre application y iremos a la ventana propiedades donde podemos elegir entre varias opciones.
Name y class no se muy bien como funcionan pero se pueden dejar tal cual,leugo esta el encoding que es como se codifica el archivo ,yo le dejo por defecto ,no se si con las ñ y todo eso habra que poner utf quiza ni idea ,TOP lo dejamos igual,en el apartado code generation tenemos dos opciones generar el codigo en un unico archivo o en varios,si elegis que sea en varios archivos en el recuadro de outputh de mas abajo teneies que seleccionar un directorio solo ,si es un unico archivo lo que quereis en outputh seleccionaremos el directorio y el nombre del archivo por ejemplo miprograma.py; luego en lenguaje escojemos python, en wxwidgets compatibility yo lo dejo igual supongo que sera segun la version de wxpython instalada,luego hay una casilla por si queremos importar de la vieja manera los modulos que ya no se usa,en outputh path ya lo he comentado
luego se le da a generar codigo y ya lo tendremos listo,pero pasa una cosa vereis que al ejecutar la aplicacion el tamaño del frame es muy pequeño no conserva el que teniamos en el diseño ,para que lo conserve yo lo que hago almenos me funciona en mi caso es antes de generar el codigo irnos ala venta propiedades del frame y activar la casilla size con eso lo tendremos listo.
Otro tema importante es que wxglade no genera un panel automaticamente con lo que habra que crearlo escojiendo un wxdialog,luego desde el codigo se pueden añadir los widgets dentro del panel.
Lo siento si algun informacion no esta del todo clara o es erronea,dejo el link del manual de usuario y la pagina de donde bajar wxglade,espero os sirva ,un saludo
http://wxglade.sourceforge.net/manual/index.html
Comentarios : 1 comentario
Categorías : python
Sobre las cajas negras
4 05 2009Hola de nuevo esta vez quiero explicar algo quer me a enseñado mi amigo benjamin un informatico ,ingeniero informatico que curso la carrera en oviedo y es sobre las cajas negras,creo que a cualquiera le puede ir bien.
El tema es que una funcion debe actuar como una caja negra o sea tiene siempre que utilizar los parametros definidos en la funcion,para que sea indfependiente del resto del programa en eso se basa el termino caja negra.pongamos un ejemplo:
lista=[1,2,3,4]
def cambia(lalistaquesea):
lalistaquesea[0:1]=3 #Esto seria correcto utilizamos los propios parametros de la funcion y la funcion no sabe nada del resto del programa trabaja individualmente
lista[0:1]=3 #Esto seria incorrecto o sea no podemos usar la lista que esta fuera de la funcion
Bueno espero que alguien le sirva para no cometer esta calse de errores ya que yo los cometia y gracias a mi amigo benjamin ya no los cometo.
La siguiente entrada la dedicare a Py2exe ,como crear el ejecutable y como añadir un icono a la aplicacion y bueno lo que pueda encontrar,un saludo hasta la proxima
Comentarios : 2 Comentarios »
Categorías : Uncategorized
ahorcado en python
5 12 2008Hola de nuevo ,bueno como lo prometido es deuda voya dejar el codigo de mi ahorcado en python,supongo que es mejorable pero el tema es que funciona,dejare tambien una lista de palabras que hay que añadir a un fichero txt y ponerle el nombre que luego dire,quien quiera mejorarlo que lo mejore y me diga algo o si veis posibles fallos o loq ue sea;ahi va el enlace para bajarlo:
Un saludo a todos loq ue me lean
Decir que el programa funciona en windows para hacerlo funcionar en linux hay que cambiar la codificacion a utf-8 y cambiar cls por clear.
Comentarios : Deja un Comentario »
Categorías : python
Python grafico II
28 09 2008Hola de nuevo me olvide en la anterior entrada de python grafico de deciros de donde bajar las librerias de wxpython,las podeis bajar aqui,donde ademas viene explicado loq ue necesitasis si usais windows o linux ,documentacion y algun sample(ejemplo):descargar librerias.
Decir que yo uso ubuntu hardy heron y lo baje creo desde el apt ,no se ya no recuerdo bien ,pero creo que si ,por lo demas me he encontrado con un pequeño problema en linux al trabajar con wxpython y es que si yo creo un archivo .py en /home/”minombre” y lo ejecuto no me aparece la ventana ,por lo que pense que quiza metiendo el archivo en el directorio de la libreria wx funiconaria y efectivamente,funciona por lo que he optado por crear un enlace simbolico(blando) en mi directorio personal al directorio de la libreria wx con lo que puedo ejecutar los programas que hago desde mi home, en mi sistema la ruta de la libreria wx viene a ser /usr/lib/python25/site-packages/wxpython2.8…lo que sea/wx,para encontrar donde lo teneis instalado podeis poner el comando find asi: sudo find / -name “wx” -print.
Sabiendo donde estan las librerias crear un enlace simbolico seria como sigue: ln -s “ruta donde teneis el directorio wx en vuestro sistema” y “ruta del directorio personal o la carpeta que os de la gana”
Un saludo
Comentarios : 1 comentario
Categorías : python
