<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for jao</title>
    <link>http://www.advogato.org/person/jao/</link>
    <description>Advogato blog for jao</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 20:03:39 GMT</pubDate>
    <item>
      <pubDate>Wed, 12 Feb 2003 22:33:06 GMT</pubDate>
      <title>12 Feb 2003</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=26</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=26</guid>
      <description>Recent discoveries:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Common Lisp&lt;/b&gt;. As a result of my getting involved (again) in &lt;a href="http://www.advogato.org/proj/TUNES/" &gt;TUNES&lt;/a&gt;, i'm learning at last &lt;a href="http://www.cliki.net" &gt;Common Lisp&lt;/a&gt;. I've begun with &lt;a href="http://www.psg.com/~dlamkins/sl/cover.html" &gt;Successful lisp&lt;/a&gt;, and Paul Graham's classic &lt;a href="http://www.paulgraham.com/onlisp.html" &gt;On Lisp&lt;/a&gt; will follow. Right now, i still prefer Scheme, but we will see.
&lt;li&gt;&lt;b&gt;Ruby&lt;/b&gt;. I've been reading a lot about &lt;a href="http://www.ruby-lang.org/en/" &gt;Ruby&lt;/a&gt; lately (yes, &lt;a href="http://www.advogato.org/person/fxn/" &gt;fxn&lt;/a&gt;, 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.
&lt;li&gt;&lt;b&gt;emacs-wiki&lt;/b&gt; 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 &lt;a href="http://emacswiki.org/cgi-bin/wiki.pl?EmacsWiki" &gt;try&lt;/a&gt;.
&lt;/ul&gt;

&lt;p&gt; 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.</description>
    </item>
    <item>
      <pubDate>Wed, 12 Jun 2002 22:03:25 GMT</pubDate>
      <title>12 Jun 2002</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=25</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=25</guid>
      <description>&lt;pre&gt;&amp;lt;heartbeat&amp;gt;&lt;/pre&gt;
sites worth visiting (or, at least, sites i keep on visiting
lately):
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tunes.org" &gt;Tunes is a Useful,
Nevertheless Expedient System&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.sweetcode.org" &gt;Sweet, unconvential
code&lt;/a&gt;
&lt;li&gt;&lt;a href="http://lambda.weblogs.com/" &gt;Lambda, the
Ultimate weblog&lt;/a&gt;
&lt;/ul&gt;
&lt;pre&gt;&amp;lt;/heartbeat&amp;gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 7 Mar 2002 00:26:53 GMT</pubDate>
      <title>7 Mar 2002</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=24</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=24</guid>
      <description>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.
