-
You gotta stem the evil tide
And keep it all on the inside
Mary you're nearly a treat
Mary you're nearly a treat
But you're really a cry.
MSX / Uzix / FOCA
This week I'm restarting the work on my FOCA compiler system for the MSX/Uzix platform. For those who don't know, check the link, but MSX is an 8-bit computer based on the Z80 processor with nice graphics and sound capabilities popular in Brazil, Japan, Netherlands and Spain in the 1980s. Uzix is a Unix implementation for the MSX, implemented by a college mate who graduated along with me at Unicamp. The system is in development and I committed myself to writing a compiler/linker/assembler system for the lil'machine. I hope to present a working beta of FOCA (Fudeba: Optimizer, Compiler and Assembler) at the Brazilian MSX meeting that will happen in Jau / SP in the first week of november.
eboard
Unfortunately I've slowed down a lot the development, but
it's almost done, most TODOs are GUI frills. I hope to have
0.4.x by the end of august.
birthday and guitars
After some months without time to run through electronic
component shops to look for the capacitor that was burned in
my amplifier, I finally got it and fixed it. Thus today I
was able to enjoy my birthday with the volume knob on the
loudest and reverb on its finest. I shouldn't be so happy at
scaring away my neighbours, but hey :-)
I'm back to Campinas for another round of job interviews.
Mandrake "Usability"
Last weekend I was in my mother's house. I took one of the
Mandrake 7.2 shrink-wrap boxes Mandrake gave me on New
York's Linux World Expo. The only time I tried to install
one of these on a friend's computer here in Campinas it
failed completely to detect the partition table on the hard
drive (while RH 6.2 and FreeBSD 4.2 detected it fine, same
computer).
Here goes a report of the epopea:
After deciding that repartitioning was a bad idea (no backup
media around), and as Mandrake's manual said the Linux4Win
install was a bit slower, I decided for it. I boot
from CD 1, start installing... the progress indicator starts
saying "34 minutes total, 34 minutes left". It just keeps
increasing. 40. 55. 1h20. 1h40. I came in later and it was
reading '2h09 total, 4 minutes left'. Those must have been
the longest 4 minutes ever, they lasted like half an hour,
after which I started hitting the Cancel button on screen.
The button went 'down' and 'up'. I must have hit it about 50
times. Nothing happens. I peruse the VTs, RPM says it's
working. Reboot, remove C:\lnx4win, try again with less
packages... I notice also that you can't go back and forth
in the installation.
After another 2 hours, installing only the basic, it's done. GRUB fails to load the newly installed Mandrake system. fdisk /MBR to restore it, and start it from the .exe in Windows. It takes eons to load. It was a K6-2 500 MHz/64MB machine and it took like 6 minutes to get past the green OKs part of the boot process. X, which worked so cute during the install, comes in without mouse. DrakXConf uses a non-standard widget to present the 'clones of Control Panel items', making it impossible to select the 'Configure Mouse' item with the keyboard. All in all, it was too sluggish to use.
Now, the most funny thing is that I hear lots of people saying Slackware is not well suited for newbies and that Mandrake is the most 'user-friendly' Linux distro around. I'm using Slackware since late 1996, have tried RH and Conectiva just to come back crying to Slackware. Some comparisons:
1. Slack seems to use a regular, unmodified kernel. It never failed to detect the partition tables on me.
2. Slack uses text mode. It's not so cute, but when I 'hit' a button, it works (unlike Mandrake's Cancel button).
3. Slack never lied about the time left to finish for me.
4. I can go back and forth in Slack's installation.
(Everything I say about Slack above applies to FreeBSD's install too)
Not to mention that I had to manually edit /etc/X11/XF86Config-4 to configure the mouse on this experience. Recommending Mandrake for newbies looks offensive.
eboard
It's been some weeks since I last touched the code, better
work a little on it tonight.
DMCA
...currently brainstorming some interesting way to protest
against Adobe (first PDF (Pifious Document Format), then
KIllustrator, now this...), send suggestions if you have any
:-)
stuff
Anyway, I'm going to Brasilia for some days, maybe the bugs
will
be dead when I get back :-)
gPS
I should also consider implementing single-process tracking
in gPS and call it 1.0.0, it's been a long time I don't
touch that one, and it shouldn't be 0.10.3 for all eternity.
A review just came out talking about chess interfaces for Linux (including eboard), here is the review itself and here is a thread about in in Linux Today.
It's been a long time since my last note and until someone remove that awful link that's screwing up Advogato layout I'm not reading diary notes anymore.
eboard
Getting tastier each minute, 0.1.6 will be out later today
when I finish implementing examination mode.
job
If I don't get a Un*x-related job soon I'll grab my guitar
and start playing it for money. You _don't_ want me to do
that, the music scene will never recover from the damage. (I
am known for having performed the Free Software Song worse
than RMS -- the guitar performance was decent but I sing
much worse than he)
1. The only tarball, for 5.02, is 30 MB long. There are no older versions at the site. I look to the 33.6 kbps modem. It looks to me.
...4 hours later...
2. uncompressed the thing, as expected there is a 103 MB PGN file for the book. Those who can't write chess engines add huge game databases. No documentation, Makefile or configure script in the toplevel directory.
3. Entered the 'doc' dir. So I must go to the src directory, run autoconf, configure and make. Sounds right.
4. When I try to compile I get an error from GCC about trying to use sp as general register for register variables. Peek the code. Peek the Makefile. Removed the -O3 switch. Ok, it compiled this time.
5. I was almost su'ing and 'make install' when I had a bad feeling. A voice says 'check the Makefile before'. This is the install target:
install:
cp gnuchess.exe
/cygdrive/c/winboard/gnuchess.exe
GNU Chess assumes you are running Microsoft Windows. (scream) How did this crap got to bear the GNU on its name ????????
6. The doc file said I should build the binary book file from the 100-MB PGN file. I follow the exact instructions and... nothing happens. No file is written, no error message, no crash, no nothing. It just does nothing. The 100 MB file that made the whole thing so slow to download is completely useless (I can use it for Crafty, but it's useless for GNU Chess unless it builds the damn binary file)
Well, GNU Chess (in fact, any engine that talks the xboard protocol version 2) support is added to eboard, the changes are already on CVS. Wrote a harsh document about the whole experience, also on CVS by now.
I must now look for older versions of GNU Chess, maybe they suck less. I must also start looking for GPL'd (or at least free in the Debian Free Software Guidelines sense) engines. If you know of any, drop me a note.
Similar comments apply to UML and Rational Rose enforcement. If one can't picture the structure of the software by himself without the aid of a diagram-drawing, code skeleton generation program (pencil and paper is ok) or agree on extensions by talking with the workmates, he shouldn't be developing software in the first place.
job
not yet
writings
wrote a tutorial on the usage of automake and autoconf,
should be published on an "official SEUL URL" soon (as soon
as Roger comes back from the 6th dimension), one of the
copies I sent for review is here: autotut
gBib
Since last entry, released gBib 0.1.1, a Gnome BibTeX
editor, quite a nice program (the main developer is
Alejandro Sierra), had some nice fun hacking the bibfile
parser.
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!