天才的ソースコードも、小さな奇跡の積み重ね。普通の人達が少しずつ頑張って作っているんだ。
ISSN 2187-9664

USP
MAGAZINE

VolY.4en400

for the sophisticated shell scripters

ついに始動Open usp Tukubaiプロジェクト
後藤大地 漢のUNIX
with 特別インタビュー「コミッターという仕事」
TechLION再録

よしおかひろたか
ハッカー中心の企業文化を根付かせよ
壮絶？ガチンコバトル!!
AWK VS Bash どっちが強い？
好評連載

ユニケージエンジニアの作法
シェルスクリプト大喜利 他

hello!

From Editor
読者の皆様、こんにちは。
前号まで副編集長だった二代目編集長です。
お世話になった初代編集長の意志を受け継ぎながら、より一層面白い雑誌を目指して舵を取らせていただきます。
最初に申し上げるのですが、私は編集長を一任された社外エンジニア兼ライターで、他にもいろいろやってます。プログラマー、インフラ屋、ライター＆デザイナー（同人誌が主）の他、時に作業着に身を包み、様々なビルの機械室に入る仕事もやってたりして、
我ながらなかなかの宇宙人ジョーンズっぷりです。（最近のビルって裏側も驚く程 IT 化されてて面白いんですよ）

さて、
そんな私が USP MAGAZINE という雑誌をどう考えているか、就任にあたり述べさせていただきます。
私は USP MAGAZINE を、枯れた技術が切り拓く新しい世界を伝えるメディアだと考えてます。
新技術探検も面白い。でも、何とも思わなくなった技術の新しい使い方を発見するのも、また面白い！
シェルスクリプトにはそういう発見が特に多いから、本誌で話題にすることが多いのだと思います。
もう一つ重要な部分は「メディア」。メディアは中立であってこそ、価値を持ちます。
。しかしそうでないものは「美しくない」と、美しいものは「美しい」それが例え、本誌発行元の USP 研究所のことであっても言えなければならないと思っております。
私が社外の人間として編集長を務める理由も、実はそこにあります。
と！いう前置きを踏まえて言うのもアレですが……。
USP 研究所が提唱する、ユニケージ開発手法は面白い！！！
前号から連載している「ユニケージエンジニアの作法」や本号の特集１は私が書いているのですが、取材してる段階から実に興味深い話ですよ！
逆に、これが思いっきり言えるのも、私が社外の人間だからなのかもしれませんね。
とにかく正直な気持ちで、価値あるメディアを創ってまいります。

Contents
ついに始動 Open usp Tukubai プロジェクト …………………………………………………………………………… 3
菅雄一 中小企業手作り IT 化奮戦記―第２回 …………………………………………………………………………… 後藤大地 漢の UNIX …………………………………………………………………………………………………………… 原色 Linux 美女図鑑―第３回 内山千晶さん ……………………………………………………………………………… TechLION 再録 よしおかひろたか―ハッカー中心の企業文化を根付かせるには ………………………………… 14
どっちが強い？ AWK vs シェルスクリプト ………………………………………………………………………………… 大岩元 今私たちは何を学ぶべきか―第４回……………………………………………………………………………… ユニケージエンジニアの作法―第２回……………………………………………………………………………………… シェルスクリプト大喜利…………………………………………………………………………………………………… 11
Tech 数独／新刊案内 ………………………………………………………………………………………………………… ベンチャー起業家のアドベンチャー日誌／編集後記……………………………………………………………………… ※ 薄字で記載している記事は、よりぬき版には収録されておりません。また、本誌とは掲載順序が若干異なります。

2

USP MAGAZINE vol.4

特集1

ついに始動

Open usp

TukubaiἩἿἊỹἁἚ

USP マガジン編集部

2012年2月、
システム開発にシェルスクリプトを本気で使い倒している技術者達が生み出したコマンド集「Open usp Tukubai」が公開された。
だが、蓋を開けてはみたものの、「Open usp Tukubai」の一体何が凄いのか、みな首を傾げるばかり。
それはまるで、飢饉を救う宝として秘蔵されてきた箱の中に、たった一本の鍬が入っていたかの如くだ。
Tukubaiの真意は深いところにあり、分かりづらい。
その真意を伝えるべく、本誌を手にした読者にこの記事を捧げる。

第一章

3分でわかる Tukubai
第二章

先人からの贈り物を次世代に― 生みの親に聞く ―第三章

これから始まるTukubaiプロジェクト
1

第一章 ３分で分かる Tukubai
Tukubai ―― それで何ができるのか。それが何の役に立つのか。
Open usp Tukubai は世に公開されたばかりであり、その情報はまだまだ少ない。新しい技術や製品が出た時はまず、それが一体何の役に立つのかということを端的に説明してほしいもの。
そこで本章では、そういった疑問に 3 分で答えられることを目標に、5 つの Q&A にまとめた。

Q1

Tukubai って何？

A1
データベース (DB) をシェルスクリプトにུ‫́ܨ‬置き換えるためのコマンド群だ。
普通なら「DB の利用を検討しなきゃ」と考えるシーン。
しかし Tukubai は、シェルスクリプトとテキストファ
イルベースで、DB と同等以上のことをやってのける。
シェルスクリプトの機能を、主に DB 用途向けに補完するためのコマンド群が、Tukubai だ。
その実用性に、まだ疑問を感じる人もいるだろう。ところが、あなたがよく買い物に行く大手スーパーやコンビニの商品管理も Tukubai( ビジネス版 ) で行われている。つまり Tukubai は、本気で作られたモノなのだ。

Q2

なぜシェルスクリプトを使うの？

A2
使えば分かる！

ハヤくて、安くて、ウマいことが。

「安易にバイナリデータで管理しようとする文化へ物申す」―― これが Tukubai が生み出された根本的な理由である。
コンピューターは、データを受け取り、加工し、送り出す作業を繰り返す。バイナリ
データの場合、受け取りと送り出しの過程
で、API を叩いてデータを変換し、加工し易くする処理が必須だ。しかし、これは本質的な処理ではなく、コンピューターのリソー
スやプログラム開発コスト等を、ある意味
無駄遣いしていると言える。
これらの作業を、全てテキストファイルで処理できれば、ハヤくて、安くて、ウマくなる。それを体現する手段がシェルスクリ
プト＋テキストファイル＋コマンドだ。
実はこの手段、設定ファイルをほぼ全てテキストファイルにした UNIX 発明者達のやり方に倣ったに過ぎないのだ。

4

USP MAGAZINE vol.4

特集１― ついに始動 Open usp Tukubai ἩἿἊỹἁἚQ3

表 1 Open usp Tukubai コマンドのほんの一例

どんなコマンドがあるの？

分類

A3
COBOL や SQL でもお馴染みの処理を実

コマンド名
han, zen

整形・変換 keta

現するコマンドを、まず 45 個リリース。
DB 系

それに便利なものも用意されている。
（表 1 参照）

Q4

web 系

Tukubai は

全レコードを見て、列を桁揃えする

comma

3 桁毎にカンマを打つ

self

特定の列を抽出 (SELect some Fields)

join2

2 つの表をキー列を見ながら右外部結合(RIGHT JOIN に類似 )loopj

2 つ以上の表をキー列を見ながら完全外部結合 (FULL JOIN に類似 )sm2, sm4, sm5

列毎に全レコードの合計を求める (sum-up)

ratio

指定列について、全レコードに占める
そのレコードの％を求める

cgi-name

ブラウザから送信された CGI 変数文字列をURL デコードしつつ、変数名と値に分離

check_attr_name

CGI 変数に不正な文字が無いかチェック

mojihame

テンプレートテキスト中のマクロ文字を値に置換する

DB 処理やテキストデータを加工するものがある。
さらに Web もテキストデータ処理が多いことから、

機能
全角文字←→半角文字 変換

DB に特化したコマンド群なの？

A4
いいえ。
シェルスクリプトを‫ٳ‬อ࡞ࢊとして実用化できるほどに、様々なコマンドが用意されている。
コマンドの集まりとはいえ、エンドユーザーにまでコマンドを打たせたくはないところ。
そこで web インターフェースに対応すべく、
web 系のコマンドも用意されている。
たとえば mojihame。リスト１のようなコードを書くと、HTML の <table> タグの中身が簡単に生成可能だ。
LAMP の M と P を、 そ れ ぞ れ Textﬁle とShellscript に置き換えた "LATS" を構築することも可能になるのだ。

リスト 1$"0cjo0ti
dbu!==IUNM!?!/0ufnqmbuf=ubcmf?
!!!!=us?
!!!!!!!!=ue? ૽ =0ue?
!!!!!!!!=ue? ߄ =0ue?
!!!!=0us?
="..!SFDPSET!..?
!!!!=us?
!!!!!!!!=ue?&2=0ue?
!!!!!!!!=ue?&3=0ue?
!!!!=0us?
="..!SFDPSET!..?
=0ubcmf?
IUNM
dbu!==JOQVU`EBUB!?!/0ebub‫ہ‬ന!6523 ྔ‫׫‬
ᚰന!3243 ྔ‫׫‬
ષന!.511 ྔ‫׫‬
JOQVU`EBUB
npkjibnf!.mSFDPSET!/0ufnqmbuf!/0ebub