&lt;p&gt;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.
&lt;p&gt;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 &lt;i&gt;Object Oriented Software
Construction&lt;/i&gt; (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.</description>
    </item>
    <item>
      <pubDate>Tue, 15 Jan 2002 02:21:50 GMT</pubDate>
      <title>15 Jan 2002</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=23</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=23</guid>
      <description>&lt;b&gt;OCaml&lt;/b&gt;. 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.
&lt;p&gt;&lt;b&gt;WindowMaker&lt;/b&gt;. 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!
&lt;p&gt;&lt;b&gt;MMDK&lt;/b&gt;. 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 
&lt;a href="http://bitrange.com/mmix/gcc/" &gt;gcc port&lt;/a&gt;
cross-compiling C/C++ to the MMIX emulator!</description>
    </item>
    <item>
      <pubDate>Sat, 8 Dec 2001 22:42:56 GMT</pubDate>
      <title>8 Dec 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=22</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=22</guid>
      <description>&lt;b&gt;Galeon&lt;/b&gt;. Since a few weeks ago, &lt;a
href="http://galeon.sf.net"&gt;galeon&lt;/a&gt; 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.
&lt;p&gt;&lt;b&gt;Procmail&lt;/b&gt;. I've learnt to use procmail to filter my
mail, and use it in conjunction with &lt;a
href="http://www.advogato.org/diary/"&gt;wmbiff&lt;/a&gt;. I've tried
also mutt again, but will stick to &lt;a
href="http://my.gnus.org"&gt;gnus&lt;/a&gt; for reading mail:
i'm too used to its philosophy (mail == news), and it offers
better integration with emacs.
&lt;p&gt;&lt;b&gt;Vim and Emacs&lt;/b&gt;. 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 &lt;i&gt;GNU Emacs Lisp Reference
Manual&lt;/i&gt; copy) and, boy, emacs rocks!.
&lt;p&gt;&lt;b&gt;New journey&lt;/b&gt;. Definitely, i'm going to learn &lt;a
href="http://www.ocaml.org"&gt;Ocaml&lt;/a&gt;, and probably mmdk (the
MMIX development kit) will be written using this nifty
functional, object-oriented language. I already own &lt;a
href="http://caml.inria.fr/books-eng.html#cousineau-mauny"&gt;Cousineau
and Mauny's book&lt;/a&gt;, and have ordered &lt;a
href="http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/index.html"&gt;Objective
Caml&lt;/a&gt; (in French, i'll have to learn two languages at a
time!).
&lt;p&gt;&lt;b&gt;FreeBSD&lt;/b&gt;. Still happily working with it at home.
The &lt;a
href="http://www.onlamp.com/pub/a/bsd/2001/11/29/Big_Scary_Daemons.html"&gt;portupgrade&lt;/a&gt;
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!).</description>
    </item>
    <item>
      <pubDate>Mon, 19 Nov 2001 00:49:09 GMT</pubDate>
      <title>19 Nov 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=21</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=21</guid>
      <description>&lt;b&gt;Dia&lt;/b&gt;. I've been working on a patch for &lt;a href="http://www.lysator.liu.se/~alla/dia/" &gt;Dia&lt;/a&gt;, 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!.
&lt;p&gt;&lt;b&gt;FreeBSD&lt;/b&gt;. 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).
&lt;p&gt;&lt;b&gt;Books&lt;/b&gt;. Lots of them. I' ve finished:
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;The pragmatic programmer&lt;/i&gt;. Good, but not 
&lt;i&gt;that&lt;/i&gt; 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.
&lt;li&gt;&lt;i&gt;Software architecture in practice&lt;/i&gt; from the &lt;a href="http://www.sei.cmu.edu/" &gt;SEI &lt;/a&gt; people. Very 
good. Serious software engineering for practitioners.
&lt;li&gt;&lt;a href="http://www.construx.com/stevemcc/rd.htm" &gt;Rapid 
development&lt;/a&gt; by S. McConnell. Very good and 
comprenhensive. It's been of great help for guiding the 
development of our products in scytl.
&lt;li&gt;&lt;a href="http://www.construx.com/stevemcc/sg.htm" &gt;Software 
project survival guide&lt;/a&gt; by S. McConnell. Also 
good. A complement to Rapid Development. Or maybe 
a sort of abstract.
&lt;li&gt;&lt;a href="http://www.cs.wustl.edu/~schmidt/POSA/" &gt;Pattern-Oriented 
Software Architecture: Patterns for Concurrent and 
Networked Objects&lt;/a&gt;, also known as POSA2. 
Simply superb. The patterns in this book are 
extremely elegant and powerful, and the &lt;a href="http://www.cs.wustl.edu/~schmidt/ACE.html" &gt;ACE 
framework&lt;/a&gt; gives you the oportunity of using them 
out of the box and in a portable manner.
&lt;/ul&gt;
Uf! No wonder i've had not time for writing diary 
entries! :-)
</description>
    </item>
    <item>
      <pubDate>Sun, 14 Oct 2001 02:46:52 GMT</pubDate>
      <title>14 Oct 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=20</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=20</guid>
      <description>&lt;b&gt;Monitor&lt;/b&gt;. 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!
