viernes, 9 febrero 2007

El secleteo de la trlompeta

Posted by angel at 9:38 AM in Personales

jueves, 8 febrero 2007

Leva's Polka

Posted by angel at 11:17 AM in Personales

miércoles, 7 febrero 2007

Apuntes maven2

Consultar versi'on que est'a usando de un plugin
mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-site-plugin
Posted by angel at 10:57 AM in Java

miércoles, 19 julio 2006

ant javac OutOfMemory

Al ejecutar un ant que genera un war, en el momento de compilar los jsps me da un error de memoria.
¿Cómo asiganr más memoria al proceso del ant?
Pues, el proceso es tan sencillo como en el resto de las aplicaciones java:
ANT_OPTS="-Xms512m -Xmx512m" ant WarProduccion
Posted by angel at 6:44 PM in Java

viernes, 16 junio 2006

Dejando bonitas las fuentes

Me refiero a dejar bonitas las fuentes de las aplicaciones Java, por supuesto.
Voy a lista aquí una serie de utilizades que he econtrado para este menester:
  • Checkstyle.- Parece bueno Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.
  • Artistic Style.- Sólo indenta
  • ImportScrubber.- Organizador de imports.
    Tiene limitaciones muy gordas: Ver
  • Jacobe.-
  • JCSC.- Muchos chequeos distintos.
  • PMD.- Parece bueno. PMD scans Java source code and looks for potential problems.
  • Jlint.- El autor dice que es muy rapido, y no me estraña. Está hecho en C.
    Jlint will check your Java code and find bugs, inconsistencies and synchronization problems
  • Ick.- Import management tool for Java programs written in Java.
    Sencillo, pero hace su labor.
En cuanto los tenga probados comento algo.
Posted by angel at 5:14 PM in Java

miércoles, 29 marzo 2006

Chequear integridad referencial en MySQL

He encontrado esta maravilla de script. Sirve para chequear la integridad referencial en todas las tablas de una base de datos. La url origina: En la web del Mysql El script modificado para que funcione con el MySQL 4.1:
#!/bin/sh

# check_constraints.sh
# --------------------
# Check foreign key contraints on MySQL database.
#
# Written by Frank Vanderhallen, licensed under GPL.

if [ -z "$1" ]
then
echo "Usage: ./`uname $0`  [-h ] [-u user] [-p ]\n"
exit
fi

CONSTRAINTS=`mysqldump $* | grep "CREATE\|CONSTRAINT" | sed 's/ /+/g'`

for c in $CONSTRAINTS
do
if [ "`echo $c | cut -d '+' -f 3`" = "CONSTRAINT" ]
then
CONSTRAINT=`echo $c | cut -d '+' -f 4 | tr -d '\`'`
CHILD_KEY=`echo $c | cut -d '+' -f 7 | tr -d '()\`,'`
PARENT_TABLE=`echo $c | cut -d '+' -f 9 | tr -d '\`'`
PARENT_KEY=`echo $c | cut -d '+' -f 10 | tr -d '()\`,'`
QUERY="select c.$CHILD_KEY from $CHILD_TABLE as c left join $PARENT_TABLE as p on p.$PARENT_KEY=c.$CHILD_KEY where c.$CHILD_KEY is not null and p.$PARENT_KEY is null;"
echo "Checking table '$CHILD_TABLE' constraint '$CONSTRAINT'"
mysql $* -e "$QUERY"
else
CHILD_TABLE=`echo $c | cut -d '+' -f 3`
fi
done
Posted by angel at 6:24 PM in Linux

viernes, 17 marzo 2006

Dividir imagen en cuatro

Tengo una imagen jpg que ocupa 8132x4628 y quiero imprimirla.
Es un modelo de datos y al imprimirlo sale tan pequeño que es imposible leerlo.
Lo quiero dividir en 4 imagenes:
$ convert -crop 4066x2314+0+0 modelo.jpg modelo11.jpg
$ convert -crop 4066x2314+4066+0 modelo.jpg modelo12.jpg
$ convert -crop 4066x2314+4066+0 modelo.jpg modelo21.jpg
$ convert -crop 4066x2314+4066+2314 modelo.jpg modelo22.jpg
O más fácil todavía:
$ convert modelo.jpg -crop 4066x2314 modelo%d.jpg
Posted by angel at 11:27 AM in Linux

lunes, 15 agosto 2005

Dos monitores con una ATI Radeon 9000

Problema.

Quiere usar dos monitores al estilo Xinerama pero en el portátil.
Debido a que es un portátil, no puedo usar otra tarjeta de video que no sea la que lleva integrada, por lo que no vale la forma en que procedí en otra ocasión, con un sobremesa con dos tarjetas de video (Vease blog anterior).

