CLOSE

杜甫々氏によるキーノート(全2記事)

PC-8801mkIISRで「漢字BASIC」を制作、大学の研究室ではApple IIを使用… 杜甫々氏が「とほほのWWW入門」を開設するまで

「とほほのWWW入門」管理人の杜甫々氏が、これまでの経歴と、「とほほのWWW入門」執筆時に気をつけていること、自身の趣味について話しました。全2回。

「とほほのWWW入門」管理人 杜甫々氏

杜甫々氏(以下、杜甫々):どうも杜甫々です。「とほほのWWW入門」というやつを作っています。こういうところに出ることはあまりなくて、2022年の岡山のオープンセミナーも録画でやっていたので、こんなにたくさんの人の前でしゃべるのは初めてだったりします。

まずちょっと、おじさんの紹介をやっていきます。「とほほのWWW入門」の管理人です。1996年から始めたので、もう27年目に突入ですね。ハンドルネームは杜甫々です。途中で漢字を当てはめてみました。本名は違いますけどね。

広島生まれの広島在住です。もちろんカープファンです。2023年の観戦成績は6勝1敗で、けっこう良かったんじゃないかなと思っています。

次にインターネット歴です。会社に入ったのが1988年で、その時からやっているので、もうインターネット歴が36年です。そういった感じで、インターネット老人会会長を目指しています。

コンピューター(コモドールジャパン「VIC-1001」)との出会い

個人的な歴史は広く浅くであまりないので、ちょっと懐かしい話、おじさんの話をしたいと思います。

コンピューターと出会ったのが1981年ですね。コモドールジャパンのVIC-1001という、CPUがファミコンと同じ「MOS 6502」というものを積んだやつ。メモリが5KBでしたね。フロッピーなんてもちろんなくて、プログラムはカセットテープから読み込むとか、そういった感じのものでした。

当時作っていたプログラムがBASICをサポートしていたんですけれども、BASICでメモリが5KBしかないので、プログラムを作るのも変数は全部1文字。メモリがもったいない(笑)。(変数名を)2文字使っちゃうと(メモリを)倍使っちゃうんですよね(笑)。

まぁえっと、こんな「ペンゴ」みたいなアーケードゲームがあったので、それをちょっと真似して、ペンギンが氷をプチッとして、追いかけてくるスノービーをやっつける。そんなものを作って遊んでいました。

5KBしかなくて、ちょっと作り方が悪かったのか、遊んでいるとスタック領域がどんどん上がってくるんですね。溜まってくるんです。ゲームをずっと続けていくとデータ領域を破壊してくるんです。

(会場笑)

そうすると何が起こるかというと、氷がランダムなデータにぐちゃぐちゃに壊れていきます。スノービーがぐちゃぐちゃに壊れて、ペンギンも壊れて、世界の崩壊が始まる。そんな感じで遊んでいました(笑)。

PC-8801mkII SRで「漢字BASIC」を制作、アセンブラを楽しむ

次に買ったのがPC-8801mkII SR。これも88(シリーズ)の名機と呼ばれたやつです。Z80AというCPUと、メモリが64KBに増えました。10倍ぐらい増えましたね。でも64KBでもちゃんとカラーのフルをやろうとするとメモリが足りないので、メモリの後ろのほうをいったん赤に切り替えて赤を描画して、緑に切り替えて緑を描画して、そして青に切り替えて青に描画してと、そんなことをやっていたパソコンです。

この頃に作ったのが「漢字BASIC」。私が持っていた88は漢字ROMがあったんですけど、友人が持っていたちょっと古いやつにはなかったので。今考えたら著作権的にちょっとまずかったんだろうなと思うんですけれども、漢字のフォントデータを全部フロッピーディスクに入れて、そのフロッピーを1文字ずつ読みながら表示をする。

BASICでちょっと拡張できる部分があったので、そうやっていました。ただね、ちょっと長い文章をやろうとすると、ガチャガチャっとディスクが壊れそうなんですよね。

(会場笑)

あまり使わなかったですが、そんなことをやって遊んでいました。

この頃にアセンブラとかもやりましたね。今は使うことはないとは思いますけれども、メモリがあって、例えばメモリの03+05=08とやろうと思ったら、メモリから05をレジスタにロードする。それでレジスタの中で演算をやって、それをメモリにストアする。こんなことをやっていました。

今はもうやることはないと思うんですけど、コンピューターの原理を知るにはこういうこともやるんだよ。「8ビットアセンブラ入門」というのもあるので、興味がある人は見てください。

世界初になったかもしれない育成ゲームをアルバイトで制作

