某人材獲得がどーのこーの問題。

b.py

# -*- coding: utf-8 -*-
import sys

m = [list(line[:-1]) for line in sys.stdin]
q = []
for i in range(len(m)):
    for j in range(len(m[i])):
        if m[i][j] == 'S':
            q.append((i, j, [(i, j)]))
            break

i = j = path = ''
visited = []
while q:
    i, j, path = q.pop(0)
    if m[i][j] == 'G':
        break
    else:
        for y, x in ((i-1, j), (i+1, j), (i, j-1), (i, j+1)):
            if not (y, x) in visited and m[y][x] in (' ', 'G'):
                visited.append((y, x))
                q.append((y, x, path+[(y, x)]))

for i, j in path:
    if not m[i][j] in ('S', 'G'):
        m[i][j] = '$'

print '\n'.join([''.join(L) for L in m])

map.dat

**************************
*S* *                    *
* * *  *  *************  *
* *   *    ************  *
*    *                   *
************** ***********
*                        *
** ***********************
*      *              G  *
*  *      *********** *  *
*    *        ******* *  *
*       *                *
**************************

実行、結果

$ python b.py < map.dat
**************************
*S* *$$$$                *
*$* *$ *$ *************  *
*$*$$$* $  ************  *
*$$$ *  $$$$$$$          *
**************$***********
* $$$$$$$$$$$$$          *
**$***********************
* $$$  *$$$$$$$$$$$$$$G  *
*  *$$$$$ *********** *  *
*    *        ******* *  *
*       *                *
**************************

「こんなもん幅優先探索するだけだし、10分もあれば書けるだろ……」とか思ってやってみたものの、なんだかんだで30分近くかかったので死にたいですね。

http://lifehacker.com/5374698/how-can-i-fix-my-disappearing-bookmarks-toolbar に、Firefoxが常にブックマークが隠れた状態で起動するのをなんとかする方法があった。

起動時にこんな感じ

なのが、こんな感じ

になる。

やることは簡単で、userChrome.css

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#bookmarksBarContent {
  width: 80px;
}

と書くだけ。上ではwidthを80pxにしたけど、任意の値でよい。userChrome.cssは、だいたい以下の場所にある、はず。

今まで "中止ボタン辺りを右クリックしてカスタマイズを選んで何もしないで完了するとブックマークがいい感じの長さに伸びる" というライフハック(今日は特別にタダで教えるよ!)を起動する度に実践していたんだけど、かなり快適になった。

これまでずっとガコガコ言わせながら物理的にクリックしていたMacBookトラックパッドを、タップでクリックできるようにした。

設定当初は違和感があったけど、数時間使っていたら慣れた。ドラッグの維持は、物理的にガコガコ言わせるよりやりやすいかもしれない。


ついでに、というかFirefoxで右クリックで始動するマウスジェスチャーが使えなくなったので、スワイプやらなんやらで代用する。

具体的には、about:config の browser.gesture あたりを色々いじる…… までもなく、Firefox lzyc 3.5.3 では標準で以下のことができるようになっていた。

  • ピンチイン
    • 縮小(shiftを押しながらピンチインでリセットされる)
  • ピンチアウト
    • 拡大(shiftを押しながらピンチアウトでリセットされる)
  • 左にスワイプ
    • 前のページに戻る
  • 右にスワイプ
    • 次のページに進む
  • 上にスワイプ
    • ページの先頭に移動
  • 下にスワイプ
    • ページの末尾に移動

twist.left、twist.right には何も割り当てられていなかったので、それぞれダブルクリックして値を Browser:PrevTab、Browser:NextTab とすることで、トラックパッドの回転操作でタブ移動できるようにした。

以上でマウスジェスチャーでやっていたことはほぼ全て、スワイプやらなんやらで代用できるようになった。あとはタブを閉じることができれば完璧なのだが……。

新装版あずまんが大王買った。

作中では体重を気にしているという設定ながら絵的には他のキャラとの差異がよくわからない暦の足が、三巻の表紙で太めに描かれていて感動した。

修正された箇所がスッキリしすぎていて時々「えっ、これ誰……?」ってなったり、ギリギリで修正候補から漏れた?と思われる箇所の違和感がものすごかったりするけど、総じて素晴らしいのでお前ら全員買えばいいんじゃないでしょうか。

