Me sucedió varias veces que luego de copiar y pegar contenidos en un documento OpenOffice recuerdo que las imágenes quedan "linkeadas" y no embebidas.
Para embeber estas imágenes linkeadas no encontré ningún macro ni forma automatizada, pero es posible hacerlo con un procedimiento bastante sencillo, seleccionando la opción "Links" en el menú "Edit". Aparecerá una ventana con todas las imágenes linkeadas, y para embeber las imágenes listadas hay que seleccionarlas y presionar el boton "Break Link" (una por una).
Encontré esta información en www.taming-openoffice-org.com
miércoles, 26 de agosto de 2009
OpenOffice: como embeber imagenes linkeadas
Posteado por
Software and Motorcycles
a las
20:16
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
openoffice


Diff de docs. OpenOffice en GIT
1) Instalar odt2txt (convierte docs. OpenOffice a texto plano)
2) Configurar GIT
2.a) Agregar a .gitconfig:
Con estos 2 pasos realizados, git ya puede mostrar diferencias entre documentos OpenOffice (por ejemplo, al realizar modificaciones locales).
Artículo completo en http://www-verimag.imag.fr/~moy/opendocument/
aptitude install odt2txt
2) Configurar GIT
2.a) Agregar a .gitconfig:
[diff "odf"]2.b) Agregar a .gitattributes
textconv=odt2txt
*.ods diff=odf
*.odt diff=odf
*.odp diff=odf
Con estos 2 pasos realizados, git ya puede mostrar diferencias entre documentos OpenOffice (por ejemplo, al realizar modificaciones locales).
Artículo completo en http://www-verimag.imag.fr/~moy/opendocument/
Posteado por
Software and Motorcycles
a las
13:28
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
git


martes, 25 de agosto de 2009
Pro GIT
Hace tiempo está disponible el libro Pro GIT para ser bajado (clonando el repositorio git) o navegado.
Ya se está trabajando en la traducción al español: accedan a:
http://github.com/progit/progit/tree/master
y vean el directorio "es-ni" (por ahora es la única traducción al español, en el futuro puede haber otras).
Ya se está trabajando en la traducción al español: accedan a:
http://github.com/progit/progit/tree/master
y vean el directorio "es-ni" (por ahora es la única traducción al español, en el futuro puede haber otras).
Posteado por
Software and Motorcycles
a las
15:05
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
git


miércoles, 22 de julio de 2009
"ip addr" en vez de alias
Luego de renegar un poco con Ubuntu 9.04 al configurar un alias de la eth0 (me usaba el IP del alias para realizar las conexiones salientes!), encontré que hay otras maneras de armar los alias, usando el comando ip.
Y para que se configure automáticamente, se puede agregar en /etc/network/interfaces:
Más información aquí.
ip addr add 192.168.5.101/24 brd + dev eth0 label "eth0:2"
Y para que se configure automáticamente, se puede agregar en /etc/network/interfaces:
post-up /sbin/ip addr add 192.168.5.101/24 brd + dev eth0 label "eth0:2" || true
Más información aquí.
Posteado por
Software and Motorcycles
a las
8:56
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
linux,
red,
ubuntu


miércoles, 24 de junio de 2009
Alternativa a lomount
Parece que lomount no está en Ubuntu (al menos Ubuntu 9.04 p/AMD64), pero existe un truco para montar particiones "internas" de una imagen de un disco.
Yo necesité montar la 1er partición de la imagen de un disco de un dominio virtualizado. Aunque el disco (para el dominio virtualizado) en realidad estaba provisto por un volumen lógico (LVM) todo funcionó perfectamente.
Pasos a seguir (en ingles): http://community.livejournal.com/debian/340887.html
Yo necesité montar la 1er partición de la imagen de un disco de un dominio virtualizado. Aunque el disco (para el dominio virtualizado) en realidad estaba provisto por un volumen lógico (LVM) todo funcionó perfectamente.
Pasos a seguir (en ingles): http://community.livejournal.com/debian/340887.html
Posteado por
Software and Motorcycles
a las
22:25
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
linux,
ubuntu


