Floating Log 2012/5

2012-05-31

路地恋花

麻生みこと「路地恋花 1, 2, 3」アフタヌーンKC(2010,2011)。 京都の路地(振り仮名:ろぉじ)にいろいろな種類の「作る人」が集まっていて(大家さんの趣味で)、その人達の仕事ぶりを見せつつ、恋の話が…というようなマンガ。 最初1話目の本を手作りする人の話だけ本屋でぱらぱら見て面白かったもので手を出したのだが、あんまり恋の方には気が回らなくて、2巻は何かそっちの色が濃くなって、そういえばタイトルに恋とか入ってるな、と思い出した。 登場人物が限られるので(入れ替わりとか再度同じ人が主人公ということもあるけど)そんなに長く続くことはないと思う。

posted at 00:10:56
 
2012-05-30

冷食捜査官 1

とり・みき「冷食捜査官 1」モーニングKC(2008)。 作品名だけは聞いたことがあったのだが(主についったーで)先日たまたま見掛けたので買った。 食料統制というのが行われてみんな合成食料だけ食べるようになった時代に前世紀の冷凍食品が闇で売買されているという設定で、それを捜査する冷食捜査官の活躍をハードボイルドタッチで描いた作品。 ハードボイルドといってもそこはとり・みきなので(以下略)。 それにしても「1」なのが意外。

はてなに正誤表 があった。

posted at 23:34:40
 

意識

意識と無意識の間というか眠りと覚醒の間というか、そんな状態の時の自分のぼんやりとした意識に浮かぶもののことについてのイメージを元に意識について考えてみる。

覚醒している状態では「意思を持った自分」というイメージが確固とした存在であるが、眠りに落ちる寸前あるいは二度寝の誘惑に抗う時間の自分の存在はもっとばらばらな何かである。 意識の対象はあちらからこちらへ移ろい脈絡も感じられない。

脳の中に「思考」が並行にいくつも展開していると考えよう。 覚醒時には視覚・聴覚などの感覚から構築された自分、あるいは意思を示す思考が支配的である。 意識は、そうした並行に展開する思考の中で最も「強い」ものをモニターする。 従って覚醒時には途切れることなく感覚と意思と意識が渾然一体となった自分が存在すると思っても大体正しい。 ところが、寝る前起きる前の時間は意思が支配的地位を失い(もしくはまだ取り戻せず)、視覚情報も得られないまま、多数の並行に展開する思考の偶発的トップを意識はふらふらと取り上げる。 これが覚醒と呼べるかどうかの間に脈絡無く繰り広げられるものの正体だろう。

この考え方から説明が付きそうなことを少し述べてみる。

少し前に真剣に悩んでいた問題に、ふとした拍子に答が浮かぶ、というあの現象も、実は脳の一部が意識には上らないレベルで考え続けていたと思うと、その答が意識に現れるのは他の思考活動が多少なりとも低下した「ふとした拍子」「夢の中」でしかむしろあり得ないのではないかという気がしてくる。

二つ目、要するに意識は top コマンドを見ながら I/O の優先順位もそれに従って割り振っているぐらいのものなので、そのへんの unix マシンも load が高いときは大体意識がある、ということになるのではなかろうか。 SF的な文脈で「コンピュータが意識を持つ」というときにはもっと高度な、人間社会で影響力を行使することを目的とできるような意思の存在を云々しているので、そういうことを主張しているのではないということは一応注意しておく。

posted at 00:02:24
 
2012-05-29

僕らの漫画

「僕らの漫画」製作委員会「僕らの漫画」小学館(2012)。 収益を東北の被災地に寄付するというチャリティー企画で27人の漫画家の作品を集めた作品集。 テーマがテーマなので、センチメンタルな話が多い。 気になった作家: 小玉ユキ, 進藤ウニ, ねむようこ, 手原和憲。 (とり・みき目当てだったので彼は別格として)

posted at 21:41:36
 
2012-05-27

Sage Days in Japan #39

九州大学で開催された Sage Days in Japan #39 に参加してきた。 日本で開かれる最初の Sage Days。

チュートリアルから改造の仕方まで幅広い講演があったので、実際のところ使っていなかった私のような人間にも入りやすかった。 ただ、もっとがんがん使っている人にとってはどうだったのだろう、と思わなくもない。 そういう意味で、もう少し開発セッション的なものができるといいのかな、というのが個人的な感想。

