Programación
The joy of getting feedback
Enviado por berrueta el Jue, 22/02/2007 - 20:28 ProgramaciónAs an occasional free software developer, I sometimes receive feedback from users of my software. It doesn't happen every day, so I really enjoy these messages. Furthermore, they are usually gratitude messages or constructive comments. People are using the software I wrote, and that's comforting. Some of them find it useful, and they e-mail me to share their experiences. Others have problems, and they also e-mail me to ask for help. Sometimes, the feedback contributes to improve the software. For instance, I sometimes receive bug reports, which are very useful, although I -sadly- don't have time to fix them. Still better, in a few cases, people have sent me patches to fix bugs or the extend the software features. That's really great. However, I'm happy with all kinds of feedback, even with messages that simply say "hey, I'm using your software". All of them encourage me to continue writing and releasing software (when I have time).
XML pipes
Enviado por berrueta el Sab, 13/01/2007 - 20:33 ProgramaciónThis week, I discovered XProc, an XML Pipeline Language, a working draft that is currently in development by a W3C working group. I'm very excited about this new language, because it tackles a very common pattern of many projects. From my point of view, many of my projects would directly benefit from this technology. I'll give two examples: AsturLinux's web page maintenance and DocBook document processing. I'm sure that it isn't a coincidence that Norman Walsh, the mastermind behind DocBook, is involved with XProc. Unfortunately, this new technology is still at its first stages, and there isn't any implementation yet. I'll keep an eye on it.
Patrones y el diseño simple
Enviado por frade el Mar, 09/01/2007 - 22:59 ProgramaciónEn un mensaje de una lista de correo:
I'm not saying that the ideas in GoF are overly complex, but I think
it would have been a much thinner book if the Gang of Four had used
Python...
SOAP web services
Enviado por berrueta el Vie, 22/12/2006 - 17:42 ProgramaciónI'm still shocked that Google has deprecated its SOAP webservice to search. This webservice was, no doubt, one of the most popular ones.
Nowadays, there is a battle between the SOAP/WSDL-based webservices and the "lightweight" webservices (a.k.a. REST). I'm not an expert, but in my opinion, there is a lot of hype around REST. I believe that SOAP/WSDL webservices are a powerful and useful solution in many cases. Obviously, they are more complex than REST, but I'm not afraid about that, and I'm willing to pay the price to obtain some benefits. The first releases of SOAP and WSDL were not particularly good, but fortunately, they have improved since then. Experience tells us that there is no silver bullet for middleware (just remember: CORBA, RPC, IDL...).
Sun opens Java
Enviado por berrueta el Lun, 13/11/2006 - 20:23 ProgramaciónBig news today: Sun has open sourced the mayor components of Java. (Part of) The source code is available under the GPL. Of course, there are some gray areas on this matter, but in general terms, I feel happy. For the free software community, I think this is one of the most important movements ever, maybe the most strategic one. The release of Mozilla and OpenOffice as open source was important, but they held a small share of the market at the moment of their release, while Java is the biggest development platform today for enterprise software. Of course, there were already some free implementations of Java (gjc, jikes, sablevm, GNU classpath...), but unfortunately, they are a step behind the "official" Java software from Sun. Now, we can have a full free Java stack on servers everywere: an up-to-date free JVM and the excellent Java software from Apache, JBoss, Eclipse...
Estadística
Enviado por nOvaZuZu el Mar, 25/07/2006 - 19:53 Programación
A través de esta noticia en Barrapunto, en la cual se habla sobre el posible desuso del lenguaje Perl, encuentro esta página que muestra el ranking de popularidad de distintos lenguajes de programación.
Las estadísticas se renuevan cada mes.
Hay que tener en cuenta que las búsquedas se han realizado también con Google blogs y además han agrupado todas las variantes de Visual Basic en una, lo que ha hecho que Perl y C++ bajen.
Lo que más me ha sorprendido es que Python se encuentre en el octavo puesto, lo que no me ha sorprendido nada es que Java sea el número uno :D .
Spring, o todos contra los EJBs
Enviado por berrueta el Vie, 23/06/2006 - 17:40 ProgramaciónAnimado por los compañeros, he tratado de acabar con una de mis lagunas entre las tecnologías y productos de moda en J2EE. Recientemente he terminado de leer Spring in Action. Tal y como había oido, Spring parece un framework muy bien diseñado, y la IoC le da un aire nuevo a la orientación a objetos, reduciendo el acoplamiento. Una ventaja evidente es que es mucho más fácil escribir pruebas unitarias. Por otro lado, en algún sitio hay que inyectar las dependencias, y la forma que tiene Spring de hacerlo no acaba de convencerme del todo (el fichero XML de Spring rápidamente se "ofusca"). No obstante, mi impresión de Spring es bastante buena.
Curiosamente, el libro no ha satisfecho mis expectativas. La colección "In Action" de Manning suele ser excelente, pero en este caso, los autores pretenden mantener la atención del lector mediante paralelismos que parecen un poco fuera de lugar. Y extrañamente, no resulta difícil encontrar errores de edición (erratas en los listados de código, tablas y figuras incorrectamente referenciadas, etc.). Una nueva edición revisada no estaría de más.
En cuanto a la segunda parte del título de este artículo, de un tiempo a esta parte es cada vez más habitual encontrar tecnologías J2EE que se suman a la corriente de lo "alternativo", y que dicen tratar de evitar la complejidad de los EJBs. Vale, los EJBs no son sencillos, como tampoco lo son los problemas que resuelven. Es evidente que podrían ser más sencillos, y por ahí están comiéndole mucho terreno a J2EE. Pero eso tampoco es un argumento que demuestre nada, y últimamente se oye mucho eso de "pruebe X, que lava más blanco porque los EJBs son muy complicados". En mi opinión, no se debe caer en el error de aplaudir la llegada de una nueva tecnología porque es más fácil de usar que los EJBs (pero quizás no ataca a todos los problemas que atacan éstos). Después de esta reflexión, sigo diciendo que Spring me parece un paso por el buen camino.
Merece la pena aprender Haskell
Enviado por berrueta el Mar, 16/05/2006 - 19:35 ProgramaciónHaskell es un lenguaje de programación funcional. Eso quiere decir varias cosas. Por un lado, es sinónimo de "minoritario". Por otro lado, le sitúa en una liga completamente diferente a la de los lenguajes de programación con más tirón (C, Java, C#, Python, Ruby...). Aprendí Haskell en la asignatura de Programación Lógica y Funcional con Labra. Honestamente, Haskell no te sirve para traer un plato de comida a casa, y difícilmente harás tu próxima aplicación empresarial en este lenguaje. Pero aún así, si te interesa la programación, creo que deberías echarle un vistazo a Haskell. El lenguaje tiene un montón de características interesantes, relativamente poco conocidas. Por ejemplo, las funciones de orden superior (¿cómo es posible que aún no estén disponibles en todos los lenguajes?), la evaluación perezosa, las listas intensionales, la currificación, la programación literaria, la transparencia referencial, el encaje de patrones y las guardas. Algunas de estas características se empiezan a filtrar a lenguajes más populares (por ejemplo, Python tiene algunas de ellas). El sistema de tipos de Haskell es el mejor sistema de tipos que conozco, con sus tipos de datos algebraicos, su inferencia de tipos con comprobación estática y sus clases de tipos. Este es un campo que conozco bien, ya que mi proyecto Zinc trató precisamente con el sistema de tipos (en otro lenguaje derivado de Haskell).
En Haskell se pueden escribir programas muy hermosos, de cuyo código puedes sentirte orgulloso. Por desgracia, no siempre es así, y las cuestiones no funcionales (entrada/salida, por ejemplo) se tratan mediante mónadas, que ya no son tan bonitas (bueno, al menos esa es mi opinión. Creo que hay quien las encuentra igualmente bellas). Por ejemplo, generar números aleatorios es un jaleo.
Como decía, Haskell no tiene mucho tirón comercial, ni está en la cresta de la ola de Internet. Sin embargo, considero que saber programar en Haskell me ha hecho un mejor programador en general. Cuando tengo que diseñar o programar en otros lenguajes, aplico lecciones que he aprendido en Haskell. Cuando me encuentro un nuevo lenguaje que debo aprender, lo relaciono con características que ya he visto en Haskell. Hay un lenguaje funcional que actualmente tiene bastante importancia, y es XSLT. Curiosamente, a mi me resulta muy fácil gracias a mi experiencia con Haskell, pero a mucha gente se le atraganta.
Si he conseguido despertar el interés de alguno, es muy fácil empezar con Haskell. Se puede descargar de su página web, y en Debian es tan fácil como apt-get install ghc6 hugs (un compilador y un intérprete, según gustos). Además de la documentación de la web, Labra tiene un tutorial en español, muy recomendable.
Por cierto, mientras recopilaba enlaces para este artículo, he encontrado que alguien ha metido en la Wikipedia una referencia a Zinc, aunque sólo sea una línea y ni siquiera tenga un enlace. Obviamente, me ha hecho ilusión leerlo.
No más adjuntos olvidados
Enviado por berrueta el Vie, 05/05/2006 - 17:28 ProgramaciónHace unos días, mi amigo Iván nos ofrecía un plugin para notificar nuevos correos en Evolution, similar a la funcionalidad que tienen las últimas versiones de Outlook. Aunque sencillo, el plugin está muy bien, y viene a cubrir una carencia llamativa (al menos, yo no había visto algo equivalente hasta ahora).
He encontrado una aplicación que cubre otra importantísima carencia. ¿Quién no ha olvidado alguna vez adjuntar un archivo a un mensaje de correo electrónico? Pues hay quien ha escrito un programa que detecta si te olvidas el adjunto. Lástima que sea para MacOS. ¿Alguien conoce un programa similar para Evolution?
Investigando un poco sobre Bluetooth
Enviado por jsmanrique el Mie, 18/01/2006 - 18:57 ProgramaciónPor diversos motivos estoy mirando las posibilidades que ofrece bluetooth para enviar archivos a móviles o dispositivos similares. Primero he empezado con este buen tutorial y ya he conseguido mandar ficheros de texto plano del ordenador al móvil usando gnome-obex-send. Pero yo quería ir un poco más allá: enviar mensajes tipo MMS, que luego pudieran enviarse entre usuarios.


