高ッ!

別に取りたてて買い換える理由も必要もなかったんですが、バッテリーがヘタってしまって、古い携帯電話のバッテリーだけ買うのもバカらしいので、今の高い旧料金プランの変更とその他諸々と一緒に、新しく携帯電話買い換えることにしました。

最近の携帯電話って高いですね~・・・。メールと待ち受けとおサイフケータイぐらいしか使ってないので高機能な高価な機種じゃなくてもいいんですが・・・カタログもらってきていろいろ見ていると、やっぱり高機能のものが欲しくなってしまいます(^^;;;

いろいろ迷って、結局、前から使っている富士通(Fシリーズ)のタッチ入力できる機種にしてしまいました(^^

F-06B

ついでに、ベーシックブランからバリュープランへ~。月々の料金が若干少なめに。携帯買うときオプションでいろいろ契約させられたけど(本体価格がちょい安くなる)、速攻で解約(笑)

なんか、本体価格の割引の代わりにいろんなサービスを契約させられるのって、僕には単なる嫌がらせ(抱き合わせ商法?)にしか感じられない・・・。

前の携帯(F904i)から格段に高機能になって快適なんですが・・・バッテリー減るの早っ!!!

コマンドプロンプトのログを取る(その3)

コマンドプロンプトのログを取る(その2)
コンソール(CMD.EXE)のログを取る (不完全版)
の続きです。

その2で、僕が望んだ動作はほぼ達成できました。だいぶ不完全だけど・・・。
その2の不満点は、CTRL-Cを押すとcmdlog.exe自体がガサッと落ちてしまうんです(子プロセス諸とも終了してしまう)。やはり、CTRL-Cを押すと、子プロセス側で走っているコンソールプロセスだけ死んで欲しいのは当然ですよねぇ。
ってことで、こういう場合は、親プロセス(cmdlog.exe)がCTRL-Cを受け取ったら、親プロセス側は何もせず、CTRL-Cイベント(シグナルかな?)をそのまま子プロセスに渡してしまうのがお約束かとおもいます。

で、そのまんまのSetConsoleCtrlHandlerというAPIがありますので、これを使います。

このAPIは名前のとおり、コンソールプロセスでCtrl-CとかCtrl-Homeを受け取ったときに呼び出される関数をセットできるもので、既存のハンドラルーチン(関数)を追加、削除ができます。
なわけで、

/*CTRLハンドラ*/
BOOL WINAPI CtrlHandler(DWORD dwCtrlType)
{
  BOOL bRetVal = FALSE;

  if(dwCtrlType == CTRL_C_EVENT || dwCtrlType == CTRL_BREAK_EVENT)
    bRetVal = GenerateConsoleCtrlEvent(dwCtrlType,Context::ProcessInformation.dwProcessId);
  
  return bRetVal;
}

のようなシグナルハンドラ(っていうのかな?)を追加すれば、Ctrl-Cを子プロセスに送って自分(親プロセス)は何もしないってことができます。良かった。パチパチ。

ってなわけで・・・

若干手直ししたソースはこちらから。。。(cmdlog03.zip)
全てのソースはこっちに移動

あとは・・・そうですね・・・いいかげん、コマンド引数からログファイル名を指定するようにせんといかんな・・・ハードコードなんてダサすぎる・・・(ーー;;;


コマンドプロンプトのログを取る(完結)
コマンドプロンプトのログを取る(その3)
コマンドプロンプトのログを取る (その2)
コンソール(CMD.EXE)のログを取る (不完全版)

やっぱり要らないや

先週末、梅田のヨドバシで買い物ついでにiPadを予約してきた。
だけど・・・これキャンセルしようと思ってます。もしたぶんその日に在庫があったら衝動買いしていたと思う。いや衝動していたはず。それだけ、触った感じの印象が良かった。

で、ほぼ1週間経とうとしているのですが、まだ手に入る気配は全然ない。正直、2日ほど前からiPad熱も覚めてしまった。

ふと、考えた。僕はiPadを買ったらそれで何をしようとしてたんだろう・・・と。

iPod Touchはメディアプレーヤーとして、Webブラウザとして、持ち歩き、また、寝床で眠りにつくまでの退屈しのぎに活躍(笑)している。で、iPadは?

そう考えると、iPadの落ち着く先がないんだ。。。

  • メディアプレイヤーとして・・・
    家で見るんだったら、わざわざiPadじゃなくて、テレビで見るよね。そもそも、あんなでかい画面で外でエッチな動画見れないし(笑)嘘です(^^;;;

  • Webやメールなどのインターネット接続端末として・・・
    そもそも外に持ち歩かない(重くてデカくて持ち歩けない)し、家じゃスリープ状態にしてあるパソコンがあるし・・・。寝床で横になりながらなんてサイズ的に無理だし・・・。

  • デジカメのフォトストレージとして・・・
    確かにノートPCよりいいんだけど・・・、そもそも人の目が気になるので撮影場所で画像なんかチェックできない。(どういう写真撮ってんの?というのは横に置いといて(^^;;;

  • 新聞・雑誌のビューアーとして・・・
    電子書籍ならダウンロードするだけで済むけど、既存の紙媒体の雑誌や本を取り込むには、ScanSnapのような連続スキャナーが必要だし、週刊雑誌をいちいち裁断してスキャンして取り込んで・・・とか毎週毎週やってらんない。そもそも雑誌なんて一回読み終わったら二度と見ないし。

僕のライフスタイル?では、どう理屈をこねようと、iPadに居場所がないんだ。

僕がiPadのような持ち運びできるサイズのコンピュータ端末に求めるものは、「汎用」である、ってこと。

iPadを実際に触って気付いた。汎用ってのは、要は、広く浅く何でもできるってこと。メールやウェブ巡回のためだけならiPodや携帯で充分。それ以上の「何か」をiPadに求めていたのかもしれない。でも、iPadはプログラムのソースをビルドすることも、HTMLでWebページやスクリプトソースを書くことも、それを実行することもできない。

ただ、見るだけ、聞くだけ、消費するだけ、何かを作りたい、何かを表現したい、といったことをやろうとすると、途端に、単なるカッコイイ、デジタルジャンクと化す。

IT系のニュース記事によると、iPadはiPhoneの3倍以上の初速で売れているんだそうだ。アップルは、というか、ジョブズは、今までにも増して、イヤなやつになっちゃってる。というか、この人、きっと M なんだろう(笑) わざと嫌われようとしているんじゃね? と思ってしまう。まぁ、そんなことはどうでもいい。ジョブズがどんなイヤな奴でも、アップルの価値はIT業界でナンバーワン!になり、いまや飛ぶ鳥を落とすが如く、強権的とも言えるぐらいの勢いで、イケイケ・ウハウハ状態だ。

iPadを手に入れた上司が呟いた「いつまで続くのかな・・・」印象的だった。

 
と、いうわけで・・・? iPad熱が冷めてしまった僕は、新しいケータイに熱を上げるのであった。。。これこそ、無駄だね・・・。いや、分かってるんだけど・・・。

3年近く使っている携帯をそろそろ買い換えようと・・・ドコモショップで昨日予約してきました(^^;;;

  • WiFi
  • Bluetooth
  • GPS
  • ワンセグ
  • カメラ
  • FullHDムービー
  • 防水
  • FMトランスミッター
  • おサイフケータイ
  • 指紋認証

等など・・・僕が望む機能、ほぼ全部入りです(^^

ガラケー

Xperiaのようなスマートフォンもいいんですが・・・やっぱりガラケーが一番使いやすいんじゃないかと。。。

かくして・・・物欲は尽きないのであった・・・

チャンチャン、と。

画像のプリロード

一昔前、Webページ上での画像のロールオーバー(画像の上にマウスポインタを重ねると画像が変わるアレです)にJavascriptが使われていましたね。でも、今は、Javascriptではなく、CSSで実現する方法が標準となりつつあります。
たとえば・・・

a      {background: url(xxx.jpg);}
a:hover{background: url(yyy.jpg);}

こんな感じですかね。IE6では、アンカータグ(<a>)しか対応してませんが、他のブラウザなら他のタグでも可能です。

で、ここで僕がはまったのが、ページに初めてアクセスしたとき、ロールオーバーさせる要素にマウスを持っていくと一瞬空白になってしまうんですよねぇ・・・。初めてページを表示させたときまだロールオーバーさせる画像が読み込まれていないのが原因で、解決方法は簡単、画像を先読みさせてブラウザのキャッシュに入れてしまえばいい。要するにプリロードさせればいい。んな、こたぁ、言われなくても分かるんです。

その方法は・・・頭の悪い僕では2つぐらいしか思いつきません・・・

  1. javascriptを使って (new Image()).src = “yyy.jpg”; とかしておく。
  2. HTML内に幅/高さを1にした<img>タグを書いておく。
  3. 画像を一枚用意して、width,height,background-positionを駆使して切り分ける

無駄なタグを含める後者は論外。画像を一枚に・・・というのは新規につくるページだと最適ですが、既存の組みあがっているページとなると無駄に工数がかかってしまう。一番簡単にできそうなのは・・・やはりスクリプトで。・・・せっかくロールオーバー処理からJavascriptを排除したのに・・・(--;;;
ブラウザの最適化処理で自動的に読み込んでくれれば問題ないんですけどね・・・。そもそも、css内にある画像は先読みしてほしい気もします。まぁ、無駄にメモリー消費が増えてしまう、パフォーマンスの問題も絡むので無理か・・・。

結局、

/**********************************************
  画像を読み込んでおく関数
  preload(画像1,画像2,....);
***********************************************/
function preload()
{
  var len = 0;

  if((len = arguments.length) &lt;= 0)
    return;

   for(var i=0;i&lt;len;i++)
    (new Image()).src = arguments[i];
}

preload('yyy.jpg','zzz.png');

とかやってしまうんだけど・・・。

う~ん・・・スクリプトを使わない上手いやり方はないものか・・・。

塵も積もればなんとやら

と、申しますが・・・500円玉は塵じゃないかな・・・(^^;;;

僕は小銭をジャラジャラ持つのが大嫌いで、2~3日に一度は小銭入れをガサッと貯金箱(ただの空ビンですが・・・)へ投入。っつーことをしていると、自然にその量がハンパじゃなくって・・・、銀行へ持って預入しようかと思い、硬貨別にやっと整理し終えました・・・。

塵も積もれば・・・


これって、ATMじゃ無理っぽそうですね・・・。

 
今週も(個人)撮影会へ~。帰りに梅田のヨドバシへ買い物しにいったら、なにやら行列が・・・行列の先には、iPadの予約受付カウンター・・・。行列にはなぜか並びたくなる習性があるみたいで、僕もその列へ・・・(笑)

あ、デジカメ売ったお金と、この硬貨で、充分買えそうです・・・。う~ん・・・発売前に、あれだけバカにしてたiPadも、実際触ってみると欲しくなるんですねぇ~。まぁ飽きたら売ればいいや(^^;;;