Entrando en el mundo Mac.

macbookAsí es mis amigos. Desde hace unos días soy de los del ejército Mac. La legendaria manzanita por fin pudo seducirme, y he de decir que estoy muy complacido con ella. Dudo que hace un año me hubiera imaginado con una Mac, nunca me llamaron la atención, pero un par de personas por ahí lograron convencerme, y digo, afortunadamente me convencieron.

Luego de la acostumbrada emoción que se siente en el lapso que transcurre de ordenar algo y que ese algo llegue, finalmente pude llegar a casa y abrir mi nueva MacBook negra. Hasta fotos le tomé. La encendí y comencé a ver sus primeros prodigios. La interfaz gráfica simplemente encanta, seduce. Estuve durante algún tiempo jugando con la máquina: la cámara iSight que viene incorporada, las funcionalidades Bluetooth, su uso del Wifi, los 17 GB de software que trae, etc. Terminado el encanto por las cosas nuevas, me empezó a llegar la idea: ¿Qué ventaja tiene Apple OS sobre Ubuntu?

Con unos cuantos tips de usuarios Mac, rápidamente me comencé a acostumbrar, y debo decir que estoy contento por haber comprado esta maquinita. Primero que todo la integración hardware/software es magnifica. Realmente es una gran ventaja que el sistema operativo esté bien pegado al hardware: se siente miles de rápido, no hay problemas de drivers, etc. El hecho de que la interfaz gráfica esté pegada al OS también es una gran ventaja. A diferencia de Linux, donde es necesario correr X o alternativos, y que son unos elefantitos, el que esté pagado hace que todo sea y se sienta más rápido. Claro, Windows tiene también más o menos la interfaz gráfica pegada al OS, pero en cuanto a funcionalidad no hay competencia. Tal vez vista nos sorprende.

Luego de estar en el mundo Linux durante muuuucho tiempo, me acostumbré a las aplicaciones Open Source, GPL y compañía. Puedo decir que no me hizo falta nunca, especialmente el último par de años, una aplicación necesaria. Con la gran ventaja de que todo el software, absolutamente todo, era código abierto y sin costo, mi compu anterior tenía todo lo que necesitaba y más, mucho más. Pero adentrándome un poco en este nuevo paraje, he podido descubrir que afortunadamente existe todo el software que deseo para Mac, y hasta ahora eso me tiene contento. En otro Blog escribiré sobre alguna de las apps que más me han gustado.

Conclusión: Mac en Intel definitivamente vale la pena. Con la RAM necesaria el todo corre precioso, no hay pantallazos azules, se disfruta de una visualización que aparte de muy bonita está muy bien diseñada y pensada. Con un poco de costumbre se puede volver uno bien productivo. No sé, por ahora creo que estaré unos buenos años en el mundo Mac y Mac OS.

Wiki, wiki y mas wiki

tikiwikiEn la entrada anterior se pudieron dar cuenta que tomé la desición de utilizar un Wiki para organizar mi conocimiento, y de cierta manera también como un PIM. Como cualquier cosa nueva que uno conoce, me he puesto a investigar en el tema. Increíble, simplemente increíble. Es un mundo esto. Hay una cantidad de wiki engines increíble, enfocados para mil cosas diferentes, con plugins para lo habido y por haber. Para el site de jóvenes libertarios me puse a buscar muchos CMS‘s y me asombró la cantidad de opciones que hay. Pero esto del wiki es otra historia. Hay tantos, tantos, tantos. Unos guardan en base de datos, otros en archivos de texto. Algunos lo usan como blog, otros como CMS, otros como groupware, otros como foro, otros para intranets….uhhh hasta donde la creatividad te de. Para que se den una idea visiten este sitio.

