Archivo

Entradas Etiquetadas ‘java’

Arquitectura de Software vista por… pinguinos!

Lunes, 1 de octubre de 2007 6 comentarios

Actualización: Los chicos de ArquiWare ganaron el concurso :D


Hace unos días mientras caminaba por las oficinas de TUXPAN vi algo que me llamó la atención. En la sala de reuniones se encontraban unos compañeros realizando una presentación sobre Arquitectura de Software, especificamente SOA (Service Oriented Architecture), estos temas son comunes en TUXPAN, pero lo raro era que los que escuchaban la presentación se veían demasiado jóvenes, casi niños!!. Esto podría tener varias explicaciones:

  1. Llego la hora de renovar mis lentes de contacto.
  2. Cuando uno pasa los 30, los de 20 parecen de 15, producto de mi pre-vejez y/o “pre-abuelez”.
  3. No contentos con reclutar alumnos destacados de la universidad, ahora estamos llegando a los colegios.
  4. Ninguna de las anteriores

Fue un alivio saber que era “ninguna de las anteriores”. Resulta que alumnos de la UTFSM están realizando un Concurso Escolar de Blogs sobre Ciencia y Tecnología. La idea es que los chicos de Enseñanza Media investiguen sobre un tema que puede ser del area Economía y Negocios o Ciencia y Tecnología para luego crear un blog con los resultados de su investigación. Los alumnos universitarios que organizan se encargan de capacitar a los escolares y sus profesores para que puedan participar en igualdad de condiciones.

Los chicos que visitaron TUXPAN ya publicaron su blog sobre Arquitectura de Software en http://arquiware.blogspot.com. Encontré que les quedó bastante bien para ser tan chicos: sobrio y enfocado en el contenido. No voy a linkear, ni hablar del blog de ejemplo publicado por los organizadores que requiere.. WTF! Internet Explorer!

Encontré genial unos videos que publicaron los chicos de ArquiWare, en donde los conceptos fundamentales de SOA salen explicados de una forma muy didáctica. No esta demás decir que sería bueno motivar a estos chicos dejándoles un comentario en su blog.

La idea del concurso es bastante buena, siempre he pensado que es en la enseñanza media en donde se puede ganar tiempo aprendiendo cosas. Solo hay que ir a clases, estudiar un poco y quedan varias horas para desarrollar lo que uno quiera. La mayoria de los escolares no se dan cuenta del tiempo que tienen disponible, asi que bravo por estos pinguinos!

Tags: , ,

Java 1.3 en Ubuntu Feisty

Lunes, 6 de agosto de 2007 4 comentarios

Esta semana he estado trabajando con unas aplicaciones antiguas que requieren Java 1.3 por la versión del Application Server que están utilizando. Java 1.3 es bastante antiguo y depende de algunas bibliotecas igual de antiguas, piensen en esos tiempos en que no se usaba UTF-8 por omisión en Linux.

Tal como esperaba, no lo pude ejecutar directamente en Ubuntu Feisty, trate de darle algunas pistas al sistema, como el clásico LD_ASSUME_KERNEL pero tampoco tuve éxito. Al final, el procedimiento era bastante sencillo, pero bien podría haber perdido mucho más tiempo en esto. Estoy seguro de que alguien más agradecerá este tip (Hi Aldrin!)

Se necesitan 4 sencillos pasos:

Paso 1: Descargar Java 1.3 desde el sitio de Sun

  • Ir a http://java.sun.com/products/archive/
  • Seleccionar J2SDK 1.3 o J2RE 1.3 segun se necesite. Yo me fui por J2SDK 1.3.1_20

Paso 2: Cambiar los permisos y ejecutar el archivo .BIN para aceptar la licencia y descomprimir el archivo. Recomiendo hacer esto en el directorio /opt

cd /opt
chmod 755 ELARCHIVO.BIN
./ELARCHIVO.BIN

En mi caso, esto generó el directorio /opt/jdk1.3.1_20

Paso 3: Instalar libstdc++ compatible con esta version de Java. Ojo que el numero de version podria cambiar, lo importante es que sea 2.x

apt-get install libstdc++2.10-glibc2.2

