Older blog entries for ak (starting at number 12)

My lecture at the Chaos Communication Camp is now in the official conference schedule: http://www.ccc.de/camp/2003/conference/event/533.en.html

Sync2NAS is not really a lot of fun in unswitched 10 MBit environments. ;-( Too many collisions.

MS Office sucks. Suddently, MS Outlook wanted to install some missing components, while it was running as non-privileged user, so it couldn't, and stuck in some kind of infinite loop. On the other side, I'm so happy that I don't have to work with that crap.

On the other side, Sync2NAS looks pretty good. Sync2NAS is a free mirroring solution for Windows, and it's based on rsync. Actually, it's a frontend to rsync, written in Perl/Tk. I haven't looked at the executable file, but the developer doesn't give away the source. But I got it already. :-) (in case you have sf.net account, have a look in /home/groups/s/sy/sync2nas on shell1.sf.net).

Yesterday and today, I built a system completely based on dietlibc (mostly). It uses dietlibc as C library and several components from www.fefe.de. And: the system just rocks!

The memory usage after boot and first login is 3.7 MB of RAM, which is so awesome. These 3.7 MB include a kernel of 750 kB (that's the size of the vmlinuz image, which is actually compressed), 4 instances of fgetty, a running sshd, and properly mounted filesystems. The time it takes from the last kernel message to the login prompt is less than 1 second. That is due to the fact that the minit init system is not based on shell scripts, but only compiled code, which makes it extremely fast.

After installing a few more utilities I think I'll be able to make it completely self-hosting.

It looks like my lecture about cinderella at the CCC Camp has been taken:

https://wiki.camp.ccc.de/Camp/view/Main/CampConference

Only two more weeks 'til CCC Camp, and I'm already soooo excited! :-)

Customers suck, they only make problems. Doing support keeps one away from the actual work. What also makes problems are old houses with thick walls, since you can't use WLAN inside of them. WLAN at one of our customers (with such thick walls) is extremely flakey and unstable because of that, as I realized today. You do not even get a good, reliable connection 10 meters away from the access point!

Today, I did some work on dietlibc, I simplified the malloc/free routines, until I realized that, with my modifications, any program linked against the dietlibc and allocating small chunks of memory will be a memory-eating monster. Anyway, my patch still simplifies the malloc/free routines, so that they're much easier to understand. Currently, I don't know whether I will even publish this patch.

Today, I also got my answer regarding my patches for config.{guess,sub} so that these two well-known and often used scripts manage to detect dietlibc. When I compile and links programs with dietlibc, I want to have "i686-pc-linux-dietlibc" instead of "i686-pc-linux-gnulibc1", since programs linked against dietlibc are most likely _not_ GNU software.

I think, the libreadline problem is solved: http://sf.net/projects/libedit/.

Sven Guckes wrote a nice email about signatures and dicksize wars: https://lists.lo-res.org/pipermail/cngw/2003-July/000481.html.

I (again) found a nice little code snippet of mine:

int gcd(int a,int b){while(a>b?(a%=b):(b%=a));return(a?a:b);}
The GCD is the greatest common divisor. The code above computes it for the integers a and b.

DHCP rocks, btw. Unless DNS doesn't work on OSX, then. *argl*

I'm a Tocotronic addict.

I think so, at least. The flight to Berlin (CCC Camp) is booked, EUR 163,- from Vienna VIE to Berlin TXL including the journey from Linz to Vienna and back.

The slides for my talk at the CCC-Camp Conference (I'm not sure whether I will hold it) are ready, I could start with it now. :-)

Two ideas I was recently having was

  1. rewrite parts of akpop3d using libowfat. stdio stinks, definitely. Transition to libowfat would make akpop3d way cleaner, for sure. Who wants to help out? ;-)
  2. write an API-compatible wrapper around libedit to emulate libreadline. libreadline is GPL, which makes it virtually impossible to link non-GPL software against it and to ship it.

Started a little bit of playing with Minix. Minix is really nice and small, when I saw the memory allocation routine, I immediately recognized that it implements a first-fit algorithm. I also recognized that "Operating Systems - Design and Implementation" sucks in some ways, since a number of Minix details are only documented in source code. What do I need a textbook about it, then?

After quite a long time, I'm adding a new entry. What has happened in the meantime? Well, quite a lot.

  • akpop3d, my POP3 daemon, got improved in many aspects, and quite a lot of have contributed code, already.
  • I started writing my own network intrusion detection system, named cinderella, which contains most of the ideas that are (were) contained in the NIDS that I wrote for a company a year ago.
  • I did a number of talks at the Linuxwochen 2003, and it was quite a success.

Haha, on friday I'm going to Berlin. After bits of sightseeing there and on other places in Germany I'm going to attend CeBIT on tuesday and wednesday. Hope there will be interesting stuff.

Today I finished my work on akpop3d, my secure POP3 daemon. It's really neat. It works perfectly (for me\tm ;). SSL support is quite nice. Maybe someone has any suggestions what features to implement? And everybody who reads this, please do a peer review!

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