福野泰介の一日一創 - create every day

福井高専のIT系部活、地球物理学研究会、通称「なまず」のふりかえり

2018/12/01
#IchigoJam #tokyo #kosen #kosenit #doc 

活躍する高専生の鍵は、IT系部活にあり!
高専IT系部活 #kosenit Advent Calendar 2018
私、福野泰介が福井高専在学中に入っていたIT系部活なまずを紹介!

1. 誘い
1995年、同じ中学校から福井高専へ行った学科違いの友達との通学中、物理の先生、岡本さんがやっている同好会的な活動「なまず」に行くと、「ぷよぷよ」のソースコードがあると聞く。 そんなことあるわけないだろうと入った研究室にあった、当時高かったPC-98と、ぷよぷよ風同人ゲーム。ソースコードのことはそっちのけ、対戦にハマる。

2. なぜ、なまず?
岡本さんは地震の専門家。福井県内に設置された地震に関するデータを収集し、地震予測などの研究をいろんな学科の学生が手伝う感じ。部活(当時は、班と呼んだ)でも、同好会でもない、今思うと大学のゼミ的なものだった。 その手法は空中の電磁波や、地中内の地電位差などいろいろで、かつては、なまずを飼っていたとかで通称「なまず」と呼ばれていた。流れで、なんとなく入会。 2つ上の同電子情報工学科の先輩、けんちゃん(現、九州大学 久住さん)からアカウント名を決めてと言われて、答えた「uni(うに)」。なんだかカッコ良さそうなUNIXから取った名前。後に会社名としても使うことになる。

3. まずは文法
日々多量に生み出される地震関係データがテキスト形式で並んだデータを処理するのに、なるほど、C言語はぴったり。 とりあえずC言語の教科書を借りて、文字列処理のややこしさと楽しさにハマり、K&Rスタイルのみ許されたMSXでのCコンパイラ用にモダンな記法コンバータなどを作っていた。 家で使っていたMSXturboRでは、C言語の"Hello World!"に1分かかっていたコンパイル時間が、なまずにあったPC-98では1秒。MSX時代の終了を悟る。

4. アルゴリズムやれ!
バイナリデータファイルを16進数として表示するダンププログラムを何度も作って遊んでいた頃、先輩、けんちゃんからプログラミング言語の文法終わったらアルゴリズムやれ、とアルゴリズム辞典という書籍を渡される。 データ構造やソートなど、実現したいことをどうプログラムで表現するかの辞典。 みんなで競っていたPC-98のタイピングゲーム「MikaType」風をC言語で作るときに、リスト構造を使ってみたり、番兵を置いてみたりと大いに役だった。

5. パソコンを組み立てよう
Windows前夜、黒背景に白文字というIchigoJamのような画面が標準だったDOS環境、日本語化されたDOS/Vが登場し、パソコン組み立て時代が到来。 DOS/Vマガジンの分厚い広告にわくわくしながら、けんちゃんと同クラスのはらっち(現、ict4e / ict4r 原さん)に部品選定を教わる。 CPUはPentium 90MHz、メモリは奮発して16MB、グラボはCanopusがコスパ良さそう、音源はスタンダードにSoundBluster、やっぱりやってみたいモデムは高速28.8kbps対応のモノ! あとは、ケースと電源を選び、モニターは17インチ、レポート用にプリンタもいるし・・・と、総額40万円。すんなり買ってくれた親には感謝しかない。

6. プログラミングで人助け!
光磁気ディスク(MO)で溜めていく、日々の地震関係データを周波数解析するために、FFTアルゴリズムと、グラフ化するプログラムを、当時発売したてVisual C++を使ってグラフ化、地震結果データとの関連を調べて、なんとなく予兆っぽい箇所を見つけ論文用の素材として提供、先生に感謝された。 プログラミングで人の役に立てる!中学生の頃、ドラクエに馴染めず、ゲームプログラマーになる道を諦めつつもプログラミングは楽しいから続けたいと模索していた中、ツールプログラミングという発見は大きかった。 16bitのOSで、大きなデータを扱うのは面倒だった一方、32bitOS Windows NTでは、自然なプログラミングで大きなメモリが扱えて便利だった。

7. パソ通信三昧
寄せ集めて組み立てたパソコンにありがちな、ハードウェア間の相性問題。なかなかモデムが認識せず、BIOSの設定やら、config.sysやら何やらアレコレいじってなんとか開通。3分10円で市内のホストコンピューターに接続して広がるパソコン通信という、ローカルなネット世界! アニメーションツールや、ミニゲームなど、ちょっとしたWindowsアプリをアップロードすると、友達や、知らない誰かが使ってくれて、感想を即座にくれる環境に大いにハマる。 3分10円なので、いろいろな話題の新着書き込みをダウンロードするのに10円、コメントや投稿をまとめたスクリプトファイルを作って、アップロードするのにもう10円。1日20円のパソ通環境を実現するために、秀丸さん作のパソコン通信用ソフト「秀Term」用のプログラムを書いた。 今でも定番エディタ「秀丸」と同じ作者で大いに活用させてもらったアプリの作者が、なんと同じ福井高専先輩であったことをヘルプを読んで知り、びっくり! 結局、パソ通上のチャットにはまったことで、1日20円ルールは崩れ、長時間回線をつなぐことによる高額請求で怒られた。

8. アルバイト
なまずの同じく2つ上の先輩、みねちゃん(現、ZOZO 大蔵さん)に誘われ、福井市内のインターネット関係設備などを販売する会社へ訪問。 何ができるか問われプログラミングできます!と言ったところ、ある日仕事を頼まれ、1夜で3万円になった。 プログラミングが仕事になると気がついた瞬間だった。 時代を先取りしていたネットカフェの人にJavaを教えてもらい、キレイなクラス構造でオブジェクト思考を学び、Javaのクラス構造をC++で再現して、3Dゲーム開発プロジェクトをなまずメンバーで進めたり、作ったアプリを福井ソフトウェアコンペティションに出して図書券をもらったりした。


「Atlantis」開発コードネーム Mappila
福井高専3年生時、アルバイト先でなまずの先輩、みねちゃん達と開発していた地図システム

9. まとめ
学年、学科が違う先輩からの名アドバイスに救われた!(アルゴリズム、組み立て、アルバイト)
その時々の興味に合わせて、実際作りながらやったことが、結果、学習だった。
故に、プログラミング系の部活で大事な三点。
- メンバーがやりたいことを心置きなく表明できること(気の合う仲間、良い先輩とかわいい後輩)
- メンバー同士でアドバイスし合いながら進められる環境(活動場所)
- その実現につながる高専外のチャンスの提供(社会との関わり)

書き出してみると、出来事や作ったものを思い出せるものでした。
当時のデータも交えて、また改めてふりかえって見ると、更なる発見があるかもしれません。

IT系部活現役な人も、OB/OGな人も、どうぞこの機会に野望や、エピソード、短編長編問わず、ご共有ください!
高専IT系部活 #kosenit Advent Calendar 2018

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像