Paso 4: Crear un link simbólico para que el binario de java pueda encontrar la biblioteca libstdc++ que espera. Ojo que las versiones pueden cambiar

cd /usr/lib
sudo ln -s /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2

Con eso ya podrán ejecutar java, pero seguramente tendrán problemas por el soporte multilenguaje, entonces antes de ejecutar java asegurense de ejecutar

export LANG=en_US

Resultado final:

fcatrin@shaman:~$ /opt/jdk_1.3.1_20/bin/java -version
java version "1.3.1_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_20-b03)
Java HotSpot(TM) Client VM (build 1.3.1_20-b03, mixed mode)

Pasos opcionales pero convenientes
Con esos pasos podrán ejecutar java directamente con /opt/jdk_1.3.1_20/bin/java, pero es muy engorroso. Personalmente uso un método que me simplifica el problema de rutas y versiones de java. Todas las versiones de java instaladas las hago vivir en /opt. En ese directorio creo un enlace simbólico apuntando al nombre real del java instalado. Tengo algo asi:

java13 -> jdk1.3.1_20
java14 -> j2sdk1.4.2_02
java -> java14

Para crear uno de esos enlaces aplico:

cd /opt
ln -s jdk1.3.1_20 java13

De esta forma, java13 siempre sera /opt/java13 independiente del java instalado, y el java por omisión siempre sera /opt/java, y si lo deseo lo puedo cambiar para que apunte a java14 o java 13 depende de qué java quiero tener por omisión. En mi .bashrc dice :

export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH

Con eso tengo lo suficiente para que cualquier aplicación java que ejecute utilice el java por omisión (1.4 en este caso). Para el caso de java13 me cree un script /usr/local/bin/java13 que dice:

export JAVA_HOME=/opt/java13
export PATH=$JAVA_HOME/bin:$PATH
export LANG=en_US

Entonces cuando requiero java 1.3 simplemente ejecuto source java13 y listo. De esta forma:

fcatrin@shaman:~$ java -version
java version "1.4.2_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)
Java HotSpot(TM) Client VM (build 1.4.2_02-b03, mixed mode)
fcatrin@shaman:~$ source java13
fcatrin@shaman:~$ java -version
java version "1.3.1_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_20-b03)
Java HotSpot(TM) Client VM (build 1.3.1_20-b03, mixed mode)

Tags: , , ,

Antofagasta y final de tvnauta

Lunes, 5 de septiembre de 2005 11 comentarios

Parte de este fin de semana estuve en Antofagasta, invitado por la Universidad Católica del Norte , en un encuentro sobre Ingeniería de Software aplicado a proyectos Web. La invitación fue realizada a TUXPAN, donde fui “voluntario designado”. Varios tuxpanes habían sido invitados otros años, y la vara se había dejado bastante alta, fue parte de la conversación que tuvimos durante el almuerzo, como para darme más tranquilidad ;)

Se realizaron 4 charlas, la primera de ellas estuvo a cargo de Juan Bekios quien hizo una entretenida exposición acerca de los problemas que enfrentan los proyectos de desarrollo de aplicaciones web, por ejemplo cuando los reportes de bugs son del tipo : “le falta una animación flash aqui”. También habló sobre modelos de tres capas y el famoso patron Model View Controler, en realidad, todos los expositores tuvimos ese punto en común.

La segunda fue realizada por Héctor Miño de la empresa NorteWeb , quienes se dedican principalmente a proyectos para empresas mineras en la plataforma .NET. Básicamente mostraron como la plataforma permitía que el desarrollo de aplicaciones web fuera natural y sencillo.

La tercera exposición estuvo a cargo de Diego Urrutia, a quien conocí el día anterior cuando me fue a buscar al aeropuerto. Habló sobre el proyecto SIGEN desarrollado por la misma Universidad, como el día anterior ya me había contado de que se trataba el proyecto, aproveché el tiempo para hacer algunos cambios a mi presentación para que fuera mas acorde a las ideas presentadas.

Si bien mi presentación fue de Z4, la idea era mostrar nuestra experiencia en la aplicación de metodologías y conceptos que a veces se ven demasiado abstractos cuando uno los estudia. Mostré algunos ejemplos de código, y también ejemplos de la vida real, de todo eso que a uno le cuentan cuando es estudiante.

