Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

September 19 2017

Gzip 操作について覚え書き - golang

この記事を見て「んん?」となったので,覚え書きとして gzip パッケージについて紹介する。

リンク先の記事で挙げられているコードは以下の通り。

func makeGzip(body string) []byte {
  var b bytes.Buffer
  gw := gzip.NewWriter(&b)
  _, err := gw.Write([]byte(body)); if err != nil {
    ...
  }
  gw.Flush()
  gw.Close()
  return b.Bytes()
}

ここで gw.Close() 関数を defer 指定すると返ってくるバイト列が不完全なデータになってしまう,という話。 これは,リンク先の記事で指摘されている通り, gzip.Writer.Close() 関数で gzip のフッタデータをフラッシュしているからである。

Close closes the Writer by flushing any unwritten data to the underlying io.Writer and writing the GZIP footer. It does not close the underlying io.Writer.
via gzip - The Go Programming Language

つまり defer で指定した関数は return 後に駆動するため b.Bytes() 関数を呼び出した時点ではまだ不完全なデータということになる1

ここでちょっと考える。

関数の再利用性を考えるのなら,関数内でバッファを生成してバッファ処理の結果を返すのはあまり筋がよろしくない。 また圧縮データを書き込む先はメモリバッファじゃなくてファイルかもしれない。

ゆえに関数をこう書き換える。

func makeGzip(w io.Writer, content []byte) error {
	zw, err := gzip.NewWriterLevel(w, gzip.BestCompression)
	if err != nil {
		return err
	}
	defer zw.Close()

	if _, err := zw.Write(content); err != nil {
		return err
	}
	return nil
}

つまり圧縮データの書き込む先である Writer を引数で指定するのである。 これなら生成した gzip.Writer.Close() 関数を問題なく defer で指定できる。

これを踏まえて完全なコードは以下のようになる。

package main

import (
	"compress/gzip"
	"fmt"
	"io"
	"os"
)

func makeGzip(w io.Writer, content []byte) error {
	zw, err := gzip.NewWriterLevel(w, gzip.BestCompression)
	if err != nil {
		return err
	}
	defer zw.Close()

	if _, err := zw.Write(content); err != nil {
		return err
	}
	return nil
}

func main() {
	content := []byte("Hello world\n")

	file, err := os.Create("test.txt.gz")
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
		return
	}
	defer file.Close()

	if err := makeGzip(file, content); err != nil {
		fmt.Fprintln(os.Stderr, err)
		return
	}
}

このコードでは圧縮データの書き込む先をファイルにしている。 もちろん書き込み先を bytes.Buffer に置き換えることもできる。 このようにインスタンスの生存期間を意識することで Go 言語の得意なパターンに嵌めることが容易になる。

ところで,特にファイル操作では,生のデータを直接 gzip 圧縮するシチュエーションは少なく,大抵は tar と組み合わせることになる。 そこで tar と組み合わせ,指定フォルダ下の複数ファイルを gzip 圧縮するコードを以下に示しておく。

package main

import (
	"archive/tar"
	"compress/gzip"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"path/filepath"
)

func makeTarGzip(w io.Writer) error {
	zw, err := gzip.NewWriterLevel(w, gzip.BestCompression)
	if err != nil {
		return err
	}
	defer zw.Close()

	tw := tar.NewWriter(zw)
	defer tw.Close()

	filepath.Walk("./", func(path string, info os.FileInfo, err error) error {
		if info.IsDir() {
			return nil
		}
		fmt.Println(path)

		hd, e := tar.FileInfoHeader(info, "")
		if e != nil {
			return e
		}
		content, e := ioutil.ReadFile(path)
		if e != nil {
			return e
		}

		if e := tw.WriteHeader(hd); e != nil {
			return e
		}
		if _, e := tw.Write(content); e != nil {
			return e
		}
		return nil
	})
	if err != nil {
		return err
	}

	return nil
}

func main() {
	file, err := os.Create("test.tar.gz")
	if err != nil {
		fmt.Fprintln(os.Stderr, err)
		return
	}
	defer file.Close()

	if err := makeTarGzip(file); err != nil {
		fmt.Fprintln(os.Stderr, err)
		return
	}
}

ブックマーク

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan Brian W. Kernighan 柴田 芳樹
丸善出版 2016-06-20
評価

スターティングGo言語 (CodeZine BOOKS) Go言語によるWebアプリケーション開発 Kotlinスタートブック -新しいAndroidプログラミング Docker実戦活用ガイド グッド・マス ギークのための数・論理・計算機科学

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。

reviewed by Spiegel on 2016-07-13 (powered by G-Tools)


  1. この挙動から分かるとおり, bytes.Buffer.Bytes() 関数は,バッファの内容をそのまま返しているのではなく,内容のコピーを返している。 [return]

September 18 2017

『シンギュラリティの神話』を読む - remark

(この記事は「AI と哲学?」の続編である)

そろそろ、人工知能の真実を話そう』読んだ。 めっさ疲れた。 疲労感つか徒労感? が半端ない。

原書のタイトルは “Le mythe de la Singularité” であり, Google 先生の力を借りて訳すなら「シンギュラリティの神話」といったところだろうか。 なんで翻訳本ってタイトルのセンスが壊滅してるんだろうねぇ。 まぁ副題が “Faut-il craindre l’intelligence artificielle ?” なので人工知能の話がメインになると言えなくもないけど,実際には人工知能に限る話ではないのだ。

そろそろ、人工知能の真実を話そう』は8章からなる本文と東京大学名誉教授の西垣通さんによる解説で構成されているが,作者の主張は一貫していて

シンギュラリティの提唱者が主張するような断絶が起こることを証明するものは何もない。 おそらく、これからも進歩は加速し続け、その大きな渦でわれわれを飲みこもうとするだろう。 しかし、その現実に目をふさいでしまうのではなく、行動することこそが求められている。
via そろそろ、人工知能の真実を話そう

というものである。

しかし,この主張の前準備のために延々7章を費やしているのである。 ちなみに7章まで読んだ私の感想は「呆れてものが言えない」だった。 あぁ,誤解のないように言っておくと作者のロジックや文章が酷いという意味じゃないからね(翻訳の妥当性は私には分からないけど)。

本当に面白いのは8章と解説なのだが,8章に出てくる用語をきちんと理解するには7章までを読み込んでおかなければならない。 実に面倒くさい構成である。 これだから哲学者ってやつは…

というわけで,以降では『そろそろ、人工知能の真実を話そう』に登場する用語についていくつか紹介してみたいと思う。 これらを踏まえて読めば多少は理解が進むかもしれない。

用語について

シンギュラリティ(Singularity)

タイトルにも出てくる「シンギュラリティ」という言葉だが,これはもともと数学用語らしい。 そののち科学の分野でも使われるようになったようだ。 例えばビッグバンやブラックホールは古典物理学が破綻する「特異点(singularity)」である。

この「シンギュラリティ」の概念を人文科学(言語学や認識論など)の分野に取り入れようという動きが1970年代にあり,それが今回のメインテーマである「シンギュラリティ仮説」の下地になっているように見える。

ちなみに「シンギュラリティ仮説」とは以下のような内容である(「解説」より)。

シンギュラリティ仮説とは、二〇四五年あたりに AI の能力が人間を凌ぎ、機械支配が進んで世界のありさまが大きく変容してしまうという予測だ。
via そろそろ、人工知能の真実を話そう

AI の能力が人間を凌ぐ2045年が「特異点」というわけだ。

そろそろ、人工知能の真実を話そう』を読んでて「この流れって既視感があるなぁ」と思ったが,よく考えたらこれって「ソーカル事件」ぢゃん。

ムーアの法則

いや,もう,いまさらムーアの法則に言及するのは止めてほしいのだが,このムーアの法則が「シンギュラリティ仮説」の屋台骨のひとつになっているというのだから笑ってしまう。

ちなみに元々のムーアの法則は以下の文章から来ている。

部品あたりのコストが最小になるような複雑さは、毎年およそ2倍の割合で増大してきた。短期的には、この増加率が上昇しないまでも、現状を維持することは確実である。 より長期的には、増加率はやや不確実であるとはいえ、少なくとも今後10年間ほぼ一定の率を保てないと信ずべき理由は無い。 すなわち、1975年までには、最小コストで得られる集積回路の部品数は65,000に達するであろう。 私は、それほどにも大規模な回路が1個のウェハー上に構築できるようになると信じている。
via Cramming more components onto integrated circuits (和訳は Wikipedia より)

ムーアの法則はゴードン・ムーア氏が1965年の論文で述べたもので,1975年までの短期的予測を述べたものに過ぎない。 なのに,たまたまその後も半導体部品の集積度がムーアの法則に追従するように進歩していったため,ほとんど御神託のようになってしまった。

しかし,元々のムーアの法則は今世紀早々に破綻しているのだ。 その後は微妙に解釈を変えて如何にもムーアの法則に追従しているように見せかけているが,はっきり言って「粉飾決算」である。

自立と自律

いやぁ。 私は「自立」と「自律」について曖昧にしていたよ。 これからは気をつけよう。

両者の違いは以下のようなものらしい。

自立とは、仮想代理人ソフトウェアであるところのエージェントが自ら動き、誰の力も借りずに意思決定できることを言う。 [...] 一方、自律というのは哲学的な意味であり、自らが行動する際の基準と目的を明確を持ち、自ら規範を作り出すことができることをいう。
via そろそろ、人工知能の真実を話そう

この定義によれば,現在この世界に「自律機械」は存在しないし,現在の延長線上の未来においても「自律機械」は登場しそうもない。

今、世の中で懸念されているのは、自立ではなく自律の方だが、学習能力を与えられ、自らのプログラムを改善できるようになっても、機械が自律することは考えられない。 なぜなら、機械は結局、人間に与えられた理論やルールにのっとって行動することになるからである。
via そろそろ、人工知能の真実を話そう

そのとーり! (by 財津一郎)

「強い人工知能」と「弱い人工知能」

「人工知能(artificial intelligence)」という言葉が登場したのは1955年のことらしい。

