blindcoder is currently certified at Journeyer level.

Name: Benjamin Schieder
Member since: 2003-01-07 08:51:34
Last Login: N/A

FOAF RDF Share This



Currently learning about programming OpenGL Interfaces in C++, putting all of it into a small framework/toolkit/whatever and creating some programs/cames with it. Also spending time on ROCK Linux.


Recent blog entries by blindcoder

Syndication: RSS 2.0
5 Feb 2003 (updated 4 Sep 2005 at 10:24 UTC) »


still trying to implement clicking on the landscape while being able to freely rotate it. Must make CPoint a libGLI-Object after all... oh well.

29 Jan 2003 (updated 4 Sep 2005 at 10:27 UTC) »
Apache 2

got abandoned due to uselesssness of mpm_perchild.


making progress

Linux Progress Patch

Adjusted it for vanilla-linux 2.4.20 Should be on soon

22 Jan 2003 (updated 22 Jan 2003 at 08:26 UTC) »

Screw those guys from Addison-Wesley! Quote from their book "Apache Webserver 2.0":

[mpm_perchild] is especially useful for big ISPs because they can run their Virtual Hosts under the user and group of their customers

While this is not entirely false, it's not the whole picture. Imagine an ISP with some 300 customers (does that count as large? I doubt that) and a configuration with mpm_perchild like this:

*config config*
NumServers 300 #yes that's 300. One for each client
*more config*

NameVirtualHost #just assume all on one IP

<Virtualhost> DocumentRoot /var/www/cust0001 ChildPerUserId cust0001 cust0001 1 # that's User, Group and Number of Servers for this combination. This can also go into Global, and doesn't actually change the User and Group for the VHost AssignUserId cust0001 cust0001 # User and group for this VHost </VirtualHost>

<Virtualhost> DocumentRoot /var/www/cust0002 ChildPerUserId cust0002 cust0002 1 AssignUserId cust0002 cust0002 </VirtualHost>

<Virtualhost> DocumentRoot /var/www/cust0003 ChildPerUserId cust0003 cust0003 1 AssignUserId cust0003 cust0003 </VirtualHost>

and so on until cust0300. A `ps -eaf | grep httpd` would then show:

cust0001  3582  3580  0 08:48:08 ?        0:00 /avol1/intranet/apache2/bin/httpd -k start
cust0002  3583  3580  0 08:48:08 ?        0:00 /avol1/intranet/apache2/bin/httpd -k start
cust0003  3584  3580  0 08:48:08 ?        0:00 /avol1/intranet/apache2/bin/httpd -k start
cust0300  3882  3580  0 08:48:08 ?        0:00 /avol1/intranet/apache2/bin/httpd -k start

This is but an example for a medium-sized ISP with 300 VHosts. Now, think of BIG ISPs with several THOUSAND VHosts. Okay, they wouldn't run on one machine, but that doesn't eliminate the problem IMO.

Oh, and if you wonder about cgi-scripts. A cgi-script running in /var/www/cust0001/cgi-bin owed by cust0001 with the following content:


echo -e "Content-Type: text/plain\n\n"

echo "PWD: `pwd`" echo "USER: `id`" date >> hello && okay="1" if [ "_$okay" == "_1" ] ; then echo "Okay" else echo "MEEP MEEP" fi

would create the following output:

PWD: /pvol1/icntest/wt0000/cgi-bin
USER: uid=43697(infowww) gid=2000(webadmin)

So you STILL need the suEXEC wrapper.
And now PLEASE tell me that I'm terribly, TERRIBLY wrong.


Oh well, back to work after a week of sickness and what do I have to see? A whole new version of Apache2 to play with. I don't know if I should be happy or sad.


Boy, do I feel dumb. After days of trying to fit a map of hexagons into memory (and actually drawing them to the screen using 6 triangles, too), SpoonMeiser pointed out how to do it right... I hope the weekend will come soon.


WEE! Finally it compiled and it runs!

The problem was:
Get Apache2 running on Solaris with --with-mpm=perchild

1. Add one line into httpd-2.0.43/server/mpm/experimental/perchild/perchild.c at line 59:

#define _XPG4_2 1

2. Comment out line 77 in /usr/include/signal.h
3. Symlink /usr/lib/ -> /usr/lib/

That way I was finally able to compile and start that beast. Now let's just see, how long it will run...


Finally found a way to press a map made of hexagonals into memory. Have to implement that this evening.

5 older entries...


blindcoder certified others as follows:

  • blindcoder certified blindcoder as Apprentice
  • blindcoder certified esden as Journeyer
  • blindcoder certified mike1 as Journeyer

Others have certified blindcoder as follows:

  • blindcoder certified blindcoder as Apprentice
  • esden certified blindcoder as Journeyer
  • richdawe certified blindcoder as Apprentice
  • mike1 certified blindcoder as Journeyer
  • rolla certified blindcoder as Journeyer
  • salmoni certified blindcoder as Journeyer
  • fxn certified blindcoder as Journeyer
  • SyOpReigm certified blindcoder as Journeyer
  • helcio certified blindcoder as Journeyer
  • pasky certified blindcoder as Apprentice

[ Certification disabled because you're not logged in. ]

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!

Share this page