Snow LeopardにしたらMacPortsMPlayerがインストールできなくて困ったので、http://blog.bloople.net/read/mplayer-on-snow-leopard の通りやってインストールした。

MPlayerじゃなくて、mplayer-develならインストールできるのかもしれないけど、こいつはsubversionを入れようとするのでイラッときて途中で止めた。そんなもん標準で入ってんだから余計なもん入れんなよ……! などと思いつつ、何かの依存関係でperl5.8が入ってしまうのは容認しているという。あとpython26を入れたらどう考えても不要なX関係のものがバンバン入ったけど、なんかもう面倒になってきてどうでもよくなった。

iPhone 3GS買った。


Snow Leopardも買った。


そんな感じですっかりApple信者なわけですが、よく考えたら初めて所有したパソコンがMacなので、原点回帰しただけなのかもしれない。



これからはApple信者としての自覚を持って、「感性を阻害しない」とか「透明なメディウム」とか言っていきたい。

「おれ、この論文を書き終わったら新しく出たMacBook買うんだ……」などと言いながら死にそうになっていたのが二週間前。締め切り当日に半泣きで渋谷郵便局まで行ったものの、なんとか無事に死亡フラグを回避できたのでMacBook(13インチ、CPU 2GHz、HDD 160GB、メモリ4GB、USキー)を買った。というわけで買ってから、とりあえず生きていける環境を構築するまでにやったことをまとめた。

購入

オンラインのApple Storeで買おうかな、と思うも納期が5-7日になっていた。早くいじりたいさわりたいという気分だったので、もしかしたらもっと早く手に入るかなー、と思って渋谷のApple Storeに行ってみた。

『あのー、MacBookなんですけど、メモリ4GBにしてUSキーにしたらどれくらいかかりますかね?』
「三週間くらいだネー」
『(えっ、超フランク!?)あー、そうですか。オンラインで買うのとどっちが早いですかね?』
「オンラインの方が早いヨー。だいたい5-7日だしネー。ただ、ここで買うなら今日とりあえず日本語キーボードで持って帰ってもらって、USキーに交換できる準備ができたら連絡するヨー」
『(つーかガイジンさんか、なんかすげえな……)それだと交換のときにデータの移行もしてくれるんですかね?』
「それは自分でバックアップしておいて欲しいナ!」
『(えー、めんどくせー)あー、そうですか』
オンラインストアは使ったことあるノー?」
『ええ、まあ、一度だけ』
「オンラインで買うと配送用の箱に入れるから、箱が一個多いんDA・YO・NE!」
『ああ、そうすか』

さっさと帰ってオンラインで注文した。21日の15:00に注文して、28日の朝08:00に着いた。いろいろあって、29日の夕方からいじり始めた。

起動

  • command+q でネットワーク設定を飛ばす(MACアドレスの登録が必要だけどどこに書いてあるのかわからない……)
  • command+q でユーザ登録を飛ばす(英語キーボードで日本語入力モードにする方法がわからない……)

システム環境設定

  • キーボードとマウス -> キーボード -> 修飾キー
    • Caps Lock を Controlに、Control を Caps Lockにする
  • ネットワーク -> AirMac -> 詳細 -> AirMac
    • 他のマシンでMACアドレス(AirMac ID)を登録する
    • "優先するネットワーク" の+を押してネットワークを追加する
    • 画面左上のアップルマーク -> ソフトウェアアップデート
      • ダウンロードに時間かかるので他の設定をする
  • Dock
    • "画面上の位置" を左
    • "Dockを自動的に隠す/表示" をチェック
  • ExposeとSpaces -> Spaces
    • "Spacesを有効にする" をチェック
    • "メニューバーに操作スペースを表示" をチェック
  • セキュリティ
    • 一般
      • "このコンピュータをスリープ状態またはスクリーンセーバから解除するときにパスワードを要求" のチェックを外す -> 自動ログインをどうするか訊かれるので切る
      • "システム環境設定の各パネルをロック解除するときにパスワードを要求" をチェック
      • "使用しない状態が" 60 "分間続いたらログアウト"
      • "安全な仮想メモリを使用" をチェック
      • "リモートコントロール赤外線レシーバを無効にする" をチェック
    • ファイアウォール
      • "特定のサービスおよびアプリケーションにアクセスを設定" をチェック
      • 詳細
        • "ファイウォールのログを有効にする" をチェック
        • "ステスルモードを有効にする" をチェック
  • デスクトップとスクリーンセーバ -> デスクトップ
    • AppleイメージのAqua Graphite
  • Bluetooth
    • "入" のチェックを外す
    • "Bluetoothの状況をメニューバーに表示" のチェックを外す
  • ディスプレイ
    • "環境光の変化に合わせて輝度を自動調整" のチェックを外す
    • "輝度" を下げる
  • 共有
    • "コンピュータ名" を変更
    • "リモートログイン" をチェック -> 省エネルギーが開く
  • 省エネルギー
    • バッテリー
      • "コンピュータのスリープ" -> しない
      • "ディスプレイのスリープ" -> 15分
      • "この電源を使用するときはディスプレイを少し暗くする" のチェックを外す
    • 電源アダプタ
      • "コンピュータのスリープ" -> しない
      • "ディスプレイのスリープ" -> 30分
  • Time Machine
    • "Time Machineの状況をメニューバーに表示" のチェックを外す
  • 日付と時刻 -> 時計
    • "秒を表示" をチェック