&lt;p&gt;&lt;b&gt;Prototyping&lt;/b&gt;. 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 &lt;a href="http://www.scytl.com" &gt;scytl&lt;/a&gt;). Gtk-Perl is 
really an excellent tool for this kind of job. The 
more i use perl, the more i like it.
&lt;p&gt;&lt;b&gt;Music&lt;/b&gt;. I'm going to the opera tomorrow: 
&lt;i&gt;La Boheme&lt;/i&gt;, a wonderful masterpiece. And the 
theatre is also a very nice one: &lt;a href="http://www.liceubarcelona.com/eng/" &gt;El gran 
teatre del Liceu&lt;/a&gt;, in Barcelona.</description>
    </item>
    <item>
      <pubDate>Mon, 1 Oct 2001 01:09:32 GMT</pubDate>
      <title>1 Oct 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=19</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=19</guid>
      <description>&lt;b&gt;MDK&lt;/b&gt;. The new, &lt;a href="http://www.gnu.org/software/guile" &gt;Guile&lt;/a&gt;-aware 
version of &lt;a href="http://www.gnu.org/software/mdk/mdk.html" &gt;MDK&lt;/a&gt; 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 &lt;a href="http://www.advogato.org/person/fxn" &gt;fxn&lt;/a&gt; with lots 
of insightful comments on the docs. It is people like him 
that make writting free software such a pleasure.
&lt;p&gt;&lt;b&gt;Job&lt;/b&gt;. The new job at &lt;a href="http://www.scytl.com" &gt;scytl&lt;/a&gt; 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, &lt;i&gt;sarna con gusto no 
pica&lt;/i&gt;). We are using &lt;a href="http://tex.loria.fr/index.html" &gt;LaTeX&lt;/a&gt; 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 &lt;i&gt;Effective&lt;/i&gt; and &lt;i&gt;More Effective 
C++&lt;/i&gt; books, and the really superb &lt;i&gt;Exceptional C++&lt;/i&gt; 
by Herb Sutter. Returning to C++, after all those months in 
the barren lands of Java, makes me feel like a &lt;i&gt;real&lt;/i&gt; 
programmer again! 


</description>
    </item>
    <item>
      <pubDate>Sun, 16 Sep 2001 12:51:43 GMT</pubDate>
      <title>16 Sep 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=18</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=18</guid>
      <description>&lt;a href="http://www.advogato.org/person/prla" &gt;prla:&lt;/a&gt; 
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 :).
&lt;p&gt;&lt;b&gt;Eric S. Raymond does NOT speak for me&lt;/b&gt;, either.
</description>
    </item>
    <item>
      <pubDate>Thu, 30 Aug 2001 16:35:41 GMT</pubDate>
      <title>30 Aug 2001</title>
      <link>http://www.advogato.org/person/jao/diary.html?start=17</link>
      <guid>http://www.advogato.org/person/jao/diary.html?start=17</guid>
      <description>&lt;b&gt;MDK&lt;/b&gt;. The Guile integration is progressing quite fast. I quickly discarded the C++ wrapper thing: the C interface is clear enough, and i didn't see a way of improving it in C++. By now, i'm able to interact with the MIX virtual machine from within a guile shell and the other way around: interpret scheme commands from the vm command prompt. This opens great possibilities, like implementing new functionality usin scheme... in short, MDK is beginning to be extensible. I plan to write new scheme extensions to access the MIX vm, and a little scheme lib for manipulating the MIX data types in the next few days, and then make a new release.



&lt;p&gt;&lt;b&gt;Tools&lt;/b&gt;. I've begun to use on a regular basis a tool to keep todo lists from the command line, &lt;a href="http://freshmeat.net/projects/devtodo" &gt;devtodo&lt;/a&gt;, and found it really useful (thanks to &lt;a href="http://www.advogato.org/person/fxn" &gt;fxn&lt;/a&gt;). A second wonderful discovery has been &lt;a href="http://surfraw.sf.net" &gt;surfraw&lt;/a&gt;, a refreshing project consisting of a set of scripts to access common WWW search engines from the command line: don't miss the web page, it's worth reading!</description>
    </item>
  </channel>
</rss>