Personalmente no quede muy satisfecho con mi exposición, porque al principio estaba medio nervioso y me desordené un poco, a pesar de eso los comentarios de la gente fueron super buenos, y en las preguntas que me hicieron al final de la exposición se notaba bastante interés en conocer más sobre lo que había presentado.

Como ya es costumbre, al salir se me acercó harta gente para hacer más preguntas sobre TUXPAN, Linux y también tvnauta. En general a mi me gusta quedarme conversando con la gente, pero los organizadores siempre se preocupan de que no me acosen tanto y me sacan rapidito :( .

Exciting Hour y tvnauta

Exciting Hour y tvnauta

20 años después

De vuelta en el hotel tuve un momento muy especial. Saqué mi notebook para jugar un poquito a un juego que fue uno de los que me incentivó a aprender a programar, cuando tenia como 10 años, el juego se llama Exciting Hour .

Mientras jugaba, encendí la televisión para sentirme un poco mas acompañado y estaban re-transmitiendo el último capítulo de tvnauta. La experiencia fue muy distinta a hacer el programa, me sentí como un televidente más viendo desaparecer un programa que como muchos han dicho “será de culto”. Saque algunas fotos de ese encuentro de dos momentos muy distintos, mi juego favorito de los 10 años que me incentivo a conocer el mundo de la computación, y el programa en el que pude dar mi granito de arena con lo aprendido 20 años después!

Viaje de vuelta

Pocos minutos después de haber revivido la emoción de esa pantalla azul con la cuenta regresiva, me fueron a buscar para ir a una comida, al final terminé con los muchachos de NorteWeb compartiendo en un Pub hasta muy tarde. Dormí muy mal en la noche porque estaba pendiente del viaje de vuelta que comenzaba en unas 3 horas mas (no dormí casi nada). Comencé los preparativos de vuelta a las 6AM con mucho calor y llegué a mi casa a las 14:30 con mucho frio, con tan mala suerte que al tratar de abrir el portón estaba trabado, y justo se puso a llover con tutti.

En la casa compartí con mi familia y despues dormí hasta tarde, cuando llegaron mis amigos de infancia a pre-celebrar el cumpleaños simultaneo de mi amigo Max, y Kuarita… puro carrete ese dia.. y ayer domingo amanecí tan enfermo que me quede todo el día en cama. (no, no vi el 5-0).

Rompiendo el silencio

Martes, 30 de noviembre de 2004 3 comentarios

Estuve guardando unos días de silencio, debido a un golpe bajo que recibió la Famila TUXPAN esta semana. No voy a dar detalles al respecto.

A continuación, el material acumulado para quienes siguen este blog.

Ubuntu

Ayer me llegaron los esperados CDs de Ubuntu , parece que a todos les llegó al mismo tiempo. Me arrepiento de no haber pedido más, el paquete es super bonito y vienen dos CDs, uno booteable para usar sin instalar en el disco duro (como Knoppix , pero mejor), y otro con el instalador de la distribución. También viene un conjunto de aplicaciones Open Source para instalar en Windows.

La gente de Ubuntu se pasó, el producto es de gran calidad. Tengo un amigo que ya se cambió de Fedora a Ubuntu y esta feliz. Ayer probé el Live CD….sí, sí… estoy pensando en probarlo instalado también. He visto comentarios similares de Netkrash y Mauricio Bahamonde . Mauricio incluye unas fotos del paquete Ubuntu .

Tengo 6 Ubuntus, los voy a regalar en TVNauta y Sebastian tiene 4 más para regalar. Desde aquí hago un llamado para quien quiera aportar mas Ubuntus para regalar en TVNauta. Cuando sorteamos Knoppix Collection, participaron cerca de mil personas, 10 se van a hacer poco. Tengo que destacar que antes de escribir esto, recibí un mensaje de Héctor Suarez Moreno, quien me dice que nos fue a dejar Ubuntus a la oficina de UCVTV en Santiago!!! Excelente iniciativa Hector y muchas gracias!

Hoy no está Sebastian en TVNauta, asi que voy a ir yo aprovechando que es el dia de Microsoft con Leonardo Garces. Es muy probable que hoy anuncie la forma de participar para llevarse un Ubuntu para la casa.

Reuniones de Formación de Hackers de GNOME

En Temuco se realizó la 5ta Reunión de Formación de Hackers . Aunque no he podido participar de ninguna, estoy muy contento e impresionado por la capacidad de llevarlas a cabo por parte de sus organizadores y de la recepción que han tenido de la gente.

La idea de estas reuniones es super buena, y hace pensar, por qué a nadie se le ocurrio antes?. En España vieron que la idea era buena y segun cuenta Rodrigo Moya ya han hecho 2 reuniones similares .

Don Germán , gestor de la iniciativa, ya comienza a tener los problemas de la fama , en su blog dice “cuando llegamos a la universidad me llamó la atención que me saludara por el nombre alguien a quien no conocía, saludé y seguí de largo ” En esos casos, la tecnica es sonreir, escuchar y esperar a que te digan “yo te conozco de …”. No falla :-)

