2011-12-25

GAE、 Billing History に謎の Charge Sent

前回の投稿で、GAE/J の新料金体系への対策をつらつら書いた。できるだけ出費を抑えようと、涙ぐましい努力をしているときに、Billing History で見つけた文字列「Charge Sent $0.51」。なんだこりゃ。

GAE の Charge Sent

12/18 は $0.17 に加えて $0.51?と思って、振り返ってみると、毎週 Charge Sent がかかっているみたい。週の課金累計が $2.70 のときは $0.00、累計が $1.67 のときには $0.43。

どうやら、週の支払いが $2.10 を下回ったときだけ Charge Sent の額で $2.10 になるよう調整されているみたい。

週 $2.10 が最低支払額だとしたら、日に $0.30 は使わないともったいないなと思ったり。

うちは週 $2.10 を超えるか超えないかなのでそんなに気にならないけれど、日々 $0.05 とかでがんばっているところなんかは、Charge Sent で最後に $1.75 かかったりすると、ちょっと納得がいかないかも。

とか、考えながらごそごそ探してみると、GAE のメニュー「Billing Settings」の「Change Budget」に、普通に書いてあった。Minimum Spend というらしい。
* The Minimum spend subtotal is in support of our new pricing model. The new model requires that you spend at least $2.10/week. This subtotal indicates the value beyond your other spend that we need to add to your contract. To make the transition to the new model smoother we are beginning to account for this minimum when we authorize new budget changes. Please note that you will not be charged for the minimum spend until our new model takes effect.
多分ちゃんと読まずに課金設定したんだろうな…、と反省しきり。

ということで、課金している以上は経費週 $2.10 以下なら、出費を抑えるためのチューニングはそれ以上無理にしなくてもいいってことみたいです。

GAE/J 新 Quota と新料金体系への対策

もういろんなところで書き尽くされていると思うのだけれど、自分の記録用として。

対策結果

最初に、Japanese Bloggers Info の Billing History データ。



インスタンスをたくさん使っているものの、この当時はまだ旧 Quota で CPU Time も 6.50 に収まっていたので、課金はなし。で、最終的にこうなった。



結局課金になってはいるものの、日に 7.00 ドルかかるぞ(Frontend Instance Hour は現在の半額での計算)と宣言されていたのが 0.15 ドルになったのは上出来。


対策内容

<1> Idle Instances と、Pending Latency の設定。GAE の設定ページ「Application Settings」を開いて、スライダーを使って Idle Instances の Max Idle Instances を 1、Min Idle Instances を Auto に。Pending Latency の Min Pending Latency を 15、Max Pending Latency を Auto に設定する。これだけで、Frontend Instance Hour が 35 時間くらいに激減。

<2> TaskQueue の rate(実行頻度)を緩和。5/s だったものを 2/s に。Japanese Bloggers Info は、ブログチェックのため、5 分ごとに cron で 300 個以上の TaskQueue を呼ぶ仕組みになっているので、これだけのことでも意外と効果あり。Frontend Instance Hour も大体 30 時間以内に。

<3> Backends を利用。上記の TaskQueue が一日中動いているので、日に 6 時間は Backends で TaskQueue を動かすことに。どうしても 2 インスタンス動くところがあるので、6 時間は必ず超えるけれど、9 時間までは Backends の無料枠があるので、問題なし。というか、この残りの 3 時間で、2 インスタンス動いてしまう時間を吸収してもらう感じ。で、Frontend Instance Hour もほとんど 28 時間に収まるようになったというわけ。

<4> Memcache の積極利用。全ブログのリストや、各ブログのデータなど、5 分ごとで変化しない内容については、Memcache を利用。大幅なデータ取得の仕組みは改修せず、Entity にアクセスする前に Memcache を確認するようにしただけ。Memcache になければ、通常通り Entity からデータを得て、Memcache に入れておく。それだけで、Datastore Reads は 0.27 ドルから 0.08 ドルへ、約 3 分の 1 に。

で、現在に至る、と。どれもちょっとしたことなので、誰にでもできるはず。よかったら参考にしてください。

2011-12-03

Eclipse で GAE/J の SDK を 1.6.0 に更新したらエラーが

Eclipse の Google App Engine SDK をアップデートして、「ウィンドウ > 設定」から SDK を 1.6 に変更してみたところ、問題ビューに

The App Engine SDK JAR appengine-api-1.0-sdk-1.6.0.jar is missing in the WEB-INF/lib directory
The App Engine SDK JAR appengine-api-labs-1.6.0.jar is missing in the WEB-INF/lib directory
The App Engine SDK JAR appengine-jsr107cache-1.6.0.jar is missing in the WEB-INF/lib directory
The App Engine SDK JAR datanucleus-appengine-1.0.10.final.jar is missing in the WEB-INF/lib directory

