Hay días que…

Hay días que uno parece que está peleado con el mundo, que todo se complica y parece que no hay forma. Hay días que la consola de Linux te parece que está escrita en chino.

consola-chino

Supongo que sobretodo pasa cuando uno acaba de volver al trabajo de unas estupendas vacaciones, pero ya llevo dos días de locura. Ayer terrible pelea con Liferay para conseguir migrarlo de un jboss a otro, y al final salimos victoriosos y hoy luchando a brazo partido con un bug de jboss que parece se corrige utilizando un conector nativo que únicamente nos funciona si levantamos el servicio cómo root. Pero mi religión me impide hacer eso, cómo comentaba con @Ismas por twitter, y llegamos a la conclusión que ni Dios es un demonio ni está para atender peticiones de los usuarios de este mundo. Me recuerda a Quo Vadis, que pasaron religiosamente por Semana Santa, en la escena que los comandantes romanos entran en sus cuadrigas pero llevan un tio detrás que no para de decirles: «Recuerda que tan sólo eres un hombre». Así que con eso en mente, mañana volveremos a la carga, con el aliciente de que ya estaremos a Viernes. ¡Fuerza y honor!

Ideando una aplicación para Facebook

El gusanillo de programar algo en mi tiempo libre me viene picando hace unos meses. Mi especialidad no es la de programación y en el trabajo no suelo practicarla mucho pero tampoco es que me desagrade y a veces siento que estaría bien dedicarle algo de tiempo. Por otro lado el tema de las redes sociales me gusta bastante así que mi primer impulso ha sido probar que tal lo de desarrollar aplicaciones para facebook.

Así que este sábado que el día amaneció completamente gris le propuse a Lili que pensaramos en una aplicación sino para conquistar el mundo al menos para hacernos multimillonarios. Es un ejercicio interesante y muy recomendable para realizar de vez en cuando, así que pensamos que aplicaciones nos gustaría o pensábamos que no existirían en Facebook y que de alguna manera podríamos rentabilizarlas a largo plazo.

cabeza pensante

La primera idea fue lanzarnos hacia algo tipo apuestas. Por ejemplo poder hacer la quiniela para ver si acierto más que mis amigos, o decir quién va a ganar la carrera de formula 1, etc… En el curro hacíamos la quiniela mediante un Google Doc y era divertido comprobar quién era el que había acertado menos y tal. Además un punto a favor es que podríamos empezar por algo pequeño y luego ir añadiendo módulos, y una vez adquirida una buena base de usuarios no sería difícil hacer algo de pasta, por ejemplo por publicidad. Pero a continuación comprobamos cuantos programas de ese tipo ya estaban en marcha en Facebook y había cientos, con lo que la idea perdía originalidad. Igual habríamos sido capaces de mejorar sus aplicaciones y con una buena difusión haber ganado posicionamiento en el directorio, pero se veía un campo con demasiada competencia.

Así que seguimos investigando qué podríamos inventar que no existiera. Liliana propuso una aplicación para intercambios de casa durante las vacaciones basado en gente que ofreciera su casa a través de la aplicación y apoyarte en encontrar amigos de tus amigos que conocieran a esa persona para establecer una red de confianza. Otra posibilidad sería que gente que ya hubiera intercambiado con ellos votara positivamente a la gente en la que se puede confiar. Lo malo es que sería un poco complicado encontrar gente dispuesto a probarlo y por eso no me animé mucho a tirar por aquí, pero la idea de redes de confianza con amigos es un area en la que sí me gustaría ahondar.

Entonces pasamos a la fase de… ¿qué hechas de menos en facebook? Una de las primeras cosas que se me ocurrió es que se podría mejorar el sistema de chat para que se realizara por voz y la forma más sencilla me pareció apoyarse en sistemas externos cómo skype. De nuevo comprobé que había por ahí hecho y ví que hay alguna aplicación que te deja mostrar tu estado en skype e iniciar una llamada, pero al parecer debido a una de las restricciones de facebook que no permite meter elementos en el perfil que requieran javascript, el estado no aparece en un lugar accesible y se pierde mucho la utilidad. Así que estas aplicaciones no me parecieron suficientemente completas e igual se podría hacer algo por ahí.

Luego pensé en la opción de hacer algún jueguecillo y el primero que me vino a la mente fue el Party, porque sería divertido poder jugar a cosas cómo adivinar los dibujos, las marcas, etc… con tus contactos y es algo que puede jugarse de forma asíncrona y por puntos. Así que de nuevo me fuí al directorio de aplicaciones y probé algunas similares a lo que quería hacer y aunque no me convenció ninguna empecé a pensar que igual lo que no me convencía era la idea del todo.