ところで、風邪を引いた。 飛行機(今回はANA)の中が想像以上に寒かったのが敗因かなあ。 初日はくしゃみ鼻水で今日は咳と症状が変わっていったが、Ust とか(後で公開される)ビデオ映像とかでくしゃみや咳の音が気になっていたら申し訳ない。

posted at 22:49:52
 
2012-05-20

証明の探究

日比孝之「証明の探究」大阪大学出版会(2011)。 文系の教養課程用教科書という位置付けらしいので、対象読者からは外れている。 数学的帰納法と背理法を使った証明が主な題材。 ピックの定理の前まではざっと読んで、残り1/3ばかりは後で読もうと思ってから少し時間が空いてしまったのだが、実は後ろの方は出席表というかレポート用紙というか何かそんなことに使うためのページが用意されていて15回分30ページ相当の紙があり、1/3も読むところは残っていなかった。 そのレポート用紙の存在も意表を突かれたが、画像では帯に見える「数学嫌いも必携!! 『この本を高校時代に読んでおきたかった』という声続出!!」という部分がカバーに印刷されているのにも驚いた。

正誤表は阪大出版会が 公式に提供している が、そこに載っていないのもあったので 例のサイトの方 にも置いてある。

posted at 18:50:56
 
2012-05-19

ベテルギウスの超新星爆発

野本陽代「ベテルギウスの超新星爆発」幻冬舎新書(2011)。 オリオンの右肩(見た目的には左上)の赤い1等星ベテルギウスが近いうちに超新星爆発を起こすのではないかという噂がある。 が、現段階で言えることは、10万年以内には爆発するんじゃないかな、という程度の確度のようだ。 その話を枕に、(遠い銀河の)超新星の観測によって宇宙膨張がどのように解明されてきたか、という話がメイン。 そして、宇宙の加速膨張の発見にノーベル賞がでたので、その研究者たちの人間模様なども含めた解説で締め。 新書にしては中身のまとまった本だった。

posted at 12:35:28
 

インクジェット時代がきた!

山口修一/山路達也「インクジェット時代がきた!」光文社新書(2012)。 インクジェットプリンターの進化でこんなことをできるようになった、といろいろ紹介している。 興味としては最近数万円で買える3Dプリンターなんかがあるらしいので、その元になっている技術的なところを知っておこうかと。

正誤表

posted at 12:18:24
 
2012-05-13

IDの秘密

佐藤一郎「IDの秘密」丸善ライブラリー(2012)。 バーコード、QRコード、ICタグ、Felica など ID にまつわる技術と運用とを紹介して回るガイドツアーといった内容。 細かい話がコラムにまとまっていたりしてそれはそれで興味深い。

正誤表

posted at 16:53:36
 
2012-05-09

エンジニアのための時間管理術

Thomas A. Limoncelli「エンジニアのための時間管理術」オライリー・ジャパン(2006)。 読む前はそれほど期待していなかったんだけど、読んだ後には携帯をスマートフォンに替えようかと考えていた。 基本的にはタイトルに「エンジニアのための」とあるけれど本文は「システム管理者のための」という視線で書かれている、いかに仕事の効率を上げて(自分もサービスする相手も)気持ちよく働けるようにするか、ということを考える本なのだが、その手段として PDA や手帳(本文中では PAA)をこんな風に使うといいと著者自身が編み出した手法を紹介している。 PDA というものが廃れて(わずか6,7年で随分変わるものだ)、常に持ち歩けるサイズの手帳だとちょっと大変そうに思えるので、今ならばスマートフォンかなと思ったのだ。

どうでもいいこと:「朝方人間」という表記が気になったのだが、わざとなのだろうか。 その他の 正誤表

posted at 22:05:04
 
2012-05-06

ぼくらのよあけ

今井哲也「ぼくらのよあけ 1, 2」アフタヌーンKC(2011)。 阿佐ヶ谷住宅という舞台に近所に住むものとしてつい笑ってしまう。 団地は団地だけど(もうすぐ取り壊しになる)平屋の建物ばっかりだからね。 あ、給水塔の形はあんな感じ。 それはともかく、最初同じ人だと気付かなかったのだがハックス!の人が随分感じの違う近未来SF的なものを描いているのにびっくりした。

posted at 11:54:56
 
2012-05-05

Gentoo Prefix ブートストラップ手順 — Mac OS X 編

注意: この文書は一応 Gentoo 公式 に取り込まれましたが、英語版が消されていることからも判るように今では使われていない手順です。 現在の手順は(日本語訳はまだありませんが) Gentoo Prefix Bootstrap Process を見てください。 (2011-11-14 追記)