若干はSFの世界に影響されていたかもしれないが、マッカーシーらの狙いは謙虚なものだった。 創造主に成りかわるつもりはなく、人間のコピーや超人を創り出そうというのでもない。 彼等の目的は、あくまでも実証的で現実的なものだった。 動物の知能であれ人間の知能であれ、認知機能を機械で模倣することで知能をもっとよく理解したいと考えたのだ。
via そろそろ、人工知能の真実を話そう

しかし,ここでも哲学者共が横槍を入れる。

哲学者が問題にしたのは、実際に研究者やエンジニアが取り組んでいる研究活動というより、その向こうにある哲学的な思想だった。 サールが強い人工知能という言葉を説明の道具として使ったのは、一九八〇年代の初頭だった。 この強い人工知能こそが、先程定義した人工知能の仮像である。 なぜなら、強い人工知能とそもそもの意味での人工知能は、名前の上では似通っていても、目標も方法もまったく異なるものだからだ。 かつて、コンピュータでシミュレーションを行ない、実験によって検証することに基礎を置いた科学の一分野であったものが、今では論証だけに基づいた哲学的アプローチとなっている。
via そろそろ、人工知能の真実を話そう

こうした「脱線」が「シンギュラリティ仮説」の下地になっているのだから,笑うしかない。

ちなみにサールが唱えた「強い人工知能」は「中国語の部屋」に登場する。

中国語の部屋

中国語の部屋」は人工知能を模した思考実験の論文だが,ほぼ同じ機能を持つプログラムは既に存在する。 「人工無脳」(現在はチャットボット(chatbot)などと呼ばれている)である。

人工無脳は相手と擬似的なコミュニケーションを行うが,人工無脳はそのやり取りの意味を知っているわけではない。 入力に対して何らかのアルゴリズムを介し,バックエンドにある語彙を組み合わせて応答を返しているだけである。 これを以って人工無脳がそのやり取りを「理解」していると言えるか,というのが「中国語の部屋」の命題である。

可能性、蓋然性、信憑性

これも『そろそろ、人工知能の真実を話そう』では重要な言葉である。

近頃は、われわれを翻弄するような科学的な言い回しが非常に多く、未来に対して異なるアプローチをとる三つの概念がよく混同されている。すなわち、可能性(possibilité)、蓋然性(probabilité)、信憑性(plausibilité)―― この三つが区別されていないために混乱が生じているのである。
via そろそろ、人工知能の真実を話そう

信憑性についてはもう少し説明が必要だろう。

plausibilité (plausibility) の意味を Google 先生に訊くと「尤度(ゆうど)」と答えが返ってきた。 尤度とは統計学の用語らしい。

ただし,この本では「信憑性(plausibilité)」をそのような意味では使ってなくて,語源に近いニュアンスで

つまりそれは一般受けが良く、多くの人が起こると思っているということだ。だが、実際には可能性も蓋然性も保証されていない。
via そろそろ、人工知能の真実を話そう

という感じで使っている。 要するに「シンギュラリティ仮説」には可能性も蓋然性もなく,ただ根拠のない信憑性のみで強引に推し進められているというわけだ。

仮像(Pseudomorphose)

これまでの記述でも度々出てきたが,「仮像」というのは『そろそろ、人工知能の真実を話そう』では最重要の言葉である。

もともと「仮像」は科学用語で,たとえば鉱物が外形を保ったままで別の鉱物に置換されることを指したりするらしい。 そういや化石も仮像の一種だよね。

この本ではこの「仮像」をもっと広い範囲に拡張する。 たとえば,「強い人工知能」は「弱い人工知能(=そもそもの意味での人工知能)」の仮像である,といった具合にだ。 そして「シンギュラリティ仮説」を巡る言説を,仮像をキーワードにしてグノーシス主義と比較し,「シンギュラリティ仮説」の問題点を炙りだしている。

結局、このシンギュラリティ自身も啓蒙主義におけるヒューマニズムの仮像なのだ。 [...] 啓蒙主義には、ヒューマニズムの名のもとに進歩を限りなく続けていこうという理想がある。 そして、そのためには外の世界へ自らを無限に開放していかなければならない。 だがシンギュラリティは、完璧に作り上げられた結末の中に、未来を閉じ込めてしまうのである。
via そろそろ、人工知能の真実を話そう

正直に言って,この手の意味の拡張はものすごく危険な行為だと思うのだけど,私が気にしてもしょうがないし,まぁいいか。

本当に面白くなるのは第八章から(笑)

そろそろまとめに入ろうか。

そろそろ、人工知能の真実を話そう』の論点は2つあると思う。 ひとつは「シンギュラリティ仮説」に対して無邪気に礼賛なり嫌悪なりする人たちで,もうひとつは「シンギュラリティ仮説」に乗っかる「市場」である。

前者については殆どの日本人は「ネタにマジレス(笑)」としか返せないだろう。 解説で西垣通さんは

AI と言えば、技術的改良と経済効果の話題だけ、あとはせいぜい幼稚な夢物語というのが、情けないことにこの国の常識だ。 本書がそんな常識に衝撃を与えることを切に願う。
via そろそろ、人工知能の真実を話そう

と書かれているが,「シンギュラリティ仮説」を真面目に叫ぶ輩などカルト教祖1 か詐欺師か,さもなくば厨二病患者に決まってる。 いまどき子供向けのラノベでも「ない」わ。

後者に関してこの本では Google を例に挙げている。 確かに Google は「放火魔の消防士2」だが,それは Google に限る話ではなく,そこらじゅうに転がっている。

Google が誠実なのはユーザや消費者に対してではなく「市場」に対してである。 Google が言う “don’t be evil” も市場に対するメッセージであると解釈すれば納得だろう。

例えば Google は「スノーデン」以前において「完全なプライバシーは存在しない」と公言し「Google はプライバシーに敵対的」と大きな批判を浴びていた。 それが「スノーデン」以後は手のひらを返すようにプライバシー擁護を謳っている。

この事実だけでも Google という企業の本質が垣間見えるだろう。 そしてそれは Google に限った話ではなく Amazon だって Facebook だって Microsoft だって Tesla だって同じ穴の狢なのである。

そして「賢い企業」はどちらか一方に bet することはない。 掛けで必ず勝つには胴元になることである。

自社の計算資源を「クラウド」として切り売りする企業にとって「「シンギュラリティ仮説」に対して無邪気に礼賛なり嫌悪なりする人たち」は大事なお客様である。 とくに Google は AI の計算資源すら対象にしているのである。 ならば,「放火魔の消防士」と呼ばれようが,「シンギュラリティ仮説」に群がる全ての人達を顧客として迎い入れるのが「正解」である。

この点において日本の「IT 業界」は, Google などと比較すれば,全くもって稚拙であると言わざるをえない。 もし『そろそろ、人工知能の真実を話そう』が日本の読者になにがしかの衝撃を与えるとするなら,自らの稚拙さの方だろう。

結論: シンギュラリティを口にする連中と哲学者は信用してはいけない

ブックマーク

参考図書

photo
そろそろ、人工知能の真実を話そう (早川書房)
ジャン=ガブリエル ガナシア 小林 重裕・他
早川書房 2017-05-25
評価

なぜ人工知能は人と会話ができるのか (マイナビ新書) AIが神になる日 人工知能はどのようにして 「名人」を超えたのか?―――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質 AIが人間を殺す日 車、医療、兵器に組み込まれる人工知能 (集英社新書) 9プリンシプルズ 加速する未来で勝ち残るために (早川書房) 隷属なき道 AIとの競争に勝つ ベーシックインカムと一日三時間労働 (文春e-book) アマゾノミクス データ・サイエンティストはこう考える (文春e-book) インダストリーX.0 ペンタゴンの頭脳 世界を動かす軍事科学機関DARPA 理系脳で考える AI時代に生き残る人の条件 (朝日新書)

シンギュラリティは起きない。

reviewed by Spiegel on 2017-09-18 (powered by G-Tools)

photo
社会は情報化の夢を見る---[新世紀版]ノイマンの夢・近代の欲望 (河出文庫)
佐藤 俊樹
河出書房新社 2010-09-03
評価

ウェブ社会の思想―“遍在する私”をどう生きるか (NHKブックス) 人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) Free Culture 現代社会の理論―情報化・消費化社会の現在と未来 (岩波新書) 仕事と家族 - 日本はなぜ働きづらく、産みにくいのか (中公新書)

1996年に出版された『ノイマンの夢・近代の欲望―情報化社会を解体する』の改訂新装版。しかし内容はこれまでと変わりなく,繰り返し語られる技術決定論を前提とする安易な未来予測を「情報化」社会論だとして批判する。

reviewed by Spiegel on 2015-09-15 (powered by G-Tools)

photo
万物理論 (創元SF文庫)
グレッグ・イーガン 山岸 真
東京創元社 2004-10-28
評価

宇宙消失 (創元SF文庫) ディアスポラ (ハヤカワ文庫 SF) 祈りの海 (ハヤカワ文庫SF) 順列都市〈下〉 (ハヤカワ文庫SF) プランク・ダイヴ (ハヤカワ文庫SF) 順列都市〈上〉 (ハヤカワ文庫SF) ひとりっ子 (ハヤカワ文庫SF) 六本指のゴルトベルク (中公文庫) しあわせの理由 (ハヤカワ文庫SF) 文字逍遥 (平凡社ライブラリー)

グレッグ・イーガンの名作。これも singularity を巡る物語だな。

reviewed by Spiegel on 2017-09-18 (powered by G-Tools)


  1. 私は「シンギュラリティ仮説」とグノーシス主義との比較部分を読んで,かつてのオウム真理教を連想してしまった。オウム真理教は医者や研究者などのいわゆる「理系」の信者が多かったことも特徴で(それ故にサリンを使ったテロにまで走ってしまうのだが),そういう意味でも類似性はあるのかな,などと思ったり。 [return]
  2. 日本語で言えば「マッチポンプ」。今まで知らなかったのだが「マッチポンプ」って和製外来語なんだねぇ。 [return]

September 17 2017

「荒れた農場の掘ったて小屋でがなりたてる、いかさま師の集団」へ - remark