Aparte del brainstorming inicial decidí toquetear un poquito y crear una pequeña aplicación de prueba. El sistema es muy sencillo y se basa en crear una aplicación en tu propio servidor en php incluyendo unas librerías específicas de facebook, luego añades la aplicación developer en facebook y creas una aplicación que apunta a la que has creado en tu servidor. Luego mediante la API y FBML es fácil crear aplicaciones, en menos de media hora puedes tener una aplicación tonta que muestre todos tus contactos con sus fotos y ver cómo funciona todo el tinglao: turetest1 (pinchar el enlace para probarla).

¿Se os ocurre alguna otra idea interesante? ¿Alguien se apunta a conquistar el mundo? 😀

Empaquetando (II)

En primer lugar deciros que ya está disponible para descarga el primer paquete Debian de las Soluciones Andago, en este caso se trata de OpenGeoServices y podéis descargarlo aquí, y probarlo sobre Debian Etch, tras rellenar un pequeño formulario de registro. Cualquier comentario o problema que encontréis no dudéis en enviarmelo.

Mientras tanto he seguido depurando mis paquetillos y aprendiendo de los errores que voy cometiendo, así que voy a comentar un poco más sobre el proceso de empaquetado para dummies, como un servidor.

Un tema muy importante que debemos tener en cuenta a la hora de crear nuestro paquete es el proceso de actualización del mismo. Una vez que nuestro paquete ha sido distribuido y decidimos empaquetar una nueva versión, debemos dominar el proceso exacto de actualización de dicho paquete. Yo inicialmente pensaba que el paquete se actualizaba encima del anterior mientras que algunos compañeros apostaban porque primero se desinstalaba el anterior para dejar paso a la instalación del nuevo. Bueno pues el sitio correcto para comprobarlo era la página man de dpkg que nos indica cuál es el proceso de instalación de un paquete, y lo que ocurre si ya hay una versión anterior del mismo instalada.

dpkg -i | –install package-file…

La instalación consiste en los siguientes pasos:

1. Extraer los ficheros de control del nuevo paquete.
2. Si ya se había instalado otra versión del mismo paquete antes de la nueva instalación, se ejecuta el script prerm del viejo paquete.
3. Se lanza el script preinst, si el paquete dispone de uno.
4. Desempaquetamos los nuevos ficheros, y al mismo tiempo hacemos backup de los viejos, para que en caso de que algo vaya mal, puedan ser restaurados.
5. Si ya se había instalado otra versión del mismo paquete antes de la nueva instalación, se ejecuta el script postrm del viejo paquete. Tenga en cuenta que este script se ejecuta después del script preinst del nuevo paquete, ya que los nuevos ficheros se escriben al mismo tiempo que se borran los viejos.
6. Se configura el paquete. Consulta –configure para información detallada de cómo se realiza esto.

Así que el siguiente paso sería el de configure habitual:

dpkg –configure package …

La configuración consiste en los siguientes pasos:

1. Desempaquetes los ficheros de configuración, y al mismo tiempo hacer backup de los antiguos ficheros de configuración, de forma que puedan ser restaurados si algo va mal.

2. Lanzar el fichero de postinstalación, si el paquete dispone de uno.

Cómo se observa, se mezclan los scripts de desinstalación del paquete anterior y del nuevo, con lo que desde el principio debemos ser cuidadosos con este tema y tenerlo en cuenta para cuando lancemos una nueva versión del paquete.

Bueno y por ahora voy a dejar de empaquetar programas y empezar a empaquetar mi maleta porque desde esta tarde comienzan mis vacaciones. 😀

Parando el hotlinking

Después de un tiempo de tener el blog un poco abandonado y sin mantenimiento, he sacado un par de ratillos para realizar las típicas tareas de mantenimiento: actualizar la versión de wordpress, revisar las estadísticas que no estaban funcionando, etc…

Comprobando las estadísticas he vuelto a confirmar que un gran número de accesos provienen de imágenes que he usado en algún post y que la gente ha incluido en otras páginas web, pero en lugar de copiarlas las enlazan directamente contra mi servidor. Esta actividad es conocida cómo hotlinking. Anteriormente no me importaba mucho ya que eran muy pocos accesos y además estos estaban servidos por mi ADSL. Ahora que migré el portal al hosting de un amigo, gracias Julito, ya que murió mi servidor casero, y que la actividad se ha multiplicado he decidido tomar medidas. Por ahora he activado un plugin de wordpress para que aparezca una imagen de prohibido en lugar de la imagen normal cuando se enlace directamente a la imagen, si la actividad sigue siendo alta aunque ya no se vea la imagen, pasaré a bloquear directamente esas peticiones con un .htaccess.

