Recent blog entries for jao

27 Jun 2010 (updated 27 Jun 2010 at 03:00 UTC) »

Recent discoveries:

  • Common Lisp. As a result of my getting involved (again) in TUNES, i'm learning at last Common Lisp. I've begun with Successful lisp, and Paul Graham's classic On Lisp will follow. Right now, i still prefer Scheme, but we will see.
  • Ruby. I've been reading a lot about Ruby lately (yes, fxn, there is order in this universe ;-) and really like it: it combines the power of Perl with a nifty object system, plus a handful of refreshing ideas (like, e.g., iterators). It will probably become my scripting language of choice.
  • emacs-wiki is an Emacs mode to maintain a local WikiWiki. I'm using it to keep personal notes on a local repository, neatly organised and hyperlinked, and all in ASCII format! Font lock makes them visually appealing, and you can even export your pages to HTML. Just another reason for never leave Emacs. Definitely worth a try.

After using FreeBSD for a few months, and having to recompile all my installed ports due to an upgrade to version 5.0, i have returned to Debian: it took just two hours to update the old installed system to a spiffy Sarge distribution, without a quirk. FreeBSD ports are a far call from apt and friends.

12 Jun 2002 (updated 12 Jun 2002 at 22:07 UTC) »
<heartbeat>
sites worth visiting (or, at least, sites i keep on visiting lately):
</heartbeat>
7 Mar 2002 (updated 7 Mar 2002 at 00:32 UTC) »