Inicialmente estaba usando Mediawiki, pero me tope con un problema: quiero que haya partes del wiki privadas. De hecho mi investigación nació ahí. Luego descubrí que puedo reemplazar a PowerPoint haciendo presentaciones de mis Wiki, que puedo exportarlos a PDF, que puedo hacer interwikis. La cosa es que finalmente me topé con muchos wiki’s que manejan usuarios por meido de ACL. Esto me ayudará mucho. El punto ahora, es ¿Cuál wiki instalo? Me llamó mucho la atención Twiki, pero mi hosting es un dolor de cabeza instalarlo porque está escrito el Perl. Así que TikiWiki pasó a ser el siguiente en la lista de posibles. Este paquetito de software es increíblemente completo. Pero lo completo trae complejidad. Quisiera utilizarlo, todo dependerá del tiempo que tenga para meterme en él, porque tiene miles de opciones: desde photoblog, blog, cms, slideshows, exportar a lo que quiera, groupware, calendarios… y todos estos en la instalación original. Aparte hay no se cuántas decenas de plugins de cosas bien interesantes.
Otro que me llama la atención por lo sencillo es DokuWiki. Hace casi que todo lo que quiero. El problema es que al saber que existen cosas comoTwiki o TikiWiki, uno quiere probar y ver como usa todos los features que trae. Ya veremos. Lo que sí estoy seguro es que tendré que dejar MediaWiki porque no tiene estos features. No porque sea malo, sino porque está diseñado para eso: compartir información. Y yo quiero compartir información, pero algunas cosas quisiera que quedaran sólo para mí. Otro punto importante es la facilidad de uso. Chaclan comentaba en el post pasado que uno de los problemas es el tiempo. Y tiene toda la razón, por ello quiero que mi configuración final sea algo fácil de usar, intuitivo para mí, de tal manera que me sea más cómodo escribir algo en el wiki que en Jreepad o en mi cuadernito.

Si alguien sabe algo de este mundo, o ya pasó por esta investigacioncita…cuénteme.

Wiki para almacenar conocimiento.

Mucho hace que he buscado maneras de organizar mi conocimiento. Con ello me refiero a encontrar una manera de poder guardar información fácilmente, pero sobre todo, de poderla encontrar cuando se desea. Desde pequeño me encanta apuntar cosas, y antes tenía todas mis notas anotadas en cuadernos ordenados por categorías y años. El problema al poco tiempo fue que de pronto tenía siete u ocho cuadernos a medio terminar a fin de año, y no había manera de compilar todas las notas en un cuaderno.
Luego vinieron las computadoras. Inicialmente mis notas estaban ordenadas por directorios divididos en años y en meses, lo que ayudó un poco al orden. De hecho, econtrar cosas basados en cronología se volvió sencillo. Lo que era un dolor era buscar sobre un tema: muchos archivos y directorios en los que podía buscar. Hice algún intento por guardar todo en archivos de texto largos, pero la cosa se volvía más fea. Pero lo peor es que mantenía mis cuadernos de notas. Lo que pasaba es que al fin del año tenía papeles y archivos, con formatos distintos, en los cuales estaba mi info.
Hace unos ocho años apareció internet. Hubo un intento por guardar todo en mails, basados en el subject. Lo que hice fue agrandar mi problema. Ahora tenía cuadernos, archivos y mails. A la hora de buscar algo tenía que ponerme a buscar por todos lados, porque generalmente no recordaba en qué lugar estaba cada cosa. Lo peor es que con este método estuve mucho tiempo.
A finales de la Universidad aparecieron las lap top. Las cosas mejoraron un poco en cuanto a que guardaba casi todo en formato electrónico, aunque inicialmente comencé a imprimir todo. Busqué algunos programitas que organizaran mi información, probé varios, pero ninguno me convencía y no seguía ningún método. Incluso comencé a escribir algunos programitas para manejar todo esto, pero ninguno fue terminado. Hasta que apareció Jreepad. Este sencillo programita no es más que un arbol que puedo ir agrandando, y cada hoja del árbol tiene una cajita de texto en él. Llevo con Jreepad casi tres años, y hasta ahora todo va bien. El principal problema que tengo es que no puedo guardar HTML’s fácil, formatos ni fotos. Por ello intenté usar TuxCards, que está muy bonito, pero tiene la desventaja de la portabilidad. Jreepad al estar escrito en Java me asegura que lo podré utilizar en cualquier formato. Al poco hice un archivo de diario, otro de ideas, otro de notas, otro de música, etc. y cada cuánto hago un back up de estos archivos. Pero el que más me sirve es uno que le puse “notesKnowledge.nts”. En este archivo escribo comanditos, algoritmos sencillos de cómo hacer las cosas. Me ha salvado mucho tiempo, porque antes tenía que ponerme a rebuscar en internet o en mis files cómo hacer las cosas. Ahora un simple search en el programa me resolvía todo.
El tiempo pasó y un problema inesperado surgió: en muchísimas ocasiones necesito las cosas y no tengo mi laptop conmigo. A veces en la casa, a veces en la oficina, dónde un amigo, etc. La respuesta obvia es poner algo en línea. Me puse a buscar y encontré miles de Knowledge Base, pero ninguna me convenció. Otra vez me puse a iniciar proyectitos para hacer mi programa ad hoc, pero el tiempo, el bendito tiempo no me dejó.
Con motivo de realiar el manifiesto de jóvenes libertarios, pusimos un wiki para hacer las cosas más sencillas. Me tuve que meter al mundo de los wikis. Como todos, conocía bien a Wikipedia, pero jamás se me ocurrió que la magia de Wikipiedia estaba en su base: el wiki. Con él se puede organizar el conocimiento de una manera admirablemente flexible, sin muchos límites, un formato sencillo que deja hacer mil cosas. Buscar es sencillo, agregar es sencillo, puedo agregar, editar, borrar cualquier cosa en cualquier lado, y además cualquiera me puede ayudar. Si con un wiki se pudo crear Wikipedia, creo que un wiki es una manera probada mediante la cual yo puedo organizar mis notas y miniconocimientos que son un granito de arena partido en dos a la par de Wikipedia.
Quien quiera, visite wiki.guisho.com y úsenlo para guardar cualquier cosa que quieran. Lo único que me hace falta es encontrar la manera de hacer páginas privadas para apuntar cosas que no quiero que el mundo se entere. Y también quiero ver la manera de exportar mis archivos de Jreepad a wiki.
Yo usé MediaWiki, si alguien lo quieren bajar, está en www.mediawiki.org, es gratis y abierto.

