Older blog entries for jao (starting at number 17)

MDK. 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.

Tools. I've begun to use on a regular basis a tool to keep todo lists from the command line, devtodo, and found it really useful (thanks to fxn). A second wonderful discovery has been surfraw, 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!

I've released a new version of MDK (0.4.2) with a few bug fixes and new toolbars for gmixvm (i've drawn a couple of icons and got the others from gnome and kde apps). I've restarted reading guile documentation and i'm playing with the idea of a C++ wrapper (have been reading old issues of the C/C++ Users Journal and some chapters of Sutter's Exceptional C++... man, that was real fun), but i'm not still sure if this would be useful (feel free of telling me what do you think :-). In any case, it's my preferred method for learning new things: coding.

By the way, a couple of weeks ago i discovered how to use anti-aliased fonts for Qt apps (even inside WindowMaker; you just need export QT_XFT=true and XFree86 4) and Konqueror looks pretty nice: the quest for a browser is over :-))

13 Aug 2001 (updated 13 Aug 2001 at 23:51 UTC) »
Job. I've quit my old job at iSOCO last week, and will start working in a small, newly-founded crypto company called SCYTL next month. I got tired of e-business, B2B, B2C and all the buzzwords. On the other hand, the people running SCYTL are friends of mine (one of them, aleix is also an advogater), i like cryptography, and i'll have the chance of working on a software product development: the decision was straightforward :-).

MDK. The 0.4 release is almost a month old, but i've made little progress on new features. The next step should be adding guile extensibility, but it's a lot of work... btw, thanks to the great work of Agustin Navarro, we already have Mandrake packages of mdk!

Books. Mostly reading crypto these days: Levy's Crypto is not that bad, Kahn's The Codebreakers is like reading a (very good) novel, Scheneier's Applied cryptography is a must read, and Koblitz's Algebraic aspects of cryptography nicely brings up the beauty of crypto math...

Debian. Returned to using Debian GNU/Linux. Ok, i know i've been writing a lot about how nice FreeBSD is, but tried again Debian and couldn't help using it again and again. I must admit package management using apt and dselect is a pleasure, and the Debian package configuration is usually better and faster than FreeBSD's. Finally, i'm a GPL/GNU guy, and, with Debian, it's easier to keep my workstation non-free software clear.

Browser wars. Although Mozilla 0.9.2 is not that bad, i'm using almost exclusively links and Konqueror (when i want images). They're pretty stable, and Konqueror's font handling is far, far better than Mozilla's. Netscape is not even installed on my workstation!.

Scheme. Almost finished SICP, and am ready to practise scheme programming adding guile extensibility to MDK. OCaml and Perl are next.

Books. I've re-read Philip K. Dick's Ubik (this time, the original English edition) and enjoyed it like the first time. Nabokov tales (a birthday present) are waiting on the shelves, once i finish Orwell's Coming out for air. Man, i really need more free time!.

1 Jul 2001 (updated 2 Jul 2001 at 09:50 UTC) »
FreeBSD. Finally, got portupgrade working, and learned a bit more about the pkg_* utilities, and i can now maintain my 4.2 box up-to-date quite comfortably. Still think that something a la dselect would be useful, though. It seems that the Debian/BSD mailing list has resurrected latety. That's good news.

SICP. I'v learnt about lazy evaluation/streams wonderland, and got impressed by its abstraction power. This technique lets you express some mathematical abstractions on series elegantly and concisely. It's the same elegance that you get in physics when representing three-dimensional time evolving systems as a set of world-lines in four dimensions: mind-boggling at first, but enlightening once you grasp it.

The latest releases of Mozilla seem to be getting usable, and i'm giving it a(nother) try these days. It is a resource hog, though, and i must fight hard against my aversion to bloated software: i still use links for browsing local documentation.

(Yet) another release of MDK has hit the streets: 0.3.5. I fixed some bugs left from the infamous 0.3.3 release, improved the symbol table handling and coded an interface to it in gmixvm. Afterwards, i've added the possibility of detaching the MIXVM, MIXAL and Devices windows from the main one. Thanks to the clear separation of the interface offered by libglade, it's been a breeze.

