<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for blindcoder</title>
    <link>http://www.advogato.org/person/blindcoder/</link>
    <description>Advogato blog for blindcoder</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Fri, 10 Feb 2012 21:34:41 GMT</pubDate>
    <item>
      <pubDate>Wed, 5 Feb 2003 10:37:01 GMT</pubDate>
      <title>5 Feb 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=9</guid>
      <description>&lt;p&gt; &lt;B&gt;FreeSerf&lt;/b&gt;

&lt;p&gt; &lt;p&gt; 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.</description>
    </item>
    <item>
      <pubDate>Wed, 29 Jan 2003 12:52:00 GMT</pubDate>
      <title>29 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=8</guid>
      <description>&lt;B&gt;Apache 2&lt;/b&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; got abandoned due to uselesssness of mpm_perchild.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;B&gt;FreeSerf&lt;/b&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; making progress

&lt;p&gt; &lt;p&gt; &lt;B&gt;Linux Progress Patch&lt;/b&gt;

&lt;p&gt; &lt;p&gt; Adjusted it for vanilla-linux 2.4.20 Should be on &lt;A HREF="http://lpp-themes.sourceforge.net/"&gt;http://lpp-themes.sourceforge.net/&lt;/a&gt; soon</description>
    </item>
    <item>
      <pubDate>Wed, 22 Jan 2003 08:26:04 GMT</pubDate>
      <title>22 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=7</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; Screw those guys from Addison-Wesley! Quote from their book "Apache Webserver 2.0":

&lt;p&gt; &lt;blockquote&gt;[mpm_perchild] is especially useful for big ISPs because they can run their Virtual Hosts under the user and group of their customers&lt;/blockquote&gt;

&lt;p&gt; 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:

&lt;p&gt; &lt;pre&gt;
*config config*
NumServers 300 #yes that's 300. One for each client
*more config*

&lt;p&gt; NameVirtualHost xxx.xxx.xxx.xxx #just assume all on one IP

&lt;p&gt; &amp;lt;Virtualhost xxx.xxx.xxx.xxx&amp;gt;
    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
&amp;lt;/VirtualHost&amp;gt;

&lt;p&gt; &amp;lt;Virtualhost xxx.xxx.xxx.xxx&amp;gt;
    DocumentRoot /var/www/cust0002
    ChildPerUserId cust0002 cust0002 1
    AssignUserId cust0002 cust0002
&amp;lt;/VirtualHost&amp;gt;

&lt;p&gt; &amp;lt;Virtualhost xxx.xxx.xxx.xxx&amp;gt;
    DocumentRoot /var/www/cust0003
    ChildPerUserId cust0003 cust0003 1
    AssignUserId cust0003 cust0003
&amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;

&lt;p&gt; and so on until cust0300. A `ps -eaf | grep httpd` would then show:

&lt;p&gt; &lt;pre&gt;
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
&lt;/pre&gt;

&lt;p&gt; 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.

&lt;p&gt; 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:

&lt;p&gt; &lt;pre&gt;
#!/bin/bash

&lt;p&gt; echo -e "Content-Type: text/plain\n\n"

&lt;p&gt; echo "PWD: `pwd`"
echo "USER: `id`"
date &amp;gt;&amp;gt; hello &amp;amp;&amp;amp; okay="1"
if [ "_$okay" == "_1" ] ; then
        echo "Okay"
else
        echo "MEEP MEEP"
fi
&lt;/pre&gt;

&lt;p&gt; would create the following output:

&lt;p&gt; &lt;pre&gt;
PWD: /pvol1/icntest/wt0000/cgi-bin
USER: uid=43697(infowww) gid=2000(webadmin)
MEEP MEEP
&lt;/pre&gt;

&lt;p&gt; So you STILL need the suEXEC wrapper.&lt;BR&gt;
And now PLEASE tell me that I'm terribly, TERRIBLY wrong.</description>
    </item>
    <item>
      <pubDate>Tue, 21 Jan 2003 08:21:56 GMT</pubDate>
      <title>21 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=6</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; 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.

&lt;p&gt; &lt;B&gt;FreeSerf&lt;/b&gt;

&lt;p&gt; 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 &lt;A HREF="http://www.happypenguin.org/forums/viewtopic.php?t=509#2616"&gt;pointed out&lt;/a&gt; how to do it right... I hope the weekend will come soon.</description>
    </item>
    <item>
      <pubDate>Tue, 14 Jan 2003 12:56:16 GMT</pubDate>
      <title>14 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=5</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; WEE! Finally it compiled and it runs!&lt;BR&gt;
Summary:

&lt;p&gt; The problem was:&lt;BR&gt;
Get Apache2 running on Solaris with --with-mpm=perchild

&lt;p&gt; Solution:&lt;BR&gt;
1. Add one line into httpd-2.0.43/server/mpm/experimental/perchild/perchild.c at line 59:

&lt;p&gt; #define _XPG4_2 1

&lt;p&gt; 2. Comment out line 77 in /usr/include/signal.h&lt;BR&gt;
3. Symlink /usr/lib/libiconv.so.2 -&amp;gt; /usr/lib/libm.so

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

