12 Jun 2005 donscarletti   » (Master)

Three months ago I resolved to keep a semi-regular blog. This is the next post after that. My resolutions arn't worth the 80 bytes of space that they are stored on.

Librsvg status update

Librsvg development has been slow, but still plodding steadily. I have pretty much ripped up the internals and rewritten them, as I am prone to do (out of necessity, not by choice). Now librsvg is theoretically at the stage where one could write a DOM level 1 interface for it and the internals could do most of the things asked of it. Also, the API for creating new backends for it is pretty much finalized and it can now be compiled without libart and almost can be compiled without gtk, so it seems like if someone wanted to write a cario backend for it it could be THE cairo SVG renderer (in reality, this someone is probably me, but it could be Dom or a cairo developer if I called in a favour from Satan).

Despite the progress, librsvg is making me increasingly depressed. I am beginning to realize just how huge the task of maintaining and expanding something that covers the vast requirements that rsvg is expected to cover really is. And on top of that I am beginning to realize just how close to being alone on the development team I am most of the time. When I think about how much bigger and more complex SVG is to HTML, and how long and how many people it took to get gecko the way it is, I feel like a bit of an idiot for ever thinking about attempting what I am still in the process of doing. When I started developing librsvg a year and a half ago, it was the second most accurate open source native SVG renderer behind Sodipodi, then we edged out Sodipodi and became the second most accurate open source native SVG renderer behind Inkscape. My work over the last couple of weeks has probably nosed in front of Inkscape to gain the illustrious title of "open source native SVG renderer that will be the second most accurate behind Mozilla SVG in a matter of weeks if their progress keeps up."

I got an email from a cairo developer a little over a week ago, asking me why I haven't committed any of my cairo backend code into CVS, and why I am keeping the cairo mailing list completely out of the loop with my progress. Such correspondence was clearly worthy of an amused snort, but it got no such thing. I simply gave it a reply that everything I have done on cairo was committed and the whole world has been told about every that was passed. It's easy giving progress reports if there is no progress. I sometimes wonder what it would all be like if I had chosen to work on libxsvg instead and thus the library with the patterns, filters, markers, clip paths, masks and all the other features would be the same library with the cairo renderer, the modularity and the hype.

My motivation for getting off my butt to make a cairo backend has been, up until this point in ascending order: idealism for progress, concern that without cairo rendering librsvg wouldn't be used and nagging on IRC. My motivation now is simply that libart is so hated to me that if it were human I would kill it's mother to spite it, even if we were brothers. In libart you can't apply a transform to a linear gradient, in libart, you have to deliberately use values just a tiny bit wrong to make it less likely to hit a sweet spot and misrender. Libart has NO documentation, NO comments and the code has clearly been optimized for speed, rather than the ability to work out what the hell half of it does. I'm looking forward to never having to touch it again except for minor tweaks for backward compatibility.

OK, I'm done moaning about the software development component of my life, I'm sorry if I've got anyone to the point of wanting to shoot themselves in sympathy.


I finished my classwork for this last semester. I'm glad I switched to straight CS now, the duel degree was a pain in the butt. My exams start in a week, enough time for some study and possibly some more hacking. I am effectively still in second year for one more semester than I would have been if I just did comp sci to begin with. Thus, my courses this semester were easy but pointless but frankly, I don't mind that since during this semester I was able to finish the following important tasks: Rome: Total War (5 times), Prince of Persia: Warrior Within (2 times), Soldier of Fortune 2 (1 time), Half Life 2 (3 times), Grand Theft Auto: Vice City (1 time), Deus Ex (1 time), Quake III (1 time), Half Life (1 time). Does counting the amount of games I played (and conquered)in a 15 week period make me feel cold and dead inside? You bet your arse it does. Is that going to change anything? Hell no.

Because of my university student status, I decided to take a shot at that google money thing. Not a serious attempt or anything, I just put my name down, put down what I plan to do in the near future anyway and begged for money that would make it far easier for me to do it. I don't really think I'll get considered seriously, firstly, because I didn't suggest anything that had anything to do with the suggested bounties (frankly, I think the're dumb, no offense to whoever's ideas they were). Secondly, because those bounties are to attract new open source developers. I've been working on the stuff for longer than I've been a university student so I probably don't count. That said, it could be claimed that I am no longer an open source developer and that I'm a "disillusioned open source developer" (see above). I became a Gnome contributer in first year, became a co-maintainer in second year, became a silent name in planet.gnome.org in third year and now, three months later, I've gone all the way to completely hating Gnome and OSS in general so I am ready to begin the cycle anew before even graduating. I figure I'm back in the pool for recruitment but already have CVS access, experience, trust and internal contacts. By my reasoning, I'm the perfect candidate. I guess there is a third reason as that in the southern hemisphere there is no summer and thus no holidays right now. That is an even easier one to solve, my attendance is appalling so I have a three month holiday anyway. Just ask one of my lecturers if I attend as much as I should and you will get an answer like "Caleb who?"

