//yan's Diary yan's Diary

2010/05/09

ヘルシータバコ”AMERICAN SPIRIT” 2

自宅近所のタバコ屋さん(タバコ専門店)に行って、”AMERICAN SPIRIT”を探してきました。

向かって左の水色パッケージは”レギュラー”、真ん中のエンジ色パッケージは無農薬タバコを使った”オーガニック”、右は前回紹介した”ライト”です。いずれも化学物質無添加にはかわりありません。




写真ではわかりにくいかもしれませんが、”レギュラー”と”オーガニック”はハードパッケージ、”ライト”はソフトパッケージです。またタールとニコチンの量は以下のとおりですので、最近の1mgタバコを吸っている方にはキツいんじゃないかなと思います。

”レギュラー”  タール12mg、ニコチン1.5mg
”オーガニック” タール12mg、ニコチン1.7mg
”ライト”    タール8mg、ニコチン1.0mg


いずれにしても、歳をとっても健康的にタバコを吸いたいものですね。
 
 

2010/05/08

ヘルシータバコ”AMEICAN SPIRIT”

私は、普段セブンスターを1箱/日以上吸う今ではヘビースモーカーに分類される程度の喫煙者なのですが、どうやら10月からタバコが値上げされることが本決まりになったようで心痛める毎日です。

タバコの経済的な負担はともかく、一般的には健康的な害も噂されております。そこで、高品質葉たばこのみ使用、化学物質無添加、無香料という非常にヘルシーなタバコ”AMEICAN SPIRIT”をみつけて買ってきました。340円也。

この”AMEICAN SPIRIT”は米国ニューメキシコ州サンタフェ(宮沢りえで有名)にある”サンタフェナチュラルタバコ社”が発売している紙巻きタバコで、写真の黄色いパッケージはタール8mg、ニコチン1.0mgのライトです。

一般的な紙巻きタバコは、フレイバー性を加味する添加剤の他、一度火を着けたら放っといても火が消えないように燃焼促進剤なんかも含まれているそうですが、”AMEICAN SPIRIT”は100%無添加タバコだそうです。

結構芸能人も愛用しているようで、ダウンタウンの浜田や、ナイナイの岡村の他、「踊る大走査線」の青島(織田裕二)も吸っていましたね。やっぱりヘルシーに喫煙したいもんです。

 

2010/05/05

南京町のおみやげ

バス釣り男さんが、GWに神戸元町南京町に行かれたそうで、写メを送っていただきました。豚まん、アンマンだそうです。

予想どおり向かって左の豚さんが豚まん、向かって右のパンダさんがアンマンだそうです。お味のほどはまたコメントでも入れていただくことにして、かわいいですね。特にパンダさんの黒い部分はなんでできているのか不思議です。チョコかな?

私にとって南京町と言ったら半ば地元なんですが、最近ご無沙汰しています。昔はこんなかわいいものなんてなくて、老祥記の豚まんを並んでまで買う気のない私は、水餃子を中心に食ってたんですが、時代は変わったかな?
 
 

新Macのプログラミング入門 その7

Mac、およびCocoaファンの皆様、なんとGWスペシャルということで2回連続して「新Macのプログラミング入門」をアップします。さすがにGWは趣味の時間がたくさんあって、ええなぁ。


今回は前回の続きみたいなもんですが、「ヒレガス本第3版」P223第14章のチャレンジ問題に挑戦します。

本書P223には、「NSApplicationは、NSApplicationDidResignActiveNotificationという通知をポストします。」とあります。同じページの14.8にはこのような通知を受けた場合のメソッド名の決まりが載ってます。すなわち、メソッドは次のようになると思われます。また、オブザーバは自動で登録されるとのことで、実装する必要はないと思われます。

-(void)applicationResignActiveNotification(NSNotification *)aNotification {
beep();
}