Prohibido

La verdad es que sé que voy a perder muchos enlaces entrantes hacia mi página con esta medida, pero realmente me interesan los enlaces al contenido y no a las imágenes.

Sorry people, si os interesa alguna imagen del site, simplemente copiarla a vuestro site y servirla desde ahí.

Hackmeeting + OSWC: ¡viva Málaga!

Ya han pasado unos días desde que regresé de Málaga pero aún no me he recuperado del todo de las emociones que he vivido en esos días. Dos eventos increíbles en tan poco tiempo era una oportunidad que no podía perder y tras hacer lo imposible conseguí estar en los dos: Hackmeeting 0.8 y Open Source World Conference 2008.

Hace ya bastante tiempo que tenía ganas de asistir a algún Hackmeeting pero por A o por B nunca me había sido posible. Esta vez y aprovechando que enlazaba con la OSWC en la que Andago pondría un stand y que se podía aprovechar el viaje para hacer un 2×1 me lancé a asistir, además tras hablar con acs pillamos el hotel a medias con su correspondiente reducción de coste :D. Me encantó el ambiente del hackmeeting, esas ganas de colaborar entre todos para llevar a cabo el evento, charlar con la enorme diversidad de gente que asistía al evento, los nodos que se prepararon y la energía que se genera entre todos.

El CSOA de la casa invisible es encantador con su enorme patio, su tetería y todo el espacio para realizar las charlas y eventos. Al principio me sentí un poco extraño en un ambiente tan alternativa pero poco a poco te acoges a la dinámica y empiezas a pasarlo bien. Yo llegué ya por la noche, así que no pude estar en la manifestación, parodiando una misa de alabanza a root, que según me cuentan fue muy divertida y que luego se repitió en el pabellón de la OSWC unos días más tarde. Mi primer contacto fue con la asamblea general del Hackmeeting dónde me enteré mucho mejor de cómo funcionaba y se coordinaba la gente.

Ya al día siguiente, después de hacer un poco el cabra y de turismo por la playa, estuvimos trasteando un poco con Arduino, la verdad es que me sorprendió lo fácil que es hacer cosas con estas plaquitas y las muchas posibilidades que te ofrecen. Por la noche estuvo muy interesante la cena en un chino con acs y Mirian Ruiz dónde charlamos sobre Debian, licencias y forjas. Para más tarde, ya a altas horas de la madrugada, asistí a dos nodos sobre web semántica y las posibilidades que nos da el análisis de datos en la red que me despejaron completamente. Quizás, y fue un tema muy comentado, eché de menos más nodos de seguridad y demás temática hack, aunque la parte social del evento también me interesaba.

El domingo me tocó currar de lo lindo, ya que el lunes Andago liberaba Opencities 2.0 en la OSWC y había que hacer algunos retoques a los paquetes y demás así que no pude acercarme por la invisible a despedirme, un saludo a todos desde aquí. Aún así saqué un ratito para quedar a comer con mi colega Sean que me llevó a disfrutar de los chiringuitos malagueños.

Y por fin llegó el Lunes ya se abría la OSWC en la que Andago participaba cómo patrocinador y en la que desplegamos un stand y se impartían varias charlas sobre nuestras soluciones. La verdad es que de siempre me han encantado las ferias y me hacía ilusión participar en una desde dentro. La participación fue enorme y desde el primer día la gente abarrotaba los stands y las salas de conferencias.

En cuanto a las charlas me gustó bastante la de Tim O’Reilly aunque me decepcionó un poco que restara importancia a los logros que hemos conseguido ya en el software libre, minimizándolo frente otros logros y ensalzando el modelo de nube que se está generando ahora. Para mí algunos problemas que genera este nuevo modelo son la perdida de privacidad, la perdida de control sobre las aplicaciones, la imposibilidad para cualquier persona para reproducir el desarrollo de forma personal o corporativa (no todo el mundo tiene granjas de servidores) y que muchas de las soluciones no son libres, eso sí son muy cómodas y muy potentes pero entramos en el debate de siempre. Luego estuve un rato por las charlas de desarrollo con Arduinos cómo la de cuadrúpedos libres.