Solución.

Aquí está el xorg.conf resultante:
Section "DRI"
	Mode 0666
EndSection

Section "ServerFlags"
	Option "Xinerama"
EndSection

Section "Module"
	Load "extmod"
	Load  "record"
	Load  "dbe"
	Load  "dri"
	Load  "glx"
	Load  "freetype"
	Load  "type1"

	Load  "xtrap"
	Load "record"

EndSection

Section "Files"
	RgbPath      "/usr/lib/X11/rgb"
	ModulePath   "/usr/lib/modules"
	FontPath     "/usr/share/fonts/misc/"
	FontPath     "/usr/share/fonts/TTF/"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/CID/"
	FontPath     "/usr/share/fonts/75dpi/"
	FontPath     "/usr/share/fonts/100dpi/"
        FontPath   "/usr/share/fonts/75dpi/:unscaled"
        FontPath   "/usr/share/fonts/100dpi/:unscaled"
        FontPath   "/usr/share/fonts/100dpi"
        FontPath   "/usr/share/fonts/75dpi"
        FontPath   "/usr/share/fonts/Speedo"
        FontPath   "/usr/share/fonts/corefonts"
        FontPath   "/usr/share/fonts/cyrillic"
        FontPath   "/usr/share/fonts/encodings"
        FontPath   "/usr/share/fonts/freefont"
        #FontPath   "/usr/share/fonts/local"
        FontPath   "/usr/share/fonts/terminus"
        FontPath   "/usr/share/fonts/ttf-bitstream-vera"
        FontPath   "/usr/share/fonts/ukr"
        FontPath   "/usr/share/fonts/unifont"
        #FontPath   "/usr/share/fonts/util"
        FontPath   "/usr/share/fonts/artwiz"
	FontPath "/usr/share/fonts/cronyx/100dpi/:unscaled"
	FontPath "/usr/share/fonts/cronyx/misc/:unscaled"
	FontPath "/usr/share/fonts/cronyx/75dpi/:unscaled"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option "XkbModel"   "pc105"
	Option "XkbLayout"  "es"
	Option "AutoRepeat" "500 5"
	#Option "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
	Identifier  "USBMouse"
	Driver      "mouse"
	Option "Protocol"    "ImPS/2"
	Option "Device"      "/dev/input/mice"
	Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
	Identifier      "SynapticsTouchpad"
	Driver          "synaptics"
	Option          "Device"        "/dev/psaux"
	Option          "ZAxisMapping"  "4 5"
	Option          "Edges"         "1900 5400 1800 3900"
	Option          "Finger"        "25 30"
	Option          "MaxTapTime"    "180"
	Option          "MaxTapMove"    "220"
	Option          "VertScrollDelta"       "100"
	Option          "MinSpeed"      "0.02"
	Option          "MaxSpeed"      "0.18"
	Option          "AccelFactor"   "0.0007"
	Option          "SHMConfig"     "on"
	Option          "UpDownScrolling"       "on"
	Option          "Protocol"      "ImPS/2"
	Option          "CorePointer"   ""
EndSection




Section "Monitor"
	#DisplaySize	  310   230	# mm
	Identifier   "Monitor0"
	VendorName   "AUO"
	ModelName    "f03"
	HorizSync    27.0 - 90.0
	VertRefresh  40.0 - 60.0
	Option "DPMS"
EndSection

Section "Monitor"
	#DisplaySize      300   230     # mm
	Identifier   "Monitor1"
	VendorName   "AOC"
	ModelName    "LM520/LM520A"
	HorizSync    30.0 - 63.0
	VertRefresh  55.0 - 75.0
	Option      "DPMS"
EndSection

# === ATI device section ===

Section "Device"
    Identifier                          "ATI Graphics Adapter connector 0"
    # Driver                              "fglrx"
Driver "ati"
# ### generic DRI settings ###
# === disable PnP Monitor  ===
    #Option                              "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === misc DRI settings ===
    Option "mtrr"                       "off" # disable DRI mtrr mapper, driver has its own code for mtrr
# ### FireGL DDX driver module specific settings ###
# === Screen Management ===
    Option "DesktopSetup"               "0x00000000" 
    Option "MonitorLayout"              "LVDS, CRT"
    Option "IgnoreEDID"                 "off"
    Option "HSync2"                     "31.5       " 
    Option "VRefresh2"                  "20 - 60" 
    Option "ScreenOverlap"              "0" 
# === TV-out Management ===
    Option "NoTV"                       "yes"     
    Option "TVStandard"                 "NTSC-M"     
    Option "TVHSizeAdj"                 "0"     
    Option "TVVSizeAdj"                 "0"     
    Option "TVHPosAdj"                  "0"     
    Option "TVVPosAdj"                  "0"     
    Option "TVHStartAdj"                "0"     
    Option "TVColorAdj"                 "0"     
    Option "GammaCorrectionI"           "0x00000000"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00000000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "off"