ときには著作権法すら捻じ曲げ,あらゆる手段を以って「独占」し続けた作り手側がが今更「失われていくデジタル作品をどうアーカイブすべきか?」だと? 笑かすなよ。 やりたけりゃ Google 先生か国会図書館にでも頭を下げろ!1

ちうわけで,以前に本家サイトで書いた記事を思い出したので再掲載してみる。 これはホルヘ・ルイス・ボルヘスの『砂の本』に収録されている短編「会議」の読書感想文である。 ネタバレに注意 …しなくても大丈夫かな?


ある人物の死によりメンバの最後の生き残りとなってしまった男が「会議(コングレソ)」と呼ばれる結社について語りだす。 「会議」の議長(スポンサーでもある)は「あらゆる国のあらゆる人間を代表する世界会議」を組織することを思い立ち,その準備をすすめていた。 「会議」の方向性が怪しくなってきたのは,世界中のあらゆる書物や書簡等の収集を(「会議」にはそれが不可欠であるという理由で)はじめてからだ。 そして資金が完全に底をついたときに議長はようやく悟ることになる。

わしらの企てた計画は、とてつもなく広大なもので、 ――いまのわしにはそれがわかるが―― 全世界を包含するほかないことになる。それは、荒れた農場の掘ったて小屋でがなりたてる、いかさま師の集団じゃない。世界会議は、世界の最初の瞬間と同時にはじまって、わしらが塵に帰ったときもなおつづいてゆくのだ。
via 『砂の本』より「会議」

20年前の私ならこの文章に哲学っぽい思いを馳せるのだろが,今の私は「荒れた農場の掘ったて小屋でがなりたてる、いかさま師の集団」についてある具体的な対象を連想する。 それは Google だ。 Google は「世界中のあらゆる情報をグラフ化」しようと目論む組織2 で,そのための莫大な資金を持っている。 彼等が「会議」の中核的な位置を占めるのか,それともただの「いかさま師の集団」なのか,それは多分これから分かる。

ブックマーク

参考図書

photo
砂の本 (集英社文庫)
ホルヘ・ルイス ボルヘス Jorge Luis Borges
集英社 2011-06-28
評価

伝奇集 (岩波文庫) 創造者 (岩波文庫) 七つの夜 (岩波文庫) アレフ (岩波文庫) 幻獣辞典 (河出文庫) エル・アレフ (平凡社ライブラリー) ブロディーの報告書 (岩波文庫) エレンディラ (ちくま文庫) 詩という仕事について (岩波文庫) 不死の人 (白水Uブックス―海外小説の誘惑)

ボルヘスの作品群で個人的に一番好きな作品。13編の独立した短編をしりとりのように繋げて全体で輪を構成している。

reviewed by Spiegel on 2017-09-17 (powered by G-Tools)


  1. Google Books の Google Print 計画が始まったのは2003年12月である。つまり,今更アーカイブがどうとか10年以上も周回遅れの話である。当時はデジタル・アーカイブやそれに伴う著作権処理について世界中の「作家」を巻き込んでの大論争と大訴訟が起こったが日本ではまるで認知されてないのかね。あるいはかつて「私的録音録画補償金制度」に関連して議論された,特定の DRM や再生機器に依存することの危険性について結局は誰も何も気にしていなかったということなのか。記録や記憶は(ものによってタイムスケールの違いはあれ)必ず風化する。君たちは風化して「なくなった」ものを「なかったことにする」つもりなのか。つくづく日本は「クール」じゃないよなぁ。 [return]
  2. 今では AI 技術すら駆使して目論見の実現に邁進している。 [return]

September 14 2017

Bluetooth 実装の脆弱性に関する覚え書き - remark

脆弱性の内容

Armis - BlueBorne Explained - YouTube

各 Bluetooth 実装に対して複数の脆弱性が存在する。

  • バッファオーバーフロー(CVE-2017-1000251): Linux カーネルの BlueZ モジュールに含まれる L2CAP の実装に脆弱性がある
  • 領域外メモリ参照(CVE-2017-1000250): Linux 向けの BlueZ モジュールには、SDP(Service Discovery Protocol) の実装に脆弱性がある
  • 領域外読み込み(CVE-2017-0785): Android の Bluetooth ソフトウェア・スタックにおいて SDP の実装に脆弱性がある
  • ヒープベースのバッファオーバーフロー(CVE-2017-0781): Android における BNEP (Bluetooth Network Encapsulation Protocol) の実装では、誤ったバッファサイズが memcpy 関数に渡される
  • 整数アンダーフロー(CVE-2017-0782): Android における BNEP の実装では、bnep_process_control_packet 関数において減算処理前のサイズチェックが適切に行われない脆弱性がある
  • ヒープベースのバッファオーバーフロー(CVE-2017-14315): Apple の Bluetooth Low-Energy Audio Protocol (LEAP) 実装では、受信したデータの CID を適切に検証しない問題がある
  • 中間者攻撃(CVE-2017-0783, CVE-2017-8628): Android および Windows における Bluetooth の PAN プロファイル実装には、認証回避の脆弱性がある

これは酷いな(笑)

今回の脆弱性が厄介なのは攻撃者の機器とペアリングしていない状態でも機器が乗っ取られる可能性があるということだ。

Blueborne - Android Take Over Demo - YouTube

影響度(CVSS)

CVSSv2 基本評価値 7.9 (AV:A/AC:M/Au:N/C:C/I:C/A:C)

基本評価基準 評価値 攻撃元区分(AV) 隣接ネットワーク(A) 攻撃条件の複雑さ(AC) 中(M) 攻撃前の認証要否(Au) 不要(N) 情報漏えいの可能性(機密性への影響, C) 全面的(C) 情報改ざんの可能性(完全性への影響, I) 全面的(C) 業務停止の可能性(可用性への影響, A) 全面的(C)

CVSS については解説ページを参照のこと。

影響を受ける製品

  • Android : セキュリティパッチ レベル 2017年9月を適用していない Android
  • Windows : 2017年9月マイクロソフトセキュリティ更新プログラムを適用していない Windows Vista 以降の Windows
  • Linux : Kernel 3.3-rc1 以降のバージョン, BlueZ すべてのバージョン
  • iOS, tvOS : iOS 9.3.5 およびそれ以前、AppleTV tvOS 7.2.2 およびそれ以前

ただし,上記以外の機器でも脆弱性が存在する可能性がある。 Vulnerability Note Database の情報に常に留意すること。

対策・回避策

修正版を受けられない場合は Bluetooth を無効にすることで回避できる。 特に古い Android 機器はベンダからのサポートを受けられない可能性が高いため Bluetooth を無効にすることを強く推奨する。

AI と哲学? - remark

この記事は2017年7月頃に Facebook の TL に書き散らしてた記事を再構成したものです。

ちなみに『そろそろ、人工知能の真実を話そう』は読んでません。 正直,哲学とかお腹いっぱいなのでもういいって感じですが,この本は面白そうなので,時間ができたら読んでもいいかもしれない。

もし読んで考えが変わったら読書感想文でも書くかな(笑)


AI の議論には2つの方向性がある。 ひとつは「人を超える知性」の創造で,もうひとつは「スマートな機械」の台頭だ。

前者はいわゆる「近代の夢」であり,それこそ「フランケンシュタインの怪物」から「鉄腕アトム」まで人々が夢(悪夢を含む)見てきたことなのだ。 しかし,これに関して人類は挫折し続けている。 現在においてもまだ無理だろう。 また「人を超える知性」の創造は大抵の宗教で禁忌とされている(何故ならそれは人ではなく神の御業だから)。 AI 恐怖症患者が抱く嫌悪感の要因(のひとつ)はこの辺にあると思う。

後者は「情報化社会」の先に必然的に訪れるものだ。 これはかつて『第三の波』で予言され今のところ概ねその通りに進行している。 それは一方で「労働者」という名で美化された(私を含む)奴隷達の解放であり,もう一方で私たちの多くが自らの存在理由を見失う暗い未来でもある。 情報化社会は「労働者」の存在が資本主義の必要条件ではないと示しつつあるからだ。

チャールズ・チャップリン ~ モダン・タイムス | Modern Times 1936年 ‧ ドラマ/コメディ - YouTube

AI を巡る議論では両者は明確に区別する必要がある。 しかし,「人を超える知性」であれ「スマートな機械」であれ,哲学はそれを記述できない。 哲学どころか「人を逸脱する存在」を真面目に議論できる(宗教ではなく)学問は古今東西存在しない。 既存のどんな学問に当てはめようとしても全て机上の空論に終わるだろう。

問題はそこなのである。

photo
そろそろ、人工知能の真実を話そう (早川書房)
ジャン=ガブリエル ガナシア 小林 重裕・他
早川書房 2017-05-25

なぜ人工知能は人と会話ができるのか (マイナビ新書) AIが神になる日 人工知能はどのようにして 「名人」を超えたのか?―――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質 9プリンシプルズ 加速する未来で勝ち残るために (早川書房) 隷属なき道 AIとの競争に勝つ ベーシックインカムと一日三時間労働 (文春e-book) アマゾノミクス データ・サイエンティストはこう考える (文春e-book) AIが人間を殺す日 車、医療、兵器に組み込まれる人工知能 (集英社新書) ペンタゴンの頭脳 世界を動かす軍事科学機関DARPA 次世代リーダーを育て、新規事業を生み出す〈リクルート流〉イノベーション研修全技法 理系脳で考える AI時代に生き残る人の条件 (朝日新書)

読んでない。時間ができたら読んでもいいかもしれない。

reviewed by Spiegel on 2017-09-14 (powered by G-Tools)

photo
社会は情報化の夢を見る---[新世紀版]ノイマンの夢・近代の欲望 (河出文庫)
佐藤 俊樹
河出書房新社 2010-09-03
評価

ウェブ社会の思想―“遍在する私”をどう生きるか (NHKブックス) 人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) Free Culture 現代社会の理論―情報化・消費化社会の現在と未来 (岩波新書) 仕事と家族 - 日本はなぜ働きづらく、産みにくいのか (中公新書)

1996年に出版された『ノイマンの夢・近代の欲望―情報化社会を解体する』の改訂新装版。しかし内容はこれまでと変わりなく,繰り返し語られる技術決定論を前提とする安易な未来予測を「情報化」社会論だとして批判する。

