メイン

つーる アーカイブ

2004年03月06日

OllyDbg

 1 日何もせずぼーっとしてる事もあるから、ずっと作業をしていた今日はそれに比べればいいんだろうけれど、それにしても人生を無駄に過ごした気がしてしまった。

 強いて言うと数週間前に届いた掲載誌 PCJapan 3 月号 を読んで OllyDbg を習得したのが収穫。
 今よりももっと若かりし頃に OllyDbg に辿り着いたことがあったんだけど、あの時は英語が微塵も分からなかったし、C とかやっててもデバッガの存在も知らなかったし、アセンブリ言語もループと加減算、シフトくらいしか使えなかったから、食わず嫌いに終わっちゃってたんだ。それをやらなかったのが自分の実力の底っていうか、もっと早くにこれを使っていたら、と思ってしまった。マジ便利。

2004年04月15日

MacApp and STLport on MPW

 PM5500 に何か入れてやろうってことで、開発ツールとして MPW を入れて、MPW-PR を 入れてアップデータ も当てた。

 そんで、今まで何度もインストールに挫折している MacAppSTLport にも挑戦。
 結果、今の技量なら MacApp R12 はコンパイルできた。ソースの修正量がかなり多かったし、ハッシュコードみたいな意味不明なフォルダ名が毎回違うおかげで最終的なビルドは中々使い物にならなかったけど。
 ここまで来た所で、非公式(?)な MacApp のインストールキットがあることを思い出した。こいつはソースの修正も大半やってくれるし、必要なことの殆どをスクリプトでやってくれるのでラクチンなはず。

No Frill MacApp/MPW Support Page

 以前はこれを使っても挫折したけど、今回 MacApp R13u5 とこの R13u5MPW.TY04_21_2001 を使ってみたら成功したので報告。結論から言うと、R13u5MPW.TY04_21_2001 に入っている文章の順番を間違えず実行できれば問題なし。今も読めないけど以前やったときは今以上に英語読めなかったのが敗因かな。

 この文章の手順を進めていく上で欲して止まなかった STL も入れさせてくれることになるわけだけど、ここでちょっとハマるのが、ファイルタイプを設定するスクリプトが適切に動かないのか、ヘッダファイルが TEXT になってなくてコンパイルに失敗することが多々あった。あと同じく、スクリプトの中でフォントの設定もしてくれるけど、そこでエラーを延々と吐くから無限ループしたものと勘違いしないように。しばらく待ってればちゃんと終わります。
 ハマるといえば STLport のビルドスクリプトの 68K 用テストコードを実行するところで暴走したけど、68K は使わないだろうからはずしちゃった。

 他には…WASTE のサイトが移転してたから注意ってのと、バージョンは R13u5MPW.TY04_21_2001 のドキュメントに書いてあるバージョンに揃えた方が無難。特に上に書いた多くの修正というのは Universal Interfaces のバージョンに依存するもの。こいつはひとまず最初は当てずに MPW に入ってるヘッダのままでインストールした方がいいね。

 インストールが完了したら、"Apple Frameworks" フォルダはいらないから捨てちゃってよし。全てパッチ済みのものが "!R13u5MPW.TY04_21_2001" に入ってる。んで MPW を再起動すると、メニューに "MacApp" ってのが出来てるから、ここからプロジェクトのビルドが簡単に出来る。試しに、今後必要になる ACS とか WASTE をビルドしてみる。[MacApp] - [Select Target...] で !R13u5MPW.TY04_21_2001:ACS:Suites:ACS.lib.MAMake を選んで、[MacApp] - [MABuild・-AutoBuild] でビルド。途中 Universal Interfaces を入れなかったにもかかわらずまだエラーが出るけれど、大概は関数を渡す時に怒られてるだけだから、引数を ProcPtr にキャストするコードを書いて保存してやればよし。

 ここで気づいたんだけど、ハッシュコードみたいなフォルダ名は、実はビルドオプションの略称だったらしい。ってことは、ビルドオプションをつけないとビルドオプションがランダムになってしまうのだろうか。デフォルトが無いとか、メモリの初期化のし忘れとか?いずれにせよ困った話だなぁ。R13u5 がインストールできちゃえば AutoBuild とかが全部勝手に設定してくれるから問題ないけど。