I've returned to WindowMaker, my pre-Blackbox favourite wm: now, i don't need to use the mouse at all (blackbox needs it for the menus), the dockapps look better, and it runs almost as fast as bb. In the meantime, i tried PWM, an interesting wm with dockapp support and the possibility of attaching multiple windows to the same frame. Worth a try, but i still prefer WindowMaker or Blackbox.

Read a little bit about GNUstep and Objective-C, but i don't like the Next look and feel that much (except for WindowMaker), and Objective-C reminded me too much of Java, so i came back to learning Scheme and Perl (Nigel Chapman's Perl: The programmer's companion).

14 Jun 2001 (updated 24 Jun 2001 at 14:44 UTC) »
MDK. I have had to make two releases in a row. In the first one (0.3.3) went all the new functionality (output device formatting, compile and edit commands, command history and bug fixes) together with a serious bug which made gmixv to segfault on startup! So i had to rush a new version fixing it (the current one, 0.3.4), causing havoc to a lot of people (specially, the packages maintainers, which have had double work; fortunately, they are very nice guys :-).

Hacking. Learned a little vim, but i'm still hooked on emacs for actual development. Nevertheless, vim is a nice editor, and comes in very handy for editing config files and scripts.

FP. More SICP, and a little Ocaml (i bought Coisenau and Mauny's book). The latter looks very interesting, and i read some benchmarks that rate it very high.

1 Jun 2001 (updated 14 Jun 2001 at 21:32 UTC) »
MDK. Adrian Bunk has created a Debian (Sid) package which has entered the official (unstable) distribution. Very nice, as Debian has always been my one and only GNU/Linux distro (i'm still working with FreeBSD, though). I've implemented the switch from word to decimal representation for the contents of MIX block devices in gmixvm, and am working in simple compilation support from within the GUI.

SICP. I've been seriously delving into functional programming with the aid of this great book. It's really refreshing, since FP shows you a different (and nicer) way of thinking about problem solving. On a related note, i've discovered a new treasure of Emacs' dragon cave: ILISP, a very useful package providing a nifty development environment for LISP languages (including Scheme/Guile, the one i'm currently using).

As an aside, i've been also re-reading the Feynman Lectures on Physics, just for fun and to avoid forgetting all that amusing things i once studied so eagerly (i guess i'm still a physicist, at least in spirit!).

Finally, the new MDK version is released. I'm already thinking of further enhancements. I read a very nice tutorial introduction to Guile, and plan to add Scheme extensibility to MDK (following an idea hinted by Philip (hey, Philip, are you there?)). Also, i restarted reading SICP: lots of fun.

Definitely, i must learn perl. A colleague at work has shown me some really neat meta-programming tricks that i'd like to investigate. The camel book is already open on my desk, together with a bunch of tutorials (including a very good one about Gtk-Perl): maybe in a few weeks i could start hacking the FreeBSD ports manager idea.

A nice guy from GNU Spain contacted me a couple of days ago. They seem to have a lot of good ideas for promoting the Free Software community and philosophy in Spain. I plan to get as deeply involved as time (and hacking) allows. Please, if you live in Spain, consider getting involved too: we need lots of help!.

Spent a lot of time hacking FreeBSD. Definitely, it has become my platform of choice (for the time being).

Also found some time to complete a new version of MDK (to be released in a few days) which adds customization support (fonts and colors) and full device handling. The number of downloads is steadily increasing: more than 300 by now. More than i ever expected when i began the project. Very rewarding.

Tried for some time sawfish, but finally returned to blackbox (despite i don't like its source code): it's definitely quicker. I think i won't go into hacking bbmenu by now: too much low level X stuff, i'm afraid. That leaves me with two choices: MMDK or the ports-apt. If i choose the second, it will be an opportunity of learning perl and using the gtk bindings; it seems the right language choice for such a project. As for MMDK, i'm not sure: maybe C for the backend and C++ for the GUI?

SICP still waiting on my bookshelf... got time to finish Benedetti and Huxley: great stuff!!

8 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!