Skip to main content

ログ取得ツール

MacBookPro、一度に一つの奇跡

MBPの何がすごいって、購入して2週間近く経過しますが、まだ子どもたちに買ったことがバレていません! これはスゴイすぎる!!

より具体的に表現するなら、本棚で本に紛れて隠しておける。木を隠すなら森の中。実際は書類に紛れさせてますが、つまりこれってうまくやれば妻にもバレずに済んでいた可能性すらある! 素晴らしいぞMBP。

トッキュウジャーのCDをこっそり買ってWindowsマシンのiTunesに入れておきました。TVで聴いてた印象以上に名曲でしたが、あいつらこれには気づくかな?

ところで私は「一度に一つの奇跡」というフレーズが気に入っていて、自分ではAppleの広告に由来する言葉だと思ってたんですけど、ぐぐっても全くヒットしませんね。もしかして私が発明した言い回しなのかもしれない! だいぶ以前から、何となく気に入っていた表現。

みおふぉん到来

まあ、あれだ、実際あまりどこかにバレるとよろしくないエントリだったりしますが、気にしないでいくか。

みおふぉんが到着したので、早速SIMを差し替えてb-mobileを解約した。年間契約とかじゃないので何の縛りもない。

b-mobileの解約の手軽さは異様なほどで、ログインしてボタンを1つ押すと、確認のOKダイアログが出て、そこでOKを押すと解約申し込み完了。解約理由のアンケートを何枚もやらせたりしてこない。メールのURLを踏ませて確認したりしない。しかも解約のキャンセルは不可。この手軽さは世の中の企業にも見習ってほしいですな。とても感心しました。

今後は回線の契約もくらうど型というか、API型になっていく気がします。回線契約のREST APIがあって、CLIツールで1行書くと何回線も一気に引けたり切れたりするっていうね。設定情報もJSONで返ってきてマシン側で設定できるのね。ちょっと何言ってるか分からないですけども。

川崎3-4大宮 (逆等々力劇場)

稀に見るシーソーゲームは怒涛の4試合連続ロスタイム被ゴールで劇的逆転負け、で幕を閉じた。これは痛い。痛すぎる。菊地に2ゴール。 伊藤宏樹が引退してなかったら勝ってた試合? 菊地を放出してなかったら?? そんなこと言ってどうなるわけでもないのだが、山本真希では逃げ切るための交代にはならんのでしょう。 神戸戦の感想で2005年がどうとか、書かなきゃ良かった。だってこんなことになるとは思わないもん。

テスト

練習。小括弧()を使わなくてもある程度までプログラムを書けるんだなぁ。Lispと対比して何かひとこと言う必要ある? [pyg language=“ruby”] #! /usr/bin/ruby tbl=[] STDIN.readlines.each do |l| tbl.push l.strip.split end lens=[] tbl.each do |row| row.each_with_index do |col, i| begin if col.length > lens[i] then lens[i]=col.length end rescue NoMethodError, ArgumentError lens.push col.length end end end tbl.each do |row| l=[] row.each_with_index do |col, i| l.push col.rjust lens[i] end puts l.join " " end [/pyg] ある種すごいと思ったのは、配列要素の初期値がnilなので存在しないインデックスを指定するとnilが返ってくるところ。Python時代は例外が発生するからね。ただし、awkなら0と"“の両方として使えるのでいきなり++とかしても数えたりつなげたり処理できるが、Rubyはそうはいかず、nilとintの演算で例外が発生する。結局if文を入れるか例外を拾うかのどちらか… そして、nil > 10 はNoMethodError、10 > nilはArgumentError例外が発生する。違うんだこれが。

initctl

upstartってUbuntuで使われているものなので、良さそうだけど縁がないと思っていたが、CentOSとかでも普通に使えるんですね。最近気づきました。 initctlコマンドはそれなりに使いやすいし、設定ファイルも分かりやすい。sysvinitは私は慣れてるけど不格好だし、systemdはいまいち動作をつかめる気がしない。 これは良いことを知ったぞ。 Macはlaunchdというまた別のものなんですね…しかもcronの仕事もこいつにさせてるのか。

Homebrew Cask

Macのアプリ(.dmgや.zipの中に.appや.pkgが入っているもの)もやっぱりbrewでインストールするよね、という人が使っているのがCask。 Caskが用意されていないアプリも多いので、どう効率よくCask化するか、というのが問題になる。 私の場合は、自分のリポジトリがgithub.com/wtnb75/homebrew-testであって、ここをbrew tap wtnb75-testで持ってきている。 そうすると、/usr/local/Library/Taps/wtnb75-test以下にcloneされた状態になっているので、少々気持ち悪いところもあるが、ここのディレクトリをそのまま使っている。git remote set-url –push origin git@github.com:wtnb75/homebrew-test.git みたいなコマンドを実行しておくと後が楽になる。 例えばLego Digital Designerの場合、