2004年04月18日

VC++ 2003 Professional のコンパイラが無料に!

Visual C++ Toolkit 2003

 よくやった!感動した!
 併せて持ってない人は SDK や ATL/WTL も入れときましょう。

Microsoft Windows Platform SDK
Windows Template Library 7.1

 解説すると、今までも SDK にはコンパイラが入ってました。けど、Standard Edition と同じで最適化がされない物だったので学習の域を出るものではなかったわけですが、今回は Professional Edition と同じもので最適化をしてくれます。
 なんで、コマンドベースはもちろん、以前のバージョンの Visual Studio を持っていた人でもコンパイラのパスを差し替えるだけで最新の環境に!でもまだうちの環境ではデバッガを走らせても C ソースを追ってくれないので研究中です。(2004/06/15 追記:研究結果)

 ちなみに、VC++ 2003 のコンパイラは、C++ への準拠度(っていうか boost への準拠度)がこれを書いている時点では gcc よりも高いことでも有名です。

2004年05月11日

MinGW for Mac OS X

 前回 Mach-O で REALbasic 5.5 のプラグインを作れそうと分かった時に、開発を全て Mac で済ます事ができると楽だなぁ、ということで MinGW for Mac OS X を作ってみる事に。

 Rb 5.5 持ってないならそんなことやっても意味ないんじゃないの?

と思われそうだけれど Rb 4.0 用のプラグインは Windows の DLL さえ特定のフォルダに放り込んであれば、Plugin SDK の DLLtoResource を使わずに MPW でスクリプトを流して最後まで完成できるようにしてある。
 だから Windows 版の作成を Terminal スクリプトで作らせて特定のフォルダに放り込むようにしておけば、そのまま MPW のスクリプトを流して完成できるのだ!

binutils の作成
http://ftp.gnu.org/gnu/binutils/

から binutils-2.14.tar.gz をダウンロードして解凍。

% cd ~/binutils-2.14
% mkdir build
% cd build
% ../configure --target=i686-pc-mingw32 --prefix=/usr/local/mingw
% make
% sudo make install

※Windows ソフトを作る時にデフォルトで PentiumPro 未満にも対応させたい場合は i686 を i386 とか i586 とかにする。
※/usr/local/mingw はインストールしたいディレクトリを設定。


gcc の作成
MinGW - Download

から mingw-runtime-3.3.tar.gz と w32api-2.5.tar.gz をダウンロードして解凍。
mingw-runtime-3.3/include, mingw-runtime-3.3/lib, w32api-2.5/include, w32api-2.5/lib を /usr/local/mingw にコピー。

% sudo cp -r ~/mingw-runtime-3.3/include /usr/local/mingw
% sudo cp -r ~/mingw-runtime-3.3/lib /usr/local/mingw
% sudo cp -r ~/w32api-2.5/ /usr/local/mingw

どこから手に入れたか忘れたけど

http://ftp.gnu.org/gnu/gcc/

みたいなところから gcc-3.3.3.tar.gz をダウンロードして解凍。
 そのままビルドすると i686-pc-mingw32-ar が無いと怒られたので /usr/local/mingw/bin にパスを通してからビルドした。
 あと、basic_file.cc が ioctl が無い、と怒り出すので排除。俺はこれで解決しちゃったけど basic_file.cc はビルド中に作られるファイルだから元のファイルは恐らく gcc-3.3.3/libstdc++-v3/config/io/basic_file_stdio.cc。include が一通り終わった辺りに

#ifdef FIONREAD
#undef FIONREAD
#endif

を追記。

