// inicio

26 Mar 2011

winetricks: utilidad imprescindible para wine

Si habéis usado wine alguna vez para ejecutar alguna aplicación que sólo está disponible para Windows, es posible que no os haya funcionado a la primera. Esto es debido a que hay ciertas aplicaciones que necesitan otras librerías para ejecutarse correctamente.

Si bien en la web oficial de wine, describen a winetricks como “un script rápido y sucio”, es bastante útil y sencillo de utilizar.

Para descargarlo, abrir un terminal y ejecutar:

wget http://winetricks.org/winetricks 

Si tenéis Ubuntu, podéis descargarlo de un repositorio:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo aptitude update
sudo aptitude install winetricks

Una vez, descargado, ejecutadlo y os aparecerá una interfaz gráfica donde permite escoger qué aplicaciones o librerías queréis instalar. No sé porqué, pero a través de esta interfaz no aparecen todas las opciones disponibles. Para ver un listado completo, ejecutad en la terminal:

sh winetricks list-download

Para instalar cualquier cosa, escribid simplemente el nombre de la aplicación. Por ejemplo, si queremos instalar Spotify y el framework .NET 3.5:

sh winetricks spotify dotnet35

.

Seguir leyendo »

26 Feb 2011

Configurar monitor Samsung SyncMaster 943NW en Ubuntu 10.10

Mi monitor de 19″ tiene una resolución un tanto peculiar, que no suele reconocer a priori el sistema operativo. Además, las instrucciones que he encontrado por internet se referían todas a usar el fichero xorg.conf y no he conseguido que ninguna me funcionase. Dejo aquí las instrucciones para futuras referencias.

Si ejecutamos:

$ cvt 1440 900 75

Nos debe dar una salida similar a:


# 1440x900 74.98 Hz (CVT 1.30MA) hsync: 70.64 kHz; pclk: 136.75 MHz
Modeline "1440x900_75.00"  136.75  1440 1536 1688 1936  900 903 909 942 -hsync +vsync

Ahora, usando lo que aparece a la derecha Modeline, ejecutamos:

$ xrandr --newmode "1440x900_75.00"  136.75  1440 1536 1688 1936  900 903 909 942 -hsync +vsync

A continuación, ejecuta xrandr para saber cómo está identificado tu monitor (puede ser VGA1, CRT1 o similar). Una vez localizado, ejecuta:

$ xrandr --addmode CRT2 "1440x900_75.00"

Para establecer esta resolución, accedemos a través del menú de Gnome: Sistema -> Preferencias -> Monitores (si no usas Gnome, debes ir a las propiedades del monitor). Elegimos la resolución 1440×900 (16:10) y tasa de refresco 75 Hz. Para guardar la configuración, pulsamos en “Hacer predeterminado”. Nos pedirá la contraseña de administrador y finalmente hacemos click en “Aplicar”.

10 Jan 2011

boxee-miso: first steps

Some months ago, Miso team announced that they will be release an API. If you don’t know, Miso is a social platform for sharing your media activities (something like Foursquare but for tv shows and movies). So, a few days ago, this API was released and I registered an application named boxee-miso. My goal is have a nice way to integrate Miso into Boxee fabulous interface. If you haven’t Boxee, don’t wait to download it!

The first thing I did was looking for the code which paint the “share” window in Boxee. I’m using MacOS X, so I found it in

/Applications/Boxee.app/Contents/Resources/Boxee/skin/boxee/720p/boxee_share.xml

. This XML file has a lot of elements, but what we need is to paint a button for checking in our Miso account. I add a new item (the middle one) like you can see in the next code:

<content>
        <item>
                <label>$LOCALIZE[53463]</label>
                <controlid>700</controlid>
                <onclick>-</onclick>
                <thumb>icons/icon_osd_share.png</thumb>
        </item>
        <item>
                <label>$LOCALIZE[53463]</label>
                <controlid>710</controlid>
                <onclick>RunScript(/Applications/Boxee.app/Contents/Resources/Boxee/scripts/Miso/test.py, $INFO[Container(5000).ListItem.Label], $INFO[Container(5000).ListItem.TVShowTitle], $INFO[Container(5000).ListItem.Season], $INFO[Container(5000).ListItem.Episode])</onclick>
                <thumb>icons/miso_top_logo.png</thumb>
        </item>
        <item>
                <label>$LOCALIZE[53464]</label>
                <controlid>720</controlid>
                <onclick>-</onclick>
                <thumb>icons/icon_custom_text.png</thumb>
        </item>
</content>
 

I still don’t know what is the purpose of “controlid” param, but the others is quite easy to understand. The key of problem is to use well the “onclick” param. Fortunately, Boxee is based in XBMC, and I could found good documentation in this wiki. So we will use RunScript in order to execute a python script which will receive some params (like name of the show, season or episode).

The image specified by “thumb” param is stored in

/Applications/Boxee.app/Contents/Resources/Boxee/skin/boxee/media/icons/miso_top_logo.png

.

Thanks to all of this, I have reached write some content in the Boxee log using the script test.py specified in the “onclick” param. Now, I am working with the OAuth authentication of Miso API. I will keep you informed.