Reporting with Java

It’s so frustating when it comes to reporting and you are a Java programmer. I love Java, I love the whole comunity around it, I love the big bunch of frameworks that are around there, I love all the open and free stuff that you can use and cotribute to, but when it comes to reporting, buhhh, it makes me want to cry.
As a programmer I don’t like much to design things, it is not my work and it is not what I studied for, but with a regularity that should not be that high, I have to dive in the waters of designing, specially reports. It is obvius that enterprise applications require reports, charts, graphics, it is one of the roles of the system and it is pretty exiting to imagine queries and relations to get reports going. But translating the columns that are in a simple format in your sql editor or your bean to a fancy html, xls, pdf or any other format is really a pain to me, and I thing to the vast majority of programmers, but it is certainly a task we must do. It would be so easier if we could have the right tool to do this. Is in this little things is where I really envy all the people that work with Delphi or M$ Access (somebody will be laughing when reading this). But it is true, since I have been developing systems in Java this has been one of the major things that anoyed me. There is simply no decent reporting engine for java.
Shure, a lot of people will reply about Jasperreports and iReport, and I know, they are very good and these two friends are the ones that I use and have saved my eyes a lot of times. But I really think they are not enough. First they are not really easy to work with, or at least I believe so. Second the framework has a problem with some html reports, so a lot of times I have had to convince clients that PDF is a better format for reports, which is not really a reason.
There are tons of non free reporting engines out there that could help, but I haven’t tried many of them because of the stupid licence they have and above all the stupid high price. I won’t pay $2000 for an application that as whole costs that. CrystalReports? The same answer. Ok, I’m not asking for something free, but at least something reasonible. A company with this in mind can create a good reporting engine and sell it for, I don’t know $100. It has not to be an all featured thing, with the basic things easy to perform a lot of guys like me would be gladly to buy it, although I still have the hope for open source cominity to come up with something.
I don’t know, I think that this should be an easy and automatic task. I know that there fancy things and details that should be always taken in account, but generally reports should be a simple things to do. I have used some frameworks like xxx and yyy that let you design everything in Excel and then just fill the needed fields.
I really have a lot of hope in the future developing of iReport and JasperReports, really. I believe that a great advance would be that iReport would open a page or something to post templates. The few templates that are right now available are nice, and help to save a lot of time.Also I think birt, the Eclipse based proposal will be pretty usable in a short term. But for now we are far away from designing report as easy as you can design them in Access.

