橋本 昂 について

このページでは、僕の少年時代から現在に至るまでを、いろいろ思い出しながらダラダラと書かせていただきました。ちょっと長くなってしまいましたが、僕の持つスキルや経験値を判断する材料になるのではないかと思います。

お時間のあるときにでもお読みいただけましたら幸いです。

初めてのパソコン

初めてパソコンに触れたのは、中学生の頃だったと思います。
正月の通販番組の目玉商品として、NECの「PC-6001mkIISR」というパソコンが手頃な価格で紹介されていました。その年のお年玉を注ぎ込み、なぜか親父が購入に乗り気でいくらか援助してくれまして、それを購入したのがマイパソコンとの出会いです。

このパソコンで主にBASIC言語を学んで、何の役にも立たないプログラムを書いていました。そのパソコンにはHDDなど付いておらず、FDDさえありませんでした。データを保存したいときはカセットテープに信号音を録音するという、今では考えられない方法でした。ノイズが少しでも入れば読み込みエラーですべてが吹っ飛ぶ、スリル溢れる記録方法でもありました。

データをカセットテープに保存しなければ、電源を入れるたびに買った日の状態に戻る。
この頃のパソコンは、そういうものでした。

けれども、頭の中で考えたことがプログラミングによって思い通りに再現していくのがとにかく楽しかった、古き良き時代でありました。

MSXでマシン語を学ぶ

しばらくして、弟がMSXというパソコンを購入しました。なんとそのパソコンは、ファミコンのようにカセットを差し込むところがあり、ゲームのカセットを差せばゲーム機に早変わりという楽しいパソコンでした。

MSXの統一規格に沿った商品が、いろいろなメーカーから販売されたことによって、競争が生まれてドンドン高性能で安価になっていきました。それが我が家にもやってきたのです。弟はすぐに飽きてしまったようで、そのMSXは僕のところにやってきました。

安価なのにフロッピーディスクドライブが付いていて、安心してデータを保存できる喜びにむせび泣きました。

インターネットなど無い時代は、何か情報が欲しければとにかく本屋でした。パソコンに関するコーナーに入り浸り、ひたすらプログラミングの本を漁っていました。

本屋に通ううち、MSX用のアセンブラが付いている本を見つけました。今のように、何かディスクなどのメディアが付いているわけではありません。本の後ろの数ページに渡って延々と16進数が並んだプログラムが印刷してあり、それを打ち込んで走らせるとアセンブラが生成されるという、デジタルなのにアナログな方法でアセンブラが付属していました。

こうして僕はアセンブラをゲットし、マシン語にも手を出すようになりました。

MSXは、文字の形状データがVRAMにあるのですが、すべての文字を「牛」という形に書き換えるプログラムを組んで友人に配ったりしていました。どのキーを押しても「牛」と表示されるようになる、ただそれだけのプログラムでしたが、笑ってもらえました。
(注)電源を落とせば元に戻ります。

ファミコンでもマシン語(笑)

ところで、「初代ファミコン」をご存じでしょうか?

そして「ファミリーベーシック」はご存じでしょうか?

通常、ファミコンはカセットを差してゲームを遊ぶものですが、実はファミコンにもプログラミング環境がありました。

それが、ファミリーベーシックです。カセットを差すと、ファミコンがパソコンに早変わりするのです。カセットだけでなく、専用のキーボードも付属していました。

さらにファミリーベーシックV3というバージョンアップ版もありまして、僕はその両方を所有していました。

言語はBASICでしたが、スプライトというキャラクターを動かせる拡張機能があり、比較的簡単に動くゲームを作ることができるものでした。

ある日、ファミリーベーシックのリファレンスマニュアルを読んでいると、なんとも気になる命令文が載っていることに気づきました。メモリの指定したアドレスにデータを読み書きするPEEK文とPOKE文、そしてマシン語を実行するEXEC(CALLだったかも)コマンドが載っていたのです。これは、ファミリーベーシックでマシン語を扱えることを意味しています。

しかしながら、マニュアルにはそれ以上の説明はありませんでした。インターネットなど無い時代ですから、それ以上情報を得ることができず、ファミコンでマシン語を操る日を夢見つつ悶々とした日々を過ごすことになりました。

それから数か月、その日は突然にやってきました。

高校の図書室で手掛かりを発見したのです。なぜか普通の県立高校の図書室に、様々なCPUの仕様が詳しく書かれた専門書が置いてあったのです。様々なCPUに関する情報がニーモニックとともに詳しく記載されていました。

そこで僕は、ファミリーベーシックのROMをダンプして、ハンドリバースエンジニアリングを試みました。ROMのデータから手動でニーモニックに逆変換していくのです。仕様の違うCPUだと、すぐに逆変換が出来ずに詰まりますので、候補から除外していきます。

コツコツと作業を続けていたら、どこまでも逆アセンブルできるものにぶつかりました。はっきりと意思をもって組まれたプログラムだと分かるニーモニックが再現できたのです。間違いありません、ファミコンのCPUはMOS6502だと確信しました。当時のAPPLEに採用されていたCPUと同じものがファミコンに採用されていたのです。