LAMP ではなく LATS で稼働中のサイト=ubcmf?
!!!!=us?
!!!!!!!!=ue? ૽ =0ue?
!!!!!!!!=ue? ߄ =0ue?
!!!!=0us?
!!!!=us?
!!!!!!!!=ue? ‫ہ‬ന =0ue?
!!!!!!!!=ue?6523 ྔ‫= ׫‬0ue?
!!!!=0us?
!!!!=us?
!!!!!!!!=ue? ᚰന =0ue?
!!!!!!!!=ue?3243 ྔ‫= ׫‬0ue?
!!!!=0us?
!!!!=us?
!!!!!!!!=ue? ષന =0ue?
!!!!!!!!=ue?.511 ྔ‫= ׫‬0ue?
!!!!=0us?
=0ubcmf?

「USP 友の会」(http://www.usptomonokai.jp/)

Q5

Tukubai はどこで手に入るの？

A5
Web サイト「UEC」で入手できる。日経 Linux 2012 年 3 月号にも収録されている。
MIT ライセンスの無償版である Open usp Tukubai が、UEC（http://uec.usp-lab.com/）からダウンロード可能。シス
テム要件やインストール方法等、詳しい使い方はそちらを参照されたい。
また、日経 Linux 2012 年 3 月号でも特集記事として紹介され、付属 DVD に収録されている。

5

第二章 先人からの贈り物を次世代に―― Tukubai 生みの親に聞く――
道具を使いこなすには、発明者が何を思ってそれを作ったのかを知り、その気持ちを理解することが近道である。Tukubai を使いこなしたいのならば、生みの親である當仲氏が何を思って作ったのかを知るべきであろう。そこで、Tukubai の生い立ちを、氏に余す事なく語ってもらった。

設計者の人生観が見えて︑システムの作り方がわかった︒

手軽に問題を解決出来るっていうのがシェルスクリプトの面白いところで、シェルスクリ

OS

プトになって初めて意味があることなんです。
コマンドは道具で、シェルスクリプトは料理のレシピ。道具が揃うと色んなレシピが作れるし、レシピが進むと、こんな道具があれば便利ってことで相互に進化します。やりた
いことは、コマンドをオープンにすることよ
り、そのコマンドを使ってどんなアプリケー
ションが書けるのかということで、今後それをオープンにしていくことが一番の主眼です。
実は OpenUSP 評価版っていうものを 2 年前に出したんですけど、誰も振り向きませんでした。バリューの意味が伝わっていなかったんです。コマンドそのものにバリューがあると勘違いされていたから。伝えなきゃいけないのは、コマンドのバリューではなく、シェ
ルスクリプトのバリューなんですね。
コマンドを作ったり、データの配置の仕方、書き方のお作法、OS の使いこなし……、そとうなか・のぶあき● 1966 年生まれ、兵庫県出身。株式会社ダイエー

れに他の様々な最新技術との繋ぎ合わせ方、在籍時に、UNIX システムを再勉強しそういうもの全体でバリューなんです。

感銘を受ける（本文参照）。そこで学んだ UNIX 的発想を活かし、当時年間数百億円費やしていた社内システ
ム維持費を数十億円に削減させ、社長賞を受賞。2004 年独立し、有限会
社 USP 研究所を創立、現在に至る。

Open usp Tukubai を使うことでどんな効果があるかとか、その裏側にはどんな工夫があるかとか、マネージメント、教育、ガバナ
ンス……と順番に伝えていきたい。その第一のステップが Open usp Tukubai なんです。

プンになることによって、「どうなっていた―― とはいえ、そうやって商売のノウハウんだろう」と思っていたことがパッと明るみになっているものを何もかも開示してしまうになり、手軽に使えるようになります。例えと、自身の仕事がなくなってしまうのではな―― Open usp Tukubai がとうとうリリース

ば、暗号化のプログラムとか、それ自体にバいかと思うのですが。

されましたね。私はこの雑誌の編集長というリューがある場合、そのアルゴリズムがオービジネスの観点からすると「タダにして出立場上、面白さや凄さは実感しているんです

プンになると皆「わー」って驚きます。だけ

しちゃうことで、ノウハウを誰かに取られけど、コマンドだけパッと見ても分からない

ど、不思議なことに USP のコマンドそのもちゃうんじゃないの？」と思われるかもしれですよ。何と説明すればいいんですか？

のにはバリューはほとんどないんですね。

ませんが、それは違います。

USP コマンドにバリューはない？

まず USP のコマンドって何だろうっていう話です。
バリューのあるものがクローズドからオー

6

USP MAGAZINE vol.4

面白い部分も多少ありますけど、基本的にコンピューティングっていうのは技術の積

コマンドひとつひとつは地味な印象を受ける

み重ねで成り立っているので、オープンにと思います。コマンドを組み合わせることでなったところで誰もが Linux や FreeBSD を

特集１― ついに始動 Open usp Tukubai ἩἿἊỹἁἚ
一から書けるわけではありません。勉強をし30 年くらいかけて吐き出さないといけないて、いかに役に立つ情報を導き出すか、とかなきゃ出来ません。

（笑）、それくらいのつもりでやっています。

ね。その時、UNIX の本に書いてあったこと

勉強の題材を提供しただけで全てわかっての意味が初めて理解出来ました。

ではないと思うんですね。教科書がオープン

パイプを何十本も繋いでメーカーの人に嘲笑われたになったからと言って「じゃあ学校は要りま―― Tukubai というコマンドセットは、どく、無駄がないということ、それが必要に迫せんね」って言ったら、それは暴論でしょのような経緯で作られたのですか？

られてみると、よくわかりました。僕はダイしまうほど、コンピューティングは浅い技術

小さな道具を組み合わせて問題を解決する
ほうが柔軟性に富んでいて、スピードが早う。だから USP のコマンドがオープンになっ大学の時に UNIX があったので、そこで学エーにいて、商売の世界にいたので、販売やたって USP のすることがなくなっちゃう、

んで……と言いたいところですが、実はあま在庫の分析、そういった中から有利な商談のなんてあり得ません。

り勉強せずに、アルバイトばかりしていまし

方法とか売れている物、利益があがる物を見出すことを迫られていたんです。そんな時に

むしろ、ますます関心を持ってもらえるよ

た。勉強は単位を取るため、卒業するため。

うになって、
色んな人が色んなことを考えて、大学を離れて、アルバイト――肉体労働

同じやり方で仕事をする人が出てきて……結だったり接客だったり物売りだったりをやり

たぶん OS もそういったことから作られた

果的に我々も活性化します。

ました。それで、たまたま前職（大手スーと思うんですね。だから OS を設計出来るUNIX の考え方がピタリと感性に合った。

そういう風に思っているので、Open usp

パー）のプロジェクトチームに入って、そこ人っていうのは、自分の人生観や感性をアー

Tukubai をオープンにすることに何のためら

で UNIX をもう一度勉強し直す機会があった

キテクチャに反映させたのだと思うんです。

いもないのです。そもそも自分が作ったってんです。

―― 人生観！そこまで読み解けるのですか。

いう感覚は全然ありません。

上司がソニーの NEWS という UNIX ワーク

意味がわかったことで、実にしっくりきま―― 自分のものではないと？

ステーションを使い慣れているという理由した。UNIX に出合ったのがコンピューター

ええ、先人たちが作った物を壊さないようだけで「僕ちゃんは NEWS が大好きなんだ。

の会社じゃなくて、問題が起こっているユーに、埃が降ってきたら払う……そうやって維お前も使え」と言われました。そういう偶然

ザー側の会社だったことも良かったと思いま

持していきたいと思っています。強いて言えから全てが始まったんです。
「そうか UNIX か、す。誰も周りにコンピューターを知っている

ば、先輩がもう一段石を積み重ねる前に力つなんか聞いたことあるな」というか、やった

人がいなかったので、自分で一から勉強する

きてしまったから、僕が代わりに石を積んでことある気がする（笑）と思って。

しかなかったんです。

おこう、と。そういったところで貢献出来ればいいと思っています。
オープンにすることで、そういう姿勢を大学の第二外国語みたいな、それくらいの一から勉強とは、原理から勉強することで忘れ方をしていた時に、再びコンピューター

す。問題を目の前にして、それがいかに素晴と接することに。5 年ぶりくらいでした。

らしいことかわかりました。OS の生まれたはっきり示すことになるでしょう。「自分のそれで、「入門 UNIX」みたいな本を買っ

背景を知らずに、プログラミングの技術だけものだ、俺が書いたんだ」じゃなくってね。

て読みました。学生の時は単位が取れれば良で解決しようとするとおかしなことになっ僕は OS やシェルを発明しなかったんです

かったので、書いてあることを表面的に理解ちゃいますよね。

よ。ただ先人達が作ってきた物の上で、あー

すれば事足りましたけど、その時は現実的な今に至るお手製のコマンドを作っていったでもないこーでもないと、ちょこっとやった

問題がバーンと目の前にあって、それを解決のも、UNIX っていうのはコマンドを組み合だけ。その、ちょこっとやった物をクローズしなければならなかったんです。会社の建て

わせて ﬁle to ﬁle でデータを順番に変換しなドにするなんて、メンタリティ的によくない直しだとか、データなどのハンドリングをしがら、欲しい編集をするもので、その為にはでしょ。オープンにしてくれたから僕らが勉強が出来たわけです。思い返せば大学の時、UNIX のソースコードを読んだということが、何十年か経っても今のベースになっているのは間違いありません。だからオープンにしてくれたことに対する感謝の気持ちはものすご
くあるんです。
そういう水のような、空のような愛に包まれているんだから、僕らはそういう物の子供だ、ということを姿勢として表すことは
間違っているとは思わないですね。僕は今45 歳なので、20 年かけて貯め込んだものを▲前職在籍時に制作したというプレゼンテーション資料。UNIX 的発想がいかにシステム効率化・コストダウンに有効であるかということを、これらの資料を使って当時の首脳陣達に直接説明したという。数百枚にも及ぶそれらの資料のほとんどは手書きで作られており、そのパワーに圧倒される。

7

コマンドを作ってもいいし、コマンドとコマやすいものになっているんです。

ことが書いてあったからです。

ls コマンドは、出来の悪いコマンドの見本―― なるほど、USP の開発スタイルの源流―― そのやり方に先人の教えに基づく信念

ルなものだけ、数十個くらいしかないです。

はそこにあったんですね。

があったとはいえ、初めから確信を持てたわ―― 2000 個も !? そうすると残ったコマンド

けではなかったのではありませんか？

は相当エリートなんですね。

ンドをパイプで結びつけていけばいいという

COBOL の時代から積み上げられてきた業コマンドは 2000 個以上作りましたけど、そうした試行錯誤の後に残ったのは、シンプ

務システムに必要な処理は、セレクト、ソー

初めは素人がやることだから、そもそものいつも例に出しているのは、スプーンとト、マッチング、サムアップ、項目間演算要求が鋭くなかったんですね。自分が出来る

フォークとナイフだと言っているんです。そ……と、お定まりがあるんですが、UNIX のことしかやりませんでした。なので、自分の 3 つがあれば、どんな食べ物でもうまくコマンドに用意されていない物がいくつかがギリギリリーチできる中で長年揉まれて、切ったり口に運べたりしますよね。スプーン

あったんです。

とかの形を見たら、俺でも作れる、って世界て順番に高い所にニンジンがぶら下げられて中で多くの人が思うでしょう。でもスプーン

い電卓のはずなのに、単純に大根合計 6 本っ

いくうちに段々脚力がついてきたんです。

やフォーク、ナイフがこの世に全く無かったて出すための簡単なコマンドがないんです。
大根 1 本、2 本、といちいちファイルをリードしてオープンして……やりたいことは大根
6 本、って出したいだけなのに。
多分 UNIX を作った人って天才なんで、そんな物は当たり前に作れたと思うんです。けど、そこまでやってしまってはコマンドを作る楽しみがなくなってしまうと考えたんじゃないでしょうか。コマンドのサンプルだけ残して、あとは自分たちで考えて作れよ、って。
僕みたいな凡才には切れ味のイイ物は作れませんけど、数を作って、その中から選んで残していけばいいんじゃないかと思って作り始めました。コマンドを作るっていうのも、当時のメーカーの人からバカにされましたよ。そんな物を作っても意味がないと。

ドライバーは︑車と一体になれる︒
だからマニュアルを見ながらは運転しない︒
コマンドも︑そうあるべき︒「あ、お前、
これも出来るんだったらこれも」っ

例えばサムアップ。コンピューターはデカとしたら、食べ物を上手く食べられる食器を一から考えるのは難しいでしょ。一度じゃ上
手くいかなくて、変な食器を発明しては、口を切ったりこぼしたり……そして、結局はああいう形に落ち着いていくんだと思います。
ところで、ls コマンドのオプションって暇な人が数えたら 80 くらいあるらしいんですよ。出力の幅を揃えるようなオプションだとかがいろいろあるんですけど、fold や cut コ
マンドを組み合わせてやればいいのに、ls コ
マンド自身に色んな機能を実装してどんどん増えていったんですよ。だからあれは UNIXの中では最低なコマンドと言われていて、出来の悪い物の見本として覚えておけ、みたいなことが何かの本に書いてあったんです。
なので、Tukubai のコマンドにオプション
なんて物はほとんど無いですね。基本的に頭パイプをいっぱい作って何十本と繋いでいってデータを流して、「やったー。ほら出

その過程で、生まれたコマンドもあれば、に入らないものはコマンド化しません。こん来た！」と言っても、当時、シェルでパイプ淘汰されたコマンドもありましたね。同じプなこと言うと怒られちゃうかもしれないけを繋ぐなんてありえなかったので、それをログラムでも最初 AWK で書いていたのを次

ど、マニュアル見ながらコマンド打つなんて見たメーカーの人が嘲笑いましたね。「コンは C で、アセンブラで、とかね。同じ物で最低ですよ。歌手は楽譜を見ながら歌っちゃピューターの使い方を間違えてる」って。

もアルゴリズムを工夫しようだとか、コマン駄目。歌手と歌は一体化していないと。

たぶん、嘲笑った人は大学時代に勉強して、ド間で書式を統一しようとか、そういうこと

Tukubai は一見、大したことないように見コンピューター会社に入って、新しいことをで段々練られていきました。その書式に関しえます。一個一個が単純なので、ナイフを見追い続けることがコンピューティングだと思ても、オプションも増やすだけだと何がなんる時のように「何だこんな物」と思うかもし

い込んでいたのでしょう。僕の場合、目の前だかわからなくなるので、出来るだけシンプれません。けれど、色んなシーンで使ってみにある問題を、一番ベーシックなアーキテク

ルにマニュアルのいらないコマンドを作ろう

ると、そのコマンドでしか出来ない、このコ

チャで解決するには、どうしたらいいか、っとしました。優れた技術は人に近づく、とい

マンドがあって良かったな、というものだけて考えられる環境に自分がいました。それがう言葉がありますけど、要はマニュアルを見を揃えています。

非常に幸運でした。
僕はラッキーの塊ですね。

ながら車を運転している人はいないでしょ。

―― Tukubai のコマンドは名前も独特です「シェルはあれもこれも出来ない、制約があ

例えばハンドルは、見た目の感覚で右に回しよね。日本語そのままなものも多いですし。

る」って言われましたけど、僕はそれは解決

たら右に曲がるような気がする。それが、実ls は「LiSt」の略だし cat は「conCATenate」

していくものだと思ったんです。

際にも腕と連動して右に曲がるから、操作しの略、grep なんて Global Regular ExPression の

8

USP MAGAZINE vol.4

特集１― ついに始動 Open usp Tukubai ἩἿἊỹἁἚ略です。なぜ略なのかと言えば、短いコマン

いつくばう」で、人に頭を下げるとか、相手は OS のインストールでも丸一日かかったのドの方が早く打てるという現実的な理由です。

に畏敬の念を持って礼を尽くすという意味でが、今は 20 分とかで出来るわけです。その速記と同じですね。Tukubai も同じで、速記がす。茶道でつくばいは水を汲んで手を洗うた

余った時間で酒を飲むのも、デートするのも、出来、かつ種類を抑えながら万能化するにはめの器です。それは凄く低い位置に作られてそれでも別にいいんですけど、とにかくそのどうすればいいかということを重視し、コマいて、それを使うためには膝を曲げてかがま

時間を活かして自分のことを見つめ直す時間

ンドの数はあまり増やさないようにしていまないといけない。そういう姿勢をすること自にあてて欲しいです。

す。増やせば名前が長くなりますから。

体が礼儀を表現することに繋がるんです。

Open usp Tukubai を使えば、先人が積みかと言って、新しい物をつくることに否定

こういった、余計な物を削ぐとか礼を尽く上げた技術によって、時間や精神的な余裕を的なわけじゃないですよ。使ってみて手になすといった精神は、ある意味企業情報システ生み出せるでしょう。その余裕を使って自律

じむようだったらそっちにするとか、試行錯

ムを作る精神に似通っているな、と。会社っをして立派な職人になって欲しいです。

誤は常に行われています。

ていうのは無駄な動きをしちゃいけませんよそういう自律した人たちが共に働いて、独ね。勿論、何もしなくても駄目。的確なこと

りじゃ成し得ない大きな仕事してくれたらをテキパキやらないといけないでしょ。ちゃ

な、と思います。突き詰めれば、原点に立ちんと技術を進歩させつつ、内部崩壊もさせ返り、働くことの意味とか目標を見つめ直す―― USP 研究所のロゴも " つくばい " なので、ず、マネージメントもこなし、社員のやる気きっかけになってもらえればと思います。

その由来を聞きますが、なぜコマンドセットを維持しなきゃいけません。それをやるため

技術の積み上げにも悪いところはあって、を Tukubai と名付けたのですか？

Tukubai の由来は
「這いつくばう」ことに無茶苦茶お金をかける、なんて乱暴なこと技術が向上して効率化するとボーッとしちゃ

コマンドで、現実にある様々な問題に挑んをやっていると、駄目になっちゃうんですね。

うんですよね。どういうことが積み重なってできました。でも世界に目を向ければ、やはシステムを作る側の人間はそういう企業の立

今のその幸せな状態に至るのかを見失いまりその問題は限定的で、日本という環境の中

ち居振る舞いを理解していないと良いシステ

す。だからいつだって原点に戻れるというこのある偏ったところで生まれたものだと思う

ムは作れませんよ。

とは大事。原点回帰っていうか、積み上げてんです。つまりここで作ったものは日本の文

いくことも大事だし、時には階段を下りてみや日本そのものの文化であったりとかね。な

先人が積み上げた技術を得て、エンジニアとして自律して欲しい

ので、Tukubai って名前も日本文化を象徴す―― 今のお話を聞くと、Tukubai という名りやすいです。一から勉強し直そうと思えばる、茶道の精神にちなんで名づけました。

称自体に強いメッセージが込められているといつでも出来ます。そうやって原点回帰して、―― 茶道の精神が、プログラムのお作法に感じたのですが、Tukubai を通じ、改めて技

今現在の自分の立ち位置を振り返ると、毎回、通じているのでしょうか？

術者に伝えたいことはありますか？

新しい発見が出てくると思います。惰性に流化を色濃く反映しているはずです。企業文化るのも必要。
シェルはベーシックなものなので階段も下されるのではなく、日々新しいものを見つけ

茶道の精神って色んな物を足していくといイメージしているのは、「エンジニアの自う発想ではなくて引き算なんだそうです。例

律と協働」です。僕が良く使う言葉なんです

えば人間って丸裸では生きていけないので、けど、自分で立つじゃなくて、律する方の自原点回帰しやすくするためには、シンプル

何か身につけるわけですけど、最低限必要律ですね。僕は、エンジニアはサラリーマン

なものがいい。Open usp Tukubai はそうい

なものは何かという話になった時に、余計なじゃなくて職人だと思っているんです。

うのを目標にしています。出来れば使う人に物を削いでいったら何が残るでしょうか、と給与所得者ということで立場はサラリーマ

いうのが茶道の精神の根底にあるんですね。

ンなのかもしれませんけど、エンジニアから

UNIX文化にも通じる物があるように思います。

3K（危険・帰れない・きつい）と言葉を漏

また、茶道はお茶の追求だけじゃない。茶らしてほしくないです。それは自律していな室があって、 右から入るだの左手を添えるい人の愚痴ですよ。
誰かが何かをしてくれる、

だの、座り方がどうの、書や華を愛でるだの、という依存の気持ちがあるから、「僕がこん非常にうるさいんです。あれはなんだろうと

なに辛いのは誰かのせいだ」という甘えた気

思っていましたが、突き詰めると相手に失礼持ちになるんです。そういう甘えは職人にはのないように、かつ自分の言いたい事も通す

あるまじき態度だと思います。

ために、無駄な動きや会話をしないための立
ち居振る舞いを追求する道なんです。

技術は自分でストイックに勉強していかなて欲しいですね。

もそういうメンタリティでいて欲しいです。

▲新技術と枯れた技術の違いを言い表すために當仲氏が描いた絵。噴火に目を向けるのがきゃいけない。だけど、技術が進歩していく

新技術に注目することで、噴出物が堆積した

USP のロゴや今回のコマンドセットの名とならば、シンプルなことで物事が進むわけで、土地を耕し畑にするのが、枯れた技術を洗練して頂いた「つくばい」の語源。これは「這技術を追いかける時間を減らせるんです。昔させること。氏は後者が好きだという。

9

第三章 これから始まる

Tukubai プロジェクト

Open usp Tukubai の公開は、Tukubai プロジェクトの第一歩に過ぎない。Tukubai はごく単純な道具であり、使い方を知らなければ、真の価値を見出すことが難しいからだ。

Tukubai の使い方を公開する準備も着々と進行中である。それが UEC という名の web サイトだ。

ユニケージ開発手法のポータルサイト "UEC"
Unicage Engineers' Community（UEC）は、Open usp Tukubaiの公開と対を成す Tukubai プロジェクトのもう一つの重要なコンテンツだ。
シェルスクリプト＋テキストファイル＋自作コマンド群（Tukubai 等）という開発スタイルをとる「ユニケージ開発手法」
を実践する開発者達に向けた、ポータルサイトを目指している。
このサイトはコンテンツマネジメントシステム（CMS）により管理されているが、汎用品ではなく、ユニケージ開発手法によって一から作られている。HTML や JavaScript 等全部含めても、プ
ログラムはここまで 500 行足らずである。
Tukubai は、世の中で求められる様々な要求に対し、全体の見通しが効く単純なシステムを作って応えるのに向いているが、やはり知っておくべきノウハウがある。誰もが手軽にこの情報を得られる

Unicage Engneers' Community web ページ(http://uec.usp-lab.com/)ようにすることが、UEC というサイトに課せられた使命である。

UEC サイトのコンテンツ
Open usp Tukubai のダウンロード配布・オンラインマニュアルは勿論、プログラミング Tips 等を公開しており、メニューは随時増えていく予定だ。公開して日が浅いため、まだ実現できていないものもあるが、現在進行形で各種サービスの準備を進めている。

UNIX 哲学の価値を今、改めて世に問う

ジャーナル

ダウンロードユニケージ開発に関連したOpen usp Tukubai 等、ユ

ホットな情報を提供する。

ニケージ開発に関連したソUEC の目的は、Tukubai の情報提供を通じて一つのオープ

フトウェアを提供する。

ンソースコミュニティーを形成することだが、その先にはさらに大きな目標がある。

? オンラインマニュアル

プログラミング Tips

Tukubai コマンドマニュア

ユニケージ開発手法の概論かルを公開し、いつでも Web

らコマンド活用法まで、プロかし當仲氏はインタビューで、先人から学んだ UNIX 哲学をで見られるようにする。

グラミングに役立つ情報を提自分達なりに表現したに過ぎないものと語っていた。つまり、供する。

Tukubai は、形の上では USP 研究所の著作物ではある。しTukubai を世に送り出すということは、40 年以上前に提唱

コミュニティー

された UNIX 哲学の価値を、改めて世に問うことなのである。

オープンソースソフトウェ

公開元とサイト利用者（開日々登場する新技術に注目が集まり、この哲学への関心は薄アとして多くの人々に発者）、あるいはサイト利Tukubai の開発に参加して用者同士が交流し、情報をもらうための場。

共有するためのスペース。

リポジトリー

れているかもしれない。だが今、見つめ直す時期に来ているのではないだろうか。コミュニティー活動を通じ、様々なシーンで活躍中のエンジニア達に、問うていきたい。

10 USP MAGAZINE vol.4

ΏͿσΑ·ςίΠఱ‫ܔ‬၌

シェルスクリプト大喜利ɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔ₻₏₷₏₻ɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔংٛȇȸ̽͂͜଑̩ȹ༎ਬಿȆ͙̥ͭ

ٝ
లঅ

₻₏₷₏₻

ΏͿσΑ·ςίΠఱ‫ܔ‬၌

毎度お馴染み、3 か月のご無沙汰でシェルスクリプト大喜利অȂġsh 大喜利はシェルスクリプトを披露する場なので、őŦųŭ

（略して sh 大喜利）のコーナーがやってまいりました。あたく͞ œŶţźȂ őźŵũŰů ͉̈́̓ঀ̻̽͝Θιです。そもそもし司会進行役の̽͂͜吹く編集長みかんです。表の肩書が編JM にも載っていません。逆にシェルスクリプトにとって集長になっちゃっいまして「それじゃ吹けないじゃん」って不可欠な awk や sed 等は OK です。JM にもありますし。

困った挙句、「もっと」を頭に付けることにしました。元吹でも、よっぽど面白ければ、なきにしもあらず？

く編集長ってね！……………… はい、ࣽ඾͜‫͇̳̞́ێ‬ȃ

ルールもおさらいしたところで、それじゃイッてみよう。

えー、ここは読者参加型のコーナーです。ということで、ུ๔‫ٳ‬ই

今日もまずは本コーナーのシステムをご説明！

ΏͿσΑ·ςίΠఱ‫ܔ‬၌͉͂Ƀల֚࿚Ʉ

読者の皆さんに毎号お題を出して回答を募り、面白いもŵŢŪŭġ ĮųȂ ōŪůŶŹ ̈́ͣ ŵŢŤ ΋ζϋΡ̧̳́́͘ȃ ̷̸́ͦ͜

のを紹介します。そして、良い回答には段位を授与、悪いͦࡽ̞͈۪‫̵̢ͭ͘ঀ͉́ޏ‬ȃ ̷̭́Ȃ ̻̓ͣ́͜ঀ̢ͥΏͿ

回答では段位を強制返還させてもらいます。面白さに応じσΑ·ςίΠͬ੥̞̩̺̯̞̀ȃて授与・返還される段数は様々です。そして、見事十段にLinux 使いの人は *BSD に tac コマンドが無いことを知なりますと !! ຊ୳ͅ଄̩̱̦̹̞̻̲̠̻ͭͭ͟͝ΈΛらなかったり、*BSD 使いは Linux に tac コマンドなんてΒ をプレゼント！日曜夕方のアレとほとんど同じですね。

ものがあるって知らなかったり、いろんな人に聞いてみ

ただ、扱うものがシェルスクリプトということでいくつかると結構ローカルネタであることがわかって面白いです。

特有のルールがあります。以下にそれを記します。

（FreeBSD 派なアタクシも tac なんて知らなかった！）さてΏͿσΑ·ςίΠఱ‫ܔ‬၌අခ͈σȜσ֚Ȃġsh 大喜利はクイズやテストではありませぬ。なので決まった答えというものはないのです。あえて言うなら面
白いスクリプトが正解！
ඵȂġ面白いスクリプトとは例えば、こんなもの。
ͼȂġ人が考えつかない意外性があるυȂġ美しい or 芸術的 or 記述がシンプル・短い or 高速Ξ΅ΑΠͬ‫̥࣐͈ͣئ‬ਜ਼๔ͅນা̵̯̹̞শȂ īŃŔŅ ̈́ͣ

このお題（にばかり）、回答がたくさん来ましたよ。泣く泣
く紹介できない方もいますが、皆さんごめんなまし。

ɝŁţŴťũŢŤŬ ̯͈ͭٝ൞
$"0cjo0ti
fy!.t!%|2~!==.FPG!!!h0_0np1
!!!&q
FPG
ほほぅ、ex エディターを使ってくるとは！上の行から順ΧȂġアイデア・こだわりが光るに「( その時点での )0 行目に移動」という動作を繰り返すΣȂġネタになるようなバカバカしさ、くだらなさがあると逆順になるというわけか。いいね、ඵ౲਎ဓしちゃおう！

などなど、
ただし最後のは段位強制返還の恐れありよ。
:-)