7 Jan 2011

Extensiones útiles para MediaWiki

Estoy trabajando con Esteban Romero para migrar Descuadrando a MediaWiki, ya que actualmente funciona con DokuWiki. Por si no lo sabéis, MediaWiki es un software para wikis libre (GPL) y es el que usa Wikipedia.

La puesta en marcha de un sistema MediaWiki es bastante más compleja que con DokuWiki, pero a largo plazo tiene mucha más flexibilidad y muchas extensiones (plugins) que permiten ampliar funcionalidades. En este post os voy a enumerar las que estamos usado en Descuadrando.

  • reCAPTCHA: permite la integración de un captcha en el registro de usuarios.
  • SelectCategoryTagCloud: añade una nube de categorías en la creación de un post, para que sea más sencillo seleccionar una.
  • Widgets: permite añadir multitud de widgets a nuestras páginas.
  • ParserFunctions: permite añadir sintaxis más compleja como sentencias if o switch.
  • ExpandTemplates: similar a la anterior, pero con otro tipo de expresiones. Especialmente útil para plantillas.
  • InputBox: permite añadir formularios a las páginas.
  • AntiBot: bot para evitar spam y otras técnicas maliciosas.
  • UsabilityInitiative: proporciona mejoras de usabilidad, sobre todo en el editor.
  • ImageMap: permite crear image maps, es decir, una imagen con diferentes enlaces definidos por coordenadas.
  • StubManager: framework necesario para otras extensiones.
  • ImageLink: permite insertar imágenes con enlaces y añadirles ciertos atributos.
  • Cite: permite crear notas a pie de página.
  • CategoryTree: permite ver las categorías de forma jerarquizada.

En cada uno de los enlaces a la página de MediaWiki explican como se instalan cada una. Para la mayoría basta con subir los archivos al directorio “extensions” y luego añadir una línea al fichero LocalSettings.php.

5 Jan 2011

Mostrar metadatos de música, imágenes y pdf en Nautilus

Intentando organizar un poco los artículos en PDF que tengo, me he dado cuenta que sería útil poder visualizar el autor y el título del mismo en el navegador de archivos de Gnome (Nautilus).

Buscando en Google he encontrado que ya existía algo similar, pero que solo servía para música e imágenes. Es una extensión que se llama nautilus-columns (hebra en Ubuntu Forums). Al ver que estaba hecha en python me he puesto a modificarla para añadirle soporte de PDFs. No ha resultado muy complicado gracias a la librería pyPdf.

Podéis descargar el script en http://pastebin.com/WxspTtvL

Son necesarias las siguientes dependencias:

# apt-get install python-nautilus python-mutagen python-pyexiv2 \
python-kaa-metadata libnautilus-extension1 python-pypdf

Una vez instalado, tenéis que activar los campos Title y Artist, para mostrar el título y el autor, respectivamente.

Editado: si usáis Ubuntu, podéis descargar la extensión con esta nueva modificación desde el repositorio oficial.


$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install nautilus-columns
$ nautilus -q

4 Jan 2011

Adiós 2010. Hola 2011

Ya ha pasado un año desde que escribí esta entrada análoga despidiendo el 2009. Ahora le toca el 2010, que ha sido un año bastante largo (já, maldita relatividad).

La mayor parte del tiempo la he pasado trabajando y aprendiendo en la Fundación I+D del Software Libre, donde ha sido un placer compartir tantos momentos con mis compañeros y sería imposible de resumir en unas líneas (se lo dejo como tarea a mi biógrafo).

Gracias a esto pude viajar a Madrid por primera vez y montarme en metro (me hizo mucha ilusión, no os riáis). Estuve en el museo Reina Sofía a una conferencia de Oracle sobre Cloud Computing (ahora que han comprado a Sun, dan miedo).

Tras estar varios meses en la academia de inglés Henry O’Connell pude sacarme el First Certificate in English y espero más adelante preparme el CAE.

Con la llegada de la primavera y la manga corta, disfrutamos de playa, comuniones y un magnífico foto-viaje a Londres junto con Cristina, Pablo y Juan.

Este ha sido el verano con menos vacaciones de mi vida, pero no por ello menos especial. Pude estar en Almuñecar y en Islas Menores (Cartagena) con Cristina, María y Manu pasando unos días geniales.

La vuelta al trabajo se hizo esta vez cuesta arriba, pero estaba ilusionado con el comienzo del máster en Soft Computing y Sistemas Inteligentes. Para variar, el 29 de Octubre volví a cumplir años, esta vez 24, y fue el 6º aniversario de este blog que tengo tan mal cuidado.

En Noviembre estuvimos un año más en el Evento Blog España (EBE10), compartiendo unos días con lo más variado de la Internet, pero a mi parecer, el más flojo desde que llevo asistiendo (¿se están pasando de moda estos eventos? ¿será que soy de la old-skool?).

Por último, en Diciembre cambié de trabajo. Dejo (al menos de momento) el mundo empresarial para meterme en la Universidad de Granada como investigador, en concreto sobre Aprendizaje Automático (Machine Learning).