% setenv PATH "/usr/local/mingw/bin:${PATH}"
% cd ~/gcc-3.3.3
% mkdir build
% cd build
% sudo ../configure --with-gcc --with-gnu-ld --with-gnu-as --target=i686-pc-mingw32 --prefix=/usr/local/mingw --with-headers=/usr/local/mingw/include/ --with-libs=/usr/local/mingw/lib/ --enable-threads --disable-nls --enable-languages=c++,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions
% sudo make
% sudo make install


稼働テスト
#include <iostream>
int main( int argc, char ** argv )
{
    std::out << "Hello World!!" << std::endl;
    return 0;
}

ってな test.cpp を作って

% setenv PATH "/usr/local/mingw/i686-pc-mingw32/bin:${PATH}"
% g++ test.cpp -o test.exe

でコンパイル。作成された test.exe を Windows に持っていってコマンドプロンプトから

C:\> test.exe
Hello World!!

C:\>

 出来た!!

配布
 とってもうちの環境に依存してそうな気もするけど、一応配布してみる。

MinGW For Mac ( 48 MB )

 インストーラ作るの面倒くさいから誰かパッケージ作ってくれるとうれしいけど、マウントしたら

% sudo cp -r "/Volumes/MinGW_For_Mac/mingw" /usr/local

ってやってみて、上の稼働テストが成功するかやってみて。動作報告求ム!


---------- 1:30AM 追記
MinGW on Linux
なんていうページが_| ̄|○
丸一日頑張ったのに……これ見てればもっと早く作れたんじゃぁ…

2004年05月16日

TortoiseSVN 1.0.4

 Subversion を Windows で手軽に使うためのソフト、TortoiseSVN に 1.0.4 が出てた。

 で、このソフトがどーにもムカツクのが、

・日本語パスがあると diff とかコケる。
・ファイル名を変更すると rename ではなく削除+追加になる。

の 2 つで、前者はまぁしょうがないにしても後者は許せない。Subversion 用ソフトを騙るなと言いたいくらいで、Subversion の利点を全て奪われる。これじゃ CVS 使ってるのと変わらない。ていうかもうバグも同然だろ。
 が、1.0.4 の変更点を rename で検索するとなにやらヒットするので直っているか確認してみよう。

---------- 追記 14:40
 まだ削除+追加になっているように見える。
 どちらにしろ今までのバージョンでも viewcvs で見る限りコピー元を示してくれるようだから、本当に削除+追加というよりかはコピー+削除だとは思うのだが。

 それよりも viewcvs、こいつはファイルのコピー元は示してくれてもディレクトリのコピー元が分からない。これはかなり深刻。

---------- 追記 5/20 13:42
 ログがちゃんと繋がっていることから、多分 rename できているのではないかと。ということで rename 出来ないという記述は一応取り消し線にしとく。viewcvs が使えないのは相変わらずなので何か方法はないものかなぁ。

2004年05月26日

Visual C++ Toolkit 2003 のライセンス

 知っている人には今更だけど、翻訳されているようです。

OOo Wiki - EULA

 要するに個人の評価においてのみ使ってねってことかな。

Visual Studio 6.0 SP6

 同じく今更だけど、未だに VB 6.0 や VC++ 6.0 を使っている人に朗報(?)のアップデータ。

Visual Studio 6.0 Service Pack 6

 でも Processor Pack が使えなくなるようなので、MMX や SSE を使っている人は当てられない。困った。

2004年05月31日

tortoiseSVN で svn:externals 属性

 subversion では svn:externals 属性で必要な外部モジュールを関連付けて自動的に取得させる事が出来る。
 基本的な使い方はフォルダを選択して 右クリック - [プロパティ(R)] - [Subversion] タブまでもってって、コンボボックスに svn:externals と入れる。そんでもってその下の欄に

ダウンロード先フォルダ名 プロトコル://ダウンロード元

みたいに入れればいいんだけど……

 tortoiseSVN 1.0.4 時点では罠があって、ダウンロード先を上位フォルダにしようとすると

