lunes, febrero 28, 2005

Viajando

Dicen que las oportunidades son sólo una vez y que la vida es una. Este fin de semana decidí salir de viaje, uno de esos relámpago, dejar un poco las preocupaciones de la vida diaria para vivirla un poco más, pero principalmente buscando la relajación total. El objetivo fue muy bien logrado, he regresado diferente, apreciando muchas cosas y aprendiendo que debemos de estar tranquilos, disfrutar y disfrutar.

A mi regreso me encuentro con las agradables noticias de Rodolfo y Manuel, quienes siguen trabajando con MonoUML, vamos bien, llenando huecos que son importantes. Desde ayer he comenzado a pensar que algo que sería muy interesante y necesario, un exportador de proyectos para Monodevelop, un tipo de híbrido que incluiría una mezcla de C# (o algún otro lenguaje, como VB.NET) y los XML propios de Monodevelop, para que mientras se integra al Monodevelop directamente se puedan utilizar los proyectos hechos, al menos por ahora en Forward Engineering, el Reverse Engineering, será un poco más dificil.

He instalado mono 1.1.4 en Debian, y todo marcha de maravilla, inclusive con soporte de C# 2.0, y ahora utilizando Gtk# 1.9.2, con estos nuevos cambios, las dependencias de MonoUML han cambiado, desde ahora es necesario utilizar Gtk# 1.9.2 y mono 1.1.4 para que no haya problemas, espero en unos días quitar los warnings que ahora aparecen para que todo funcione correctamente, y cambiar algunos dialogos de selección de archivos para que de esta forma todo funcione más integrado a GNOME.

Instalar Mono 1.1.4 y GTK# 1.9.2 fue sencillo, primero instalando los paquetes de desarrollo necesarios:

# apt-get install bison libglib2.0-dev libgtk2.0-dev libxml2-dev libgnomecanvas2-dev libglade2-dev libgda2-dev libgnomevfs2-dev mozilla-dev libvte-dev libgnomedb2-dev libgtksourceview-dev librsvg2-dev libpanel-applet2-dev libgtkhtml3.0-dev libhowl-dev

Y luego para instalar Mono 1.1.4, habilitando soporte para C# 2.0:

# ./configure --prefix=/home/mario/mono/ --with-preview=yes

Ahora Gtk# 1.9.2:

# ./configure --prefix=/home/mario/mono/

¡Y listo! ¡A utilizar mono y gtk#! Claro que hay que también instalar desde fuentes: Monodoc y XSP (aunque aun no averiguo como instalar MonoDevelop, luego con más calma averiguaré); la instalación de las 2 aplicaciones es normal, un ./configure && make && make install sirve, nada de que preocuparse. No hay que olvidarse de definir las variables de entorno, PKG_CONFIG_PATH, PATH y LD_LIBRARY_PATH, para que no haya problemas, y hacer uno que otro enlace simbólico en $MONO/lib/pkgconfig para utilizar el formato de la vieja versión de Gtk#, es decir un enlace como por ejemplo:

ln -s gtkhtml-sharp-2.0.pc gtkhtml-sharp.pc

:)

viernes, febrero 25, 2005

MonoUML, mejorando la interfaz

Manuel ha propuesto migrar UMLCanvas# a Cairo, algo que me suena bueno, asi se podría utilizar MonoUML en MS Windows, aunque hay otro problema, los widgets gnome-sharp, hemos utilizado muchos de ellos, aunque bueno, no se porque me preocupo de eso, creo que pensar en abarcar ambos SO por ahora es vanidad, claro que sería muy interesante y sobretodo útil, tampoco hay que ser crueles con la gente que utiliza MS Windows, si se aporta que sea para todos, no sólo para un grupo en particular.

MS Windows tiene algo que usualmente los UNIX libres no tienen (hablando en general) o mejor dicho, el software libre en general no tiene, y eso son los asistentes, los llamados wizards, nuestro asistente es un juego de ./configure && make && sudo make install, con eso estamos felices, pero llega un momento en que ya no es posible utilizar ese juego de instrucciones, se nos hace tedioso y queremos hacerlo todo más rápido, sabemos que hay alias, pero pensemos en el usuario novato. Debemos de dejar de ser tan duros con los usuarios de las aplicaciones, es cierto que los usuarios de software libre por lo general tienen un mayor conocimiento de como instalar las aplicaciones y no son de 'doble click y siguiente-finalizar' sino un poco más 'inteligentes' pero eso no quiere decir que una sencilla instrucción que te haga todo de una sola vez no cae bien.