Migrar repositorio "privado" de git a repositorio público
Necesité crear repositorios "públicos" (donde se puedan hacer pull/push desde distintas PCs) tomando los datos de repositorios locales/privados (donde realizo el desarrollo diario) y resultó ser bastante fácil:
1. Crear repositorio "publico"
a) crear un directorio - mkdir /var/git/proyecto.git
b) posicionarse en ese directorio - cd /var/git/proyecto.git
c) inicializar el directorio - git init --bare
2. Hacer push de repositorio local/privado a público
a) nos posicionamos en directorio - cd /path/a/repo/privado
b) creamos "remote" - git remote add origin ssh://pc/var/git/proyecto.git
c) configuramos repositorio - git config --bool remote.origin.mirror true
d) hacemos push - git push origin
El paso 2.c es opcional, pero a mí me resultó muy útil. Al ajustar la variable "remote.origin.mirror" a true, git subirá todos los branches y tags automáticamente cuando ejecutemos el push. Si no se realiza esta configuración, el en paso 2.d hará falta especificar los branches a subir.
1. Crear repositorio "publico"
a) crear un directorio - mkdir /var/git/proyecto.git
b) posicionarse en ese directorio - cd /var/git/proyecto.git
c) inicializar el directorio - git init --bare
2. Hacer push de repositorio local/privado a público
a) nos posicionamos en directorio - cd /path/a/repo/privado
b) creamos "remote" - git remote add origin ssh://pc/var/git/proyecto.git
c) configuramos repositorio - git config --bool remote.origin.mirror true
d) hacemos push - git push origin
El paso 2.c es opcional, pero a mí me resultó muy útil. Al ajustar la variable "remote.origin.mirror" a true, git subirá todos los branches y tags automáticamente cuando ejecutemos el push. Si no se realiza esta configuración, el en paso 2.d hará falta especificar los branches a subir.
Posteado por
Software and Motorcycles
a las
13:55
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
git


sábado, 20 de junio de 2009
Tig: text-mode interface for git
Estaba disponible al menos desde Ubuntu 8.10 pero recién lo descubro! Es una interface en modo texto para git, con varias funciones. Home. Screenshots.
#~ sudo aptitude install tig
#~ sudo aptitude install tig
Posteado por
Software and Motorcycles
a las
17:42
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
git


sábado, 13 de junio de 2009
Ubuntu 9.04 como dominio virtual usando virt-install + kvm
Se puede instalar Ubuntu 9.04 usando virt-install con un comando como el siguiente:
-d para que muestre por consola información adicional mientras se crea la maquina virtual
-n es el nombre del dominio virtual
-f es para especificar discos, en este caso el dominio virtual vera 3 discos, el 1ro lo usaré para /, el segudo para /tmp y el 3ro como un "volumen fisico" para configurar LVM.
-c para especificar el path al iso
En el caso de usar LVM hay que tener cuidado porque en el servidor host se verán todos los "volume groups" y los "logical volumes" del dominio virtual. Para evitar esto se puede configurar LVM para que IGNORE totalmente ciertos "physical volumes" editando el archivo /etc/lvm/lvm.conf, y agregando:
filter = [ "r|^/dev/vg_virt/pv.*|" ]
Esto le dice a LVM que ignore cualquier "physical volume" que esté referenciado por algún dispositivo cuyo nombre comience con "/dev/vg_virt/pv". Para chequear que esto haya funcionado correctamente, ejecutamos:
pvscan -v
Los siguientes pasos a seguir podrían ser:
- instalar git y crear repo en /etc para tener historial de modificaciones
- configurar approx
- configurar serial console
- configurar virtio para discos/red
- configurar red usando bridge
- configurar autostart de dominios
virt-install -d --connect qemu:///system \
-n ubuntu904virtual -r 1024 --vcpus=4 \
-f /dev/vg_virt/root \
-f /dev/vg_virt/tmp \
-f /dev/vg_virt/pv0 \
-c /tmp/ubuntu-9.04-server-amd64.iso \
--accelerate --vnc -v \
--os-type=linux --os-variant=generic26
-d para que muestre por consola información adicional mientras se crea la maquina virtual
-n es el nombre del dominio virtual
-f es para especificar discos, en este caso el dominio virtual vera 3 discos, el 1ro lo usaré para /, el segudo para /tmp y el 3ro como un "volumen fisico" para configurar LVM.
-c para especificar el path al iso
En el caso de usar LVM hay que tener cuidado porque en el servidor host se verán todos los "volume groups" y los "logical volumes" del dominio virtual. Para evitar esto se puede configurar LVM para que IGNORE totalmente ciertos "physical volumes" editando el archivo /etc/lvm/lvm.conf, y agregando:
filter = [ "r|^/dev/vg_virt/pv.*|" ]
Esto le dice a LVM que ignore cualquier "physical volume" que esté referenciado por algún dispositivo cuyo nombre comience con "/dev/vg_virt/pv". Para chequear que esto haya funcionado correctamente, ejecutamos:
pvscan -v
Los siguientes pasos a seguir podrían ser:
- instalar git y crear repo en /etc para tener historial de modificaciones
- configurar approx
- configurar serial console
- configurar virtio para discos/red
- configurar red usando bridge
- configurar autostart de dominios
Posteado por
Software and Motorcycles
a las
11:06
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
kvm,
libvirt,
ubuntu


