2008年3月アーカイブ

今日からiモードIDが取得できるようになりましたが、いかがお過しでしょうか。

HTTP::MobileAgentにも,これを取得できるようにするAPIを作ろうと思ったのですが、せっかくなのでそれ以外のキャリアのものも同じAPIで取得できた方がいいだろうと思い、DoCoMoならX-DCMGUID、KDDIならX-UP-SUBNO、SoftBankならX-JPHONE-UIDを取れるようにしてみました(まだCPANにはアップしてません)。

いまのところ関数名をuser_id()にしているのですが、HTTP::MobileUserIDとだだかぶりしてます!
なにか他に良い関数名の案がありましたら教えてください!

この機能を実装しているブランチはこちら↓です。
http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent/branches/feature-mobileid

nipotan_nite01.jpg

にぽたんが海外に行くということで開かれたnipotan niteに行ってきました。

会場につくと、すでにものすごい数の人、人、人。
こんだけ人が集まったのはひとえににぽたんの人柄なんだろうなぁと羨しく思いました。

nipotan_nite02.jpg

で、にぽたんの登場!kuboonさんのマジックでの登場となりました。
後日談ですが、この登場のためにけっこう無理な体勢のまま待っていたため腰が痛かったよと笑いながら(?)話してくれました。

ギークの方達のLTあり、おもしろビデオあり、泣ける演出ありで、近年まれにみるいい壮行会だったなぁと思いました。

nipotan_nite03.jpg

そして総合司会(?)で、subtech界隈からもおそれられていると噂の941さんから花束贈呈。無造作に渡す姿が、941さんらしい。でも熱いものを感じました。

nipotan_nite04.jpg

nipotan_nite05.jpg

そんなこんなで一次会が終り、二次会。
subtechやらkuboonさんのマジック披露(すごかった!弟子入りしたい!)やらなんやらでごちゃごちゃでしたがとても楽しかったです。

毎日昼飯を一緒に行ったり、一週間徹夜したり、いろいろな苦楽を共にした仲間が遠く離れたアメリカへ行ってしまうのは悲しい限りなんですが、向こうに行ったからといって一生会えないわけじゃないので、ここは気持ち良く送り出そうと思いました。

とかいいつつ、この翌日の今日もにぽたんと昼飯を食ってたりして、あまり実感が湧かないのですが、実際に離れてしばらくすると気付いたりするんだろうと思います。


ということで、にぽたん、くれぐれも身体には気を付けて、そしてなんかあったらいつでも帰ってこいよ。そして一緒に呑みましょう。

