http://www.updown.org/toku/2chheisa.htm
Project X Challengers
( jingle )
It had been called the most powerful BBS site in Japan.
But it was facing a serious problem; overload of data transformation.
It was not only a technical problem but also a critical point of
existence itself of the BBS.
This story is about a crew who stand up to the invisible crisis.
♪Sand is hiding shining the Pleiades
An awesome coding…
♪Thousands stars in my memories
The men called Genius Hackers…
♪Where were all the stars gone? Don't know why.
Brats' Interception…
Innocent fault…
♪No one recalls the stars on earth
Internal discordance…
(Narration : Junko Kubo)
Welcome to Project X. Tonight, we have a story about the UNIX guys
who saved the life of Channel 2.
Project X UNIX版その2訳
DAY1: Aug. 25, 2001
08:23
"2ch Crisis" breaking news came up to UNIX board.
16:48
At "Have you heard 2ch is in crisis" thread on UNIX board, the first proposal of
"modifying read.cgi " was posted as the project's kick off.
20:23
"Cheer the Programmers Campaign " thread was also started.
Campaigners, who doesn't have skill of programming but who's minds are as same as
the hackers'gathered this thread and gave yells.
19:05
Yakin-San or Mr. Night Shift appeared on "Have you heard 2ch is in crisis" thread .
Since he was widely recognized as a sponsor and also a top class director of 2ch, this
thread was virtually designated as CGI re-coding headquarters.
19:48
At the same time programmer's board residents started "Programmer can save 2ch !?"
thread at their board seeking what they can do for survival.
19:37
Yakin-san disclosed source code to the UNIX guys.
They started the long historical night…
about19:36
An idea of adding 'gzip' to CGI source was becoming a major opinion among the UNIX
hackers around that moment.
20:09,10
They presented a proposal of revised program. Header was shown by Yakin-san in addition.
20:36
Meanwhile, at the programmer's board, they reached an agreement with modifying 'read.cgi'
except 'gzip' matter. After that, the project was divided between those 2 boards and carried
out by each specialists.
Project X UNIX版その3訳
21:10
When the hackers were at their task, Chubo became aware of their task--- Storming.
Useless postings annoyed the headquarters repeatedly.
But the Deleters wielded their shimmering sword ABORN to assist the task force.
About 21:35
The revised program began to show its silhouette.
About 22:00
While the task force was struggling, the invisible power made many boards
---including allied force Programmer's board --- vanished from the screen.
"They've killed! We only have 10 servers now…" an anonymous source uttered.
An atmosphere of tension multiplied throughout the site.
22:20
At last, chief programmer posted his new 'gzip' embedding program.
They started practical testing and revising upon this result.
22:45
A UNIX guy reported that the test results of compressing 'Have you heard 2ch is in crisis' thread with 'gzip' satisfied their needs.
23:02
They continued to verify the program taking the practical demand of traffic into consideration.
23:20
Test run on real Piza2 server was started. But it couldn't meet good results…
Project X UNIX版その4訳
DAY1 23:37
Suddenly, one short posting came in. That said accessing Train Board through revised
program had been satisfied! After that, reports from various environment users rushed in,
all were saying they'd got good results. Moreover, they said they could run the new program
more comfortably than before. In fact, according to the test result, it could compress data
into amazing 1/16.
It seemed as if the project team conquered the critical situation.
00:00
But He didn't give UNIX guys time to breathe--- trouble reports were coming up one after
another. Again they started modifying.
00:42
They moved to the sequel thread to continue their task; to achieve the victory…
Project X UNIX版その5訳
"It's working…it's working!"
That success report from a Tecky and following rush of good news aroused excitement of
people who watched the situation.
"Now we are relieved!" "2ch won't die!"
More comfortable and more compact.
Every supporter had a presentiment that the project would gain a success.
But UNIX guys knew that this remedy was nothing but a first aid or a veneer…
"Such measures won't contribute to a fundamental solution! It is meaningless what we are doing."
An anonymous programmer urged.
Supporters' faces turned frozen. Is it hopeless too? Their hope hung by a thread.
Project X UNIX版その6訳
Another guy broke in.
"You're probably right. But what matter? Even if it's just a temporary patch, see, it effects! What we have to do now is to keep 2ch alive at least next 5days! Leave programming for the next five ten years to Programmer Boards. Why don't you trust them?"
A silence fell over the board.
One programmer broke the silence.
"Hear! Hear!"
The next moment this voice spread among the programmers, no, all UNIX board dwellers.
" All right! We don't care if it's a veneer or a stopgap.
There's nothing for it but to complete this program."
Brightness came back to their eyes. Nobody wandered.
After a while the program for 'Last-Modified' and 'If-Modified-Since' was completed.
Following this, 'read.cgi 5.01' and 'read4-blank.c.2' on piza2 were loaded, verified and updated steadily. And the test performance was quite good.
Their light of hope began to flame again.
(Theme song: Headlight Taillight)
―The End.
Amazing 2channel, how sweet the sound
That saved a wretch like me.
I once was lost, but now am found
Was blind, but now I see.
'Twas 2channel that taught my heart to fear,
And 2channel my fears relieved.
How precious did that 2channel appear
The hour I first believed.
Through many dangers, toils, and snares
I have already come.
'Tis 2channel hath brought me safe thus far
And 2channel will lead me home.
Hiroyuki has provided a good place to be.
2channel World my hope secures.
Katjusha will my tool and so be Gikope
As long as 2ch endures.
Yea, when this server and our posts shall fail,
and the total sites shall cease,
I shall possess within my hard disk drive,
A life of joy and peace.
When we've been there only two years
Bright shining as the sun,
We've no less days to sing 2channel's praise
Than when we'd first begun.
Hmm. Maybe I should add support for gzip encoding and Last-Modified and If-Modified-Since headers to kareha. And I should tweak some more performance out of the templating engine. And and and...
Shouldn't the server daemon worry about that? I know some people don't have access to the config, but honestly now...
If you're going to duplicate all that, why stop? Do the whole server. --;
"Kareha 2005 Server"?
Well, I don't know, does Apache compress the output of CGI scripts? Kareha serves up all thread pages through the script, unlike Wakaba (to support things like showing partial threads). Maybe it does, I'm not really much of an Apache hacker. Last-Modified and If-Modified-Since are probably up to the script, though.
Also, I actually WOULD like to figure out a way to do gzipping without help from Apache, because my /soc/ board is right on the edge of its bandwidth budget, and I apparently can't get mod_deflate working at all on 100webspace.
Gzipping is usually done with mod_gzip or mod_deflate... it handles the nasty details of negotiating the encoding with the client.
Try using this in your .htaccess / httpd.conf:
CompressContent Yes
You can alternatively manually compress the output of your scripts with gzip. There is an example here:
http://www.nntp.perl.org/group/perl.poe/2514
Basically, you need to add appropriate headers, then you pass your response body through gzip, and substitute the compressed output. I think you need to list the Content-Length as the uncompressed length, and you add a header for the compressed length.
Just wanted to comment regarding the compression of content, for those readers who are thinking of setting up wakaba or kareha in the future:
Do not blindly compress everything. If you're running wakaba, having apache try to compress the images is a waste of server CPU.
Well, first: Does that compress the output of CGI scripts or not?
And second, lots of hosts don't let you do that, which annoys me to no end. Apparently they want their customers to waste bandwidth.
Yes.
The compression stage is handled outside of the CGI script vs. static file part of apache... it's handled in the language/encoding negotation part.
However, if CompressedContent isn't doing jack because the webserver has none of {mod_gzip, mod_deflate, mod_bzip2} installed, then you're going to have to manually add it to your CGI scripts; a pain in the ass.
That is, your CGI scripts would have to compress their own output.
lol this is awesome
>>18
Next time sage it, fool.
Don't tell him what to do, dude.
> Hmm. Maybe I should add support for gzip encoding and Last-Modified and If-Modified-Since headers to kareha. And I should tweak some more performance out of the templating engine. And and and...
radium reported that mod_deflate couldn't be used on SA, because it used too much CPU time (although he was looking at hardware gzip solutions). 2channel solves problems like this by buying even more servers, but that's not really the best thing to do.
>>22
But with Kareha usually the compressed pages can be cached for awhile. (This happens automatically for index.html and subback.html, since they're static files.)
BTW, gzip is so damn fast that I find that hard to believe. Maybe it's time for a mod_lzo?