jueves, 11 de junio de 2009
Configurando approx para cachear paquetes
En /etc/approx/approx.conf definir 2 servidores:
Y luego, hay que cambiar /etc/apt/sources.list de manera que quede:
Esta configuración es la que usé para un servidor Ubuntu 9.04
ubuntu-jaunty http://ar.archive.ubuntu.com/ubuntu/ ubuntu-jaunty-security http://security.ubuntu.com/ubuntu
Y luego, hay que cambiar /etc/apt/sources.list de manera que quede:
deb http://localhost:9999/ubuntu-jaunty jaunty main restricted deb http://localhost:9999/ubuntu-jaunty jaunty-updates main restricted deb http://localhost:9999/ubuntu-jaunty jaunty universe deb http://localhost:9999/ubuntu-jaunty jaunty-updates universe deb http://localhost:9999/ubuntu-jaunty jaunty multiverse deb http://localhost:9999/ubuntu-jaunty jaunty-updates multiverse deb http://localhost:9999/ubuntu-jaunty-security jaunty-security main restricted deb http://localhost:9999/ubuntu-jaunty-security jaunty-security universe deb http://localhost:9999/ubuntu-jaunty-security jaunty-security multiverse
Esta configuración es la que usé para un servidor Ubuntu 9.04
Posteado por
Software and Motorcycles
a las
12:07
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
apt,
ubuntu


miércoles, 3 de junio de 2009
Virtualización con KVM
Investigando para implementar KVM encontré varios artículos interesantes:
Guías
- Virtualization With KVM On Ubuntu 9.04
- Virtualization With KVM On Ubuntu 8.10
- Installing KVM Guests With virt-install On Ubuntu 8.10 Server (agregado el 5 de jun)
En sitio de KVM
- Setting guest network
- Setting up NAT with KVM in Ubuntu
En sitio de Ubuntu (administrada a través de libvirt)
- Installation
- Networking
- CreateGuests
- Managing
Y para gestionar el tráfico de red, además del clásico iptables, es interesante tener en cuenta ebtables.
Guías
- Virtualization With KVM On Ubuntu 9.04
- Virtualization With KVM On Ubuntu 8.10
- Installing KVM Guests With virt-install On Ubuntu 8.10 Server (agregado el 5 de jun)
En sitio de KVM
- Setting guest network
- Setting up NAT with KVM in Ubuntu
En sitio de Ubuntu (administrada a través de libvirt)
- Installation
- Networking
- CreateGuests
- Managing
Y para gestionar el tráfico de red, además del clásico iptables, es interesante tener en cuenta ebtables.
Posteado por
Software and Motorcycles
a las
16:11
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
kvm,
linux,
virtualizacion


equivs
Con equivs se pueden crear muy facilmente paquetes "vacíos" para Debian/Ubuntu/etc. Estos paquetes aunque no contengan ningún programa pueden ser de gran utilidad, al menos en 2 casos:
- How to install locally compiled packages: equivs
- Howto: create "configuration packages" with equivs
- para crear un paquete que dependa en otros paquetes: esto me es de gran ayuda para crear un paquete que dependa de todos los paquetes que generalmente instalo en los servidores Linux que administro (por ejemlpo, tcpdump, hdparm, smartctl, etc.)
- para crear un paquete que "provea" software que hemos instalado manualmente. Por ejemplo, si instalamos manualmente Java, pero queremos instalar Tomcat usando los paquetes que de nuestra distribución en uso, como Tomcat depende de Java, se intentará instalar un JRE o JDK de Java. Con equiv podemos crear un paquete que diga que provee Java, y así podremos instalar Tomcat sin instalar nuevamente otro JDK/JRE.
- How to install locally compiled packages: equivs
- Howto: create "configuration packages" with equivs
Posteado por
Software and Motorcycles
a las
15:58
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
debian,
equivs,
ubuntu


