DynaHack のすすめ

ここ最近 NetHack バリアントの一つ DynaHack をプレイしていたのですが、とても面白かったので、ちょっと詳しく紹介します。 ※JNetHack やってた人向けです。 Windows だと Zip ダウンロードしてさくっと始められますのでぜひどうぞ。 どんなゲーム? 公式サ…

virtualbox でのネットワーク設定

環境: v4.0.4, ホスト Windows7 x64, ゲスト ubuntu 10.10 VMのネットワーク設定から、「ホストオンリーアダプタ」を割り当てる Windows のコントロールパネル > ネットワーク接続から、「ローカルエリア接続」の共有を許可する 「VirtualBox Host-Only Netw…

cygwin 環境での wsh/cscript 用 shebang

wsh 用スクリプトを cygwin で直接実行できるようにするためのメモ。通常の #! shebang は、 cscript(jscript) では構文エラーになってしまうので使えません。 cygwin(dash) でスクリプトを直接実行するために、sh でも jscript でも有効な shebang の代替が…

virtualbox を微妙に使いやすくする

環境: v3.2.12, ホスト Windows7 x64, ゲスト ubuntu 10.10virtualbox では、ログオン時の自動起動は比較的簡単にできますが、ログオフ時の自動終了ができません。ゲストが強制終了となります。で、仕方ないので、端末エミュレータ起動時に virtualbox を連…

virtualbox での共有フォルダのマウント

環境: v3.2.12, ホスト Windows7 x64, ゲスト ubuntu 10.10共有フォルダのマウント状態がデフォルトだとなんか微妙なので、オーナを自分にしてみる。 $ sudo mount -t vboxsf -o uid=1000,gid=1000,fmode=0755,dmode=0755 my-work work $ ls -la work drwxr-…

Windows Server 2003 SP1 DDK とコンパイラ

ネタ元: http://d.hatena.ne.jp/NyaRuRu/20080215/p2Windows Server 2003 SP1 DDK は無料でダウンロードできて、 普通のアプリケーション開発に使えるんですね…。そこそこ新しい最適化コンパイラ(Version 13.10.4035、VS2003レベル)と 諸々のライブラリ(CRT,…

ruby-1.9 での1変数への0/1要素の配列の多重代入

1変数への0/1要素の配列の多重代入(?)の仕様が変わっています。 # ruby-1.8.x a = *[]; a #=> nil a, = *[]; a #=> nil a = *[0]; a #=> 0 a, = *[0]; a #=> 0 # ruby-1.9.0 a = *[]; a #=> [] a, = *[]; a #=> nil a = *[0]; a #=> [0] a, = *[0]; a #=> 0 …

私用段組テンプレ

概要 IE6, IE7, Opera, Fx 対応。xml宣言あり 幅固定800px, 内容500px, サイドバー300px サイドバー左、内容右 サイドバーの項目が横に長くなってもIEで崩れない 最低高さ100% 内容が少なければ、フッタを画面の最下部に 内容が多ければ、フッタをページの最…

トップレベルでも捕捉されなかった例外を無理やり捕捉する。

微妙にタイトルに偽りがありますが。 END { begin raise $! rescue warn "捕捉! #{$!}" exit end } undefined_local_variable #ここで例外が発生する実行結果 捕捉! undefined local variable or method `undefined_local_variable' for main:ObjectEND はス…

例外を Ruby のエラーメッセージ形式に整形する

この例だと表示までしてますけど。あと、途中の省略はしません。 $@ はバックトレース、$! は例外オブジェクトです。 $@[0] = "#{$@[0]}: #{$!} (#{$!.class.name})" warn $@.join("\n\t")

MSYS で GNU screen

MSYS で GNU screen を使う。コンパイルには GNU のオリジナルパッケージ(screen-4.0.3.tar.gz)とcygwin のパッチ(screen-4.0.3-1-src.tar.bz2)が必要である。これらは適当なミラーサイトからダウンロードする。また、前準備として必要なら(安定版の MSYS を…

MSYS で色々コンパイルする準備

msysDVLPR最新版をいれる。簡単な手順。 msysDVLPR 最新版をダウンロード msys インストールフォルダ(おそらく /どこか/msys/1.0)を適当な名前で適当な場所にコピーする。ここでは /d/tmp/msys_d/1.0 としておく msysDVLPR をそのコピーしたフォルダ(/d/tmp/…

MSYS で cygterm

MSYS で cygterm を使う。現状の MSYS の /include/sys/termios.h にはバグがあるみたいなので以下のように修正する。 $ diff termios.h.orig termios.h 48c48 < #define CTRL(c'h') ((ch)&0x1F) --- > #define CTRL(ch) ((ch)&0x1F)あとは、make すればよい…