そのあとに買ったのがPC-9801VM2というやつですね。16bitになりました。V30です。メモリが5倍ぐらい増えましたね。384KBです。MBじゃないですよ(笑)。384KBのパソコンでやっていました。ハードディスクもこの時に買いました。11MBのハードディスクです。そんな感じでやっていました。

それからあとは、ちょっとプログラミングのアルバイトをこの頃に始めたり、あとはCOBOLのキーパンチャーのアルバイトとかをやったり、そんなことをやっていました。

当時パソコンは1人1台なかったので、すべてフローチャートを作って紙の上でコーディングをして、その紙を僕ら学生が受け取ってひたすら打ち込む。そんなアルバイトをやっていた時代でした。1行2円でね。間違えたら10円ぐらいの罰金を取られるんですよ。

(会場笑)

本当に2、3人ぐらい+バイトぐらいの小さな会社だったんですけれども、宴会中に社長がいきなり「ゲームを作るぞ!」「みんな考えて来い!」と言い出して、それで私が考えたのが「桃栗3年柿8年ゲーム」というもので。ひたすら木を育てるゲームなんですけれども、ただ、1ゲームをやるのに8年かかっちゃうんですよ。

当時は育成ゲームがまだなかったので、もしこれを作っていたら、世界初の育成ゲームになっていたのかなと思っています。

2番目は、当時はまだマウスが一般的ではなくて、画面にタッチをするとクリックしたことになるというライトペンの時代でした。そのライトペンを使ったダーツゲーム。これもやはりなんかいろいろなものが壊れそうなのでダメ。ボツになりました。

その他に「リアルタイム将棋」。とにかく早く(駒を)動かしたほうが勝ちという将棋とかをやっていましたが、この頃にはもう社長がゲームを作る熱が冷めて、全部ポシャっちゃいました。

大学の研究室ではApple-IIを使用

(スライドを示して)あとは大学ではこんなものを使っていました。日立のスーパーコンピューターを使っていたんですが、研究室の中はApple-IIという非常に古いマシンと、フロッピーディスクも表裏を使っていました。

あとは、磁気ディスクを信用しない教授の授業ではフロッピーディスクを使うのは禁止されて、パンチカードとか……。もう最後の世代だと思います。

会社に入社、TCP/IP移植プロジェクトに参加

1988年、会社に入社しました。ちょっと研究所っぽいところだったんですけどね。MicroVAXとかSunのワークステーションとか、この頃からかインターネットを始めています。

最初は4.3BSDのUNIXからTCP/IPとインターネットモジュールを、まだTCP/IPを持っていない他の16bitコンピューターからスーパーコンピューターまで移植する、というプロジェクトに入っていました。

(スライドを示して)その時にやったのがこんなことですね。UNIXの中のカーネルの中のモジュールなので、コンパイルするのに遅いし、メチャクチャ時間がかかるんですよ。入れ替えて、立ち上げてとかをやっていると、1行直すだけでも2時間ぐらいかかるんですよね。

もちろんログファイルにも書けない、デバッガも使えないみたいな感じで難しかったんですけれども、TCP/IPが動くだけの仮想的なOSもどきを作って、その上でTCP/IPを動かして、その上でTELNETやFTPを動かして、1つのコンピューターの上でTCP/IP通信ができる。こんな開発環境を作っていました。

これも仕事が暇だったので遊びで作って、「こんなのできました」と持って行ったら「じゃあ、これを売ろう」となったやつですね。

「とほほのWWW入門」の原点となった「はじめてのAWK」を開始

この頃、新人さんが集まって、まだ英語しかなかったものを翻訳しながらリンクを公開する「はじめてのAWK」というものをやっていました。これがとほほの書き方にけっこう似ていて、これが原点だったかなと思っています。

SNMP疑似エージェントを制作

(スライドを示して)その他にやったのがこんなやつですね。疑似エージェントといって、当時はネットワーク管理システムを作っていたんですけれども、管理対象の機器をあまり貸してもらえないんですよね。

借りられてもちょっとしか借りられなくて、すぐに返さなきゃいけない。それでテストとか開発とかが面倒くさいので、疑似エージェントというものを作って、そいつがいったんSNMPでガーッと情報を集めるんですね。

それをテキストファイルにまとめて、そのテキストファイルを送ってもらう。それを読み込むと、同じような結果を返してくれる。これも遊びで、暇な時に「こんなのあったらいいなぁ」というかたちで作って、それを使って開発とかをやっていました。

Windows32 API互換ライブラリの制作

(スライドを示して)あと会社でやったのはこんな感じですね。これはセキュリティ管理ソフトを作っていた時かな? モニタリングのアプリケーションをWindows上で作っていたんですけれども、それをアプライアンス化するということで、Linuxに移植しろと。

