この日記は https://yapud.hatenablog.com/ に引っ越し中
2008-12-01
_ [W-ZERO3] はやくなるのかな
ウィルコムがNTTドコモと提携、競合他社よりも格安の高速データ通信サービスを開始へ、ですって。
とにかく安くて速くなるのなら歓迎です。コレ用のW-SIMが出ればいいなあ。
2008-12-02
_ [Software] redmine は sqlite3 を使ってみた
先日書いた、 redmine を導入した話だけど、これは Windows機に入れました。
事前に DB を用意しておかなければいけないのでちょっと面倒。
なのでお手軽な sqlite3 をつかいました。
sqlite のサイトから DLL をとってきて、%SystemRoot%\SYSTEM32 にコピー。
ruby に sqlite3-ruby を入れるのだけど、最新版は windwos 用のバイナリがないので、一つ前のを入れる。
gem install sqlite3-ruby --version '= 1.2.3'
あとは Redmine.JP | Redmineのインストール に従って作業すればOK。
2008-12-04
_ [Hardware] IdeaPad S10e
Lenovo から出たネットブック IdeaPad。
トラックポイントが無いですよ。後発なのに。Lenovo から出るという理由がない。なんだこれ。
さらに、縦600pxで狭い狭いといわれてるネットブックの中で、さらにひときわ狭く縦576pxとか。どうなのよコレ。
昨今の広告バリバリなWebページとか見るとき、本文にたどり着くまで縦スクロールが必要ですわな。
普通のPCよりも縦が狭いわけですからずっと縦スクロールが必要となるわけです。
狭い画面を持ち合わせる限り、縦スクロールしやすいかどうかってのも選択基準のヒトツとなると思うわけですよ。
そんなとき、ホームポジションから手を離さなくていいトラックポイントというのはかなり正解に近いと思うのだけど。
小型というボディに対して面積を取らないトラックポイントというのは大変良いと思うのだけど。
今トラックポイント付きで出せば、多くのThinkPadユーザがサブ用機として買ってくれると思うんだけど。
何故にコレを外したのだLenovo!他社とカブる層に手を出してどうするよ。わざわざ死屍累々の市場に出て行くのってなんで?
いまノートPCでLenovo機を選ぶ理由って、TrackPointとパーツが自由に発注しまくれるの位しかないわけですよ。
で、ネットブック的にここまで安い機械だと、いざというとき保守パーツで延命させるより、次の機械を買うことを検討するから、保守への期待値ってのはそんなに高くないと思うんですよ。
となったら、ウリがねえじゃん。
トラックポイント付きの機械は出すつもりナシとか言ってるので、ThinkPad 好きはせっせと金を出してThinkPadを買えってことなんだろうねえ。しょぼん。
2008-12-05
_ [いろいろ] イーモバイルの勢いがすごい
NEWS|『EMOBILE通信サービス』有料サービス開始後1年6ヶ月で100万契約を突破 | eMobile
これはたぶん100円パソコンの効果がかなりあると思うんですけど、でもまあそういうビジネスモデルを作って実行に移してきちんと数を出してるってところがすごい。
NEWS|Windows Mobile 6向けに懐かしのMSXゲームを初提供〜 イー・モバイル端末向けに限定CDバンドル版「EM・ONE α」の発売とダウンロード販売 〜 | eMobile
これかなりうらやましい。モバイルMSX!電車に揺られてBASICをコーディングですお!
NEWS|ケータイ感覚で使える国内最小*1のスタイリッシュなスマートフォン「Dual Diamond」(S22HT)を12月20日より発売 | eMobile
なかなかコンパクトな端末。すてき。だけどQVGAかあ。
日本語を使う上でどーしても文字サイズが大きくなってしまうというのは英語圏に対し不利なところだね。
あっちは QVGA で充分なのかもだけど、こっちは複雑なビットマップを持つ文字を出す必要があるから QVGA じゃ苦しいんだよねえ。
2008-12-06
_ [いろいろ] ユニクロのKIDS用ダウンジャケットの売れ方がスゴイ
ユニクロのKIDS用ダウンジャケットが週末特価で安くなってた。のでオコサマ連れて見に行った。
他でダウンジャケット買ったら、同じような質のが倍以上する。同程度の値段じゃ安いビニール袋みたいのしか買えない。
無印のもなかなかカワイイんだけど、ユニクロの倍じゃあなあ。
と思って適当なユニクロに行ってみたら。狙ってた白色の人気がハンパじゃない。
最初から白色のラインナップはありませんでした、といわんが如く売り場に白がない。
他のユニクロに行ってみたけどやっぱり白がない。
白だけものすごい勢いで売れたようだ。確かにカワイイもんなあ。
無印でシーズン終わり頃に値下げされたのを買うっつうのが良いんだけど、希望のサイズがなかったら寂しいしな。
2008-12-08
_ [オンガク] TOKYO CITY POPs
Happiness Records のシティポップなコンピ TOKYO CITY POPS
これはなかなか上質なシティポップですよ。楽しくて心地よいです。
特に、2. 朝まで君といたいのに(Makkin & the new music stuff) と 5. アメーバ(ゲントウキ) と 6. city lights(Summer Soft) と 9. 土曜日は7inch(carnival balloon) が気に入りました。グルーヴ感のあるポップ。
7. サンキュー(ワールプール) 、歌声がオザケンみたい!
2008-12-10
2008-12-11
_ [Software] String::Trigram が便利!
ちょっとしたメンテ用ツールを perl で書いてて。ちょっとした文字列の比較をしたい。でも完全一致じゃなくて、似てるのもOKとしたい。
似てるのを探すアルゴリズムなんて俺が実装しなくても誰か賢い人がすてきな実装してるに違いない、と CPAN の検索してみたらズバリ。
String::Trigram - Find similar strings by trigram (or 1, 2, 4, etc.-gram) method - search.cpan.org
Tri-gram で類似文字列を検索してくれます。便利です。
2008-12-12
_ [Software] RHEL5 で nkf ふっかつ
これだけ一般にコンピュータが普及してるというのに、文字コードの悪夢からはまだまだ逃げ切れそうにありません。つうわけで文字コード変換を必要とするシーンは色々とあるわけです。
昔々から「普通 nkf だろう」と思っていたのですけど RHEL3 とか RHEL4 には nkf が無くて寂しい思いをしておりました。
iconv を使えという事なのでしょう。
でも iconv って出力をバッファリングしてるのかな。
tail -f logfile | iconv -f SHIFT-JIS -t EUC-JP
とやっても、なかなか出てこない。入ってきたのから順にダラダラ出して欲しい。
RHEL5 で何となく yum install nkf
やってみたら来た!
パッケージ名が nkf-2.07-1.1.fc6
ですとw Fedora Core 6 のなんだw
tail -f logfile | nkf -Seu
これでログ垂れ流しでチェキるのもスイスイです。
2008-12-13
_ [Software] はてブとdeliciousにクロスポスト
はてブのブックマークレットでブックマークした操作に反応してdeliciousにもポストしてくれる Greasemonkey Script があります。
Cross Post Hatena (+ del.icio.us) for Greasemonkey
ところがはてブがリニュってから使えなくなってしまいました。
リニュったはてブ対応に書き換えてみました。2カ所だけです。
フォーム名が変わったのと、title の扱いが変わったところです。
もっとうまい書き方があるのかもだけど、とりあえず自分はコレで満足。
14c14 < var form = document.getElementById("edit_form"); --- > var form = document.getElementById("bookmarklet-form"); 40a41,45 > > if (!input["title"]) { > input["title"] = encodeURIComponent(document.getElementsByClassName('title')[0].firstChild.nodeValue); > } >
2008-12-14
_ [オンガク] 矢野顕子 さとがえるコンサート
毎年の年末は矢野顕子さとがえるです。
いつも思うのですが、矢野顕子は歌を歌うというよりも声を演奏するというふうに感じます。
「ラーメン食べたい」がめっちゃかっこよかったのでした。
ドラムの人は、ずっとスティックじゃなくて、マレットやブラシを使ってて、アタックのないわりと控えめの音でした。
ベースの人も、ずっと丸くてエッジのない控えめな音色でした。
なのに。
「ラーメン食べたい」だけは普通のスティックで激しく、山下洋輔の本に出てくる戦いのようなセッションですっげえかっこいいの。
いやあ、いいものみせてもらいました。
矢野顕子のコンサートは、いつも思うんだけど、説明が難しいジャンルだなあと。
2008-12-15
_ [Software][Notes] LotusScript で Trigram の Compare
先日の日記に書いた String::Trigram の件、これに含まれてる Compare が、俺にはたいそう便利で。
LotusScript 内で使いたくなったので書いてみた。
ngramCompare(n As Integer, Str1 As String, Str2 As String)
n :
数値。n-gram の n。とりあえず 3 でいいんじゃね?
Str1 :
比較文字列1
Str2 :
比較文字列2
Str1 と Str2 を n-gram で比較して、類似度を 0〜1 の間で返します。
Sub Initialize Dim Str1 As String Dim Str2 As String Dim n As Integer n = 3 Str1 = "kangaroo" Str2 = "kanagaroo" Print ngramCompare(n,Str1,Str2)*100 '61.53846.... End Sub Function ngramCompare (n As Integer, Str1 As String, Str2 As String) Dim Str1len As Integer Dim Str2len As Integer Dim i,j,k As Integer Dim acount As Integer Dim hcount As Integer Dim Str1c As String Dim Str2c As String Dim Str1tmp As String Dim Str2tmp As String Str1c = Strconv(Str1,(1+4+32+512)) Str2c = Strconv(Str2,(1+4+32+512)) For k=1 To n-1 Str1c = "_" & Str1c & "_" Str2c = "_" & Str2c & "_" Next Str1len = Len(Str1c) Str2len = Len(Str2c) acount=0 hcount=0 For i = 1 To (Str1len-n+1) Str1tmp = Mid(Str1c,i,n) For j = 1 To (Str2len-n+1) Str2tmp = Mid(Str2c,j,n) If Str1tmp = Str2tmp Then hcount = hcount + 1 End If Next Next acount = ((Str1len-n+1) + (Str2len-n+1)) - hcount ngramCompare = hcount / acount End Function
2008-12-17
_ [オンガク] 中島みゆき 夜会 vol.15
中島みゆき「夜会 vol.15」 〜夜物語〜「元祖・今晩屋」を観てきました。
すごい勢いでチケット売り切れるだけあって、すごい迫力に圧倒されました。
ミュージカルとコンサートの間くらいの感じ。実験的な要素もあり。
正直ストーリーはよくわかりませんでした。
どうやら、激しく予習が必要なステージだった模様。
森鴎外の山椒大夫を学習した上で、パンフも読んでからじゃねえとワカンネってっ感じ。
でもびっくりしたり悲しい気持ちになったり、訴えかけてくる迫力はすごかったです。
せっかくだから、シロートさんにも優しい、もうちっとわかりやすいお話にして欲しかったなあ。
2008-12-18
_ [Hardware] HDDレコーダにHDMI入力とかD3/D4入力とか無いのな!
RD-X8 買って繋いで愕然としました。
HDMI入力とかD3/D4入力とか無いのな!
HD映像は放送波以外からは録画させてやらないもんね!HD映像は俺らのコントロール下じゃないとユルサンけんね!庶民はSD映像見とけよwというハートがビシビシ伝わってきてがっかりします。
こんなにそれぞれの機器の性能が上がってるのに、あちらさんの大人の事情で入力端子がついてない。
まあ、事前に調べておけという話なんですけども。
ケーブルテレビのチューナーからの信号は、今までどおりS端子接続だけかよ。しょっぺえな!
パナのCATVチューナーからの映像をきれいに録画したかったらDIGA買うしかないわけね。同メーカじゃないと縛れないもんね。
あ、もしかしたらiLinkいけるかな?ダメだろうなあ。あとで試そう。
2008-12-19
_ [Software][Notes] LotusScript で正規表現
Domino なアプリを書いてるとき、入力値チェックなんかの時に LotusScript 内で正規表現が使えたら便利なのになあ、と思っておりました。
そして検索してみたら。
LS2J : LotusScript でJavaのクラスを呼び出してみる - Notes サポートのつぶやき
中の人がとてもステキな記事を。
だかしかーし!
パッケージ java.util.regex が追加されたのは java 1.4 から。
俺がメインで使ってる Notes 6.5 の jvm は 1.3 なのだった。
なのでこのワザは使えないっすorz
もうちっと検索すると、コレ。
Sandbox - Regular Expressions in LotusScript
LotusScript のなかから、Windows の VBScript RegExp object を呼び出す方法。
クライアントが Windows 固定なら、コレで良いよねー。
2008-12-20
_ [Software] ThinkPad ワイヤレスLAN ドライバの謎
ThinkPad X60 に Windows XP な機械がある。これのワイヤレスLANドライバが、俺の環境では常にあやしい。
たとえば今日時点での最新版。リリース日 2008/10/24 の Ver.7.4.2.134 。
Lenovo ThinkPad ワイヤレスLAN (802.11a/b/g MIMO対応)(Windows XP/XP Tablet PC Edition 2005/2000) - Japan
コレを入れると、まるで帯域制御されてるかのごとく低速になる!LAN的には、電波強度も強く、54Mbpsでリンクしてるんですけど、通信速度も 800Kbpsからのびない。しかもとても応答速度が遅い。レイテンシいっぱい。すなわち反応が悪い。
Webサイト見てても、一つリンククリックしてもなかなか反応がない。なんじゃこれ?
同日リリースのVista用ドライバは、バージョンが違う。Ver.7.6.0.96f 。
Lenovo ThinkPad ワイヤレスLAN (802.11a/b/g MIMO対応)(Windows Vista) - Japan
コレを入れてみた。Vista 用と書いてあるけども XP にも入る。
そしたら劇的な変化が。変化が、っていうか、変に押さえつけられたような引っかかり感も一切無くサクサク動きます。データもばんばん流れてきます。15Mbpsくらい出てます。19倍かよw
2008-12-21
_ [いろいろ] ドライヤーを買う
ペルチェユニット搭載マイナスイオンドライヤー HD-N7700 : 日立の家電品
ナノサイズのマイナスイオンが出るんですって!
よくわかんないですけど。
ドライヤー売り場をみると、マイナスイオン発生は基本機能のようですな。それにプラスして、ナノサイズのマイナスイオンとなるとお値段がグンと跳ね上がる模様。
パッケージには、ドライヤーの吹き出し口から何かが出ているイメージ図が書いてあります。
そして「ナノサイズの新イオンは目に見えません」との注意書きが。
見えなけりゃあどうとでも言えるわなあ。
面白そうなので買いました。
2008-12-23
_ [オコサマ] 自転車迷い中
オコサマが自転車をほしがり。親としてもそろそろ与えても良いかなと思い。
調べてんだけど、ワカンネー。
まず基本路線として、妙なキャラモノは避けたいところです。
年齢的に18インチが欲しいので、一番商品層が厚い16インチを避けるとあんまり残りません。
16インチだったら無印のが良いなあと思ったんだけど。
まあ、もうちっと色々調べてみますわ。
子供自転車を色々見て回りましたけど、後輪ブレーキはみんなドラムブレーキなんですね。そりゃオモチャみたいな自転車だからコレで十分なんでしょうね。キイキイうるさそう。
でもオトナのように速度も出ないし力もないし、そんなに鳴らないかな。
2008-12-25
_ [Software] URI::Encode の動きがワカラン?
WWW::Mechanize 1.52 を使っていて、フォームに値を入れてPOSTするコードを書いています。
文字コードは UTF-8 BOM無し で、意味もわからず use utf8;
としています。
サーバに送りたい文字列はShiftJISです。 試してみたコードは以下の通り。urlとフィールド名はとりあえず架空ので。
#!/usr/bin/perl use warnings; use strict; use utf8; use WWW::Mechanize; use Encode; my $mech = WWW::Mechanize->new(autocheck=>0); my $targetUrl = 'http://www.example.com/'; my $fieldName = 'name'; my $fieldData = 'あいうえお'; $mech->get($targetUrl); $mech->set_fields($fieldName=>Encode::encode('shiftjis',$fieldData)); $mech->click();
変なところ?
これでPOSTされたデータを眺めると、URLエンコード結果がオカシイんです。ShiftJISの'あいうえお'ですので、
before=%82%A0%82%A2%82%A4%82%A6%82%A8
となって欲しいんですけど、
before=%C2%82%C2%A0%C2%82%C2%A2%C2%82%C2%A4%C2%82%C2%A6%C2%82%C2%A8
となってしまいます。%C2
が1バイトごとに頭に付いています。なんじゃこれ?
WWW::Mechanize が悪いのか LWP が悪いのかわからないので、LWP だけでPOSTするコードを書いてみました。
#!/usr/bin/perl use warnings; use strict; use utf8; use LWP; use Encode; my $ua = LWP::UserAgent->new; my $targetUrl = 'http://www.example.com/'; my $fieldName = 'name'; my $fieldData = 'あいうえお'; $ua->post( $targetUrl, [$fieldName=>Encode::encode('shiftjis',$fieldData)]);
問題ない? 問題なくURLエンコードされています。じゃあ WWW::Mechanize が悪いのでしょうか。
双方の動きを追ってみたかったのですが、こちとら perl は素人でサッパリです。
perl -d filename.pl
で眺めてみたところ、URI の _query.pm 内での振る舞いが違うようです。
双方のコード共に、_query.pm を通るのですが、WWW::Mechanize を使用したモノは、なぜか utf8 処理用のコードを通過してるように見えます。ShiftJISなのに!
URI-1.37 の ChangeLog を見ると、1.36 から utf8 周りをいじってるようなので、変更される前のバージョンに戻してみました。
install GAAS/URI-1.35.tar.gz
これでOK。
しかし、同じバイト列(だと思う)が、同じコードを通ってるように見えるのに動作が違うのは何なのでしょう。追うの面倒なのでこれでオシマイ。
■追記:いちげん氏にいただいたコメント
こんにちは。
私も同じ問題でハマったので、コメントさせていただきます。
まずこれの直接の原因はURI/Escape.pmの
return join '', @URI::Escape::escapes{$_[0] =~ /(\C)/g};
という行にあるみたいです。
\Cっていうのが悪さをするようで、UTF-8フラグが立った文字列を食わせるとバイトごとに%C2にマッチしてしまうんですね。
ってことはUTF-8フラグを落とせば良いんですが、そもそもどこで立ったのか、WWW::Mechanize、HTML::Formとかが自動的にHTMLページをパースするときに、その「ページ」(※フォームの値ではない!)にUTF-8な文字列が入っていると、あとでリクエストボディを作るときに全体が影響を受けてしまう…、という感じです。
しかも訳のわからないことに、フォームにASCII文字しか入っていなくても、です…。
で、とりあえず回避策は、単にリクエストの直前に片っ端からフォームデータのUTF-8フラグを落とすだけでOKです。
ただこのとき要注意なのは、
●valueメソッドを使うとチェックなどされるので、問答無用で直接プロパティを書き換える
●valueだけじゃなくnameも書き換える
●selectタグとかcheckboxのような選択型の場合、valueを書き換えるとなぜか無効になってしまうので、選択中の選択肢のvalueを書き換える
というようにします。
こんな感じ。
これをリクエスト送信の直前に実行します。
$FORMはフォームオブジェクトに、$CHARSETは文字コードに置き換えてください。
require Encode; foreach my $input ($FORM->inputs) { $input->{name} = Encode::encode($CHARSET, $input->{name}); if (exists $input->{menu} && exists $input->{current}) { $input->{menu}[$input->{current}]{value} = Encode::encode($CHARSET, $input->{menu}[$input->{current}]{value}); } else { $input->{value} = Encode::encode($CHARSET, $input->{value}); } }
2008-12-27
_ [オンガク] TOKYO BOSSA NOVA 〜por-do-sol〜
happiness record のコンピ TOKYO BOSSA NOVA~por-do-sol~
なかなか夕方感あふれるステキなボッサ集です。
シトロバルの「BED」がメロウですてき。
2008-12-29
_ [Hardware] あたらしいVAIOのウワサ
「VAIO New Mobile」サイト更新、キーボードをチラ見せ - Engadget Japanese
これ、もしかしてスティックポインタ来ますかね!
C1の再来ですかね!
ドキドキして待ってていいんですかね!
Lenovo涙目ですかね!
前 | 2008年 12月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |