そういえばいつの間にか禁煙してから 1 年が過ぎていました。
マルボロメンソールを一日あたり平均 15 本吸っていたとし、 単純計算してみました。
(15 / 20) * 330 * 365 = 90337.5
おー 9 万円も浮いたのかな。これはご褒美に何か買おうかなあ。
やめて特に願うことは、食事処の分煙化がもっと進んで欲しい。
タバコを吸っていたときは、自分の口がタバコの臭いにまみれていたため 匂いに気づきませんでした。臭ってくると気分が滅入ります。
臭いを嗅がせてしまっていた人ごめんなさい。
そういえば都内で寄ったモスバーガーはすべて部屋が分煙化されていました。すばらしい。
もっと色々な企業が取り組んでくれることを期待したいです。(特に居酒屋がやってほしいなあ・・・)
ちょこちょことサンプルコードを書いていたら、 private なクラス メソッドが Ruby では外部から呼び出しができてしまいました。
こんなコード。
class Hoge
private
def self.hello
"Hello."
end
def huga
"Huga."
end
end
puts Hoge.hello
puts Hoge.new.huga
Hello. access.rb:13: private method `huga' called for #<Hoge:0xb7c74964> (NoMethodError)
よく分からなかったので、先日購入したプログラミング Ruby を見てみました。
private は明示的なレシーバを指定して呼び出せず、 レシーバは常に自分自身 (self) です。
レシーバとは . (ピリオド)の前の部分とのこと。
Java と C# で書いてきたので違和感を感じてしまうなあ。 たくさん書いてはやく違和感をなくしたいと思います。
[追記:] private_class_method :hello と指定することでクラスメソッドを private にすることができました。
レイトショーで参戦。
ボーン・スプレマシー終盤のカーチェイスに勝るアクションでした。
前方の席だったからなのか音がいつもより大きく感じました。 見るならぜひ映画館でっていう作品。
上映が終わった 1 時過ぎに出口に向かうと、 年にして 60 前後と思える身なりの整った男性がいました。
自分もいくつになっても好きと言えるものがありたいものです。
Math.max.apply(this, [4, 7, 2, 1]); // 7
こんな感じのコードをみて最初何してるの?と思いました。
適当に WEB で調べてみると arguments がキーになりそう。
function foo() {
return arguments;
}
foo.apply(this, [1, 5, 3]); // [1, 5, 3]
foo.call(this, [1, 5, 3]); // [[1, 5, 3]]
foo.call(this, 1, 5, 3); // [1, 5, 3]
call で呼び出した場合は、可変長に渡した引数が arguments として正しく理解されています。
動的に引数が変化するものを許可する関数(今回でいえば Math.max)を作成したい場合には、 arguments から引数をとり、 apply で呼び出すようにコーディングすればいいのかな。
call は引数が静的なため処理、特に無名関数を利用した軽いインターフェースに利用しそう。(呼ばれる)
function foo(func) {
func.call(this, "Hello!");
}
foo(function(message) {
window.alert(message);
}
apply はユーティリティ的な関数。(呼ぶ)
call と apply の使い方(呼ばれる、呼ぶ)は自分の勝手なイメージです。
何はともあれ少しだけ理解が深まりました。
本家 Putty では右 Alt キーが効かない。
http://yebisuya.dip.jp/Software/PuTTY/
右 Alt を有効にするパッチを当ててくれているんですね。
[端末]-[キーボード]-[右Altを右Altのまま使う]にチェック。
ありがたく使わせてもらいます。
以下自爆。
変えた後に putty 上の Emacs の挙動がおかしい。 というか Ctrl キーからのコマンドを受け付けていない。
。。。
XKeymacs の対象プロセス名が変わっていることに気づきました。
putty.exe が XKeymacs の対象になってしまっただけなので、 あらためてプロパティから無効にし動作も正常になりました。
PHP を久しぶりに動かしてみたところ
PHP Warning: Module 'PDO' already loaded in Unknown on line 0
なんて警告が出るようになってしまいました。
このエラーをググってみたところ extension の定義が重複していると出るとのこと。 少し探してみたところ /etc/php5/conf.d/pdo.ini に 以下の記述が見つかりました。
# configuration for php PDO module extension=pdo.so
/etc/php5/cli/php.ini (apache 含む)にある記述と見事に重複しています。 pdo.ini のほうをコメントアウトにしてみたところひとまず警告が出なくなりました。
Ubuntu のバージョンアップでいつの間にか更新されてしまったのか、 パッケージによる更新によるものなのか不明。
こういう情報を集められないのが駄目だなあ。
Firefox3 から自動更新はすべて https によるセキュアな通信からで ないといけないらしいです。というか Beta1 からなっていました。
拡張作者は addons.mozilla.org(AMO) に登録申請して、ユーザは AMO から拡張をインストールする動きが基本的な流れになるようです。
なんだか気軽(ではない?)に拡張が作成されなくなる気がしないでもないですが、 userChrome.js があることですし、気軽なものはこっちにシフトして いきそうです。
断線寸前だった TriPort IE から乗り換えしました。
前に E2C を持っていましたが、 SHURE は外部との音の遮断性 や装着感(外れにくさ)が他のメーカーに比べていいです。
TriPort IE に比べ低音は出ませんが、かなり満足しています。
耳の上側からイヤホンを装着することを SHURE 巻きというらしい。
初めて 2weeks の使い捨てコンタクトに変えてから、 現在装着しているコンタクトで最後なため眼科へ。
3 ヶ月分で 6000 円ぐらい。通販の安さに少し惹かれてしまいます。
1 day はどうなんでしょうね。手入れをしなくてすむっていうのは 大きなメリットに感じてしまいます。
次のときにでも相談だけでもしてみよう。
そういえば今回自分が診察を受ける前に、診察を受けてる人が目(網膜)に 傷をつけてしまったらしく、治療による痛みからか涙目。
また診察室から医者の声が聞こえてきて、その内容に少し精神的ダメージ。
目を大切にしていくためにも定期検査と併せて購入していこうと思います。
EMOBILE のニュースに続いて au も PC 向けのデータ通信定額プランを 出してきてくれたので、このまま競争していっていい方向にいってくれることを 期待したいです。
EMOBILE のギガデータプランって実は釣りなんじゃないのか?
au は Windows のみってのが、自分にとってはこれからを考えるとネックかも。
と妄想が膨らむものの外出が多いビジネスマン(法人)や一人暮らしで ノートマシンのみ持つような人以外実際のところ使い道があまりないのではないか。
定額 3000 円ぐらいで 2,3 Mbps 出れば踏み切れる気がするんだけどなあ。