初音ミクの曲(動画)個人的な十選
先日のエントリで初音ミクについて書きましたので、折角ですから僕が好きな初音ミクの曲(動画)十選を書いてみます。(本当はこれを先に考えていたということもある。)
| 固定リンク | コメント (5) | トラックバック (1)
先日のエントリで初音ミクについて書きましたので、折角ですから僕が好きな初音ミクの曲(動画)十選を書いてみます。(本当はこれを先に考えていたということもある。)
| 固定リンク | コメント (5) | トラックバック (1)
なんだかんだ言いながら今年も成長し続けたニコニコ動画。一年間、とても楽しませていただきました。
素晴らしい動画を投稿してくださった方々に感謝の意味を込めて、今年の個人的なベスト10を掲載してみたいと思います。
| 固定リンク | コメント (1) | トラックバック (1)
先ほどのctagsをWin32環境でビルドするで書いた「やりたかったこと」が一応できました。以下で順に解説したいと思います。
まずきっかけは、ctagsに「--extra=+q」というオプションがあることを発見したことでした。このオプションを付けてctags -eを実行すると、通常なら
class CApp : public CAppFrame {CApp4,52のように出力されるところが、
CFastPlaneFactory planeFactory_;planeFactory_12,202
class CApp : public CAppFrame {CApp4,52のように表示されるのです。
CFastPlaneFactory planeFactory_;CApp::planeFactory_12,202
何が違うの?と思われるかも知れないのですが、CAppクラスのメンバであるplaneFactoryのタグに、「CApp::」という修飾名が付いています。つまり、「--extra=+q」というオプションは、クラスメンバのタグの出力を、スコープ付きで行ってくれるというオプションなのです。
これはメンバ補完にとっては画期的なことで、あるクラスのメンバを探すには、「クラス名::」でgrepしてやればいいことになります。それで関数もメンバ変数もenumも全て取得できるのです。これを発見したときは、正直かなり興奮してしまいました。
ただ、実際に「--extra=+q」オプションを使ってみると、問題があることがわかりました。このオプションは、クラスのタグ出力をスコープ付きで行ってくれるのはよいのですが、スコープ付きでない出力も同時に行ってしまうのです。先ほどの例でいうと、
class CApp : public CAppFrame {CApp4,52のようになってしまいます。これではTAGSのサイズがほぼ2倍になってしまいますし、Peggyでタグジャンプするときに候補が二つ表示されてしまい、大変使いづらいです。
CFastPlaneFactory planeFactory_;planeFactory_12,202
CFastPlaneFactory planeFactory_;CApp::planeFactory_12,202
というわけで、Peggyで「--extra=+q」オプションをまともに使うには、スコープ付きタグを出力したときには通常のタグを出力しないという改造をctagsに施す必要がある、ということになります。このため、ctagsのビルド環境を整える必要があったわけです。
実際に行った改造はそれほど大きなものではなく、c.cというソースを以下のパッチの通りに変更すればOKです。なお、パッチはctags5.7J1に対してのものです。
1094a1095,1099目的の通り、「スコープ付きのタグを出力するときは通常のタグを出力しない」という改造です。
> static boolean isExtraTagEntryExist(vString *const scope)
> {
> return (Option.include.qualifiedTags && scope != NULL && vStringLength (scope) > 0);
> }
>
1098,1099c1103
< if (Option.include.qualifiedTags &&
< scope != NULL && vStringLength (scope) > 0)
---
> if (isExtraTagEntryExist(scope))
1157,1158c1161,1165
< makeTagEntry (&e);
< makeExtraTagEntry (type, &e, scope);
---
> if (isExtraTagEntryExist(scope)) {
> makeExtraTagEntry (type, &e, scope);
> } else {
> makeTagEntry (&e);
> }
この改造版ctagsをPeggyが使うようにして、menucomplete.msも改造したところ、正しくクラスのメンバ補完が行えるようになりました。今までとは比較にならない精度でメンバを拾うことができます。また副作用として、namespaceにも補完が効くようになりました。namespace内で定義しているクラス名等が表示されます。
ただ、今回の改造版ctagsとmenucomplete.msの公開に関しては今まで通りはいかなそうです。スクリプトであれば、アンカーシステムズさんのMocaScriptライブラリでチェックしていただけるのですが、改造したctagsのバイナリとなると、動かしても大丈夫かチェックする方法がありません。パッチだけを公開して、自分でコンパイルしてもらうのは敷居が高すぎますし…。
ひとまずは、思いがけない問題が隠れている可能性もありますので、自分で使ってチェックしようと思います。公開の仕方はその後に考えたいと思います。
| 固定リンク | コメント (4) | トラックバック (0)
とある事情でctagsを改造したくなったのですが、Win32環境でビルドするまでがかなり大変でした。以下にやり方をメモしたいと思います。
まず前提として、ctagsのWin32用のソースは、書き方が古すぎて現行のVisual Studio 2005やVisual Studio2008ではコンパイルできないようです。古い書き方を許容するようなオプションがあるかもしれないのですが、一通り探しても見つからなかったので諦めました。
となると、コンパイルするには古いコンパイラが必要となってきます。幸いなことに、Visual Studio 2003のC++コンパイラ部分を抜き出したツールであるMicrosoft Visual C++ Toolkit 2003というものが無料で手に入ります。これに付属するコンパイラを使用すれば、ctagsをコンパイルすることができます。
ただし、残念ながらMicrosoftの公式サイトではこのツールは現在ダウンロードできないようです。非公式ではありますが、こちらのmsdnのフォーラムのリンクからダウンロードできます。
また、ctagsのコンパイルには、nmake等のビルドを行うためのツールやライブラリ等が含まれるPlatform SDKが必要になります。僕はこちらの246netさんのまとめページを参考にして設定しました。インストールした
C:\Program Files\Microsoft Visual C++ Toolkit 2003\vcvars32.batに、以下のような内容を書き加えます。
REM add for Platform SDKあとはctags日本語版の配布ページに行ってソースをダウンロードし、適当な場所に展開して、先ほどのvcvars32.batを実行した状態で展開した場所に移動し、
set CPU=i386
set MSSdk=C:\Program Files\Microsoft Platform SDK
set LIB=%MSSdk%\Lib;%LIB%
set INCLUDE=%MSSdk%\Include;%INCLUDE%
set TARGETOS=WINNT
set PATH=%MSSdk%\Bin;%MSSdk%\Bin\winnt;%PATH%
nmake /f mk_mvc.makとします。(mk_mvc.makというのは、Win32環境用のメイクファイルです。)
ただ、残念ながらこれだけではうまく行きません。メイクするとソースが全部コンパイルされて、大丈夫なように思えるのですが、最後のリンクするところで
LINK : fatal error LNK1181: cannot open input file 'setargv.obj'と怒られて終了してしまいます。どうやらsetargv.objがない、というエラーのようです。
NMAKE : fatal error U1077: 'cl' : return code '0x2'
cd "C:\Program Files\Microsoft Platform SDK\src\crt"でcrtフォルダにsetargv.objを作成することができました。このファイルをctagsを展開したフォルダに入れて再度メイクすれば、無事にctagsの実行ファイルを生成することができます。
cl /I. /c -D_CRTBLD setargv.c
実際に実行してみると、
% ctags --versionとなり、今現在コンパイルしたものであることを確認できました。
Exuberant Ctags 5.7J1, Copyright (C) 1996-2007 Darren Hiebert
Compiled: Jul 21 2008, 19:49:30
ctagsを改造して何をしたかったかなのですが、例によってPeggy関連で、C++のクラスメンバ補完をより高度に行う方法を模索してみようと思っています。うまく成果が出ればよいのですが…。
| 固定リンク | コメント (0) | トラックバック (0)
EeePC901は、Cドライブの4GBだけだった701と比較すると、Dドライブの8GBが増えて合計12GBとなり、容量の問題はいくらか緩和されています。ただ、システムドライブであるCドライブは依然4GBのままですので、注意して使わないと容量不足に陥ってしまいます。
今回はどのように設定を行ったのかをまとめておきたいと思います。
まず、MicrosoftUpdateを全て適用しました。この時点で残り容量が1GBを切ってしまい、少しあせりましたが、途中で止まるということはありませんでした。
次に、こちらのサイトにまとめられていることを実行しました。
http://www.4gamer.net/games/046/G004621/20080121031/
http://www.4gamer.net/games/046/G004621/20080123023/
EeePC701用の記事ですが、901でも問題なく適用可能です。dllcacheの削除だけは危険そうでしたので行いませんでした。
アプリの削除に関しては、この記事に書かれているものに加えて、901ではStarSuite 8というOffice互換のアプリが入っていて、これがかなりの容量を占めています。アプリ自体はDドライブにインストールされているものの、このアプリの実行に必要なJavaがCドライブに入っていて、これがかなりのサイズなのです。悩みどころなのですが、ばっさり削除することにしました。ただ、閲覧さえできないというのはさすがにまずいので、Microsoftが配布しているOfficeViewerをインストールすることにします。
http://www.microsoft.com/Downloads/details.aspx?familyid=95E24C87-8732-48D5-8689-AB826E7B8FDF&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?FamilyID=c8378bf4-996c-4569-b547-75edbd03aaf0&displaylang=JA
http://www.microsoft.com/downloads/details.aspx?FamilyId=428D5727-43AB-4F24-90B7-A94784AF71A4&displaylang=ja
PowerPointViewerだけがCドライブ強制インストールなのが謎ですが、それほどサイズは消費しません。
また、盲点になりがちだと思うのがStarSuite 8に含まれるフォントです。StarSuite 8をアンインストールしても、フォントは消されないのです。C:\WINDOWS\FONTSフォルダから、「Sun」と名前の付いたフォントを消していくだけで、100MBは削減できます。
あとは、.NetFrameworkも使いたいアプリがなければ必要ないですね。
これでCドライブの残り容量は1.8GB程度になっているはずです。dllcacheを削除すれば2GBを超えそうですが、これだけあれば十分ですのでやめておくことにしました。
設定はいろいろ大変ですが、2chのEeePCスレなどを見ながらやっていると、みんなでやっている感じがして楽しいですね。それに愛着もわいてきます。これから大切に使っていこうと思います。
| 固定リンク | コメント (0) | トラックバック (0)
先週購入したEeePC901はとても快適に動作しています。一週間遅くなってしまいましたが、開封の様子をレポートしたいと思います。
| 固定リンク | コメント (2) | トラックバック (0)
いつ出るのか、もしかしたら日本では発売されないんじゃないかとガジェットマニアたちをやきもきさせていたEeePC901が、先週の土曜日ついに発売されました。前々から欲しいと思っていたこともあり、僕もヨドバシ梅田で買ってきました。
日曜日からいろいろとセットアップしていて感じたのは、時代が変わったんだなあということです。あまりに普通に使えてしまうので、これが6万円で購入できるノートPCなのだということが、今までの感覚とは合わないのです。
もちろん、Cドライブが4GB、Dドライブが8GBしかないという制約上、様々な工夫は必要としますが、一度設定をしてしまえばあとはごく普通のWindowsPCとして使うことができます。
「性能は維持して値段と消費電力を下げる」というIntelの決断、WindowsXPという異例に長寿命で安定したOS、そしてメーカーの挑戦があって、Netbookという新しいカテゴリが生まれました。iPhoneが非PCからパソコンに近い体験をより使いやすい形で進めていくものだとすれば、Netbookは従来のパソコンの方向から一般に広げていくアプローチだと思います。様々な方向からのアプローチがあるのは、とても良いことですよね。
EeePC901に関するレポートはまた後ほどとして、今回はこのNetbookという分野がこれからどうなっていくのかを考えてみたいと思います。
まず、パソコンの変化を考えるには、デバイスの変化を考える必要があります。特に重要なのは、CPUとチップセットですね。
EeePC901はIntelのAtomという新しいCPUを搭載していますが、これはIntelが小型のノートPCやスマートフォンをターゲットとして開発した、全く新しいアーキテクチャのCPUです。その特徴は、性能よりも消費電力やコストを重視していることで、同じ性能ならCereronMの数分の一の電力しか消費しません。
現在のAtomはSilverthorneと呼ばれる第1世代ですが、2009年中には第2世代のLincroftが登場する予定です。Lincroftでは現在のAtomとCPUの性能自体は大きく変わらないものの、メモリコントローラやグラフィックプロセッサが統合され、さらに付随するチップセットも専用のものが開発されます。
現行のAtom搭載Netbookの問題点は、CPUこそ新規設計で新しいものの、チップセットが従来のままであるため、チップセットの消費電力がシステム全体の足を引っ張ってしまうことでした。チップセット全体が再設計され、しかも機能の統合が進むことで、消費電力がより小さくなります。具体的には、現行世代のさらに数分の1になるようです。当然実装面積も小さくなりますので、デバイス自体の小型化、もしくは設計の自由度向上に繋がります。
統合されるグラフィックプロセッサがどのようなものなのかがまだ公開されていないのが不安材料ですが、機能の統合によってアクセスレンテンシが小さくなり、性能の向上も望めそうです。資料では、トータルパフォーマンスで現行の1.3倍、ということになっていますね。
また、現状の最大の問題点であるSSDの容量はどうなるでしょうか。フラッシュメモリの大半を供給しているサムソンと東芝の計画を見ていくと、フラッシュメモリは大まかに言って、一年経つと同じ値段で倍の容量の製品を買えることがわかります。つまり、現行のEeePCがCドライブ4GB、Dドライブ8GBですので、同価格帯ならCドライブ8GB、Dドライブ16GBを搭載できることになります。Cドライブが8GBあれば、EeePC901のように色々な工夫をしてCドライブを空けなくても良さそうですね。
さらに、ソフトウェアについても考える必要があります。EeePC901はWindowsXPを搭載していますが、今後もWindowsXPを使い続けることはできるのでしょうか?Windows Vistaはインストールサイズが10GB近くになってしまうため、今後も(特にSSD搭載の)Netbookでの採用は難しそうです。
結論から言いますと、今後もWindowsXPを使い続けることは可能です。一般向けのWindowsXPの販売は今年の6月で終了してしまいましたが、マイクロソフトはNetbook向けにWindowsXP Homeの販売を、2010年6月30日、もしくは次バージョンのWindowsがリリースされて1年後まで続けると発表しているためです。つまり、少なくともあと2年は大丈夫ということですね。
以上のことをまとめると、2009年中には以下のようなNetbookが発売される可能性がある、ということになります。
・処理性能は現行の1.3倍
・メインメモリはおそらく変わらない、1GB
・SSD搭載、容量は合計で24GB
・WindowsXP Home搭載
・消費電力は現行より小さくなる。(CPUとチップセットの消費電力はシステム全体からすると一部ですので、劇的な改善はないかもしれません。)それに伴う小型・軽量化
こう見ると、EeePC901と比べてさらに「普通に使える」PCになりそうな感じがしますね。もちろん、これはNetbookに求められる「インターネットをする」ということの定義が変わらなければ、という前提ではあります。例えばニコニコ動画が登場したことにより、インターネットをすることへの要求スペックはここ数年でかなり上昇しました。(一部ではニコニコの壁、と呼ばれています。)
現行Atomはこの壁をギリギリ越えられる能力を持っているのですが、今後さらに重いアプリケーションが流行ると、Netbookの性能とのバランスが崩れてしまうかもしれません。こればかりは読みようがないですね。
このような予想を立てた上で、ではもう一年待つのか?と考えてみましたが、結局は今EeePC901を買うことを選択しました。将来的な性能の向上による利益よりも、今欲しいという気持ちが大きかったからです。この選択が正しかったか否かは、時間が経たないとわからないですね。
| 固定リンク | コメント (0) | トラックバック (0)
iPhone3Gが無事発売されまして、iPhoneと基本的なハードウェア構成を共有しているiPod touchもiPod touch 2.0 ソフトウェアが配布開始されました。前回のアップデートと同様、今回も有償アップデートで、料金は1,200円です。
もしiPod touchが単体のプラットフォームであったら、これほど頻繁に大規模なアップデートが行われることはなかったのではないか、と思います。どちらかというと、iPhoneの進化に乗っけてもらっているという感じですね。とてもありがたいことです。
今回のアップデートの目玉は、もちろんユーザーが作成したアプリをダウンロードできるApp Storeなわけですが、個人的には電卓に関数電卓機能が追加されるというのがポイントでした。実際に使うかどうかは別として、何というか、面白そうじゃないですか!
というわけで早速iTunesを7.7にアップデートし、iTune Storeにアクセスしてみると、真ん中の目立つ部分にソフトウェアアップデートのバナーがあります。クリックして条件に同意するとなんともあっさりダウンロードが始まりました。サイズは222.6MBとあります。ネットワーク環境によっては少し時間がかかるかもしれません。
ダウンロードが始まるとPCに接続されたiPod touchの更新が始まるのですが、これがかなり長時間かかります。明らかに今までの更新とは異なる挙動です。どうやら一度本体をフォーマットして、まっさらにした上でiPod touch 2.0 ソフトウェアをインストールしているようです。さすがはメジャーバージョンアップ。
途中「工場出荷状態に戻しました」というような恐ろしいメッセージが表示され、発売当初の悪夢を思い出してしまいましが、なんとか無事にアップデートが終了しました。
使ってみた感じですが、まず関数電卓はなかなか良い感じです。基数変換機能がないのが少し残念ですが、それ以外の機能は一通り揃っています。特に乱数生成機能があるのは良いですね。これでとっさに乱数が欲しくなったときも大丈夫です。
App Storeには既にたくさんのソフトが登録されています。動かしてみた中で面白かったのは、加速度センサーを使ってライトセーバーごっこをするPhoneSaberですね。ブロックスピーカーがあれば、iPod touchでも十分に感じが出ます。
LifeGameというライフゲームを再現するためのアプリや、iTarotというタロット占いのアプリもすごくよくできてます。
サービスイン直後なのにここまでのクオリティを持ったアプリが出てくるというのは、開発環境の優秀さを物語っているなあと感じました。これからどんなアプリが出てくるか、今から楽しみです。
| 固定リンク | コメント (0) | トラックバック (0)
このほど、久しぶりにPeggyのスクリプトを作成してみました。今回のスクリプトはi-gotoline.msというもので、インクリメンタルな行ジャンプを行うスクリプトです。
スクリプトを起動するとエディットボックスだけのダイアログが出ますので、そこに行番号を入力すると、そのたびに入力した行へジャンプします。エンターキーかエスケープキーを押すとダイアログを閉じます。
i-search.msで作ったカスタムダイアログボックスを使った操作を別の用途でも使えないかなあとずっと思っていたのですが、ある日「行ジャンプがインクリメンタルになったら便利なんじゃないか?」と思いつき、勢いで作ってみました。
ただ、実際に作ってみると、行番号は入力するたびに桁が上がり、大きく数値が変わるため、あまりインクリメンタルになりませんでした。「リアルタイム行ジャンプ」と言った方が適切かもしれないです(^^;
それでもなかなか便利な物ではあると思いますので、使ってみていただけると幸いです。
| 固定リンク | コメント (0) | トラックバック (0)
ニコニコ動画は大分世の中に浸透してきたようで、周りを見ると非オタクの人も見るようになってきたみたいです。
ただ、同時に言われているのが「何が面白いのかよくわからない」ということで、確かにニコニコ動画にアクセスしても、TOPページに表示される動画はニコニコ動画に関する前提知識が必要なものばかりのような気がします。
そこで、ニコニコ動画を初めて見る方でも理解しやすそうな動画、またはニコニコ動画の独特なネタを理解できるような動画を集めたマイリストを作成してみました。
特にお勧めなのは「マスター・ヤグディン」かな。あと、「演奏してみた」カテゴリはどれも理解しやすいですね。
| 固定リンク | コメント (0) | トラックバック (0)
恐ろしく今更な感があるのですが、Twitterを始めてみました。
きっかけはidesaku blogさんのところで見たブログツールがすごくかっこよく見えたこと。これってどんなブログツールなんだろう?と思って調べていたらTwitterだったという感じです。公式のツールがここまで完成度高いというのは凄いですよねえ。
Twitterを使ってみて、何となく流行したわけがわかった気がします。ブログに書くまでではなくても、少しだけなら書けることって日常にあるんですね。
ただ、140文字に収めるのはなかなか難しいです。すぐオーバーしてしまうなあ。…ってこれ、全角を2文字として数えてるだけっぽいですね。
| 固定リンク | コメント (0) | トラックバック (0)
世の中にはプログラミング言語はいろいろあるのですが、「何もない」という状態をどう扱うかというのは、とても特徴が出てくるところです。
例えばC言語では、言語的には0という整数が「何もない」ことを示していると言えます。例えば0は真偽値として扱うと偽になりますし、ポインタとしては「どこも指していない」という意味にすることが多いです。
Javaでは、nullが代入された変数を扱うとNullPointerExceptionという例外になるのですが、思わぬ形で大人気になってますね。
なんでこんな話を持ち出したかと言いますと、以前ruby-dev(Rubyの開発をしている人のためのメーリングリスト)でnilに関する激論があったのです。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/29374
ここからスレッドを辿っていくと読むことができます。
ここで結局nil.to_sは空文字列を返すということで決着が付き、いろいろな人が胸を撫で下ろしたのですが、nilというものがどうあるべきかという議論はとても興味深いですね。
ちなみに、Rubyはとても柔軟な言語なので、こんな邪悪なこともできます。
class NilClassNilClassというのは、Rubyのnilオブジェクトが属するクラスで、インスタンスはnil一つのみという非常に特殊なクラスです。method_missingというのは、オブジェクトが応答できないメソッドが呼ばれたときに呼ばれるメソッドです。NilClassのmethod_missingがself(つまりnil)を返すようにすると何が起こるのか…と言いますと、nilに定義されていないメソッドが呼ばれてもnilが返るだけになるんですね。
def method_missing(id, *args)
self
end
endpeople = ["Mike", nil, "Tom", "Emily"]
p people.map {|person| person.upcase} => ["MIKE", nil, "TOM", "EMILY"]
Cで言うと、NULLのポインタに対して関数を呼ぶと例外にならずにNULLが返るだけ、ということになります。
7行目のようにnilが含まれる配列に対して8行目のような処理をすると、本来は例外が発生します。だけど、NilClassをいじっているので、この例では例外が起こりません。
これが一体何の役に立つのかというのは微妙なところですが、このスレッドの中でも紹介されているエラー忘却型コンピューティングに則ってシステムを作るときには良いのかもしれない、と思います。
思いもよらないことが起こったときに、システムを止めるのと何となく動くのではどちらがいいか…というときに、後者の方が良いことは結構ありますからね。
| 固定リンク | コメント (0) | トラックバック (0)
年の瀬が迫り、そろそろみんなが今年はどういう年だったかというような話をし始める頃ですが、Ruby界隈ではまだまだ大変な事件が待ちかまえています。来る12月25日は、Rubyist念願のRuby1.9リリース日なのです!
ここ数年間、Rubyの主要な機能追加はこの1.9ブランチ(と言うかトランク)に対して行われてきたわけで、その変更はまさに膨大です。まつもとさんがruby-devに投稿したリストを見て、
[ruby-dev:32385] Re: 1.9.1のリリース時期について
ワクテカしないRubyistはいないでしょう。
変更が大きい分まだバグも多く、すぐに使えるような安定したリリースではなさそうですが、お正月にいろいろ遊んでみるのにはもってこいではないでしょうか。
このリリースを前にして、rubyの各種メーリングリストでは非常に活発な投稿が行われています。Ruby関連のメーリングリストは、bladeと呼ばれるシステムでアーカイブされていて誰でも読むことができます。
日本のトップレベルのプログラマ達が、真剣に実装や仕様について討論している姿はとても迫力があるし、単純に読み物として面白いです。Rubyに関する新しい発見もありますしね。
最近ちょっと驚いたのは、
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/281507
で紹介されているtestという組み込み関数でした。これは存在自体知らなかったです。長いこと使ってても、全然知らない関数とかあるものですね。
| 固定リンク | コメント (2) | トラックバック (0)
iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese
超ド級ニュース来たー!個人的に震撼!
これってWindowsでも開発できるのかなあ。開発環境がMacだけなら、このためだけに今度こそMac買います(^^
| 固定リンク | コメント (0) | トラックバック (1)
Life is beautifulさんの教えながら学ぶRuby:イテレータに片思いというエントリに、面白そうな問題があったのでやってみました。
一つ目のメッセージを出すメソッドは、可読性を考えるとヒアドキュメントを使うのが良いでしょうね。
def hello(to, *mesg)こうかな。あ、ブロック使ってなかった…まあ、こういうのもあるということで。
print <<END
Hello, #{to}.
-- message --
#{mesg.join("\n")}
END
end
def fact(n)
return (1..n).inject(1) {|f, i| f*i}
end
追記…他の方の投稿を見たら、ほとんど同じように書いてる方がいました。Rubyやってる人ならだいたいこういう考え方をするのかな。
二番目のについては、元の関数とは挙動が変わってしまいますが、実際にはマイナスのnにはnilを返した方がいいと思いました。
| 固定リンク | コメント (0) | トラックバック (0)
パケットキャプチャというのは、ネットワークを流れているパケットを取得することで、ネットワーク系の技術者には必須の作業です。正しく通信が行われているかを確認するには、実際のパケットを見てみるのが一番だからです。
linuxやPC上で動くソフトなら、パケットキャプチャをするにはWiresharkを使えば簡単なのですが、組み込み機器の開発を行う際にはキャプチャソフトが組み込み機器上で動かないため、PCで組み込み機器が行っている通信を横から「盗聴する」ような形で受け取る必要があります。
ただ、特に無線LANの通信の場合、キャプチャを行うのはかなり大変です。普通、無線LANのハードウェア及びドライバは、他のマシンの通信を無視するような設定になっているためです。本来受け取る必要がないんだから当然ですよね。
僕も、なかなか難しいのかなあ…と思っていたら、偶然ネット上で「BUFFALOのWLI-CB-G54ならパケットキャプチャできる」という情報を見付けました。WLI-CB-G54というのはPCカードスロット用の無線LANクライアントで、かなり古いもののため、既に生産中止になっています。
その次のWLI-CB-G54Sという製品ではできなくなってしまったらしい。
かなり怪しげな話なんですが、価格.comで唯一掲載していたアプリコットさんで購入して試してみました。
「ドライバが最新だとうまくいかない」っていう情報もあって、大丈夫かなあと思っていたのですが、付属のエアナビゲータCD Ver.8.xxに入っていたドライバで問題なくキャプチャできました。BUFFALOは古いドライバもサイトに置いてくれてますので安心ですね。
専用の機器では、AirPcapという選択肢もあるのですが、やっぱり高いですので、こういう手頃な選択肢もあるのは良いことだと思います。
| 固定リンク | コメント (0) | トラックバック (0)
つい二週間くらい前に更新したばかりなのですが、Peggyの単語補完スクリプトをまたまた更新しました。今回の修正は、長年の懸案であった、C++のクラスメンバ補完への対応です。
二週間前には「C++の文法は難しすぎるんですよねえ」と言っていたのに、なぜできるようになったのかと言いますと、結局のところ仕様を妥協したからです。実際、メンバをTAGSから拾うだけならCの構造体補完とさほど変わりないんです。
private等の可視性をきちんと反映するのは難しいなあ…と思っていたのが、実際に作ってみたら、別に反映しなくても十分使えるじゃないか、と気付いたのが最大の進展でした。
今回対応した補完の仕方は三種類あります。まず、従来の構造体メンバ補完と同様に、
SomeClass instance;として補完を行うと、SomeClassクラスのメンバとメソッドがリストとして表示されます。リストに含まれるのは、クラス内で定義されている定数や、メンバ変数、メソッド等です。本来はprivateなメンバ変数が出てきたりしたらおかしいのですが、このスクリプトでは全部出てきてしまいます。「出てこないよりは出過ぎた方がいい」という方向で作成しているためです。
instance->|
(|はカーソルです)
次に、
SomeClass::|となっているときに補完を行った場合、SomeClassを型名と見なして候補を表示します。この時は、クラス内で定義されているenumやスタティックな変数のみが出てくるべきなのですが、残念ながら出てくるリストは一つ目の例と同じです。
最後の例は、
SomeFunction()->|のように、関数の返値から直接メンバを参照している場合です。このようなときは、SomeFunction関数の返値の型を探し、その型のメンバをリストアップします。
このように、VisualStudioのインテリセンスと比較すると、全く不完全な機能です。ただ、使えないというわけでもないレベルに来たと思ったので、公開させていただきました。
他に問題だと思っている点は以下の通りです。
・マクロやtypedefが絡むとうまく動作しない。これはやればできると思うのですが、自分があまり必要性を感じていないので対応していません(^^;
・namespaceに対応していない。本当は
Namespace::|みたいな場合にも対応したかったのですが、namespaceの情報をTAGSから取得するのは不可能に近いのです…。
こうして見ると欠点だらけですね…。頑張れば対応できるものもあるのですが、現在の、Peggyが作成したTAGSを解析する方法では、これらに対応することは難しそうです。ただ、現在の方法はPeggy本体と協調しやすいので、単純に構文解析の方法を変えても使い勝手の向上に繋がらないかなあと思ってます。
このスクリプトを作りだしたのは二年半くらい前で、そのころからC++のクラスに対応したいなあと思っていたので、不完全ではありますが対応できたのは嬉しいです。
昔は無理だと思っていたのですが、やっぱりモチベーションの違いでしょうね。昔と違って今の仕事はC++が中心なので、なんとかしなくちゃと気持ちが大きくなったんだと思います。
そもそも昔はC++のことが全然わかってなかったというのもあるのですが(^^;
| 固定リンク | コメント (0) | トラックバック (0)
最近、勉強がてら家でもプログラミングをすることが多いのですが(ほとんどRubyのCGIかPeggyのMocaScriptです)、会社と開発環境が違うのがストレスになりがちです。
特に困るのはsubversionがないことで、一回バージョン管理システムに慣れてしまうと、元に戻すことができないのが不安になってしまいます。
かと言って、ローカルPCにサーバを立てるのは常駐ソフトを増やすことになってしまいますし、もう一つPCを用意するのも場所を取ってしまいます。玄箱などのカスタマイズ可能なNASでサーバを立てられないかな、と考えておりました。
そういう状況で知ったのが、サービスを開始したばかりのBLOCKGROUPというレンタルサーバです。なんと月額250円で、1GBのsubversionリポジトリが使えるらしい。これはもう破格と言って良いですね。採算が取れるのか心配になってしまいます。
お盆前に早速申し込んで使ってみました。subversionとwebサービスがどう結びつくのだろう?と思っていたのですが、どうやらhtdocsフォルダにコミットしたファイルの最新版がそのまま公開される、という仕様のようです。基本的にはsubversionのリポジトリとして普通に使えるのですが、気になった点を列挙しますと、
・CGIとして使えるのはPHPとPerlだけ。RubyやPythonは未対応。問い合わせてみたのですが、将来的に対応する可能性はあるとのことです。
・WebDAVも同時に使えるのですが、subversionでコミットしたファイルとの関係がはっきりしない。WebDAVで上げたファイルはsubversionでどう見えるんだろう?実験してみたいのですが、なぜかWebDAVでログインできない…。
・subversionのアクセスが遅い。数KB/sしか出てない感じ。まあ、ソースファイルを扱うぶんには十分なのですが。
・htdocs/index.htmlを書き換えてもサイトのトップが更新されない。やり方がおかしいのかなあ。
・1GBというディスク容量は、subversionの管理データも含むので、画像などの大きなバイナリデータを管理すると、あっという間に消費してしまいそう。subversionでは、管理データを減らすことはできなくて、ひたすら増えていくだけなので。
・cron相当の機能がない。
・おまけで使えるBLOCKBLOGの管理ツールトップがやたら重い。ブックマークは記事投稿のページにしておくのが良さそう。
という感じです。総じて、ソースファイルの管理には十分なのですが、これでサイトを管理しようという気にはなりませんでした。
今後改善される可能性もあると思うのですが、しばらくはlacoocanとの併用で行きたいと思います。自由に使えるsubversionのリポジトリとしては唯一無二の存在ですので、頑張っていただきたいですね。
| 固定リンク | コメント (2) | トラックバック (0)
かなり久しぶりの更新になってしまったのですが、Peggyのポップアップリストを使った単語補完スクリプトを更新しました。
Peggy本体の単語補完機能もだいぶ便利なのですが、このスクリプトは検索ツールでも補完できるようにしたり、Doxygenのタグを補完したり、C/C++の構造体のメンバを補完したり、どちらかというとプログラミング向けのカスタマイズを行っています。
今回の変更点は、前から気になっていた、単語の中にカーソルがあるときの挙動に関するものです。
以前のバージョンでは、Peggyの挙動に合わせて、
Pe|ggy (|はカーソルです)のようなときに、「Peggy」という単語を補完していたのですが、どうも使っていると、このようなときはカーソルの右側の「Pe」を補完してくれた方が嬉しいのです。VisualStudioの単語補完もこの仕様になってますし。
ただ、このときカーソル右側の「ggy」をどうするかなのですが、VisualStudioでは、リストから単語を選んだタイミングで選んだ単語に置き換えられます。つまり、この場合リスト内の「Peek」を選ぶと、編集ウィンドウはこんな感じになります。
Peek|ただ、残念ながらPeggyではスクリプトの仕様上、リストで何かを選択したあとに何かをするということができないため、今回の変更では、「ggy」を削除して
Pe|の状態でリストを表示するようにしています。ちょっと乱暴ですが、多くの場合はこの方が便利だと思います。
最近仕事でC++をメインで使っているので、本当はクラスのメンバ補完とかができるといいのですが…C++の文法は難しすぎるんですよねえ。
| 固定リンク | コメント (0) | トラックバック (0)
最近どんどん完成度が高まっている、タブ型IEコンポーネントブラウザSleipnir2ですが、ブラウザとしての機能はもちろん、プラグインで機能を追加できるのも魅力です。
そこで僕が非常に便利に使っているのが、Headline-Reader Pluginです。Headline-Readerというのは、元々単体のソフトがあったのですが、作者さんがSleipnirを開発している会社に入りまして、Sleipnirプラグイン版を作成しているのです。
もともと単体でもかなり便利なプログラムだったのですが、ブラウザと統合されたことによって、さらに使いやすくなっています。タブ周りの挙動も、Sleipnirの豊富な設定を利用できますし、ブラウジングをしていてちょっと気になったRSSを、すぐに登録することができます。
あと、Headline-Readerの魅力は高速な動作ですね。とにかく、RSSの更新チェックが非常に速いのです。僕はRSSを100くらい登録しているのですが、ほんの5秒程度でチェックが終わってしまいます。使ったらちょっとびっくりすると思いますよ。
少し前のバージョンまでは、たくさんサイトをチェックしたときの安定度が今ひとつだったのですが、最新のバージョンでは劇的に改善されました。
もはやHeadline-ReaderのためにSleipnirを使うと言っても過言ではないソフトですので、大量のRSSをチェックしている方は、是非試してみてください。
| 固定リンク | コメント (2) | トラックバック (0)
以前作成したPeggyのインクリメンタルサーチスクリプトに関連して、JunさんがPeggy4.52で必要な機能を実装してくださいましたので、対応したものを投稿しました。
Peggyの掲示板にも書いたのですが、以前公開したものと比較して以下の点で変更されています。
a.入力語が見つからなかったときの動作を改善しました。
b.Shift+Enterキーで、前の候補を検索できるようになりました。
c.矢印キー、Home/End/PagUp/PageDown/Deleteの何れかのキーを押すと、インクリメンタルサーチを終了し、その後キーに応じた動作を行うようにしました。
aの変更は、JunさんがMocaScriptにDialog.getCurSel()、Dialog.setCurSel()の改良でカスタムダイアログボックスのEDITコントロールのカーソル位置を設定できるようにしてくださったおかげで実現できたもので、使い勝手の上で非常に重要な改善です。
というか、この改善がないとインクリメンタルサーチとしてほとんど使い物になりません(^^;
bの変更は、EDITコンポーネントにonKeyイベントが追加され、Shift等の修飾キーも取れるようになったおかげで実現できました。View.searchメソッドが前から後ろの方向にしか検索できない関係で、一度view内の検索語を全検索するという非常に効率の悪い実装になっているのですが、Mocascriptが十分高速なおかげでさほど気にならないと思います。
cの変更もonKeyイベントが追加されたことによる恩恵です。今まではインクリメンタルサーチの解除にESCキーを押す必要があったのですが、矢印キー等でも解除されるようになりした。
他につけようと思えばつけられる機能はあるけど、今のところはこのくらいかな。Emacsのインクリメンタルサーチを目指して作成したので、おおよそ近いものにはなったと思いますが、onKeyイベントが全部のキー入力を取れるわけではない関係上、Ctrl+Sで次の候補に行く等の機能は実現できませんでした。現状ではこれで十分だと思いますし、必要だと思ったら要望していこうと思います。
でもこのスクリプト、多分Mocascriptのあいまい検索機能を使った初めてのスクリプトじゃないかな。インクリメンタルサーチであいまい検索ができるのはなかなか新鮮です。Migemoに対応できたらよかったんだけど、Peggyの検索語強調表示の方が対応していないからあんまり実用的じゃなさそう。そもそも、プログラミングの用途だと日本語でインクリメンタルサーチすること自体あんまりないですし。
このスクリプトは、カスタムダイアログボックスに入力されたキーイベントでPeggy側のviewを操作するという手法で作られているのですが、インクリメンタルサーチ以外でもこの手法を活用できる例はあるかもしれません。思いついたらいろいろ試してみようと思います。
| 固定リンク | コメント (0) | トラックバック (0)
使っているソフトについてメモしてます。今年で三回目。
ネット関連
Sleipnir2 - タブブラウザ
JaneDoeView - 巡回機能付きの2chブラウザ
Irvine - ファイルダウンローダ
FFFTP - FTP転送
秀丸メール(¥2,100) - メーラー
AreaEditor - IEのフォームをエディタで編集する
ツール
B2 Husen - 常駐しないデスクトップ付箋ソフト
TeleV - テレビ番組表閲覧ソフト
Ad-Aware SE - スパイウェア駆除
サーチクロス(¥2,100) - インデックス型検索
Lhaplus - 圧縮・解凍ソフト
caldix - 統合アーカイバDLLをインストールしてくれる
H”問屋 - PHSの住所録管理+バックアップ
CD Manipulator - CD-Rライティングソフト
CraftLaunch - ファイラ兼コマンド型ランチャ
PDIC(¥1,000) - ローカルで英次郎をブラウズ
hyCalendar - カレンダー+スケジュールソフト
PrimoPDF - PDFファイル作成ソフト
カスタマイズ
窓の手 - Windowsカスタマイズソフト
Tweak UI - MicroSoft製カスタマイズソフト
秀Caps - IME起動キーなどをカスタマイズ
Adobe Reader SpeedUp - Adobe Readerの起動を高速化
eve - 環境変数編集ソフト
デーモンバスター - 不要なサービスを停止
エディタ
紙copi(¥2,625) - Webページスクラップ・メモソフト
EmEditor(¥4,200) - 軽快で強力なエディタ
Peggy Pro(¥4,500) - プロジェクト型統合エディタ
BZ - バイナリエディタ
メディア
IrfanView32 - 簡単な編集もできる画像表示ソフト
Vix - 画像ブラウズ
Media Player Classic - 軽量版Media Player
SuperTagEditor - 音楽ファイルIDタグ編集ソフト
TMIDI Player - MIDIファイル再生ソフト
mp3infp - シェルのIDタグ表示・編集機能を拡張
susie - 画像ブラウズ(プラグインが重要)
プログラミング
J2SE - JAVA開発環境
Ruby - オブジェクト指向スクリプト言語
Cygwin - UNIXツール一式
Doxygen - ドキュメント生成ツール
ヘルプましん - HTMLヘルプ作成ツール
TortoiseSVN - バージョン管理システムSubversionのGUIクライアント
相変わらずあんまり変わってませんが、まずHeadline-Readerがなくなってますね。これはSleipnir2に統合されたためです。あとは、GVではなくIrfanView32を使うようになりました。簡単な編集機能が便利です。
増えたのは、AreaEditorとTortoiseSVNですね。AreaEditorはIEのエクステンションで、フォームを好きなエディタで編集できるようにするソフト。使い方が直感的で、普段全く意識しなくていいのが魅力です。
TortoiseSVNはバージョン管理システムSubversionのシェルエクステンション型GUIクライアント。シェルエクステンションは今まで敬遠していたのですが、これは素晴らしいです。この前弟に会ったときに、「TortoiseSVNは神」という意見で完全に一致しました(^^;
Peggyからこれを呼び出すスクリプトを作った方がいるのですが、Peggyと一緒に使うとさらに魅力が増しますよ。
| 固定リンク | コメント (0) | トラックバック (1)
Peggyを愛用している(というかもはやないと生きていけない)僕は、会社でもいろいろな人へPeggyを勧めているのですが、emacsやvi使いの人に必ず言われるのが、「インクリメンタルサーチがないとなあ…」です。
とくにemacsな人は、「主にインクリメンタルサーチで移動する」と言うくらい使用頻度が高いらしい。僕は自作のスクリプト(menucomplete.ms)で検索ツール上で補完ができるので間に合うことが多いのですが、確かにあった方が絶対良いのは確かです。実はインクリメンタルサーチ機能はないことはないのですが、検索ダイアログボックスで、いちいちチェックをONにしないと使えないのです。これは使えるとは言わないよなあ。
というわけで、カスタムダイアログボックスのコールバック機能を使って、インクリメンタルサーチを実現してみました。
http://b--j.hp.infoseek.co.jp/i-search.ms
ポイントは、カスタムダイアログボックスのコールバックからPeggy本体のビューを操作できること。こういう使い方をしてるスクリプトは今まで見たことがなかったので、思いついたときはできるかなーと心配したのですが、やってみたらあっさりできました。こういうところの柔軟性はさすがPeggyですな。
ただ、今のところ問題点が二つありまして…
◇次の検索語に行くのがEnterキー、検索を終了するのがESCキーに限定されてしまう。「前の検索語に行く」というようなことができない。これはカスタムダイアログボックスの制限です。
これを解決するには、カスタムダイアログボックス上で「onKey」みたいな任意のキー入力にコールバックをかけられるようにしてもらうしかない。
◇入力語を検索してもなかったときは、その入力を「なかったことにして」検索される入力語まで戻る(例えば、seaまで検索語があって、seacと入力したときに検索語がなかった場合はseaまで戻る)という機能を実現したいのだが、現状それを行うにはカスタムダイアログボックス上のエディットコントロールに新たな語をセットするしかなく、そうするとカーソル位置が先頭に戻ってしまう。本当はカーソル位置が後ろに来て欲しいのだが…。
これを解決するには、エディットコントロールのカーソル位置をコントロールできるようにしてもらうか、もしくは上記のonKeyの実装でも実現できる。
一つめは不便ではあるものの、まだ我慢できるのですが、二つめは致命的です。これではちょっと使えないなあ…。掲示板で要望を出して、onKeyの実装か、カーソル位置のコントロールができるようにするのを要望しよっと。
それまでは、スクリプトライブラリへの投稿はできないですね。
| 固定リンク | コメント (0) | トラックバック (0)
Endeavor NA701 - ノートパソコン - Epson Direct Shop
おー、これは良いバランスのノートパソコンですね。あとはディスプレイ出力がMacBookみたいにDVIになれば、デスクトップリプレイスとしても十分使えそうです。
CPUが次の世代のMeromに移るときに、改善してくれないかなあ…。
| 固定リンク | コメント (0) | トラックバック (0)
あまりにも流行っているので、紹介するのがちょっと恥ずかしいのですが、やっぱり良い本は良い本です。
この本が素晴らしいと思ったのは、僕が漠然と感じていた「Googleスゲー!」という感覚をきちんと説明してくれたこと。Web2.0とは何か、というのがきちんと定義されているのも良いですね。
この本を読んで僕が考えたのは、やっぱり「じゃあ、Web2.0的なゲームってどんな感じになるんだろう?」ってことです。Web2.0の要素を順番に当てはめていくと…
a. 計算処理は全てサーバーで集中して行う。クライアントは入力を受け付け、結果を表示するだけ
b. APIが用意され、誰でもサービスを容易に開発できる
c. ユーザーの「サービスを受ける」という行為が、その世界を面白くする(向上する)ことにつながる
必然的にネットワークゲームになることは確かだけど、これが実際にどういうゲームになるのかはちょっと想像しにくいですよね。
僕がまっ先に連想したのは、人気Webゲームの人狼BBSです。どんなゲームかはまとめサイトや結城浩さんの解説(1),(2)に詳しいですね。
このゲームがWeb2.0的だなあと思うのは、プレイヤーが遊んだ結果がログとして残るということ。しかもこのログが後から楽しめるようにシステムが作られているのです。「独り言」や「墓の下発言」は、ゲームには全然関係ないことですからね。
もちろん全てのログが面白いわけではないのですが、面白いログはWikiでおすすめログとして紹介されています。
僕も参加したことがあるのですが、あんまりにも面白くて、社会生活を破壊してしまうので一回で止めました(^^;
人狼BBSが開発されたのは、Web2.0という言葉が出てくるかなり前です。もしこれからWeb2.0的なゲームが流行るとしたら、作者さんは素晴らしい先見の明の持ち主ですね。
| 固定リンク | コメント (2) | トラックバック (0)

SQLite入門 すぐに使える軽快・軽量データベース・エンジン
日本語で読めるSQLite本はまだ非常に少ないのですが、これはとてもわかりやすかったです。
SQLiteはサーバーを必要としない、ファイルベースのデータベースシステムで、Webアプリケーションだけではなくアプリケーション組み込みにも使われています。なんでもfirefox2のブックマーク管理に使われるらしい。
SQLiteみたいなのが出てくると、言語レベルでデータベースをサポートしてしまってもいいんじゃないかという気がしますね。どういう形になるのかは、具体的にはわからないですが…。
| 固定リンク | コメント (0) | トラックバック (0)
会社の先輩に教えてもらったのですが、One-Click Ruby Installer(Windows環境にRubyを簡単にインストールするセットアッププログラム)には、fxriというGUIプログラムがついてきます。これはRubyの検索機能付きマニュアルにirb(Rubyのインタラクティブな実行環境)のコンソールがついているというもので、Rubyの勉強をしたり、ちょっと動作を試すにはうってつけです。
あと、One-Click Ruby InstallerにはProgramming RubyのHTML Help版もついてきます。検索がしやすくなってますし、この二つのためだけでもOne-Click Ruby Installerをインストールする価値がありますね。
| 固定リンク | コメント (2) | トラックバック (0)
最近見つけたんですが、Ruby占いというサイトがあるんですね。
早速試してみたら、僕はIO#readlinesとのこと。ちょっと微妙だなあ…。Enumerable#injectとかだったらかっこいいですねえ。
ちなみに僕がRubyで一番好きなメソッドは、Integer#timesです。一番最初に
10.times { puts "hoge!" }
っていうコードを目にしたときは、凄い言語だなあと思いました。数値にメソッドがあることも驚いたんですが、コードがそのまま「10回"hoge!"と表示しろ」と読めるのも凄いと思ったのです。
| 固定リンク | コメント (2) | トラックバック (0)
せっかくAmazonのアソシエイトIDを取ったので、最近良かった本を紹介してみます。
「Rubyレシピブック 268の技」は、Perlなどでよくある「クックブック」と呼ばれる形式の本で、その言語で何かをするときのイディオムをたくさん紹介してくれます。
例えば、「カレントディレクトリ以下の全てのディレクトリにある、Rubyのソースファイルのリストを取得したい」というような場合はどうするか?
この本を読んでいれば、
Dir.glob("**/*.rb")
でいけるな、というのがすぐわかるわけです。
プログラミングRubyとかも良い本ではあるけど、オブジェクト指向やスクリプト言語に既に親しんでいる人なら、先にこういう本を読む方がいいんじゃないかな。
| 固定リンク | コメント (0) | トラックバック (0)
以前作ったCGIなんですが、せっかくですのでクエリー文字列でウィッシュリストID等を指定できるようにしてみました。
http://koa.la.coocan.jp/amazon/wishlist.rb
ソースとZIPで固めたもの。ソースが倍くらいに増えてしまいましたねえ。
以下、ソースコメントからの転載です。
Amazonのウィッシュリストを取ってきて、携帯等で見やすいように表示するCGIです。 クエリー文字列でウィッシュリストID、フィルター、ソート順を指定することができます。 クエリー文字列で指定されなかった場合は、デフォルトの動作を行います。-- wid
ウィッシュリストIDを指定します。デフォルトは作者のリストです(^^;-- filter
0: 全ての種類を表示します。デフォルトの動作です。
1: 本のみを表示します。
2: CDのみを表示します。
3: エレクトロニクス製品のみを表示します。-- sort
0: ウィッシュリストに後で追加されたものから順に表示します。デフォルトの動作です。
1: 値段が安い順に表示します。
2: 値段が高い順に表示します。
3: ウィッシュリストの情報を変更したのが新しい順に表示します。
4: 優先度が高い順に表示します。例えば、ウィッシュリストIDが 21GWIDYP4FL8E で、値段が安い順に全て表示するときは、以下のようにします。
[URL]?wid=21GWIDYP4FL8E&sort=1
例をこのURLでやると、
http://koa.la.coocan.jp/amazon/wishlist.rb?wid=21GWIDYP4FL8E&sort=1
ですね。
ついでに、タイトルが本の場合は黄色、CDはピンク、エレクトロニクス製品は水色にしてあります。
| 固定リンク | コメント (0) | トラックバック (0)
Amazonのウィッシュリストは非常に便利で、買いたいなあと思ったものを入れておくようにしているのですが、中にはちょっと立ち読みしてみてから欲しい本もあります。
というわけで、Amazonのウィッシュリストをcgiで取ってきて、ケータイ向きに表示するスクリプトを作ってみました。
http://koa.la.coocan.jp/amazon/wishlist.rb
AmazonのAPIへのアクセスは、ruby-amazonというモジュールを使って簡単にできるのですが、World Wide Walkerさんによると、本来働くはずのウィッシュリストを取ってくるメソッドが、なぜか今働かなくなっているらしい。World Wide Walkerさんが解説されている方法でやったらできました。どうもありがとうございます。
通信の部分はすぐできたんだけど、表示を整えるのに時間がかかってしまった(^^;
ソースのWISHLIST_TOKENを変えれば、どのウィッシュリストでもいけるはずです。
あとはウィッシュリストからの削除ができるようにしたいですね。買ったらウィッシュリストに載せておく必要がなくなりますし。
| 固定リンク | コメント (0) | トラックバック (0)
リンク: アップル、「Boot Camp」を公開--Intel MacでWindows XPが利用可能に - CNET Japan.
いえーあ!
さすがApple、やってくれると思ってました(^^
これでiBookが魅力的な出来だったら、買ってみたいな。しばらく仕事でMacを使っていたのですが、検索の強力さとか、魅力的な部分が多々ありましたので。
Macはあまり良いテキストエディタがないのが困りものだと思っていたのですが、最近はTextMateという良いものがあるみたいです。プロジェクトを扱うことができて、Mac版Peggyみたいなエディタですね。まだ日本語が通らないのが困りものですが…。
最近メジャーになったRuby on Railsの開発チームは、主にMacとTextMateで開発を行っているのだそうです。
| 固定リンク | コメント (0) | トラックバック (0)
窓の杜 - 【NEWS】InfoMakerの大倉氏がフェンリル入社、「Sleipnir」に多機能RSSリーダー統合へ.
InfoMakerのHeadline-Readerも、Sleipnir2も使っているので、ちょっと驚きました。
RSSリーダーはいろいろ試したんだけど、Headline-Readerに勝るクエリ速度と使い勝手を持つソフトはなかったんですよね。
ただ、タブ周りの挙動に不満があったので、これがSleipnir2のプラグインになるというのはとても嬉しいです。早く出ないかな~。
| 固定リンク | コメント (0) | トラックバック (0)
前々から適当なホスティングサービスがないかなーと思っていたのですが、niftyがLaCoocanというサービスを始めたみたいなので、早速申し込んでみました。
スペック及び料金はここにありますが、一年間の契約なら月500円弱ですね。このクラスならさくらインターネットやロリポップ!が比較対象になると思うのですが、LaCoocanはMySQLが使えない(SQLiteを用いる)という難点がある代わりに容量は大きい(2GB)、ということになりそうです。SQLiteを採用しているのは、サーバ保守のしやすさと負荷の問題からなのかな。
MySQLを使えないと言うことは、XOOPSなどが使えないということなのでかなり残念なのですが、今のところは使う予定がないのでいいかなと思ってます。最近はSQLiteが普及してきてますしね。
でも、niftyの会員じゃない人は入会しないといけないんですねえ…。総合的に考えると、nifty会員にはお得だけどそうじゃない人には微妙、って感じなのかな。
独自ドメインを使う予定がないので、アカウントを選ぶのはかなり悩みました。なるべく短いアドレスにしたかったので、
http://○○○.●●●.coocan.jp/
という構成で、●●●のところは一番短い「la」に決定。あとは○○○なんだけど、最低三文字ということで、「la」に繋がる文字(つまり、五文字で最後の二文字が「la」の英単語)を探してみました。
villa … 別荘、 大邸宅
scala … スカラ座
koala … コアラ
tesla … ニコラ・テスラのテスラ
っていうのが出てきたんだけど…コアラ以外はちょっとわかりにくい。ということで、
http://koa.la.coocan.jp/
どうぞヨロシク。今やりたいと思ってるのは、
・大学の元サークルメンバーでやってる共同のブログを移転する
・アフェリエイトが自由に使えるレビュー用のブログを作る
・Peggyに関するwikiを作る
ってとこかな。ココログはそのまま残すつもりです。
| 固定リンク | コメント (2) | トラックバック (0)
プログラマーという仕事をしていると、キーボードやマウスなどの入力環境にやけにこだわるようになります…という書き出しをしようと思ったんですが、これはちょっと嘘ですね。世の中の人はびっくりするぐらい入力環境に無関心です。CPUのクロックよりもずっと大事なことなんですけどね。
キーボードはいろいろ試したんですが、どうもRealforceでファイナルアンサーっぽい。これだけの製品が安定供給されているだけで幸福です。Realforceを紹介しているサイトはいろいろあるんですが、猫のキーボードルームさんのが一番詳しいですね。あと使ってみたいのはCherry ErgoPlus Model MX 5000だけど、これはもう手に入らないしなあ。
キーボードに比べて流動的なのはマウスです。マウスのテクノロジーがまだまだ進化し続けているってこともあると思いますけどね。今使っているのはLogicoolのMX1000です。MX1000に関してはスタパ斉藤さんが語り尽くしてるのですが、ここで挙げられている問題点は幸いなことに僕には起きていないので、今のところ不満点は全くありません。
はじめは会社でだけ使っていたのですが、家で使っていたMX310がへたってきたので、最近MX1000の後に出た同じレーザーセンサのMX610を買ってみました。ところがこれが全くダメ。無線通信が僕の家の環境に合わなかっただけかもしれないんだけど、動作のコンピュータへの伝わり方がMX1000より格段に劣るのです。あと、ホイールクリックもしづらくなってます。
というわけで、これからマウスを買う人には、同じレーザーセンサで無線でも、MX610じゃなくてMX1000を勧めます。値段はちょっと高いですけどね。
ちなみにマウスに関して言うとマイクロソフトも有力なメーカーなんですが、個人的にあのぬるぬるしたローラーの感触に耐えられないので使ってません。トラッキング性能がどうか、気にはなってるのですが…。
| 固定リンク | コメント (0) | トラックバック (0)
既存メールをGmailにインポートできる「Google GMail Loader」
Gmailの便利な使い方をいろいろ紹介してくださっているGmail Maniacsさんの記事です。ずっと前から「これができたらなあ」と思っていたことなので、喜び勇んでやってみました。まだ途中なのですが、エラーも起きずにうまくいってるみたいです。
このツール、要するにやっていることは、ローカルに保存してあるメールを一つずつ(2秒に1回)gmailに送り続けるというもので、やっていることがわかりやすいぶん、安心して使えそうです。
僕は普段鶴亀メールというメーラーを使っているのですが、メールを選択して
ファイル > エクスポート
で、「UNIX MBOX形式(「From 」区切り)」で「エンコードする」「添付ファイルも出力する」の形式で問題なく読み込めました。
※追記…一回目は700メールくらいのところで止まってしまいました。まあ、続きからやるだけなので問題ないですけどね。同時にブラウザとかを使ってるといけないのかなあ。
※追記2…なんとか転送できました。結局全部で10000くらいメールがあった…。これでどこからでも検索できるようになって、一安心です。
| 固定リンク | コメント (0) | トラックバック (0)
Rubyを勉強する方法はいろいろあると思うのですが、Pythonとかを既にやっている方は、いきなり内部実装に近い所から始めてみるのもよいかもしれません。なぜこんなことを言うかというと、Ruby界隈では有名な『Rubyソースコード完全解説』のサポートページで、HTML版が完全に公開されているのです。
実際に使う上で重要な、文法に関することも詳しく載っているので、使い方の勉強にもなる素晴らしいコンテンツです。Rubyのような動的な言語だと、内部で何をやっているか理解するのも大切ですしね。
ちなみに、Rubyに関する"決定版"的な本は、『プログラミングRuby』なんですが、第二版が翻訳中という話がありますので、買うのはもう少し待った方がいいと思います。第一版はバージョン1.6対応になってしまいますので。
| 固定リンク | コメント (0) | トラックバック (0)
日本中の組み込みプログラマの星であるプロジェクト型エディタPeggyですが、Rubyの開発でも十分な力を発揮します。emacs上の環境であるruby-mode.elには適いませんが、色分け、インデントなど、Rubyの恐ろしく複雑な文法になんとか追随しています。%記法やヒアドキュメントにも対応してるんですよ。
PeggyでRubyを開発するときには、開発フォルダの内容をそのままPeggyのプロジェクトに放り込んでしまうのが簡単です。プロジェクトに登録された.rbファイルを右クリックから「実行」すれば、何の設定も必要なくPeggyの出力ウィンドウ内で実行されますし、エラーが起こったらタグジャンプもできます。
あと、Ruby リファレンスマニュアルの Windows HTML Help版を適当な場所に落としておいて、プロジェクトのルートに登録するのもお忘れなく。これで、Peggyのキーワードヘルプ機能が使えるようになります。
拡張ライブラリを頻繁に使う人や、単語補完をしたい人は、Rubyのlibフォルダ以下のctagsファイルを作成して、プロジェクトに登録しておくと良いですね。libフォルダ内でコマンドプロンプトから
ctags -e -Rとして、できたTAGSファイルをプロジェクトに登録すればOKです。拙作のmenucomplete.msを使えば、Ruby特有の「変数名の頭の$,@,@@」や「メソッドの後ろにつく!,?」にも対応できます。
Rubyの開発は、CやJavaとは違ってあまりファイル数が多くならないと思うので、プロジェクト型エディタの恩恵はさほどないのですが、Emacs系が苦手な方はぜひお試しください。
| 固定リンク | コメント (2) | トラックバック (0)
いやはや、酷い目に遭いました。
昨日からパソコンをオーバーホールしていたのですが(と言ってもハードディスクを新品にしてOSを再インストールしただけですけど、)SmartVisionというNECのテレビ機能管理ソフトにはまりました。
このSmartVisionというソフトは、NECのテレビ機能付きパソコンを所有する限り絶対に使わざるを得ないソフトなのですが、僕が今まで見てきた中でも最もバギーなソフトの一つです。しかも、他の選択肢が一切ないというのがきついですね。
忘れないうちに手順をメモ。
1.システムの再セットアップ後に何らかの理由でSmartVisionをアンインストールしてしまった場合は、「ソフトナビ」というソフトウェア管理ソフトを使用して再インストールする。SmartVisionの実体は起動ドライブのAPSETUP\SVISION以下にあるが、ソフトナビを通さないと正しくインストールされない。
2.インストール終了後、一度起動して設定を行った後に、NECのサイトからADAMS-EPG+(Plus) 対応モジュールを拾ってきてインストールする。これはインターネットから番組表を落としてくるのに必要。
3.2の作業の後、一時的に起動時にエラーが出てしまう状態となるが、121wareの自動アップデート機能でSmartVisionをアップデートするとエラーが出なくなる。
2と3の作業を逆にするといつまでもエラーが出てしまうようで、これにはまってしまったのでした。
ほんとにこういうソフトは勘弁して欲しいなあ...。.Net frameworkが浸透すれば、軽くはならないと思うけど、もう少し安定したソフトが出回るようになるかな。
※追記…この方法だと、ADAMS-EPG+(Plus) 対応モジュールから番組表を落としてくることはできるものの、それがSmartVisionに反映されないみたいです。前はどうやったんだっけなあ…。
※さらに追記…落としてくるADAMS-EPG+(Plus) 対応モジュールが古いためにうまくいってなかったようです。こっちを使うとうまくいきました。
| 固定リンク | コメント (7) | トラックバック (0)
またRubyネタになってしまうのですが、今僕がRubyに関して悩んでいることの一つに、unless... を使うべきか、if not... を使うべきか、というのがあります。
unlessというのはRubyの予約語で、
unless A B endは、
if !( A ) B endと同じ意味を持ちます。Cだと、
if !( A ) { B }ですね。 つまり、Rubyにはifと逆の意味を持つ構文が用意されているのですが、これに関して、Rubyist Magazine 第10号のあなたの Ruby コードを添削します 【第 1 回】 pukipa.rbでは、以下のように書かれています。
C や Java から Ruby 移行してきた人にありがちなのが、C/Java にもある構文ばかり使って Ruby 特有の構文を避けることです。特に unless, until はなぜか嫌われているようです。 (中略...) ではなぜ if not よりも unless が、while not よりも until がよいのでしょうか。その理由は、文を構成する要素数が減るからです。わたしが「if not A」という式を見る場合、まず if を見て、A を見て、それを not で反転します。つまり脳内操作は三つです。しかし「unless A」の場合、unless を見て A を見れば終わりなので二つです。僕もまさしく「C や Java から Ruby 移行してきた人」なので、unlessに対して微妙に違和感があります。なんだかunlessを見ると、「なんだっけ?」って感じで一瞬思考停止してしまうんですよね。
もちろん、if !(...)という括弧が必要な書き方は美しくないことはわかっているので、unlessを使うようにしたいという気持ちもあるのですが、悩ましいことにRubyにはif not...という逃げ道があるのです。
notというのは、!と同様に単項演算子で、真偽をひっくり返す効果があります。ただ、全く同じではなくて、Rubyの演算子式の仕様を見ていただくとわかるのですが、!よりも優先順位が低いんですね。notの下は、andとorしかありません。つまり、「andとorを使わない」というコーディングルールを使っている限りは、if not...はunless...と同じ意味になるわけです。(andは&&の優先度が低いもので、notと!の関係と同様です。)
もちろん、他の人がコードを読む場合、戸惑うことは予測できます。つまり、
if not A && B C endというコードを見た場合、notが「A」にかかるのか、それとも「A && B」にかかるのかを理解するには、Rubyの演算子の結合順位を正しく理解していなければいけません。最悪勘違いする場合もあります。他方
unless A && B C endなら、たとえunlessで引っかかっても、勘違いすることはないですよね。そういう意味では、unlessの方が優れていますね。なんだか書いてるうちに、unlessの方が明らかに良い気がしてきました(^^;
あと、調べているうちに見つけたのは、英語的に言うとunlessとif notは意味が違うということです。つまり、unlessは唯一除外する条件を示すのに大して、if notは他にも条件がありうることを意味しているんですね。Rubyでの使われ方では、unlessの方が正しいような気がします。
というわけで、何だか拍子抜けな結果になってしまいましたが、これからはunlessを積極的に使っていくことにしようと思います(^^;
| 固定リンク | コメント (3) | トラックバック (0)
最近会社でRubyを使っています。と言っても、使用目的は主にテキスト処理で、今流行のRubyOnRailsではないのですが。
実は今までテキスト処理のようなスクリプト言語が適している開発はしたことがなくて、これがほとんど最初の経験でした。ですので、PerlもPythonも勉強したことはあるものの、実際に使ってみたことはありません。スクリプト言語であれば、多分この三つのうちどれかができたらいいだろう...ということで、社内で使っている人が多かったRubyを選んだ次第です。実際、PythonとRubyはできることがほとんど同じなので、どちらを使うかは好みの問題だと思います。
Rubyを使ってみてまず感じたことは、これはプログラミング言語という意味ではCやJavaと同じだけど、書く上での意識の持ち方が全然違うなあということでした。
まず、Rubyを使うとソースコードが短くなるとよく言われるのですが、これは要するに「ソースコードが短い方が得をする」からなのだと思います。Rubyの主要なメソッドは、実際にはCで書かれているので、Rubyレベルでどんなに工夫していろいろ書いても、逆に実行効率が悪くなってしまいます。それに対し、CやJavaはライブラリと同じレベルでコードを書くことができるので、色々コードを工夫すると実行効率が良くなります。
つまり、Rubyプログラマーは、組み込みのメソッドを最大限に活用しようとするので、結果的にコードが短くなるということです。
またRubyを使っていて衝撃的だったのは、Rubyではコメントはなるべく少ない方が良いとされることです。これはつまり、変数名や書き方を工夫することで、コメントがなくても文章のように読めるコードを書くことが最善だということなのです。変数の宣言でコメントを付けるよりも、変数名を一目見て内容がわかるようにすることの方が大切なのは自明ですよね。
逆に言うと、Rubyはこのような書き方が実現できるように作られているということなのだと思います。
Rubyは一見わかりやすい言語ですが、その言語機能は膨大で、上記のような「Ruby Way」を実現するためには、学習すべきことが数多くあります。そういう意味では、Rubyは決して易しい言語とは言えないなあと感じてしまいました。
| 固定リンク | コメント (0) | トラックバック (0)
Rubyのまつもとさんの日記はとっても面白くてためになるので、プログラマなら必読だと思うのですが、11月25日のエントリにちょっと気になる言葉がありました。
・ Matz, you have achieved a lot in your life so far. If I still remember how to count, you're now turning 40 years old. Do you have any dream that you have not yet achieved so far?ユビキタスコンピューティングが実現するなら、ユビキタスプログラミングが実現してもおかしくはないですよね。ちょっと想像してみたんだけど、それってハリー・ポッターの世界観にすごく近いんじゃないかな。その世界では、プログラミング言語が本当に魔法の言葉になるはずです。Seeing my grandchildren, honestly. Besides that, I do want to see the world of ubiquitous programming, where we can program everything, and to see some influence from Ruby in it.
ちなみに今でも、最高クラスのプログラマは“Wizard”(魔法使い)と呼ばれるんですよ。
| 固定リンク | コメント (0) | トラックバック (0)
バージョンアップのたびに全国の組み込みプログラマを幸せにするスーパーエディタ、アンカーシステムズさんのPeggyが4.29となりました。今回の目玉は、VisualStudioのような単語補完を可能にする、ポップアップリスト機能の追加です。
標準の機能でも十分に協力ですが、Peggyの凄いところはこれをスクリプトからも呼び出し可能であること。早速拙作のMenuComplete.msをアップデートしました。きっとポップアップリストの便利さを実感できると思います。
そう言えば今回、初めてMenuComplete.msを使ってくださっている方から掲示板で連絡をいただきました。
内容は、バグを報告してくださったのですが(^^;
原因を調べていただいたおかげで、バグは容易に修正することができました。
何しろ初めての経験で、ちょっと動揺してしまったのですが、嬉しかったです。
今後は、C++のクラスメンバの補完ができるようにしていきたいですね。
| 固定リンク | コメント (0) | トラックバック (0)
使っているソフトって、そんなに変わらないものですね。
ネット関連
Sleipnir2 - タブブラウザ
Headline-Reader(¥1,500) - RSSリーダー
JaneDoeView - 巡回機能付きの2chブラウザ
Irvine - ファイルダウンローダ
FFFTP - FTP転送
秀丸メール(¥2,100) - メーラー
ツール
B2 Husen - 常駐しないデスクトップ付箋ソフト
TeleV - テレビ番組表閲覧ソフト
Ad-Aware SE - スパイウェア駆除
サーチクロス(¥2,100) - インデックス型検索
Lhaplus - 圧縮・解凍ソフト
caldix - 統合アーカイバDLLをインストールしてくれる
H”問屋 - PHSの住所録管理+バックアップ
CD Manipulator - CD-Rライティングソフト(配布ページがない)
CraftLaunch - ファイラ兼コマンド型ランチャ
PDIC(¥1,000) - ローカルで英次郎をブラウズ
hyCalendar - カレンダー+スケジュールソフト
PrimoPDF - PDFファイル作成ソフト
カスタマイズ
窓の手 - Windowsカスタマイズソフト
Tweak UI - MicroSoft製カスタマイズソフト
秀Caps - IME起動キーなどをカスタマイズ
Adobe Reader SpeedUp - Adobe Readerの起動を高速化
eve - 環境変数編集ソフト
デーモンバスター - 不要なサービスを停止
エディタ
紙copi(¥2,625) - Webページスクラップ・メモソフト
EmEditor(¥4,200) - 軽快で強力なエディタ
Peggy Pro(¥4,500) - プロジェクト型統合エディタ
BZ - バイナリエディタ
メディア
GV - 軽量な画像表示ソフト
Vix - 画像ブラウズ
Media Player Classic - 軽量版Media Player
Winamp - ファイル再生ソフト
SuperTagEditor - 音楽ファイルIDタグ編集ソフト
TMIDI Player - MIDIファイル再生ソフト
mp3infp - シェルのIDタグ表示・編集機能を拡張
susie - 画像ブラウズ(プラグインが重要)
プログラミング
J2SE - JAVA開発環境
Ruby - オブジェクト指向スクリプト言語
Cygwin - UNIXツール一式
Doxygen - ドキュメント生成ツール
ヘルプましん - HTMLヘルプ作成ツール
Subversion - CVSの後継バージョン管理システム
| 固定リンク | コメント (0) | トラックバック (0)
【特集】64bit環境で試すコンパイラ - アセンブルコードに見るその実力(MYCOM PC WEB)
MYCOM PC WEBは時々、とてもフリーとは思えないクオリティの解説記事を載せるので侮れない。この特集はついに対応OSも発売された、x86の64bit拡張であるEM64Tについての記事なんだけど、結論としては、
・EM64Tは使える汎用レジスタが増えたぶん速いYo!
・Intel C++コンパイラは優秀だYo!
ということになる。もちろん64bitの演算をたくさんするプログラムはもっと速くなるんだろうけど、正直あんまり考えつかないですよね。
汎用レジスタが増えたとは言っても、元々の8本というのが少なすぎただけという説もある。ARMだって16本あるんですよ。アセンブラレベルだと、x86は生きた化石みたいなものです。
レジスタが増えると最適化の幅が広がるので、アセンブラ屋さんは腕の見せ所ですね。
ちなみにMacOS Xは既にEM64Tで動いてるんじゃないか?という解説記事も。
| 固定リンク | コメント (0) | トラックバック (0)
Lunascape、最新バージョン「2.1」と軽量版「Lite」を公開
日本でfirefoxが他の国ほど流行らないのは、国産のタブブラウザでみんな満足してしまってるからじゃないかなあと思います。
Windowsだと、インターネットエクスプローラーは常駐しているようなものなので、起動速度に関して言うとどうしても有利なんですよね。
Lunascapeは、国産タブブラウザの中でもSleipnirと双璧と言われるソフトなのですが、2.0系になってやたら不安定かつ重くなってしまい、僕は1.0系を使い続けていました。今回、1.0系の後継であるLiteが出たので試してみたのですが、1.0と変わらない感覚で使えます。
ブラウザみたいに頻繁に使うソフトは、やっぱり軽いのが一番です。
| 固定リンク | コメント (0) | トラックバック (1)
最近エルピーダメモリが元気で嬉しいですね。日本のDRAM最後の希望ですし。
もともとDDR2はDDRよりも低電圧で、理論上は消費電力を下げられるはずなのですが、一緒に出てきたインテルのチップセットが激熱で、どのメーカーも苦労したみたいです。こういう部品が使えるのは助かるだろうな。
ちなみにこんなニュースも。
ITmediaニュース:[WSJ] 再び浮上する「Pentium Mac」の可能性
これってPentiumMをノートに採用するってことなのかな。PentiumMは非常に素性の良いCPUなので、アップルが採用してくれるといいなあと思います。
| 固定リンク | コメント (0) | トラックバック (0)
世知辛い組み込みプログラマーの世界を照らす希望の星、世の中に絶対善があるとしたらそれはPeggyに違いないと(個人的に)思っているアンカーシステムズさんのプロジェクト型エディタ「Peggy」が、4.27にバージョンアップしました。
作者のJunさん曰く「小機能追加およびバグフィックス」とのことなんですが、いつもながら凄い数の機能追加があります。しかも、以前僕が要望した、検索ツールの位置を得る関数まで用意してくださいました。こんな機能使うの僕くらいだろうなあ…。でも、欲しかった機能なのでとても嬉しいです(^^
早速menuComplete.msを更新してみました。あとはC++やJavaのクラスにも対応できればなあ…。
| 固定リンク | コメント (0) | トラックバック (0)
はーーーーー!?
エイプリルフールじゃないですよね?
ほんと、今年一番驚いたかもしれないです。こういうのって、独禁法にひっかからないのかなあ…。
| 固定リンク | コメント (3) | トラックバック (1)
アンカーシステムズさんのスクリプトライブラリに、「menuComplete」と「doxygenTool」を登録しました。
doxygenToolの方は結構前からできていたのですが、menuCompleteの方にDoxygenのコマンドを補完する機能があって、これがないとちょっと使いにくいので、一緒に公開できるようになるまで待っていた次第です。
menuCompleteは、単語補完スクリプトなのですが、前々からずっとできないかなあと思っていた「構造体のメンバ名を補完する」機能がやっと実現できました。
人にPeggyを薦めるときに、「でもVisualStudioみたいに補完できないんでしょ?」と言われることがあって、何とかして部分的にでもできないものかと思っていたのです。(自分でも欲しかったんですけどね。)
今のところC/C++の構造体のメンバしか補完できないのですが、できればC++のクラスのメンバも補完できるようにしたいですね。継承とかの問題があって、現実的な速度を実現するのがかなり難しそうですが…。
以下に構造体メンバ補完とプログラムの仕様に関する考察(というか言い訳)をメモしておきます。
◇TAGSについて
このスクリプトでは、シンボル検索の際に生成されるTAGSファイルを利用しています。よって、「定義位置ブラウザ」ダイアログで「TAGSファイルを残す」設定をしておく必要があります。
スクリプトで構文解析をするのには限度があるので、どうしてもTAGSファイルを利用する必要があるのです。
「TAGSファイルを残す」設定なんて使うことないだろうと思っていたのですが、まさかこんな用途に使えるとは…。Junさんはこういうのを予測してたんでしょうか?
◇MocaScriptについて
このスクリプトはかなり重い処理をしてます。なにせ、とてつもなく膨大になりうるTAGSアウトプットウィンドウから、一つずつ候補を探してくるわけですから…。(ちなみに、動作のテストはrubyのソースでやってました。)
それでも現実的な速度で動くMocaScriptは本当にスゴイです。おそらく世界最速のJavaScriptの実装でしょう(^^
◇補完の仕方について
構造体メンバの補完には、大きく分けて3つのステップがあります。
・変数名を取得する
変数名は、普通 . か -> の左にあります…が、キャストしていたりすると取得するのが難しくなります。現状は、変数が配列だったときに配慮しているくらいです。
キャストに関しては型名が書いてあるわけだから、逆になんとかなるかもしれないですね。
・型名を取得する
型名を取得するには、変数の宣言を見つける必要があります。変数の宣言は、
(1)ローカルで宣言されているとき
(2)関数の引数になっているとき
(3)グローバル変数のとき
の3つが考えられます。このスクリプトではあまり真面目に構文解析をしているわけではなくて、補完する位置から一行ずつ順番に見ていって、「宣言っぽい」ところを見つけた時点でそれを型名であると判断します。ただ、
return variable_name;
や
else variable_name = 0
みたいになっていることがあるので、これらのキーワードは型名ではないと判断します。っていうか、Cのキーワードリストを持っておいた方がいいのかもしれないですね。
(3)の場合は他のファイルにあるかもしれないので、TAGSファイルをgrepして探します。どちらかというとこっちの方が単純です。
プロジェクトに登録してある静的なTAGSは検索していないのですが、これはどちらかというと、実行速度のためです。
・型のメンバを取得する
最後はメンバ名の取得なのですが、これは完全にTAGSファイルに頼っています。構造体の型名を、前後64行も一緒に出力するオプションでgrepして、その中からメンバ名を探します。メンバ名であるかの判断は、インデントに頼っています。
これによって、取得できるメンバ名が64個までという制限が出てしまっているのですが。
こちらの方は、プロジェクトに登録してある静的なTAGSからも検索します。
プロジェクトに多数TAGSが登録してある場合は、探すのにかなり時間がかかってしまいます。
◇Rubyの場合
Rubyの場合、シンボル名が、最初に@や$があったり、最後に!や?があったりと特殊なので、特別な処理をしています。そのせいで正規表現にORを使う必要があって、実行速度が他より若干遅いんですけどね。
◇Doxygenのコマンド名補完
Ruby以外では、@から始まる語はDoxygenのキーワードと見なして補完します。これは静的なリストを使って行っています。
◇カーソルの右にも語が続いている場合について
hoge|moge
のように、カーソルの右側にも語が続いている場合は、それを削除して(この場合はmogeを削除して)選んだ語を入れます。例えば「hogepiyo」という語を選んだ場合は、
hogepiyo|
となります。この辺りの動作はVisualStudioにできるだけ似せています。
追記…Javaでもほとんど似たような方法で、クラスのメンバ補完ができるんじゃないかという気がしてきました。(言語機能がシンプルなぶん、C++より簡単そうです。)こっちを先にやってみようかな。Javaについては、もう補完スクリプトを作られている方がいるんですけどね…。
| 固定リンク | コメント (0) | トラックバック (0)
これでC#も勉強しやすい環境になりましたね。とても良いことだと思います。
学生時代にはJavaをよく使っていたのですが、GUI周りの機能を考えるとやっぱり.net frameworkの方に魅力を感じます。
C#に関しては、@ITに私がJavaからC#に乗り換えた10の理由っていう面白い記事があったんですが、現場の気持ちが良く表れてるなあと思いました。きれいにまとまったJavaの機能も魅力的なんだけど、多少ごちゃごちゃしているように見えてもいろんなことができる(その気になったらポインタだって使えてしまう)C#の方が使えそうですよね。
これで.net frameworkがlinux上でも走るようになったら最高なんだけど、残念ながらきちんとした形にはならないだろうなあと思います。C# プログラミング言語の将来の機能という記事の中で、「Javaで機能追加されたジェネリクスは、仮想マシンにあまり変更を加えない実装を選んだが、私たちは仮想マシン自体をジェネリクスに対応させた」と主張してるんだけど、これはもの凄い開発能力を持っていてかつWindow向けに作れば済むマイクロソフトだからこそできることですよね。Javaのジェネリクスへの対応は、仮想マシンを実装している開発元に配慮した対応だとも言えるのではないでしょうか。
標準化で今後変わってくるといいんですが、いつまでもこういう態度を取っていたら、.net frameworkが他のOSできちんと走る日は来ないでしょうね。
まあ、僕としてはWindows上できちんと走れば実用上問題ないのですが(^^;
| 固定リンク | コメント (0) | トラックバック (0)
おかねさんに「Smalltalkが面白い」と教えていただいたこともあり、自由自在Squeakプログラミングという本でSmallTalk(と言ってもこれはSqueakという処理系ですが)を試してみました。
なるほど、これは刺激的ですね。ちょっと試してみただけなのですが、ほんとに全てがオブジェクトへのメッセージで構成されてるんです。例えば条件文は、trueやfalseにブロックを渡す形になります。rubyで書いたらこんな感じでしょうか。
class TrueClass
def is_true
yield
end
def is_false
end
endclass FalseClass
def is_true
end
def is_false
yield
end
end(1 < 3).is_true do
puts "This block runs."
end(1 < 3).is_false do
puts "This block does not run."
end(1 > 3).is_true do
puts "This block does not run."
end(1 > 3).is_false do
puts "This block runs."
end
Rubyが「Perl的なSmallTalk」と呼ばれている理由が分かった気がしました。
ただ、今のところRubyも勉強している途中なので、本格的にやるのはその後にしようかなと思っています。
達人プログラマーに「一年に一つ言語またはツールをマスターすること」と書いてあったので、何かをやりたいとは思っているのですが、まだちょっと迷っています。Rubyは文句なしに面白いんだけど、仕事のこと考えたらC#なんでしょうね。今WindowsのツールはC++Builderで作ることが多いんだけど、将来的にはVisualStudioになる(というかそうしたい)ので...。
ゲームプログラミング用途にはC++なんでしょうが、これは必要にならないと絶対やらない気がします(^^;
| 固定リンク | コメント (0) | トラックバック (1)
アンカーシステムズさんのサイトのライブラリページに投稿しました。今回はCのプログラミングをする際の定型処理を行うスクリプトです。
Cのプログラミングをしていると、関数プロトタイプを書くのが面倒で仕方ないので、自分で使うために書いたスクリプトです。仕事以外で書くプログラムはほとんどMocaScriptな気がする(^^;
他の言語を使ったらもっと短く書けるのかもしれないけど、やっぱりエディタにビルドインされたMocaScriptのテキスト編集能力は質が違います。本当にエディタで編集するように書けてしまいますので。
でも、あまりにも開発環境をPeggyに依存しすぎると、Peggyが走らないプラットフォームで開発しなきゃいけなくなったときのことが心配なんですよね...。ちょっと遅くなってもいいから、Wineとかで動かせないものだろうか。
| 固定リンク | コメント (0) | トラックバック (0)
Rubyのまつもとさんがオブジェクト指向の意義について触れられていたので、僕もちょっと考えてみました。
で、結局考えついたのは、オブジェクト指向は使いやすいライブラリを設計するために必要なんじゃないだろうか、ということでした。ライブラリの機能は、プログラミング言語の使い勝手を大きく左右すると思います。
例えばビジュアル開発ツールとして名高いDelphiのライブラリであるVCLは、オブジェクト指向の優位さを存分に生かした設計になっています。オブジェクト指向の要素であるカプセル化、継承、ポリモルフィズムのどれが欠けても、VCLほど使いやすくて柔軟に拡張できるライブラリを作ることはできなかったでしょう。
確かにオブジェクト指向なプログラムの設計をするのはかなり難しいのですが、ライブラリを使っているだけで、オブジェクト指向の恩恵を十分受けていると言えるのではないでしょうか。
また、オブジェクト指向なライブラリの使いやすさは、インテリセンスやボタン一発のヘルプ等のプログラミング支援を行いやすいということにもあります。インテリセンスに頼るのはあんまりかっこいいことではないかもしれませんが、ライブラリが大きくなると、クラスの機能を全て憶えていられなくなるので、こういう支援機能は非常に大切だと思います。
そういう意味で言うと、RubyやPython等の、強く型付けされていないlightweightなオブジェクト指向言語は、支援機能を実装しにくいという点で、オブジェクト指向の強みをあんまり発揮できていないのかもしれません。
| 固定リンク | コメント (0) | トラックバック (0)
うーん、東芝はいいマシンを作りますね。露出はどうしても少ないけど...。ギガビットイーサとか、ビデオチップとか、今のところこれ以上望みようのないスペックです。このスペックだと、バッテリはしょうがないかなあ...。
SONYのVAIO typeSもいいんだけど、ソフトがちょっとなあ。東芝のマシンはあんまりごちゃごちゃソフトが付いてなくて好きです。
そろそろノートパソコンが欲しいなあと思ってたんだけど、あとはLet'sNoteYの新モデル待ちですね。春モデルが出てこないという可能性もあるんですが(^^;
| 固定リンク | コメント (2) | トラックバック (0)
主にオンラインのリソースについて。
ネット関連
Lunascape - タブブラウザ
Headline-Reader(¥1,500) - RSSリーダー
JaneDoeView - 巡回機能付きの2chブラウザ
Irvine - ファイルダウンローダ
FFFTP - FTP転送
鶴亀メール(¥2,100) - メーラー
ツール
B2 Husen - 常駐しないデスクトップ付箋ソフト
TeleV - テレビ番組表閲覧ソフト
Ad-Aware SE - スパイウェア駆除
サーチクロス(¥2,100) - インデックス型検索
Noah - 圧縮・解凍ソフト。DLLもインストールしてくれる。
H”問屋 - PHSの住所録管理+バックアップ
CD Manipulator - CD-Rライティングソフト(配布ページがない)
CraftLaunch - ファイラ兼コマンド型ランチャ
PDIC(¥1,000) - ローカルで英次郎をブラウズ
hyCalendar - カレンダー+スケジュールソフト
PrimoPDF - PDFファイル作成ソフト
カスタマイズ
窓の手 - Windowsカスタマイズソフト
Tweak UI - MicroSoft製カスタマイズソフト
秀Caps - IME起動キーなどをカスタマイズ
Adobe Reader SpeedUp - Adobe Readerの起動を高速化
eve - 環境変数編集ソフト
デーモンバスター - 不要なサービスを停止
エディタ
紙copi(¥2,625) - Webページスクラップ・メモソフト
EmEditor(¥4,200) - 軽快で強力なエディタ
Peggy Pro(¥4,500) - プロジェクト型統合エディタ
BZ - バイナリエディタ
メディア
GV - 軽量な画像表示ソフト
Vix - 画像ブラウズ
Media Player Classic - 軽量版Media Player
Winamp - ファイル再生ソフト
SuperTagEditor - 音楽ファイルIDタグ編集ソフト
TMIDI Player - MIDIファイル再生ソフト
mp3infp - シェルのIDタグ表示・編集機能を拡張
susie - 画像ブラウズ(プラグインが重要)
プログラミング
J2SE - JAVA開発環境
Apollo - Delphi + Ruby. Rubyのインストーラとしても
Cygwin - UNIXツール一式
Doxygen - ドキュメント生成ツール
| 固定リンク | コメント (0) | トラックバック (0)
米Google、ローカルファイルを検索できる「Desktop Search」のBETA版を公開
ローカルなデータとインターネット上のリソースを同様に検索できるようにする、というGoogleのアプローチは、とても面白いですね。インターフェースまで全く同じにしてしまうというのもわかりやすくていいかも。ただ、ブラウザを使ったインターフェースは、検索結果が多くなると閲覧性が悪そうです。
今僕が使っているソフトに、サーチクロスというソフトがあります。Google Desktop Searchと似たようなことができるソフトですが、ずいぶん昔から開発されているだけあって、対応ファイル形式が段違いです。日本語もきちんと通りますし、Google Desktop Searchの成熟が待ちきれないという方は、これを使ってみるといいかもしれませんね。
サーチクロスのインターフェースは、ウィンドウズのファイル検索とメールソフトのような3ペイン型ウィンドウを組み合わせたようなもので、大量の検索結果も快適にブラウズできます。一回自分のパソコンを全部インデックス化して、何か適当に検索してみてください。あまりの強力さにびっくりしてしまうと思いますよ。
あと、サーチクロスと一緒に、紙copiというソフトを使うのもお勧めします。紙copiというのは、要するにwebページのスクラップとメモを組み合わせたようなソフトで、動作が軽い上にインターフェースが素晴らしい。webページで右クリックして、「紙に取り込む」を選択するだけでローカルにコピーできます。
紙copiで取り込んだwebページやメモは、単なるHTMLやテキストファイルなので、サーチクロスを使って横断的に検索することができます。この組み合わせは本当に強力です。
あと、最近フリーのRSSリーダーで、goo RSSリーダーというソフトがあるのですが、非常にシンプルで使いやすいソフトですね。glucoseというオンラインソフトが元になっているみたいです。
| 固定リンク | コメント (2) | トラックバック (0)
我らが最強プログラミングエディタ・Peggyが4.22にバージョンアップしました。
今回の目玉は、何と言っても検索強調表示機能ですね。これは、検索された文字をアンダーラインで強調してくれるという機能です。僕が前から使っているEmEditorというソフトにはあって、凄く便利だと思っていた機能なので、とても嬉しいです。
Peggyの素晴らしい点は、こういう内部機能もスクリプトで操作できること。僕が作成したgrepthis.ms(MocaScriptライブラリの67番に登録されています)でも早速使ってみましたので、試して頂けると嬉しいです。
あと、フォーカスが当たっている場所をスクリプトから取得できるようになったのも大きいですよ。企業で作っているソフトなのに、掲示板での要望に柔軟に答えてくれるこの開発体制こそが、Peggyの魅力なんだと思います。
| 固定リンク | コメント (0) | トラックバック (0)
適切な名前を選ぶことができるということは、ある意味その問題を十分に把握しているといえます。逆に名前が決まらないとか悩んでしまうということは、多くの場合、まだ何か問題が残っていたり、設計が間違っていることを示しているものです。また、適切な名前は、使い方の直感的なイメージにつながるので、使いやすさに直結します。不適切な名前が付いているものは、クラスだろうがメソッドだろうがなんだろうが非常に使いにくいものです。――まつもとゆきひろ, 『オブジェクト指向スクリプト言語Ruby』
| 固定リンク | コメント (2) | トラックバック (0)
僕は大学のとき、RPG研というゲームサークルと文芸部を掛け持ちしておりました。
Coda WebGroupは、その文芸部のOBで作成している投稿サイトです。技術的な特徴としては、Movable Typeを使って、複数人が自分で投稿できることです。ブログですから、コメントもつけられますし、今回のようにトラックバックを撃つこともできます。
デザイン面に関しては、すちゃらかCSS素材集さんを参考にさせていただきました。
本当は、Codaという会誌もとっくにできていないといけないのですが、僕のせいで遅れに遅れております。原稿は全部来てるのに...。早くやらなければ。
こういった創作に触れることは、あまりないと思うので、時々のぞいていただけたら嬉しいです。
僕も今後作品を書くことがあったら、こちらのサイトに投稿しようと思います。(B/Jというのが僕のペンネームです。)
| 固定リンク | コメント (0) | トラックバック (0)
プログラム言語の中には、オブジェクト指向スクリプト言語というカテゴリがあります。
C++やJavaなどの本格的なオブジェクト指向言語などとは違って、コンパイル要らずで手軽に使うことの出来るという点で人気があるようです。ozumaさんの好きなRubyや、gamellaが使っているPythonが代表的な例でしょうか。
Rubyは日本人が作った言語なので、日本では一般的にRubyの方が人気があるのですが、Pythonには非常に有力なライブラリが揃っていること、そしてRubyがあまりにもUnix的過ぎることにより、Pythonを好んで使う人も多いようです。
で、僕は普段の自動処理に何を使っているかというと...実はRubyもPythonもPerlも使っていません。もっぱらJavaScript(より正確に言うと、そのwindows上の実装であるWSHと、Peggy上の実装であるMocaScript)です。
JavaScriptというと、大体はウェブサイトに動的な動作をさせるのに使われる言語というイメージになると思います。しかも、そう言うページは大体がうざったいだけで(ポップアップなどにもよく使われる)、良いイメージを持たれることはあまりありません。当然のごとく、JavaScriptという言語も一般には良いイメージを持たれていないと思います。しかし、使ってみるとわかるのですが、JavaScriptは至極まっとうなオブジェクト指向言語であり、しかも非常にユニークな実装を持っています。
優れた解説サイトも幾つかあります。
オブジェクト指向プログラム言語としてのJavaScript
Hawk's W3Laboratory
JavaScriptの面白さは、他の言語で言うクラスを動的に扱えるということです。例えば、
var hoge = new Object();
hoge.hoge = "hoge";
などとやっても全然怒られません。なぜかというと、これは内部的にはこう書くのと同じだからです。
var hoge = new Object();
hoge["hoge"] = "hoge";
要するに、オブジェクトのメンバーは全部連想配列に過ぎないのです。関数もオブジェクトなので、次のように書くことができます。
var hoge = new Object();
hoge.hoge = "hoge";
hoge.func = function() {
return this.hoge + this.hoge;
};
これで hoge.func() と呼べば、"hogehoge" が帰ってきます。同じ型の新しい変数を作りたかったら、メンバーを全部コピーしてしまえばよいわけです。
また、関数がオブジェクトなので、引数として渡すことによって、イテレータのようなこともすることができます。
クラスの宣言が要らないということは、言語としてRubyやPythonよりもさらに一段階安易に使えるということです。もちろん大規模なプログラミングには向いていませんが、ささっと書くには非常に楽ですね。あと、実装も楽だと思います。現に、JavaScriptには、各種ブラウザをはじめ、非常に多数の実装があります。
| 固定リンク | コメント (4) | トラックバック (0)
GVは、僕が昔から大好きなソフトだったのですが、長いこと更新が止まったままになっていました。
それが今回、恐らくGIF関連の特許期限切れをきっかけとして更新されたようです。βバージョンは大分前から進んでいたんですけどね。
WindowsXP標準のプレビューは今ひとつ使いにくくて、最近はIrfanViewを使っていたのですが、改めてGVに戻ってくると、基本性能の高さに驚かされます。やっぱり早さは力ですな。
| 固定リンク | コメント (2) | トラックバック (0)
「47氏の弁護士費用を寄付するスレ」というスレでもう動き出している人がいます。
とりあえず、主要と思われるレスを抽出してみました。
もう動き出してしまった事態は止まりようがないんだけど、今回の京都府警の動きは、47氏が有罪になるか否かを別として、オーバーキルだったんじゃないかと思う。
取りあえず、起訴して名前を出すだけで、P2P技術者を萎縮させるのに十分だ。
もちろん、47氏の生活を破壊するのにも。
罪に関してはグレーとしか言いようがないけど...。
47氏にとっては、罰金を払って不起訴になった方がいいような気もする。47氏ほどの技術があれば、働き口はいくらでもあるはず。戦う前提で話を進めてしまっているのはなんだかなあ...。
Winnyがこの先生きのこるには…
不覚にもw
| 固定リンク | コメント (2) | トラックバック (0)
598 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10(月) 11:35 ID:fJcWGk//
まじでやるつもり。
逃げる気とかないよ。
47氏助けたいと思う、一人の願いでさ
どうせ今やりたいこと見つからなかったし
暇だからねw
本気で助けたいっ!
36 名前:538 ◆KXFE0hPcEk [] 投稿日:04/05/10(月) 12:24 ID:fJcWGk//
とりあえず、京都警察にかけて聞いてみたが
弁護士がついてるかどうかは答えられないとの事
話の筋的にはついてなさげ
今、弁護士会に電話をかけてるところ
昼休み中だから1時まで待たないとならん
67 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10(月) 12:30 ID:E5IcH9fz
どうも、漏れも電話かけたが、おおむね538 ◆KXFE0hPcEk 氏と同じ回答でした
で、先に五条署のほうにかけたのですが、現在五条署のほうに留置はされてないそうです。
もう2~3日してから五条署のほうにかけて欲しいとの事でした
113 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10(月) 12:39 ID:fJcWGk//
>102
国選弁護士が本当なら連絡取りたい
色々と聞きたい事もあるし
290 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10(月) 13:10 ID:fJcWGk//
当番弁護士が接見に行ってくれるそうだ
47氏に何か聞きたい事とかあれば今のうちにまとめておいてくれ
寄付とかは弁護士決まってからじゃないと意味ないしな
328 名前:[名無し]さん(bin+cue).rar[] 投稿日:04/05/10(月) 13:18 ID:Fx1r6L7G
>>290
接見に行くのは京都に護送されてからだろうから、多少時間はあるな・・・
著作権法事件に明るく、法廷弁護以外の活動も可能、
マスゴミ顔出し桶、寄付金元締め桶の弁護士を、とっとと私選で雇え、
それが用意できるまでの間も空白ができてはまずいから、
つなぎでも誰か雇って毎日接見に来てもらえ、
と47氏に伝わるようにしてくれ
355 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10(月) 13:22 ID:fJcWGk//
47氏との接見は夕方になりそうとの事
>>328 伝えておきます
455 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10 13:43 ID:E5IcH9fz
538 ◆KXFE0hPcEkさんお疲れ様です
絶対聞いておいてほしいことは今までで警察になにを話したか、
以前押収されたPC、あるいは研究室内に著作権違反の品物は存在しないかって事も是非聞いて置いてください。
こんご裁判する上での基礎資料になるので。
あと、今ニュースであなたが故意でやったことになっているので、
弁護士が戦術練り終わるまで不利な証言はしない。
特に著作権を違反を助ける目的でWinnyを開発し配布したことは絶対認めないように言っておいてください。
540 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:04/05/10(月) 14:00 ID:IzhS1Kmk
538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] へ
+++++++++++++++++++++
47氏が書き込みをしたころは、2ちゃんねるはログを取ってません。
そんなわけで、開発意図の立証は不可能なわけですが、
京都府警はそこらへんもわかって逮捕したんですかねぇ、、
( ̄ー ̄)ニヤリッ
↑これを伝えてくれ。
あと、驚くほど2chはあなたの味方であり、
誰もが「不起訴」もしくは「訴訟になったら府警の負け」と思っており、
2ch弁護団・カンパ・デモ行進・オフ会の予定もある。
+++++++++++++++++++++
604 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10(月) 14:13 ID:E5IcH9fz
>>597
それを本当にしゃべったのか裏を取る必要がある
警察やマスコミは時として発言を捏造するので
538 ◆KXFE0hPcEk氏おねがいします
621 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10(月) 14:15 ID:fJcWGk//
発言こそしてはいませんが
ちゃんと全部読んでいます
次に発言する時は、夕方以降になりますので
もしかしたらテキスト形式でWEBにあげるかもしれません
839 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:04/05/10(月) 15:11 ID:IzhS1Kmk
538 ◆KXFE0hPcEk [izumo_sora@hotmail.com]
参考になるかなぁ。
京都府警に対する対応を考えたので協力お願い
公務員最大の泣き所は 情報公開法による文書の公開請求
これを最大限に使って ハイテク対策室の作成した行政文書を片っ端から開示請求してやる
別にこれは犯罪でないし ちょっと公務員かじった人なら 文書の不備見つけるのは余裕です
開示請求から開示するまでの時間は短いので 開示請求があったら担当者は大変忙しくなるかもしれないけど
それはそれで問題なし
行政文書ファイルを片っ端から開示請求して見ようと思います
京都で暇な人は是非協力お願いします。
868 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:04/05/10(月) 15:23 ID:IzhS1Kmk
538 ◆KXFE0hPcEk [izumo_sora@hotmail.com]
参考になるかなぁ。
448 名前: ◆or2.mY468g [sage] 投稿日:04/05/10 13:42 ID:KJdTIea+
281です
メールしておきましたが、返事あるかどうか。メールチェックしているのかもわかりませんしね。
>>290
シェアウェアでの寄付が行われること
弁護士をつけて、弁護士と一緒にいる時のみ調書作るように
留置所で(他の人・警察)に話しはするな
この3点伝えてほしいですね
455 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10 13:43 ID:E5IcH9fz
538 ◆KXFE0hPcEkさんお疲れ様です
絶対聞いておいてほしいことは今までで警察になにを話したか、
以前押収されたPC、あるいは研究室内に著作権違反の品物は存在しないかって事も是非聞いて置いてください。
こんご裁判する上での基礎資料になるので。
あと、今ニュースであなたが故意でやったことになっているので、
弁護士が戦術練り終わるまで不利な証言はしない。
特に著作権を違反を助ける目的でWinnyを開発し配布したことは絶対認めないように言っておいてください。
290 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10 13:10 ID:fJcWGk//
当番弁護士が接見に行ってくれるそうだ
47氏に何か聞きたい事とかあれば今のうちにまとめておいてくれ
寄付とかは弁護士決まってからじゃないと意味ないしな
という事で動いてくれている。
状況が今まるで見えないので、連絡待ちという部分もある。
144 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10(月) 16:33 ID:E5IcH9fz
まだ現時点での警察発表は信憑性が全くないから鵜呑みにするな
538 ◆KXFE0hPcEk氏経由で接見内容が聞けるはずだからそれまでマテ
199 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10(月) 16:41 ID:E5IcH9fz
とりあえず寄付に関してはマテ
290 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10 13:10 ID:fJcWGk//
当番弁護士が接見に行ってくれるそうだ
47氏に何か聞きたい事とかあれば今のうちにまとめておいてくれ
寄付とかは弁護士決まってからじゃないと意味ないしな
621 名前:538 ◆KXFE0hPcEk [izumo_sora@hotmail.com] 投稿日:04/05/10 14:15 ID:fJcWGk//
発言こそしてはいませんが
ちゃんと全部読んでいます
次に発言する時は、夕方以降になりますので
もしかしたらテキスト形式でWEBにあげるかもしれません
今はまだ情報が混乱しており、弁護士を通じた接見のアクセスは538を中心に行われている。
今は冷静に時を待て!!
715 名前:538 ◆KXFE0hPcEk [] 投稿日:04/05/10(月) 18:22 ID:fJcWGk//
当番弁護士からの連絡がなかなか来なくて
遅すぎると思って京都弁護士会に再度連絡入れてみたが
5時で営業終了らしい、夕方連絡くれるってのは嘘かよ…
今日連絡くるかどうかはわからずじまい、とりあえず他に動ける人は動いて欲しい
957 名前: ◆PU.dLDpA8U [] 投稿日:04/05/10(月) 19:07 ID:E5IcH9fz
ただいま、ちょっとご飯行ってきました
>>715
538 ◆KXFE0hPcEk さん乙
まずいですなあ・・・
警察も弁護士つくのわかってるからついてない今のうちに言質取らそうとしかねない
何かいい方法はないものか・・・
753 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:04/05/10(月) 18:29 ID:IzhS1Kmk
715 名前:538 ◆KXFE0hPcEk [] 投稿日:04/05/10 18:22 ID:fJcWGk//
当番弁護士からの連絡がなかなか来なくて
遅すぎると思って京都弁護士会に再度連絡入れてみたが
5時で営業終了らしい、夕方連絡くれるってのは嘘かよ…
今日連絡くるかどうかはわからずじまい、とりあえず他に動ける人は動いて欲しい
結局当番弁護士っても結局犬かよ~!!
orz
50 名前:538 ◆KXFE0hPcEk [] 投稿日:04/05/10(月) 19:31 ID:fJcWGk//
>>42
府警のかなり慌ててた様子を見ると
予想してた以上だったんじゃないかと思う
どこまで予想してたのか知らないけどねぇ…
まあ、でも最低限な証拠でもないと逮捕はしないと思うから
どこら辺まで有効な証拠かはなぞだけど、それなりに自信はあるつもりなんじゃないかと
102 名前:538 ◆KXFE0hPcEk [] 投稿日:04/05/10(月) 19:42 ID:fJcWGk//
当番弁護士から連絡ありました
とりあえず、報道に伝わってることはほぼ正しいとの事
歪曲されて伝わってる部分もあるのですべてが正しいというわけではないようです
弁護人を選任される意思はあるようなので
寄付金を募る場合、47氏が弁護人を選んでから
寄付金を募った方がいいと思われ
以上が最新の情報かな
| 固定リンク | コメント (0) | トラックバック (0)
食わず嫌いって誰にでもあると思うのですが、嫌いなだけじゃなくて馬鹿にしてる場合があると思うんです。例えば、「EXCELマクロなんて使うヤツは...」というような感じです。
すいません、私が間違っておりました。
EXCELマクロ、ほんとスゴイです。業務でちょっと使っただけなのですが、EXCELの強力な編集機能がマクロと組み合わさった時の破壊力を思い知りました。
あれです。プログラマって、やってるうちになるべく定数をプログラムの中に書かないようになりますよね。例えばCなら、defineで置換したり。だけど、そのうちに膨大な量のdefineを管理するのが大変になってきます。
EXCELマクロというのは、例えるならば、メチャメチャ強力な定数&データ管理ソフトがついているプログラミング環境なわけです。しかもそれは、ユーザーに対するインターフェイスも兼ねている。
大げさなようですが、本当に便利だからこそ、EXCELは世界中のオフィスで使われているのだと思います。
だけど、やはり難点がありまして...VisualBasicの構文は本当にワケがわからない。この前は、定数の配列を宣言するのに本気で悩んでしまいました。せめてJavaScriptが使えたらなあ...。
もしEXCELが.Net Framework上で再構築されたら、C#とかでクリアに書けるんだろうか。EXCELが1つのオブジェクトにしか過ぎなくなるとか...? うわ、ヤバイなそれ。萌えです。鼻血出そうだ。
そうなったら、普通に定数エディタとしてEXCELを使ったプログラムを組んでしまいそうです。
| 固定リンク | コメント (0) | トラックバック (0)
最近更新がMtGの方メインになってしまっています。あっちの方が書きたいこと多いから仕方ないんですけどね。
最近、見たい日記ページがかなり多くなってしまったので、噂に聞くRSSリーダーを導入してみることにしました。今までも試したことはあるんだけど、いまいちしっくりこなくて、使うのを止めていたのです。
LunascapeにRSSリーダー機能がついたらなあ...と思ったりしていたのですが、今日試してみたSharpReaderがかなり感覚に合いました。海外のソフトですが、フォントに日本語を指定すれば普通に使えますし、非常にシンプルで、直感的に使えます。
今まで普通に巡回していたサイトを回って、RSSのアドレスを集めてみる。結構ありました。全部で30くらいか?
DialyNoteさんが配布を開始したのが大きいですね。
使ってみるとやっぱり便利。でもこれは便利すぎて、RSS配布しているサイトじゃないと見なくなってしまうかもしれません。
いままでWWWCとかの更新チェックツールも使ってみたことがあったんだけど、あんまり便利だとは思わなかったんだよなあ...。なんでだろう?
多分、その時チェックしていたサイトがほとんど毎日更新するものばかりだったからなんじゃないかと思います。例えばPC Watchに更新チェックなんて必要ない。
RSSリーダーっていうのうは、毎日じゃなくて時々更新する、というblogのスタイルから生まれてきたものなんでしょうね。そう言う意味では、DialyNoteが導入したのは微妙なのかなあ。
| 固定リンク | コメント (0) | トラックバック (0)
CraftLaunchというのは、いわゆる「キーボードランチャ」という種類のソフトです。
僕は今までランチャソフトというのを全然使っていなくて、スタートメニューをきちんと整理すれば大丈夫だと思っていたのですが、なかなか便利だという話を聞いて使ってみることにしました。
キーボードランチャの利点としては、
・キーボードを使っている時に、手を離さなくて済む
・GUIではないので、画面内で場所を取らない
・動作が軽い
・慣れれば目さえ向けなくていい
ってところで、欠点としてはほとんどこの裏返しというところでしょうか。ウェブブラウジングしている時はマウスを主に使うでしょうし、こういうときに無理にキーボードランチャを使う必要はありません。もちろん、トラックポイント派の人はより使いやすいと思います。
キーボードランチャにはmoonlightやbluewind、Giraffe+など、様々なソフトがあるのですが、CraftLaunchの良さは動作が非常に軽く、マニュアルやオプション設定が親切なことだと思います。あとは、動作のカスタマイズの幅が非常に広いことですね。アプリ上のキー操作は、ほとんどカスタマイズ可能と言ってよいと思います。
設定の仕方は付属のオプションやFAQが参考になりますし、
などのファンサイトも参考になると思います。ここのコマンドコンバータは必須ですね。
僕が便利だなと思ったTIPSとしては、
◇コマンド登録
コマンド登録はプログラムのパスと引数を指定する形になりますが、コマンドリストダイアログボックスに実行ファイルやスタートメニューのショートカットをドラッグアンドドロップするだけで、自動的にパスなどは指定することができます。あとはコマンド名を編集するだけ、という感じですね。
この機能を使うと、コマンド登録もそんなに面倒ではないです。
◇ファイルを開く
このソフトは、ディレクトリ名やファイル名なども補完してくれるので、ファイルを開くのにも使えるのですが、標準ではコマンド以外は直接実行してくれません。そこで、ショートカットコマンドで“&OpenFiles”というコマンドをCtrl+Enterなどに登録しておくと、Ctrl+Enterで直接ファイルを開くことができるようになります。個人的に必須設定。
ちなみに、オプションの「実行可」リストに拡張子を加えておくと、エンターで実行できるようになります。
◇バックスペースで補完リストを出すようにする
これは2chのスレで昔出たTIPSなのですが、ショートカットコマンドでバックスペースに“&subcommand;&backspace,&poplist”を割り当てると、バックスペースを押した時にも補完リストを出せるようになります。こりゃ便利。
◇フォルダをコマンドに登録→そのままファイルを開く
ファイル・ディレクトリ名補完機能があるとは言え、深い階層のフォルダ(例えばデスクトップ)にあるファイルを開くのは一苦労なのですが、コマンド登録で、例えば
Name: desk
Link: &SubCommand
Arg: &TextOut;C:\Documents and Settings\shige\デスクトップ\,&SetCaret;-1,&PopFileList
とすることで、deskを入力→Enter→C:\Documents and Settings\shige\デスクトップ\が入力され、補完リストが開く
という動作をさせることができるようになります。
“C:\Documents and Settings\shige\デスクトップ\”を他のに設定すれば、マイドキュメントとかにも使えますね。
とにかく非常に便利なソフトですので、一度使ってみてはいかかでしょうか。
| 固定リンク | コメント (0) | トラックバック (1)
ByunByun's Home & Gallery
前からこの方の絵が好きだったのですが、調べてみたらCGイラストの元祖みたいな方で、自分で絵を描くためのツールも作ってるらしいです。
最近は指輪物語特集をやっているようでして...やっぱりメチャメチャ巧いなあ。
このホームページ、前はもっと絵があったんだけど消しちゃったのかな。また見たいです。
| 固定リンク | コメント (0) | トラックバック (0)
Tobita's HomePage
最近はwindowsも標準の画像ビューアがあって、かなり使いやすくなっています。(と言ってもIEの機能を流用してるだけですが...)
一昔前は、JPEG画像を開くとIEが立ち上がるという具合で、本当に酷いものでした。
そんな状況でよく使われていたのが、GVというソフトで、非常にシンプルな上に高速な画像ビューアです。数年間更新がとまっていたのですが、最近どうやらバージョンアップが始まったようです。目玉はGIF表示の復活ですね。特許問題で削られていたのが、特許切れになりましたので...。
β版ということで使用に注意は必要ですが、入れておくべきソフトだと思います。
| 固定リンク | コメント (0) | トラックバック (0)
Niftyのアドレスを取ってから一年ほど経ったのですが、最近日本語のSPAMが送られてくるようになりました。結構あちこちでメアドを公開してるから、仕方ないですね。
古河建純 インターネットBlog: スパムメール対策(その2)でも書かれているのですが、Niftyでは無料で学習型のスパムメール分別機能をサポートしています。
早速これを試してみたのですが、識別率はなかなかのもの。判断基準を見るに、タイトルの「見承諾広告」という文字列、文章内のSPAMでよく使用される文字列、ヘッダのメーラー情報などで判断しているらしい。
携帯電話にも転送しているので、こういった水際で止めてくれる機能はほんと助かります。さすがNiftyですな。
とはいえ、メーラーで受信できなくする設定はまだ心配なので、サブジェクトに[SPAM]を添付するだけの設定で効果を試しています。
[SPAM]が付いたメールが来ると、「引っかかった」と思って結構嬉しくなったり(^^;
| 固定リンク | コメント (0) | トラックバック (0)
多和田新也のニューアイテム診断室
難航しまくっていた印象のある、ペンティアム4の90nmバージョンですが、ようやく登場してきたようです。
本当なら去年のうちに出ているはずだったんだけどなあ...。それだけCPUの性能向上が難しくなってきたんでしょうね。インテルの90nmに何があったのかは、こちらの記事に詳しいです。
それにしても、PC Watchの執筆陣はまさに最強ですな。もうほとんどPC系の雑誌の立場がないくらいです。
リアルタイムで、しかも無料でこれだけのクオリティの記事を読めるとなると、雑誌の方ではよほど変わったことをしないといけないような。そういう意味では、MacPowerくらい割り切った構成にしてしまった方が良いのかもしれません。
| 固定リンク | コメント (0) | トラックバック (0)
松下、14.1型SXGA 液晶搭載で1.5kgを切る「Let'snote Y2」
うひゃー、さすが松下。小型化と省電力に関しては、別次元の技術力を持ってますね。
松下のレッツノートは性能も良いのですが、関西近辺に住んでいると故障したとき直接修理工場に持ち込めるので(だいたい4~5日で帰ってきます)、これもメリットの一つです。
ただY2に関して言えば、ビデオチップがバランスとれていない気がします。この解像度の液晶に、インテルの内蔵ビデオじゃなあ...。
ノートパソコンは、Efficeonの90nm版、LongRun2がサポートされたマシンが出てくるまでは待ってみようと思っています。だいたい2004年末には出るはずなんですが。
| 固定リンク | コメント (3) | トラックバック (0)
大学時代はずっとZAQというプロバイダだったのですが、ここは自由にCGIを置かせてもらえなかったので、CGI関係には興味がありながらも結局何もしてませんでした。
しかし今契約しているKCNというプロバイダさんは、CGIの設置が自由であるどころか、自分の領域へのtelnetまで許可しているというなんとも大らかなところで、かなり自由に使えそうです。今回パスワード付きの掲示板とWebカレンダーを設置する用事が出来て、折角ですので自分の領域で試してみることにしました。
まずは設置するCGIを選ぶことから始めないといけないのですが、いろいろ迷った挙げ句Kent WebさんのWeb Patioと、Web Calendar2を設置することにしました。Web Calendar2の方はほぼ一択で迷いようがなかったのですが、掲示板は少し迷いました。初めは2ch互換のうなぎスクリプトにしようとしたのですが、静的なHTMLを吐く仕様になっているため、後々出てくる理由で断念。
次にパスワードで保護する方法なのですが、調べるうちに.htaccessというファイルを使えばいいことを知る。なるほど、こんな機能もあったのか。全然知らなかった...。
ミケネコのhtaccessリファレンスというサイトさんを参考に進めてみたのですが、パスワード認証を使うにはtelnetでログインして、htpasswdというコマンドでパスワードファイルを作らなければならないということに気づく。なるほど、こりゃちょっと面倒だ。
早速TeraTermを落としてtelnetしてみたものの...なんとhtpasswdコマンドが効かない!
ううむ、インストールされていないらしい。こりゃ参った。というわけでこの方法は断念せざるを得なくなる。(後から知ったのですが、自分で勝手にインストールするっていう手もあったようです。)
まあ、出来ないものは仕方ないので、同じくKent WebさんのWebProtectを試してみる。ただ、こいつはどうも、cgiに直接コードを埋め込む方式で、静的なhtmlを吐くcgiは保護できそうにないため、うなぎスクリプトは使えなくなってしまいました。
それにしても、Perlソースでの配布っていうのはスゴイですな。直接コードを追加してしまえるんですから。
でまあ、いろいろソースをいじってcgiを保護し、logを吐くフォルダを.htaccessでdeny allして完成。さすがに疲れました。
しかし今考えると、.htaccessが使えるんだから、WebProtectじゃなくてPasswordManagerの方を使ってたら、もっと簡単にできたし、うなぎスクリプトも使えたんだなあ。馬鹿だ...。
でもまあ、いろいろ勉強になりました。
| 固定リンク | コメント (2) | トラックバック (0)
ソニー、スゴ録/コクーンとPSXの開発部隊を統合
ハードディスクレコーダーが3系列もあったんですもんねえ。考えてみたら異常ですわな。でも、こういう風に組織を動かせるのがソニーの強みだと思う。
この前見た技術系の雑誌に久多良木さんのインタビューが載ってたんですが、PSXは初めLINUXベースで計画されていたんだそうです。久多良木さんがそれをストップして、PS2カーネルを拡張する形で作り直させたらしい。
ネットワーク機能とかもほとんど一から書かないといけないんだから、大変だっただろうなあ。予定してた機能を全部サポートできなかったのもむべなるかな。
ただまあ、EE+GS&PS2カーネルの開発系と、家電の開発系はそう簡単に統合できるはずもないですし、今回の統合の成果が出るのはもう少し先になりそうですね。
| 固定リンク | コメント (0) | トラックバック (0)
今更ながら去年のことを振り返ってみたりしています。
もちろん、社会人になって働き始めたというのは確かにあるのですが、それに関しては書けないことが多すぎますので、ここに書けない諸々のことを除くと、去年で一番大きな出来事は...やはりPeggyというエディタに出会ったことではないかと思います。
Peggyについては、前にもちょっと書いたりしていたのですが、なぜこんなに好きになってしまったのか...というと、前々から僕が「こういうエディタがあったらいいなあ」と思っていた機能を、非常に高いレベルで備えたソフトだから、というのが一番だと思います。
エディタというのは非常に好みが出るもので、掲示板の議論では宗教戦争ライクになってしまうこともしばしばです。僕の場合、前からMKEditorというソフトとEmEditorというソフトを併用していまして、MKEditorはほとんどプロジェクト管理機能のために使っていました。用途としては、ホームページ作成やJavaプログラミングです。
ファイラ+SDIエディタという環境でもできるのですが、複数のファイルを参照し合って行わなければならない作業だと、特にファイルが複数のフォルダに渡っている時に作業効率がガクンと落ちてしまいます。
ただ、MKEditorはフリーのソフトとしては非常に良いソフトなのですが、特に開発速度の面で商品には叶わない部分があるわけでして...その不満を一気に埋めて、しかも+αまで提供してくれたのが、Peggyというエディタでした。
思うにエディタというのは、プログラマにとって武器なのだと思います。自分に合った武器を見つけることは、とても大切なことです。
初めてコンパイラの出力をアウトプットウィンドウに取り込んで、タグジャンプでプロジェクト内のファイルを飛び回ることができた、あの感動を忘れることができません。統合環境でしかあり得なかったことを、エディタとしての軽快さはそのままに行うことができるのです。
Peggyは、へっぽこプログラマな僕に、どうにかこうにかこの世界でやっていくための勇気を与えてくれたのでした。
もちろん、Peggyは決して完璧なエディタというわけではありません。今のところ僕の環境はPeggy+EmEditorなのですが、関連付けは全てEmEditorにしています。Peggyはプロジェクト経由でしか利用しません。普段使いには大仰すぎるんですよね。
エディタとしての基本機能は、明らかにEmEditorの方が上だと思います。(最近バージョンアップしましたし。)EmEditorは、設定(Cとか、HTMLとか)ごとにほとんど全ての設定を保持することができて、これが特に素晴らしいです。文字コードや国際化対応も完璧ですし。
EmSoftが、EmEditorの基本機能を流用してPeggyライクなMDIエディタを作ってくれたら飛び上がって喜ぶのですが...ポリシーを読む限り、まずそんなことはないかな。
そう、あと、掲示板を介して非常に細やかなサポートとフィードバックを行っているのもPeggyの魅力です。企業製とは言え、ほとんど一人で作っているようなので、大丈夫かなあと思うのですが(特にあの凶悪な量の要望リストを見ると)、お体に気をつけて開発を続けていただきたいなーと思います。
| 固定リンク | コメント (0) | トラックバック (1)
なんか凄いタイトルなんですが、引用してみますと、
Winnyでは、前述のとおりファイル交換が成立するまでには複数のユーザーが介在する。Winnyユーザーにとって、第3者的な立場で違法ファイルを中継しただけでも罪に問われるかどうか、気になるところだ。坂田氏は、「ファイル交換ネットワークに参加すること自体、摘発につながるということは言えるのではないか」と話す。
「ユーザーは(流通するファイルが)ほぼ100%、他人の著作物であることを把握、想像しているはず。それでもあえて使い続けるなら、(著作権侵害に)加担している、あるいはその主体であるという認識があるのだろう」。
うひゃあ、そんな訳のわからない解釈もできるんですね。法律って怖いなあ。この人はWinnyポエムとかジャッカルを集めてる人も違法だって言うんだろうか?
キャッシュの分散は匿名性の向上という面もあるけど、システム全体の負担を均等にするという効果があって、これはインターネットのパケットという考え方と基本的には同質だと思うんだけどな。大規模にファイルを配布したい時には、この方が全体として効率的なんだが...。
| 固定リンク | コメント (0) | トラックバック (0)
さてさて、何から書いたものやらというくらいの大事件です。
と言っても、昨日書いたとおり、ネットを使ってる人にしか関係ないんですけどね。
端的に言うと、Winnyというファイル共有ソフトでゲームソフトやら映画やらを公開していた人二人が逮捕されて、Winnyの作者も家宅捜索を受けたということです。
Winnyっていうのが何なのかというのは...一年ほど前に書いた文章があるのでこちらを参照してみて下さい。
http://www4.kcn.ne.jp/~b--j/chat15.htm
この事件はメディアでも報道されています。新聞社のサイトはこちらから辿ることができます。
http://www.tanteifile.com/tamashii/index1.html
この事件で2chのニュース速報+とDowmload板が飛びかけ、様々な噂が飛び交っています。曰く、作者はオレ達を売った、最新版のWinnyはIPが丸裸になっていた。曰く、捕まった奴らはファイルをWebで公開していたので、そこから足がついた。
ちょっと面白いのが、Download板の「47氏はNY2の更新をなぜしなくなったのか!?」というスレに、11月半ばにこのような書き込みがあったことです。
47 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:03/11/14 11:45 ID:LqIZkowC マジレスしてやるとTBSがny、winMX特集組む時に47氏のコメント取りたくて探索した結果、居場所突き止めちゃったんだよ。凡そ二ヶ月前の話しだ。 しつこくインタビュー申し込んだんだが、47氏は頑なにそれを拒否した。 最初に自宅へいきなりTBSのスタッフが現れた時の47氏の表情は「なんで?」って感じで青ざめてたそうな。 それ以降、verupしなくなった。これからも出てこないよ。 仕事も家庭も大事だろうしw 信じる信じないは勝手だが12月か年明け早々にもに大きな動きあるから。 楽しみにしてろ。
いやはや、ここまで来るとオカルトですな。
ちなみに、今Download板で主流の意見はこんな感じです。
警察が解読したってのはキャッシュのデコードとノード情報のIPアドレスへのデコードだけだろ。こんなもんとっくにWCIで実現されてる。とあるIPアドレスからのパケットをインターセプトしてその中身を確認する、って意味だと公開鍵方式でやりとりしてるからまず不可能だよ。
結局、警察はプロバから被疑者のIP提出させた上で1ユーザーになって被疑者と交信し、違法なものが被疑者のHDのキャッシュフォルダもしくはUPフォルダにあるのを確認した上で、UPフォルダにあることを期待して踏み込んだってことだ。
結果は、警察の図星だった訳だが、被疑者が用心深い奴でUPフォルダの中身をすべてキャッシュ化してればそれが原因では逮捕には至らなかっただろう。
というか、逮捕の容疑はWINNYで違法な物をUPしたことじゃなくて、WINNYでGETした違法なものをヤフオクで売ったり、自分のHPにUPしてたことだろ。
だから、NYの匿名性が破られた訳じゃない。
さてさて、真実はどこにあるのでしょうか?
作者さんの登場が待たれるところです。
Winnyっていうのは何なのか...というのはよく言われるんですが、一言で言うと、「革命」ですね。しかも、相当な流血を伴う、とても荒っぽい革命です。
Winnyの登場によって、既成の著作権という概念はほとんど意味を持たなくなってしまいました。例えWinnyの作者さんが訴えられ、Winnyの開発がストップしたとしても(警察がどんな罪で作者さんの家を捜査したのかは見当もつかないのですが)、Winnyという思想は既に世に出てしまっています。誰かが、今度はWinnyよりもさらに優れた共有ツールを作ることでしょう。
作者さんがWinnyで何をやりたかったのか、それこそ作者さんにしかわからないわけですが、一つには、先取りをしたいというのがあったのではないかと思います。
つまり、Webというツールで従来の著作権という概念は成り立たなくなってしまう。どうせそうなるならば、Winnyのようなツールを作って、世の中がWinnyがあっても問題ないような仕組みに変わっていくのを促すことができるのではないか。ということですね。
幸いなことに、そういう試みは進みつつあります。それがWinnyに促されたものかはわからないですけどね。
| 固定リンク | コメント (0) | トラックバック (0)
アニメ・コミック | ウェブログ・ココログ関連 | グルメ・クッキング | ゲーム | スポーツ | ニュース | パソコン・インターネット | 携帯・デジカメ | 日記・コラム・つぶやき | 映画・テレビ | 書籍・雑誌 | 経済・政治・国際 | 音楽 | 2ちゃんねる
最近のコメント