無料で使える virus 対策 tool for Windows。
Masuda さんの日記から。 Windows 向け scp クライアント。 1 ヶ月程前から公開されていたらしい。
高橋さんの日記。 参考にさせてもらおう。
酷い頭痛の中、昨日のダメダメ分を取り返す程の進み具合。 このまま旨いこと行けば、予定していたよりも丸 1 日早く今の作業が終わる…かな。
会社の同期の人にアレを「今週末買いに行きますよ」なんて言ったけど、まだ置き場所すら決めてない。 んー、どうしたものか。
今週末と言えば、何か呑み会らしきものを開いていただくことに…。 精神的にかなり疲れているので、ちょっと厳しい…。
メモメモ。
OpenSSH for Windows is a free package that installs a minimal OpenSSH server and client utilities in the Cygwin package without needing the full Cygwin installation. This is similar to the package formerly available from NetworkSimplicity.
The OpenSSH for Windows package provides full SSH/SCP/SFTP support. SSH terminal support provides a familiar Windows Command prompt, while retaining Unix/Cygwin-style paths for SCP and SFTP.
ねういちサンの日記から。 明日、会社で読もう。
multi-platform な MUA 付き web browser。 所謂人柱版。
定番の TeX 編集環境 for Emacsen。 数日ぶりの version up。
美しいペン習字風 font。 約 2 週間ぶりの version up。
小関さんの日記。 ほほう。 これは便利そう。
(ffap-bindings)で URL を C-x C-f で開ける。 ftp://... なら /anonymous@...:... で http://... なら browse-url 経由で開く。 ChangeLog 中のファイル名上で C-x C-f しても相対パスでそのまま開ける。 便利なのだ。
toy2 さんの日記から。 めもめも。
emacsen に screen の様な機能を追加する elisp な tool。 約 1 週間ぶりの version up。
某ライブラリのテストや勉強会での発表など。 やる気が底をついたという感じ。 そろそろ新しい環境を求め出しても良い時期かな。 もちろん焦る必要はないと思うけど。
とりあえず、 次に参加するプロジェクトで将来に向かっていける感触を掴めなかったら、 今年度末から新しい環境を探して動くことを上司にちゃんと伝えよう。
P. Graham さんの文書の和訳。 もちろん shiro さんの仕事。 後で読もう。
事前に libiconv, gettext を入れておいた方が良い。
CFLAGS
はお好みで。
$ wget -c http://www.tortall.net/projects/yasm/releases/yasm-0.5.0.tar.gz $ zcat yasm-0.5.0.tar.gz | tar xvf - $ cd yasm-0.5.0/ $ ./configure $ make && make check $ sudo make install
事前に関係ライブラリ群
(SDL, libpng, libjpeg, libtiff, Expat, libiconv, libzlib など)
を出来るだけ多く入れておきたいところ。
もちろん CFLAGS
はお好みで。
$ wget -c http://jaist.dl.sourceforge.net/sourceforge/wxwindows/wxWidgets-2.7.0-1.tar.bz2 $ bzcat wxWidgets-2.7.0-1.tar.bz2 | tar xvf - $ mkdir wxWidgets-2.7.0-1/carbon_build $ cd wxWidgets-2.7.0-1/carbon_build $ ../configure --enable-monolithic --with-sdl --enable-stl --enable-unicode --with-opengl $ make && make samples $ sudo make install
メモ。
ずっと SH でソフトウェア開発している方に、 「for ループはインクリメントよりデクリメントの方が速いよ」と言われ、 実験してみた。
#include <iostream>
static const int loop(100000000);
size_t LoopFunctionI(void) { size_t ret_val(0); for (int i(0); i < loop; ++i) { ++ret_val; } return ret_val; }
size_t LoopFunctionD(void) { size_t ret_val(0); for (int i(loop); 0 < i; --i) { ++ret_val; } return ret_val; }
int main(void) { std::cout << LoopFunctionI() << ':' << LoopFunctionD() << std::endl;
return 0; }
で、これを Mac OS X (on x86), GCC 4.0.1 で g++ -O2 main.cpp -S して、main.s を開くと…。
.globl __Z13LoopFunctionIv __Z13LoopFunctionIv: LFB1447: pushl %ebp LCFI0: movl %esp, %ebp LCFI1: xorl %eax, %eax L2: addl $1, %eax cmpl $100000000, %eax jne L2 popl %ebp ret LFE1447: .align 1,0x90
.globl __Z13LoopFunctionDv __Z13LoopFunctionDv: LFB1448: pushl %ebp LCFI2: movl %esp, %ebp LCFI3: xorl %eax, %eax L9: addl $1, %eax cmpl $100000000, %eax jne L9 popl %ebp ret LFE1448: .align 1,0x90
ふむ…?
最適化って凄い・怖いですねぇ…。
って言うか、そこまでやるならいきなり 100000000
返して欲しい…。
(← shinh さんとこの GCC 4.1 on Linux だとこうなったそうだ)
loop
や i
を unsigned int
にしたら、
ちゃんとインクリメントとデクリメントが保持された。
けっこう神経質なんだ、GCC って。
もっとちゃんと考えた例じゃないと意味がなさそう
(LoopFunctionI()
, LoopFunctionD()
がダメすぎ等)
なので、またそのうち実験してみるか…。
本質的なシンプルさを備えているスクリプト言語。
各種スクリプト言語と C/C++ の間を橋渡しする glue 環境。
Windows では定番の message user agent。
9/16 発売予定の新作。
object-oriented programming を意識して作られた interpreted scripting language。
Windows 上で使用できる X Window Server。
非常に多くのフォーマットに対応したマルチ・プラットホームのメディア・プレーヤ。