reviewed by Spiegel on 2015-09-15 (powered by G-Tools)

Go 1.9 と Type Alias - golang

遅ればせながらの記事で申し訳ないが Go 1.9 がリリースされた。

詳しい内容はリリースノートを見ていただくとして,今回の目玉は type alias 機能だろう。

まず type キーワードを使った簡単な足し算を書いてみる。

package main

import (
	"fmt"
)

type Num1 int

func (n1 Num1) Add(n2 Num1) Num1 {
	return n1 + n2
}

func main() {
	n1 := Num1(1)
	n2 := Num1(2)
	fmt.Println(n1.Add(n2))
}

実行結果は 3 と出力されるはずである。 ここで “type Num2 Num1” と記述を追加し,この型を使って足し算を行ってみる。

package main

import (
	"fmt"
)

type Num1 int

func (n1 Num1) Add(n2 Num1) Num1 {
	return n1 + n2
}

type Num2 Num1

func main() {
	n1 := Num2(1)
	n2 := Num2(2)
	fmt.Println(n1.Add(n2))
}

これを実行しようとすると

n1.Add undefined (type Num2 has no field or method Add)

とコンパイルエラーになる。 何故か。 Num1Num2 は異なる型だからだ。 型 Num1 に紐付いている関数 Add() は,型 Num2 には紐付かない。 継承されないわけだ(Num1 へキャストはできる)。

では今度は “type Num2 = Num1” と記述を変更してみる。

package main

import (
	"fmt"
)

type Num1 int

func (n1 Num1) Add(n2 Num1) Num1 {
	return n1 + n2
}

type Num2 = Num1

func main() {
	n1 := Num2(1)
	n2 := Num2(2)
	fmt.Println(n1.Add(n2))
}

今度はコンパイルエラーにならず 3 と出力される。 この “type Num2 = Num1” という構文が type alias を指し,この記述によって Num1Num2全く同じ型 として扱われる1

なんでこんな妙ちきりんな言語仕様が追加されたかというと,実はこれ,リファクタリングの為に設けられたのである。

Go now supports type aliases to support gradual code repair while moving a type between packages. The type alias design document and an article on refactoring cover the problem in detail.
via Go 1.9 Release Notes

もともと Go 言語はリファクタリングを厚遇する言語と言える。 たとえば duck typing などはその最たる例だろう。

まぁ,あまり積極的に使う機能ではないかもしれないが,こういうこともできると覚えておくといいだろう。

ブックマーク

参考図書

photo
Java言語で学ぶリファクタリング入門
結城 浩
SBクリエイティブ 2007-01-26
評価

増補改訂版 Java言語で学ぶデザインパターン入門 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 数学ガールの秘密ノート/積分を見つめて プログラマの数学 Java言語プログラミングレッスン 第3版(下) オブジェクト指向を始めよう JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ impress top gearシリーズ プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則 Java言語プログラミングレッスン 第3版(上) Java言語を始めよう 実践Javaコーディング作法 数学ガールの秘密ノート/微分を追いかけて

結城浩さんによる「リファクタリング本」。意外に Java 以外でも使える優れもの。

reviewed by Spiegel on 2017-09-14 (powered by G-Tools)


  1. 全く同じ型なので継承関係はなく,別名定義した型に独自に関数を紐付けることはできない。ちなみに別パッケージの型に対しても別名定義が可能である: type Time = time.Time [return]

September 13 2017

GnuPG 2.2.0 がリリース(脆弱性の修正あり) - remark

個人的に色々あって更新が滞ってます。 ゴメン,ペコン。

バージョン 2.2 は stable 版 2.0.x の置き換えになるようだ。 なお 2.0.x は今年いっぱいでサポートを終了する。

This release marks the start of a new long term support series to replace the 2.0.x series which will reach end-of-life on 2017-12-31.
via GnuPG 2.2.0 released

今までのように modarn 版と stable 版に分けて開発を進めるのかどうかについては記述がないので分からない。 2.1.23 からの変更点は以下の通り。

  • gpg: Reverted change done in 2.1.23 so that --no-auto-key-retrieve is again the default.
  • Fixed a few minor bugs.

ところで GnuPG が内部で使っている Libgcrypt に脆弱性が発見されている。

(スター・ウォーズかよ!)

We demonstrate the effect of this vulnerability on three software applications---encrypted git, email and messaging---that use Libgcrypt. In each case, we show how to craft malicious OpenPGP files that use the Curve25519 point of order 4 as a chosen ciphertext to the ECDH encryption scheme. We find that the resulting interactions of the point at infinity, order-2, and order-4 elements in the Montgomery ladder scalar-by-point multiplication routine create side channel leakage that allows us to recover the private key in as few as 11 attempts to access such malicious files.
via A Microarchitectural Side Channel Attack on Several Real-World Applications of Curve25519

たとえば暗号化メールを使った攻撃では

For an attack on encrypted email we use the Thunderbird plugin Enigmail. As Genkin et al. observe, Enigmail automatically decrypts incoming emails by passing them to GnuPG, which uses Libgcrypt as its cryptographic engine. To attack Enigmail, we inject an element of order 4 into Libgcrypt we send the victim a PGP/MIME-encoded e-mail, with the element of order-4 as the ciphertext.
via A Microarchitectural Side Channel Attack on Several Real-World Applications of Curve25519

といったシナリオが挙げられている。

この問題を軽減(mitigate)したバージョン 1.8.1 および 1.7.9 がリリースされている。 なお Windows 用の GnuPG 2.2.0 バイナリには Libgcrypt 1.8.1 が同梱されている。

影響度は以下の通り。

CVSSv3 基本評価値 7.5 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)

基本評価基準 評価値 攻撃元区分(AV) ネットワーク(N) 攻撃条件の複雑さ(AC) 低(L) 必要な特権レベル(PR) 不要(N) ユーザ関与レベル(UI) 不要(N) スコープ(S) 変更なし(U) 情報漏えいの可能性(機密性への影響, C) 高(H) 情報改ざんの可能性(完全性への影響, I) なし(N) 業務停止の可能性(可用性への影響, A) なし(N)

一般にサイドチャネル攻撃はあまり影響度が高くないが NVD はかなり高めに見積もっているようである1

CVSS については解説ページを参照のこと。

インストールが上手くいけば以下のようになる。

$ gpg --version
gpg (GnuPG) 2.2.0
libgcrypt 1.8.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ********
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
    CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2

アップデートは計画的に。


  1. 一方, Red Hat の評価CVSS:3.0/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N で基本評価値 4.4 になっている。ただし論文を読むと攻撃シナリオとして Enigmail, Git-crypt, Pidgin-OpenPGP を使った方法が挙げられているので, NVD の評価のほうが近いかも。 [return]

August 19 2017

SCM ツールの脆弱性 - remark

がっつり見落としてました。

脆弱性の内容

同社のブログ記事によると、「Git LFS」の旧バージョンにはURLの解釈処理に問題があり、たとえば“ssh://-oProxyCommand=some-command”というURLの場合、ホスト名を“-o ProxyCommand=some-command”と解釈してしまうため、“some-command”が実行されてしまう。同様の問題は、「Git」「Mercurial」「Subversion」にも存在する。
via 「Git」「Mercurial」「Subversion」などにコマンドインジェクションの脆弱性

影響度(CVSS)

CVSSv3 基本評価値 6.3 (CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L)

基本評価基準 評価値 攻撃元区分(AV) ネットワーク(N) 攻撃条件の複雑さ(AC) 低(L) 必要な特権レベル(PR) 不要(N) ユーザ関与レベル(UI) 要(R) スコープ(S) 変更なし(U) 情報漏えいの可能性(機密性への影響, C) 低(L) 情報改ざんの可能性(完全性への影響, I) 低(L) 業務停止の可能性(可用性への影響, A) 低(L)

CVSS については解説ページを参照のこと。

影響を受ける製品

  • Git v2.7.6, v2.8.6, v2.9.5, v2.10.4, v2.11.3, v2.12.4, and v2.13.5
  • Mercurial 4.3 以前
  • Subversion
    • 1.0.0 through 1.8.18
    • 1.9.0 through 1.9.6
    • 1.10.0-alpha3
  • GitLab (CVE-2017-12426 を含む)
    • 7.9.0 through 8.17.7
    • 9.0.0 through 9.0.12
    • 9.1.0 through 9.1.9
    • 9.2.0 through 9.2.9
    • 9.3.0 through 9.3.9
    • 9.4.0 through 9.4.3

対策・回避策

改修されたバージョンが公開されている。 更新作業は計画的に。

  • Git v2.14.1
  • Mercurial 4.3.1
  • Subversion 1.8.19 and 1.9.7
  • GitLab 8.17.8, 9.0.13, 9.1.10, 9.2.10, 9.3.10, and 9.4.4

ブックマーク

August 10 2017

GnuPG 2.1.23 がリリース - remark

GnuPG 2.1.23 がリリースされた。 セキュリティ・アップデートはなし。

修正および変更点は以下の通り。

  • gpg: “gpg” is now installed as “gpg” and not anymore as “gpg2”. If needed, the new configure option --enable-gpg-is-gpg2 can be used to revert this.
  • gpg: Options --auto-key-retrieve and --auto-key-locate “local,wkd” are now used by default. Note: this enables keyserver and Web Key Directory operators to notice when a signature from a locally non-available key is being verified for the first time or when you intend to encrypt to a mail address without having the key locally. This new behaviour will eventually make key discovery much easier and mostly automatic. Disable this by adding no-auto-key-retrieve auto-key-locate local to your gpg.conf.
  • agent: Option --no-grab is now the default. The new option --grab allows to revert this.
  • gpg: New import option “show-only”.
  • gpg: New option --disable-dirmngr to entirely disable network access for gpg.
  • gpg,gpgsm: Tweaked DE-VS compliance behaviour.
  • New configure flag --enable-all-tests to run more extensive tests during “make check”.
  • gpgsm: The keygrip is now always printed in colon mode as documented in the man page.
  • Fixed connection timeout problem under Windows.