It's been a long time without a post, due (mainly) to high workload... you know, the blisses and woes of a start-up. Nevertheless, i've not been idle. To begin with, i've come back to debian. FreeBSD's ports exhausted my patiente, due to poor dependency handling (i had to install gnome-pilot as a pre-requisite for mrproject!), an obsolete libtool version that nobody seems to be updating (more than a year old) and that prevented my compiling cvs versions of dia and guile, total lack of up-to-date compiled packages and some other minor quirks led me to try a fresh install of debian, and i got hooked again. It's really a pity, for bsd's kernel is so much better, imho, than linux 2.4 (i'm using 2.2.10 at home, btw). But, at the end of the day, i realised that i was using exactly the same applications in both os's, so that the important thing is the package management. Debian's is simply better.

i also got tired of waiting for the update of the OCaml port to 3.04, once i decided that OCaml was the right choice for my next projects. i finished a fp-and-co-languages review, incluing OCaml, Haskell (very nice), Scheme (extremely elegant), ML (well, you've got OCaml) and, last and very least, Python (please, use Perl instead). At first, it was hard to get used to OCaml's syntax, but i learnt step by step to love it... and, oh well, it's just syntax. What really matters is the new semantic world that functional programming opens up; each functional language i've tried came loaded with a handful of little conceptual treasures: type inference, first-class currying and functors in ocaml; lazy evaluation and monads in haskell (with the nicest quicksort evaluation i've ever seen); continuations and macros in scheme... no wonder that reading the python tutorial was so disappointing! It is also a pleasure to find , when using and reading books about, say, ocaml, a direct map between advanced computer science issues and the language you're using; you feel like using a tool from the ground up... imperative languages like C++, Perl or Java are like folk, pop or rock music: funny and light, with some harmonic surprises now and then; funcional languages are the classical music of programming, harmony itself.

As a result of these musings, i don't feel so partial to C++ against Java: they're more or less on the same league. So, it's been not that traumatic to use java at work, a decision we took due to schedule and stuff constraints. Reading Meyer's Object Oriented Software Construction (almost finished) has also made me reconsider some of the relative virtues of both languages, and i'm beginning to appreciate some java features such as garbage collection and reflection (i still terribly miss templates and generic programming features, though). Meyer's book is, by the way, worth reading. It's very well written and insightful, once you factor out his dogmatic defense of Eiffel as the only true solution to virtually all your problems.

15 Jan 2002 (updated 15 Jan 2002 at 02:22 UTC) »
OCaml. Almost finished the Objective OCaml book... hmmm, still deciding if i really like it. When it comes to functional programming, scheme seems nicer and more elegant. As for oo, OCaml offers some interesting things like subtypying, which you don't find, for instance, in C++. Parameterised modules also look interesting, and the standard libraries are quite complete (liked the Marshall module, for instance). So, all in all, i guess it's ok. I must find a little application to try it out.

WindowMaker. Back again to wmaker, because of some annoying bugs in blackbox when resizing emacs frames. In addition, the new wmaker version 0.8 let's you launch already docked apps from the command line (or a script, for that matter), a functionality i really missed. And, finally, i took a look at the bb sourcecode, and found it very low quality C++, so... let's see how long i stick to wmaker this time!

MMDK. Must have a look at Knuth's implementation of MMIX before starting my own: it seems quite powerful, and maybe it's no use reinventing the wheel; there is even a gcc port cross-compiling C/C++ to the MMIX emulator!

8 Dec 2001 (updated 8 Dec 2001 at 22:45 UTC) »
Galeon. Since a few weeks ago, galeon has become my default browser, substituting konqueror. It's quicker, nicer, and has a few featurettes i like (and konqueror lacks); for instance it opens new documents using the running instance (if any), and has a nice google, google groups and dictionary toolbar. It also supports anti-aliasing, and new windows do not take ages to pop up.

Procmail. I've learnt to use procmail to filter my mail, and use it in conjunction with wmbiff. I've tried also mutt again, but will stick to gnus for reading mail: i'm too used to its philosophy (mail == news), and it offers better integration with emacs.

Vim and Emacs. I've played a little with vim. It's ok, but i find it far inferior to the almighty emacs. These days i've written some emacs skeletons, with a little bit of elisp (dusting my GNU Emacs Lisp Reference Manual copy) and, boy, emacs rocks!.

New journey. Definitely, i'm going to learn Ocaml, and probably mmdk (the MMIX development kit) will be written using this nifty functional, object-oriented language. I already own Cousineau and Mauny's book, and have ordered Objective Caml (in French, i'll have to learn two languages at a time!).

FreeBSD. Still happily working with it at home. The portupgrade utilities are almost making me forget apt-get :-). I'm also using blackbox again (instead of windowmaker): after trying it again, i've found it noticeably faster (and the window decorations are nicer, i think... i always get tired of the windowmaker title bars: they are too big for my taste!).

19 Nov 2001 (updated 19 Nov 2001 at 00:52 UTC) »
Dia. I've been working on a patch for Dia, a really nice diagraming program. It is very well-writen, and it's been easy to code a diagram tree, showing all open diagrams and objects therein. The maintaners/developers are very nice guys, and my first patch quickly got into the cvs tree. I've just submitted a second one. I'm experimenting first hand the power of free software: i needed a feature, and the code was there to add it!.

FreeBSD. I'm using again FreeBSD at home. I already use Debian at work, and i really like it, but, somehow, FreeBSD appeals my hacker side. It's true that Debian is better when it comes to administration via apt/dpkg/dselect, but i thought that fighting against the nitty-gritty details of installing and configuring sofware in a Unix system once in a while gives you the opportunity of learning a lot of things. In addition, FreeBSD has, imho, a better writen kernel than linux (just look at the recent linux vm chores).

Books. Lots of them. I' ve finished:

  • The pragmatic programmer. Good, but not that good. It is a good collection of pointers, but i've found that when you don't already know about what they're talking about, the book does not provide detail enough to learn it: you must go to the urls.
  • Software architecture in practice from the SEI people. Very good. Serious software engineering for practitioners.
  • Rapid development by S. McConnell. Very good and comprenhensive. It's been of great help for guiding the development of our products in scytl.
  • Software project survival guide by S. McConnell. Also good. A complement to Rapid Development. Or maybe a sort of abstract.
  • Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, also known as POSA2. Simply superb. The patterns in this book are extremely elegant and powerful, and the ACE framework gives you the oportunity of using them out of the box and in a portable manner.
Uf! No wonder i've had not time for writing diary entries! :-)
Monitor. Today i've bought a new 17' monitor, to substitute my old 14' one that died yesterday: now i know why i have to wear glasses!

Prototyping. I'm using (and learning) Gtk-Perl for building a user interface prototype (as part of the requirements analysis phase for Pnyx, our e-voting product at scytl). Gtk-Perl is really an excellent tool for this kind of job. The more i use perl, the more i like it.

Music. I'm going to the opera tomorrow: La Boheme, a wonderful masterpiece. And the theatre is also a very nice one: El gran teatre del Liceu, in Barcelona.

1 Oct 2001 (updated 1 Oct 2001 at 01:23 UTC) »
MDK. The new, Guile-aware version of MDK is finally out. It took ages to finish the new user's manual's chapters, but i think it's been worth the effort. And the next version will be even better: i've just received a mail from fxn with lots of insightful comments on the docs. It is people like him that make writting free software such a pleasure.

Job. The new job at scytl is really rewarding and exciting. Quality is our motto, and i've got here the rare chance of practising software engineering the way i think it must be done. That means lots of work, but pleasant work it is (as we say in Spain, sarna con gusto no pica). We are using LaTeX for writting technical docs, and it's really a joy: i'm having lots of fun re-discovering it in its full power. I've been also reading C++ stuff: Meyer's Effective and More Effective C++ books, and the really superb Exceptional C++ by Herb Sutter. Returning to C++, after all those months in the barren lands of Java, makes me feel like a real programmer again!

16 Sep 2001 (updated 16 Sep 2001 at 12:51 UTC) »
prla: thank you for your recommendation of Cryptonomicon. I've already read it. It's a good novel (although, imho, not a masterpiece). And thank you for the cert :).

Eric S. Raymond does NOT speak for me, either.

18 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!