domingo, 3 de mayo de 2009
Cosas a hacer despues de instalar Ubuntu 9.04 Jaunty Jackalope
Excelente artículo! Tiene muchos consejos y referencias sobre cómo instalar algunas cosas que no vienen con Ubuntu.
http://ubuntulife.wordpress.com/2009/05/02/cosas-a-hacer-despues-de-instalar-ubuntu-904-jaunty-jackalope/
http://ubuntulife.wordpress.com/2009/05/02/cosas-a-hacer-despues-de-instalar-ubuntu-904-jaunty-jackalope/
Posteado por
Software and Motorcycles
a las
12:54
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
linux,
ubuntu


domingo, 8 de marzo de 2009
Parches para mejorar Django
Encontré algunos parches que estoy usando a diario para desarrollo y tests en Django, y me pareció interesante compartirlos. Además la idea es que sirvan de ejemplo de las cosas que se pueden encontrar en el sistema de "tickets" de Django, donde hay muchos parches para agregar funcionalidad, por ejemplo:
- Make Django's server optionally multithreaded
(específicamente: devserver_multithread_trunk_r9532.patch)
Esto permite que el servidor de desarrollo funcione con multiple threads. Sirve, por ejemplo, si queremos realizar un request al mismo servidor (por ejemplo, usando urllib2) desde una vista.
- Add live test server support to test framework
(específicamente: django_live_server_r8458.diff)
Permite iniciar un servidor http desde un testcase.
- Make Django's server optionally multithreaded
(específicamente: devserver_multithread_trunk_r9532.patch)
Esto permite que el servidor de desarrollo funcione con multiple threads. Sirve, por ejemplo, si queremos realizar un request al mismo servidor (por ejemplo, usando urllib2) desde una vista.
- Add live test server support to test framework
(específicamente: django_live_server_r8458.diff)
Permite iniciar un servidor http desde un testcase.
Posteado por
Software and Motorcycles
a las
14:12
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
1 comentarios
Labels:
django,
python


sábado, 28 de febrero de 2009
Problemas de teclado con Ubuntu 8.10 + VMPlayer
Por alguna cuestión VMPlayer no reconoce algunas teclas en Ubuntu (o sea, las teclas en Ubuntu funcionan bien, pero no "llegan" al sistema operativo ejecutando en VMPlayer). La solución es sencilla: hay que agregar la siguiente línea al archivo de configuración ubicado en ~/.vmware/config
Posteado por
Software and Motorcycles
a las
13:11
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
1 comentarios
Labels:
linux,
vmplayer


jueves, 19 de febrero de 2009
pg_dump y "canceling statement due to statement timeout"
Al realizar backups de tablas grandes, pueden producirse "statement timeout":
Si esto sucede porque tenemos configurado "statement_timeout" a nivel general, esta configuración también está afectando las sentencias ejecutadas por pg_dump (esto sucede al menos con PostgreSql 8.1). Este se soluciona seteando la siguiente variable de entorno:
También podemos hacerlo en 1 línea
o también:
Tomado de: http://www.mail-archive.com/pgsql-general@postgresql.org/msg79518.html
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: canceling statement due to statement timeout
Si esto sucede porque tenemos configurado "statement_timeout" a nivel general, esta configuración también está afectando las sentencias ejecutadas por pg_dump (esto sucede al menos con PostgreSql 8.1). Este se soluciona seteando la siguiente variable de entorno:
~# export PGOPTIONS="-c statement_timeout=0"
~# pg_dump test_db
También podemos hacerlo en 1 línea
~# PGOPTIONS="-c statement_timeout=0" pg_dump test_db
o también:
~# env PGOPTIONS="-c statement_timeout=0" pg_dump test_db
Tomado de: http://www.mail-archive.com/pgsql-general@postgresql.org/msg79518.html
Posteado por
Software and Motorcycles
a las
12:58
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
1 comentarios
Labels:
postgresql


martes, 17 de febrero de 2009
Formateo de excepciones en Python
Muy simple:
formatted_lines = traceback.format_exc().splitlines() # hacerlo en el exception handler
exc = "\n".join(formatted_lines)
print exc
Posteado por
Software and Motorcycles
a las
19:07
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
python


