Older blog entries for aaronl (starting at number 49)

I have sucessfully ported Gnapster to Gtk. I have a tree on my system that will link either with or without gnome. The GTK interface need a little polishing and fixing, but it basically works. The whole project was 10 hours of work, split across about 30 hours of Real Life. We expect the changes to go into the next release of Gnapster. However, there are some licensing concerns that will have to be cleared up before then :(

The diff is currently 55k. Tomorrow I will fix the final issues so that popups actually do the function you select, and diaogs also work.

This was a cool little project, and I will probably be doing some long-term work on Gnapster too.

Wonder if the RIAA will come after me.

Here's some amunition for the anti-Gnome crusade:

22015 aaronl 11 0 3228 3228 2432 S 0 0.1 2.5 0:00 lame
22033 aaronl 8 0 2504 2504 1916 S 0 0.1 1.9 0:00 unlame

(Stupid mozilla likes to force line wrapping)

lame is the "hello world" Gnome application which opens a window with two buttons. unlame is a GTK app that opens up a window with one button (ooh, big difference!!!). As you can see, the Gnome application is much larger becuase it has to load all of the Gnome libraries (that hopefully nothing on my system is using). Anyone who doesn't care about 500k can piss off.

My hitlist:


These are applications I use that require Gnome. Please someone help out and implement patches to make them plain GTK so I can get rid of megs and megs of crufty Gnome libraries.

Sorry for not posting for so long. Today I started working on a list mode for EFM. It's been suprizingly easy so far, and I'm worrying that the last 10% may be 90% of the work. I haven't told raster yet since I haven't been able to contact him, but I'll discuss it with him and mandrake tomorrow.

Since my last diary entry I have made minor contributions to XMMS, X-Chat, and hxd. I'm enjoying this variety, and plan to work more on miscellaneous applications that I find useful such as these.

VA hasn't been working me too hard, and I've been having a great time. As August draws near I am wondering how I will ever be able to go back to school in September :-(.

I've had some adventures with web browsers lately. My self-imposed policy of only using free applications at work has forced me into mozilla, and I've been looking for alternatives. I checked out GtkHTML from CVS, and I must say that it is the fastest graphical HTML engine I have ever used. I'm very excited about this project. But I'm quite bitter that they made something so useful depend on Gnome. Silly helixcode people :(. The stuff in CVS is nicely experimental, but I don't dare use it for everyday surfing. Mozilla is holding up well for that, and I'm reporting all of the problems I run into. I still have major ideological problems with mozilla, as I like small and fast applications but mozilla implements its own whole damn toolkit. As for speed, it seems to implement its dialogs in JavaScript. Yuck. The developers claim that if not for this aproach, it would only have been developed on Win32, but Mozilla sucks so much more than Comunicator 4.x (which used sane, native, consistant widgets) that I really have my doubts.

VA stuck an SMP server with a gig of ram in my cubicle for me to play with. How nice of them. As if the 100mbit internet connection wasn't enough to keep me happy ;-). Did I mention that they pay me too, in addition to all of this? :) It's so hard to believe that you would be payed to sit at a desk with a superfast internet connection and amazing computers, but I guess that's what VA is about.

I worked some more on the normal mode patch for AbiWord. After fixing up some annoying conflicts caused by the huge commit today for lists, I tried to make it hide the left ruler in normal mode. It's not easy. First, the view isn't created when the rulers are being created, so I guess I have to go with rulers on until the view comes to life and decides otherwise. The modification to the code is pretty simple. I wouldn't mind doing it once but due to the braindead Abi hierarchy each platform has pasted code for doing that same thing the same way with s/oldplatform/newplatform/g. So once I DO get it working on Unix I'll have to do it for windows, mac, qnx, beos, etc, and I'll have no way to test it on any other platforms. And hinding the left ruler is the easiest of it all, here's my TODO list as designed by Paul Rohr for the normal mode code:

- don't draw borders or background
- easy toggling between modes

Not sure:
- still print like the existing "page layout" view

- no left ruler; top ruler starts at the left margin, not the left of the page
- format all content as inline blocks in series
- labelled dotted or dashed lines for section / column breaks (page breaks completed)

It's not going to be easy. Left ruler stuff is a nice challenge but nothing compared to doing the kind of hacks in the formater required to make it work right. Right now it is a tiny hack as hacks go and it does not work right: there are columns and several major bugs that don't let you move the cursor up or keep a huge margin at the bottom of the page when there should be none. And once the behavior is more correct, printing will probably be broken becuase it should use the current WYSIWYG behavior, so I will have to support both modes at the same time for different devices.

XEmacs looks beautiful in a terminal, but there it is limited to ASCII! The problem with this is that it can not pick up keysyms like Hyper that have become so valuable to me for customization.

As always, I found a solution.

M-p and Hyper are now synonymous. I wish I could do a better hack, but this works. Grab the .emacs or try the awesome M-x load-file RET /anonymous@ftp.vitelus.com:/pub/dot.emacs RET trick discussed in an earlier post (it probably wont work though... GNU emacs in the console dies with it right no w :().

Someone sent a patch to the abiword-dev mailing list with windows linebreaks. This was not at all usable to me. So I wrote a mini-flame to the mailing list praising CVS as a diffing tool and critisizing the idea of doing development against released sources. I guess I am in a bad mood tonight, despite what I said in the message.

In other news, I had to send out an invoice which was quite overdue. I would be doing it in AbiWord if it printed tabs correctly. After realizing that Word doesn't print tab characters correctly either (WTF? Just becuase it's Normal Mode doesn't mean it should suck!), I finally got it right on the third printout. Then I spent an hour looking for an envelope, I wrote a rant on a sticky note asking my father to mail the message. As I was walking away, I found an envelope. That pissed me off. So I spent another hour looking for a stamp. I didn't find a single one. This time my rant spanned several sticky notes and proclaimed that the postal office was a "tyranical, authoritarian orgainization that practiced stamping-cum-censorship" (or something like that). It's not hard to hate the post office after reading about several supreme court cases about 30 years ago against the post office for banning the mail of things like "publications intended for homosexuals" and certain contraversial books. The idea that the postmaster general could have so much control to define ethics in the context of communication really sickens me. I'm glad that I control my own mailserver.</a>

I commited 3 patches today. But I realized that all of them subtract code, and don't add a single line! I did fix bugs, though. Weird.

I didn't code today. But I did go to an awesome party. That's all I can say while keeping this post rated G (with due disrespect to the MPAA).

I've been forgetting to post for a few days in a row now. I'll post all of these diary entries in one.

22 Jun 2000
I tried fixing a bad drawing bug. I tried very hard. I wasn't able to. So I went and worked on my .emacs file. The new version doesn't read the "desktop" file if it is only being reloaded, and the customizations for scheme and comint are bettter. It's available at the usual place, but now also on FTP. The idea is that I could take advantage of EFS so that at school or at a foreign computer I can type M-x load-file RET /anonymous@vitelus.com:/pub/dot.emacs RET. This works beautifuly and will drastically change the emacs behavior :).

21 Jun 2000
I stayed up late working on a job ( :( ). Once I was done with that work I was really lazy and played a lot of XEvil and listened to MP3's. Not much to report. Except that I fixed a few bugs in AbiWord like #919 (on UNIX) during the day.

20 Jun 2000
Went on a really cool run that made me feel totally out of shape. The main work that I accomplished this day was that I did a major hack to fix a bug in AbiWord where toggling Bold on/off or changing the font while nothing was selected would cause the file to be marked "dirty", but no acutal changes would appear in the file because no text was there to assume those new properties. I fixed this by doing some rather unorthodox fiddling with the save version counter, and implementing a flag to know when to keep it in sync.

19 Jun 2000
I finally fixed that Postscript printing bug. It wasn't easy. It took 2 days and a night. Basically most accented characters were unbound and therefore not included in the widths array. I hacked the code to make a unicode-indexed width array and use that. Gnome-print's sources were helpful with figuring this out, and since I had to make a large mapping table that a comment in the gnome-print source said was a TODO, I sent it off to their mailing list. I certainly hope my work prevents someone else from spending 45 minutes hacking together such a table.

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