..\bar http://foo/bar

みたいにデリミタに「/」ではなく「\」を使わなくてはならない。実際に試してはいないけど下位フォルダでは問題なさそう。
 でもこれをやっちゃうと、属性が「\」で記録されてしまうのでリポジトリが tortoiseSVN だけでしか使えなくなる事請け合い。そもそも上位にしちゃいけないんだろうか。

2004年06月04日

VaraTerm 2.1

 以前(うちのサイトが移転する前だけど)からオススメしてる国産 Telnet/SSH クライアントの VaraTerm(旧Guevara) 2.1 が出た。

Terminal Emulator Varaterm

 個人的な今回の目玉は Keep Alive かな。
 ターミナルで日本語が要らない場合は SSH Secure Shell for Worksattions がオススメ。ターミナルとして使えるほか、GUI でファイル転送も出来るし。

2004年06月15日

Visual C++ Toolkit 2003 の環境構築

 Visual C++ Toolkit 2003 で検索して飛んでくる人が結構多くて、お望みの情報が手に入らず帰られてるのが目に見えてるので 『VC++ 2003 Professional のコンパイラが無料に!』 と 『コンパイラを新しくしても』 の続きとしてまとめておこうと思う。

ダウンロード

展開
 特に上 3 つはこれを書いている時点での公開された時系列に合わせて上から順にダウンロード&インストール。PSDK、.NET Framework、toolkit は Program Files に。WTL、STLport、boost はトップレベルに展開。bjam.exe は boost の中に入れる。
 時系列に合わせてあるとパスの編集が少なくて済む。

 目安として以下の階層が確認できれば OK。

\Program Files\Microsoft Visual Studio .NET 2003\
\Program Files\Microsoft SDK\
\Program Files\Microsoft Visual C++ Toolkit 2003\
\wtl71\
\STLport-4.6.2\src\
\boost_1_31_0\Jamfile
\boost_1_31_0\bjam.exe

パスの設定
 Windows XP だったら [コントロールパネル] - [システム] - [詳細設定] - [環境変数] - [ユーザー環境変数] あたりから確認できるデフォルトのパスを確認。このパネルが無かったらコマンドプロンプトで set とでも打って確認。
includeD:\PROGRAM FILES\MICROSOFT VISUAL STUDIO .NET 2003\VC7\INCLUDE;D:\PROGRAM FILES\MICROSOFT SDK\INCLUDE\WIN64\ATL;D:\PROGRAM FILES\MICROSOFT SDK\INCLUDE\WIN64\CRT;D:\WTL71\INCLUDE;D:\Program Files\Microsoft SDK\Include\.;D:\DXSDK\INCLUDE;D:\Program Files\QTDevWin\CIncludes
libD:\PROGRAM FILES\MICROSOFT VISUAL STUDIO .NET 2003\VC7\LIB;D:\Program Files\Microsoft SDK\Lib\.;D:\PROGRAM FILES\MICROSOFT.NET\SDK\V1.1\LIB;D:\DXSDK\LIB;D:\PROGRAM FILES\QTDEVWIN\LIBRARIES
pathD:\Program Files\Microsoft SDK\Bin\Win64\.;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.

 VC++ 6.0 を持ってるから、それに関するものは端折ってあるけど、実際はこの後ろに VC++ 6.0 の環境変数が続く感じ。DirectX SDK やら QuickTime SDK も入ってるし、D ドライブだけどあくまで参考例ってことで気にせず。とにかく lib は .NET framework を最初に持ってきて優先にすること。こうすることで.NET framework に付属してる msvcrt.lib が使えるようになる(VC++ 6.0 を持ってたりしても)。あとは path が Win64 用に通すことで nmake.exe とか使える。

 これが確認できたら [プログラム] - [Microsoft Visual C++ Toolkit 2003] - [Visual C++ Toolkit 2003 Command Prompt] のバッチファイルを起動。このバッチファイルは環境変数を設定するだけだから、さっき見た所の一番最初(何よりも toolkit が最優先)に追加しといてもいい。