今回の目玉はやっぱり --enable-gpg-is-gpg2 オプションかな。 でもこのオプションの有無で違いが分からないんだよなぁ。 私の環境は classic 版からの以降なので,そのせいかな?

インストールが上手くいけば以下のようになる。

$ gpg --version
gpg (GnuPG) 2.1.23
libgcrypt 1.8.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ********
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
    CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2

July 31 2017

GnuPG 2.1.22 リリースと寄付の募集 - remark

溜まりに溜まってた更新情報をまとめて挙げておく。

GnuPG 2.1.21 リリース時にアナウンスされた注意事項は以下の通り。

This release fixes a keyring corruption bug introduced with last release. Users of 2.1.20, who are using the old "pubring.gpg" file to store their public keys, are asked to update to this new release.
via GnuPG 2.1.21 released

また Libgcrypt 1.7.8 で “Sliding right into disaster” 脆弱性を軽減する修正が行われている。

Note that this side-channel attack requires that the attacker can run arbitrary software on the hardware where the private RSA key is used. Allowing execute access to a box with private keys should be considered as a game over condition, anyway. Thus in practice there are easier ways to access the private keys than to mount this side-channel attack. However, on boxes with virtual machines this attack may be used by one VM to steal private keys from another VM.
via Libgcrypt 1.7.8 released to fix CVE-2017-7526
It is well known that constant-time implementations of modular exponentiation cannot use sliding windows. However, software libraries such as Libgcrypt, used by GnuPG, continue to use sliding windows. It is widely believed that, even if the complete pattern of squarings and multiplications is observed through a side-channel attack, the number of exponent bits leaked is not sufficient to carry out a full key-recovery attack against RSA. Specifically, 4-bit sliding windows leak only 40% of the bits, and 5-bit sliding windows leak only 33% of the bits.
via Sliding right into disaster: Left-to-right sliding windows leak

影響度は以下の通り。

CVE-2017-7526 - Red Hat Customer Portal” より

CVSSv3 基本評価値 6.1 (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N)

基本評価基準 評価値 攻撃元区分(AV) ネットワーク(N) 攻撃条件の複雑さ(AC) 高(H) 必要な特権レベル(PR) 不要(N) ユーザ関与レベル(UI) 要(R) スコープ(S) 変更あり(C) 情報漏えいの可能性(機密性への影響, C) 高(H) 情報改ざんの可能性(完全性への影響, I) なし(N) 業務停止の可能性(可用性への影響, A) なし(N)

CVSS については解説ページを参照のこと。

論文では 1024 bits RSA 鍵の解読を行っている。 今時 1024 bits RSA 鍵で運用している人はいないと思うが,もしまだの方がいたらこの機会に 2048 bits 以上にアップデートすることをお勧めする。 もしくは(可能であれば)楕円暗号に切り替えるか。

その他の修正等については各記事を参照のこと。 最新版をインストールすると以下のようになる。

$ gpg --version
gpg (GnuPG) 2.1.22
libgcrypt 1.8.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ********
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
    CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2

余談だが GnuPG では寄付を募っている。

GnuPG Fundraising Rally - YouTube

目標は15,000ユーロ/月。 この記事を書いている時点で目標の3分の1程度のペースか。 興味のある方は是非。

私も寄付したいけど,今は財政状況ががが。

July 30 2017

「読書感想文は、ただちに「面白かった本のお勧め文」に名目を変えるべき」ではない - remark

はいはい。 小学生時代に学習参考書で読書感想文を書いて市のコンクールで優良賞をもらった私が通りますよ1

結城浩さんの tweet で見かけたので。

なんでも Wikipedia には

例えば、課題図書の内容について「あまり面白くない」「陳腐なストーリーである」「興味が湧かない」などの否定的な感想や客観的な分析などは悪い評価を受けやすく、「興味深く面白い」「とても共感した」「これまでの考えを反省した」などの肯定的、主観的または道徳的な意見・感想は良い評価を受けやすい。このような読書感想文の評価基準は青少年読書感想文全国コンクールにおいて好成績を収めた読書感想文からも読み取れる。
via 読書感想文 - Wikipedia

などと書いてあって,それに対し

「この本に出会ってこんなに成長した私」よりも、「この本面白いぜ!!ほら!!ここが!!!こことか特に!!!!」の方がずっと書きやすいし、読んでいても面白いし、更に読書体験をつなげることが出来る、と少なくとも私は思うんですが、どうなんでしょう。
via 読書感想文は、ただちに「面白かった本のお勧め文」に名目を変えるべきだと思う

と返されている。

まぁ少子化の時代とはいえそれなりに沢山の子どもがいるので,中には息をするように上手い文章を書いたりできる奴とかいるわけだ。 そんで,コンクールってのはそういった上手い奴が集まって評点されるので,その中で評価者にとって耳障りのいい文章が高評価を得るのは寧ろ当然といえる。 権威はあっても意味がないものの典型だよね。 もしくは権威主義的? でも,だからといって最初から「耳障りのいい文章」を目指して書くのは本末転倒だと思うのですよ。

小学生にとって作文というのは自身の思考や感情を文章として(「面白い」とかいった主観表現ではなく)客観的・分析的・内省的に表現する訓練機会である。 これは思考が柔軟な子どものうちしかできないし,やらないと思春期以降に薄っぺらい人間になってしまう。 そして訓練なのだから上手い下手なんか比較的どうでもいいことと言える。 まぁ上手い文章が欲しいだけなら上手い文章を書ける奴に書かせればいいので,そういう取引も… 勉強のうちと言えるかもしれないが。

読書感想文を書くときのポイントはひとつしかない。

  1. それで「私」という読者はどう思ったか

である。 だって「感想」なんだから。

登場人物が何を言ったか思ったかとか,作者は何を意図してたかとか,原稿用紙の升目を埋める程度の意味しかない。 そもそも登場人物がどうたらとかそんな小手先のテクニックは小説やエッセイのときしか使えないぢゃんか。 小学生はビジネス書や技術解説書や論文等を読まないとでも思っているのか。 図鑑や事典の感想は書いちゃいけないのか。

どの本を読んでも何も思わなかった? じゃあそれを書けばいい。 「目が滑って文章が全く頭に入りませんでした」とか「読み始めて5分で眠ってしまいました」とか書けばいい。 何ならその本がいかにつまらなかったか延々と dis ってもいい(つまらないことをつまらないと書くこと程つまらないものはないけどね)。 それもその本を読んだ感想である。 クラス担任は怒るかもしれないが無視だ無視。

面白いと思った本を薦める文章を書く。 それは悪いことではない。 でも「感想」とは違う。

そもそも他者に薦めるという行為は他者とのコミュニケーションの中で相手との心理的距離を測りながら行うものだ。 それなら読書感想文ではなくディベートなどのディスカッションの場で養うべきものである。 不特定多数に対する推薦文とか子どもにはハードルが高すぎるだろう。 そういう行為自体が黒歴史になりかねん。

読書ってのは,その本を読んだだけでは完結しない。 課題図書を読ませて,読書感想文を書かせて,そこで試合終了,ならその読書は失敗である。 たとえその読書感想文がどれだけの絶賛を浴びようともだ。

よい読書ってのは常に次の行動への「起点(trigger)」となる。 たとえば,学習参考書を読んで通学路にある田んぼの稲の生育に興味を持つ子がいるかもしれない。 たとえば,郷土史料を読んで自分が住む土地の歴史を調べはじめる子がいるかもしれない。 たとえば,サッカー漫画を読んでいつかワールドカップに出場したいと願う子がいるかもしれない。 たとえば,抜群に面白い小説を読んで同じ作者の別作品を漁ったり同ジャンルの別作者の作品を読みたくなって挙句の果てに図書館に入り浸りになる子もいたりするかもしれない。

そういうのを全部ひっくるめて読書体験なのであり,その瞬間を切り取るのが読書感想文であり,そこに込められた想いをきちんと汲み取ってあげるのが大人の役割である。 私はそう思っている。

「読書感想文は読書体験の微分である」かな(笑)

ブックマーク

参考図書

photo
恋を積分すると愛 (角川文庫)
中村 航
KADOKAWA / 角川書店 2017-07-25

Facebook の友人が紹介してた。タイトルが面白そうなので読むかもしれない(笑)

reviewed by Spiegel on 2017-07-30 (powered by G-Tools)


  1. いや,当時の担任はホンマに肝が据わってたと思うよ。あんなのをコンクールに出すんだもん。いい先生でした。 [return]

さよなら iPod - remark

(これは Facebook のタイムラインに書いた記事を加筆修正したものです)

iPod は縁がなかったなぁ。 他人が持ってるのを見て「いいなぁ」と思ったことはあるけど,そもそも移動中に音楽を聴く習慣がついたのはここ3年くらいだし。

今世紀に入って音楽がどのように変わったかについては言うまでもないだろう。

iPodの人気に火が付いたのは、ちょうどナップスターの熱狂のあとだった。違法コピーのスリルが、アップルのガジェットや大容量のHDDと組み合わさって、突如として音楽が「解放された」のである。
via iPodは「音楽」に何をもたらしたか──その功績を、販売終了を機に振り返る

まぁ続きが気になる方は『デジタル音楽の行方』辺りを読むといいだろう。 音楽に限らず世の中は「消費は美徳」な時代から「体験を共有する」時代1 へと変わっており,そういう意味で当時の iPod は「ソーシャルシフト」する時代の先駆けだったと言えるかもしれない。

ステファンズ氏は言う。「何を買い、どこでお金を落とし、どのように消費するのか。消費者は、以前よりも厳しい目で判断している」
特筆すべきは、消費者が「モノ」よりも「体験」を購入している点だ。
この傾向は特にアパレル小売業者に打撃を与えており、その背景にはソーシャルメディアの台頭があると同氏は指摘する。
「『モノ』よりも『体験』の方が、ソーシャルメディア上で話題になりやすい」
via アマゾンではなかった…… アメリカの小売業を低迷させた2つの元凶

一方,個人的に当時の iPod が驚愕だったのはタッチセンサを「あんなもの」に組み込んだことにあった。