&lt;p&gt; &lt;B&gt;FreeSerf&lt;/b&gt;

&lt;p&gt; Finally found a way to press a map made of hexagonals into memory. Have to implement that this evening.</description>
    </item>
    <item>
      <pubDate>Sat, 11 Jan 2003 15:32:12 GMT</pubDate>
      <title>11 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=4</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; Thank God, it's weekend. Nothing about this today :D

&lt;p&gt; &lt;B&gt;MLDonkey&lt;/b&gt;

&lt;p&gt; keeped SegFaulting here. Why? read() returned -1 because of
a reason still unknown to me and it didn't get checked.
There's only a check for nread == 0, but not for -1...
The strange thing about it is, that -1 turns into 2**32
although it's &lt;B&gt;signed&lt;/b&gt; int... Hmm...

&lt;p&gt; &lt;B&gt;Own Projects&lt;/b&gt;

&lt;p&gt; finally got around to continue the board-daemon. Well, yes
there are tons of free WebBoards out there but they ALL..
well, all that I know, at least... havd two flaws:

&lt;p&gt; - They use cookies&lt;BR&gt;
- They use a scripting language (usually PHP) that connects
to the database (usually MyQL) on each page hit. That is
slooow and uses up valuable resources.

&lt;p&gt; So where would the board Daemon be different?

&lt;p&gt; - I absolutely will refuse to use cookies, and if it would
make my work easier 100 times.&lt;BR&gt;
- It uses a daemon (UNIX-Socket) that stores all the Board-
information (or at least, the recent) in Memory which is
by far faster than any Harddisk depending Database.

&lt;p&gt; And please don't gimme the sh*t about RAMFS. Pull the Plug
and anything since the last Sync is lost.

&lt;p&gt; This is of course just VaporWare right now...</description>
    </item>
    <item>
      <pubDate>Fri, 10 Jan 2003 08:38:32 GMT</pubDate>
      <title>10 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=3</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; still not a signle step further... now trying the sickest
thing I can think of: try to compile it without iconv.
How: Just erase it from the Makefiles.

&lt;p&gt; redi: Thanks for your mail, but that doesn't help if a `find / -name *iconv*so*` returns not a single result.

&lt;p&gt; I couldn't mail back cause a mailserver claims that the address is non-existent.

&lt;p&gt; &lt;B&gt;libgli&lt;/b&gt;

&lt;p&gt; Wow, there really seems to be someone using it. At least according to the thread on &lt;A HREF="http://www.happypenguin.org/show?libgli"&gt;HappyPenguin&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 9 Jan 2003 09:07:33 GMT</pubDate>
      <title>9 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=2</guid>
      <description>&lt;B&gt;Apache2&lt;/b&gt;

&lt;p&gt; &lt;p&gt; okay, of course it wasn't THAT simple... But there's still the one thing I don't get:

&lt;p&gt; &lt;p&gt; How can a program get linked if a .so is missing?

&lt;p&gt; &lt;p&gt; The compiled and installed apache says he can't find libiconv.so.2

&lt;p&gt; &lt;p&gt; Well... have to dig a bit deeper it seems...

&lt;p&gt; &lt;p&gt; &lt;B&gt;ROCK Linux&lt;/b&gt;

&lt;p&gt; &lt;p&gt; Oh boy, need to update some packages... I seem to be unable
to concentrate on my "own" code, but keep sending patches to
different programs I use frequently...

&lt;p&gt; &lt;p&gt; Anyone knows a good cure?

&lt;p&gt; Addendum

&lt;p&gt; &lt;B&gt;Google&lt;/b&gt;

&lt;p&gt; Finally added a robots.txt to www.crash-override.net since the number of GoogleBot-Hits doubled each day. They seem to have a _serious_ bug in this thing...</description>
    </item>
    <item>
      <pubDate>Wed, 8 Jan 2003 09:11:23 GMT</pubDate>
      <title>8 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=1</guid>
      <description>Hmm... can it really be THAT simple?
A #define in perchild.c and commenting a line in /usr/include/signal.h actually got apache2 to compile...

&lt;p&gt; Today I'll have to check if it actually WORKS.

&lt;p&gt; Wrote a patch for phpEselGui today. Well it was just because I really wanted that feature :) Will leave cleaning up the mess behind me for someone else, oh well...

&lt;p&gt; and I'm currently getting nowhere with libGLI and FreeSerf... man, I DO need a vacation, no matter if I just had a 2-week-vacation or not...</description>
    </item>
    <item>
      <pubDate>Tue, 7 Jan 2003 09:57:41 GMT</pubDate>
      <title>7 Jan 2003</title>
      <link>http://www.advogato.org/person/blindcoder/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/blindcoder/diary.html?start=0</guid>
      <description>Urks... This day has to be the worst way to start a new work-year...

&lt;p&gt; No coffee, no sleep and an impossible TODO:
"Make Apache2 compile on Solaris with `./configure --with-mpm=perchild`".

&lt;p&gt; Well, have to ank the guys over at Apache how many people they  have working on it to have a good excuse to my boss at the End Of The World^H^H^H^H^HWeek.</description>
    </item>
  </channel>
</rss>

