Older blog entries for hub (starting at number 159)

Kernel hacking (job)

My current assignement is evaluating the use of a new CPU board on our hardware. This evolve rebuilding a kernel and booting with it. The board is a Motorola PrPMC1100, based on Intel Xcale CPU. I fetched a tree from Montavista that supports it and build arm-linux- cross-compiler with Debian. So far it works and the kernel boots. That was not painless as I have to reflash the board to get a RedBoot with proper support of the integrated NIC given that I boot over TFTP.... (and transfering that bootstrap image over XModem was a PITA).

booting it...

Booting is OK, but having a root filesystem is not. It looks like IDE support is broken (no flash) and the onboard NIC require a custom driver from Intel to work on Linux. And it weight 2MB by itself, and for that reason needs to be loaded as a module....

But that is not the biggest problem. The biggest problem is that almost any ARM distribution, including our choice, Debian, provide ARM as Little-Endian. But this board requires BigEndian kernels. Guess what ? The Kernel (2.4.19) just replied "init not found." and did NOT display any error code (adding a few printk() helped me to find out that this was the problem). I will need to rebuild a BigEndian userland for Linux. Not fun at all.

Abiword

Found some time to fix the clipping at last. Still lot of pixel dirt in scrolling, but at least drawing is OK. Code has not been committed because it was during the tree closing for 1.99.4 release (not on MacOS X). As usual I wasted more time building the whole beast the actually fixing the bug. I would like to thank Apple for creating a so SLOW operating system.

Life

Watched Antitrust for the first time (bought the DVD for EUR 5). I like the end credits.

Work

I played with RADIUS authentication. Google is not always very helpful, but since I have the source code, I can easily solve my problems.

Abiword

I have been having hard times to fall asleep before midnight these last 2 days, so I spend some time debugging Abiword for Cocoa. I was working on some weirdness with CoreGraphics and setting the clipping rect. It appears that the clipping rect gets messed up when locking a NSView for drawing. Some my clipping was discarded. Now I set the clipping rect only after locking the view. I also found out by re-reading the documentation that calling -[NSView allocateGState] may help. According to GNUStep documentation, as well as Apple's:

Allocating a private gstate may improve the performance of views that are focused a lot and have a lot of customized drawing parameters.
Definitely my case, since each drawing call from GR_Graphics class perform a lock on the view. Much faster now.
Abiword

I have thought on migrating Abiword source tree from CVS to Subversion. I'd like to get advice from people who already have done it, given the fact that we have developers on Windows that use WinCVS as well as other platforms like QNX, BeOS and MacOS X (for this one, I don't see any problem). People I talked to are not very comfortable on migrating, so that is whay I'm publicly asking.

I'm not willing to debate why leaving CVS, just about experience from people who did it. I'm eventualy open to suggestion for another Free (like in speech) tool that would do the job, but I haven't found any.

Work

Still fun. Playing with IGMP and other network stuff. But it is eating my free time. Nevermind.

I uploaded a new roll of slides taken in Dublin when at GUADEC. They are available at: http://www.abisource.com/~hub/pics/guadec4/2003-06-15-1S/.

Job

2 weeks I have had this new job. I like it. Definitely.

Abiword

Fixed a few bugs in the Cocoa port. Remember, don't call free() on Objective-C instances (like NSString*). This is bad. I did that mistake, probably by not being careful. I found the crasher by reviewing the code. I got caught by NSZombie debug facilities in Foundation Kit.

Dia

Submitted a few GUI patches to Dia. Cosmetic but useful. Also verified almost all the bugzillas I entered in GNOME bugzilla.

softkid: thanks a lot.

Job

Been having a new job for 3 days. It is fun. Installed my work machine: Debian GNU/Linux.

Abiword

With my new job, my copious spare time is much less copious. Anyway I'll try to find a way to have some.

Abiword

Committed a few changes, including a the Tab dialog for Cocoa, a sync of the WordCount dialog with what UNIX version does.

I also committed some code to get rid of libgal on GNOME builds. I know people hated it since we used only one or 2 widgets from that library. I fact I did what Jody did in Gnumeric.

I finally committed the menu bar and toolbar stuff that got delayed by MacOS X filesystem suckage (see rant. Lot of code for this change have been done in Dublin during the night.

I printed my first letter from the MacOS X version. Even speed start to be acceptable (but still not enough).

Job

mathieu: congrats for your new job.

I think I myself found a solution. More on that on Monday.

RANT

MacOS X sucks. Once again I lost some file because of bugs in filesystem: I get content from another file instead of the original content, without change to file meta-data like last mod date and size. fsck_hfs in this case report Overlapped extent allocation. I was on the verge to throw the laptop against the wall or to install Linux... For those who care, I lost 3 source files from Abiword and these three files were part of a jumbo patch I was working on. I can tell that I lost a few hours of work. Even more: when I reported that kind of problem, I've almost been told that I was insane or that my hardware was at fault. This occured me on something like 5 standard machines. I'll disable HFS Journaling and see if this is the root cause of the problem.

Dia

Started to implement a few GUI changes in Dia after discussing with AlanHorkan. Once I get them done, I'll submit patches to developpers.

GUADEC

This year was a great year. I met a lot of people I never had met before: AlanHorkan, dobey, msevior, Marc Maurer (aka uwog) and his GF, wlach, Daniel Glasseye (aka glasseye), caolan, pphaneuf, miguel; and people I already met and was happy to meet again: cinamod and his GF, Uraeus, cuenca, Jody, and probably lot of other I'm forgetting. Dublin is so gorgeous. I should have spent more time.

I'm really eager to go to GUADEC5 next year.

Misc. travel notes:

  • Missed my plane because of SNCF (French Railways).
  • On my return flight, sat next to a Microsoft employee. I read Linux magazine :-)
  • Took less than 5 rolls of pictures, including party pictures...
  • Next time I'll take another airline, because the aircrafts that Air France uses for this flight are to tight for tall guys like me.

Abiword

Stuff I did in the mean time: speed up char drawing after talking with cinamod, fixing zoom (almost done) and refactoring the menu bar because of the shared nature on MacOS X.

Abiword

Lot of things have been done. I changed the way graphics are done to remove the offscreen buffering that was performed. Surely much faster. And the caret now blinks properly. And it is faster. I also fixed several bugs about line color and such. The rulers now looks much nicer. I still have to fix a problem with clipping. I sill have to figure what is going on.

Implemented Printing and Page Setup. Not 100% complete, but works fairly well. I had to reimplement some XP code because the way printing is performed in Abiword is simply not the way Cocoa does it. Nevermind. Not a lot of work, but I'll need to refactor that for 2.2

Now I'm working on toolbars. I try to get them properly shared. I do this bu sending notifications. I also fixed some problems with invoking from combo boxes. I can now change the font from the combox box.

GUADEC

Will leave for Dublin on Saturday. I plan to met martin, cinamod, wlach, dobey, uwog, AlanHorkan, Uraeus, caolan and lot of other fellow hackers. I'm really eager to be there.

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