Como desarrolladores de aplicaciones debemos de pensar en los usuarios que algún día podrían utilizar nuestra aplicación, ponernos en su lugar, y de alguna forma pensar como ellos, diseñar un juego de asistentes útiles para tareas comunes es excelente, pues se aumenta la productividad, claro que tampoco hay que caer en la exageración y poner asistentes hasta para cerrar la aplicación.

Siguiendo la idea de la integración que busca MonoUML y la facilidad que se quiere presentar al usuario final, se han adaptado unas clases escritas originalmente por Rodolfo, ahora contenidas en un agradable asistente para la generación de código, con eso que hay que retocar MonoUML para el concurso y que una de las partes fuertes es el Forward Engineering, se debe mostrar lo más sofisticado posible, pero sin caer en la confusión

Que agradable se ve todo :)

Wizard Wizard
Wizard Wizard
Wizard  

lunes, febrero 21, 2005

Concurso

Estos últimos días he estado terminando la documentación para el concurso que pronto se llevará a cabo en la universidad, a pesar de que aún no salen las convocatorias oficiales no quiero esperar ese último momento para comenzar a hacer todo, no hay gran avance hasta ahora, aun faltan las clásicas investigaciones bibliográficas, pero bueno, eso es más rápido, además unas buenas lecturas no caen mal.

Debido a los cambios recientes a la arquitectura de MonoUML todo indica que se deberá congelar la versión actual, la cual esta llena de miles de errores, para que se pueda mostrar algo usable al jurado. Si hay algo que me intriga de este concurso, es lo de siempre, el jurado no entenderá, no se si sea problema del país o únicamente de la universidad, pero la deficiencia en el nivel educacional es notable, que personas den clases de asignaturas que ni siquiera conocen es pan de cada día, y lo más triste es que los estudiantes debamos pagar, ¿alguna solución para esto? ninguna, simplemente leer y leer y leer más, y ¿para que leer? pues para resolver los proyectos/exámenes que estos personajes solicitan, veamos todo esto del lado bueno, se leerá más, bueno, al menos a mi me gusta leer.

Mientras que por mi trabajo como freelance va bien, he agregado unas nuevas características a los webservices y a la aplicación del lado del servidor, he utilizado en esta ocasión Mono 1.1.4 para MS Windows, pues el servidor donde funciona esta en MS Windows 2003, y los resultados de desempeño son notablemente mejores, las respuestas por parte de XSP son más rápidas que en versiones anteriores, aun no lo he probado en Linux, debido a unos problemas que tal parece son gracias a Ubuntu, esperare unos días más para ver si los paquetes de Glib son actualizados (aunque lo más probable es que la desesperación me gane a regrese a Debian), pero estoy seguro que ese mismo desempeño es al menos mayor que en MS Windows.

He pensado en ahorrar para una iBook, Mauricio me ha dejado esa loca idea... aunque bueno, no esta tan loca, además no son tan caras, aunque claro, para mí juntar esa cantidad me llevará algún tiempo, espero que no tanto.

miércoles, febrero 16, 2005

Estudios

Ha pasado una semana después de haber regresado a la escuela luego de 1 semana libre. Podría decir que casi nada ha pasado estos días salvo el comienzo de la documentación de formato metodológico para MonoUML, la cual ya va tomando un poco de forma.

Por fin he terminado la primera parte ideal del proyecto de Webservices, ahora sólo falta hacer la parte difícil, la parte donde la aplicación intenta comunicarse a un servidor que no existe y utiliza la BD de datos del hosting, la actualización de la BD local con la BD remota es lo que me preocupa, pero bueno, tendrá que resolverse.

En fin, tanto que hacer.

miércoles, febrero 09, 2005

Ubuntu

Llevo menos de 1 semana con esta distribución y me ha dejado muy a gusto, a pesar de que estoy utilizando la versión de desarrollo de GNOME y como consiguiente la versión de desarrollo de Ubuntu, todo va de maravilla, claro en ocasiones hay errores que cierran el nautilus, pero nada porque sufrir, lo que me ha impresionado ha sido el nuevo formato de actualización automática, si es que alguna vez se olvidaba actualizar los paquetes, Ubuntu lo hace por ti.