ところが、このメソッドを”AppController.m”ファイルに実装して、”File's Owner”から”AppController”へのデリゲート接続を確認しても、うんともすんとも言わず上手く動作しません。そんな訳で、デベロッパドキュメントで、”NSApplicationDidResignActiveNotification”を調べてみると、似たような通知に”NSApplicationDidBecomeActiveNotification”つうのがみつかりました。私のつたない英語力でもresign=辞める、become=成る、となると”〜become〜”の方がチャレンジ問題、「アプリケーションがアクティブになった際、ビープ音を鳴らすようにしてください」には適していると思われます。


ということで、以下のメソッドを”AppController.m”ファイルに実装してみたところ、上手く動作するようになりました。

- (void)applicationDidBecomeActive:(NSNotification *)nc {
NSBeep();
}

尚、ビープ音はシステム環境設定で設定したものなので、このままではこのアプリからは変更できません。

それにしても「NSApplicationは、NSApplicationDidResignActiveNotificationという通知をポストします。」の部分は誤植なのか、本当に読者を試しているのかよく判らないですね。「その2」でも本書の記載が怪しいのか、ひっかけなのかわからないという事件に遭遇しましたが、今回も真相は著者と訳者にしかわからないんでしょう。ちなみに、私は原著を確認するほどの強者ではありませんので、あしからず。
 
 

新Macのプログラミング入門 その6

今回の「新Macのプログラミング入門」も、例によって「ヒレガス本第3版」を素材に使っています。今回のコードはかなり無理矢理な感じで、自信ありません。わかっている人ならもっとシンプルに書けそうな気がしますが、とりあえず恥を忍んでアップしてみます。例によってMacのプログラミングにまったく興味の無い方、休日に詰め将棋や詰め碁を楽しんでいる”波平さん”みたいなものなので、そんな風にごらんください。

前回「その5」で紹介、および私なりに解説したのが、P216の第13章のチャレンジ問題。本書を次の第14章へと読み進めていくと、やっぱり”このままじゃいかんなぁ”という気になってきます。本書P217にもあるとおり、”Preference=環境設定”パネルの設定は既にオープンされているウィンドウには働かず、設定以降新たにオープンされるウィンドウにしか適用されません。チャレンジ問題で環境設定を初期値に戻すリセットボタンを設置した訳ですが、このリセットボタンも同様に、リセット後新たに開いたウィンドウは初期値に戻されてても、既にオープンしているウィンドウはリセットされずそのままの状態です。実際にこういう動作をするアプリって結構見かけますが、どうでしょう。そんでもって、これはまさしく第14章の”通知=Notificationの使用”が解決する内容ですので、私なりに修正してみました。

先ずリセットボタンが押されたという通知に名前を付けるため、”PrefernceController.h”ファイル内で、以下の赤文字のグローバル変数を新規に宣言します。宣言する場所は、”@interface”の直前にしています。変数なので、名前の付け方は適当ですよ。

extern NSString * const BNRTableBgColorKey;
extern NSString * const BNREmptyDocKey;
extern NSString * const BNRColorChangedNotification;
extern NSString * const BNRColorResetNotification;



続いて"PreferenceController.m"ファイルで、以下のとおりグローバル変数(赤字)を実装します。これまた実装する場所は、”@implementation PreferenceController”の直前にしました。

NSString * const BNRTableBgColorKey = @"Table Background Color";
NSString * const BNREmptyDocKey = @"Empty Document Flag";
NSString * const BNRColorChangedNotification = @"BNRColorChanged";
NSString * const BNRColorResetNotification = @"BNRColorReset";



次に、”PreferenceController.m”の”-(IBAction)resetPreference:(id)sender”メソッドに、以下のように赤字の部分を追記します。このアクションメソッドは環境設定パネルのリセットボタンの動作内容を決めます。追加した部分は、リセットボタンが押されたことを既にオープンしている複数のウィンドウにポスト(公表)するものです。ここでバックグラウンドカラーの初期値を得るのため、あの変数この変数と試してみたのですが上手くいかず、結局一度リセットさせた”colorWell”から初期値を得ることにしました。どうも腑に落ちない部分です。

