HYSPRO Diary
2009-05-01 (Fri)
_ Linux malloc 8 byte align
参考
32-bit Linux glibcのmallocが返すアドレスは8 byte align。しかし、SSE命令の中には16 byte alignを要求するものがあるので、glibc mallocのままでは動かない。tcmallocなどを使うと吉(追記:tcmallocでは1024Bを越えるメモリ確保に限る)。
2009-04-10 (Fri)
_ DOS commands showing system information
$ systeminfo $ msinfo32 /nfo hoge.nfo
msinfo32.exeについては、
- Vistaでは C:\Windows\System32 にあるが、XPだとC:\Program Files\Common Files\Microsoft Shared\MSInfo\msinfo32.exeにある。
- Vistaだとコア数まで(コメントのように)表示されるが、XPだとCPUの型番までしか表示されない。
なお、Windows Management Instrumentationサービスが止まっていると情報を取得できない。
_ PATH on Windows
PATHにないexeファイルも実行可能にする仕組みがWindowsにはある。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathsにエントリーと絶対パスがあれば、コマンドだけでパスが見つけられる。
_ Environment variables
いろいろ環境変数があった。念のため抜粋:
- CPUの種類 %PROCESSOR_ARCHITECTURE% x86 x86→x86系CPU
- CPUの詳細 %PROCESSOR_IDENTIFIER% x86 Family 15 Model 2 Stepping 9, GenuineIntel CPUIDに変換すると0F29(16進数表記) x86 Family→x86系CPU、Family 15 Model 2→Celeronシリーズ、Stepping 9→バージョン9、GenuineIntel→Intel製
- CPUの数 %NUMBER_OF_PROCESSORS% 2 2→デュアルコア
2009-04-06 (Mon)
_ Windows Japanese Keyboard Driver
Windowsにて、いつのまにかUSB日本語キーボードが英語配列に誤認識されてしまった。その復旧方法:
- デバイスマネージャにて、キーボードのドライバを変更。Fujitsuなどの109 USB KEYBOARDを選び、再起動。
それでもだめなときは、
- regeditにて、HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\SERvices\i8042prt\Parametersで、LayerDriver JPN のデータがkbd101.dllになっていると思われるが、kbd106.dllに変更して、再起動。
2009-02-21 (Sat)
_ First Year Anniversary of Floodgate
気づくのが遅れてしまいましたが、2月9日でFloodgate稼働1周年でした。ここに、「2008年2月9日公開」とあります。
当時はGPS以外に使われるか不安だったのですが、参加者のみなさまのおかげで盛況に続いています。2chのコンピュータ将棋スレで、Floodgateの話題が出るまでになりました。MyMoveさんや小宮日記などブログでの応援コメントにも励まされます。また、Floodgateの対戦*1や観戦に対応するプログラムもあらわれ、嬉しいです。
今後ともFloodgateをよろしくお願いします。
*1 マイボナ http://www.geocities.jp/shogi_depot/MyBona.htm
_ Uploaded libeventmachine-ruby
無事Lennyもリリースされたので、unstableへの開発も再開。ITPしていたやつをuploadした。さっそく、Thinをsponsorしてくれないかという問い合わせが来ているので、そちらも手をつける。
libeventmachine-ruby (0.12.4-1) unstable; urgency=low * New upstream release. * Initial release to Debian. (Closes: #501450)
2009-02-15 (Sun)
_ Debian GNU/Linux 5.0 (Lenny) released
Congura!
The code name of the next version is Squeeze also known as Little Green Men.
2009-01-27 (Tue)
_ Sending JMS messages from a Ruby program
あまり理解していないが、とりあえずメモ。
Apache ActiveMQというMessage Brokerがあって、それはJMSにもStompにも対応していて、StompのAPIはRubyにある。つまり、
Ruby <-> Stomp API <-> ActiveMQ <-> JMS
という絵が描けるようだ。このブログのサンプルコードが分かりやすい。
JRubyという方法もあるだろうが、ふだんRubyな自分にはちょっと遠すぎるので調べていない。
JMSにはTextMessageとBytesMessageとの区別があるようで、Stompでは、content-lengthヘッダの有無で区別している。しかし、現時点のRuby Stomp Client API 1.0.6では、デフォルトcontent-length有りのBytesMessageで、TextMessageに変える方法がない。パッチが投げられているが、trunkではまだ対応されていない(ので自分で頑張る)。
DebianにはこのRubyのStompパッケージがないなぁ。Pure Rubyだから、RubyGemsで十分といえば十分ではあるのだが、さて、作るかどうするか。
2009-01-22 (Thu)
_ Compile a 64-bit binary on Solaris
参考:http://solaris.sunfish.suginami.tokyo.jp/Manuscript/SunWorld/200209/
LD_LIBRARY_PATH_64にて、64-bitプログラムのロード先を分けられる。
- LD_LIBRARY_PATH <- 32 ビット・オブジェクトが参照
- LD_RUN_PATH
- LD_LIBRARY_PATH_32 <- 32 ビット・オブジェクトが参照
- LD_RUN_PATH_32
- LD_LIBRARY_PATH_64 <- 64 ビット・オブジェクトが参照
- LD_RUN_PATH_64
Debian links:スレッドテンプレ, Debian Quality Assurance, Debian Package Tracking System
written by はんばあぐ

_ kosaki [tcmallocは16byte align を保証してるの?]
_ もりわき [素晴らしいスライド、ありがとうございます。 tcmalloc.ccには // Sizes <= 1024..]