ということで、いってらっしゃい!(まだいるって

R0010244.JPG
ウィルコムのアドエスことWS011SHのファームウェアがバージョンアップしたので更新してみました。
更新はここを見ながらやりました。

説明を見てるとめんどくさいこといっぱい書いてありますが、要はダウンロードして起動してあとは指示に従えってことでした。
(ただ「WS011SH STMiddle」を削除したり、W-SIMを外したりするのは忘れずに)

で、今回のバージョンアップでの最大の変更はW-ZERO3メールじゃないかと。
なにが変わったかというと、こちらに詳しく書いてありますが、「デコラティブメール」ができるようになったのと、他社のケータイと絵文字メールができるようになった点ですね。

また絵文字の扱いが面倒になるのかなぁ…(?)。

ということで、とりあえず報告まで。

Safariの機能拡張でSafariStandっていうソフトがあるんだけど、今日のソフトウェアアップデートでバージョンアップしたSafariでは、LDRの「v」を押してウィンドウを開く機能が動かなくなってしまった。LDRで「この機能を使うにはポップアップブロックを解除してください」って言われます。

そこでSafariStandのページにいったらSafariStandがバージョンアップしていて、上記の問題が解決されていました。
困っている方がいたらどうぞ。

MacBook Airを買ってからというもの、ThinkPad X40を触らない時間がどんどん増えています。 さて、今日Macを起動したらソフトウェアアップデートの通知がきたので、アップデートをしたらSafariが3.1になりました。
今回のアップデートの内容を見ると
Adds support for offline storage for Web applications in SQL databases
と書いてあったのですが、これはGoogle Gearsみたいなものなのかな? 使い方が書いてないんだけど、どっかに書いてあるのだろうか…。 はてさて。
emacserの間で密かなブームとなっているyasnippet.elをインストールしてみました。
実はsnippet的なものを使うのは初めてだったので、ちょっと細かく覚える意味も含めてインストール方法から書いてみます。

インストール方法は簡単で、2つ方法があります。横着は人は上記ページの「yasnippet-bundle-0.3.1.el.tgz」をダウンロードしてきて、解凍してできたyasnippet-bundle.elを適当なディレクトリ(例えば$HOME/.emacs.d/plugins/とか)に置いて、以下のように設定します。
(add-to-list 'load-path "~/.emacs.d/plugins")
(require 'yasnippet-bundle)
このyasnippet-bundleってやつは、各種言語用(など)のsnippetの設定もlispの中に同梱しているようです。まさに横着用。でも自分で書き変えたりできない(まぁ、できるけど)。

そこで、もう1つの方法があります。先程のページからyasnippet-0.3.1.tar.bz2ってのをダウンロードしてくるとyasnippet.elとsnippetsというディレクトリが解凍されます。このsnipettsというディレクトリに、yasnippet-bundle.elで同梱されていたsnippetの設定が入っています。

でインストールですが、この場合もさきほどと同じようにyasnippet.elを$HOME/.emacs.d/plugins/に、snippetsディレクトリを例えば$HOME/.emacs.d/に置いておき、
(add-to-list 'load-path "~/.emacs.d/plugins")
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/snippets")
こんな感じで設定してやると、yasnippetが動くようになります。

とりあえずemacsを立ち上げて、おもむろにhoge.plを新規作成します。
そして「if」と書いた直後にTABキーを押してみましょう。
if () {
    
}
こんな感じに補完ができたら成功!ちょっと感動します。それ以外にもいろいろとできるようですが、どんな文字列で補完が効くかは、snippetsディレクトリの中のファイルを探してみてください。該当するメジャーモードの名前のディレクトリにあるファイル名が補完を発動する名前になってます。上記でifが補完されたのは、snippets/text-mode/perl-mode/if があるからですね。それ以外にもxifとかもありますね。これは、
expression if condition
って補完されますね。なるほど、なるほど。で、「expression」の「e」にカーソルがあるので、そこでなにかを書き初めると「expression」が消えてくれます。で書き終ったあとにTABキーを押すと、カーソルが「condition」の「c」に移動してくれます。ここでまたifの条件を書こうとすると「condition」が消えてくれます。なるほどぉ。こういうことか。

でも1ついやんなところがあって、1つのsnippetを発動させるとそのsnippetのすべての入力欄をTABキーで移動して書き終わらないと次のsnippetが発動しないような挙動になってるようです。また、そのsnippetをすべて書き終わる前にその部分を消去してしまうと、それ以降のsnippetが発動しないっぽい。でもなにかの弾みで発動したり…。どんな条件でリセットされてるのかよくわかりませんでした。

ということで、慣れればすごい使い易いんだろうなーと思いつつしばらく使い続けてみたいと思います。

なお、Codereposでもsnippetの共有が始まってますので興味のある方はそちらもご覧になってみてください。

関連記事:
http://d.hatena.ne.jp/rubikitch/20080316/1205609867
http://d.hatena.ne.jp/a666666/20080318/1205804830
http://d.hatena.ne.jp/antipop/20080314/1205517419

仕事でlibgdを使う機会があっていろいろ見てたのですがlibgdではbmpを扱うことができないません。
なんでやねんと思いつつ、libgdでbmpを扱う方法を探した結果libgdのcvsにbmpに対応しようとしている欠片を見つけました。

http://cvs.php.net/viewcvs.cgi/gd/playground/gdbmp/
(※今見たら2008年03月にも更新がされていたりするので、現在のファイルであればもしかしたら動くかもしれません。残念ながら自分が見たときには動きませんでした。)

喜び勇んでこれを取り込んでみたのですがうまく動きませんでした…。しかたがないので、上記のプログラムを元に自分でいろいろ修正をして動くようにしました。せっかくなのでpatchを公開しておきます。

ちなみに、このpatchは2.0.35用ですのでご注意ください。
(もうすぐ2.0.36がリリースされそうなのですけどね…。)

あと以下のBTSでBMPの話題も出ていて、サポートしそうな雰囲気もありますし、先に紹介したcvsのファイルも更新が続けられているので、ここで公開するpatchはそれまでのつなぎということで。

http://bugs.libgd.org/?do=details&task_id=61

言うまでもないですが、at your own riskでお願いします。

patchは以下。

Catalystがどうしても動かない!と数時間はまった。
原因は/home/usernameのパーミッションが700だったのが原因。

OSによってホームディレクトリのパーミッションが700なときがありますよね。
次回から気を付けます。

MacBook Airを使い始めて2週間目ですが、Firefoxのタブキーを押したときの挙動にいらいらする毎日でした。だって、テキストフィールド以外のフォームにフォーカスが移動しないんですもの。

ということで、調べたり社内のIRCやTwitter系で叫んでみたら、数人の方から accessibility.tabfocus という設定項目があるというのを教えて頂きました。

早速ロケーションバーでabout:configを開いて、accessibility.tabfocusを2に設定したら思い通りの挙動になりました。

accessibility.tabfocusの取り得る値は以下のページに詳しく書いてあります。

http://kb.mozillazine.org/Accessibility.tabfocus

「1」だとテキストフィールド、「2」だとフォーム、「4」だとリンクになるようです。

WindowsのFirefoxと挙動が違うのが、なんでやねんという感じです。
マカーならマウスを使うだろうという前提でこうなってるんですかね。

最近はマカーのエンジニアが増えてるので、Windowsと同じ挙動でもいいような気がしますね。

追記:
ブクマでHolyGrailさんやyoggyさんなどが書いてある通り、フルキーボードアクセスを有効にすることでも同じ設定(というかこっちの方がOSのあらゆるところで対応できる)ができるようです。是非以下も参照してみてください。

HolyGrail - [mac] ソフトウェア使わなくても「フルキーボードアクセスを有効にする」でできますよー。参考:http://d.hatena.ne.jp/HolyGrail/20080305/1204729899
yoggy - [configuration][firefox][mac][osx][tips] ここも参照のこと>http://www.mozilla-japan.org/kb/solution/2041

最近MacBook Airを購入しました。

もともとマカーだったので懐しくもあるんですが、Tigerの初期ぐらいまでしか使ってなかったので、だいぶ浦島太郎状態なわけです。でもそれがまたよかったりもするんですが。

で、今回の話は以前したBloggerpostをmacにいれる手順です。

まずは、MacPorts。MacにはMacPortsっていうパッケージシステムがあって、昔自分が使ってたときはfinkってのを使ってたんですが、最近はMacPortsが流行りだと同僚に言われそれをインストールしました。
そのあとに、おやくそくのRubyからemacsをごにょごにょできるel4rをインストール。
次に、MacPortsでqdbmをインストール。で、BloggerpostではqdbmのRubyバインディングであるdepotを入れるのですが、普通にMacPortsで入れるとRubyが入ってしまうので、qdbmのライブラリだけ使ってdepotを入れなければなりませんでした。

普通にldconfigみたいなのがあれば/opt/local/lib(MacPortsでは/opt以下にいろいろなものをインストールしてメインシステムへの汚染を避けている)を読み込ませればいいんですが、それがないのでどうしたものかと調べていたら、

% setenv LIBRARY_PATH /opt/local/lib

とやってから、./configure && make && make install したらmakeできました。

あとは以前紹介した設定をすれば問題なくemacsからブログへ投稿ができるようになります。
この記事もBloggerPostを使ってポストしている次第です。

ところで最近のMacはPerlとかRubyとか標準で入ってるけどMacPortsでも入れられます。
どっちを使ったらいいのか迷うところなんだけど、どっちがいいんですかね?

検索

広告

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.12