充電式カイロ e-Kairo R を使ってみたよ

今年の冬は寒いですね。
東北や北陸の方では豪雪で大変なようですが、今年の12月はなんと東京でも雪が降り、ホワイトクリスマスとなりました。噂では27年ぶりだとか。
うちの近くでは夕方に少し降っただけで積もったりはしなかったのですが、嬉しくなっちゃいますよね。
雪が降って嬉しくなるのは関東の人だけかな?w

e-Kairo R package
そんなクリスマスに、電気カイロをプレゼントしてもらいました。e-Kairo Rという製品です。
最近電気カイロとか電気マフラーとか、電気で暖を取る製品が増えてきましたけど、その中の一つですね。

はてブの仕様が変わってる

はてなブックマークでブックマークするためのページのURLが、
以前は

http://b.hatena.ne.jp/entry/{$url_enc}

だったのが

http://b.hatena.ne.jp/add?mode=confirm&title={$title_enc}&url={$url_enc}

になったみたい。

前のURLだとエラー出てた。

mixi Checking! for Android の使い方

さきほど公開した mixi Checking!

Androidスマートフォンを使いこなしてる人だったら簡単に使えるお手軽アプリなんですけど、スマートフォンをまだ買ったばかりだったりとか、あるいは友達に説明するときに解説ページがあればいいなんて人もいるんじゃないかと思って、スクリーンショット1付きでじっくり説明してみたいと思います。

mixi Checking!」は、ブラウザの共有機能から簡単に「mixiチェック」を行うためのアプリです。
mixiチェックとは、株式会社ミクシィが提供する mixi 上のサービスです。
mixi を使ったことないという人は、まずユーザー登録してくださいね。
mixi についての詳しい説明はここでは省略します。

スマートフォンでブログとかホームページを見る時って、「ブラウザ」っていうアプリを使いますよね。
このブラウザには、見ているページを他のアプリと共有する機能が付いていて、 mixi Checking! ではそれを使います。

以下、画面を見ながら順を追って説明していきましょう。

  1. 画面写真のこと

共有メニューからmixiチェックするAndroidアプリ

Androidには暗黙的インテントという共有機能がありますが、それを使って、好きなページをmixiチェックするためのAndroidアプリを作りました。
前に作ったFirefoxアドオン同様に、とてもシンプルなプログラムです。

共有メニューmixiチェック
まず、暗黙的インテントでURLを受け取ります。
次に、そのURLをもとにmixiチェック用のURLを生成します。
生成したURLをブラウザに渡します。

ただ、これだと、t.coなどの短縮URLを渡したときにmixiに受け入れ拒否されちゃうので、ブラウザに渡す前に、メジャーな短縮URLを展開する処理を入れました。
展開するのは、t.co、bit.ly、j.mp、amzn.to、youtu.be、amba.to、nico.ms です。
GETリクエストを送って得た Location を見て、転送先を調べているので、短縮URLの仕様変更によっては、展開できなくなる可能性もあります。
この辺は気付き次第対応していきたいです。

mixi-checking
このアプリは、共有機能から起動する前提で作ってあるので、ドロワー(メニュー)から起動しても、アプリ名を表示するだけで特に何もしません。
あと、言語設定を英語にしてあるAndroid端末でもそれなりに表示できるように、英語での説明も書きましたが、Google翻訳で適当に訳しただけなので、通じるかわかりません。
まあ、mixiを知ってる人なら雰囲気で伝わるでしょう。

マーケットからダウンロードできます。
興味を持たれた方はぜひインストールして使ってみてください。

com.yuuan.mixichecking

使い方がよくわからないという方向けに、詳しい説明を書きました。

Ctrl+左右キーでvimのタブ切り替えをする

前回、Ctrl 左右キーでscreenのウィンドウ切り替えをする方法を書きましたが、今度はvimのタブを同様にして切り替えられるようにしたいと思います。
これができたりできなかったりして、詳しいことはよくわかってないのですが、とりあえず記しておきますね。