ɝઐᚧඵ჊̯͈ͭٝ൞

२Ȃġスクリプトの動作環境は Linux とします。そして、特に断tfe!(3-%H<i<%q<e(

りがない場合は、Linux JM(iuuq;00mjovykn/tpvsdfgpshf/

今度は sed で来たか！実は sed で回答した投稿者が何人

kq0) に記載されているコマンド及び機能のみ使用可能としかいたのですが、これ一番シンプルだったんですよ。しかます。
これは多くの人が楽しめるようにするためなのです。

も tcsh でも動作するようにと、"!" を使わない記述で再投稿。

（但し JM に載っているので、ń ΏͿσࠏ͈́ٝ൞͜ ŐŌ Ȋ）

うーん気が利くねえ。これもඵ౲਎ဓだ。
11ɝɛ Ŕ ɛ ő ɛ͈ɛٛಿ̯͈ͭൎࣂ
dbu!gjmf!}!xijmf!sfbe!mjof!<!ep!upvdi!%mjof!<!tmffq!2!<!epof!<!mt!.u!}!dbu

◇

◇

◇

さぁそれじゃ、今回のメインイベント、第三問！
Ƀల२࿚Ʉ

来たな、会長！コメントによると、ファイル内にスペーུধນঞ͈ζΑ΋ΛΠ ȶ̻̲̠̻ͭͭ͟͝ȷ ͈ͼρΑΠවͤζ;