Opinionated review of a book you've probably already read.

I finally read "The da Vinci Code" (don't worry, for what it is worth, there are probably no plot spoilers here) I was sick of hearing about everyone reading the da Vinci code and talking like it was the new foundation of their lives, so a little while ago I decided to read it when I was bored, but not bored enough to start blogging since that only happens when I'm REALLY bored. I read it over the course of two days since it was overall a very easy read.

I think that it would have to be both the one of the most entertaining books I've read and the most thoroughly stupid book I have ever read. It starts out really good, but about half way though the author forgets to pretend that he isn't pushing a strange religious agenda. At that point the suspense in the plot ceases to be about holding one's breath guessing how characters shall escape a perilous situation, but holding one's stomach contents back guessing what historical, artistic, cultural or biblical reference Dan Brown will misinterpret to fool the audience into forgetting that they are reading fiction.

I can't remember the last time I was actually offended on the grounds of my religion. I really have no problem with "Jesus Christ Superstar", I've seen "The Life of Brian" no less than eight times, but for some reason the treatment of Jesus in that book really bugged me. It's not really because of the claims he makes (which are well within the realms of things I have read before), but because of it's encapsulation in fiction with a well crafted suspension of disbelief that is designed to pass out of the context of the book into the readers psyche while never exposing itself to debate like an actual theological treatise would.

Even though my father teaches theology, I'd hardly call myself a hardcore puritan (or even pious unfortunately) but even though I have spent an entire bible study looking up a young female parishioner's skirt, that book almost managed to bring out the hard core militant fundamentalist in me, and believe me that is a HARD thing to do. I really think this goes deeper than a story and I think Dan Brown has something to say about Christ and I think he should just come out and say it and stand behind it. (they have got to be his actual beliefs since nobody writes anything as boring as the middle twenty chapters of the book if they are just doing it to entertain the audience). Heretics don't get burned anymore (well, not here they don't) what's the harm?

But enough of things that could be judged as my own religious prejudice, let's get into why the book REALLY sucked for everyone shall we?

It irritated me that he advocated a theology based on a divine female yet never discussed spirituality from a female's perspective. He argued how connection with the divine female through sexual congress brings completion and wholeness in a male worshiper. He explains how the feminine nature can help a man understand himself. Yet he never once mentioned how this would effect a female in her worship. You'd think that having a female god, rather than the largely asexual, slightly male God of Christianity would effect women too and if Mr Brown was so in tune with the spirituality relating to women, why didn't he mention it? I don't know. I unusually act like a borderline misogynist when critiquing literature and a lack of female perspective has never bugged me before so I'm not sure why it bugged me this time, but it really did. The only real female character in the whole book also comes out very undeveloped and bland, quite out of place with a philosophy about the richness of the feminine soul. I kind of figure that the author just doesn't understand women and wisely just doesn't risk writing something stupid. I guess I can't claim to understand women either, but still, I don't try to explore the issues of sexuality and religion.

Also, he seems to like to play with history a little. He would like to have people believe that the divinity of Christ was first suggested at the council of Nicea. He seems to want to pretend that Certain documents concerning certain organizations wern't fakes. He goes to HUGE lengths to work in pretty much every secret, eclectic or occult order but Sea Org (that would be an impressive challenge) even when they have no point. Some of his tenuous links weaken the ones that are inherently stronger.

The writing style in the book does border on exceptional however. I could really tell that if Dan Brown wasn't such a preachy douchebag that it would have been a book of exceptional quality. Near the end though, I got the feeling that the author tried to put too many plot twists and they were getting a little weak and pointless.

Anyway, it was a fun read but I came out less enlightened on many subjects than what I was before I read it. Which is probably the reason it managed to compete with TV so well in the mainstream.

Conclusion, apology

That's about all I've got time to post. This whole process was mostly a distraction to help me stay awake long enough into the afternoon to get back into a diurnal sleep cycle. I'm sure some people must have worked out that I have been awake for 30 hours based on my language skills. If you actually took the time to read much of this, I apologize for any damage my innane drivil has caused from the deepest part of my heart.

Latest blog entries     Older blog 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!