Among all the things I do in my daily life at work the thing I hate the most is to build and design reports. As a programmer I am not good at design and I really don’t like it. I have always believed, and books have taught me, that this should be a designers job. But life is not that easy and very often the task of building reports relies on us, the programmers. Reports are an integral part of any enterprise system, and there is always need for fancy and new reports.
Some coleagues doesn’t have this rage against building report, but deinetly must do. And if you are a Java programmer the thing becomes worse: therw is simply no right tool to build reports in an easy and quick way. It is really frustrating. Java is much more than a programming language, and as a whole it has so many valuable things to offer: a great programming language, huge community, tons of frameworks, plenty of free and relieable libraries, stability, multiplatform just to mention a few. But when it comes to reporting it has a lot to learn from other platforms. Although someone will laugh when reading this, I really envy those people that work with M$ Access, .Net or Delphi, for them is to easy to build in a couple of minutes a good looking and simple report.
There are a few things that a reporting tool should have to be called good.

*It has to be easy to use. Again, we programmers do not like this kind of tasks and we look for simple and working solutions. We preffer to invest our times preparing an elegant query for a difficult report, but we hate to translate the result we see in our sql editor to a good looking format like PDF, XLS, HTML…
*It has to optimize the more often used case. Templates, templates, easy templates. Those tools for other platforms are so great because they have a lot of templates, simple ones that can be used in any cases. I think the kery relies in templates. With a lot of templates I would be happy with almost every tool.
*It interfases have to be easy to implement. There should not be work wasted trying to fill any report. What we want from a reporting tool is not any logic, it is simply presentation. We want our brute data transformed into a fancy format, that’s all. The calculations the joining of the data and everything that has to do with the data is our job and we love it. We just want to present our data in a nice, good looking way.
*Smart drag and drop. We wouldn’t complaint much about doing reports if it would be an easy task. But we get pretty annoyed when we try to put a field value and it’s name in a simple row and we see that they are not aligned and we spend a lot of bits of time trying to align them. And one aligned, we will never move them!
*Wizards. I know, some of us think that wizards are not for good programmers, but I’d like to create reports using a simple wizard filled with a lot of templates. Imagine, build a simple report in five minutes.
*Many output formats. I want my reports ready to be converted into PDF or XLS files without much effort.
*Good documentation. As we have learn good documentation is key for any good application. If the reporting solution has a lot feautres it has to show them to the programmer and show him/her how to use them.

This is the point where more than one will be thinking, “hey, have you tried JasperReports? and iReport?” and my answer is yes. I have used iReport and JaspertReport. As a matter of fact it is what I use when I need to design reports. And let me say that both are great products and is amazing what you can do with both, I really congratulate the teams behind both projects. What I’m saying is that their features and easy of use are not enough (yet?). Building reports with Java is still a tough task and should not be. I have done complex reports and I’m thankful that JasperReports and iReport exists, because without them I would have had a bad time finishing those reports, but for the majority of simple reports that I have to design, they annoye me. Another big problem is that it is hard to export reports to HTML. To me this is the biggest drawback of JasperReports. I have had to convince some clients to use PDF instead of HTML and sometimes it was hard to me to convince them that PDF was a better solution, when the reality was that I had my reports already designed and they where not ready to be exported to HMTL. Another *** is the documentation. I think that I has grown, but when I started using jasperReports documentation was really a pain because there were no real documentation. If you wanted to learn to use the tool you had to browse in a lot of forums and mailing list to solve each one of you troubles. In some cases you just wanted to know how to do a little thing that you know had to exist, but you really din’t have idea how to code it. We need simple and clear documentation, it can be a plain txt.

I will not talk about any other reporting tools, because these two are the most widely used in the Java arena, and when we speak about open source, commonly the most used is the best. I have tried a little of Birt, the Eclipse based porposal and I think it has future. If you google a little about this topic you fill find a lot of Java based reporting solutions. I have tried some of them but the licence schema and pricing are really stupid. Usually the licence is based in the cpu’s running the engine, and I don’t want to pay $2000 just to show four or five reports. CrystalReports have the same problem: it is a really rich reporting solution but far too expensive for most applications. Ok, I’m not asking for something free, but at least something reasonible. A company with this in mind can create a good reporting engine and sell it for, I don’t know $100. It has not to be an all featured thing, with the basic things easy to perform a lot of guys like me would be gladly to buy it, although I still have the hope for open source comunity to come up with something.
I really have a lot of hope in the future developing of iReport and JasperReports. I believe that a great advance would be that iReport to give out more templates. The few templates that are right now available are nice, and help to save a lot of time, but cretainly there is the need for more. All I want and is a simple tool to build simple reports in and easy way and in short time, just as Access does.