Ah… y un mensaje para MD5, si no sabes de que estás hablando , mejor abstente, o por lo menos escucha cuando te tratan de enseñar.

Tiempo de booteo de Linux

Hace un tiempo atrás publiqué algunas cosas que había probado para mejorar el tiempo de booteo de Linux. Afortunadamente no soy el único y en fedora-devel, Owen Taylor inició una campaña para medir distintas variables y graficarlas . Aproveche de publicar tambien en la lista los experimentos para mejorar el tiempo de booteo que yo había hecho, pero no me pescaron mucho. Otra persona aplicó el profiling via gráfico, en conjunto con experimentos similares a los míos y logro reducir bastante el tiempo de booteo . De paso se encontraron un par de bugs en rc.sysinit y en rhgb que hacían mas lento el boot.

Fedora Core 4 vendrá con mejoras en este sentido.

Backend LDAP para TAF Users

La semana pasada estuve construyendo el backend de LDAP para el modelo de usuarios de TAF. Fue bastante fácil, lo mejor de todo es que para las aplicaciones construidas con Z4 CASE es transparente usar LDAP o no. Esto permitirá que nuestras aplicaciones se integren mejor con las cosas que tenemos al interior de TUXPAN y en los entornos de nuestros clientes.

Aca tenemos un LDAP, lo usamos para pocas cosas aún. Pero cada vez le vamos encontrando más usos, con Evolution estamos aprovechando LDAP, por una parte para tener una libreta de direcciones corporativa y en forma indirecta para leer el calendario de actividades interno directamente en el escritorio. El nuevo applet de calendario de GNOME con las actividades obtenidas desde evolution-data-server es una gozada.

RPMs para pyGestor

Estoy creando los paquetes RPM de pyGestor para Fedora Core (3). El tiempo que tengo es super poco porque lo estoy dedicando por completo a familia + trabajo + memoria. Aun asi, ya tengo listo gestor-database que es el RPM que instala una base de datos vacía y la base de datos de ejemplo Pronto tendré listo el paquete principal (gestor), no he podido ver que paquetes en Fedora satisfacen las dependencias exactas de gestor.

Notebook

Estoy pensando en vender mi notebook , la máquina es buena, pero me pica el bichito de probar alguna otra, incluso aunque tenga ATI. Hay varias características que las quería para algunos fines, pero ya no son necesarias. Por ejemplo me interesaba la salida s-video para ver películas en mi casa, pero al final me compre un buen lector de DVD que es mucho mas manejable para ese tipo de usos (y reproduce divx entre otras rarezas). Interesados en mi notebook son bienvenidos en escribirme .

5to Encuentro Nacional de Linux

Martes, 26 de octubre de 2004 1 comentario

Ha terminado el 5to Encuentro Nacional de Linux . Ha sido una experiencia increible, y para mi, cumplió más allá de las expectativas.