STLport
C:\>cd \STLport-4.6.2\src
C:\STLport-4.6.2\src>notepad ..\stlport\stl_user_config.h
C:\STLport-4.6.2\src>set MSVCDIR=C:\Program Files\Microsoft Visual C++ Toolkit 2003
C:\STLport-4.6.2\src>nmake /f vc71.mak install
 set 文はダブルクォートで囲まないのがミソ。
 notepad の箇所は stl_usr_config.h の必要そうだと思うコメントをはずす。うちの場合 MFC と PSDK を使ってるから # define _STLP_USE_MFC 1# define _STLP_NEW_PLATFORM_SDK 1 をコメント解除。

----- 2004/7/25 追記
 製品の Visual C++ を持っていない人は DLL 版が作成できないようなので vc71.mak の

all: platform all_static all_dynamic

のうちの all_dynamic の記述を削除すること。

boost
C:\>cd \boost_1_31_0
C:\boost_1_31_0>set STLPORT_PATH=C:\STLport-4.6.2
C:\boost_1_31_0>set MSVCDIR=C:\Program Files\Microsoft Visual C++ Toolkit 2003
C:\boost_1_31_0>bjam -sTOOLS=vc7.1-stlport "-sVC71_ROOT=C:\Program Files\Microsoft Visual C++ Toolkit 2003" "--prefix=C:\Program Files\Microsoft Visual C++ Toolkit
 2003" install
 これは 『Boost C++ Library プログラミング』サポートページ より。バッチファイルのエラーは気にしなくていいけど、リンクエラーはどこかにミスがあるからログを追ってよく確認しておくこと。

ATL
C:\>cd \Program Files\Microsoft SDK\src\atl
C:\Program Files\Microsoft SDK\src\atl>copy atl.mak makefile
C:\Program Files\Microsoft SDK\src\atl>nodepad makefile
C:\Program Files\Microsoft SDK\src\atl>nmake
C:\Program Files\Microsoft SDK\src\atl>nmake /D "CFG=atl - Win32 Release"
 使えるかどうかは確認して無いけど一応何かのライブラリは作れるっぽい。
 ただし、リリースビルドをするための遅延ロードライブラリ delayimp.lib が無いので、nodepad makefile で編集して /delayload:〜 の部分を一通り削除する。これは VC++ 6.0 を持っていれば delayimp.lib を持っているはずなんだけど、PSDK のリンカと互換性の無いライブラリだから使えない。かといって VC++ 6.0 のリンカを使ってもうまくリンク出来ない。よって VC++ 6.0 を持っていてもこの方法で遅延ロードをあきらめるしかない。
 出来たライブラリは toolkit の lib フォルダにコピー。

 急いで書いたから途中何か抜けてたらツッコミよろしく。
----- 21:00 追記
 早速 STLport の config 設定が抜けてたから修正。

2004年09月30日