スや変な記号がないことが前提らしい。……確かに動くな。

ΑΩΛΡͬै̠ͧ͂এ̞̳͘ȃ ́͜ζ;ΑΩΛΡ͉ ňŖŊ ෩͈և

遅いし実用性 0 だけど、面白いから奇跡の੝౲਎ဓだ！

͈ൽߓȃ ńŖŊ ෩యນ̷̱͂̀ͭ̈́ ňŖŊ ෩̥̞࢜ͅȂ ๞ Ȫ๞ɝ଩നɗષ٬̯͈ͭٝ൞੫ȉȫ ֚ͅ࡞࡞̵̩̺̯̞ͩ̀ȃ ̹̺̱Ȃ ۰ౙ̈́ΏͿσΑ·ς

dbu!.o!.!}!tpsu!.so!}!dvu!.g3.

ίΠ͈΋ȜΡͬΓςέ͈֚໐̳̭ͥ͂ͅ Ȫ΋ȜΡ͈͙́͜ ŐŌȫȃパイプ使いこなしててこれはいい！行番号付けて降順

いやいやアタクシが今使っているマウスパッドがつまらソートして行番号を外すわけだ。わかりやすい、ඵ౲਎ဓ！

なくて、新しいのにしたかったんですよ。それでこのお題

◇