もちろんタッチデバイス自体はそれ以前からあったけど,どちらかというとペンタブレットのような高機能または高付加価値に重きを置いていて,単機能デバイスにわざわざタッチセンサを使うという発想がなかった。 だって物理ボタンのほうが安上がりでしょ。 大量生産品は1円のコスト減にしのぎを削っているのにあり得ないぢゃん(笑)

当時 iPod に刺激を受けたタッチデバイスの試作品開発に関わったことを思い出す。 タッチセンサへの置き換えは単純に物理ボタンのエミュレーションというだけではなく様々な指の動き「アクション」とか「ジェスチャ」とか呼ばれているものに機能を割り当てることができるというもので,つまりは「HMI (Human Machine Interface) の拡張・解放」にあったわけだ。

その究極が,今は当たり前になっている,全面タッチパネルの携帯端末だ。 最初に挙げた記事では現在の iPod を「簡易版のiPhone」と評しているが,私に言わせれば iPhone は,「賢い電話」なんかじゃなく,「電話機能付きの iPod」であり,電話をアプリケーションのひとつに落とし込んでいる点が秀逸だったのである2

ユーザの音楽への関わり方も含めて, iPod は時代の変化にきちんと適応しているのだ。 少なくともこれまでは。

今の Apple に当時の勢いはない。 クラウドや AI については他社の後塵を拝すかたちになってるし, HMI についても Amazon の DASH ボタンや Echo3 に比べれば停滞感は否めない。

Echo については AI というバズワードばかり先行しているが,音声を HMI として高い精度で実装できているのが画期的なのだ。 これは中核技術である Alexa が自動車のダッシュボードの HMI として採用されつつある点から見ても分かるだろう。 高い精度は要求されず,見かけ上「賢い人工無脳」に過ぎない Apple の Siri や Google の Allo などとは一線を画すわけだ4

正直に言って,5年後10年後に Amazon や Google というか Alphabet は生き残ってそうだけど Apple が生き残ってる未来が見えない。 「さよなら iPod」がそのまま「さよなら Apple」にならなきゃいいけど5。 まぁ,たとえそうなっても私は困らないが(笑)

ブックマーク

参考文献

photo
デジタル音楽の行方
David Kusek Gerd Leonhard yomoyomo
翔泳社 2005-12-06

音楽は死なない!―音楽業界の裏側 誰がJ-POPを救えるか?  マスコミが語れない業界盛衰記 ソーシャル化する音楽 「聴取」から「遊び」へ 音楽業界で起こっていること 音楽産業 再成長のための組織戦略 拡散する音楽文化をどうとらえるか (双書音楽文化の現在) 新時代ミュージックビジネス最終講義 新しい地図を手に、音楽とテクノロジーの蜜月時代を生きる! 図解入門業界研究最新音楽業界の動向とカラクリがよ~くわかる本[第3版] (How‐nual Industry Trend Guide Book) 次世代ミュージシャンのためのセルフマネージメント・バイブル 自分を作る・売る・守る! よくわかる音楽著作権ビジネス 基礎編 4th Edition

読んでない。絶賛絶版中? もはや読む価値があるのかどうかさえ不明。「デジタル」とタイトルに冠されているにも関わらず Kindle 化さえされてないことに出版側のやる気を感じる(笑)

reviewed by Spiegel on 2017-07-30 (powered by G-Tools)


  1. 故にコレクション魂を炸裂させ孤高の道を進むが共有する相手のいない「真のキモオタ」には辛い時代である(笑) [return]
  2. 電話をメインに使う人はガラケー・オンリーかスマホとガラケーの2台持ちが普通だったりするしね。そういえば機械音痴でスマホが使えない友人にスマホでの電話のかけ方を教えたら,電話アプリを起動しないと電話をかけられないことに驚愕していた。 [return]
  3. Echo は日本では年内発売との噂があったのだがどうなったのだろう。 [return]
  4. もちろん Google というか Alphabet 傘下の AI 技術開発の真価は Allo ではない。 Alphabet 傘下の各グループは明らかに5年10年先を見据えて開発を行っていて,現在の(広告中心の)収益構造を変えることを目論んでいる筈である。 [return]
  5. 自慢じゃないが私の予言はよく外れるので真に受けないように(若い頃は20世紀内に Mac は滅びると思っていた)。冗談にクレームは受け付けません(笑) [return]
  6. まぁ,今時 Amazon のことをネット書店とかEコマースサイトだとか思ってる人はいないだろう。ただ「クラウド」や「仮想化」だけで稼げる季節はとうの昔に過ぎていて,その上に何を乗せるかが重要になっている。例えば Alphabet は AI 基盤をクラウド化することで次代の収益の柱を狙っているように見える。しかし Amazon にはそういったものが見えづらい。ただ Google が「すべての情報をグラフ化する」のなら Amazon は「全てのモノと情報の流通を押さえる」ことにあるように見える。つまり社是が違うということなのだろう。 [return]

July 03 2017

「けもフレ」をへびろてする,他 - remark

あぁ,1年が半分終わっちまったですよ。 なんちうか,1年の後半最初の週末を自堕落に過ごしてました。 具体的には「数学ガールの秘密ノート」シリーズ最新刊を読みながらスマホ版の FF15 の状況をチェックし, BGV に「けもフレ」をへびろてしてる感じ。

「けもフレ」をへびろてする

ついに Hulu に「けもフレ」が登場したですよ。

わーい。 たーのしー!

もう早速ヘヴィローテーションしてるですよ。 そしてラスト2回で毎回泣きそうになる

いや,もうね,カープの試合で新井さんが打席に立つ度に脳内で「アライさんにおまかせなのだ!」とアライさんが叫ぶのですよ。 あとキタキツネは他人事とは思えない。

今までは Amazon ビデオで見てたんだけど,あそこって「けもフレ」は Prime 指定じゃなかったので,一話づつレンタルしながら見てる程度だったのよ。 いやぁ,よかったよかった。

ありがとう,Hulu。

「新たなる王国」に韓国語圏ユーザ大量流入の巻

ついにスマホ版の FF15 がサービスを開始した。

「モバスト」をつくってる会社が主に制作・運営を行っているようで,世界観を FF から借りてるだけの概ねモバストである。 これを FF だと思ってゲームを始めたらビックリするので要注意。

とりあえずアプリ内課金の広告がウザい。 情報の不整合が頻発して何度もアプリを再起動しないといけないのもウザい。 行軍すると必ず接続が切れたとエラーになるのは何故? これちゃんと負荷テストとかやってるの?

とはいえ,最近こういうタイプのゲームをやってなかったので,まぁまぁ楽しく遊んでる。 今のところガチャ要素はない。 これまた結構。

ところで launch 早々,大量の韓国語圏ユーザが流入してきたわけだが,なかなか面白い振る舞いをしているようだ。

新たなる王国」では「王国」同士で「ギルド」をつくって1 交易を行ったり共同戦線を張ったりできるのだが,どうやら資源を融通してもらうためにあちこちのギルドを渡り歩いているユーザが結構いるらしい。

彼等はギルドに入って資源を融通してもらったら脱退するという行為を繰り返しているようだ。 これをやらかしてるのが「韓国語圏ユーザ」ばっかりに見えるのだ。 そんで,私が入ってるギルドでは「日本人ユーザ」以外は追放しようとか過激な意見が交わされている2

もっともグローバル・チャットはほぼ韓国語で埋め尽くされてるので(自動翻訳は付いてる),実際には日本語圏ユーザはむしろ少数派なのかもしれないが。

なんちうか韓国語って,それを話す人は上は大統領から下はネットユーザまで妙なメンタリティを身につけるのかしら。 個人的にはコンテンツのリージョン・コントロールには否定的な立場なのだが,こうもメンタリティが異なるのでは分割もやむなしかもしれん。

「数学ガールの秘密ノート」シリーズ最新刊の感想は

別途記事にする予定。


  1. 「領国 $\supset$ ギルド $\supset$ 王国」という包含関係は妙な気がするのだが,ツッコんでもしょうがないか。ちなみに「領国」とはサーバリージョンの単位を指すようだ。どの領国に配置されるかについて現時点でユーザは選択できない。もちろん所属する領国の外にはアクセスできない… 筈なのだが混雑時には何故か他所の領国が表示される場合がある。 EC サイトなら大問題に発展するところだよ。ゲームでよかったね(笑) [return]
  2. これは明らかにゲーム・システムの不備。「新たなる王国」ではギルドへの加入・活動・脱退について何の制限も義務もない(ギルドの管理権限は別)。制限といえばせいぜい掛け持ちできない程度で,全くコスト無しでギルドに入ってコミュニティ内のリソースを食い散らかして逃げることができる。今は見かけないが寝返りやスパイもやり放題だろう。一応,ギルド内のランクはあるが,交易等に関しては制限されない。管理者側でできるのは「追放」くらいか。これでは手動で spam 対策をやらされているのと同じである。「初めてゲームを作りました」ってわけでもないのに,なんでこんなゲーム・システムになってるんだか。 [return]

June 28 2017

「さよならはてなダイアリー」 ― 黒 Web 2.0 の終焉 - remark

ぶちウケた!

この「日本でほぼ初めてのブログサービス」って強烈な皮肉だな。 おぢさん, “blog” 輸入当時の(ネット限定の)大狂騒を思い出してしまったよ。

ほんでもってこれが登場するわけだ。

つまり「はてなダイアリー」は “blog” に対するアンチテーゼだったんですよ,当時は1。 今から見れば中二病全開のサービスだったとも言えるけど。 みんな若かったんだねぇ。

まぁそんな「日本における Web 2.0 の黒歴史」の代表とも言える「はてなダイアリー」も7月で新規受付終了なんだとか2。 あと数年もすれば,きっとなかったことになるんだろうね。 君の机の引き出しにあるポエム・ノートのように(笑)

そして「すべては歴史の闇の中」ですな。


  1. ちなみに米国で一部の大学生を対象に Facebook がサービスを開始したのが翌2004年である。日本の mixi も同じく2004年からサービス開始。これ以降,日本では「日記」は SNS や「プロフ」へ急速に移行していく。「ぱど厨」なる言葉が登場したのも2004年頃か。更に Twitter が2006年,Tumblr が2007年にサービスを開始し,ユーザがサービス間を渡り歩いたりするのが当たり前になる。 [return]
  2. はてなブログは継続。しかし,SNS が主流になり「ブログ」が完全に下火なった2013年からようやくブログサービスを始めたはてなは流石としか言いようがない(笑) ちなみに Facebook が Instagram 買収を発表したのはそれより前の2012年である(当時 Android 版のアプリが出たばかりでショックを受けたのを覚えている)。 [return]