jueves, 5 de febrero de 2009
Imports de Python como en Java
En Java, si tenemos 2 directorios con fuentes, y en cada directorio una misma estructura de paquetes, la JVM se encarga automáticamente de buscar cada clase/paquete en los distintos directorios. Por ejemplo, podemos tener src1 y src2 en el classpath, cada directorio con los mismos paquetes:
Desde una clase podemos hacer referencias a Uno y Dos sin mayores problemas, por ejemplo:
Pero con Python esto se complica y no funciona automáticamente. Si tenemos src1 y src2 en el PYTHONPATH, cada directorio con estructura similar:
Con PYTHONPATH=src1:src2
Con PYTHONPATH=src2:src1
Esto se puede solucionar utilizando pkgutil, modificando src1/ejemplo/__init__.py y src2/ejemplo/__init__.py de forma que incluya:
De esta manera, usando "extend_path" logramos lo que buscábamos, independientemente del orden en que están src1 y src2 en el PYTHONPATH.
src1/ar/com/ejemplo/Uno.java
src2/ar/com/ejemplo/Dos.java
Desde una clase podemos hacer referencias a Uno y Dos sin mayores problemas, por ejemplo:
import ar.com.ejemplo.Uno;
import ar.com.ejemplo.Dos;
Pero con Python esto se complica y no funciona automáticamente. Si tenemos src1 y src2 en el PYTHONPATH, cada directorio con estructura similar:
src1/__init__.py
src1/ejemplo/__init__.py
src1/ejemplo/uno.py
src2/__init__.py
src2/ejemplo/__init__.py
src2/ejemplo/dos.py
Con PYTHONPATH=src1:src2
from ejemplo import uno -> importa OK
from ejemplo import dos -> ImportError
Con PYTHONPATH=src2:src1
from ejemplo import uno -> ImportError
from ejemplo import dos -> importa OK
Esto se puede solucionar utilizando pkgutil, modificando src1/ejemplo/__init__.py y src2/ejemplo/__init__.py de forma que incluya:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
De esta manera, usando "extend_path" logramos lo que buscábamos, independientemente del orden en que están src1 y src2 en el PYTHONPATH.
from ejemplo import uno -> importa OK
from ejemplo import dos -> importa OK
Posteado por
Software and Motorcycles
a las
18:27
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
python


lunes, 2 de febrero de 2009
Referencia rápida MySql 5.0
Diariamente trabajo y administro bases de datos PostgreSql, pero cada tanto uso MySql y siempre olvido los comandos para crear BD y usuarios, así que ahí va una referencia rápida sobre cómo hacerlo sobre MySql 5.0 (versión incluida en Debian Etch):
Para crear BD
Para crear un usuario y asignar permisos
Links:
http://dev.mysql.com/doc/refman/5.0/en/server-administration.html
http://dev.mysql.com/doc/refman/5.0/en/adding-users.html
http://dev.mysql.com/doc/refman/5.0/en/passwords.html
Para crear BD
$~ mysqladmin create nombre_base_de_datos
Para crear un usuario y asignar permisos
$~ mysql nombre_base_de_datos
[mysql] create user nombre_usuario identified by '**********';
[mysql] grant all on nombre_base_de_datos.* TO 'nombre_usuario'@'localhost';
[mysql] set password for 'nombre_usuario'@'localhost' = PASSWORD('********');
[mysql] flush privileges;
Links:
http://dev.mysql.com/doc/refman/5.0/en/server-administration.html
http://dev.mysql.com/doc/refman/5.0/en/adding-users.html
http://dev.mysql.com/doc/refman/5.0/en/passwords.html
Posteado por
Software and Motorcycles
a las
12:25
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
mysql