Actualizaciones listas

Es un tipo de aptitude pero con una interfaz más integrada al desktop, es interesante lo que ahora plantea la alianza GNOME-Ubuntu, bueno desde sus inicios ha sido así pero ahora veo con mejor futuro al desktop para usuario final, ¿que más se puede pedir? Si tenemos GNOME + Debian + Actualidad, creo que con eso puedes vivir, inclusive utilizando versiones experimental :)

Lista de actualizaciones

Descargando actualizaciones

Instalando actualizaciones

Por otro lado he terminado gran parte del proyecto que estoy haciendo, la magia de los webservices con mono me han ayudado, sólo tengo unas horas para terminar (o mejor dicho, iniciar :P) el documento de registro de MonoUML pues mañana debo entregarselo a mi asesor para que lo revise además de leer unos capitulos de un libro de Redes, tanto que hacer y tan poco tiempo.

lunes, febrero 07, 2005

El trabajo sigue

Aún no termino el proyecto que inicie semanas atras, algo asi como 3 semanas atras, y no porque este díficil, claro que tiene dificultad, pero no se que pasa conmigo, me la he pasado muy relajado, algo que no deberia ser así, pero bueno.

Desarrollar una aplicación web tiene su chiste, y a pesar de que hay editores en Linux como Bluefish o Quanta, hay ocasiones en que es necesario un editor que sea más de "clicks", del formato WYSIWYG, en búsqueda de eso, pueden saltar a la vista editores como Amaya o Mozilla Composer, pero no son tan flexibles de utilizar, mirando una revista de Linux me he enterado que existe un editor muy bueno llamado NVu, muy flexible por cierto, que utiliza el estandar HTML 4.01, y a diferencias de otros WYSIWYG no mezcla versiones obsoletas de HTML, este utiliza CSS en vez.

Que agradable editor, al menos todo fluye más rapido. Por otro lado, le he dado la oportunidad nuevamente a Ubuntu, ando regalando los CDs que me enviaron y lo menos que puedo hacer es probar la distribución, creo que la tendré toda esta temporada, a ver que tal.

Además estoy haciendo el escrito necesario para el registro de MonoUML en el concurso, prácticamente es un grupo de hojas que a pesar de que los jurados no leen es bueno tener una base firma para la documentación del proyecto, me motiva el proyecto, en verdad, ahora con las nuevas arquitecturas que se estan escribiendo todo indica que será mucho más fácil la escalabilidad. Ojala.

martes, febrero 01, 2005

Escuela

Pues finalmente estoy de regreso en la universidad, he tomado materias muy interesantes pero sinceramente me preocupa una, no por su dificultad sino por la persona que la imparte, espero que todo salga bien, tendré que esforzarme al máximo para lograr salir adelante.

Por otro lado, todo indica que esta temporada saldrá MonoUML 0.1, el registro a uno de los concursos de proyectos universitarios será pronto, y por supuesto que MonoUML formará parte de este, ya he conseguido a alguien para asesor, pues como proyecto universitario es requisito tener uno, una ayuda fuera de la burbuja del equipo es siempre objetiva y por supuesto que caerá muy bien. Además siento que este proyecto podría ser un buen proyecto para realizar la tesis profesional, así de esta forma trabajaré en él de tiempo completo y conseguiré mi titulo universitario también, simplemente dos pájaros con la misma piedra, es claro que MonoUML no es aun para ambientes de producción, sigue siendo un proyecto de investigación con gran futuro próximo pero en uno 1 año, según mis cálculos, este podría ser utilizable casi en su totalidad.

Ideas como integración total con Monodevelop, Forward Engenieering, Reverse Engenieering, Generación de Documentación con DocBook, son cosas que en futuro podrían estar, además ahora con las noticias de ports de aplicaciones de Linux a MS Windows es probable que la dependencia de GnomeCanvas no sea un problema para funcionar en MS Windows, aunque claro, ahora con la nueva propuesta de UMLCanvas# que se esta haciendo lo más probable es que funcione con otras librerías gráficas, aunque que MonoUML no funcione de primera instancia con MS Windows no es algo que aflija al equipo, sería interesante tenerlo también para MS Windows pero como prioridad no figura, como idea para un futuro lejano podría ser.

Al menos eso es lo que a estos días alcanza mi vista a mirar con detalle.