June 21 2017

ATOM 1.18 stable リリースで公式に Git 機能に対応 - remark

先週 ATOM 1.18 の stable 版がリリースされたが,公式に git 機能が組み込まれたようだ。

もともと core package として git-diff は組み込まれていたのだが,実際のリポジトリ操作には git-plus 等の外部パッケージを使わざるを得なかった。 これが github として core package に組み込まれ,リポジトリ操作が GUI で提供されることになったわけだ。 よーやくですよ!

Atom 1.18 Atom 1.18

Stage や commit/amend や fetch/pull/push といった基本操作はもちろん,hunk1 を選択して stage すること(git add -p 相当)も GUI で可能なようだ。 よしよし。 ただし stash や cherry-pick といった細かい操作はできなさそうっぽい?

ただ,良くも悪くも GUI なので「マウスやトラックパッドなんて飾りです。偉い人には…」な方々には従来通り git-plus のほうがお勧めである。 余談だが,私は command palette を F1 キーに割り当てているが(秀丸を使っていた頃の名残), git-plus 専用のメニューは shift-F1 キーに割り当てている。 こんな感じ。

'.platform-win32':
  'shift-f1': 'git-plus:menu'

もうひとつの機能である GitHub との連携(今のところ pull request の表示のみ?)であるが,これを使うためには access token を取得して ATOM に登録する必要がある。

では,たのしくお仕事しましょう!

ブックマーク


  1. 変更箇所のひとかたまりを git では hunk と呼ぶ。 Hunk の概念は cherry-pick 時にも出てくるので覚えておくとお得。 [return]

June 09 2017

お金を払いたくなるような... - remark

どうも,久しぶりの更新。

私事なので詳しくは書けないのですが,実は4月末あたりから環境が激変してしまして,ここ1ヶ月位はほとんどネットも見ていません。 自宅のテキストエディタも久しぶりに開きました。 もう少ししたら落ち着くと思います。

ここは生活のために書いているわけではないので,これまでどおり「書きたくないときには書かない」ということで。 昔は仕事が忙しすぎて半年くらい音沙汰なしとかあったもんなぁ。

さて,そんな日常生活とは別に久しぶりにゲームにハマりましたよ。

『アナザーエデン 時空を超える猫』 イメージPV - YouTube

Google Play でやたら評価の高いゲームがあって1,試しにやってみたら面白かったのだ。 年配の方2 には「クロノトリガーみたいな一人用 RPG」と説明すれば分かりやすいかもしれない。 まぁ,加藤正人さん等が制作に携わってるらしいのでクロノトリガーっぽくても納得だが。

こういう「Polchinski のビリヤード」のようなタイムパラドックスものって日本人は大好きだよね。 昨年話題になった「君の名は。」もそうだし。

インストールは無料でゲーム内課金ができる。 ただし,お金を払わなくても十分遊べる。 全26章のメイン・シナリオと外伝的なサブ・シナリオ(クエスト形式)がある。 外伝のシナリオは逐次追加配信されるようだ。

メイン・シナリオの18章までは何も考えずさくさく進めたが,終盤で行き詰まってしまった。 どうやらテキトーにキャタクタを編成してレベルアップさせただけでは無理っぽい。 ので,現在は腰を据えてキャラを調教もとい育成中である。

ソーシャル要素は一切なし。 ここが重要。 いや,もう,ソーシャル・ゲームはわりかし満腹なのよ(あっ,でも「リネージュ2 レボリューション」は事前登録したよ)。 かといって今更コンシューマ機でゲームなんかする気もないし。


こっからは感想というか戯れ言。

1年半前に MFF をやり始めてからスマホ用の国産 RPG を色々試してるんだけど「ガチャ」機能のないゲームって見当たらないよね。 そう考えると Ingress やポケモン GO がいかに秀逸なゲームだったか,と思う。

ゲームの「ガチャ」についてはそれぞれ思う人がいると思うが,個人的には「リセマラしないと進められないゲームはクソゲー」だと思う。

随分前から言われているけど,情報にまつわるほぼ全てのものがコモディティ化している現代に(本にせよ音楽にせよゲームにせよ)コンテンツそのものには金銭的価値がなくなっているわけよ。 そうなるとどこに(お金が取れる)価値を見出すかって話になるわけで,それはもうユーザの「体験」しかないということになる。

ゲームってのは単なるコンテンツじゃなくて体験(play)そのものである。 であるなら,その体験の中でいくらでもお金を取る機会はあるはずだろう。 なのに日本の制作会社の多くは「ガチャ」という射幸心を煽るだけの最も安直な手段を選択してしまった。

ここ1年半の間に幾つかのゲームで遊んでみたけど「ガチャ」はゲーム内のバランスを壊しかねない危険な機能である。 特にソーシャル・ゲームではガチャにつぎ込んでレア・アイテムを手に入れないと他のユーザと並び立つこともできないというかなり残念な状況になっている(ゆえにリセマラみたいな謎の儀式が行われるわけだが)。 これが私にとって「ソーシャル・ゲームはわりかし満腹」な理由でもある。

この点,一人プレイの「アナデン」は他者との比較がないぶんゲーム世界に没入しやすい。 ていうかコンピュータ RPG の面白さって本来は「いかにゲーム世界に没頭できるか」だと思う3

私は「ガチャ」は無料枠で済ませ,バトル・コンティニュー用の保険として少額を課金した4。 今後もゲームを続けるなら課金することもあるかもしれない。

(本にせよ音楽にせよゲームにせよ)多くのユーザは良い体験にはちゃんとお金を払う。 もちろん体験の仕方は人それぞれだが。 大事なことは「良い体験」に対して自然にお金が流れるような仕組みを作り上げることである。 お金は価値可換な媒体であり社会を巡る血液のようなものである。 無理な搾取をしたり必要なところに行き渡らなければシステムが壊死を起こす。 ゲーム分野でも(廃ゲーマから搾取するのではなく)もっと薄く広くお金を取れる体験を提供できるよう努力すべきなんじゃないのか。

photo
[まとめ買い] 賢者の弟子を名乗る賢者(GCノベルズ)
りゅうせんひろつぐ 藤ちょこ
評価

最近のお気に入りラノベ。 Web 版も愛読している。こういう設定のゲームとかあったら楽しいかなぁ。

reviewed by Spiegel on 2017-06-09 (powered by G-Tools)


  1. 量が全てではないのだが,スマホのゲームは詐欺アプリも多く,制作会社とレビューを見て,なるべく身持ちの固いものを選ぶようにしている(ちなみに評価のうち★2以下は無視している。低評価のものをわざわざレビューする奴の気がしれない。誰に対するヘイトなんだw)。「アナデン」の制作会社である Wright Flyer Studios 社はゲーム会社としては有名だし,まぁ大丈夫かな,と。 [return]
  2. 「クロノトリガー」の初出は1995年なので,当時10歳だったとしても三十路に突入している。ちなみに私は既に30歳だったけどね(笑) [return]
  3. 私のコンピュータ RPG の原体験は「ウィザードリィ」と「ドラクエ」なので,若い人たちとは感覚が違うかもしれないが。 [return]
  4. アナデン」では今のところガチャと戦闘中のコンティニューが課金対象である。もちろん無料枠で済ますことも可能。 [return]

May 12 2017

珍しくこの時間にタクシーより人が多い。

May 11 2017

朧月

May 07 2017

『法のデザイン』を斜め読みした - remark

GW の読書の課題として『法のデザイン』を読み始めたのだが,既に第一部で「えー? うーん?」な感じになり挫折してしまった。

最初はいちいちメモしてたんだけど早々に諦めて以降は斜め読み。 なので,『法のデザイン』についての感想というより読みながら頭の中で考えたことをつらつらと吐き出してみる。

あらかじめ予防線を張っておくと,私は法の専門家ではないしそれを目指しているわけでもない。 その辺を割り引いて読んでいただければ幸いである。

制約は構造を生む

公理によって与えられる暗黙の制約。この制約が集合の要素同士をしっかり結びつける。単純にしばるのではない、相互に秩序ある関係を結ぶ。言い換えれば――公理によって与えられる制約が構造を生み出しているのだ
via 数学ガール/フェルマーの最終定理

法のデザイン』を一言で要約するなら「制約は構造を生む」ということに尽きる。 その制約とは法(Law)・規範(Norm)・市場(Market)・アーキテクチャ(Architecture)からなる「4つの規制1」を指す。

「4つの規制」は新シカゴ学派の理論大系で出てくる概念である。 中でも法は「規制を規制するもの(meta-regulator)」であり,他の3規制を法によって規制することで「主体」を規制することが可能であるとされている。 これを「共同規制(co-reguration)」と呼ぶらしい。 本のタイトルにもなっている「法のデザイン(legal design)」もこの共同規制の延長線上にあると考えていいかもしれない。

Copyleft という法的 Hack

「自由なソフトウェア(Free Software)」運動における copyleft の考え方(およびそれを実装した GNU GPL)が優れた法的2 hack である,というのは有名な話である。

この copyleft が Linux のような製品の台頭を促し,オープンソース・ソフトウェア(Open-Source Software; OSS)という paradigm shift を引き起こし,更にはコンピュータ・ネットワークの産業構造をも変えていく。

こうした一連の過程は法そのものにも影響を与える。 たとえば米国の DMCA (Digital Millennium Copyright Act) は現在も批判の多い著作権関連法だが,適用除外既定については定期的に見直されており,ここ10年くらいでは規制が緩められる傾向にある。

たしかに法には「規制を規制するもの」としての側面があるが(数学の公理のように)絶対不変ではなく,「4つの規制」はお互いに影響を与えながら変質する。 「法のデザイン」は単なる設計ではなく,こうした相互作用を測定しながらチューニングを繰り返すプロセスが重要になってくる。

規制は規制に汚染される