domingo, 1 de febrero de 2009
SocketProcessId.getpid could not get unique port
Intentando ejecutar JBoss 5 (la versión para Java 6) en Ubuntu me apareció el siguiente error:
No sé exactamente cuál era el problema, pero lo pude solucionar mapeando al IP correcto el nombre de host que devuelven los comandos "hostname" y "hostname -f".
Ejemplo:
#~ hostname -f
unhost.example.com
Antes de solucionar el problema, "unhost.example.com" tenía asociado un IP incorrecto (o sea, un IP que no correspondía a ningun IP del sistema). Para solucionar el problema asocié a "unhost.example.com" el IP de la placa de red.
Esta cuestión también impide que Glassfish 2.1 arranque correctamente.
2009-02-01 02:49:32,115 INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Setting up property manager MBean and JMX layer
2009-02-01 02:49:32,788 DEBUG [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (main) [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 4713
2009-02-01 02:49:32,812 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Create: name=TransactionManager state=Configured com.arjuna.ats.arjuna.exceptions.FatalError: [com.arjuna.ats.internal.arjuna.utils.SocketProcessId_2] - SocketProcessId.getpid could not get unique port.
at com.arjuna.ats.internal.arjuna.utils.SocketProcessId.getpid(SocketProcessId.java:105)
at com.arjuna.ats.arjuna.utils.Utility.getpid(Utility.java:277)
at com.arjuna.ats.arjuna.common.Uid.(Uid.java:105)
at com.arjuna.ats.arjuna.utils.Utility.getProcessUid(Utility.java:289)
at com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem.(TransactionStatusManagerItem.java:366)
at com.arjuna.ats.internal.arjuna.recovery.TransactionStatusManagerItem.createAndSave(TransactionStatusManagerItem.java:84)
at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start(TransactionStatusManager.java:145)
at com.arjuna.ats.arjuna.recovery.TransactionStatusManager.(TransactionStatusManager.java:72)
at com.arjuna.ats.arjuna.coordinator.TxControl.(TxControl.java:355)
at com.arjuna.ats.jbossatx.jta.TransactionManagerService.create(TransactionManagerService.java:178)
(y continúa...)
No sé exactamente cuál era el problema, pero lo pude solucionar mapeando al IP correcto el nombre de host que devuelven los comandos "hostname" y "hostname -f".
Ejemplo:
#~ hostname -f
unhost.example.com
Antes de solucionar el problema, "unhost.example.com" tenía asociado un IP incorrecto (o sea, un IP que no correspondía a ningun IP del sistema). Para solucionar el problema asocié a "unhost.example.com" el IP de la placa de red.
Esta cuestión también impide que Glassfish 2.1 arranque correctamente.
Posteado por
Software and Motorcycles
a las
2:48
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
glassfish,
jboss


jueves, 29 de enero de 2009
Django + tsearch2
Encontré 2 artículos explicando cómo usar tsearch2 de PostgreSql desde Django, para realizar búsquedas de texto de forma eficaz.
- http://www.rossp.org/blog/2009/jan/28/django-postgresql-fulltext/
- http://barryp.org/blog/entries/postgresql-full-text-search-django/
- http://www.rossp.org/blog/2009/jan/28/django-postgresql-fulltext/
- http://barryp.org/blog/entries/postgresql-full-text-search-django/
Posteado por
Software and Motorcycles
a las
14:49
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
django,
postgresql,
python


Fuentes (fonts)
Encontré en lwn.net un artículo sobre fuentes con licencias libres:
Una página que he usado alguna vez es http://www.dafont.com, tiene muchas fuentes, aunque no todas con licencias libres.
- Open Font Library: A sister-site to the Creative Commons' Open Clip Art Library, the Open Font Library is the largest single repository of free fonts, with over 100 selections — a small number compared to proprietary fonts, but a much larger number than even a few years ago. The site includes users' reviews, tags, and ratings, as well as remixes of various fonts.
- SIL Font Downloads: This is the main site for free fonts for language support, especially for minority languages, but also for the full range of western and eastern European languages, Cyrillic, Greek, and Hebrew. Some of these typefaces are so obscure that only specialists will use them regularly, but they include a number of general purpose fonts for English and other western European Languages, such as Gentium, Charis SIL and Doulos SIL.
- Raph Levien's fonts:A maintainer for GhostScript, Raph Levien also designs some of the best free fonts for everyday use. Be warned, though, that these are works in progress, and some are not be completely ready for use.
- Linux Libertine: Linux Libertine is designed as a free replacement for the ubiquitous Times Roman. Its letters are designed to have the same proportions as those of Time Roman, so that, when a recipient's machine replaces Linux Libertine in a document with Times Roman, your document's design does not suffer.
- Liberation fonts: A set of three fonts designed as free replacements for Times Roman, Arial/Helvetica, and Courier — respectively the most commonly used serif, sans serif, and monospace fonts used on Windows.
- DejaVu: DejaVu is a version of the Bitstream Vera family, one of the first free fonts. The main difference is that it includes support for a greater number of international characters.
Una página que he usado alguna vez es http://www.dafont.com, tiene muchas fuentes, aunque no todas con licencias libres.
Posteado por
Software and Motorcycles
a las
13:14
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
fonts


viernes, 23 de enero de 2009
Instalación fácil de librerias en Wine
Encontré un script para instalar de manera fácil las librerias más comunes necesarias para ejecutar con Wine los programas para Windows: "winetricks is a quick and dirty script to download and install various redistributable runtime libraries sometimes needed to run programs in Wine"
http://wiki.winehq.org/winetricks
http://wiki.winehq.org/winetricks
Posteado por
Software and Motorcycles
a las
15:27
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
0
comentarios
Labels:
linux,
wine


Suscribirse a:
Entradas (Atom)