One year since I left Windows behind…Ubuntu

 One year ago I was definitely a Linux user. Almost all of my work was done with Linux running on my machine. But every once in a while I needed to use some apps that only ran in Windows, so I always kept a Windows installation ready to be used. One year and one month ago I needed to do a work that necessarily needed Windows to run, so I made a fresh installation. I finished that work and by the end of the month that it lasted my “fresh” Windows installation was already a mess, it took about five minutes to start up and I got desperate. I thought it was time to clean my computer and leave no Windows in it. So I started looking for the best distro out there to be installed and to be in my workstation all the time. I had been a continuous user of different distros, but Fedora was almost always my choice. I had my time with Debian, Mandrake, Slack, RedHat, Gentoo and Suse. All of those distros where the base of my workstation for different periods.
    I tried a lot of the new Distros that were available one year ago. I even thought to have a live distro that could serve as a workstation. And in my research I found another  installation that was called Ubuntu. It was only one CD so I never took it seriously because I like to have as much applications installed to try and to play with. But I was desperate so I installed it. Then another big job at the office needed to be done and I didn’t have time to be playing with more distros, so I started working with the distro that I had installed.   
    I remember that I loved the fact that it recognized my wireless card and my display on the fly. I always had a hard work configurating my wireless card and in many occasions I had to invert a few hours configurating the X server to have my wide screen ready to work. So I had Internet and my display was fine, everything I needed to start working. I have been always a Gnome boy, so it was no problem for me that the distro didn’t have KDE.
    One year ago I was working on that distro that was going to serve me meanwhile I found a decent distro, and I was almost sure that at the end of December I would have Fedora running on my processor. And surprisingly since one year ago I have only formatted my OS partition to install a new OS, and that was when the new distro of Ubuntu came up.
    Ubuntu simply made me fall in love for it. “Humanity for others”, Debian based, great application set, great and active community, and among everything else great package management. Out of the many things that made me keep Ubuntu, Synaptic package manager was without doubt the most important factor that kept me tied to it.
    Although it was just a single installation CD, I could have any application that I would like by just clicking a couple of buttons and a little of research. It was to good to be true, but it was. The initial installation was about 1GB and right now I have about 5GB of my hard drive filled with great applications, upgradeable application and pretty easy uninstallable application. The stuff that sometimes make scream about Linux was gone. My primary language is Spanish, and until now I haven’t had any trouble configurating my keyboard or my apps to display well all the special characters I need.
    What about my fear of loosing contact with the outside world? Well all solved! Almost all of my work is Java based, so I can easily develop in my Linux platform and deploy in any other platform. Another issue to me was the compatibility of the documents I wrote and the documents I received. Certainly OpenOffice did the work in a great manner, but it still had it’s flaws. MAnd suddenly the first betas of OpenOffice appeared and the problem was almost solved. Until now I haven’t had any big problem saving or loading Office documents. I have taken the habit of sending everything in PDF and nobody ever complained. Even I have convinced some people to use OpenOffice and a lot of the kept it. They didn’t even knew it existed, but now they are happy to use it and many are really surprised that it is free.   
    I’m not a gamer so I haven’t had a lot of trouble in that arena. Now I have a little program called Windows that sometimes run in my machine emulated by another great piece of software called qemu. I don’t use it that much, primarily for investigation purposes but if someday I need it…it is in my computer too. I have had some problems with Project documents, but people have learned to send me all of them in an HTML format, and even everybody else have liked this method.
    I can really say that my one year without double booting has been great. I’m know in a full free world, I have forgotten all that situations where I was afraid about opening a new email, every concern about virus is virtually gone, and above all I have the tranquility of have great software working for me and contributing to a community that is really enviable in any sense of the world. If you are, like I was, in the indecision of diving completely in the Linux world, I really urge you to do it. The beginning will be a little hard but after a little while you’ll love it and won’t want to change it again.