- (IBAction)resetPreference:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:BNRTableBgColorKey];
[defaults removeObjectForKey:BNREmptyDocKey];
[colorWell setColor:[self tableBgColor]];
[checkbox setState:[self emptyDoc]];

NSColor *color = [colorWell color];
NSData *colorAsData = [NSKeyedArchiver archivedDataWithRootObject:color];
[[NSUserDefaults standardUserDefaults] setObject:colorAsData forKey:@"defaultColor"];
NSDictionary *defaultValues = [NSDictionary dictionaryWithObject:color forKey:@"defaultColor"];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName:BNRColorResetNotification object:self userInfo:defaultValues];
}



さらに、リセットボタンが押されたという通知のポストを監視するオブザーバを、各ウィンドウの動作内容を定めている”MyDocumnt.m”ファイル内の”- (id)init”メソッドに追加しました。”BNRColorResetNotification”という名前の通知がポストされたら、”@selector()”で指示された”resetColorChange:”メソッドが呼び出されるしくみです。

NSNotificationCenter *nc2 = [NSNotificationCenter defaultCenter];
[nc2 addObserver:self
selector:@selector(resetColorChange:) name:BNRColorResetNotification object:nil];



最後に”MyDocument.m”ファイル内に、”resetColorChange:”メソッドを実装すればOKです。

- (void)resetColorChange:(NSNotification *)note {
NSColor *color = [[note userInfo] objectForKey:@"defaultColor"];
[tableView setBackgroundColor:color];
NSLog(@"reset color is %d",color);
}


なんとか第13章のチャレンジ問題を、私なりに修正した次第です。まっ、こういう時間と労力のかかる趣味も、GWならではとういうことでご勘弁ください。
 
 

2010/05/04

ベランダ菜園2010 プロローグ

一昨年の”トマト&プチトマト”、昨年の”空豆”、今年の前半の”わけぎ”とベランダ菜園をやって来た訳ですが、今年夏場もなんか作ろうと言う訳で、プランターの準備をしました。

土は空豆以降明らかに連作障害が出ているようで、わけぎの育ちも悪かったため、今回処分しました。通常ふるいにかけて以前の根や茎と取り除いた後、ビニルシート等に広げて天日干しをしたりして殺菌等おこなうのですが、我が家は一戸建てのくせにそんなことをするスペースがありません。幸い建物の周囲に50cmほどの土のスペースがありますので、そこに撒いて捨てることにしています。マンションのベランダ等にお住まいの方は、プランター用土の再生、または処分ってどうされているのでしょう。この辺りは農業の達人である男爵さんに伺いたいところです。

今日のところは元肥(もとごえ)のみを行い、種まきは来週以降に実施する予定です。何を作るつもりかは、種まきが終わってからお知らせします。ちなみに写真は今回のプランターではなく、子供用に植えた”ミニひまわり”の芽です。
 
 

2010/05/03

GWの同窓会 ”揚子江ラーメン”

昨日、GWということで、学生時代の友人達をUDで飲んでました。そんなに珍しい事ではないのですが、いわゆる同窓会みたいなもんです。年に数回は会う友人+?年ぶりの友人も参加してアホな話で盛り上がりました。遠距離帰省の方々も含め、みなさんお疲れさまでした。またご一緒しましょう。

さて、飲み会の締めはやはりラーメンということで、「揚子江ラーメン」のワンタン麺をいただいてきました。この淡色のスープは何味っていうんでしょうね。最近の塩ラーメンは魚介類の出汁が効き過ぎている感じがするんですが、「揚子江ラーメン」の出汁はそこまでではないです。飲んだ後にスッキリ、でもしっかりしたスープと、極細麺がバッチリです。

そんな訳で、楽しいひとときを過ごせました。ありがとさんでした。
 
 
↑ このページの先頭へ