(注: これは現時点(2012-05-05)でのGentoo Prefix Bootstrap Process for Mac OS X の翻訳です。 翻訳を見てインストールしていて行き詰まったら素直に原文を見るようにしましょう。)

OS X でブートストラップ

Mac OS X システムで Gentoo Prefix をブートストラップする方法

はじめに

Apple Mac OS Xは当初Gentoo Portageのメインツリーでppc-macos キーワードの下サポートされていました。 しかし、そこで取られたアプローチはあまりにも多くの問題を引き起こし、 そのことがprefix化されたPortageを作り出す隠れた動機となりました。

OS Xでのブートストラップは比較的単純で、 それはシステム自体が素早くスピードを上げる大部分のツールを提供しているからです。

ブートストラップ

前提条件として、Xcodeの最新版をインストールしておかなければなりません。 Xcodeはコンパイラ・コレクションを提供します。 ブートストラップはこれ無しでは(まだ)できるようになっていません。 もし最新版以外のXcodeで問題が起こった場合には、まずはアップデートを試みて下さい。

最初のステップはインストールするパスを選択することです。 これ以降、このパスのことを「Prefixパス」と書きます。 その値はEPREFIX変数に入ります。 Prefixパスをどこにするか迷ったら $HOME/Gentoo$HOME/Library/Gentoo にしてみてはいかがでしょうか。 どこに決めたにしろ、その値を環境変数に設定することを忘れないで下さい。

EPREFIX 変数のエクスポート
$ export EPREFIX="$HOME/Gentoo"

tcshユーザーは代わりにsetenv EPREFIX "$HOME/Gentoo"を使います。

次に、以下のこれからPrefixになるパスをPATH環境変数に追加します。 $EPREFIX/bin$EPREFIX/usr/bin$EPREFIX/tmp/bin$EPREFIX/tmp/usr/bin

PrefixパスをPATHに追加
$ export PATH="$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"

インストールしたいのが64ビット版のPrefixならば、CHOST変数を設定します。 Leopardではx86_64-apple-darwin9、 Snow Leopardではx86_64-apple-darwin10です。 もし、Lion上で32ビット版のPrefixをインストールしたいならば、 CHOST変数に設定するのはi686-apple-darwin11です。 これらの設定は64ビット版(または32ビット版)Prefixにすることが必要なときだけです!

さて、パスを設定したところで、ブートストラップ・スクリプトをhttp://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/scripts/bootstrap-prefix.sh?format=txt からダウンロードするところから始めましょう。 ブートストラップ・スクリプトを置いたディレクトリから次のコマンドたちを実行します。

ブートストラップを使って
$ chmod 755 bootstrap-prefix.sh
$ ./bootstrap-prefix.sh $EPREFIX tree
$ ./bootstrap-prefix.sh $EPREFIX/tmp make
$ ./bootstrap-prefix.sh $EPREFIX/tmp wget
$ ./bootstrap-prefix.sh $EPREFIX/tmp sed
$ ./bootstrap-prefix.sh $EPREFIX/tmp python
$ ./bootstrap-prefix.sh $EPREFIX/tmp coreutils
$ ./bootstrap-prefix.sh $EPREFIX/tmp findutils
$ ./bootstrap-prefix.sh $EPREFIX/tmp tar
$ ./bootstrap-prefix.sh $EPREFIX/tmp patch259
$ ./bootstrap-prefix.sh $EPREFIX/tmp grep
$ ./bootstrap-prefix.sh $EPREFIX/tmp gawk
$ ./bootstrap-prefix.sh $EPREFIX/tmp bash
$ ./bootstrap-prefix.sh $EPREFIX portage

wgetsedpythonなどが$EPREFIX/tmp にインストールされたことを心に留めておきましょう。

ブートストラップ・スクリプトは$EPREFIXディレクトリを適切に準備し、 Portageツリーのスナップショットをダウンロードして展開し、 Portageをダウンロードしてインストールします。 その後でいくつかのまともなデフォルトを設定します。 いくつかの新しいアプリケーションをインストールしたので、 bashに全てのパスを見直すように指示します。

bashのリハッシュ
$ hash -r

tcshユーザーはrehashコマンドを使いましょう。

さらにいくつかのemergeの途中で見ることになるかもしれない沢山のエラーや警告に対処するのに必要なツールを追加していきます。

emerge sed
$ emerge --oneshot sed

次に、Portageがどっぷり依存しているbashをemergeします。 ダウンロード・マネージャーwgetも同様です。 現段階ではまだ依存しているものまでコンパイルすることができないので、 しばらく無視しておくことにします。 pax-utilsはPortageがインストールするバイナリの正しさを調べられるようにしてくれます。