No tengo mucho tiempo para redactar hoy, asi que paso directo a enumerar los hechos destacables / curiosos

  • Se esperaban unos 400 asistentes. Al final llegaron mas de 700 según las ultimas cifras. Estoy seguro de que el llamado que hicimos en TVNauta fue en parte responsable de los últimos inscritos.
  • La organización fue excelente. Eran mas de 60 personas las que estaban detrás del Encuentro, y tenían los roles super bien especificados. El grupo de los “amarillos” estaban perfectamente coordinados con comunicadores personales, y podían atender cualquier necesidad que uno tuviera sin problemas.
  • Las charlas fueron emitidas via streaming por Creativa , y también fueron grabadas en AVI. Ayer estaban publicadas en la web, pero por un motivo desconocido las sacaron de linea.
  • Un grupo de expositores nos acompaño a TVNauta un día antes del encuentro. Nos dieron el programa prácticamente completo para hablar de Linux, incluso los muchachos contestaron una llamada.
  • En la ceremonia inaugural expuso Rodrigo Alonso, Ex Gerente General de Microsoft Chile , en su nueva empresa Humano2 . Presentó su producto estrella anunciando su liberación como Open Source. Fue extraño tenerlo entre nosotros, pero es una persona que no tiene ningun problema hacer amigos, el primer día estuvimos conversando un buen rato sobre la industria del software, entre cervezas y pizzas. Él hizo la invitación a todos los expositores con un nombre muy ad-hoc: “Free as in free beer”.
  • La ceremonia de cierre tuvo un momento muy emotivo. Uno de los asistentes al encuentro fue el padre de un joven que murió hace un par de años atrás.
    Yo conocía el caso porque sus padres me habían escrito para contarme que aun usaban Linux y que lo conocieron gracias a su hijo, gran entusiasta de Linux. Su mail lo recibí poco tiempo después de que yo perdiera a mi primo Yerko, en cierta forma pude compartir su sentimiento. Cuando lo mencionaron en el encuentro, el padre se puso de pie y hubo una gran y larga ovación. La emoción fue muy fuerte.

Iquique

Por dos semanas estaré en Iquique por motivos de trabajo. Estoy haciendo una capacitación de Java y J2EE para Zofri S.A . El horario no es muy comodo, de 17:00 a 22:00 hrs, pero me deja harto tiempo libre para trabajar en mi memoria.

Ayer tuvimos la primera clase y fue realmente extenuante, tanto por su duración como por el calor que hacia en la noche.

En este momento estoy en el hotel , y mientras escribo puedo ver la playa. Es muy facil concentrarse en este lugar, sobre todo porque no estoy online :-)

Z4 CASE para C# (.NET/Mono)

Miércoles, 20 de octubre de 2004 5 comentarios

Esta semana obtuvimos la confirmación de que el proyecto FONTEC Z4.NET va bien encaminada en CORFO.

Z4.NET es una herramienta CASE basada en Z4Case (también FONTEC). A diferencia de Z4Case que permite desarrollar aplicaciones para J2SE y J2EE, Z4.NET generará aplicaciones en C# para ser ejecutadas en la plataforma .NET y Mono.

Esto significa que todas las ventajas que hoy en día nos entrega ZCase en cuanto a productividad y aseguramiento de calidad también nos permitirá tener esas características en .NET y Mono.

Uno de los primeros pasos será migrar TAF2 a C#. Esta biblioteca es un framework que implementa MDA , y por si sola es suficiente para facilitar la creación de aplicaciones. Z4 es una CASE (upper y lower) que se basa en TAF2 y facilita el desarrollo de aplicaciones basadas en esta biblioteca. Se puede desarrollar un amplio rango de aplicaciones con Z4, de hecho Z4 actualmente esta construida en Z4.

Aunque aun no esta decidido, es muy probable que usemos un sistema similar al de Z4Case para generar interfaces graficas (SWT/Swing/web). Esto significaria que en el caso de aplicaciones de escritorio se podran correr con Windows.Forms o GTK# sin tener codigo especifico de interfaz.

Z4Case se puede descargar desde nuestro FTP y se puede usar tranquilamente para fines no comerciales. Esperamos mantener este tipo de licenciamiento en Z4.NET.

En este enlace pueden ver algunos screenshots de z4 . Son algo antiguos, voy a publicar algunos mas apenas pueda.

Tags: ,