Older blog entries for DV (starting at number 79)

To whom it may concern, and if you're afraid of rude language JUST STOP HERE !

I got the following piece of crap from an unknown person sent to a long list of recipient and proeminently targetted at online news:

Subject: Call for the resignation of Miguel de Icaza
> I have read with great shock and horror Mr de Icaza's
> plan to incorporte the MicroSoft .Net framework into
> future releases of GNOME.  This is a complete abandonment
> of the principles of GNU and the stated purpose of the
> GNOME project. 

From that point I stopped reading the long diatribe and sent back an hastilly worded mail along the following lines:

  I have read the title and first sentence of you mail,
considered
from that point it is complete bullshit, the Gnome project has
ALWAYS welcome new language binding for it's core library, I
read the Register interview, how they deformed Miguels talk to
make more hits due to incorrect article, I understand where
he is going, why C# could be a good language to develop
Gnome applications.

What I don't understand is why: - you didn't took the time to read the article - why you call for rebellion on a subject you apparently don't master - why you're making all of us loosing time with non-issues

Show me your code, then we can talk !

I start to be REALLY pissed of by people who want to make a "name" on pseudo political action, instead of doing real fucking work. If you want to help, make code, make docs provide bug reports, don't make us loose our time

thank you !

Daniel

From that point I would like to make a few things fucking cristal clear:

  1. If you're a wannabe an want to get your status on that community, there is only 2 thinks we care about "Rougth consensus and running code", I would also add decent documentation. If you want to get any respect you'd better work along those lines.
  2. Censors, politicians and keeper of the eternal dogma are NOT WELCOME, FUCK OFF and get outta my way !
  3. The online news industry deserves a HUGE kick in the balls for conciously trying to make add related hits on the issue and putting oil on the fire around masses of confused people including them. If you didn't understand what the guy said technically DONT FUCKING INVENT SOMETHING WHICH PLEASES YOUR AUDIENCE !

And for the morons who disagree, if you don't have at least 6 years of experience working on free software project don't even bother me by trying to reply, if you don't understand the issues, shut up and learn.

Let's go back to coding

Put a pre-release of the libxml2 distrib with python bindings at ftp://xmlsoft.org/test/. Includes examples for SAX/DOM navigation/saving/Push/error handling/XPath usage and extensions. But they are far from complete.

Starting to work on the libxslt bindings now.

more work on libxml2 python wrappers, 262 functions wrappers are automatically generated, and then added automatically to the set of most appropriate classes, the converter is based on the XML formal description of the API and a bunch of glue. The result looks quite nicer than the SWIG generated classes I tried first. The API includes parsing XML/HTML and generating DOM, XPath, Catalogs, URI handling, error reporting.

XPath can also be extended with python defined functions:

>>> import libxml2
>>> doc = libxml2.parseFile("tst.xml")
>>> ctxt = doc.xpathNewContext()
>>> ctxt.xpathEval("//*")
[xmlNode:doc, xmlNode:foo]
>>> def foo(x):
...     return x + 1
... 
>>> libxml2.registerXPathFunction(ctxt._o, "foo", None, foo)
>>> ctxt.xpathEval("foo(1)")
2.0
>>> doc.freeDoc()

Of course the goal is to provide bindings for libxslt and allow to extend XSLt with Python defined functions. Getting read/write access to the tree or result value tree may get a bit hard, but at least for simple types this should be sufficient to palliates the limitations of pure XSLt for power users.

I'm pretty happy with the progresses, the only tweak to normal python programming is the necessity to explictely free up parsed docs. I still need to add SAX/xmllib/sgmlop handlers too. And the libxml2-python RPM currently produced generate for all installed versions of python. On my RH-7.2 it builds both python-1.5 and 2.1 and the same sequence and code work for both python or python2 interpreters. Busy but happy...

28 Jan 2002 (updated 28 Jan 2002 at 20:53 UTC) »

No more cast, no more crutches, Freedom ! Well I will still need a month before walking normally, but it's such a relief ! Also my mother left the hospital today, good.

Improved the PHP code of the search engine of rpmfind.net to add distro and arch filters. Also cleaned that code and added a way to retrieve the set of URL corresponding to the installed packages on a box. This can be a life-safer if your RPM database is corrupted beyond repair and all you have left is the list of packages in /var/log/rpmpkgs. This is relatively heavy on the server so limit it to small tests or real recovery needs. The trick is then to use the dbonly flag of rpm to repopulate the database.

starting to play with python/swig/libxml2 to evaluates various approaches to build Python bindings, fun but I hadn't had much time to toy with it yet.

24 Jan 2002 (updated 24 Jan 2002 at 12:14 UTC) »

my mother is at the hospital, having an eye surgery this morning, I'm seriously stressed...