goo RSSリーダー

 どうせ各所で話題になってるんだろうけど。

 goo RSSリーダー というのが出たらしい。しかも ニュースリリースgoo RSSリーダー(shin's 物欲) を読むに、glucose がベースらしい。

 安定性を除けばほぼ満足だった glucose に安定性が加わったら鬼に金棒じゃないかなぁ。わくわく。
 Miech みたいに新着イベントとしてバルーン表示してくれるようになってると凄く嬉しいんだけど、流石にそれは贅沢言い過ぎかな?

 とりあえずインストールしてみようっと。

2004年10月14日

VisualStudio 6.0SP6 で ProcessorPack

 コンパイラのバグは SP5 に戻ってしまうかもしれないけど、ライブラリや IDE は SP6 相当のままでいける。

追記
 ぐぐってみたら どうやら レジストリを書き変えて 後から Processor Pack を適用する方法もあるみたい。

2004年11月12日

Google Desktop 萌え

 まだこれをネタにして無かったと思うので。

 メタ検索ソフトは Google Desktop を愛用してます。
 WinXP のファイル検索はタコ過ぎて、目の前にあるファイルを検索しても出てこない事がよくあって、例えば ".NG" ファイルを全部消したい時とか引っ掛けてくれない事があるから困り物。

 Google Desktop じゃ代替利かないからそんな話はどうでもいいとして、プログラミングをしている最中に、これと似たような処理をいつかどこかで書いたんだけどどこやったっけ、という事がよくあるんです。後はヘルプ、マニュアル、構造の仕様書みたいのとかを探したい事も。
 Google Desktop は一瞬で探してくれるんで、超便利。本家 Google と同じく、Hit 数が多すぎるのが玉にキズではあるけど。

 Windows にも Mac にもインデックス検索はある(Windows はインデックスを作ってくれるだけなので、対応したソフトを見つけてこないといけない)けど、まず索引の作成が遅い。そしてことごとく Hit しない。単語の区切り方がよくないんだろうねぇ。
 そんなわけで、早く日本語にも対応してもらいたいし、Mac や linux にも対応して欲しいし、仕事場にも入れたいと常々思ってたり。Mac は Spotlight がそのうち乗るけど、選択肢が増えるのはいい事だし Mac OS X 10.4 を買わないといけないので。

2004年12月02日

付箋ソフト

 stickies を使ってるけど気づいたら更新されていたのでバージョンアップ。

 付箋ってマルチモニタで使ったり、解像度をよく変えたりすると、画面外に迷子になる事が多い。けどこれ、「Rescue lost stickies」ていうメニューコマンドがある事を今日初めて知った。
 前のバージョンからあったのかなぁ。ともあれ、唯一届かなかった痒い場所に手が届いたのでますます好きになった。

2004年12月20日

VC++ 6 のエディタで正規表現

 VC++ 6 のエディタは速くて便利だけど、正規表現だけが使い方が分らず不便だった。
 で、ちゃんと調べてみたら、ほんのちょっと書き方が違うだけで普通に使える事が判明。こりゃ便利。

 例えば今使っていた hoge->Length() を Length( hoge ) にするものならこんな感じ。

検索文字列\(\:w\)->Length()
置換後の文字列Length( \1 )

2005年03月09日

Google Desktop Search 正式版

 ハードディスクの中身を颯爽と検索してくれる Google Desktop Search の正式版が登場。

 ベータが外れただけかと思ってダウンロードしてなかったんだけど、あらびっくり。
 PDF や Thunderbird (Mozilla Mail も?) も検索対象に。
 そんでもってタスクバーに検索フィールドを表示出来ちゃったり。
 オマケに、独自のファイルフォーマットでも検索できるプラグイン開発まで出来ちゃう。
 もう萌え萌え。

 でもなんで韓国語や中国語のベータ版があるのに日本語版がないのさ!

追記:
 Google Desktop Search: Download Plug-ins
に既にプラグインが公開されてる。OpenOffice.org 用のプラグインも発見したので早速入れてみよう。

2005年04月08日

Poderosa (VaraTerm)

 便利なターミナルエミュレータ VaraTerm (旧Guevara) が Poderosa という名前に変わって遂にオープンソース化!
 <--けど 1 月には /.J にタレこまれてた らしい。-->

 ただ、WinXP のバージョンが上がるにつれて時々落ちるようになったのが困りもの。

2005年11月06日

Google デスクトップ2β

 Google を眺めてたら Google デスクトップ ver 2β を見つけた。もしかしたら浦島でもの凄い出遅れてるのかもしれないけれど。

 ver 1 はちょっと使い勝手の悪さと削除したファイルも全部キャッシュに残ってしまって、日に日に検索結果が膨大になっていくのとで MSN デスクトップサーチ に浮気していた。

 どうやら MSN デスクトップサーチ や Spotlight のようにダイレクトなサーチを備え、プラグイン式のサイドバーもセットになっているらしい。
 このサイドバーはウィジェットの位置を狙ってそう。

 何はともあれ、早速インストールしてみようっと。

追記:
 因みに MSN デスクトップサーチ は

 やたらクロールして重たいのと、
 クロール後にいちいち報告してくるのと、
 ログオフ(またはシャットダウン)時にレジストリを掴んだまま放さず「設定を保存しています」にやたら時間がかかる(保存に失敗していることが[管理ツール]-[イベントビューア]で分かる)のと

で最近嫌煙してる。

2005年12月18日

UPHClean

プロファイルのアンロードに関する問題のトラブルシューティング

 よーするに、以前書いた、「設定を保存しています」にやたら時間かける問題の対策。便利。

2006年01月06日

.NET IronPython 1.0 Beta

 Microsoft が .NET IronPython 1.0 ベータリリース だそうです。

 あらゆる規格で独自路線つっぱしって中々互換性を取りづらいM$だけれども、Python を公式にサポートしてくれるなら嬉しいかもしれないなあ。しかもインタプリタじゃなくてコンパイラみたいだし。

 コンパイラと言っても IL(中間言語)に変換されるんだけど、個人的には中間言語ってパソコンで最速になり得るフォーマットだと思う。現実はそうじゃないけど。

 従来の言語はコンパイルした時点で機械語のオブジェクトになって、リンクは結びつけるだけ。
 ってことは小さくてもヘビーな関数はファイル分割出来ない。マクロにするか、今なら inline 宣言して毎回 include とコンパイルをしなきゃいけない。

 そんでもって、組み込みは事前にカリカリに出来るけど、パソコンは環境が多様。そいつに動的にすり寄って行けたら最高じゃん?
 そうだ、動的オブジェクトにすればいいんだ、って思った頃には Java が出てきて .NET が出てきて、みんな考える事は同じだなー、とか思った。

 静的な方面では、VC++ なんかはリンク時に最適化してくれるし、便利な世の中。

 話はそれたけど、どこでも実行出来て、成熟して(安定して)いて、開発がべらぼうに簡単なポトペタ言語環境が欲しい。
 で、この .NET IronPython。ダウンロードしてないけど、多分 Visual Studio に組み込まれてポトペタ環境なわけでしょ?せっかく IL を吐くんだから Mac でも動いてくれればいいのになぁ。
 Mono とか成熟は当分なさそうだし。ていうか OS に標準で入ってないとね。
 <ぼそ>もっとも、IL が動くなら C# でもいいわけで</ぼそ>

2006年01月30日

FolderShare

 ネタ元は 天野さんの RSS

 Microsoft が P2P ファイル共有サービス「FolderShare(https://www.foldershare.com/)」を始めた。

 まだ使ってないから嘘言いまくるかもだけど、
  • バックグラウンドで複数のコンピュータのフォルダを自動的に同期してくれるっぽい。(面倒なステップ無し)
  • サーバを経由するので、双方のコンピュータが同時に立ち上がっている必要が無い。
  • WinXP, Mac OS X 対応、サーバ容量は 2GB。
  • 無償。金払えば限界突破(over 2GB)出来るのかな?
  • 自分もしくは招待した人のみ閲覧可能。
てな感じ。

 ファイル共有を目論んだ事があれば一度は考えた事があると思う。
 よーするに Winny みたいのを作るときに、保存するファイルを公開鍵暗号で符号化してから中継コンピュータに置けば(送れば)指定した人しか見られない、と。もっとも、不特定多数で共有するには使えない事が自明なので、もどかしい。
 でも対象が非不特定多数な場合、保管場所をわざわざ提供してくれる人が居る訳も無いので、個人に出来るのは PGP メールレベル。

 MS は余計なステップを全て取っ払う事と、「共有場所」という広大なスペースに自腹を切る事で、これを商売にしようって事なのかな。
 因に foldershare.com に「暗号化する」とは明記されているものの、暗号化したままサーバに保管するとは書いてない。通信だけって事は無いと思うけど、そういうところは念を押して明記して欲しい。
 (書いたように、手元で暗号化してから送ってる場合はサーバ管理者すら中身を見る事が出来ず、セキュア)

 これを使って svn リポジトリとか共有出来るかしら?

2006年02月03日

CotEditor

 ネタ元は mac_prog さん。
CotEditor
 Mac 用。軽くて多機能。早速 Dock 入り。

2006年02月23日

CotEditor 0.9.0

 たまたま見たら、出てました。

http://www.aynimac.com/p_blog/files/index2.php
CotEditor 0.9.0

2006年03月04日

MinGW 5.0.2

 Windows 用 gcc 環境 MinGW 5.0.2 が 2/12付けで出てた。
 UNIX/Linux 使いは MSYS も一緒にどうぞ。

2006年03月13日

VC++ 2005 でプロファイル最適化

 VC++ 2005 Professional 以降はプロファイリングを使用した動的最適化が出来る。
 「ガイド付き最適化のプロファイル」(リンクは MS の解説)でググっても取り扱っているサイトが無さそうだったので持ち上げ型のレビューっぽく VC++ 2005 と一緒に紹介してみる。

 まずは普通にコードを入力。
 コンストラクタでもヒントを表示するようになったのが嬉しい。

コンストラクタの入力

 更に凄いのが、入力中、クラスやマクロがどのように定義されているか逐一表示してくれる「コード定義ウィンドウ」。これに慣れると、もう以前の環境には戻れなくなりそう。
コード定義ウィンドウ

 コードが書き終わったら早速コンパイル。
 このときに表示される「エラー一覧」。VS 2005 ではエラーだけ、警告だけに分けて表示されようになっている。
 このコード#include <tchar.h>を加えると完成。
エラー一覧

 Release でコンパイル、実行したところ、タイムは 2585614 となった。
 さあこれを最適化しよう、といった場合、通常はプロファイラでプロファイルを採ってから、ボトルネックになっている場所を探す。これを人間がやるのではなくコンピュータにやらせよう、というのが今回の動的最適化。

 次は、プロジェクトから [ガイド付き最適化のプロファイル] - [インストルメント] を選択して、再度コンパイル、実行する。
エラー一覧

 これを行うと、実行ファイルのディレクトリに「ソフト名!番号.pgc」といったファイルが作られている。何度も行うと、どんどん番号が増加し、ファイルが作られていく。
 これがプロファイルした結果で、より良く最適化をするには、様々な条件のデータを使って実行し、このファイルを増やしていく。

 今回はデータを 1 種類(固定的な rand 値)しか用意していないので、1 回実行しておしまい。
 この時タイムは著しく下がるが、これはプロファイルを採っているから起こる現象で、気にしない。

 最後に、プロジェクトから [ガイド付き最適化のプロファイル] - [最適化] を選択する事で、プロファイル結果を使ってコンパイルする。これが完成品。

 こいつを実行してみると…タイムは 1754635 となった。約 1.5 倍速に最適化が出来た。

2006年03月19日

Windows XP on an Intel Mac

 あら、もうツールが公開されてる。

Windows XP on Intel Mac

 Wiki に 日本語の解説 もあるっぽい。

 Intel Mac 買いたいっ!
 でも嬉しい事に、現在パソコンがまだ4 台も現役で元気なんだよな。
 PowerMac G4/AGP 350MHz とか何年前よ。多いメモリと当時よりは速い HDD のおかげか、未だに余裕だし。

 Intel Mac があれば 4 台中 2 台要らなくなっちゃうよなあ。むう、勿体ない。
 でも今モーレツに買いたい。

2006年08月19日

lhaz 1.32

http://www.chitora.jp/lhaz.html
Windows 用アーカイバ。

JDK 5.0 Update 8

https://java.sun.com/j2se/1.5.0/ja/download.html
JDK 5.0 のアップデータ。