Older blog entries for Fefe (starting at number 23)

I decided to enter the Honeynet challenge. To maximize my own learning experience, I decided to do it the hard way: by not running the binary, not even in strace or a debugger. Just working on the disassembler output. The first part was easier than the last part. I actually thought I could finish this in 24 hours, but then I fell asleep on the keyboard ;-)

I am finished now and I think it was worth it. There is still plenty of time, so if you think you are up to it, go ahead and join the contest!

Time and again, just when I am starting to lose faith in the free software community (usually when I go to Freshmeat and see superfluous crap projects like the hundredth PHP weblog or window manager or trivial 3k hack bloated to multiple megabytes using Java, KDE or GNOME, someone comes along and restores my faith.

Just today, I received a report regarding tinyldap for a cut-and-paste bug in the library that is not visible in any of the actual binaries. So, to find it, you need to read (and understand) the source code. After all the kindergarten behavior and low-quality postings on the mailing lists or Usenet newsgroups for popular software like qmail or Apache, I can really appreciate the difference. Normally most of the messages ask questions straight out of the manual, or worse, the FAQ. So far, the mailing lists for my projects have been great examples of how mailing lists are supposed to be. Very low volume, no fluff. It's good to see that this can actually work.

I am still thinking on how to implement ACLs for tinyldap. This issue has been clouding my mind for over two weeks now. OpenLDAP slows down by a factor of 100 with ten measly ACLs for my test data, so it is very important to get this right.

tinyldap is now actually in a state where it begins to be useful. It has a trivial client that can do EQUALS queries, it has a relatively simple server that is meant to be run from tcpserver (see ucspi-tcp), and it already outperforms openldap by a factor of almost 10 for index generation and simple queries.

Time and again I am amazed at how bad the successful software packages out there are. Apache is easily outperformed by fnord, MySQL isn't even a real database, PHP is so slow that Zend actually made a business model out of selling performance enhancing hacks for it... The only widely used free software projects that actually perform well in their market are GNU grep and the Linux kernel (and the latter is an evil bloat monster).

Sometimes the state of the free software is quite depressing. Well, enough talk. Let's do something about it!

OK, so I did start writing that LDAP server. I call it tinyldap, although it currently does not do much. However, the feedback from frustrated openldap users was overwhelming. No previous project of mine has ever created this kind of collective "Finally!" sigh from people who send me lengthy rants on why openldap is a toy not ready for production use. Well, it will be a long time until tinyldap becomes usable, but I certainly underestimated the demand for it.

On a side node, Mozilla urgently needs to support anti aliased fonts under X. My eyes hurt from these ugly fonts.

18C3 was way more fun than I expected. The two most frequenty asked questions to me were: "are you doing a web log again?" and "any more lectures from you today?". I was not planning on either, but the many questions made me write a web log (I still haven't uploaded it yet) and the second question made me feel bad for refusing to do more than two lectures this time.

Anyway, there were more than enough lectures this year, and good ones at that. I'm happy, this was the best CCC congress for years.

I'm very optimistic about 2002. It will be a great year, I'm sure. And tomorrow I will finally start writing that stupid LDAP server that I have been talking about for weeks. ;-)

23 Nov 2001 (updated 24 Nov 2001 at 20:14 UTC) »

Yesterday, I released fnord, a very small and very fast web server. It is quite feature complete and appears to be faster than most if not all other web servers out there.

I started a new project, mininet. I will reimplement certain important network utilities (so far only ping and host) using libowfat and the diet libc. I hope people will contribute (hint, hint) some code (wink, wink, nudge, nudge)!

Looks like I will be speaking about the diet libc at Linux Kongress! I hope that rivafb will have geforce2 go support until then so I can use a diet libc linked DFBPoint to do the presentation... well, maybe not.

HAL 2001 ruled!

Much progress! Linus told me that I should not use kernel headers from user space in the diet libc, so I cleansed the diet libc header files. It was quite a lot of ugly work, but it had to be done. Now, theoretically, you can cross-compile it without needing anything else (except gcc and binutils of course) from completely strange and alien platforms like cygwin/alpha or a PDP/11 ;)

Olaf got an ld.so for the diet libc working on x86, and it's only 7k! A little more cleaning up and I say we are ripe for one-dot-oh, baby!

What else is new? I resurrected my djbdns IPv6 patches and added full IPv6 transport capabilities, not only for tinydns but also for dnscache (which took a lot of messing with internal structures and resulted in a 70k patch). It would have taken weeks had I not been able to reuse code from libowfat. Whew.

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