まず、vim のタブですが、これは :tabe コマンドで開くことができます。
vim を起動したら、試しに次のように入力してみて下さい。スクリーン上部にタブが表示されます。

:tabe ~/.vimrc

PuTTYなどのクライアントを使っている場合このタブは、コマンドあるいは .vimrc で次の指定をすることで、マウスクリックでも操作できるようになります。

set mouse=a

タブを閉じたいときは、スクリーンの右上、タブの右側端にある X をマウスでクリックするか、次のコマンドを打ちます。

:tabc

あるいはこう打っても大丈夫です。

:q

タブを閉じてもバッファには残ったままですので、完全に閉じるには、バッファを閉じるか、vim 自体を終了させて下さい。1

タブについて詳しくはこの辺のサイトとかを見て下さい。

さて次に、簡単なファンクションキーに機能の割り当てをしてみましょう。
これは昔どこかのサイトで見つけた書き方を真似したものなのですが、.vimrc に次のように書くと、F3キーを押したときに、:tabn が実行され、右のタブに切り替わります。

map <F3> <ESC>:tabn<CR>

同様にして、Ctrl+左右キーにも機能を割り当ててみましょう。
.vimrc に次のように書きます。この際、^[ は vim では、Ctrl+v の後に ESCキーを押して入力しますので注意して下さい。

map ^[[C <ESC>:tabp<CR>
map ^[[D <ESC>:tabn<CR>

.screenrcの設定をしたときと同じで、^[[Cは、Ctrl+左キーを表します。

.screenrcの時に書きましたが、termcapinfoの指定があると、うまくい効かないことがあるようです。
termcapinfoが具体的に何をしているのかは、僕にはまだ解っていません。

という風にして、screen のウィンドウ切り替えを Alt+左右キーで、vim のタブの切り替えを Ctrl+左右キーで行えるようになりました。

■ 追記

PuTTYのバージョンが v0.59 以下だと Ctrl+左右キー への割り当ては動作しないようです。
ごった煮版の v0.60 に上げたら動作しました。

マウス操作も0.59だと満足に動かないようなので、この際バージョンアップしてしまうのがいいでしょう。
ごった煮版 v0.60 の背景を透過させて使いたい場合は、こちらをご覧下さい。

  1. バッファの中身は :ls コマンドで確認でき、:bw 1 と番号を指定すれば閉じられます。

Ctrl+左右キーでscreenのウィンドウ切り替えをする

GNU screenでウィンドウを切り替えるときに、本来なら C-a p や C-a n を入力するのですが、キーの位置が直感的でなく、2回キーを押さなければならなかったりと、なかなか馴染めませんでした。
そこで、調べてみたところ、この機能を割と簡単に Ctrl + 左右キーや、Alt + 左右キーに割り当てられることが分かりました。

まず Ctrl + 左右キーに割り当てる方法です。
.screenrc に次のように書きます。^[ は普通に ^ と [ を入力すれば大丈夫です。

bindkey "^[[C" next # Ctrl + Right
bindkey "^[[D" prev # Ctrl + Left

この ^[[C という文字列がどうして分かったかというと、ググって出てきた文字列をそのまま採用したわけですが(汗)、tail コマンド実行中など、カーソルキーを受け付けないモードの時にカーソルキーを押すと、これと同じような文字列を確認することができます。
例えば右キーだと、

^[[C

Ctrl + 右キーだと

^[OC

Alt + 右キーだと

^[^[[C

Ctrl + Alt + 右キーだと

^[^[OC

となります。

なんとなく規則性が見えますね。
ただ、.screenrc の bindkey で設定する値と、Ctrlキーの押す押さないが逆なのが気になります。

さて、これがどこで定義されているのかというと、infocmp というコマンドで確認することができます。

$ infocmp | grep kcu
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,

たくさん出て来るので grep して省略してありますが、この4つが上下左右のキーを押したときの値を決めています。
これを見ると、右キーである kcuf1 の値は \EOC つまり ^[OC なので、先ほどの tail コマンドで確認したときと逆。つまり .screenrc の bindkey で設定する値の逆の逆で、同じことになりますね。

tail コマンドで確認したときになぜ逆になるのかは分かりませんが、なんとなく見えてきました。
これを応用して、Altキーを使ってウィンドウを切り替えたい場合は、次のようにすればいいと分かります。

bindkey "^[^[OC" next # Alt + Right
bindkey "^[^[OD" prev # Alt + Left

ところで、この方法について検索すると、次のような命令を .screenrc に書くように指示している記事もあります。

termcapinfo xterm* "ks=\E[?1l\E:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C"

これを書くと、先ほど tail で試したときのように、screen に対してCtrlキーの効きが逆になります。(確認できたのは screen に対してであって、tail で試しても逆にはなりませんでした。)
なので、^[[C を指定してしまうと、右キーを押しただけでウィンドウが切り替わってしまいます。
こうなると、.screenrcを編集し直すのも大変ですが、vim なら hキーと lキーでカーソルを移動できます。あるいは、Ctrlキーを押しながらカーソルキーを押しても大丈夫なようです。それでなんとか編集し直して下さい。

さて、この謎の指定ですが、termcapinfoというのは、先ほど確認した infocmp で見られる情報を変更する命令です。
ku、kd、kl、krがそれぞれ、上、下、左、右のキーを表しています。
ここのページを見ると、ksはキーパット送信モードにするという意味らしいのですが、それと Ctrlキーとの関係や、どう効果があるのかは分かりませんでした。

ひとまず今日調べて分かったのはここまで。
次は vim でも同じようにして、修飾キー + カーソルキーでタブやバッファを切り替えられるようにしたいのですが、こっちはだいぶ難しそうです。

PuTTY+vim上でマウスホイールでスクロールさせる

set mouse=a

ってするだけなんですけど、僕が使ってるPuTTYではマウスホイールが効いてくれなくてハマりました。

僕はごった煮版PuTTYを更に背景透過できるようにしたものを使っていたのですが、このバージョンのPuTTYだとホイールが効かないようです。バージョンが 0.59 だからかな?
ごった煮版の v0.60 を使ったらホイール効きました。

ただこれだと背景透過できない。
Aeroの機能を使って背景透過するバージョンもあるようなのですけど、これだと透けた背景がぼやけてて、隠れたウィンドウの文字を読むことができないんですね。

というわけで、任意のウィンドウの背景を透過するアプリを探しています。
ウィンドウ名を記憶して、PuTTYを起動したときに常に透過してくれるのが望ましいです。

半透明ウィンドウマネージャというのがよさげだったのですが、Windows 7と相性悪いみたいで、スタートボタンが「スタート」と書かれたごっついボタンになってしまったり、adobe Airのアプリに黒い外枠が表示されてしまったりしてしまいました。

Consolas+メイリオでPuTTYを美しく

先日 mintty について調べていたら、その中で Inconsolata というフォントが紹介されていました。

さっそくこの記事に書いてある通りに、Inconsolataフォントをダウンロードして、メイリオとリンクしたのですが、下のスクリーンショットみたいに、日本語文字が小さく表示され、大変見づらくなってしまいました。

Inconsolata + メイリオ
調べてみると、フォントの EmSize が Inconsolata が 1000 なのに対して、メイリオ が 2048 なのが原因っぽそうです。そこで、FontForge を使って Inconsolata の EmSize を 2048 に設定しなおしてみたのですが、今度は等幅フォントとして認識してくれません。

メイリオを使うのは諦めて、Ricty を使うかと思っていたら、Consolas というフォントを見つけました。
Consolas は、Windows 7 に標準で入っているフォントで、なんと Inconsolata はこの Consolas を意識して作られたものなんだそうです。

こちらも先ほどと同様に英数字しか入ってないフォントなので、メイリオとリンクして使います。
方法は、レジストリエディタで HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink を開き、その中に「複数行文字列値」を新規作成して、名前を Consolas に、値を meiryo.ttc,Meiryo にして、Windowsを再起動です。

Consolas + メイリオ
今度は綺麗に表示されましたー

■ 追記

gdippを使っていれば、Inconsolata + メイリオでもきちんと同じサイズで表示されました。
EmSizeの違いを吸収してくれるみたいです。

開いてるページをmixiチェックするFirefoxアドオン

昨日mixiから、どのページでもmixiチェックが行えるようになるブックマークレットが公開されました。

mixi checking!
それを受けて、ブックマークレットでできるのならということで、Firefoxアドオンを作ってみました。

※ 現在まだ審査が通ってないので、「+ Add to Firefox」をクリックすると「注意: このアドオンは Mozilla のレビューを受けていません。サードパーティ製のソフトウェアはコンピュータに危害を加える可能性があるため、インストールする場合はご注意ください。」と表示されます。その下の「Add to Firefox」ボタンを押せばインストールできます。インストールできたらFirefoxを再起動して下さい。

このアドオンをFirefoxに追加すると、右クリックメニューとツールバー1に、「このページをmixiチェックする」という項目が追加されます。
読んで字のごとくですが、クリックすると、現在開いているページをmixiチェックできます。
あるいは、Shift+C のショートカットキーでもmixiチェックできます。

Firefoxアドオンを作るのは初めてなので、不都合があったらすみません。
また、利用しているmixiのロゴですが、利用規約的にセーフなのかどうか、よく解ってないところがあるので、問題あるようだったら修正します。2
16x16のアイコンを、mixi Partner Dashboardで割り当てられたものに変更しました。このアイコンのライセンスは不明です(汗)。24x24と32x32のアイコンは、その16x16を真似して自分で適当に作ったものに置き換えました。

もし気になるところがあれば、改変などは自由に行って下さい。
改変したものを公開される際には、 yuuAn の名前をどこかに記入し、ついでにこの記事にコメントかトラックバック頂けたら嬉しいです。
ライセンスは一応BSDってことになってますが、僕自身BSDライセンスについてそこまで詳しくないので、だいたいで運用しています(汗)。

■ 追記

@yoichiroさん作のGoogle Chrome版はこちら。

  1. ツールバーのカスタマイズから追加して下さい
  2. 「mixiチェック(外部サービス上から興味・関心を持った情報を、簡単に友人・知人に共有できるコミュニケーション機能。以下同じ。)の対象となる情報をmixiへ送信する導線のため」に該当するから大丈夫そうなんだけど。

スマートフォン紛失に備えたセキュリティ対策

携帯電話には個人情報がたくさん記録されており、また、様々なサービスにパスワード無しで簡単にアクセスできるように設定している人も多いと思います。特にスマートフォンにしてからは、利用するサービスの数が増え、結果として記録されている個人情報の数も増えたという人が多いのではないでしょうか。

そんなスマートフォンを万が一紛失、あるいは盗難に遭ってしまったら。
拾った方がすぐに警察に届けてくれればいいのですが、もし見付からなかった場合、お気に入りの端末を失うこと以上に、個人情報を悪用される心配の方が大きいと思います。

スマートフォンでは、これまでフィーチャーフォンの時に使えていた、「おまかせロック」や「ケータイお探しサービス1に対応してない機種がほとんどです。
キャリアの公式のサービスについては今後の拡充に期待したいところですが、折角のスマートフォンなので、スマートに自分でアプリを入れることで、これらのサービスと同様のメリットを受け、万が一に備える方法を考えたいと思います。

  1. どちらもdocomoのサービスです。