Una de las cosas que más pena me dio es volver a comprobar la imposibilidad de coordinación que hay entre administraciones públicas y demás estamentos. Antes se trataba de las distribuciones regionales en la que ha sido muy difícil llegar a reutilizar los esfuerzos de unas para las otras y ahora le toca el turno a la forjas. ¿Ya tienes tu propia forja en casa? Pues en la OSWC pudimos ver cómo empujando cada uno para un sitio se diluye el esfuerzo y oímos hablar de OSOR, VULCANO, el CTT y demás que vienen a unirse las que ya teníamos a nivel regional cómo las de Cataluña y Galicia, así cómo a la de rediris y otras internacionales cómo Sourceforge. Señores pongase de acuerdo y colaboren, ¿no va esto de eso? Ahí va otro ejemplo, en una charla del CENATIC afirman haber creado el primer directorio de empresas de fuentes abiertas de España… no sé si habría algún matiz de esos de abogado en la frase pero señores, estudien la historia que ya ha habido unas cuantas. Y sin olvidar cuando salen a la palestra las grandes empresas y se dedican a medirse los miembros… yo tengo más gente, yo tengo más desarrollos, yo tengo los más antiguos y yo los más bonitos. Muy bien señores, mientras favorezcan al software libre cuanto más tengan mejor para todos.

Me gustó bastante la tanda de charlas de virtualización OpenXVM, OpenVZ y ModularIT que confirman las grandes posibilidades que tiene el software libre en este campo cada día más extendido entre las empresas. Mientras que la otra cara de la moneda fue la charla de SUN supuestamente titulada: Glassfish + Mysql + Netbeans en la que se presentó un tipo a restregarnos toda su suite de software privativo (Vista + Powerpoint) y en la que se dedicó a mal bajarse el paquete de Netbeans y hacer una triste JSP con el asistente. A la próxima, por favor, titule la charla «Cómo hacer un JSP en 40 minutos» y se ahorrará mi presencia.

Me perdí la charla de los «gurús» y estoy esperando que la suban a la web del OSWC. Y por último estuve en una charla sobre asociaciones de empresas de Software Libre en la que presentaba la gente de Asolif y representantes de Amesol, que sería su versión Mexicana. Al terminar la charla me quedé un rato platicando con los cuates de Amesol y me dio mucho gusto ver que las cosas se mueven por allí también, quién sabe dónde puede acabar uno 😉 . Por último conseguí, tras una hora de cola, hacerme con mi certificado digital de la fábrica nacional de moneda y timbre, que hace tiempo quería conseguir pero nunca sacaba tiempo para hacer el trámite.

En definitiva me encantó la OSWC y creo que estos eventos dan un gran impulso al Software Libre a todos los niveles: institucional, empresarial y personal, mi enhorabuena a los organizadores. Quizá la única pega que se produce al haber tanta gente es que es más difícil el consabido «networking», es decir conocer gente interesante, charlar, hacer negocios, etc… cosa que creo que en el congreso Hispalinux del año anterior era algo más cercano.

Jboss for administrators

La semana pasada asistí al curso JB336: Jboss for administrators que impartía la gente de Red Hat. Las sensaciones han sido bastante satis satisfactorias y he aprendido bastante por lo que quería hacer un post sobre el tema.

Lo primero que me llamó la atención del curso y lo que me llevó a solicitar a mi empresa que me inscribiera fue su orientación hacia la administración y no tanto hacia el desarrollo. Llevamos algunos meses buscando un experto en servidores de aplicaciones sin éxito con lo que decidimos impulsar el conocimiento dentro de la propia empresa y este curso venía cómo anillo al dedo.

Este es el segundo curso que hago con la gente de RedHat, el primero fué el de certificación RHCE, y en ambos casos he acabado bastante satisfecho, eso sí cómo siempre lo bueno sale caro, pero al final terminas amortizándolo a el largo plazo con la mejora que puedes aplicar a tu trabajo con un conocimiento orientado en la dirección correcta.

De toda la vida he sito muy contrario a la filosofía JAVA y a todo lo que la rodea optando siempre por otras alternativas, pero su amplía difusión me ha llevado a tener que lidiar con ella finalmente y espero que esta nueva amistad tenga un final feliz.

El primer día de curso me pareció un tanto teórico pero me ayudó a afianzar muchos conceptos del mundo JAVA y de los servidores de aplicaciones que tenía algo entremezclados. Pero a partir del segundo día nos pusimos a darle caña al servidor profundizando en temas interesantes cómo los procedimientos de despliegue de aplicaciones, temas de rendimiento y tunning, balanceo de carga y alta disponibilidad, seguridad, etc… La arquitectura de JBoss es bastante flexible y extremadamente potente con lo que nos va a permitir muchas posibilidades a la hora de ponerlo en producción.