移植すると、なんかもうWindows版とLinux版のソースコードが二重になって面倒くさいので、「じゃあちょっと互換ライブラリを作っちゃえ」ということで。これは冬休みかなにかに作ったのかな?

冬休みにちょろちょろっと作って、コンパイルしたら動いちゃって。変えたのはパス名の¥を/に変えるぐらい。これでなんか動いちゃったねみたいな、そんなことをやっていました。

当時はまだ残業規制とかがぜんぜんなくて。作るのが楽しかったので、もう仕事なのか趣味なのかというなかで、けっこう楽しくやっていました。先輩とケンカしたこともあるんですけれども、そのケンカも「このモジュールはわしが作るんじゃ!」「いやいや! 俺のほうじゃろ」とか言って。そんな感じでケンカしたことが1回あるんですよね。楽しかった時代です。

1996年「とほほのWWW入門」開設

それから「とほほのWWW入門」を開設したのが会社に入ってしばらく経った1996年ですね。プロバイダに入って、そのあと9月10日に「とほほのHTML入門」、9月24日に「とほほのJavaScript入門」を作って、10月25日に「とほほのWWW入門」に改版しています。

(スライドを示して)これは岡山のオープンセミナーでも話した内容ですが、アイコンとバナーはこんな感じです。「とほほアイコン」と呼ばれていますが、実は「ポップ君」という名前がついています。

あまり知られていないですね。当時は88×31の黄金比のバナーが流行っていましたので、そんな感じで、ガンダムのような色使いでやっていました。

このアイコンはけっこう売れるみたいで、本を2冊出しているんですけれども、やはり「とほほアイコン」のほうが人気が高いみたいですね。

それからサイトの中で「ラウンジ」という掲示板をやっていました。1997年です。Web作成に関する質問&回答コーナーみたいな感じです。今でいう「Yahoo!知恵袋」みたいな感じですね。質問する人がいて答える人がいて、ということをやっていました。

この前チラッとネットでニュースを見ていたら、ひろゆきさんの「2チャンネル」が「あめぞう掲示板」をパクッていると。それに対してひろゆきさんが「いやいや、パクッていないよ。ベースになるとしたら、とほほ入門にあった掲示板のスクリプトだね」みたいな(ことをお話しされている)記事を読んで、「あぁ、そうなんだ」と。

(会場拍手)

ありがとうございます(笑)。「スレッドフロー型掲示板」と「Wikipedia」にも載っているらしくて。それを見ると、あめぞう掲示板が基で、そこから2チャンネルにという流れがあるんですよね。でもなんか、年で見たら僕のほうが1年早いんだよな。

(会場笑)

もしかすると最初だったのかなぁと思っています。

2000年 スタイルシート論争

なんだかんだでやりながら、「とほほのWWW入門」でもいろいろ紹介しています。言語系とかフレームワーク系とか、その他系とか。先々週ぐらいだったかな? Next.jsとかもちょっと増えています。こんなことを紹介しているので見にきてください。

あとね、ラウンジをやっている時に、スタイルシート論争というものに巻き込まれたというか、始めちゃったというか、そういったこともありました。当時HTML4.0とかCSSとかXHTMLとか、そのあたりにも「推進していくんだ! 使わない奴はやっつけろ!」みたいな風潮があって。

「移行する・しないというのは個人の自由なんじゃないの?」と言ったんですが、私の伝え方もまずかったんですよね。ちょっと論争みたいなこともあったなという、そんなこともありました。

結局のところ、XHTMLがやり過ぎたというか、思想が高すぎたんだろうなということで挫折となり、今はHTML5になっています。

実はHTML5も廃止済みで、今はWHATWG(Web Hypertext Application Technology Working Group)のHTML Living Standardが標準になっています。

昔から会社でもいろいろなものを見てきていて、仕様があるんですがHTML4.0とかXHTMLはHTML5になったりとか、IPv6は仕様書に出てきたけどなかなか普及しなかったりとかしていました。

最近だとXML/SOAPもJSON/RESTになってきたり、本当に古いところだとToken RingがEthernet(になったり)とか、壊れないコンピューターが壊れてもいいコンピューター(になったり)とか。いろいろなものが、厳格なものよりも多少シンプルなもの、ルーズでもいいからシンプルなものが普及しやすいのかなと思っています。

なんでもきちっとできる、完璧もいいんですけが、それだとなかなか広まらなくて。広まるものは、ちょっと良い仕様の必須条件なのかなと思ったりもしています。

(次回につづく)

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

関連タグ:

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 1年足らずでエンジニアの生産性が10%改善した、AIツールの全社導入 27年間右肩上がりのサイバーエージェントが成長し続ける秘訣

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!