◇

◇

今日はサクサク行くよ！第二問。

を募ってみたわけですが……。
皆さん、ちゃんとコードを添えてくださいませ。一応こɃలඵ࿚Ʉのコーナーのお題なのでプログラムでないとカッコがつかȸ‫ܥॳ̠֑ࠗۼ‬ȹないですから。面白いけどコードがなくてボツというのが̤̥̱̈́ࠗॳࠫ‫੄ͬض‬ႁ̳ͥΑ·ςίΠͬ੥̞̩̺̯̞̀ȃ

結構あって残念なのです。さて、そんな中で残った回答。

前回の printf のおかしな挙動を受けて出したこのお題。例ɝࢃ൥ఱ౷̯͈ͭٝ൞

えば、丸め誤差とか、あるいはバグとか。そういう珍しいものをスクリプトにしてもらいたいわけです。

ɝũŪŠŴŢŪŵŰ ̯͈ͭٝ൞
bxl!(CFHJO|qsjou!jou)81/32+211*~($!ljmmbmm!npvtfe

さすが、日本 GNU AWK ユーザー会会長！ 26 頁ではお疲れ様でした。へぇー、こんな簡単な演算で表れるんですなぁ。しかも逆に int 付けない方が期待通りの結果になるよ。
こりゃ気を付けないと。面白い！੝౲਎ဓ！

ɝűũŤŬ ̯͈ͭٝ൞
qiq!==QIQ`DPEF=@qiq
joj`tfu)#qsfdjtjpo#-2:*<
fdip!spvoe)2111111111111111/112*!/!#]o#<
fdip!spvoe)2111111111111111/236*!/!#]o#<@?
QIQ`DPEF
こりゃ őŉő ̲̞̥̈́͝Ȋまぁ一応シェルスクリプトの体

これ、今号からの新連載「漢の UNIX」のインタビューやった時についでにお願いしてみたんですが、即答でした。さすが FreeBSD のコミッター、殺しているのは FreeBSD のコ
ンソール上をふらつくマウスカーソルのデーモンです。
とりあえず、マウスを使うなってことですか！どうもあを取ってるからいいか（いいのかよ！）。添付コメントによりがとうございました。੝౲਎ဓさせていただきます。

ると、最新 ver.5.3.10 で確認したとのこと。5.3 系だと前者

ɝŖ ɛ ő ɛ͈ٛɛಿ ȪΉϋΏυ;ȂĴĵ पȫ ̯͈ͭٝ൞

の round は成功するけど、後者のは丸められないという、
PHP 界隈を賑わすホットなネタですな。じゃあ੝౲਎ဓね。

ɝɛ Ŕ ɛ ő ɛ͈ɛٛಿ̯͈ͭٝ൞
$"0cjo0cbtib>4/::::::<!y>%2
gps!j!jo!|2//211~!<!ep!!!!!!!y>%)fdip!#%b+%y+)2.%y*#!}!cd!*
epof
fdip!%yȶ՛ൂͅ༢ດ͉̞ͣͭȊȷ

$!nw!0ipnf0zbnbeb!0unq0

また来たな！えーなになに、引数に 0.3, 0.33, 0.333,…と指定していくと結果がでたらめになると。……確かに、収束しそうな漸化式なのに収束する気配がない。まあ、丸めには気をつけろということですな。うむむ、奇跡のඵ౲਎ဓ。
12

USP MAGAZINE vvol.44

むむっ、またまた出たな！身近にたまたま山田さんといΏͿσΑ·ςίΠఱ‫ܔ‬၌
う名前の悪党でもいたんだろうか……。ホームディレクト
リを /tmp に放り込むとは何て残虐なんだ。山田さんはきっと悲しむぞ！（というかログインできない）

取り、fold コマンドを使って商と余りを求めるスクリ
プトを書いてください。ユニークなコード大歓迎！
ඵȂġつ づけて記事からのネタですが、漢の UNIX にて rs とまったく、例え悪党相手でも、ちんじゅうちゃんに言わいうコマンドが出てきました。でもこれ、*BSD 特有のせるべきセリフじゃないよ！これはひどい。せっかく奇跡

コマンドです。そこで今度は、この rs コマンド相当品の二段授与したばかりだというに……。౲պٝਓっ！

をシェルスクリプトで作ってください。

そしてそして、いい回答が来たんですよ。

ɝ‫׺‬ඵ࣢̯͈ͭٝ൞

ただし簡単にするため、下記の簡易仕様とします。
・ターミナルの縦横サイズの自動検出はしなくてよい・データは標準入力からのみ受け取る・-t オプション指定時の動作 ( 行と列を転置 ) とする

DVJ̽̀Ȃ
఑̻‫̞̱͢ڢ̢֑̀͜ۼ‬ȃ

↓

↓

↑

?!tm!.bG

rs のわかり易い例は ls の表示です。ls ってファイルを↑!!

・引数は rows と cols、2 つの数値だけを必ず貰える↓…と並べますね。rs はああいう並び方をさせるコマンドです。詳しくは FreeBSD の man で。
iuuq;00xxx/kq/gsffcte/psh0nbo.kq0tfbsdi/iunm२Ȃġmake マニアの皆さん、お待たせしました！ make コマ
ンドで「普通そんなことしねーよ」という変わったことをやってください。BSD make でも GNU make でも OK。
コメント「Linux JM に載っていないし、今後もどう考えても載りそうにないですが、ダメもとで投稿してみます」

૧σȜσ͈̤౶̵ͣ

いえいえ、これはすばらしい！ JM には載ってないけどシェルスクリプト大喜利ではこれまで、Linux JM に載っ࿂ฒ̷̞̥ͣͭ̈́࠸ߎ̱̞̭͉͂Τ΅ȃ 確かに、こういう操作ているもののみ使ってよいことになっていましたが（まぁミスで楽しい思いできるのは CUI ならではだ！！！本人に面白ければそうでなくても採用しちゃってましたが）、とって必ずしも楽しいかどうかはわからないけど、複数人Open usp Tukubai が 公 開 さ れ た と い う こ と で、ŐűŦůġ

でマジメな作業をしている時であればあるほど周囲に笑いŶŴűġ ŕŶŬŶţŢŪ ΋ζϋΡͬঀ̤̽̀ఴٜ̞ͬ̀͜ ŐŌ という（or 気まずい空気）を提供できるね。२౲਎ဓしちゃおう！

ことにします。ただし、それなりに美しいコードになって

sl コマンドについてご存じない方はここを見るべし。

いないと採用の可能性は低いですから、心してください。

iuuq;00xxx/ulm/jjt/v.uplzp/bd/kq0upzpeb0◇◇◇というところで本日の大喜利はこれにてお開き！読者のOpen usp Tukubai はここ⇒ iuuq;00vfd/vtq.mbc/dpn0ൎࣂ͈̱̥̹

皆さん、投稿してくれた皆さん、ありがとうございました。

お題への回答は、お名前（ペンネーム）、回答したいおൎࣂఱ༡ਬȊȊ

題番号、回答スクリプト、簡単な補足の四点セットで下記

シェルスクリプト大喜利は皆様からの投稿あってこそ成め切りは Ķ ࠮ ĳĹ ඾Ȫ࠮ȫࡿஜ ı শ とします。しかもり立つ企画です。お題に対する回答、お題そのものを広く募集致します。さて、次号のお題はこちら！

ষ͈̤ٝఴ֚Ȃġ本 号の特集１のインタビュー中で fold というコマンドの話が出てきました。恥ずかしながらアタクシは知りませんでした。どうやら指定文字数に達したら改行するコ
マンドのようですね。これ見てふと思いました。

の宛先へ！一人何問でも何個でも回答可です。尚、次回締

その間は何度でも回答の修正を受け付けます。

̤ఴ̱̱̓̓͜௣̩̺̯̽̀Ȝ̞
それからお題も大募集。考えてくれた方にも段位を授与します。自分で出題して回答するのも、今のところ可！

ൎࣂ୶
どちらも投稿先は、nbhAvtq.mbc/dpn です。ͺΡ「fold コマンドで商と余りを求められないかな？」τΑ̦ఢ̱̹ͩͤ͘んでご注意を！本誌をイベントで購入しというわけで、コマンドラインから 2 つの数値を受けた方も、ぜひ参加してくださいね。
13

TechLION
よしおかひろたか（楽天株式会社 /カーネル読書会主宰）が語る

ハッカー中心の企業文化を
日本で根付かせるには
日々移り変わる技術。
その技術の密林を、いかに生き残るべきか。
TechLION は「本物の技術者の生き様」を浮き彫りにするトークライブイベント。
2011 年最後を飾る TechLION vol.5。
大忘年会にふさわしいゲストとして、
楽天株式会社 技術理事のよしおかひろたか氏をお招きした。
「カーネル読書会」をはじめ、数多くの勉強会、コミュニティを主催する
オーガナイザーとしても有名な同氏だが、このような交流会を開催する意義と目的とは何か。
「幸せなプログラマ」が世の中に求められる背景とは。
そして、ハッカーセントリック（中心）文化の先に見据えるものは。
『プロの酔っ払い』を自称するよしおか氏の、呑むほどに冴えわたるトークの一部始終をここに再録する。
（聞き手：法林浩之、まとめ：柏崎吉一）
法林：2011 年最後の TechLION は、大忘年ます。
「ハッカー中心の企業文化とは」「なぜ、最近しますね。しかし、私は、社会を変える会ということで、ここ新宿ロフトプラスワン

それが必要か」「どうやってそれを日本で根人のことだと思います。ザッカーバーグはで開催することになりました。来場者の皆さ付かせるか」です。

Facebook を作って社会を変えました。私も大んも呑んで食べて楽しんでいってください。 （枝豆が到着）

学を卒業した時は、そんなハッカーになりた

今日お招きする方も、すでにかなり出来上

ありがとう！テンションが 125％くらいにかった。行動するエンジニアというか、プロがっているという噂です。

上がりました。それでは、ハッカーとは何か、グラムで何かを変えるのに憧れていました。

よしおか：よろしくお願いします。先につまみというところから。もちろん、コンピュータ

法林：そういう原点があるんですね。

を頼んでもいいですかね。枝豆かなんかあると、を利用する犯罪者のことではありません。辞

よしおか：で、そのハッカーたちの発言を見ビールが進むんで。ではまず、かんぱーい。

書的には、コンピュータ技術に精通した人。

ると、共通する価値観が浮かび上がってく（会場：かんぱーい♪）

もう少しいえば、ちょっとした技巧（ハック）る。その価値観について分かりやすく説いて

よしおか：今日話したいテーマは 3 つありを操る人。ライフハックなんていう言い方をいる本が、スティーブン・レビーという人が14 USP MAGAZINE vol.4

TechLION
1970 年代に書いた「ハッカーズ」という本今もよく言われますよね。

ろうという強い意志がなかった、とまで言です。和訳も出ていますが、ご存知ですか？

よしおか：そうですね。全員のコンセンサス

い切っている。Hadoop を作ったりして、私（会場：ちらほら挙手あり）

を得るのは不可能に近いから、ある程度動く

は Yahoo! ってすごい企業だと思うんだけど。

法林：読んでいる人が結構いますね。

物を作って、
これ面白いぜ、やろうぜ、となる。

ただし、企業というのは、儲かることが前

勉強じゃない。君の価値は
GitHub のコードで決まるんだ

それで社会とコンフリクトが起きたならば調提。でも、儲かり過ぎると、ハッカーセント

停する。あらかじめオプトインしてもらわな

リックになれない、という指摘です。確かに、

よしおか：この本には、ハッカー倫理というい。Google なんて、その最たるものですね。

Yahoo! はインターネットバブルの時、広告ものが紹介されています。たとえばコレ。
「コ

こっちで先に情報をたくさん集めちゃいましで儲かった。その Yahoo! にポールの会社がンピュータへのアクセス、加えて何であれ、た、ですから。

買収される。彼は、Yahoo! の役員にテッキー

世界の機能の仕方について教えてくれるもの

法林：ストリート・ビューみたいに。

な提案をするけど興味を示されなかった。そへのアクセスは無制限かつ全面的でなければ

よしおか：そうそう、コンフリクトが起きてこで違和感を覚えたことがきっかけで、そのならない」。つまり、何でも試そうよ、実験しから折り合いをつける。法務部とかで「これブログを書いたんです。

ちゃおうよ。誰に許可を求めるでもなく、先やると法律に触れるよね」なんて許可をもら

この指摘は鋭いです。タレントトラフィッにやっちゃおうぜ、という考え方です。このうために議論して 3 年も待つような日本でクにも表れている。シリコンバレーを中心に手の発想が暴走すると時に法律の範疇を超えは、新しいものは到底できっこない。

活動するハッカーがどの企業へ転職しているてしまうこともあるんですが、大事なのは、

もちろん、ハッカー的か、そうじゃないか、か、を表すグラフです。2011 年 6 月時点の

非常にラディカルで、自由な思想だというこというのは 0 か 1 かときちっと分かれるもデータですが、Yahoo、Facebook、Google、とです。同著には「権威を信用するな―反中のではなくて、どっちにより軸足を置くか、Microsoft、Apple、LinkedIn の 中 で、 か つ央集権を進めよう」「ハッカーは、学歴、年齢、というスペクトラム、幅があります。一人のての一番人気だった Google を超えるのが人権、地位のようなまやかしの基準ではなく、人間でも、「やっちゃおうよ」と思う時もあFacebook で す。Yahoo! か ら Facebook へ

そのハッキングによって判断されなければな

れば「これやばいよね」と思う時もあるわけ

10.5 人 も 移 っ て い る の に、Facebook か ら

らない」
。つまり、
君の価値は、GitHub に上がっです。

Yahoo! へは 1 人だけ。ちなみに、Yahoo! とているコードやパッチで決まるぞみたいなね。

最高のプログラマは、最高のプログラマと働きたがる

Google における人材流動の比率は、3.5 人

法林：今の時代でいえば、ですね。
よしおか：実際にシリコンバレーにある、
テッ

よしおか：それで、いまのハッカーの価値観

シリコンバレーに限らず、人材はあっちこっキーな企業に応募しようと LinkedIn でレジというのは、何か。伊藤穣一さんの指摘がヒちに動くのが当たり前です。ハッカーたちは、

対 1 人。10 年 前 は Microsoft が 強 か っ た。

メを書く時、GitHub のアカウントがないとントになります。「インターネットの信念体

自己実現できる場所、いま一番ホットでセク

面接すらしてもらえない。私も時々、プログ系とは、誰もが接続する自由。イノベーショ

シーな会社を求めて本能的に動く。今この瞬

ラマ志向の日本の学生から「将来のために、ンする自由。そして誰の許可を得ずともあれ

間すでに Facebook 以外の企業が人気かもし

どんな勉強しておけばいいでしょうか」と訊

これといじくる自由を与えられるべきだ、とれない。ハッカー中心文化のあるシリコンバ

かれます。でも、大事なのは “ 勉強 ” じゃない。

いうものだ」「中央集権的に管理することはレーでは、特定の会社が人を囲い込めない。

それより、コード読もうよ、オープンソース

不可能で、イノベーションはネットワークののコミュニティに出入りしようよ。日本の若「外縁」で小規模なグループによってもたらい人たちが、いい素質を持っているのであれされる」というものです。
伊藤穣一 MIT メディ

ば、ぜひとも世界に羽ばたいてほしい。だか

アラボ社長、いいこと言うね、みたいな。

らこそ、
シリコンバレーの “ 当たり前 ” を知っ

法林：社長じゃなくて、所長ね。

てほしいんです。

よしおか：すみません。カツゼツ悪くて。で、ハッカー倫理には、「芸術や美をコンピュー

次に「Yahoo! に起きてしまったこと」といタで作り出すことは可能である」という一節

うポール・グレアムさんのブログが 2011 年もあります。さらに怖いのは「コンピュータ

夏に結構話題になりました。彼はもともとは人生をよいほうに変えうる」という圧倒的プログラマだったのだけど、その後、ベンな楽観・楽天主義。そして、ラフなコンセン

チャーキャピタリストとして、目利きをしな

サスと動くコード。許可を求めるな、謝罪せがらスタートアップ企業に投資している。そよ。これらが 60 年代のハッカーズが共有しの彼いわく、Yahoo! がハッカーセントリッていた価値観なんです。

クでなくなった大きな理由が、儲かり過ぎて

法林：ラフなコンセンサスと動くコード、はしまったことにあると。ハイテク企業にな

図：「タレントトラフィック」アメリカの大手 IT 企業間の人材流動の様子を表
している。

15

搾取することができないんです。
ところが日本は、いかに安い単価で人を雇い、高く売れるものを作らせるか、という人月単価

中心文化のほうが、自分にとって遥かに心地ありますか？

いいから。ただ建前として組織の偉い人に説

よしおか：2009 年に楽天に入社して以来、明する際には、次のように言っています。

私のミッションはただ一つ、会社が潰れないの国です。シリコンバレーとはまったく違う。

まずは、「共通善ですよ、社会をよくしよ

ようにするため、社内にインターネットの常ソフトウェアって、人が作っているんですう、という価値観をみんなと共有できます

識を伝えることなんです。週 1 回、社長や執よ。その当たり前のことが理解されていないよ」。次に、「企業の競争力につながります

行役員とミーティングする機会があり、意見のが今の日本。インターネットの時代に、ソよ。Google や Facebook に負けちゃいますを交換するのですが、2 年経っても変わらな

フトウェアのビジネスを立ち上げたいならよ、会社がつぶれたら元も子もありません

いのが実感です。楽天がめちゃくちゃ儲かっ

ば、プログラマがその価値を創造しているこ

よ」
。そして、
「ソフトを楽しく安く安全に早ているんですね。

とを、経営者はまずは認めなくちゃいけない。

く作るベストプラクティスをハッカーは知っ

法林：あれ、Yahoo! と同じじゃないですか。

素人を 100 人雇うのと、最高のプログラマていますよ」。これらを 諄 々と説くわけです。

よしおか： 楽天のサイトには、3 万 7 千店がを 1 人、2 人、3 人雇うのとどっちがよいか。

経営者もバカじゃないから話せばたいてい分出店しているのですが、ご夫婦で経営される

少数精鋭がいいに決まっています。大リーグ

かってくれます。だって彼らも儲かるから。

ような小さな店も多い。イカの押し寿司を手でチーム作る時も、イチローとか、トップ

シリコンバレーの経営者は、それを直観的に作りで販売しているようなお店です。つまり、ノッチの選手を雇うのが当たり前じゃないで理解しているのだと思います。もし、理解で3 万 7 千のストーリーがある。そういうサー

すか。最高のプログラマは最高のプログラマ

きないならば、その経営者はバカなんですよ。

ビスを作るのは、幸せなプログラマだと思っと働きたがる。いまたまたま Facebook に人でも、そう決めつける前に、まず我々技術者ているんです。ただ、いまのビジネスモデルがいるのは、そこにハッカーがいるから。そが、経営者にそれはおかしい、そんなことしがうまく行っているので、現状肯定派も多い。

ういう場所を作らないと日本はヤバいよといていたら会社が潰れてしまうから賢い方法であれ、残り 5 分ですか。手元にプレゼン資う話です。

行きましょう、と説明しましょう。潰れるよ

料がまだ 30 ページ分あるんですけど。

良いソフトウェアは
幸せなプログラマが作る

り儲かる方が絶対にいいからです。

法林：質問 1 個で、回答にすごく時間がかかっ

良いソフトウェアやサービスを作るのは誰ちゃうゲストだと分かったので先に進めまよしおか：ポールは「どんな企業にハッカーか。幸せなプログラマである、というのが私す。素敵なプログラマ人生を送るために、ど中心の文化が必要なのか」について言及しての信念です。宗教と言ってもいい。では、幸うやってハッカー中心の企業文化を作っていいます。それは「良いソフトウェアを必要とせなプログラマを作るには、どうしたらよい

けばよいのでしょうか。

するすべての企業」だと。つまり、全業種のか。我々はこれを考えるために今日、ここに企業なんです。トヨタもソニーも、マスコミ集まっています。実現すると、日本人が世界

技術は会社のものではない
社会のものである

だってそうです。つまり、インターネットをに出て Facebook や Twitter、Google と戦え

よしおか：企業文化というのは、外側の人か使っている企業であればどこでも、人材が動るんじゃないかと妄想しています。ここまでらは分からないんです。楽天もそうです。伝いて新しいものを生み出す、ハッカー中心文

で質問ありますか？

えるには、内側の人が自ら、大事だと思って化が必要である、という主張です。

質問者 A：今お勤めの企業（楽天）でハッカーいる文化を話し、継承していかなければなら中心の文化の導入を実践されて、手ごたえはない。現場で起きていること、個人に蓄積さ私もこれには大賛成です。
理由は、ハッカー

れたノウハウなどの暗黙知を、いわば “ 民族誌 ” のように明示的に伝え遺すことが大事なんです。必要なのは、パッションと仲間です。
場は、勉強会、ランチ、飲み会、合宿などいろいろ作り出せます。
組織というのは、何かの目的を持って設立するのですが、肥大化すると、「他の事業部
なにする人ぞ」といったタコつぼ化が起こります。そこで、横串を通し、文化を融合させる必要性が出てきます。そこで有効なのがコミュニティです。
YLUG（横浜 Linux Users Group) のメーリ
ングリストの議論がきっかけで始まったカー
ネ ル 読 書 会 は、99 年 4 月 か ら 数 え て 201116 USP MAGAZINE vol.4

TechLION
年 11 月で 108 回を数えました。98 年末に言語化する作業です。

シリコンバレーから帰国し、Linux のカーネ

オープンイノベーション時代は、社外に価ルを読みたくなり、YLUG のメーリングリス

値の源泉を求めざるを得ない。特に、オープ

トで System Call の実装について質問したこ

ンソースの世界はそうです。会社に閉じころが懐かしい。

もっていてはいけない。コミュニティ的なノ

法林：まじめにカーネル読んでいたんだ。

リが求められるんです。
ハッカー的にいうと、

よしおか：もちろんですよ（笑）
、それ以外

そもそも技術は会社のものではなく、社会のの活動もしていますが。私自身も当初、このもの。社会をよくしていくという価値観が前インターネットの時代に、カーネル読みたい提にある。コミュニティはそのための道具な

奴なんているかな、それを肴に人が集まるのんです。

か、と半信半疑でした。でも、蓋を開けてみるといっぱい集まった。今日みたいに。で、すごいハッカーはいっぱいいる
君は決して孤独じゃない技術を日本語で議論する、Linux Kernel への

質問者 B：社内にハッカー文化を持ち込もう

貢献、他の勉強会とのコラボなど達成できた。

と苦労している一人ですが、何かコツがあり

よしおか：そういう分野ともどんどん交流す

第 100 回にはリーナスもきてくれた。伊藤

ますか？

ればいいと思います。勉強会やコミュニティさんが首謀者だったんだけど、この話をする

よしおか：嘘をつかないことですよね。自分というのは、有為な人材を見つけて「君は孤と後 3 時間くらいかかるから今日はカット

が「これしかない」と信じているから、相手

独じゃないんだよ」と声をかける場所、仲間しますね（笑）。

にも伝わる。小手先のテクニックはバレます。

を作る活動だと思います。日本は元気がない、

こういう勉強会を社内でやるメリットは数それより、「いいから俺が言うんだから間違という発言を時々耳にしますが、そんなことえ切れない。社内で仲間ができたり、黙っていないよ。とにかくこっちが得だよ」「カーはない。東京なんて無茶苦茶面白い。すごい

受付やエレベーターガールとかやってくれる

ネル読書会に行くと、こんな素敵なことがあ

ハッカーもいっぱいいます。でも、世界に打っ

ボランティアが現れたり出会いと発見が多い

るんだよ、あなた知らないでしょ」というこて出ていない人もいる。若い人にもっと外にんです。上司も興味を持ち、社内スポンサーとを延々と言い続ける。最初は『こいつ、う出て行けよ、と背中押しています。もったいになってくれた。皆さん、孤独じゃないんでさんくせーな』と思われるけど気にしちゃいない。TechLION なんて、素敵な場所ですよ。

すよ。絶対にこういう風に絡んでくれる人がけない。

色々なジャンルの人が集まって。「ノンセクいる。外部から集まる人材との交流によっ

私は、自分自身が幸せになりたいと思ってて、組織内部の開発者は刺激を受けます。同います。会社の経営者が、何かビジネスのネ

法林：年齢高くないと分からないギャグだけ

じ会社の人でもあっても知らない人との出会

タを持っていて、それを実現するために「君ど、いまのツイートされそうですね。

ションの “50”」（※）みたいな。

いは、
モチベーションアップにつながります。

の技術が必要なんだ。その技術をで何かをよ し お か： 法 林 さ ん も、Lightweight

新しい技術知識を得ることは副次的な効果で作ってくれよ」とお願いされる方が、安く買

Language イ ベ ン ト は 10 年 や っ て い る でしかありません。誰が何をしているのか、理い叩かれるより 100 倍気持ちいいじゃない

しょ。世界でも例がない。

解することが重要です。対外的にはこうしたですか。たとえ、給料が同じでも、そういう法林：勝手にみんな集まってきてるだけです

勉強会の開催・運営は企業のイメージアップ

経営者と仕事をして貢献したいですよ。

けどね。米国の LL は 2 年で終わりましたしね。

にもつながります。

私自身が幸せになる道だと思うからこそ、

よしおか：こういう人が日本にいることをもちろん、オープンにやる以上、リスクと日本にもハッカー文化を根付かせたい。米国

我々は、もっと誇りに思った方がいい。

コストを考慮します。例えば、情報流出のリ

発、シリコンバレー発のルールに一方的に乗法林：ありがとうございます。僕もかなり才スク。
会場以外への立ち入りを禁じればいい。

せられるのではなく、日本発で一緒に何か新能の無駄遣いと言われていますけど。

会場費もかかるけど、社外でやるのに比べたしい文化を作り出していきたい。酔っ払いのよしおか：最後にもう一度、言います。コミュ

ら格段に安い。勤務時間外にやれば会社に迷

親父が枝豆食いながら、6 割くらいはいいこ

ニティへの積極的な参加、その運営を通じて、

惑かけない。「開催のメリット＞開催のコスと言っているね、とツイートしてくださいね、

個人の持つ暗黙知を仲間と共有し、継承する

ト」（よしおかの勉強会第一の法則）が満足

みなさん！

ことが、幸せな社会への第一歩。海外にも日されていれば、会社も納得します。カーネル

質問者 C：IT 以外の分野においても、たとえ本から情報を発信していきましょう。そんな読書会以外にも、いろんなコミュニティを運ば食だとかアパレルのような領域でも、埋もところで時間かな。今日はありがとうござい

営してきました。皆さんの会社にもいろんなれた人材、才能がいっぱいあって無駄遣いさました。

コミュニティがあると思う。
そこでやるのは、れているのではないかと思います。それにつ参加者が持っている暗黙知を形式知に変え、いて、よしおかさんはどう考えますか？

※ 70 年代に放映されたクイズ番組「クイズグランプリ」で使われたセリフ17

USP MAGAZINE vol.4

ŕŉŖœŔŅłŚġĲĳġłőœŊō

ŕŦŤũōŊŐŏġŷŰŭįķġ

̧̾͂͌ͧ͘͜͠

TechLION vol.6/% ඥ௎ීʂŴᬖ݈ʁ 6CNM)WGUVUࢸᕲ‫עٻ‬Ŵ᧑ബܑ‫܇‬Ŵᚌ̢ԧ
2NCEGρஜங 5WRGT&GNWZGŖŔőġŎłňłśŊŏņġΨΛ·΢ϋΨȜġࢡບอคಎȊ
vol.0

vol.1

vol.2

vol.3

USP MAGAZINE は、世界初！シェルスクリプト技術情報誌。でもご存知のとおり、シェルスクリ
プトはグルー言語。OS 深層から様々な言語・アプリの話まで、さらには技術の先にいるエンジニア達にもスポットを当てます。目指すは、シェルスクリプトとエンジニア達の地位向上！

☆自炊不要☆

発行人 當仲寛哲 発行・発売 有限会社ユニバーサル・シェル・プログラミング研究所〒 105-0003 東京都港区西新橋 3-4-2 SS ビル 3 階 電話 03-3432-1174

ŕłōŌġōŊŗņ

< イベント予告 >定期購読又はバックナンバーをお申込みいただくと、ＰＤＦ版が無料で手に入ります！
ご購入、お申込みはこちらから！⇒

USP 出版

ŖŔő࿻͈ٛġ֥ٛ༡ਬಎ

ŖŏŊřİōŪůŶŹİ ΏͿσΑ·ςίΠ͈‫خ‬ෝ଻ͬޭࡠ́͘೏‫̳̱͘ݥ‬Ȋમ̱̩͉ũŵŵűĻİİŸŸŸįŶŴűŵŰŮŰůŰŬŢŪįūű
・約 300 名の会員が定例会や勉強会で活発に交流をしています。

@usptomoͅͺ·ΓΑȊ
ＵＳＰ友の会

定価 400 円（本体価格 381 円）

ΏͿσ̦́̾̈́ͥܿ੅͈ႊȊ̜͈̈́ͭ́ͤ͜ΈσȜ΋ηνΣΞͻ