MOS6502のマシン語をハンドアセンブルするための情報を、その本からノートに書き写しました。その資料を元に、手動でマシン語のプログラムを作ってファミリーベーシックで走らせてみたところ、思惑通りにプログラムが走りました。さすがはマシン語、BASICでは絶対に不可能なスピードでキャラクターが画面上を飛び回るゲームを作ることができました。

ファミコンでマシン語、なんともいえない達成感を味わいました(変態)

大学時代はひと休み

大学は工学部に進んだのですが、あまりプログラミングはしませんでした。1~2年の時は、ひたすらバイトしまくりの日々を過ごしてまして、遊ぶ時間は無いけれどお金は持ってましたので、現金持って車やバイク(競技用)を買いに行ったりしてました、ウェーイ。

3~4年は、振動工学の研究室に籍を置いていました。振動させた物体の動きを加速度計で計測し、そのデータを使って物体の振動や変形の具合をパソコン上でアニメーションさせて、研究室のメンバーや教授を喜ばせていました。

営業の仕事に就く。なぜかMacintoshを扱う。

元々は機械の設計に興味があったのですが、バイト時代に物販に興味が湧きまして、営業の仕事を選びました。学生時代にピザ屋でバイトをしていたのですが、お客さんのところに届けるとものすごく喜んでくれるのを見て、機械の相手をしているよりも、直接お客さんに対面する仕事の方が幸せかも知れないと思ったのがその理由です。

大学の掲示板に、進学先や就職先とその人数のリストが貼り出されたのですが、トヨタ自動車、SONY、NECなど名だたる一部上場企業が並ぶ中、なぜか僕は「その他  1名」と書かれたのは良い思い出です(笑)

勤め始めてすぐに、会社がMacintoshを導入してDTPを始めることになりました。橋本は営業担当だけど、理系だから使い方を覚えてみんなに教えてくれということになり、Macintoshを触ることになりました。

当時の一般的な企業では、まだ黒い画面にグリーンの文字が表示されるオフコンが一般的で、パソコンを目にすることなどあまり無い時代でしたから、パソコンはとても高価でなかなか手を出せない商品でした。Macintosh本体とレーザープリンタ、いくつかのアプリケーションソフトで350万円程度かかったと聞きました。

しかしながら当時のシステムは不安定で非力なものでした。すぐに画面上に爆弾が出て固まるわ、プリンタに出力しても5分後にPostScriptエラーが印刷されるわで、途方に暮れること度々でしたが、それでもとにかく面白くて毎日午前様という状態でした。

なぜかエクセル(当時のバージョンは2!)も入っていたので、見積書や請求書なども作ってました。当時は、何かを印刷するならワープロ専用機という時代でしたが、パソコン&エクセル&プリンタが一般の会社に普及したら、世の中変わるぞという息吹を感じておりました。

Windows95発売。そしてインターネット。

これからはインターネットだ!というフレーズを耳にするようになりました。インターネットが何なのかまったく意味不明でしたが、とにかくそんな時代が来るからこれからはWindows95だぞ!とよく分からないまま世の中がWindows95フィーバーに飲まれました。

元々パソコン好きでしたし、Macintoshもちょっと触っていたこともあって、個人的にパソコンを買いました。NECのWindowsでなく、DOS/V寄りのFMVをセレクトしたところは、なかなか先見の明があったなと思います。

これからはインターネットだ!と言われていたものの、実際にインターネットしてる人はほとんどいませんでした。なのでインターネットが一体どういうものなのか、さっぱり分からないのです。それが面白いものなのか有益なものなのか、判断がつかずにいました。

パソコンをインターネットにつなぐには、とてもお金がかかりました。モデムが3万円以上。さらに通信には電話を使います。人間同士が会話する代わりに、機械同士がピーギャーピーギャー音で情報をやり取りするのです。まさに初めて触ったパソコンのデータ保存方法と同じです。その間ずっと話し中なわけです。運よくプロバイダが市内にあれば良いのですが、市外にしか無い場合は市外通話料金がかかります。通信速度も遅いので、ちょっとした画像でもじわじわとしか表示されません。延々と通話料金がかかりまくって、電話料金が月に数万円ということも珍しくなかったようです。

お金がかかるインターネットに二の足を踏んでいた僕ですが、あるパソコンショップにパソコン通信用のモデムが在庫処分品として1470円で並んでました。パソコン通信はインターネットとは似て非なるもので、そのモデムをインターネットに使うには通信速度が遅すぎるのですが、ちょっと体験するには十分なのではないかと思いダメモトで購入してみました。

パソコンのケースを外してマザーボードにモデムを差し込み、インターネットにつないでみました。

あれこれ操作しているうちに、インターネットにつながりました。

なんということでしょう。

衝撃的な体験でした。

それまでは、パソコン内には自分が入力したデータしか存在していなかったものが、世界中のデータにアクセスできるようになったのです。

その無限の可能性に打ち震えました。

外人のお姉さんの写真を見ながら、これからはインターネットだ!!!
と、僕は胸などを熱くしました。

Windowsパソコンで再度プログラミングにはまる

Windowsで動くアプリケーションソフト作りにハマりました

