フランスから「技育祭2024【春】」に参加した2ちゃんねる元管理人のひろゆき氏が、21歳で2ちゃんねるを開発した当時、無料CGIサーバーを渡り歩いて運営していた苦労や、限られたメモリとCPUでの工夫を明かしました。現在もFortranやPHPでのメンテナンスを続けており、今のエンジニアとは異なる視点からプログラミングの現状を語ります。
フランスから朝9時に配信を開始
司会者:さぁ、ということで、ひろゆきさんにご登場いただきましょうか。みなさん拍手でお迎えください。それではひろゆきさん、マイクとカメラをオンにしていただけますと幸いです。いやー、ご本人……。あ、来た! 来ました! 来ました! みなさんあらためて拍手!
ひろゆき氏(以下、ひろゆき):はい。すみません、失礼しました。
司会者:よろしくお願いします。
ひろゆき:はい、よろしくお願いします。おはようございます。
司会者:おはようございます。そうですよね。フランスでは、今は朝ですかね?
ひろゆき:はい。朝の9時です。
司会者:ありがとうございます。早起きひろゆきさんということで。いつもの画角のひろゆきさんですね。本物ですよ、みなさん。
ひろゆき:はい(笑)。まぁ、AIかもしれないですけれども。
司会者:いやぁ、ありがとうございます。最初は、近況報告的に。最近のひろゆきさんはどんな感じですか?
ひろゆき:最近ちょっと風邪をひいたぐらいですけど。そっか、技育祭ってあれでしたよね。賞金を出してコンテストとかをやっているんですよね?
司会者:そうなんですよ。優勝賞金が100万円の技育展(ぎいくてん)というピッチコンテストとかもやっているんですよね。
ひろゆき:それって別に応募資格は「学生」と名乗れば誰でもいいんですか?
司会者:そうです。一応学生であれば誰でも、ということで。別に高校生とかでも参加したりしています。
ひろゆき:じゃあ無職の未成年はダメ?
司会者:今のところはそうですね(笑)。ちょっとそのあたり、2024年はどうしようかなというのはあるんですけど。
ひろゆき:はい。
司会者:では、ということで、ひろゆきさん。さっそく質問がたくさん来ていますが、いろいろ質問していきたいと思います。
ひろゆき:はい。
司会者:ひろゆきさんも、随時チャットで拾っちゃってください。
ひろゆき:はい。もう読んじゃっていいんですか?
司会者:読んじゃっていいですよ。僕のほうでも何個か事前に聞いているものもあるんですけど、もしこれを先にというのがあれば。
ひろゆき:はい。「京大生です。投資と起業のどちらに力を入れたらいいですか?」というのがあるんですけど。なんか学生のうちから投資するのって、だいぶ無駄だと僕は思っているんですよね。お金持ちの家系に生まれて、すでに貯金が1,000万円ありますとかだったら、好きに使ってくださいという話なんですけど。
例えば「10万円ありました」という時に、学生の時代にそれを何らかしらのパソコンを買って勉強するのに使おうとか、なんか開発に必要だからiPadを買いましたということなら、その後の自分の給料がどれぐらい増えるかとか、スキルが増えるかっていうのにかなり寄与するんですけど。
その10万円を、日本の場合は銀行とかに入れておいたとしても、別に大した額にならないんですよね。10万円が、じゃあ2パーセント増えましたと言っても2,000円ぐらいにしかならないので。なので、その2パーセントで2,000円しか増えないぐらいだったら、それを何か自分のスキルにしたほうがいいので。
若いうちはちゃんと、何か自分の力になるものにお金を使ったほうがいいんじゃないかなと思いますけど。
司会者:はい、とのことです。ということで、こんな感じで進んでいきます。みなさんも今ので、「あー!いつものだ!」というところを感じてもらえたらうれしいなと思います。
FortranとPHPで現在もコードをメンテナンス
司会者:はい、じゃあ次は僕からちょっと質問させていただきますね。これは事前にもらったものです。
ちょっと自己紹介も兼ねてというところで、「ひろゆきさんがエンジニアであるということを知って驚きました。実際にふだんはどんな言語で何を作ったりしているのでしょうか?」という質問です。
ひろゆき:まぁ(笑)。「ゴリゴリにコードを書く」と言われたんですけど、そこまで最近は書いていないです(笑)。
司会者:でもやはり、まだ書いてはいるんですよね?
ひろゆき:書いてはいます。要は自分が作ったサービスや関わっているサービスとかを直さなきゃいけないところは直すとかなので、イチからバリバリ書くとかはもうそんなにやっていなくて。なので、FortranとかPHPとかで書いています。PHPはチョコチョコいじっています。そんな感じですね。
無料CGIサーバーを渡り歩いた2ちゃんねる運営
司会者:じゃあ、これもそれに関する質問で。「『2ちゃんねる』も、ひろゆきさんが実際に開発からされたのでしょうか? また、エンジニアとしての苦労話があれば教えていただきたいです」とのことです。
ひろゆき:2ちゃんねるはPerlという言語で書いたんですけども。最近はPerlでイチから書くみたいな話は聞かないですよね。
司会者:まぁ、YAPCとかでは一応ありますよね。
ひろゆき:ありますけどね(笑)。はい。なので、一応Perlでやったんですけど。苦労したというのはエンジニアリングで苦労したというよりは、当時作ったのが21歳とかそれぐらいだったんで、お金がなかったので無料のサーバーをひたすら使っていたんですよね。最近はもうほぼ見ないんですけど、昔だと「GeoCities(ジオシティーズ)」みたいな感じで、無料でホームページを置けます、みたいなのがいっぱいあったんですけど。
その中で海外を見ると、たまに無料でCGIが置けるサイトというのがあったんですよね。なので、世界中のタダでCGIが置けるサイトを見つけては、そこでアカウントを開いて「2ちゃんねる」を置いて。それで「トラフィックが増えた」って怒られて閉鎖されて。
なので、閉鎖される前に新しいサイトの新しいアカウントを用意しておいて、「ここはもうじき閉鎖されるだろうから、こっちに移動しよう」みたいな、そこらの綱渡りをずっとやっていたところのほうが、けっこう面倒だったなというのは、ありますね。
司会者:なんかエンジニアとして、ひろゆきさんはどういうタイプなんですか? それこそコードをどういうふうに書くタイプとか、こういう流儀とかあるんですか?
ひろゆき:それでいくと、いろんなホスティング会社を渡り歩かなきゃいけないので、どこのサイトに行っても動くコードを書かなきゃいけなくて、わりとそのサーバー依存したコードを書かない、ということはやっていましたね。
なので、確かその当時のメールまわりとかは自分で書いちゃっていたかな? なんか要は「こういうのが置いていないとそのサイトで動かないよね」とかなったり。なので、なるべくそういう依存関係をなくす感じでやっていましたね。あとはパスが通らない場合とかもあったりするので。
限られたメモリとCPUで苦心したセッション管理
司会者:ということで、ふだんの(ひろゆきさんの)YouTubeだと、ここまで技術の話を聞く機会もないと思うので。今日はそんなエンジニアのひろゆきさんの一面も。
ひろゆき:まあ、今だとどこも富豪的プログラミングを教えるので、あまり関係ないと思うんですけど。要はメモリやCPUパワーとかが大量にあるので。さらにAmazonとかだと、お金を払えばいくらでも使えるから「知ったこっちゃねぇよ」と言ってプログラミングする人も多いと思うんですけど。
わりと僕の時代って、今のiPadよりも性能が低いサーバーを使って1時間に100人を捌くみたいな、そういう感じのサイトを作っていたので。なので、やはり、いかにメモリ容量を使わないかたちにするかとか。そこらへんを「Apache」でつないでくる人。ApacheってWebサーバーのソフトなんですけど、もう最近は、Apacheは使わないと思いますが。
つないでくる人たちのセッションをいかに短くするか。セッションは基本的にデフォルトだと180秒とかだと思うんですけど。180秒をそこで(ずっと)つないで持っていられると、例えば1,000しかコネクションがつなげられないのに、何もしない人とかが500人とかになっちゃうので、そのコネクションのKeep-Aliveの秒数をなるべく短くするんです。
でも短くし過ぎると、同じ人がリロードする時にまた1回コネクションの張り直しということになってしまうので、その最適値の秒数をいちいち調整するとか。なので、Webサーバーの調整は、けっこう昔はやっていたんですけど、最近はあまりやる話を聞かないですよね。
司会者:どうですか、みなさん。これがテック寄りのひろゆきさんですよ?
ひろゆき:だから昔はいろいろWebサーバーだったり、コードだったりというのは調整が必要だったんですけど。最近はあまり調整しないで、もうお金で解決しちゃおうというのが、いいのか悪いのかはわからないですけど、そういう時代になっちゃいましたよね。
Python、COBOL、PHPー各言語への評価を語る
司会者:何人か質問がきています。「好きな言語と嫌いな言語、あとPythonはどう思いますか?」って、けっこうきているので、そのへんを教えてください。
ひろゆき:嫌いな言語は特にないです。Pythonは前に1回ちょっと書いたんですけど。何だっけ? 画像をAmazonのAPIに突っ込んで、その画像がエロい画像か、エロい画像じゃないかみたいなのを判定するやつがあって、そのまわりでスクリプトを使ったんですけど。
Pythonで書いた場合、だいたい同じようなコードになるので、他の人が書いているのを見てもわかりやすいし、書くのにもそんなに躊躇しないというので、わりと書きやすいんじゃないかなと思います。
嫌いなのでいくと、たぶんCOBOLとか。もう使わないし(笑)。僕はWeb系以外はやらないので、なんか「昔の銀行のシステムで使います」とかを言われても「知ったこっちゃねぇよ」みたいな、そんな感じです。なので、COBOLを学ぶ気はぜんぜんないです。
司会者:好きなもの、ふだん一番使うのはPHPなんですかね?
ひろゆき:今のところはPHPになっちゃっていますね。PHPって、昔は「遅い」って言われ続けたんですけど、大量の人が使っているのでだんだん速くなってしまって。結果として「PHPでもそんなに遅くないよね」という状況になったりしているので。まぁ、枯れているといえば、メチャクチャ枯れているので、安定性としてはすごく高いというところで。
あとは昔から書いているので、新しい言語を覚えなくてもいいから楽というのはありますね。
司会者:そんなところですね。
(次回へつづく)
※本記事の内容は「技育祭2024【春】」を実施した2024年3月16日〜17日当時のものです。