# === Center Mode (Laptops only) ===
    Option "CenterMode"                 "off"
# === Pseudo Color Visuals (8-bit visuals) ===
    Option "PseudoColorVisuals"         "off"
# === QBS Management ===
    Option "Stereo"                     "off"
    Option "StereoSyncEnable"           "1"
# === FSAA Management ===
    Option "FSAAEnable"                 "no"
    Option "FSAAScale"                  "1"
    Option "FSAADisableGamma"           "no"
    Option "FSAACustomizeMSPos"         "no"
    Option "FSAAMSPosX0"                "0.000000"
    Option "FSAAMSPosY0"                "0.000000"
    Option "FSAAMSPosX1"                "0.000000"
    Option "FSAAMSPosY1"                "0.000000"
    Option "FSAAMSPosX2"                "0.000000"
    Option "FSAAMSPosY2"                "0.000000"
    Option "FSAAMSPosX3"                "0.000000"
    Option "FSAAMSPosY3"                "0.000000"
    Option "FSAAMSPosX4"                "0.000000"
    Option "FSAAMSPosY4"                "0.000000"
    Option "FSAAMSPosX5"                "0.000000"
    Option "FSAAMSPosY5"                "0.000000"
# === Misc Options ===
    Option "UseFastTLS"                 "0"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "yes"
    Option "ForceGenericCPU"            "no"
    BusID "PCI:1:0:0"    # vendor=1002, device=4c66
    Screen 0
EndSection

Section "Device"
    Identifier                          "ATI Graphics Adapter connector 1"
#    Driver                              "fglrx"
Driver "ati"
    BusID "PCI:1:0:0"    # vendor=1002, device=4c66
    Screen 1
EndSection

# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present.  Each describes
# the configuration of a single screen.  A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
    Identifier  "Screen0"
    Device      "ATI Graphics Adapter connector 0"
    Monitor     "Monitor0"
    DefaultDepth 24
    #Option "backingstore"

	SubSection "Display"
		Depth     24
		# Virtual   2048 768
		Modes    "1024x768" "800x600" "640x480"
		ViewPort    0 0  # initial origin if mode is smaller than desktop
	EndSubSection
	SubSection "Display"
		Depth     16
		# Virtual   2048 768
		Modes    "1024x768" "800x600" "640x480"
		ViewPort    0 0  # initial origin if mode is smaller than desktop
	EndSubSection

EndSection

Section "Screen"
    Identifier  "Screen1"
    Device      "ATI Graphics Adapter connector 1"
    Monitor     "Monitor1"
    DefaultDepth 24
    #Option "backingstore"

	SubSection "Display"
		Depth     24
		# Virtual   2048 768
		Modes    "1024x768" "800x600" "640x480"
		ViewPort    0 0  # initial origin if mode is smaller than desktop
	EndSubSection
	SubSection "Display"
		Depth     16
		# Virtual   2048 768
		Modes    "1024x768" "800x600" "640x480"
		ViewPort    0 0  # initial origin if mode is smaller than desktop
	EndSubSection
EndSection


# **********************************************************************
# ServerLayout sections.
# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes
# the way multiple screens are organised.  A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option.  In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.

Section "ServerLayout"

# The Identifier line must be present
    Identifier  "Server Layout"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens.  The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen.

    Screen "Screen0"
    Screen "Screen1" RightOf "Screen0"

# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used.  Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

    InputDevice	"USBMouse" "CorePointer"
    InputDevice	"Keyboard0" "CoreKeyboard"

EndSection

### EOF ###




Posted by angel at 5:34 PM in Gentoo

domingo, 24 julio 2005

Xinerama, nVidia Geforce4 MX440 y S3 ViRGE/DX

Creía que iba a ser más difícil.
La única dificultad que me he encontrado ha sido a la hora de detectar el bus PCI donde está enchufada la s3virge, para indicarlo en el parámetro BusID del xorg.conf
Resulta que es el valor que nos devuelve lspci, pero en decimal.
En mi caso:
0000:00:0c.0 VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 01) -> 00:0c.0 -> BusID 0:12:0
0000:01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3) -> 01:00.0 -> BusID 1:0:0
Links: Xinerama, un ejemplo práctico
Posted by angel at 10:24 PM in Gentoo

miércoles, 6 julio 2005

Gazpacho.