メニューバー

  • 画面右上のバッテリのアイコン -> 表示 -> "割合" をクリック
  • キーチェーンアクセス.app(Applications -> Utilities)を起動 -> 環境設定 -> 一般
    • "メニューバーに状況を表示" をチェック

Dock

  • FinderとSafari以外を消す
  • 辞書.app(Applications)をDockに入れて起動 -> 環境設定
    • Dictionary, Thesauras, Wikipediaをチェック
  • ターミナル.app(Applications -> Utilities)をDockに入れて起動
    • Dockのターミナルを右クリック -> "ログイン時に開く" をクリック
    • 環境設定 -> 設定
      • 左下の+をクリック、適当な名前を付ける
      • テキスト
        • フォント -> Monaco 12pt
        • "テキストをアンチエイリアス処理" をチェック
        • テキストの色 -> 白
        • カーソルの色 -> 緑(不透明度50%)
        • 選択部分の色 -> 白(不透明度50%)
      • ウィンドウ
        • タイトル -> なし
        • 背景の色 -> 黒(不透明度80%)
        • ウィンドウサイズ -> 110x44
      • シェル
        • シェルの終了時 -> シェルが正常に終了した場合は閉じる
      • 詳細
        • "オーディオベル" のチェックを外す

Safari

これくらい設定したところでソフトウェアアップデートのダウンロードが終了。ソフトウェアアップデートをすると再起動される。


色々インストール

  • AquaSKK
    • インストールしたら一回ログアウトする
    • システム環境設定 -> 言語環境 -> 入力メニューでAquaSKKを選択
    • 環境設定 -> 入力設定
      • "入力モードアイコンを表示する" のチェックを外す
      • "入力モードを統一する" をチェック
    • 日本語を入力できるようになったので、自分のホームにある "ユーザ登録"(/Users/ユーザ名/Library/Assistants/Send Registration.setup へのシンボリックリンク) をダブルクリックしてユーザ登録をする
  • KeyRemap4MacBook
    • インストールしたら再起動
    • システム環境設定 -> KeyRemap4MacBook -> Emacs Modeを適当にチェック
  • Firefox lzyc
    • Applicationsに入れる -> 名前をFirefoxに変える -> Dockに入れる
    • 前のマシンから環境移行
  • EIJIRO mini
    • Applicationsに入れる -> Dockに入れる
    • 前のマシンから辞書データを持ってくる
  • FLIQLO
    • 自分のホーム -> Library -> Screen Saversに入れる
    • デスクトップとスクリーンセーバ -> スクリーンセーバ
      • スクリーンセーバ -> その他 -> FLIQLO
      • スクリーンセーバを開始 -> 10分
  • Mercurial
    • MacPortsで入れようとすると依存関係でpython25を入れようとするので、公式から落としてきてインストール
    • MacPortsPythonはデフォルトではほとんどのモジュールが無効になっていて、必要なものは別途py25-*を追加するらしい -> めんどくさいので最初から入っているPythonを使う
  • Xcoce
    • 付属DVDから入れる
  • MacPorts
    • 普通にインストールする

MacPorts

Finder

まとめ

以上のようなことをやった結果、↓こんな感じになった(クリックすると原寸大画像を表示)。なんかすげー地味だな……。

とりあえず生きていける環境になったので、あとは部屋を掃除してプリンタを置く場所を確保して、プリンタキャッシュバックキャンペーンの書類を印刷するなどしたい。