worked hard to cleanup the extracted documentation of libxml2 (API is documented by extracting formatted comments in the code using gtk-doc). Wrote an information extractor providing a complete description of the library as an XML file. Also dumped a reference XML file. Based on those I now extracts API descriptions and Indexes into the documentation using XSLT scripts. Started doing this for libxslt too. The xmlsoft.org web site is now completely built of: 2 HTML pages maintained with Amaya + the sources + a set of XSLT and python scripts.

This allowed me to build some interesting statistics for libxml2:

  • 100% function docs coverage (970 functions documented, 4 not documented)
  • 117 macros. 46 structs, 72 typedefs, 15 enums, 0 variables, 231 constants, 860 functions and 65 functypes
  • doc automatically extracted from: 27 files, 1403 identifiers and 2496 comments
  • The XML API description is 473KBytes
  • the XML API reference is 680 KBytes

While we are at some statistics let's give some for the rpmfind.net service:

  • 4 machines, 3 of which I maintain.
  • rpmfind.net: MIT: apache + vsftpd : 10Mbps saturated 24 x 7, 2.5 HTTP hit/s, all rpm and iso HTTP download redirected to ww.rpmfind.net : 10 rsync users max, and usually max'ed.
  • www.rpmfind.net: Speakeasy: TUX for both FTP and HTTP static, apache for PHP: 30Mbps saturated occasionally, 0.5 HTTP hit/s: 15 rsync users max. A big box.
  • fr.rpmfind.net: INRIA France: TUX for both FTP and HTTP static, apache for PHP: 800Kbps saturated occasionally, low traffic: 5 rsync users max.
  • the database registers: 143,509 packages, 901,408 requires, 288,445 provides entries and 3,814,586 Files, it's MySQL based
  • the data indexed is arount 350GBytes, the RDF output is 6.2 GBytes, and the HTML ouptut is also around 6GBytes

Long time without diary. I walked again without crutches for the first time today, doing a few meters while still having the cast. I have good hope that once the cast is removed (in one week) I will be able to recover and walk again quickly.

Released new versions of libxml2/libxslt (2.4.13/1.0.10), seems to stabilize. I'm tempted to do a bit of work to make official Python wrappers, probably based on the ones from Dave Kuhlman. A few things need changes though, especially the way I/O are (not) mapped. Maybe change some naming conventions too.

Linux goes mainstream... no not the AOL rumors ... but my mother, who currently teaches chemistry at the University called me saying that she planned to teach a small course about learning Linux. I'm both scared because she's not a Unix/Linux user (but had done computing since the 70's so she has some background), and enthusiastic because it's good she decided it without me asking. Maybe it's the IBM ads on TV (not seen them yet I don't have a TV set). At least she seems to have decided that her new desktop will be a Linux box ... somewhat I feel I will be the support desk, but I'm fairly happy actually.

Broke the Achilles tendon on the left heel Friday, got the surgery Saturday, left the hospital today. So if there is some unanwered mails from me, consider this normal :-\. The good point is that since I work from home this should not annoy me too much, except for the travel during XMas.

As a side effect I read a couple of non-computer related books during the week-end, and slept a lot, that part was actually a good thing. I'm back on-line until Thursday then I will travel to Paris and Monaco and get back next Thursday.

Hum, no diaries in a long time it seems.

Rolled out 2 releases of libxml2/libxslt in the meantime, mostly bug fixes, I also obsoleted the xsltbreakpoint library better handled at the application level.

The situation in the Middle East seriously depresses me, I'm not involved in any way but seing humans behaving so stupidly really affects me.

Quite happy doing some Python code for Red Hat Network, the more I use this language, the more I like it, excellent.

Lucky ! I was lucky yesterday afternoon, while visiting some kind of large garage sale here, in the middle of useless crap, a reasonably sized rack was sitting. Bought it for the equivalent of 40$ bucks and now I'm the proud owner of a rack for my computer equipment with back and front door (plexiglass), and rollers. And it's not too tall so I can put stuff on it and it reduces the noise in the office a lot. Fairly happy with this bargain !

Another libxml/libxslt related article on xml.com. This time about XML::LibXML the perl wrapper done by Matt Sergeant. Coincidence ? seems Matt restarted working on the Perl modules and AXKit lately, at least he's back on xml@gnome.org asking for cleanups in the C libraries. I should also release a new libxslt version fixing the small missing #define - impressive how people can get stuck on very simple C issues.

Seems Mono is making fast progress, the compiler starts working on Linux, hey I should give it a try! I read a small book on C# back in July and the language looked nice.

However did some Python code this week. I really like this language, the set of libraries are good (though I don't like too much their XML default interfaces, not a big deal).I find the language to be convenient, compact but readable, and the object orientation features are well integrated and make the whole thing really pleasant.

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