かれこれ1ヶ月ほど前から始まった虫歯の治療ですが、何だかえらく時間がかかっています。
歯の神経を抜いて、薬を注入する「根管治療」というやつが終わって、じゃあ今度は噛み合わせを違和感なくできるように被せ物をしましょう、という話になって、今日の診察までにどの方法にするか考えておいて欲しいと事前に言われていました。
対象となる歯は1本だけです。説明を受けて提示された対処法は以下のとおり。
自分なりに考えた結果、「奥歯だから目立たないし、男だし気にすることでもないし、銀歯でお願いします(><」と今日の診察で伝えて、歯の型を取ってもらいました。来週にSFっぽい銀歯が被せられるらしいです。
セラミックをお薦めされたものの、歯は大事だけど、ケチな自分としてはポンとウン十万は出しづらい・・・。
これからは歯磨きに気を遣って定期健診にも行こうと誓いました。
あと、一緒に歯茎の検査をやってもらったら「今のところ歯周病の症状は見られないけど歯茎が出血し易いから気を付けてねー」だって。歯茎ってどうやったら出血し辛くなるんだろう。
Pythonでは、リスト(配列)を処理するのにfor文ループが必要ときは、まずリスト内包表記が適用できないか考えるのが流儀らしい。コードが短く簡潔になって、パフォーマンス面でも良いとのこと。
例題として、「ツイッターのパブリックタイムラインから日本のユーザの表示名だけ抜き出す」というのを考えてみる。
import urllib2 import json # public_timeline取得 url = "http://twitter.com/statuses/public_timeline.json" response = urllib2.urlopen(url) statuses = json.loads(response.read()) # (1)for文 japan_users = [] for s in statuses: if s["user"]["time_zone"] == "Tokyo": japan_users.append(s["user"]["screen_name"]) print(japan_users) # (2)filter, map print(map(lambda s: s["user"]["screen_name"], filter(lambda s: s["user"]["time_zone"] == "Tokyo", statuses))) # (3)リスト内包 print([s["user"]["screen_name"] for s in statuses if s["user"]["time_zone"] == "Tokyo"])
どれもprint関数の出力結果は[u'user_name1', u'user_name2']の様なリストになる。
これまでの考え方を切り替えて、パッと(3)を思い付くようになることは、なかなか難しい。
もうタイトルのままで「馬鹿じゃないのか」と言いたいのだけど。
2010年9月請求分 (8月ご利用分) より、毎月郵送にてお届けしている請求書が、ケータイやパソコンで確認するWEB de 請求書に変わります。
2010年6月請求分から2010年8月請求分までは、郵送での請求書とWEB de 請求書の両方がご利用頂けます。
また、2010年9月ご請求分より、紙請求書発行停止特典を提供いたします。郵送での請求書を継続される場合は、申し込みが必要です (有料)。
上記と同内容の案内が封筒で届いた。ご丁寧に、携帯電話端末に設定している4桁の暗証番号が印字されている。いい迷惑である。
紙の請求書が有料になってしまうのは残念だが、しょうがないので請求情報が確定した段階でメールによる通知を受けられる「お知らせメール」というやつを設定しておくことにした。
設定は、ケータイからの操作と、PCのウェブブラウザからの操作と、どちらでも可能なようである。PCの場合は「auお客さまサポート」のサポートIDとパスワードを新たに作らなければならない。面倒なので手元のケータイから申し込むことにした。
馬鹿じゃないのか。
同じ質問ばかり繰り返すドラクエの王様じゃあるまいし。
イーモバイルが、2010-08-24より、通信料の多い契約者に通信速度の抑制措置を行う基準について見直すと発表した。
突然だったのでびっくり。
改定後の基準を引用。
- 対象
- 24時間ごとに300万パケット(366MB)以上のご利用
- 制御期間
- 当日21時〜翌日2時
通信速度が制限されるのは深夜時間帯だし、主に通勤中のフィードリーダー閲覧とツイッタークライアントの常駐の用途で繋いでいる自分の使い方では、ほとんど実害は無いとは言える。動画も基本的に見ない(電車では音が出せないから)。
けど本音はやっぱり、通信の上限におっかなびっくりしながら使うのは、ちょっとなぁという感じ。例えば今日、ちょうどWindows Updateが来ていたけど、この更新プログラムのダウンロードだけで100MBくらいは通信してるんだよね。
僕はたまたま2年契約が切れる時期だったから、「キャリアも色々と厳しいんだなぁ」という程度の感想だけど、iPadで盛り上がってて購入と一緒に回線を新規契約した人とか、かなりムカッと来るんじゃないかなぁ。タイミングが良くないよね。
いつも通りの使い方で、どれくらい通信するのか測ってみた。通勤中に40分くらい使った結果がイーモバイルのユーティリティソフトウェアに61,301,150 Bytesと記録されていたので、
61301150 / (1024 * 1024) = 58
制限値(366MB)の6分の1くらいと考えれば良いのかな。普段の使い方なら簡単には到達しないかも。
使い方は以下のような感じ。
YouTubeやニコニコ動画のような動画サイトは、モバイル利用では見ないのだけど、画像を多用する記事が掲載されるギガジンや2chコピペブログはよく読むので、ガンガンと通信量を増やす要因になっているんじゃないか。
ちょっとした社内ツールを作らなければいけない要件があったのですが、与えられている時間が少なかったので、前から気になっていたPHPのWebアプリケーションフレームワークCodeIgniterを使ってみたところ、とても良く出来ていてこれは便利だなぁと感心しました。
言語仕様にアクセス修飾子が含まれていなかったPHP4もサポートする関係から、やや古めかしい規約ベースの命名縛りがあるものの、とても良く考えられたフレームワークです。
僕の場合はsystem/application/helpers/MY_string_helper.phpファイルを作って下記のヘルパ関数を追加したくらいで、後は最初から用意された機能だけで、やりたかったことは実現出来ました。
if (!function_exists('h')) { function h($str, $charset='utf-8') { return htmlspecialchars($str, ENT_QUOTES, $charset); } } if (!function_exists('d')) { function d($o, $isExit=true) { echo "<pre>"; switch (true) { case is_object($o): var_dump($o); break; case is_array($o): print_r($o); break; case is_bool($o): echo ($o === true) ? "TRUE\n" : "FLALSE\n"; break; default : echo $o . "\n"; break; } echo "</pre>"; if ($isExit) { exit(); } } }
ユーザガイドは詰まった時しか参照していないので、もしかしたら、わざわざ追加定義しなくても用意されていた機能かもしれません。
コマンド叩いて自動生成みたいな、わざわざPHPっぽくないことをやらない割り切りのお陰か、かえって使い易くなってる印象です。作りたいものが小規模で最初から全体像が見えているようなケースでは、CodeIgniterとてもお薦めです。
余談だけど、かなり久し振りにPHP触ったのでデータベース設定がずっと上手く行かなくて「おいmysqlをちゃんと指定しているのに動かないぞ!」と袋小路に迷い込んでしまいました。よく考えたら、使っているのがmysqliだったので、こっちを指定したらちゃんと動きました。
小1時間、これにハマってしまって恥ずかしい。
$db['default']['dbdriver'] = "mysqli";
Active RecordやScaffoldingは、個人的に要らなかったので使いませんでした。
名門・勧修寺家の十七代目当主にしてベンチャー企業のオーナー、文麿。三十一歳・独身貴族の彼は、理不尽な家訓に適う素敵な花嫁を募集中!しかし彼の前に現れる美女たちは、なぜかトラブルメーカーばかり。彼女たちが巻き込まれた事件を、酔うほどに冴える酩酊推理で解決する文麿だが、結婚への道は遙か遠く。
「酔えば酔うほど推理が冴えるとか、マンガかよ!」とツッコミを入れながら読んだら、ほんとにマンガの原作がある作品だったらしい。あとがき読んで初めて知ったよ。
短編が4作収録されているけど、ほぼ定型フォーマットで話が進む。
二日酔い状態の文麿がイラッとするところまで含めて、作者の狙いどおりなんだろうなぁという感じの物語である。
短編集とは言っても、連作形式となっていて大きな時間軸は繋がっているのだけど、話の続きがとても気になるところで1冊終わってしまったのがとても残念。
ちょうど最近、ボスニア紛争の話などがネットで話題になっていたこともあって、前々から「もう一度、最初から見返したいなー」と思っていた『NHKスペシャル 映像の世紀』を図書館で借りてきた。
このドキュメンタリーをリアルタイムで見たのは、確か中学生の頃で、僕は世界史には全然興味が無かったのだけど劇中曲「パリは燃えているか」の有無を言わせぬ迫力に引き込まれて、放送の日は父と一緒に食い入るようにテレビの前に座っていた。
大人になってからはネットのお陰で、ウィキペディアやら、やる夫が解説してくれる話やらで、世界史(特に近代史)は興味が出て来たので、もう一度見たかったのである。
第1集のオープニングナレーションが、
20世紀は、動く映像として記録された最初の世紀です
から始まって、内容はまさしく、戦争と革命と兵器が映像でひたすら記録された世紀だった訳だけど、21世紀は100年後にどんな世紀として記録されるのかなぁ。今や個人の持つデバイスで動画が録画できてネットで映像配信できる時代になってしまった。
備忘録として書いておきます。
[コントロールパネル] - [ネットワークとインターネット] - [ネットワーク接続の管理]から、Tap-Win32からメイン回線への接続を許可する。
以下の2ページが、まとまりまくっているのでとても参考になる。
Windows Vistaの場合は、空イメージファイルを作成するには、コマンドプロンプトを管理者モードで起動する必要がある。容量は10GBにした。
d:\data\coLinux> fsutil file createnew root_fs 10737418240 d:\data\coLinux> fsutil file createnew swap_device 1073741824
coLinuxの設定を、作成したイメージファイルを使って起動するように変更する。
kernel=vmlinux initrd=initrd-default.gz mem=512 cobd0="d:\data\coLinux\root_fs" cobd1="d:\data\coLinux\swap_device" cofs0="d:\data\coLinux" eth0=tuntap root=/dev/cobd0 ro
rootユーザにパスワードを設定し、sudoとsshをインストールして、後はホスト機側のターミナルソフトウェアからログインして作業する。
常時使いたい訳ではないので、必要な時だけすぐに使えるように、以下のようなバッチファイルを保存してコマンドランチャに登録しておく。
cd /d d:\data\colinux colinux-daemon.exe -t nt @myinstall.conf
ソフトウェアによっては、新しいバージョンも入れられるようにしたいので、debian で補助的にunstableパッケージを使えるようにする設定を参考に(この場合はs/etch/lennyと読み換えて)sources.listを編集する。
# Subversion 1.5.xを入れようとする $ sudo apt-get install subversion -s # Subversion 1.6.xを入れようとする $ sudo apt-get -t unstable install subversion -s # Python 2.5.xを入れようとする $ sudo apt-get install python -s # Python 2.6.xを入れようとする $ sudo apt-get -t unstable install python -s
debian lenny(stable) で stable 以外のパッケージを使うという記事で紹介されているapt-cache policyも分かり易い。
$ apt-cache policy python python: Installed: (none) Candidate: 2.5.2-3 Version table: 2.6.5-5 0 500 http://ftp.jp.debian.org testing/main Packages 90 http://cdn.debian.or.jp unstable/main Packages 2.5.2-3 0 990 http://cdn.debian.or.jp lenny/main Packages
最近のツッコミ
参号館 日記(ariyasacca)