イベントドリブンというこれまでにない概念に戸惑いましたが、DelphiというObject Pascalを使う言語に出会い、Windowsプログラミングについて学びました。

実用的なアプリケーションソフトをいくつか作り、仕事に活用していました。
(今も前職の会社内では、僕が組んだソフトがいくつか動いています。)

ホームページ作りにはまる

社長の友人が、インターネットのプロバイダをやってまして、友達付き合いで契約をしてました。まったく活用してなかったのですが、放っておくのももったいないと思い調べてみたところ、ホームページを公開するスペースがオマケで付いてました。

そこで僕は、個人的にホームページを作るソフトを購入し、勝手に会社のホームページを作って公開してみました。せっかくなので、商品を並べて売ってみることにしました。

そしたら、月に2~3個売れたんです。

それに味を占めた僕は、営業の販売チャネルのひとつとして、インターネットも活用してみようと思い、ホーページの作り方を本格的に勉強することにしました。

ところが始まったばかりのインターネットですので、とにかく情報がありませんでした。僕の場合は、単純にホームページを作るだけでなく、ショッピングカート付きのネットショップを作りたかったので、尚更情報がありませんでした。そもそもショッピングカート付きのネットショップなんて、当時は国内に数えるほどしかありませんでしたから、カートシステムを組めるようなプログラマも恐らくいなかったと思います。

けれども僕には「絶対に自分でショッピングカートを作りたい!」という強い思いがありました。

先ほど全然資料が見つからないと言いましたが、正確にいうと海外のサイトにはいくつかの文献が見つかりました。仕方ないので、辞書片手に英語のドキュメントを読み漁りました。専門分野の英文は、難しい表現が使われることは少なく、中学英語程度でもなんとかなるのが救いでした。

睡眠時間3時間未満という生活を2~3年続けた末に、国内ではまだ珍しいショッピングカート付のネットショップをなんとか作り上げました。

以前に、このあたりの奮闘記をネットにアップしていたことがあるのですが、「なんなんだこの人は、神なのか」と2chに書かれたのは良い思い出です。

その間にデジカメを自腹で購入したり、結構な投資もしました。6万円払って35万画素なんて、今考えると悲惨すぎて笑い話にもならないですけど、そういったガジェットにもいろいろ投資をしていました。

日経に記事として取り上げられる

ある日、運営していたネットショップが日経に記事として取り上げられました。

さすがは天下の日経、すごいですね。
日経砲が炸裂しました。

朝、メールソフトを起動したら、注文メールの受信が止まらないんです。
もう怖いくらいに。
新聞の影響力の凄さを思い知りました。

社員の家族まで動員して、なんとかその事態に対処しました。収束するまでに一週間くらいかかった覚えがあります。

そして、この日経の事件によって、自分が作った受注システムのボトルネックがあぶりだされました。

当時は、メールソフト(Becky!)に独自開発したプラグインを追加して、受付メールを送信したり、納品書やヤマトの送り状を印刷したりと、それなりに便利に使っていました。ところが、メールソフトに業務を集中させていたために、大量に注文が入った時に手分けして作業が出来ないという致命的な弱点が浮き彫りになったのです。

これはやばいぞと急遽社内にLINUXサーバーを立てて、受注用システムを作り始めました。メールや注文データはすべて中央のサーバーのDBに書き込まれるようにし、複数のパソコンからメールソフトのような見た目の専用フロントエンドで作業できるようにしました。さらっと書きましたが、日常業務をこなしながらですので、開発には3年程かかりました。

それから数年、ネットショップはさらに成長を遂げ、平常時でも日経砲以上の受注が入るようになりましたが、そのシステムのお陰でサクサクとスムーズに対応が出来るようになっていました。

その頃の僕は、会社内でほぼネット通販専属という状態になっており、いつしか社内ではネット事業部と呼ばれるようになっていました。上司がいないので、もしかしたら僕は部長だったのかもしれません(給料は普通)

他のサイトを手伝いつつ、たくさんの学びを得る

Googleの気まぐれに翻弄されて、前年比数千万円ダウンなどどいう荒波も経験しつつ、なんとか20年近くに渡りネットショップを維持してきました。

JavaScript、Pascal、Perl、Ruby、PHPなど、様々な言語を必要に迫られて学び、またサーバーの立ち上げなども自分で行うようになりました。

気付けば、他のネットショップオーナーから、個人的にネットショップの運営に関するアドバイスを求められたり、ホームページの制作を依頼されるようにもなってきました。

自分のお店のことを客観的に見ることはなかなか難しいのですが、よそのお店はお客の立場で見ることができます。その視点でアドバイスしたことを、振り返って自分のサイトに当てはめてみると、意外と出来ていないことが多いことに気付かされました。

他のネットショップをお手伝いしながら、自社サイトも磨き続けることで、たくさんのことを学ぶことが出来ました。

2018年、独立!

20年に渡る実践から学んだことを生かして、インターネットを活用するお手伝いをさせていただくことになりました。

あなたのお役に立てましたら幸いです。
お会いできる日を楽しみにしています!

橋本 昂

@HashimotoSubaru