ということがわかる。ダウンロードしてsha256を求めると、これがaeba6d0a2d0feb2bf6ce2c6be257a87caf6d51a4038e046d45568c8df7e3c6caであって、zipファイルの中にはLDD.pkgというファイルが入っている、と。ここまで分かればあとは書き下すのみ。 こうなる → https://github.com/wtnb75/homebrew-test/blob/master/Casks/ldd.rb あとはインストール(brew cask install ./ldd.rb)して動作を確認する。 確認できたら、これを/usr/local/Library/Taps/wtnb75-test/Cask以下にldd.rbとして置いて、git add,commit,pushする。何も考えずにやると2度ダウンロードすることになるが、キャッシュディレクトリの場所を知っていれば、それは実際は/Library/Caches/Homebrew/なのだが、ここに最初に(sha256やパッケージファイル名を知るために)ダウンロードしたzipファイルを、パッケージ名とバージョン、拡張子をまぜた「ldd-4.3.8.zip」として置けば、ダウンロードが一度で済む。 Macの場合はアンインストールもそれほどややこしくない(アプリはディレクトリの格好になっていて、アンインストールは単にディレクトリを削除するだけ)のだが、中央管理したがるのは習慣か。Linux使ってても、何かとspecファイル書いて野良rpmを作って管理したがる習性があるんですよね私。 しかしbrewはファイル名とクラス名が一致(ファイル名はlowercase, クラス名はCapitalize)してないとダメなのかな? それはあまりよろしくないんじゃなかろうか。こういう制約は毎日邪魔だと思う以上の意味がないよね。Javaじゃないんだから。

Vagrant + AWSメモ

vagrantのawsプラグインを今更ながら使う。Macになって、VagrantもWindowsから使ってた頃よりも使いやすくなったので。普段はVirtualBoxなんですが、台数を稼ぎたい時なんかには必要だろうなぁと。自宅で遊ぶのに台数が必要か? と言われると困るが。

  • security group(ファイアウォール)を正しく設定しないとsshで入れない。Vagrantfileでもそれを指定する。
  • Amazon Linuxの場合はユーザ名がec2-user、RHELはroot、Ubuntuはubuntuと選択するOSによって異なる。これもVagrantfileに書く。
  • sshの秘密鍵(keypair)をVagrantfileと同じディレクトリに置くと、rsyncでVMの/vagrantに転送されてしまう。Vagrantfileは転送されない。
    • だがvagrant rsyncでどちら方向にもコピーされてないような気が…
  • Amazon Linuxのsudoersはrequirettyが有効なので/vagrantを作れなくてエラーになる。
    • requirettyの行をコメントアウトしてvagrant provisionでOK
  • 警告の消し方が分からない

警告というのは、これ。

MacBook Pro

転職を期に、Macとgitの人になってみました。転職前はLinux/Windowsとmercurialだったんですけどね。40を目前にして、自分を取り巻くコンピューティング環境がだいぶ変わりました。

新しい職場ではMacを使っている人が多かったので、まあ月に1度くらいWindowsが必要なシステムを使うケースもあるんですが、その場合はVDIを利用させてもらうことにして、MacBookProのRetinaディスプレイモデルを買わせてもらいました。これが殊の外具合が良いので、自宅でも同じの買っちゃいましたよ。安いし。画面が異常に美しいです。壊れてるんじゃないかと思うくらいに。計算性能も良い。

プログラミング方面では、brewとかvagrantとかchefとか、Rubyで書かれているものが多いこともあり、仕事上でも関係するので意識的にRubyを使おうとしていますが、まだPythonを使ってしまう癖が抜けてません。自分ではRubyは避けてJavaScript(node.js)に行く予定だったんですが、どうもそうも行かないような気配。いずれにしてもC/C++からは離れていきそうです。せっかくMacはclang/LLVMでObjective-Cなのにね。

トッキュウジャー…名作の鼓動

なんというか、そんなエピックなイマジネーションを感じませんか? まあ、無駄に伏線を張りすぎな感もあるが(複々線化されちゃってる、みたいなね)。

キョウリュウジャーはドゴルド/空蝉丸やトリンあたりのエピソードは盛り上がったが、他はそれほどでもなかったように思う。

川崎2-2神戸 (リーグ戦開幕)

ついにリーグ戦も開幕。等々力は雨で寒くて泣きそうでした。帰り道も暗くてね。この季節は、できればもっと昼間にやって欲しいですね。

試合の方は同じスタメンでやった貴州戦よりも良い試合になっていたように思いますが、結果はロスタイムに追いつかれての2-2。2005年の怒涛の開幕4試合(?)連続ロスタイムゴールを思い出しますね。

しかしこの季節に異常な強さを見せる印象のある神戸相手に負けなかった、2点取れたというところはポジティブ。内容も悪くない。