というエラー(Google App Engine Problem)が。

プロジェクトのプロパティーから「Java のビルド・パス」を選択「順序およびエクスポート」タブの「App Engine SDK [App Engine (*) - 1.6.0]」をチェックして、「OK」押したら治りました。

…けど、更新のたびに、こんな設定していたっけ?

関連:

2011-11-03

zencoding.vim のインデントをタブからスペースに変更する

Zen coding は、エディタ上で CSS セレクタのような書き方で HTML タグを記入することのできる、優れもののプラグインのこと。動画を見るとどういうものかすぐにわかるはず。


Zen Coding v0.5 from Sergey Chikuyonok on Vimeo

これを Vim に入れたというのは、以前書いたのだけれど、タグを自動挿入させたときのインデントがスペースじゃなくてタブなのが気になっていた。

で調べてみて、見つけたのがこのサイト。 インデントをスペースにするには、.vimrc に以下のように設定をすればいいとのこと。

let g:user_zen_settings = {'indentation' : '  '}

これだと、インデントにスペース 2 個を使ってくれる。ということで、どんどんコーディング環境が豊かになっていくのでした。

Acer TimelineX の AC アダプタのコードが太すぎる件

Acer Aspire TimelineX の電源ケーブル、AC アダプタのコードが太くて、鞄の中でとてもかさばるという話。

Acer TimelineX の AC アダプタ

特に太いのが、AC アダプタからコンセントまでのコード。どうにかならないかなと思っていたらこんなのを発見。

ELECOM ノートPC電源プラグ/3pin-2pin/垂直 T-PCAD32VELECOM ノートPC電源プラグ/3pin-2pin/垂直 T-PCAD32V

早速購入して、つけてみたのがこちら。違いは一目瞭然。

Acer TimelineX の AC アダプタ

右側の AC アダプタから PC までのコードだけで 2m くらいあるので、普段はこの長さで問題なし。こりゃべんりー。

2011-10-13

HTML5 Word Cloud で Google+ の投稿をクラウド表示してみる

HTML5 Word Cloud というサービスで、フィードの URL を入力すると、フィードの投稿に出てくる単語をその登場回数ごとに、フォントサイズを変えてクラウド表示してくれる。
Google+ Cloud

ここに載せてみたのは、僕の Google+ アカウントの公開投稿のクラウド。Google+ では、主にストリームに写真を流していて、いつも「(万博記念公園にて)」みたいな注釈をつけているので、それがたくさんヒットしたみたい。