Ahora comenzamos el año con mucho trabajo, sobre todo el primer trimestre se presenta bastante apretado entre la Universidad, el máster, Descuadrando, AndalucíaPeople, Gcubo… Os deseo a todos mis lectores lo mejor para este año nuevo y podáis afrontar y superar los retos que se os pongan por delante.

12 meses, 12 fotos

8 Jul 2010

Enviar email con valores de una base de datos UTF-8 en Python

Si tenemos un base de datos MySQL y queremos enviar emails usando la librería smptlib de python, nos puede dar más de un quebradero de cabeza si queremos usar la codificación UTF-8. Pongo aquí este breve manual que he hecho con la ayuda de Héctor, un compañero del proyecto en el que estoy trabajando ahora mismo.

Si usamos la librería MySQLdb, tendremos que añadir unos parámetros adicionales para indicarle que nos vamos a conectar a una base de datos con codificación UTF-8.

con = MySQLdb.connect(host, user, passwd, database, charset="utf8", init_command="set names utf8")
con.names = "utf8"

Ahora creamos el mensaje a enviar:

mensaje_email = u‘Código de alarma: %s \n % codigo
mensaje_email+= u‘ID de alarma: %s\n% ID_ALARMA
mensaje_email+= u‘Descripción de alarma: %s\n % descripcion

#Formar mensaje de email tipo MIME.
msg = MIMEText(mensaje_email.encode(‘utf-8′), _charset="UTF-8")
msg[‘Subject’] = subject
msg[‘From’] = email_from
msg[‘Reply-to’] = email_reply_to
msg[‘To’] = email_to

Y por último, lo enviamos a través del servidor de correo:

mailServer = smtplib.SMTP(mail_server)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(username, passwd)
try:    
     mailServer.sendmail(username, to_addr, msg.as_string())
except BaseException, e:
    print "Error al enviar e-mail: %s" % e
mailServer.close()

31 May 2010

!BarraLibre Camp

Post copypasteado de la OSL (sí, lo sé, tengo esto un poco abandonado…)


El próximo 10 de Junio, en la Escuela Técnica Superior de Ingenierías Informática y Telecomunicaciones de la Universidad de Granada, se celebrará la primera !BarralibreCamp.

La !BarralibreCamp está abierta a todo el mundo, aunque se recomienda encarecidamente que te apuntes antes en el formulario creado al efecto (y, a ser posible, también en el wiki) por cuestiones de organización.

La !BarralibreCamp es una Barcamp, un evento autoorganizado en el que todos los asistentes son también participantes.

Una barcamp no se divide entre ponentes y publico, si no que todos los participantes están invitados a hablar y escuchar. Tampoco tiene programa, si no que se va organizando in situ y sobre la marcha, con una mínima preparación previa.

La idea detrás de todo esto es que la !BarralibreCamp sea un evento intenso y activo, donde se aprenda a través de la participación.

En la !BarralibreCamp, como en cualquier barcamp, hay una pizarra donde se indican las aulas o espacios disponibles y las horas, y cada cual puede incribir libremente su taller, ponencia o charla en el espacio que haya disponible. Desde ese momento, cualquier otro asistente puede decirdir inscribirse.

En la !BarraLibreCamp, el tema es el software y la cultura libres en todos sus aspectos: enseñanza, difusión, aplicaciones. Si usas, desarrollas, enseñas o quieres enseñar software libre, serás bienvenido.

Pensamos que el software es libre. Pero nos gusta aclarar que es libre como el sol cuando amanece, no como en la barra libre.

De ahí el !BarraLibre (NOT BarraLibre): No es barra libre.

Tradicionalmente, las barcamps tiene algunas reglas:

  • La primera regla del Barcamp es “Todo el mundo habla del Barcamp”.
  • La segunda regla del Barcamp es “Todo el Mundo postea (y twittea, y facebookea…) del barcamp”.
  • La tercera regla del Barcamp es “Si vas a presentar algo, pon tu nombre y el tema del que hablarás en el tablón de anuncios”.
  • La cuarta regla del Barcamp es “Introducciones de tres palabras”.
  • La quinta regla del Barcamp es “Tantas presentaciones a la vez como las instalaciones permitan”.
  • La sexta regla del Barcamp es “No hay presentaciones preprogramadas, no hay turistas”.
  • La séptima regla del Barcamp es “Una presentración durará el tiempo que necesite, o hasta que comience la siguiente en el tablón”.
  • La octava regla del Barcamp es “Si es tu primer Barcamp, DEBES presentar algo (Vale. No DEBES hacerlo, pero intenta encontrar algo que presentar o, por lo menos, haz preguntas y sé un participante activo)”.

Ven y participa.

Bienvenido a The Power of Mind

The Power of Mind es el blog personal de DraXus, orientado a temas de Informática, Software Libre e Internet. Más sobre el autor…

del.icio.us flickr plurk twitter skype
linkedin facebook tuenti lastfm youtube

Recomendados

AndaluciaPeople.com
BrochesyComplementos.com

flickr

Switch to our mobile site