「4つの規制」はお互いに影響を与えながら変質する,ということで言うと近年のバズワードのひとつになっている人工知能(AI)が挙げられるだろう。

機械学習なんてのは体のいい洗脳である。

たとえば AI が人類を皆殺しにしようとしたり「ハイル・ヒットラー」と叫んだりしたら大抵の人は「これは拙い」と思うだろうが,過激でない程度にリベラル寄りの知識体系を得たり,あるいは保守的なそれを得た場合,それは拙いことなのだろか正しいことなのだろうか。 または AI 技術が商業的に使われる際,ユーザに対してサービス・ベンダに有利なマーケティング情報操作がないと証明できるのだろうか。

たとえばビッグ・データを AI 技術の助けを借りて解析し非常に綿密な消費者情報を得たとする。 ビッグ・データ自体は個人を特定する情報を排除した行動パターンのみであれば個人情報保護法には抵触しないしプライバシーの観点からの問題もないだろう。 でも解析された情報を使って特定の誰かの行動を精確に予測し先回りできるとしたら,そこに問題はないと言えるのだろうか。

機械が単なる道具であることを超え個人の活動や考え方に深く関与するようになったとき(現実にそうなりつつある)私たちはそれをどう測定し評価・改善していけばいいのだろうか。

空き地はコモンズか

「コモンズ(commons)」には様々なシチュエーションがある。 Google に機械翻訳させると大抵「下院」と訳される。 また辞書を引くと「入会地3」などと説明されることが多い。

しかし, FLOSS や Creative Commons をはじめ,ネット活動におけるコモンズは「入会地」よりもう一歩踏み込んだところにあり,その考え方の源流は言うまでもなく「伽藍とバザール」である。 まずバザール型のコミュニティがあって,それを駆動するための方便としてコモンズという概念がある。 これは例えば企業同士が集まって行うカテドラル型の patent pool のようなものとは根本的に異なる。

一方で(ネットに限らず)日本におけるコミュニティ活動は「入会地」ですらなく,喩えるなら「空き地で遊ぶ子供4」のようなものである。 空き地で遊ぶ子供は(公有か私有かに関わらず)その所有者を含む大人から「お目こぼし」されている状態である。 しかし当の子供はそれが本来は不法侵入であるとは微塵も思わない。 そして所有者が空き地への侵入を禁止しても別の空き地に移るだけだ。

これの大規模なものが「同人市場5」である。 Creative Commons について日本で活発に議論された2003年から2004年頃にかけて同人市場についてもよく議論に上ったが,当事者たちの考え方は決まっていて「怒られたら逃げればいい」というものだった。

法のデザイン』ではコモンズを法的な「余白」であるとしている。 たとえば米国の fair use 規定などは「余白」と言えるかもしれないが,日本の法律でこのような「余白」があるものは少ないし,仮にあっても行政機関が出す「命令」や「ガイドライン」で埋め尽くされてしまう。 そもそも日本の個人にとって法は(社会契約とかではなく)上から下知される「ご法度」の延長線上にあり6,その運用のされかたは主に「お目こぼし」と「見せしめ」という恣意的なものである。

このような不公正な環境で(トロルならともかく)イノベーションなど生まれるはずもなく,あえてそれを狙うなら(海外に税金を払うことになっても)活動拠点(および準拠法)を海外に置くことが「法のデザイン」を考える上で賢明な選択になってしまうのだろう。

CCjp という温度差

私が『法のデザイン』を読もうと思ったのは著者の水野祐さんが CCjp の理事であるというのがきっかけである。

CCjp については,ライセンスや “State of the Commons” の翻訳活動に対しては敬意を表すものだが,それ以外の活動や組織としてのビジョンが全く見えない。 これは本家 Creative Commons が明確に Free Culture に舵を切ったのとは対照的である。 この温度差の原因を『法のデザイン』から窺い知ることができないかと思ったのである。

最終的にこの本の印象は「広告記事」である。 第二部の各論はとても参考になるが参考になるだけ。 あれを読んで「よし! 私も!」とか思う人はいないだろう。 この辺は同じ CCjp の理事の方が書かれた『フリーカルチャーをつくるためのガイドブック』とはだいぶ異なっている。 SIer とか企業の法務部向けの本って感じかな。

CCjp がこの本と同じ方向を向いているかどうかは分からないのだが「何処を向いているか分からない」という点では共通しているかもしれない。

ブックマーク

参考図書

photo
法のデザイン
水野祐
フィルムアート社 2017-02-28
評価

知ろうとすること。(新潮文庫) 遙かなる他者のためのデザイン ―久保田晃弘の思索と実装 ウェルビーイングの設計論 ―人がよりよく生きるための情報技術 未来を築くデザインの思想 ―ポスト人間中心デザインへ向けて読むべき24のテキスト ブリッジング これからの僕らの働き方 次世代のスタンダードを創る10人に聞く (早川書房) 逆説のスタートアップ思考 (中公新書ラクレ) Processing クリエイティブ・コーディング入門 ―コードが生み出す創造表現 完全対応 新個人情報保護法-Q&Aと書式例- ケース・スタディ ネット権利侵害対応の実務-発信者情報開示請求と削除請求-

Kindle 版出てたのかよ待てばよかった orz 強いて言うなら第二部の各論は参考になる部分も多い。

reviewed by Spiegel on 2017-04-07 (powered by G-Tools)

photo
CODE VERSION 2.0
ローレンス・レッシグ 山形浩生
翔泳社 2007-12-19
評価

コモンズ~ネット上の所有権強化は技術革新を殺す FREE CULTURE REMIX ハイブリッド経済で栄える文化と商業のあり方 勉強の哲学 来たるべきバカのために (文春e-book) あたらしい人工知能の教科書 プロダクト/サービス開発に必要な基礎知識 スターティングGo言語 ネットメディア覇権戦争~偽ニュースはなぜ生まれたか~ (光文社新書) ヴェニスの商人の資本論 (ちくま学芸文庫) プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために 弱いつながり 検索ワードを探す旅 (幻冬舎文庫)

前著『CODE』改訂版。

reviewed by Spiegel on 2017-04-07 (powered by G-Tools)

photo
FREE CULTURE
ローレンス・レッシグ 山形浩生
翔泳社 2004-07-22
評価

CODE VERSION 2.0 コモンズ~ネット上の所有権強化は技術革新を殺す REMIX ハイブリッド経済で栄える文化と商業のあり方 IT技術者なら知っておきたい ストレージの原則と技術 ブラウザハック 統計でウソをつく法 (ブルーバックス) IoTとは何か 技術革新から社会革新へ (角川新書) 失敗のメカニズム 忘れ物から巨大事故まで<失敗のメカニズム 忘れ物から巨大事故まで> (角川ソフィア文庫) ヤバい会社の餌食にならないための労働法 科学の発見 (文春e-book)

Free Culture の原典。白田秀彰さんの「FREE ANNOTATION」も併せてどうぞ。

reviewed by Spiegel on 2017-04-07 (powered by G-Tools)

photo
フィルターバブル──インターネットが隠していること (ハヤカワ文庫NF)
イーライ・パリサー 井口耕二
早川書房 2016-03-09
評価

インターネット的 (PHP文庫) ウェブ社会のゆくえ―<多孔化>した現実のなかで (NHKブックス No.1207) 情報の文明学 (中公文庫) ウェブ進化論 本当の大変化はこれから始まる (ちくま新書) 五〇億年の孤独:宇宙に生命を探す天文学者たち

ネットにおいて私たちは自由ではなく,それと知らず「フィルターバブル」に捕らわれている。

reviewed by Spiegel on 2016-05-07 (powered by G-Tools)

photo
著作権2.0 ウェブ時代の文化発展をめざして (NTT出版ライブラリー―レゾナント)
名和 小太郎
エヌティティ出版 2010-06-24
評価

著作権法がソーシャルメディアを殺す (PHP新書) 「ネットの自由」vs.著作権: TPPは、終わりの始まりなのか (光文社新書) 著作権とは何か―文化と創造のゆくえ (集英社新書) ビジネスパーソンのための契約の教科書 (文春新書 834) REMIX ハイブリッド経済で栄える文化と商業のあり方

名著です。今すぐ買うべきです。

reviewed by Spiegel on 2014/08/02 (powered by G-Tools)


  1. 日本の場合,「4つの規制」は Lawrence Lessig 氏の『CODE』で紹介されたことで一般に認知されたと言っていいだろう。しかし背景となる新シカゴ学派の理論まで認知されているとまでは言えない状況である。 [return]
  2. GNU GPL は法律ではないが一種の契約であり「4つの規制」のうちの法に属するものと考えられる。余談だが,何故か最近になって日本で話題の MastodonAGPL で公開されている。これは SaaS 向けのソフトウェアに対しても改変バージョンの公開を求めるものである。 [return]
  3. 「入会地 (いりあいち) 」は Wikipedia では「村や部落などの村落共同体で総有した土地で、薪炭・用材・肥料用の落葉を採取した山林である入会山と、まぐさや屋根を葺くカヤなどを採取した原野・川原である草刈場の2種類に大別される」などと説明されている。 [return]
  4. 「空き地で遊ぶ子供」といっても今時の人はピンとこないかもしれない。「ドラえもん」など昭和の作品で描写されるくらいか。 [return]
  5. 同人活動と言っても本来的な意味での「同好の士による閉じた活動」もあれば「パクリ上等」なものまで様々なレベルがあるので一絡げに論じるのは無茶だと分かっているのだが今回はご容赦。今では大規模なイベントにおいては国際的な認知度も上がったため「自主規制」されているし,職業作家や出版社も出品するので煩く言われることも少なくなっているように見えるが,結局は職業作家や出版社の「お目こぼし」で回っているという事実には変わらない。これは TPP 知財部門に対して「二次創作」の部分だけに反応するという点からも窺い知れる。 [return]
  6. 私は「悪法も法」とは思わないけどね。むしろ「ルールが守られないのはルール自体に問題がある」と考える。実際にルール・メイキングを行う際にポイントになるのはそこだと思う。 [return]

May 02 2017

島根 温泉津 開おん。なんと精米率90%の豪快なお酒。燗酒で
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl