コメント等はBBL::Wikiにどうぞ。 メールは b2oxgm @ gmail.com へ。 Twitterもやってます。
GHC 6.10.2が出てたのでchmを更新しました。あと、GHCのドキュメントの書式が少し変わってたので生成スクリプトも修正しました。
各種ツールのメモ NicoVisualEffects, Cadencii
Illustrator 8.0のai形式をSVGに変換するpythonスクリプトのai2svg.pyはどうも改行コードの処理に問題があるみたいでWindows上では無限ループに陥ってまともに動かなかったので修正してみた(ai2svg.py 修正版)。
Recordsでちょっと足りないと思った所。1.VBScriptから各種設定値が弄れない。2.連番で任意の番号から開始できない。3.Susieプラグインが使えない。
複数台で使ってるのでウィンドウサイズとかフォントサイズは画面サイズに合わせて調整したいし、
ネットワークの接続先が自宅かそうでないかで登録ディレクトリを変更したいというのがあるんで
スクリプトから設定値が弄れないと困るんだよねぇ。
久しぶりに二画面ファイラの情報を漁っていたら、Recordsというフリーソフトを見つけた。 フルキーカスタマイズが可能(Shift, Ctrl, Shift+Ctrl, Altとの組み合わせもOK)で拡張子ごとのキー変更も出来て、 メニューも弄れて、圧縮ファイルの仮想フォルダも使えて、テキスト・バイナリ・画像ビューワも付いてて、 VBScriptによるユーザー関数などの追加も可能。更にサムネイル表示も出来たりとか欲しい機能がてんこ盛りな感じ。 VBScriptなのが少し気に入らないけど、それ以外は大満足。 早速環境設定して今使ってるのから乗り換えてみようかな。
psd2swfcの出力するActionScriptをリファクタリングした。 前回までのはとりあえず動けばいいやって感じの作りだったので、 _rootとか使ってて他のswfに取り込んで動かすとかそういったことがしづらいことになってた。
psd2swfcの出力するActionScriptにボタン絡みのフックを設定するように修正しました。
メモ書きみたいな感じの雑記はTwitterでやってしまうのが手っ取り早いんで、こっちのほうの更新はしなくなるかも。
明けましておめでとうございます。今年はちゃんと就職しよう。できるといいなぁ。
LuaDebuggerTest.exeとtest.luaなんてのが入ってるからLuaDebuggerTest.exeはtest.lua専用の実行ファイルかと思ったら、 そんなことはなくて、LuaDebuggerTest.exeは汎用のデバッガらしい。 ブレークポイントを仕込んだり変数一覧を出したりとかできる。 ただ、スクリプトを読み込むだけってのは無いみたいで、読み込んだ後は必ず実行される。 で、その時にエラーが起きた場合はどうにも対処はできなさそう。
Luainterfaceが LuaforgeからGoogle Codeに移ってた。 で、近々リリース予定のLuainterface 2.0.2用のデバッガ Luainterface Debugger ってのが出来てた。 一応ダウンロードはしてみたけど動かしてないので詳細は不明。前回書いた不便なところが解消されるようなものだと良いんだけど。
LuaInterfaceってLuaレベルでのエラーの場合はエラーの起きたLuaファイルの行番号情報が得られるけど、 CLRレベルでの例外の場合はCLRの例外情報は出るけどLuaファイルの行番号情報が得られない。 Lua.csのDoFileの部分を弄ればよいのは解るんだけど、行番号情報の取り出し方と、例外の積み重ね(?)がよくわからない。 というかluaL_whereとかluaL_errorで行番号情報をLuaのスタックに積むはずなんだけど積まれてないんだよなぁ。
Rubyだと文字列リテラルとか使えば $><<%|Hello,\sworld!| でOKだった。
Whitespacelessは解ける言語が結構あることが確認できたので、QuotelessとかBracelessはどーよとか言ってみる(w
一応Haskellだと引用符'"も括弧(){}[]も使わずに書ける。
import Data.Char
main = putStr $ map chr lst
lst = 72:101:108:108:111:44:32:119:111:114:108:100:33:replicate 0 0
Rubyに至ってはQuoteless, Braceless, Whitespacelessなんて酷い条件でもいける。 表示の都合上32.chr+で改行入れてます。
s=72.chr.to_s+101.chr+108.chr+108.chr+111.chr+44.chr+32.chr+
119.chr+111.chr+114.chr+108.chr+100.chr+33.chr;$><<s
Whitespaceless Hello world in Dは出力関連でimportが必要だから無理と言いましたが、 import使わずにC言語みたくexternで外部参照させればいけるそうです(暇つぶし文@謎 2008-11-22)。 こんなコード見た事ねぇ(^^;
ゴルフ場にも追加されてるし。(Whitespaceless Hello world@anarchy golf)
というか無理だと思っていたCommon LISPとSchemeでもすでに解かれてるんですが(^^;
いったいどんなコードなんだ?
Haskellはpredとか使わずにmain=putStr"Hello,\32world!"でOKだった。
PSD出力がRLE圧縮に固定というのはどうよと思ったので、Save関数の引数に圧縮形式を渡せるようにしました。 もっとも、現時点ではZip圧縮とかJpeg圧縮は未実装みたいなので、無圧縮かRLEかの二択ですが。
2psd.exeを利用したInkscape用のPSD出力extensionを作りました。 PSD出力にはGIMPを利用した物がありますが、これはGIMPの代わりに2psd.exeを使います。
Yet Another PSD ParserのPSD書き出し機能はかなりの部分が機能しているにも関わらず、 いくつかの不具合のせいでまともに使えませんでした。 ですがせっかく圧縮形式での書き出しにも対応してるのでなんとか使えるように修正してみました。 この修正により、レイヤーを作って画像を流し込んで、合成済みの画像を設定して書き出しという必要最低限の機能が使えるようになりました。 2psd.exeはこの書き出し機能のサンプルで、以前pythonで作ったbind_psd.pyの移植版みたいなものです。 bind_psd.pyとの大きな違いは書き出されるpsdがRLE圧縮されていることです。 psd2svg.7zに同梱しています。
IEのパスワードを選択的に消したいなと思って探したら発見。IE PassView
Whitespaceless Hello world in *. 半角スペース、タブ、改行をソースコード中で使わずに"Hello, world."と出力するプログラムを〜言語で作れ。 ソースコード中で半角スペースが使えないのに出力文字列には半角スペースがあるという嫌がらせ(笑)。 world.のあとの改行はあってもなくてもOKという条件でいくつかの言語で書いてみた。
Haskellだとmain=putStr$map(pred)"Ifmmp-!xpsme/"でOK。RubyとPythonはともにprint"Hello,%cworld."%0x20でOK。 Perlはprintf("Hello,%cworld.",0x20)でOK(ちなみにRubyはこれもOK)。 Cはint(printf)(char*,...);int(main)(){return(printf("Hello,%cworld.",0x20));}でOK。
一方、D言語は出力関連のを使おうとするとimportが必須で、しかもimport(std.stdio);みたいな書き方は出来ないので無理。 C#はclassが必須でかつclass(MyClass)みたいな書き方は出来ないから無理。 Lisp系は表示関数に渡す引数が区切れないので無理。 Whitespaceはソース自体書けない(笑)