Llevo ya casi 15 días sólo.
Mi mujer y mi hijo están de vacaciones en Santander, y yo de Rodríguez.
Me iba a hacer un gazpacho, pero, al mirar en la nevera, he visto con sorpresa que la cebolla y los pepinos tienen una capa de moho de un par de centímetros.
Esto no lo había visto desde que vivía en piso compartido con los colegas (Un saludo a Toni, Berto y Kike).
Suerte que me he dado cuenta, porque el moho se estaba apoderando de la nevera.
Así que, como medida de emergencia, he cogido el teléfono y he llamado a mi mamá (que también está de vacaciones en la playa, en Mazarrón).
Le he contado mi gran problema y me ha dado ánimos y una receta de gazpacho sin cebolla y sin pepino.
Me dispongo a escribirla aquí para que no se me olvide:

Ingrediente:

  • Pan duro de ayer en remojo.
  • 6 tomates. Pelados para no encontrar los trocitos de pellejo.
  • Un poquito de sal.
  • 3/4 de un vaso tamaño "vaso de agua" lleno de aceite de oliva (Si es de un grado mejor).
  • Un chorreoncillo de vinagre.
  • 2 dientes de ajo.
  • 2 llemas de huevos. Ojos, sólo las yemas!!!

Todo esto en la batidora y a batir!!
Se mete en el congelador para que se refresque un poco y ya tengo la cena preparada.

Posted by angel at 8:23 PM in Recetas de cocina y de demás.

miércoles, 7 diciembre 2005

VOIP.

Direcciones de interés:
  • En castellano:
  • En inglés:
  • Distribuciones:
  • Posted by angel at 11:33 AM in Linux

    miércoles, 3 agosto 2005

    PHP en un servidor Tomcat 5

    El Martes lo explico.
    De momento: http://wiki.apache.org/jakarta-tomcat/UsingPhp
    http://www.google.es/search?q=running+php+in+tomcat&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox&rls=org.mozilla:en-US:unofficial
    http://www.google.es/search?hl=es&q=SAPI+php+tomcat&btnG=B%C3%BAsqueda&meta=
    http://www.php.net/manual/tw/ref.java.php#java.servlet
    http://analogueboy.blogspot.com/#106959689637832829
    Posted by angel at 8:28 PM in Linux

    viernes, 25 noviembre 2005

    Demasiado cool para ie

    Pues eso: En este link te cuenta como poner el logotipo.
    http://www.w3junkies.com/toocool/join.php?language=es
    Posted by angel at 12:40 PM in xhtml y css

    miércoles, 20 julio 2005

    Direcciones de interés [Linux]

    A continuación listo urls interesante relacionadas con linux:
    Posted by angel at 10:26 AM in Linux

    jueves, 28 julio 2005

    Impresión dos páginas por cara y demás chorradillas

    Vamos a imprir un documento metiendo en un hoja dos páginas del documento y vamos a imprimir estas hojas por las dos caras.
    Para el ejemplo usuaremos el manual de css2.1 que tenemos en pdf.

    • Paso 1.

      Pasamos a ps.
      # pdf2ps css2.1_spa.pdf css2.1_spa.ps
    • Paso 2.

      Generamos dos páginas por hoja.
      # psnup -2 css2.1_spa.ps css2.1_spa_2pps.ps
    • Paso 3.

      Separamos las impares de las pares y las ponemos en orden inverso.
      # psselect -o -r css2.1_spa_2pps.ps css2.1_spa_2pps_impares.ps
    • Paso 4.

      Vamos imprimiendo las hojas impares.
      # lp css2.1_spa_2pps_impares.ps
    • Paso 5.

      Separamos las pares de las impares.
      # psselect -e css2.1_spa_2pps.ps css2.1_spa_2pps_pares.ps
    • Paso 6.

      Imprimimos las hojas pares.
      Una vez que se terminan de imprimir las hojas impares, ponemos en la fuente del papel el taco de folios con la impresión de las hojas impares.
      Imprimimos y se imprimirá por el reverso en blanco de las hojas impares.
      # lp css2.1_spa_2pps_pares.ps

    Ahora vamos a coger una imagen en postcript y la vamos a generar otra en forma de poster.
    Usaremos un ps con el modelo de datos de una aplicación (lógicamente, puede ser cualquier imagen).
    El primer comando generará un poster de cuatro hojas (2x2) en A4, sin márgenes para las marcas que se generan para cortar.
    El segundo lo envía a la impresora.
    # poster -v -c0 -w0 -mA4 -s2 modeloDeDatos.ps > modeloDeDatosPoster.ps
    # lp provercomModelo2.ps

    Fácil, verdad? Luego dicen que linux es complicado.
    Decir que esto vale para cualquier impresora, tanto para la impresora matricial que tienes tirada en el trastero como para la flamante impresora laser en color de la oficina.

    Posted by angel at 8:53 PM in Gentoo