Por último comentar que he vuelto a reafirmar mi posición respecto a lo increíble que es recibir formación de gente experta en un tema que ha tenido que lidiar con ella en entornos de producción y que sabe muy bien de lo que está hablando frente a la formación académica que se recibe en muchos casos en la Universidad por un profesor que acaba de leer algo sobre el tema en un libro. Quizás por eso el formato muchas veces está cambiando y en muchos master las asignaturas no las imparte un único profesor sino que traen a expertos en la materia para bien de sus alumnos.

The deadline

Se acabaron las vacaciones y ya estoy de vuelta por aquí. La verdad es que han sido diez días de desconexión en el campo bastante buenos, y espero hacer un post dentro de poco sobre esos días. Pero antes de salir de vacaciones pasé por Cocodrilo Libros a ver si cazaba algo interesante sobre JBoss y acabé con un libro sobre Wifi y con una supuesta novela sobre gestión de proyectos… es sobre este libro sobre el que quiero hablaros: The deadline: A novell about project management.

El concepto me atrajo inmediatamente, pues hacía tiempo que estaba especulando con comprar algo sobre gestión de proyectos, pero qué mejor para el verano que combinarlo con el formato novela y además poder practicar un poquito de inglés. La historia trata de un gestor de proyectos al que le proponen el reto de crear una industria informática dentro de un país en vías de desarrollo a través de 6 proyectos que compitan con los más exitosos del momento… las aventuras del señor Tomkins y sobretodo lo que consigue aprender en el desarrollo de los mismos resultan bastante didácticas y al tiempo entretenidas. Además los conceptos mostrados en el libro me han reafirmado mucha de las ideas que tenía sobre la gestión correcta de un proyecto y me han traído muchas más que espero poder llevar a la práctica. De hecho me han dado ganas de comprar otros libros del autor, Tom DeMarco, cómo por ejemplo Peopleware.

Aquí van algunas pinceladas que me han parecido interesantes:

– Añadir más recursos a un proyecto retrasado la mayoría de las veces tan sólo consigue retrasarlo más.
– El abuso de la presión y las horas extras en un proyecto apenas consigue mejorar la productividad de este, mientras que un pequeño apretón de vez en cuando nos dá la sensación de la importancia de nuestro trabajo.
– Las mejoras en la productividad requieren una inversión a largo plazo.
– Es más productivo minimizar los fallos y problemas que intentar mejorar los métodos.
– Un día perdido al principio de un proyecto duele tanto cómo uno al final
– La gente bajo presión no piensa mucho más rápido.
– Lo más perjudicial no es lo que no sabes sino lo que crees que sabes y es incorrecto.

Y añado una que le he oido alguna vez a mi compañero Carlos que siempre me ha parecido muy acertada:

– Las tareas tienden a durar, cómo mínimo, el tiempo que designes para ella.

Si os gusta el tema de la gestión de proyectos, creo que es una buena forma de iniciarse y pasar un rato divertido.

Mayday, ADSL cayendo en barrena

Ya era bastante raro que la ADSL no nos hubiera dado problema antes, todo un record en la historia ya que son más de 2 años con Ya.com… pero llegó el día. Tras las fuertes lluvias de los últimos días, ha sucedido… el router ha perdido la sincronía con la central y tras varios días de pelear con el servicio técnico todavía no saben que le sucede. Cómo siempre la atención telefónica penosa, la mayoría no saben ni de que están hablando y siguen cómo pueden el famoso guiaburros. Aún encima me hacen perder dinero, no sólo porque me abren tarde la incidencia y no me devuelven esos días de ADSL sino porque me hacen llamar al puñetero 902 de pago.

Y cómo siempre los problemas cuando peor podrían venir pues justo habíamos colgado las fotiños de la boda en un gallery privado para que lo vieran la familia y amigos y todo el mundo escribiendonos diciendo que el link no funciona. Al tenerlo todo colgado en un servidor en casa que cuelga de la ADSL es lo que tiene. Pero bueno, lo importante es tener amigos que te puedan echar un cable, y ya tengo la página web arriba y espero que el gallery en unas horas, cuando termine de subir las fotos por el famoso WIFI-del-vecino. ¡Gracias Julito por el hospedaje! Cuidado que cómo me guste mucho me quedo aquí parasitando. ¡Gracias vecino por estar siempre ahí cuando uno se queda sin internet!