Posts filed under 'Uncategorized'
VLC no muestra correctamente los subtítulos en Ubuntu
Para que VLC muestre correctamente los subtítulos, hay que ir a preferencias/codecs/otros codecs/subtitulos y cambiar la codificación a ISO-8859-1. Luego, ir a video/subtitulos/redibujado de texto, marcar el check de opciones avanzadas, y escoger un tamaño de fuente de 14 o de 16.
Add comment Junio 3, 2008
Arrancar un servidor de OpenOffice invisible y sin X
Para programar con el framework Java ONE de OpenOffice, es necesario lanzar un servidor OpenOffice que escuche peticiones. Además, cuando se hace en un servidor GNU/Linux sin XWindows, la cosa se complica más.
La solución es utilizar un servidor de X “de cartón piedra”: Xvfb. Con él instalado, basta con hacer lo siguiente (como root):
Xvfb :1 &
soffice -invisible -accept=”socket,host=0,port=2002;urp;” -display :1 &
1 comment Mayo 21, 2008
Modificar elementos de alfresco desde código java
Este es precisamente el tipo de cosas por las que cree el blog. He estado unas 8 horas para conseguir una línea de código.
Para poder modificar elementos (nodos) de alfresco desde java, es necesario hacer uso de un servicio interno: NodeService. Y ese servicio se obtiene con esta simple línea, que me ha costado tanto encontrar:
NodeService nodeService = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getNodeService();
Una vez con el objeto nodeService ya se pueden crear nodos, borrarlos, o modificar sus propiedades:
//uuid es un String con el uuid que identifica el objeto alfresco
NodeRef nodeRef=new NodeRef(Repository.getStoreRef(), valores.get(uuid));
QName qname=QName.createQName(“{http://www.alfresco.org/model/content/1.0}name”);
nodeService.setProperty(nodeRef, qname, “nuevoNombre”);
Add comment Abril 23, 2008
Pequeño script para bloquear la pantalla por Bluetooth
Un pequeño script en bash para bloquear la pantalla automáticamente cuando se aleje tu teléfono del ordenador, y se desbloquee cuando vuelvas
#!/bin/bash
#Change to your interface
INTERFACE=”00:00:00:00:00:00″
block=0
while true; do
hcitool cc ${INTERFACE} 2>>/dev/null
Signal=”`hcitool lq ${INTERFACE} 2>>/dev/null`”
#echo Signal: $Signal
if [ "0" = "0$Signal" ]; then
echo Desconectado
(( block ++ ))
#if fail at least two times
if [ $block -gt 1 ]; then
#sudo -u username gnome-screensaver-command –lock
dcop kdesktop KScreensaverIface lock
fi
else
if [ "${Signal##*: }" -gt 220 ]; then
echo “Conectado”
if [ $block -gt 0 ]; then
#sudo -u username gnome-screensaver-command –deactivate
dcop kdesktop KScreensaverIface quit
block=0
fi
sleep 5
else
echo “Baja señal”
(( block ++ ))
#if fail at least two times
if [ $block -gt 1 ]; then
#sudo -u username gnome-screensaver-command –lock
dcop kdesktop KScreensaverIface lock
fi
fi
fi
hcitool dc ${INTERFACE} 2>>/dev/null
sleep 1
done
Add comment Abril 18, 2008
Instalación plugin JBPM en Eclipse
Alfresco y sus Workflows ha motivado que queramos instalar el plugin de JBPM en nuestro Eclipse
Alfresco embeds the JBoss jBPM process engine which itself provides the jPDL Process Definition Language.
JBoss jBPM is a flexible, extensible framework for process languages. jPDL is one process language that is build on top of that common framework. It is an intuitive process language to express business processes graphically in terms of tasks, wait states for asynchronous communication, timers, automated actions,… To bind these operations together, jPDL has the most powerful and extensible control flow mechanism.
La sección del manual de Alfresco es bastante clara, aquí, pero no indica correctamente qué bajar y cómo instalarlo.
En esta entrada intentaremos indicar cómo se consigue instalar el plugin de JPBM-jPDL en Eclipse, también conocido como “designer”
- Ir a la página de download
y bajarse:
-
(recomendado) jPDL Suite: lo tiene todo. El plugin está dentro del directorio “designer”.
-
(opcional) jBPM GPD: solo el plugin de eclipse para diseñar, pero necesitamos todo
- Si hemos bajado Suite, descomprimir el fichero bajado en un directorio definitivo, como /opt/. En otro caso, uno temporal.
-
Acceder al directorio, por ejemplo: $ cd /opt/share/jbpm-jpdl-3.2.2/
-
Acceder al directorio “designer”.
-
Acceder al directorio eclipse.
-
Copiar todo lo que hay dentro (plugins, etc) a nuestro directorio de eclipse, donde también están las mismas carpetas, sobreescribiendo con la libertad que uno prefiera. De esta manera se copiará el plugin en nuestro eclipse.
-
Reinicar eclipse si es el caso.
-
Y ya tenemos nuestro plugin.
Para usarlo, bonito tutorial en jBoss, pero está incompleto.
- New->Project… JBPM.
- Nombre del proyecto
- Como al principio no tendremos la ubicación del Core JBPM, nos la pide, por ejemplo: /opt/share/jbpm-jpdl-3.2.2/
- Y ya está!
1 comment Abril 9, 2008
Empezar a trabajar con el API Java de OpenOffice.org
Esto si que es una tontería, pero acabo de perder media hora buscandolo, a si que…
Para poder trabajar con el API de Java de OpenOffice.org es necesario utilizar las siguientes bibliotecas: juh.jar, jurt.jar, ridl.jar y unoil.jar.
Tras un buen rato buscandolas por internet, decargando versiones del sdk de OOo, etc, resulta que están incluidas en el OpenOffice.org. No en un paquete de desarrollo, sino en el propio sistema ofimático.
2 comments Enero 22, 2008
Conseguir las fuentes de alfresco
Me ha costado un buen rato, pero al final he conseguido descargar el código fuente de alfresco.
La primera parte ha sido más o menos fácil: Obtener los últimos fuentes :
svn co http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD
Pero resulta que la versión final 2.1 community no tiene una rama, sino que es la revision 929. A si que:
svn co http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD -r 929
1 comment Noviembre 29, 2007
Python: ejecutar un subproceso desde un script
En un script de python necesitamos, ante unas condiciones, lanzar un programa externo (puede estar escrito en python o no, es irrelevante). Queremos monitorizarlo y para ello nos gustaría saber su PID.
Lo habitual es hacer un import os y empezar a jugar con los spawn*, los waitpid, los exec*, los popen* e incluso algún fork(). El resultado suele ser procesos zombie (Z) que no se inician bien y se quedan en defunct. Con bastante tiempo, podríamos tener algún éxito pero lo recomendable eshacer uso del módulo subprocess y, en concreto, de Popen().
Así que para lanzar un proceso independiente y recoger su PID escribid:
PID = subprocess.Popen([cmdline], shell=True).pid
1 comment Noviembre 19, 2007
Restringir tipos de contenido en plone!
A veces misteriosamente esta opción desaparece en el menú de añadir item en plone, en tal caso basta con asegurarse de que el usuario correspondiente tiene el permiso “Modify constrain types”.
Add comment Noviembre 15, 2007
Dependencias de pidgin en ubuntu
Para compilar pidgin en Ubuntu, es necesario instalar los siguientes paquetes:
sudo apt-get install libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev
A continuación, descarga la última versión de pidgin de la web (ahora mismo la versión 2.2.1).
Se trata de un fichero comprimido tar.bz. Descomprimelo, y accede al directorio:
tar -xvjf pidgin-2.2.1.tar.bz2 cd pidgin-2.2.1
Compila e instala
./configure make sudo make install
Add comment Octubre 16, 2007