Google+ のクラウドを表示させるには、上記リンクから HTML5 Word Cloud を開いて、「Click to start」ボタンを押下、「Google+」タブ、「Profile URL」欄に Google+ プロフィール URL(# は除いた方がいいみたい)を入力して、再び現れる中央の「Click to start」を押すだけ。

自分の文章の特徴がよく分かって、なかなか面白いかと。

2011-09-14

eclipse のエディタを Vim 風にする Vrapper を入れてみた

Vim の操作にも随分慣れてきた。慣れてきたら慣れてきたで、GAE/J アプリ用に使っている eclipse でも Vim 特有のキー操作をしてしまって、困ることが増えてきた。

eclipse も Vim のように操作できたらいいのにと思い、探してみたらやっぱりあった!感激! 導入は、eclipse のメニュー「ヘルプ > 新規ソフトウェアのインストール」で
http://vrapper.sourceforge.net/update-site/stable
を追加するだけ。

めちゃ簡単でめちゃ便利。ありがたやー。

2011-08-06

Flickr 写真ページから YYYY:MM:DD 形式の撮影日時を取得するブックマークレット



Flickr の写真ページって、こんな風に撮影日時が書かれているんですけど、直感的にわかりにくいのです。で、作ってみたのがこのブックマークレット。 ブックマーク(ツール)バーに入れて、Flickr の写真ページでクリックするとプロンプトが出てきて、「2010:12:23」のようなフォーマットされた撮影日時が、簡単にコピーできます。



なんでこんなものが要るかというと、ローカルで写真を探すときのため。この写真ってどこで撮ったものだっけ?とか、一緒にどんなもの撮ってたっけ?と気になった時に、PC の Picasa の検索欄にこの「2010:12:23」とかって文字列を貼り付けると、同じ日に撮影した写真がすぐさまサムネイルつきで出るという、幸せ。

YYYY/MM/DD 形式で出して、OS の検索機能で同じことするぜ!という人は、下のをどうぞ。 まあ、どちらにせよ Flickr に Exif はずして写真を載せている人は無理なんですけどね。

2011-07-24

Google+ でオリジナルサイズの画像を保存する方法

Google+ のストリームに流れてきた画像を、投稿されたままのオリジナルの大きさで保存したい!という人は、以下の方法を試してみてください。

画像 URL のパラメータを操作する

  • 1.投稿内の画像をクリックせずに、右クリック、メニューから「新しいタブで画像を開く(Google Chrome)」、もしくは「画像だけを表示(Firefox)」を選びます。
  • 2.Google+ の画像の URL は、次のように、s*** でサイズ(写真の長い方の辺の長さ)、h*** で写真の高さ、w*** で写真の幅などが、いずれか一つ指定されています。その数値指定部分、以下の URL でいえば
    https://lh5.googleusercontent.com/-SptSIXvKSOY/Tiq6Im7Wy8I/AAAAAAAADzg/h6c25cj2IEY/s400/DSC_0850-.JPG
    赤字部分を、どの場合も s0 に置き換えて
    https://lh5.googleusercontent.com/-SptSIXvKSOY/Tiq6Im7Wy8I/AAAAAAAADzg/h6c25cj2IEY/s0/DSC_0850-.JPG
    という URL にアクセスするだけで、簡単にオリジナルサイズの画像をゲットすることができます。
もちろん、Google+ プロフィールから Picasa ウェブアルバムを探し、そのアルバムから画像を「ダウンロード」する手もあるんですが、Picasa ウェブアルバムが見つからない場合も多いので、上記の方が確実でおすすめです。

なお、2の手順で、URL 中に s*** などのパラメータが見つからない場合は、投稿内の画像がすでにオリジナルです。大きくはならないので、あきらめてそのまま保存してください。

ちなみに、この Tips は、Picasa ウェブアルバムの画像や、同じ Picasa ウェブアルバムのシステムを使っている Blogger でも、使えます。興味のある方は本家ブログをどうぞ。

ブックマークレットを使用する

上記の手順を自動で行うブックマークレットを置いておきます。

以下のリンクをドラッグしてブックマークバーへ移動させるか(Google Chrome)、リンクを右クリック後「このリンクをブックマーク」(Firefox)してください。 このブックマークレットは、Google+ のストリームで画像をクリックした後に押すことで、Google+ のビューアーで表示している画像のオリジナルを表示します。

Google+ は仕様の変更が頻繁に起こるため、もしこのブックマークレットが使えなくなった場合には、コメント欄で教えてもらえるとうれしいです。

2011-07-10

Google+ と Blogger のごく近い未来予想

最近一般公開された新デザインの Blogger in Draft ダッシュボード、そういえば Google+ に似ている気が。

Blogger in Draft Redesigned Dashboard

Google+ 一般公開時に、ブランド戦略で Blogger の名を Google Blogs に変えるといわれているも、かなり信憑性があるなと思ったり。新しいダッシュボードデザインが Blogger に正式採用されるのもその時期か。

「Google Blogs なら、Google+ に投稿を簡単に取り込めますよ」とかいう流れが今後あったりするかも。ほかのブログも一応取り込めるけど、Google Blogs だけ特別に便宜を図るとか。Picasa 画像と Flickr 画像の扱いの違いみたいな。

いや、あくまで勝手な想像。

2011-07-09

「電話番号、郵便番号にマッチする真の正規表現」がすごい

実在する電話番号や郵便番号にだけマッチする正規表現。ネタとはいえ、すごい執念。 スライドではすでに文字が判別できないレベル…。リンク先ページで実物を確かめて、圧倒されてみるのがよいかと。

2011-07-08

たった 6 行の C コードで動くアスキーアートな Yahoo! ロゴ

で紹介されていた、たった 6 行の C コード。
c,p,i,j,n,F=40,k,m;float a,x,y,S=0,V=0;main(){for(;F--;usleep(50000),F?puts(
"\x1b[25A"):0)for(S+=V+=(1-S)/10-V/4,j=0;j<72;j+=3,putchar(10))for(i=0;x=S*(
i-27),i++<73;putchar(c[" ''\".$u$"]))for(c=0,n=3;n--;)for(y=S*(j+n-36),k=0,c
^=(136*x*x+84*y*y<92033)<<n,p=6,m=0;m<8;k++["<[\\]O=IKNAL;KNRbF8EbGEROQ@BSX"
"XtG!#t3!^"]/1.16-68>x*cos(a)+y*sin(a)?k=p,p="<AFJPTX"[m++]-50:k==p?c^=1<<n,
m=8:0)a=(k["O:85!fI,wfO8!yZfO8!f*hXK3&fO;:O;#hP;\"i[by asloane"]-79)/14.64;}
こんな風に動くそうな(IE ではちゃんと動かない気配)。

このデモ用の JavaScript コードですら、わずかこれだけの分量。恐るべし。
var F,S,V,tmr,doframe=function(){var k=document.getElementById("output"),c,d,e,a,f,g,h,j,b,i=[];S+=V+=(1-S)/10-V/4;for(d=0;d<24;d++){for(c=0;c<73;c++){for(a=e=0;a<3;a++){f=S*(c-27);g=S*(d*3+a-36);e^=(136*f*f+84*g*g<92033)<<a;b=0;p=6;for(m=0;m<8;){h=('O:85!fI,wfO8!yZfO8!f*hXK3&fO;:O;#hP;"i'.charCodeAt(b)-79)/14.6423;j="<[\\]O=IKNAL;KNRbF8EbGEROQ@BSXXtG!#t3!^".charCodeAt(b++)-79;if(f*Math.cos(h)+g*Math.sin(h)<j/1.165){b=p;p="<AFJPTX".charCodeAt(m++)-50}else if(b==p){e^=1<<a;m=8}}}i.push(" ''\".$u$"[e])}i.push("\n")}k.innerHTML=
i.join("");if(!F--){clearInterval(tmr);tmr=undefined}};function animate(){F=40;V=S=0;if(tmr===undefined)tmr=setInterval(doframe,50)};
うーん。コードを読んでも、いまいち何をしているのかわからない(汗
時間のあるときに、じっくりリンク先の解説を読んでみることにします。

2011-07-03

Google+ でプロフィール写真に複数の画像を指定する

Google+ でイラストをいくつかアップロードしたところ、
絵を全部プロフィールの写真にしたら、クルンクルン替わって楽しいのに。。。。。。是非してみてください♪
とアザミのギザギザさんに言われ、最初何のことかわからなかったものの、色々いじっているうちに気が付いた。

Google+ の「プロフィール」ページ、「プロフィールを編集」ボタン → プロフィールの「写真を変更」リンクのクリックで「プロフィール写真を選択」画面が出る。

そこで既存のアルバムから新しい写真を選ぶと、前のプロフィール写真と入れ替わるわけではなく全部残っていて、閲覧者によるプロフィール写真クリックで前の写真が順番に表示されるようになるみたい。

ということで、6 枚のイラストをプロフィール写真に設定してみた。クリックのたびにクルンクルン替わって…、たしかに楽しい。

2011-06-27

Windows 7 でデスクトップアイコンの位置が変更できない…

Windows 7 でデスクトップのアイコンの位置が固定されてしまった。詳しく言うと、アイコンは移動できるのだけれど、Windows を再起動すると、アイコンの位置が以前のものに戻されてしまう。

で、解決策を発見。

C:\Users\(ユーザー名)\AppData\Local にある IconCache.db を削除するだけ。簡単簡単。

ちなみに、AppData や IconCache.db はそれぞれ隠しフォルダ、隠しファイルになっているので、エクスプローラーで確認する際には、

コントロールパネル > フォルダーオプション > 隠しファイル、隠しフォルダー、および隠しドライブを表示する

という設定をしておく必要あり。

2011-06-22

キーボード・マウス用 USB 切り替え器買った

ちょっと前から使っている PFU Happy Hacking Keyboard Lite 2 のキーボード。Control キーや半角/全角キーの位置が特殊だけれど、慣れてくると非常に使いやすい。


PFU Happy Hacking Keyboard Lite2 日本語配列かな印字なし USBキーボード ブラック PD-KB220B/U

新しくパソコンを購入してからも、使い慣れたこのキーボードや Microsoft の 5 ボタンマウスをつないでいる。

たまに前のパソコンを立ち上げるときには、そのたびにキーボードをつなぎなおしていたのだけれど、だんだんそれも億劫になってきたので、USB 切り替え器を購入。


ELECOM パソコン切替器 キーボード・マウス用 手元スイッチ付 ブラック KM-A22BBK

ボタン一つで、2 つのパソコン間で USB 機器を切り替えることが可能。ディスプレイは新しいのをすでに共有して使っているので、一つの PC ラックで、とてもコンパクトに 2 つのパソコンを扱えるようになった。

この手の切り替え器には、USB ハブをつなげないものもあって要注意と聞いていたのだけれど、こちらは全く問題なし。HHKB Lite 2(2 つの USB ポートあり)にテンキーとマウスをつないでも、全部ちゃんと使えている。

切り替え器自体のあと 1 ポートにはプリンタを接続。プリンタのつなぎ直しもなくなり快適快適。

2011-06-17

typeof x == 'undefined' がいい感じ

JavaScript で、変数が定義されているかどうかのチェックするための方法 3 つ。
  • (!x)
  • (x == undefined)
  • (typeof x == 'undefined')
詳しい違いについては、こちらが参考になった。 で、たとえば、
<script type="text/javascript">
  var color = "FF0000";
</script>
<script type="text/javascript" src="check.js"></script>
っていう風に呼び出される check.js の中で、呼び出し元で色が指定されていたらその色を、指定されていなかったらデフォルトの青色を使う、みたいなことをしたい場合には、
  • (typeof x == 'undefined')
を使うのが一番いいみたい。というか、ほかのだと、color が書かれていない場合にエラーが出てしまう。カスタマイズ可能な、スクリプトを公開するときなんかには、気を付けないと。

2011-06-09

GAE/J で XPath を使って XML 解析

今まで使ったことがなかったのだけれど、XML を解析するのに XPath がめちゃくちゃ便利。
ブログ ID +ポスト ID で投稿のタイトルや URL を取得しようと思っていたのが、ちょっぴり挫折。URLFetch して、XML のパーサを使うか、正規表現でゴリゴリするか、迷い中…。
って前回悩んでいたのだけれど、その URLFetch で得た Blogger の個別投稿フィードを XPath で解析するコードが、ほらこの通り。
/* フィードを取得して InputStream に */
String feed = getSiteText("http://www.blogger.com/feeds/" + blogId + "/posts/summary/" + postId);
InputStream is = new ByteArrayInputStream(feed.getBytes("UTF-8"));

/* Evaluator を生成し、タイトル、サマリー、URL、公開日時を取得 */
XPathEvaluator evaluator = new XPathEvaluator(is);
String title = evaluator.getString("//title");
String summary = evaluator.getString("//summary");
String url = evaluator.getString("//link[@rel='alternate']/@href");
String published = evaluator.getString("//published");
って、非常に簡単に XML のデータを取得できる。ちなみに、getSiteText(String) は、以前に書いたこれ。

public static String getSiteText(String url, String charset) throws IOException {
    return new String(URLFetchServiceFactory.getURLFetchService().fetch(new URL(url)).getContent(), charset);
}
public static String getSiteText(String url) throws IOException {
    return getSiteText(url, "UTF-8");
}
で、一番大事な XPathEvaluator は、こちらで公開されている XPath のラッパークラス。 便利な時代になったものです。ありがたやー。

2011-05-29

GAE/J で com.google.gdata.util.ParseException: Invalid root element とか

Blogger には、個別投稿フィードなるものがあるので、
GoogleService gs = new GoogleService("blogger", "kuribo-japanesebloggers-1");
URL feedUrl = new URL("http://www.blogger.com/feeds/6813881014503035656/posts/summary/552385261504346376");
Feed feed = gs.getFeed(feedUrl, Feed.class);
Entry entry = feed.getEntries().get(0);
GAE/J で GoogleService を使って Blogger の個別投稿フィードを読み込ませようとしたら、

com.google.gdata.util.ParseException: Invalid root element, expected (namespace uri:local name) of (http://www.w3.org/2005/Atom:feed), found (http://www.w3.org/2005/Atom:entry

とかって言われてへこむ。なんだなんだと調べてみると、Blogger の個別投稿フィードは、通常の投稿フィード
<feed>
  <id/>
  <updated/>
  <title/>
  <subtitle/>
  <link/>
  <author/>
  <generator/>
  <entry/>
</feed>
のような構成ではなく、上記 entry 部からいきなり始まる形で、その投稿以外のブログ情報が全く掲載されないようになっているみたい。

ブログ ID +ポスト ID で投稿のタイトルや URL を取得しようと思っていたのが、ちょっぴり挫折。URLFetch して、XML のパーサを使うか、正規表現でゴリゴリするか、迷い中…。

2011-05-14

トラックバック受信機能作成中…

Blogger からトラックバックを送信するシステムを作って公開したのは、ちょっと前にお知らせしたとおり。今はトラックバックを受け取る仕組みも一応できて、あとは受け取ったトラックバックのブログでの表示方法や、削除用のトラックバック一覧画面を考えているところ。

まだ途中の段階だけれど、Blogger Tipsテストブログにトラックバック受信機能設置してみた。テストブログでは、トラックバック受信機能のテスト中。興味のある人は、以下の投稿から表示の確認をしてみたり、いろんなブログからトラックバックを送ったりしてみて、感想など聞かせてもらえるとうれしかったり…。

Canon プリンタの Windows 7 (64bit)用ドライバが見つからない

メイン PC を Dell の XPS 8300 にして約 2 か月。これまで使っていた Canon のプリンタ PIXUS MP 370 をこの PC につなぎたかったのだけれど、Windows 7、64 bit PC に対応したドライバが見当たらず、途方にくれる。
対象外ですので、プリンタを購入しなくてはいけません。質問者様もご覧になったように、ドライバの一覧表から判断するのが いちばんではないでしょうか。
なんて質問・回答サイトを最初にみつけて、かなり焦ったのだけれど、結局探し回って といった Canon 公式ページを発見。ここに Canon プリンタの Windows 7 対応状況が書いてあった。MP 370 の場合は、
Windows Updateで提供します。製品とパソコンを接続し、電源を入れると、ドライバーがインストールされます。一部使用できない機能がありますので、インクジェットプリンタードライバー機能拡張モジュールをダウンロードし、インストールしてください。
とのこと。あまり考え込まずに、とりあえずつないでみるだけでよかったのね…。これで、現在印刷のためだけにわざわざマウスやキーボードを付け替えて、旧メイン PC を立ち上げなくてもよくなったというところ。

同じ状況の人(いるのか?)は、買い替えてしまう前にプリンタの Windows 7 対応状況を確かめるのがよいかと。

2011-04-23

gVim のウィンドウ位置・ウィンドウサイズを保存

HTML 打つのに Vim を使い始めたという話を前に書いた。ディスプレイがワイド 24 型になって、結構横幅に余裕ができたので、HTML 編集時には、左半分にブラウザ、右半分に gVim を開くようにしている。

で、困ったのが gVim のウィンドウ位置とウィンドウサイズ。デフォルトの位置・大きさで毎回開かれるので、Windows 7 のスナップ機能を使うとはいえ、起動の度にウィンドウを右端に持っていくのが少し面倒…。

そこで Google で探してみると、すぐさま方法が見つかりひと安心。 たしかにこりゃ便利。ありがたやー。

2011-03-27

Vim に zen-coding 入れた

今年も何か新しいことを…、と一念発起して始めてみた Vim。ようやく独特の入力方法にも慣れてきて、とりあえず、HTML の編集で利用しているところ。

ブログの更新時は、ブログの HTML の雛形に実際に記事のコードを書き入れて、見栄えを確認しては編集、確認しては編集…ということをしているのだけれど、それを全部 Vim でできるようになったということ。

まあ、それはいいとして、HTML の補完用に autocomplpop.vim で <c-n> したり、surround.vim で ysst したり、とにかくいろいろプラグインを使ってみたけれど、最終的に zen-coding.vim に落ち着いた。

zen-coding の HTML のタグを CSS ライクなセレクタを使って入力できる機能がすばらしすぎるから。


Zen Coding v0.5 from Sergey Chikuyonok on Vimeo

それが Vim に移植されて登場した zen-code.vim。どんなことができるのかについては、移植者のページで。 ダウンロードはこちらから。 最初、<c-z>, で動かない!と焦ったけれど、<c-y>, (コントロール押しながらy、コンマ)押したらちゃんと動いた。開発途中でコマンド変えたみたい。

2011-03-26

Windows 7 SP1 当てたらインターネットにつながらなくなった…

Windows 7 SP1 が出ていたので、迷わずインストールしたら、インターネットにつながらなくなってしまった。正確には、ウェブブラウザがサイトからの応答待ちのまま止まってしまうという症状。

調べてみると、ウィルス対策に入れている avast! が、ブラウザでの表示をさまたげているとのこと。で、急遽ウィルス対策ソフトを AVG に変更。

そのおかげでインターネットにつながったのはいいけれど、次は YouTube などの動画が途中で止まってしまうという不具合が発生。大きなファイルが最後までダウンロードできないみたい。これは、ファイアウォールで入れている PC Tools Firewall Plus のせいだとか。で、こちらもウィンドウズ標準のファイアウォール機能に変更。

新しいパソコンのウィルス対策+不正アクセス対策を avast! + PC Tools Firewall Plus の組み合わせで行こうと思っていたのだけれど、この組み合わせがドンピシャでマズかったよう。ひとまず、どちらもやめて、ブラウジングに問題はなくなったものの、やっぱりショックです。


追記(2011-10-13):

PC Tools Firewall Plus のバージョンが 7.0.0.111 から 7.0.0.123 へ上がり、YouTube などのデータがダウンロードできない不具合は解消されています。まだの人は、ぜひアップデートを。

2011-03-19

Dell XPS 8300 来た。

  

Intel の Sandy Bridge CPU 対応チップセット不具合騒ぎで、キャンセルしていた Dell XPS 8300。

3 月に入り再販が始まったので、予定通り購入。3 月 3 日注文確定で、18 日に到着。普段の納期より 7 日プラスとのことだったけれど、全然許容範囲。ハードディスク不調の、これまでのメイン PC もなんとかもってくれたし、ひとまずホッ。

購入したのは、CPU が Core i7-2600、メモリが 8GB、GPU が ATI Radeon HD 5870 という組み合わせのもの。計測してみた Windows エクスペリエンスインデックスがこちら。

Dell XPS 8300 の Windows エクスペリエンスインデックス

使用感は、とにかく速いの一言。ネットブラウジングでもレンダリングの時間をほとんど感じず、すぐさま表示されるので、表示時間=通信時間のみという感じ。

あれこれとたくさんのウィンドウを開っきっぱなしにしていても、CPU はずっと余裕を見せたまま。これまでのメイン(VALUE STAR、Athlon XP 2500+ …)だと、ちょっとした Flash 一つ見るのに CPU 100% でヒーヒー言っていたのに…。月とスッポン、雲泥の差、6年間のハードウェアの進歩に感嘆しきり。

今は、古い PC からデータを移してきたり、ノート PC との同期設定をしたりという作業中。既製品が急速に自分の道具になっていく感じが、けっこう楽しい。

再販記念とか、新生活応援とかで、以前と比べてずい分安くなっているので、気になっている人は Dell XPS 8300、今が狙い目かも。

2011-02-20

GAE/J、PreparedQuery#countEntities() ではまっていた件

GAE/J で運営しているサイト Japanese Bloggers Info で、ようやく登録ブログ件数が 1000 件になった。

Japanese Bloggers Info、登録ブログが 1000 件になった。やった! http://japanese-bloggers.appspot.com/Tue Feb 15 18:28:37 via web


サイトトップの
このサイトでは、日本語の Blogger ブログの更新情報を紹介しています。現在、1000 個のブログが登録されています。
という表記でブログ件数を見ていたのだけれど、ここ数日「1000 個」から増えないので、不思議に思ってコードを見てみると、
PreparedQuery pq = ds.prepare(query);
pq.countEntities();
みたいになっていました。そういえば、PreparedQuery#countEntities() は 1000 超えの数を返さない、と噂になっていましたね…。こちらを参考にしつつ、
PreparedQuery pq = ds.prepare(query);
pq.countEntities(FetchOptions.Builder.withOffset(0).limit(Integer.MAX_VALUE));
と変えておきました。すると、すぐさま 1035 件に。いったい、どれだけ放置していたんだろうか…(汗)。

2011-02-19

CFD ノートブック PC 用メモリ 8GB (4GB x 2) 買った。

シー・エフ・デー販売 Elixir ノートPC用メモリ DDR3-1333(PC3-10600) SODIMM CL9 4GB 2枚セット W3N1333Q-4G
シー・エフ・デー販売 Elixir ノートPC用メモリ DDR3-1333(PC3-10600) SODIMM CL9 4GB 2枚セット W3N1333Q-4G

ACER Aspire TimelineX 3820T のメモリ(2GB)が少し心もとなくなってきたので、ノート PC 用メモリを新しく購入。

2GB の追加で 4GB にしようかとも思ったのだけれど、4GB 2 枚が Amazon の販売・発送で、6,980 円(2011-02-12 注文時)!という価格に惹かれて、ポチッといっちゃいました。3820T の上限も 8GB のようだし、いくところまでいっちゃえと。

Amazon 販売分は、
通常1~2か月以内に発送します。
とのことで、のんびり待つか…と思っていたところ、注文翌日に
ご注文いただいた商品が、予定より早くお届けできることになりましたのでお知らせいたします。
とのメールが来、その 2 日後には無事家に到着。うれしい誤算。

さっそく取り付けて、Windows エクスペリエンスインデックスを表示してみたのがこちら。

ACER Aspire TimelineX 3820T メモリ 8GB に変更後の Windows エクスペリエンスインデックス

メモリが 5.5 から 6.8 へ、ゲーム用グラフィックスが 5.1 から 5.2 へそれぞれ上昇、その他は変わらず。メモリ換装後の感想としては、Windows 7 の起動・シャットダウンが随分速くなった印象。なかなかいい買い物をしたなと思っているところ。

2011-02-07

Dell XPS 8300 注文したり、キャンセルしたり。

Sandy Bridge な Core i7-2600 に惹かれて、DELL XPS 8300 を注文。



わくわくして待っているところに 2 月 1 日の intel の発表。
米インテルは、1月31日(現地時間)にIntel 6シリーズチップセットに問題があることを発表した。チップセットが実装するSerial ATAインタフェースに問題があり、接続するHDDや光学ドライブの性能に影響を与えるという。問題が出るSerial ATAポートは2~5番に限られ、Serial ATAポートの0番と1番では問題が発生しない。

 インテルは、問題のあるチップセットの出荷をすでに停止し、この問題を修正した新しいチップセットの生産を開始している。インテルは、問題のあるチップセットは1月9日以降に出荷されたものに限られ、影響は少数の顧客に限られるという見解を示している。
で、発送待ちだったのをキャンセルして、目下途方にくれているところ。うーん。

一方、商品を受け取っていたら、リコールのためすぐさま DELL へ送り返して、注文のキャンセルか代替機(Studio XPS 7100、Studio XPS 9100)変更かを選択させられていたとのこと。

それに比べると、届く前にキャンセル、マザーボード換装後の XPS 8300 再販を待つという今回の判断の方が、いくらかましだったかなと思っているところ。春先まで現在の不調なメイン PC が持ってくれるか心配ではあるけれど…。

結局、初物にとびつくのもほどほどにしようと、反省中。


追記(2011-02-11):

購入後のリコールについて、Dell の正式な対応が決定。
Vostro 460、XPS 8300、Alienware M17x、Alienware Aurora は、
該当するチップセットを搭載したPCをご購入されたお客様は、保証サービスによって対応させていただき、インテル社から新しいチップセットが供給され次第、不具合を解消するためのマザーボードの無償交換を行います。無償修理の開始時期に関しましては新しいチップセットが準備出来次第、改めてご案内させて頂きます。また、無償交換ではなく、ご購入製品の返品を選択することも可能です。
とのこと。代替品に交換というのは、正式対応決定前の、営業での暫定的な措置だったよう。

ちなみに、HP の対応(Pavilion Desktop PC HPE-580jp、Pavilion Desktop PC p6745jp、Pavilion Desktop PC s5750jp、Pavilion Notebook PC dv7-5000、Pavilion Notebook PC dv6-4000 Premium)はこちら。
ご購入いただいた対象製品を、不具合が修正された新品(同等または後継モデル)と交換させていただきます。現状4月頃までお待ちいただく見込みとなっています。
データや設定が残る点で、Dell の対応の方がよさそうな気が…。

2011-02-06

Japanese Bloggers Info にトラックバック送信機能をつけた。

表題のとおり。Japanese Bloggers Info にトラックバック送信機能を設置。送信先は問わないけれど、送信元は Japanese Bloggers Info に登録しているブログのみ。登録されている最新投稿の内容を、トラックバック Ping で送れるようにしたもの。
今回作った JQuery を使ったページは、Japanese Bloggers Info の、登録 Blogger ブログの投稿データからトラックバックを送るページに使用。今途中のトラックバックを受け取る方の仕組みを完成させたら、公開する予定。
と以前書いたのだけれど、受信機能のほうはいつ完成するのかわからないので、送信機能のみ beta 版として、とにかく公開。 参考にした、トラックバックの仕様はこちら。 変なところがあったら、指摘してもらえると助かります。

2011-01-16

BUFFALO HD-CL2.0TU2/N と PLANEX MZK-USBSV を購入

デスクトップ PC のハードディスクが悲鳴を上げだしたので、とりあえずデータの退避中。 コピー先は、BUFFALO の外付け 2TB HDD。


BUFFALO 2.0TB HD-CL2.0TU2/N

昨年夏に購入したノート PC もあるので、ついでに HDD を NAS みたく使えたらいいよねと思って、買ったのがこちら。


PLANEX MZK-USBSV

対応 HDD のファイルシステムが FAT32 に限られるのが、わずかに不満といえば不満だけれど、今のところは問題なく使えている。

このサーバ、最初に 192.168.1.254 という IP アドレスが設定されているため、最初だけ PC を同じネットワークに属すようにしておかないと、設定変更できない点だけ注意。
本製品のIPアドレスの初期設定は、”192.168.1.254” です。お使いのパソコンが本製品の「192.168.1. ~」以外のIP アドレスで利用されているときは、そのままでは本製品にアクセスすることができません。
そのため、一時的にパソコンのIP アドレスを「192.168.1.~」に設定してください。