emerge bash, pax-utils, wget
$ emerge --oneshot --nodeps bash (シェバン /bin/sh であるスクリプトをインストールする依存を回避)
$ emerge --oneshot pax-utils
$ emerge --oneshot --nodeps xz-utils
$ emerge --oneshot --nodeps "<wget-1.13.4-r1" (#393277 が修正されるまで)

ブートストラップ手順の最後まで"1 config files in XXX need updating" というメッセージが出てきても無視しておいても安全です。

続いて、コンパイラとリンカをemergeし、 Gentoo Prefix環境を使えるように準備します。 emergeするパッケージにはbaselayoutが含まれます。 いくつかの(沢山ではないにしても)Gentooシステムに含まれるスクリプトやツールは Gentoo風色付けを使った全てのコミュニケーションにbaselayoutパッケージが 使えることを仮定しています。

コンパイラ及びリンカに必要なもののemerge
$ emerge --oneshot --nodeps sys-apps/baselayout-prefix
$ emerge --oneshot --nodeps sys-devel/m4
$ emerge --oneshot --nodeps sys-devel/flex
$ emerge --oneshot --nodeps sys-devel/bison
$ emerge --oneshot --nodeps sys-devel/binutils-config

Xcodeのバージョンの違いにより、 以下の手順に違いが出ますのでgcc --versionの出力をよく見て下さい。 一行目に出て来るバージョンが4.2.1ならば最新のbinutils-apple をemergeする必要があります。 そうでなければ4.0.1と出力されているはずですがこの場合 =binutils-apple-3.2をemergeしなければなりません。

リンカのemerge
$ emerge --oneshot --nodeps "=sys-devel/binutils-apple-3.2" (gcc 4.0.1の場合)
$ emerge --oneshot --nodeps sys-devel/binutils-apple    (gcc 4.2.1の場合)

それではコンパイラに進みましょう。

コンパイラのemerge
$ emerge --oneshot --nodeps sys-devel/gcc-config
$ emerge --oneshot --nodeps sys-devel/gcc-apple

Prefixに次々とツールが入れていきましょう。 この段階では、もう依存を無視し続けないので、多くのパッケージがemergeされます。 ゆっくりとですがPrefixもだんだんと頑健なものになってきます。

いくつかのツールのemerge
$ emerge --oneshot sys-apps/coreutils
$ emerge --oneshot sys-apps/findutils
$ emerge --oneshot '<app-arch/tar-1.26-r1'
$ emerge --oneshot sys-apps/grep
$ emerge --oneshot sys-devel/patch
$ emerge --oneshot sys-apps/gawk
$ emerge --oneshot sys-devel/make
$ emerge --oneshot --nodeps sys-apps/file
$ emerge --oneshot --nodeps app-admin/eselect

そろそろPortageが必要とするプログラムが一揃い揃ったので、 ブートストラップされたPortageを正しい位置にインストールされたPortageで、 Portageそのものを使って置き換えます。 またここでいくつかの依存パッケージが初めてemergeされます。 たとえばPortageの記述言語であるpythonなどです。 一時的にPortageに対しブートストラップされたPortageを上書きしても良いと伝える必要があります。

emerge portage
$ env FEATURES="-collision-protect" emerge --oneshot sys-apps/portage

さあブートストラップした全てをemergeしましたので、 要らなくなった一時的なディレクトリを消しそこにあるものを使うのを止めましょう。

tmpディレクトリの消去
$ rm -Rf $EPREFIX/tmp/*
$ hash -r

さらにemergeを続けていく前に、ツリーを更新しましょう。 ツリーの更新には次のようにします。

ツリーの更新
$ emerge --sync

もし、rsyncでの通信が遮断されるファイアウォールの中にいるならば、 代わりに${EPREFIX}/usr/sbin/emerge-webrsyncを実行してみて下さい。

次に、Prefixのインストールを仕上げるのに最終的に必要なシステム・インストールを完遂する全てのパッケージをPortageにemergeさせます。

emerge system
$ env USE=-git emerge -u system

もうすぐ自分のものになるPrefixに自分好みな設定をするには今が絶好のタイミングです。 設定にはUSEフラグ、CFLAGSMAKEOPTS$EPREFIX/etc/portage/make.confをカスタマイズすることも含まれます。 CFLAGSに関しては保守的に! 下のコードは例に過ぎませんので、こんな感じという雰囲気だけ伝えるものです。

Prefixインストールのカスタマイズ例
$ echo 'USE="unicode nls"' >> $EPREFIX/etc/portage/make.conf
$ echo 'CFLAGS="-O2 -pipe <my-cpu-flags>"' >> $EPREFIX/etc/portage/make.conf
$ echo 'CXXFLAGS="${CFLAGS}"' >> $EPREFIX/etc/portage/make.conf

上の例の中の<my-cpu-flags>は自分のCPUに合わせて置き換える必要があります。 IntelベースのMacユーザー(たとえばMacBookやCoreDuo)はSSE命令が有効化されていないために起こるコンパイルエラーを避けるためにここに少なくとも-march=prescott と書いて置いてください。 Core2Duoユーザーは-march=core2を使えます。 PPCユーザーはCPUの別名をCPUに特化したチューニングを有効にするのに使えます。 例えば-mcpu=G5 -mtune=G5のようにします。

再ビルドを自力で賄えるだけのものが揃ったので、 Prefixシステムのインストールの最後の段階を始められます。 この最後の段階ではシステムの全てを再コンパイルします。 ただし今までと違って全てのパッケージがホスト・システムのツールではなく Prefixにあるツールを使ってコンパイルできるようになっています。

最後のsystemインストールをします
$ emerge -e system

systemのemergeがつつがなく終われば、 Prefixは正常にできあがったことになり、 あとはPrefixツリーから好みで選んだものを何でもemergeすることができるようになります。

Prefixの使用

ブートストラップの終わったPrefix環境を使うのに一番良いのは パスやその他の環境変数が正しく設定されたPrefixのシェルを立ち上げることです。 これを簡単に行うために、ちょっとした補助スクリプトがブートストラップ・スクリプトによって作られています。

startscriptの作成
$ cd $EPREFIX/usr/portage/scripts
$ ./bootstrap-prefix.sh $EPREFIX startscript

これを実行すると、$EPREFIXstartprefixスクリプトができます。 このスクリプトはどこに動かしても構いません(たとえばホームディレクトリとか)。 スクリプトを実行するとPrefixシェルに移ることになり、 そこではたとえばemergeが直ちに実行できるようになっています。 Prefixを楽しみましょう!

posted at 13:39:28
 
2012-05-03

活断層系

金折裕司「活断層系」近未来社(1997)。 シリーズ第三弾というところだが、1995年の阪神淡路大震災を引き起こした地震の発生を踏まえて、これまでの説を修正したり補強したり、まあアップデート版という感じ。 今まで花折-金剛構造線で地震が起こると言っていたのが、高槻-六甲-淡路構造線で地震が起こったので、その二つを実質的に一体のものと見なして議論することにしたりとか。

一つ可笑しかったのが、航空写真を2枚並べて立体視すると地形が浮き出て見える(その中に断層を示すリニアメントがある)という方法の説明写真が、普通に山が山に見えた。 それの何が可笑しいかというと、前巻「断層列島」の例は逆に川が浮き出て見えたので、これは平行法じゃなくて交差法で見ろということか、と思っていたら、実は写真が逆でしたとしれっと書いてあったところ。

posted at 02:46:40
 
2012-05-02

断層列島

金折裕司「断層列島」近未来社(1994)。 数日前の「甦る断層」の続き。 四国九州と東北の構造線を説明して前回の中部近畿と合わせて日本の大部分(堆積に覆われて良く判らない関東と内陸地震の少ない北海道は除いて)の主要な地震発生地帯をマイクロプレートのモデルに載せた。 他にも室戸岬・襟裳岬の地形的類似とその成因の類似を考えたり、断層調査の話があったり。

posted at 01:38:24
 
2012-05-01

Effective C++

スコット・メイヤーズ「Effective C++」ピアソン・エデュケーション(2006)。 普段 Python ばかり書いているのであまり用は無いのだが、C++ のお勉強。

9刷なのでさすがに誤植も淘汰されただろうと思いきやちらほらある。 訳者の補足ページにまとまってはいる(大部分は訂正済み?)。 それ以外に 37 ページだけ印刷の色がおかしいとか、「ラーゲル多項式」ってあんまり聞かないなあとか。 何をどうしたら shared_array の y だけフォントが違うというようなことが起こるのだろう。

posted at 20:22:40
5月 2012
   1 2 3 4 5
6 7 8 9101112
13141516171819
20212223242526
2728293031  
4月
2012
 6月
2012
b

浮遊する思考・浮遊する言葉を拾い集めて記録しておくページ。

Python
Desktop
Server

© 2012-2013, Matsui Fe2+ Tetsushi