K.Sasada's Home Page

Diary - 2007 July

研究日記

文月

_30(Mon)

昨日は凄い雷だった。


週末は、なんというか、死んでた。こんなに何もできないのは久しぶりだった。

_28(Sat)

気付いたら朝だったという。


ACM に入っていなかったので入ってみた。SIGPLAN の Print Membership に入る方法がわからんかった。論文 PDF だけだったら、大学で契約しているサービスで見れるからなぁ。

_26(Thu)

第40回情報科学若手の会 の締切がもうすぐです。興味ある方はぜひご参加ください。


Thunderbird がよく固まる。ssh ごしに imap 使ってるからかなぁ。


恥ずかしながら、SECDマシンという言葉を初めて知る。

closure を陽に扱う命令がないのが、YARV の特徴といえば特徴だろうか。

_23(Mon)

あ、SWoPP 懇親会にもうしこむのを忘れていた。 まだ間に合うのかなあ。


「締め切りました」っと書いてあった。残念。おとなしく仕事でもしていろ、ってことかな。


やっと飛行機をとった。

 ご搭乗日・便名 : 2007/07/31・JAL1113
 出発地/到着地 : 羽田 14:35 → 旭川 16:10

 ご搭乗日・便名 : 2007/08/03・JAL1116
 出発地/到着地 : 旭川 20:20 → 羽田 22:00

もう一便早く帰りたかったかも。でも、OS研はちゃんと聞いていかないとまずいかなぁ。

ホテルも、ネットでは全然見つからなくて焦った。


なんというか、RubyKaigi 2007 で燃え尽き症候群に。なるというほど、仕事してないんだけど。

なんというか、最近いろいろと気分が下向きにすごい修正がかかっていて、何もできなかった。体調もあわせて下方修正が。こういうときに、薬とかを服用するといいんだろうか。とにかく、いろいろと迷惑をかけてしまってすみません。

_a2c(Tue Jul 24 00:31:06 JST 2007)

 こんな私の家の近くでワークショップがあるとは知りませんでした。組込みになってから興味ある分野だからMLに入ろうかな。

_あろは(Fri Jul 27 18:30:43 JST 2007)

 どもども,水島さんからお誘い受けました.8/2 はよろしくお願いします.

_21(Sat)

QuickML はサーバを動かさないといけないので大仰かな、と思い、.forward / .qmail で動かすことが出来ないか考える。

が、ただ一点 recipient を正確に知ることができないという問題点が。

virtual domain で、@ml.example.com へ来たメールを mlsystem@mail.example.com へ転送するとする。ありがち。で、~mlsystem/.forward に、m2n.rb を動かしてやればいいや、と思ってたんだけど、ml.example.com の情報が落ちてるので使えない。

転送しなければ、環境変数 RECIPIENT で見ることが出来るんだけど。環境変数 RECIPIENT を転送元のアドレスにしたまま、ローカル配送する方法はないんだろうか。

ここだけなんとかなればいいんだけどなぁ。こういうことが出来ないから、alias を使ったりするんだろうなぁ。なんとかならないものか。


postfix なら virtual に /(.+)@ml.example.com/ mlsystem+$1@mail.example.com と指定してあげれば、$1 の部分に ML 名が入ってくれるので情報が伝達できる。でも、qmail じゃ無理そうだしなぁ。しょうがないと思ってあきらめるしかないのか。


そういえば http://lists.samba.org/archive/samba/2007-March/130102.html を見て、SMB over SSH が使えるようになった。が、他の共有サーバにはつながらないのがな。

_n(Sat Jul 21 13:52:43 JST 2007)

 rhg

_ささだ(Mon Jul 23 09:24:17 JST 2007)

 すみません。体調が悪いので休みました。

_eto(Wed Jul 25 16:10:15 JST 2007)

 利便性を多少犠牲にすれば、.forwardでもQuickMLは実装できますよ。ただ、ちょっとめんどくさい。あとエラーメールによる自動削除が使えないかな。で、qmailだと無理はそれはそうでしょう。いまどき何故qmailを使うのか…。

_maeda(Thu Jul 26 12:35:46 JST 2007)

postfix なら virtual に /(.+)@ml.example.com/ mlsystem+$1@mail.example.com と指 定してあげれば、$1 の部分に ML 名が入ってくれるので情報が伝達できる。でも、qmail じゃ無理そうだしなぁ。

いやいやいやw

フツーにvirtualdomainsに

ml.example.com:mlsystem

と書けば、user@ml.example.comあてのメールが mlsystem-user@mail.example.comに転送されますがな(See qmail-send(8))。 それを ~mlsystem/.qmail-default で受け取ればいいんでは?

.qmail-defaultから起動されるコマンドには、環境変数$EXTにuserが入って渡される(qmail-command(8))。

_maeda(Thu Jul 26 13:07:15 JST 2007)

ひょっとして mail.example.com が別ホストなら、~mlsystem/.qmail-defaultで

| forward mlsystem-$EXT@mail.example.com

でOK。

また、MLごとにいろんなホスト名を受け取りたいなら virtualdomains に

.ml.example.com:mlsystem

としておけばよい。mlの前のドメイン(たとえばfoo.ml.example.comのfoo) は環境変数$HOST4で取り出せる。

_20(Fri)

体調不良。めまいと腹痛。


しょうがないので、m2n.rb で ML を作ってみた。100行。やっぱり結構かかるな。

_19(Thu)

なんかもう色々駄目なので、しょうがないので m2n.rb を更新した。

m2n.rb: Mail ni Nankasuru

Maildir base で何かするなら、色々とやりやすいように作ったツール。駄目駄目な前作を、だいぶ作り直したつもり。

まぁ、誰も使ってないだろうけど、デフォルトのディレクトリとして ~/.m2n を使って色々やるようになった。

ML のサンプルでも作ってみようかなぁ。


spam filter をどうやって挟むか思案。とりあえず spam assassin でも使うか。


しかし、普通の人は procmail 使うものなのかな。俺には出来ない。

_17(Tue)

本郷に行くと本を買ってしまうから困る。

  • デバッガによるx86プログラム解析入門
  • 入門OCaml
  • Google SketchUpパーフェクト
  • Nagios 2.0
  • ペタフロップスコンピューティング

帰りに書泉で

  • SD 2007/4
  • 数学少女

をかった。数学少女を数ページ読んだけど、kneg?


rm -rf ~ の話にちょっと反響があったのを知った。悪いんだけど、実はまだ本運用してないサーバだったから、あんまり痛くなかったんだよね。気づくの遅れてたら、デバッグ中のプログラムが飛んでた可能性はあったんだが。

atdot.net が飛んだら、と思うとぞっとする。

_Yugui(Wed Jul 18 12:51:51 JST 2007)

 それは不幸中の幸いでした。それならスレーブサーバーで# rm -rf / やってもうた私に比べれば

_ddk50(Sat Jul 21 11:13:11 JST 2007)

 僕も数学少女はknegとは思いました

_13(Fri)

手違いで、~ というディレクトリを作ってしまったので、つい rm -rf ~ とやってしまった orz

ダメだもう駄目だ。

_すぎむし(Sat Jul 14 04:54:28 JST 2007)

 ドンマイ

_12(Thu)

いろんなことが詰まってる...

_11(Wed)

こんなのを作ってみた。

require 'pp'

def clean str
  str.gsub(/\/\*.*?\*\//m, ' ').gsub(/"(\\"|[^"])*"/m, ' ')
end

def get_words str
  words = Hash.new(0)
  str.scan(/\w+/){|w|
    if /\A\d/ !~ w
      words[w] += 1
    end
  }
  words
end

srcdir = ARGV.shift || './'
headers = ''
sources = ''

# headers
Dir.glob(File.join(srcdir, 'include/ruby/*.h')){|hf|
  headers << clean(File.read(hf))
}

# sources
Dir.glob(File.join(srcdir, '{win32/,missing/,}*.{c,ci,def,h,y}')){|sf|
  sources << clean(File.read(sf))
}

header_words = get_words headers
source_words = get_words sources

puts
puts "Unused Header Words: "
puts unused_header_words = header_words.find_all{|w,|
  source_words[w] == 0
}.sort.map{|k,| "  #{k}"}

puts
puts "Once words: "
puts source_words.find_all{|w, n|
  n == 1
}.sort.map{|k,| "  #{k}"}

trunk にかけてみた結果。


Unused Header Words: 
  ATOMIC_SET
  ATOMIC_TEST
  CHR2FIX
  CharNextA
  DEPRECATED
  DUPSETUP
  Definitions
  EPROCLIM
  EXPORT
  EXTERN
  EXTLIB
  Exception
  FD_SETSIZE
  FL_ABLE
  FL_RESERVED
  FL_REVERSE
  FL_USER6
  FL_USHIFT
  HAVE_CRYPT
  HAVE_DUP2
  HAVE_ERF
  HAVE_FLOCK
  HAVE_HYPOT
  HAVE_INTRINSICS_H
  HAVE_ISINF
  HAVE_MEMMOVE
  HAVE_RB_DEFINE_ALLOC_FUNC
  HAVE_RB_IO_T
  HAVE_STDIO_EXT_H
  HAVE_STRCASECMP
  HAVE_STRCHR
  HAVE_STRERROR
  HAVE_STRFTIME
  HAVE_STRLCAT
  HAVE_STRLCPY
  HAVE_STRNCASECMP
  HAVE_STRSTR
  HAVE_STRTOUL
  Handling
  IMMEDIATE_MASK
  IMMEDIATE_P
  ISXDIGIT
  InterlockedDecrement
  InterlockedExchange
  InterlockedIncrement
  LL2NUM
  LONG
  LONG_LONG_MAX
  LONG_LONG_MIN
  Microsoft
  NEW_ARGS
  NEW_ARGSCAT
  NEW_ARGSPUSH
  NEW_BACK_REF
  NEW_BLOCK_ARG
  NEW_CONST
  NEW_CVASGN
  NEW_CVDECL
  NEW_DSTR
  NEW_DSYM
  NEW_DXSTR
  NEW_FALSE
  NEW_IASGN
  NEW_IASGN2
  NEW_LASGN
  NEW_MATCH
  NEW_MATCH2
  NEW_MATCH3
  NEW_NTH_REF
  NEW_OPT_N
  NEW_OP_ASGN22
  NEW_PREEXE
  NEW_SELF
  NEW_TRUE
  NEW_VCALL
  NODE_LAST
  NODE_LMASK
  NODE_LSHIFT
  NODE_TYPEMASK
  NODE_TYPESHIFT
  NORETURN_STYLE_NEW
  ONIGENC_IS_CODE_ALNUM
  ONIGENC_IS_CODE_ALPHA
  ONIGENC_IS_CODE_BLANK
  ONIGENC_IS_CODE_CNTRL
  ONIGENC_IS_CODE_GRAPH
  ONIGENC_IS_CODE_LOWER
  ONIGENC_IS_CODE_PUNCT
  ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN
  ONIGENC_NAME
  ONIGURUMA
  ONIGURUMA_H
  ONIGURUMA_REGEX_H
  ONIGURUMA_VERSION_MAJOR
  ONIGURUMA_VERSION_MINOR
  ONIGURUMA_VERSION_TEENY
  ONIG_ENCODING_BIG5
  ONIG_ENCODING_CP1251
  ONIG_ENCODING_EUC_CN
  ONIG_ENCODING_EUC_KR
  ONIG_ENCODING_EUC_TW
  ONIG_ENCODING_GB18030
  ONIG_ENCODING_ISO_8859_1
  ONIG_ENCODING_ISO_8859_10
  ONIG_ENCODING_ISO_8859_11
  ONIG_ENCODING_ISO_8859_13
  ONIG_ENCODING_ISO_8859_14
  ONIG_ENCODING_ISO_8859_15
  ONIG_ENCODING_ISO_8859_16
  ONIG_ENCODING_ISO_8859_2
  ONIG_ENCODING_ISO_8859_3
  ONIG_ENCODING_ISO_8859_4
  ONIG_ENCODING_ISO_8859_5
  ONIG_ENCODING_ISO_8859_6
  ONIG_ENCODING_ISO_8859_7
  ONIG_ENCODING_ISO_8859_8
  ONIG_ENCODING_ISO_8859_9
  ONIG_ENCODING_KOI8
  ONIG_ENCODING_KOI8_R
  ONIG_ENCODING_UNDEF
  ONIG_ENCODING_UTF16_BE
  ONIG_ENCODING_UTF16_LE
  ONIG_ENCODING_UTF32_BE
  ONIG_ENCODING_UTF32_LE
  ONIG_ESCAPE_REGEX_T_COLLISION
  ONIG_IS_CAPTURE_HISTORY_GROUP
  ONIG_IS_PATTERN_ERROR
  ONIG_NORMAL
  ONIG_NULL_WARN
  ONIG_OPTION_MAXBIT
  ONIG_OPTION_OFF
  ONIG_OPTION_ON
  ONIG_RUBY_M17N
  ONIG_STATE_SEARCHING
  ONIG_SYNTAX_ASIS
  ONIG_SYNTAX_EMACS
  ONIG_SYNTAX_GNU_REGEX
  ONIG_SYNTAX_GREP
  ONIG_SYNTAX_JAVA
  ONIG_SYNTAX_PERL
  ONIG_SYNTAX_PERL_NG
  ONIG_SYNTAX_POSIX_BASIC
  ONIG_SYNTAX_POSIX_EXTENDED
  ONIG_TRAVERSE_CALLBACK_AT_BOTH
  ONIG_TRAVERSE_CALLBACK_AT_FIRST
  ONIG_TRAVERSE_CALLBACK_AT_LAST
  Ok
  OnigCaptureTreeNodeStruct
  OnigCompileInfo
  OnigEncodingBIG5
  OnigEncodingCP1251
  OnigEncodingEUC_CN
  OnigEncodingEUC_KR
  OnigEncodingEUC_TW
  OnigEncodingGB18030
  OnigEncodingISO_8859_1
  OnigEncodingISO_8859_10
  OnigEncodingISO_8859_11
  OnigEncodingISO_8859_13
  OnigEncodingISO_8859_14
  OnigEncodingISO_8859_15
  OnigEncodingISO_8859_16
  OnigEncodingISO_8859_2
  OnigEncodingISO_8859_3
  OnigEncodingISO_8859_4
  OnigEncodingISO_8859_5
  OnigEncodingISO_8859_6
  OnigEncodingISO_8859_7
  OnigEncodingISO_8859_8
  OnigEncodingISO_8859_9
  OnigEncodingKOI8
  OnigEncodingKOI8_R
  OnigEncodingTypeST
  OnigEncodingUTF16_BE
  OnigEncodingUTF16_LE
  OnigEncodingUTF32_BE
  OnigEncodingUTF32_LE
  OnigMetaCharTableType
  OnigRegex
  OnigRegexType
  Perl
  RMODULE
  RUBYSIG_H
  RUBY_EXTCONF_H
  RUBY_FIXNUM_FLAG
  RUBY_FL_EXIVAR
  RUBY_FL_FINALIZE
  RUBY_FL_FREEZE
  RUBY_FL_MARK
  RUBY_FL_RESERVED
  RUBY_FL_SINGLETON
  RUBY_FL_TAINT
  RUBY_FL_USER0
  RUBY_FL_USER1
  RUBY_FL_USER2
  RUBY_FL_USER3
  RUBY_FL_USER4
  RUBY_FL_USER5
  RUBY_FL_USER6
  RUBY_FL_USER7
  RUBY_FL_USHIFT
  RUBY_H
  RUBY_IMMEDIATE_MASK
  RUBY_INTERN_H
  RUBY_IO_H
  RUBY_METHOD_FUNC
  RUBY_MISSING_H
  RUBY_NODE_H
  RUBY_Qfalse
  RUBY_Qnil
  RUBY_Qtrue
  RUBY_Qundef
  RUBY_RE_H
  RUBY_ST_H
  RUBY_SYMBOL_FLAG
  RUBY_T_ARRAY
  RUBY_T_BIGNUM
  RUBY_T_BLOCK
  RUBY_T_CLASS
  RUBY_T_DATA
  RUBY_T_FALSE
  RUBY_T_FILE
  RUBY_T_FIXNUM
  RUBY_T_FLOAT
  RUBY_T_HASH
  RUBY_T_ICLASS
  RUBY_T_MASK
  RUBY_T_MATCH
  RUBY_T_MODULE
  RUBY_T_NIL
  RUBY_T_NODE
  RUBY_T_NONE
  RUBY_T_OBJECT
  RUBY_T_REGEXP
  RUBY_T_STRING
  RUBY_T_STRUCT
  RUBY_T_SYMBOL
  RUBY_T_TRUE
  RUBY_T_UNDEF
  RUBY_T_VALUES
  RUBY_UTIL_H
  RUBY_VM
  RUBY_WIN32_H
  R_CAST
  SEH
  SIZEOF___INT64
  STR2CSTR
  ST_DATA_T_DEFINED
  SUFFIX
  SYMBOL_FLAG
  S_IRWXG
  S_IRWXO
  S_IRWXU
  Structured
  T_NONE
  VER_PLATFORM_WIN32_NT
  VER_PLATFORM_WIN32_WINDOWS
  WSAAPI
  WSAEADDRINUSE
  WSAEADDRNOTAVAIL
  WSAEAFNOSUPPORT
  WSAEALREADY
  WSAECONNABORTED
  WSAECONNREFUSED
  WSAECONNRESET
  WSAEDESTADDRREQ
  WSAEDQUOT
  WSAEHOSTDOWN
  WSAEHOSTUNREACH
  WSAEINPROGRESS
  WSAEISCONN
  WSAELOOP
  WSAEMSGSIZE
  WSAENETDOWN
  WSAENETRESET
  WSAENETUNREACH
  WSAENOBUFS
  WSAENOPROTOOPT
  WSAENOTCONN
  WSAENOTSOCK
  WSAEOPNOTSUPP
  WSAEPFNOSUPPORT
  WSAEPROCLIM
  WSAEPROTONOSUPPORT
  WSAEPROTOTYPE
  WSAEREMOTE
  WSAESHUTDOWN
  WSAESOCKTNOSUPPORT
  WSAESTALE
  WSAETIMEDOUT
  WSAETOOMANYREFS
  WSAEUSERS
  WSAEWOULDBLOCK
  We
  _I64_MAX
  _I64_MIN
  _INTPTR_T_DEFINED
  _S_IFIFO
  _UINTPTR_T_DEFINED
  _WIN64
  __
  __BIG_ENDIAN__
  __arch64__
  __declspec
  __int64
  __isascii
  __linux__
  __sparc_v9__
  __sparcv9
  _c
  _commit
  _copysign
  _creat
  _f
  _filelength
  _fstati64
  _lseeki64
  _mktemp
  _o
  _pipe
  _scalb
  _sopen
  _stat64
  _stati64
  _stream
  _t
  _tell
  accept
  acs
  apply_all_case_fold
  callback_func
  cfunc
  compiled
  conflict
  connect
  copysign
  creat
  decl
  dllexport
  dllimport
  dln_libs_to_be_linked
  dta
  editing
  efds
  err_code
  fgetc
  fgetchar
  filelength
  files
  finally
  first_to_check
  flush_register_windows
  fputchar
  frl
  fseeko
  fsopen
  ftello
  get_case_fold_codes_by_str
  get_osfhandle
  getchar
  gethostbyaddr
  gethostbyname
  gethostname
  getpeername
  getprotobyname
  getprotobynumber
  getservbyname
  getservbyport
  getsockname
  getsockopt
  hostent
  inplace
  intrinsics
  intrval
  ioctlsocket
  is_mbc_newline
  isalnum
  isascii
  isprint
  isxdigit
  listen
  local_cnt
  mark
  max_enc_len
  min_enc_len
  mktemp
  nd_modl
  nd_rval
  nd_tag
  nd_var
  normal
  nuke
  num_of_elements
  onig_capture_tree_traverse
  onig_copyright
  onig_new_deluxe
  onig_recompile_deluxe
  onig_version
  pattern_enc
  pr
  protoent
  putchar
  rb_ary_from_values
  rb_ary_print_on
  rb_big2int
  rb_big2uint
  rb_check_array_value
  rb_class_of
  rb_defout
  rb_dvar_asgn
  rb_dvar_push
  rb_fd_select
  rb_fix_new
  rb_int_new
  rb_is_junk_id
  rb_length_by_each
  rb_mutex_synchronize
  rb_sym_interned_p
  rb_thread_start_1
  rb_thread_start_timer
  rb_thread_stop_timer
  rb_thread_trap_eval
  rb_type
  rb_uint_new
  rb_values_from_ary
  rb_values_new
  rb_values_new2
  rb_w32_accept
  rb_w32_bind
  rb_w32_connect
  rb_w32_fdclr
  rb_w32_fdisset
  rb_w32_fdset
  rb_w32_fstat
  rb_w32_fstati64
  rb_w32_getc
  rb_w32_getcwd
  rb_w32_getenv
  rb_w32_gethostbyaddr
  rb_w32_gethostbyname
  rb_w32_gethostname
  rb_w32_getpeername
  rb_w32_getprotobyname
  rb_w32_getprotobynumber
  rb_w32_getservbyname
  rb_w32_getservbyport
  rb_w32_getsockname
  rb_w32_getsockopt
  rb_w32_ioctlsocket
  rb_w32_listen
  rb_w32_putc
  rb_w32_recvfrom
  rb_w32_rename
  rb_w32_select
  rb_w32_sendto
  rb_w32_setsockopt
  rb_w32_shutdown
  rb_w32_socket
  rb_w32_socketpair
  rb_w32_stat
  rb_w32_strerror
  rb_w32_times
  re_pattern_buffer
  recvfrom
  regopt
  requires
  ruby_current_node
  ruby_exec
  ruby_posix_signal
  ruby_run
  ruby_set_current_source
  sbout
  scalb
  sendto
  servent
  sh
  sleep
  so
  sockaddr
  sopen
  statements
  stdint
  stdio_ext
  stream
  stricmp
  string_index
  strnicmp
  stubs
  target_enc
  these
  tl
  trap_immediate
  try
  using
  variable_in_this_stack_frame
  winsock2
  xmalloc2
  xrealloc2

Once words: 
  AF_UNIX
  ALT_SEPARATOR
  APPEND
  ARGF
  ARY_SET_LEN
  Aliases
  AllocationBase
  Almost
  Apr
  Arnold
  Atari
  BBUF_GET_BYTE
  BBUF_INSERT
  BBUF_MOVE_LEFT
  BBUF_SIZE_INC
  BDIGMAX
  BEGIN
  BINARY
  BIND_DEFERRED
  BITSET_CLEAR_BIT
  BITSET_INVERT_BIT
  BIT_CTYPE_ALNUM
  BIT_CTYPE_ALPHA
  BIT_CTYPE_ASCII
  BIT_CTYPE_BLANK
  BIT_CTYPE_CNTRL
  BIT_CTYPE_DIGIT
  BIT_CTYPE_GRAPH
  BIT_CTYPE_LOWER
  BIT_CTYPE_NEWLINE
  BIT_CTYPE_PRINT
  BIT_CTYPE_PUNCT
  BIT_CTYPE_SPACE
  BIT_CTYPE_UPPER
  BIT_CTYPE_WORD
  BIT_CTYPE_XDIGIT
  BSD_SIGNAL
  BYTEWIDTH
  B_BAD_IMAGE_ID
  B_BAD_INDEX
  Base
  BitOfIsDir
  BitOfIsRep
  Boolean
  CA
  CALL
  CC_DIFF_WC
  CFragConnectionID
  CFragSymbolClass
  CLEAR_ENV
  CMDARG_P
  CMDARG_POP
  COMPILE_NG
  COND_P
  CREAT
  CREATE_SUSPENDED
  CSIDL_PERSONAL
  CW_PERFILE
  CYGWIN_VERSION_DLL_MAJOR
  CharPrev
  Check_SafeStr
  Cheers
  CloseChildHandle
  CodeFragments
  Constants
  Count
  Create
  CreateChild
  CreateDirectory
  CreateHardLinkA
  CreateMutex
  DIRENT_PER_CHAR
  DISPATCH_XXX
  DLL_PROCESS_ATTACH
  DVARS_INHERIT
  DVARS_SPECIAL_P
  DVARS_TOPSCOPE
  DYNAMIC_ENDIAN
  Date
  DeleteFile
  Directory
  DllMain
  ENABLE_INTS
  ERROR_ACCESS_DENIED
  ERROR_ALREADY_EXISTS
  ERROR_ARENA_TRASHED
  ERROR_AUTODATASEG_EXCEEDS_64k
  ERROR_BAD_COMMAND
  ERROR_BAD_ENVIRONMENT
  ERROR_BAD_EXE_FORMAT
  ERROR_BAD_FORMAT
  ERROR_BAD_LENGTH
  ERROR_BAD_NETPATH
  ERROR_BAD_NET_NAME
  ERROR_BAD_PATHNAME
  ERROR_BAD_UNIT
  ERROR_BROKEN_PIPE
  ERROR_CANNOT_MAKE
  ERROR_CHILD_NOT_COMPLETE
  ERROR_CRC
  ERROR_CURRENT_DIRECTORY
  ERROR_DIRECTORY
  ERROR_DIRECT_ACCESS_HANDLE
  ERROR_DIR_NOT_EMPTY
  ERROR_DISK_FULL
  ERROR_DRIVE_LOCKED
  ERROR_DYNLINK_FROM_INVALID_RING
  ERROR_EXE_MARKED_INVALID
  ERROR_FAIL_I24
  ERROR_FILENAME_EXCED_RANGE
  ERROR_FILE_EXISTS
  ERROR_FILE_NOT_FOUND
  ERROR_GEN_FAILURE
  ERROR_INFLOOP_IN_RELOC_CHAIN
  ERROR_INVALID_ACCESS
  ERROR_INVALID_BLOCK
  ERROR_INVALID_DATA
  ERROR_INVALID_DRIVE
  ERROR_INVALID_EXE_SIGNATURE
  ERROR_INVALID_FUNCTION
  ERROR_INVALID_MINALLOCSIZE
  ERROR_INVALID_MODULETYPE
  ERROR_INVALID_PARAMETER
  ERROR_INVALID_SEGDPL
  ERROR_INVALID_STACKSEG
  ERROR_INVALID_STARTING_CODESEG
  ERROR_INVALID_TARGET_HANDLE
  ERROR_IOPL_NOT_ENABLED
  ERROR_ITERATED_DATA_EXCEEDS_64k
  ERROR_LOCK_FAILED
  ERROR_MAX_THRDS_REACHED
  ERROR_NEGATIVE_SEEK
  ERROR_NESTING_NOT_ALLOWED
  ERROR_NETWORK_ACCESS_DENIED
  ERROR_NOT_DOS_DISK
  ERROR_NOT_ENOUGH_MEMORY
  ERROR_NOT_ENOUGH_QUOTA
  ERROR_NOT_READY
  ERROR_NOT_SAME_DEVICE
  ERROR_NO_MORE_FILES
  ERROR_NO_PROC_SLOTS
  ERROR_OUT_OF_PAPER
  ERROR_PATH_NOT_FOUND
  ERROR_READ_FAULT
  ERROR_RELOC_CHAIN_XEEDS_SEGLIM
  ERROR_RING2SEG_MUST_BE_MOVABLE
  ERROR_SECTOR_NOT_FOUND
  ERROR_SEEK
  ERROR_SEEK_ON_DEVICE
  ERROR_SHARING_BUFFER_EXCEEDED
  ERROR_SHARING_VIOLATION
  ERROR_TOO_MANY_OPEN_FILES
  ERROR_WAIT_NO_CHILDREN
  ERROR_WRITE_FAULT
  ERROR_WRITE_PROTECT
  ERROR_WRONG_DISK
  EXPR_CLASS
  EXPR_MID
  EXPR_VALUE
  EnterCriticalSection
  Error
  FCALL
  FDEV
  FILENAME
  FILE_READPTR
  FILE_SHARE_READ
  FILE_SHARE_WRITE
  FILE_TYPE_DISK
  FIXME
  FIXNUM_MIN
  FL_USER0
  FL_USER4
  FL_USER5
  FL_USER7
  FMODE_SYNCWRITE
  FNM_ERROR
  FOPEN
  FORMAT_MESSAGE_ALLOCATE_BUFFER
  FP_X_DZ
  FP_X_INV
  FP_X_OFL
  FSMakeFSSpec
  FSSpec
  F_GETFD
  F_OK
  F_RDLCK
  F_SETFD
  F_SETLK
  F_SETLKW
  F_UNLCK
  F_WRLCK
  Filename
  FindChildSlot
  FindFirstChildSlot
  FindFreeChildSlot
  FindSymbol
  Fix
  Float
  FormatMessageA
  Free
  From
  GCDEBUG
  GC_GUARDED_PTR_P
  GENERIC_WRITE
  GETPGRP_VOID
  GET_BYTE_INC
  GET_CONTINUATION_FRAME_PTR
  GET_CURRENT_DYNAMIC
  GET_ENV_CTRL
  GET_OPERAND
  GET_REPEATNUM_INC
  GET_SP_COUNT
  GET_TOS
  Get
  GetBit
  GetCommandLine
  GetCurrentThreadHandle
  GetCurrentThreadId
  GetDiskFragment
  GetEnvironmentStrings
  GetFileInformationByHandle
  GetFileType
  GetHandleInformation
  GetLogicalDrives
  GetModuleFileName
  GetProcAddressA
  GetSystemTimeAsFileTime
  GetUserName
  GetVMPtr
  GetVersionEx
  HAS_KILLPG
  HAVE_ACOSH
  HAVE_ASINH
  HAVE_ATANH
  HAVE_CHROOT
  HAVE_COSH
  HAVE_DAEMON
  HAVE_DIRECT_H
  HAVE_DIRENT_H
  HAVE_EACCESS
  HAVE_FSYNC
  HAVE_GETCWD
  HAVE_GETTIMEOFDAY
  HAVE_GRP_H
  HAVE_INITGROUPS
  HAVE_ISNAN
  HAVE_ISSETUGID
  HAVE_LCHMOD
  HAVE_LCHOWN
  HAVE_LIMITS_H
  HAVE_LINK
  HAVE_LOCKF
  HAVE_LOG2
  HAVE_MKTIME
  HAVE_NANOSLEEP
  HAVE_NATIVETHREAD
  HAVE_NDIR_H
  HAVE_OFF_T
  HAVE_READLINK
  HAVE_SEEKDIR
  HAVE_SELECT
  HAVE_SELECT_LARGE_FDSET
  HAVE_SETGROUPS
  HAVE_SETITIMER
  HAVE_SETRLIMIT
  HAVE_SETSID
  HAVE_SINH
  HAVE_SOCKETPAIR
  HAVE_ST_BLKSIZE
  HAVE_ST_BLOCKS
  HAVE_SYMLINK
  HAVE_SYSCALL
  HAVE_SYSCALL_H
  HAVE_SYS_DIR_H
  HAVE_SYS_FCNTL_H
  HAVE_SYS_FILE_H
  HAVE_SYS_IOCTL_H
  HAVE_SYS_MKDEV_H
  HAVE_SYS_NDIR_H
  HAVE_SYS_SYSCALL_H
  HAVE_SYS_TYPES_H
  HAVE_SYS_WAIT_H
  HAVE_TANH
  HAVE_TELLDIR
  HAVE_TIMEGM
  HAVE_UTIMES
  HAVE_WAIT4
  HAVE__SC_CLK_TCK
  HAVE___LIBC_IA64_REGISTER_BACKING_STORE_BASE
  HMODULE
  HOME
  HUGE_ST_INO
  Hi
  How
  ID_INTERNAL
  ID_SCOPE_SHIFT
  IN
  INCL_DOS
  INSERT_ELEM_NEXT
  INSERT_ELEM_PREV
  INSN_ELABEL_
  INSN_LABEL_
  INT_MAX
  ISASCII
  ISEQ_ELEMENT_SEQ
  IS_CALL_NAME_REF
  IS_EVSTR
  IS_POSIXLINE
  Illegal
  Init_ID
  Init_test
  Initialization
  Initialize
  Invalid
  IsINF
  IsNANorINF
  Jaegermann
  LABEL_leave_
  LABEL_putnil_
  LABEL_putstring_
  LABEL_send_
  LIST_SIZE
  LPCRITICAL_SECTION
  LPITEMIDLIST
  LPMALLOC
  LPSTR
  LPTSTR
  L_CURR
  L_ERROR_ALIGN
  L_ERROR_ERRNO
  L_ERROR_FORMAT
  L_ERROR_MEMBER
  L_ERROR_NOLIB
  L_ERROR_RLDBAD
  L_ERROR_SYSTEM
  L_ERROR_TOOMANY
  L_ERROR_TYPE
  L_ERROR_UNDEF
  L_INCR
  L_XTND
  LeaveCriticalSection
  LoadLibraryA
  LocalFileTimeToFileTime
  MACOSX_DLOPEN
  MAJOR_VERSION
  MARSHAL_MAJOR
  MDT
  MINOR_VERSION
  MISSING_FCONVERT
  MISSING__DTOS18
  MODENUM_MAX
  Marshal
  NAMEBUF_SIZE
  NAMEBUF_SIZE_1
  NEED_ASSOC
  NEGFIXABLE
  NEW_ALIAS
  NEW_ATTRASGN
  NEW_ATTRSET
  NEW_BLOCK_PASS
  NEW_BMETHOD
  NEW_CLASS
  NEW_CVAR
  NEW_DASGN_CURR
  NEW_DEFN
  NEW_DEFS
  NEW_DOT2
  NEW_DOT3
  NEW_ENSURE
  NEW_ERRINFO
  NEW_EVSTR
  NEW_FOR
  NEW_GASGN
  NEW_GVAR
  NEW_IFUNC
  NEW_LVAR
  NEW_MODULE
  NEW_OPT_ARG
  NEW_POSTEXE
  NEW_PRELUDE
  NEW_REDO
  NEW_RETRY
  NEW_SCLASS
  NEW_SPECIAQL_BLOCK_ISEQVAL
  NEW_TO_ARY
  NEW_WHEN
  NEW_XSTR
  NIL_PLUS
  NOCTTY
  NOT_RUBY
  NSAddressOfSymbol
  NSCreateObjectFileImageFromFile
  NSIsSymbolNameDefined
  NSLinkModule
  NSLookupAndBindSymbol
  NSObjectFileImage
  NSObjectFileImageSuccess
  NT
  NTOMCZAK
  NUM2LL
  NUMBERED_CHAR_IS_NOT_CASE_AMBIG
  NXOpenFile
  NXStream
  NX_WRITEONLY
  N_ABS
  N_BADMAG
  N_BSS
  Now
  OLD_YACC
  OMAGIC
  ONIGENCERR_MEMORY
  ONIGENC_APPLY_ALL_CASE_FOLD
  ONIGENC_ASCII_CODE_TO_UPPER_CASE
  ONIGENC_CASE_FOLD_MIN
  ONIGENC_CTYPE_NEWLINE
  ONIGENC_ISO_8859_1_TO_LOWER_CASE
  ONIGENC_ISO_8859_1_TO_UPPER_CASE
  ONIGENC_IS_ALLOWED_REVERSE_MATCH
  ONIGENC_IS_ASCII_CODE
  ONIGENC_IS_CODE_SPACE
  ONIGENC_IS_CODE_UPPER
  ONIGENC_IS_UNDEF
  ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE
  ONIGENC_PROPERTY_NAME_TO_CTYPE
  ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE
  ONIGERR_END_PATTERN_AT_LEFT_BRACKET
  ONIGERR_NESTED_REPEAT_OPERATOR
  ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION
  ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR
  ONIGERR_TOO_BIG_BACKREF_NUMBER
  ONIG_CHECK_NULL_RETURN
  ONIG_CHECK_NULL_RETURN_VAL
  ONIG_DONT_OPTIMIZE
  ONIG_MAX_BACKREF_NUM
  ONIG_MAX_MULTI_BYTE_RANGES_NUM
  ONIG_META_CHAR_ANYCHAR
  ONIG_META_CHAR_ANYCHAR_ANYTIME
  ONIG_META_CHAR_ANYTIME
  ONIG_META_CHAR_ESCAPE
  ONIG_META_CHAR_ONE_OR_MORE_TIME
  ONIG_META_CHAR_ZERO_OR_ONE_TIME
  ONIG_OPTION_DEFAULT
  ONIG_OPTION_NEGATE_SINGLELINE
  ONIG_OPTION_NOTBOL
  ONIG_OPTION_NOTEOL
  ONIG_OPTION_POSIX_REGION
  ONIG_STATE_COMPILING
  ONIG_SYNTAX_DEFAULT
  ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY
  ONIG_SYN_OP_ESC_ASTERISK_ZERO_INF
  ONIG_SYN_OP_VARIABLE_META_CHARACTERS
  OPEN_MAX
  OPT_BASIC_OPERATIONS
  OPT_UNIFY_ALL_COMBINATION
  OSErr
  OUT
  OVERLAPPED
  O_SYNC
  O_TEXT
  OnigEncodingASCII
  OnigEncodingEUC_JP
  OnigEncodingSJIS
  OnigEncodingUTF8
  OnigSyntaxASIS
  OnigSyntaxEmacs
  OnigSyntaxGnuRegex
  OnigSyntaxGrep
  OnigSyntaxJava
  OnigSyntaxPerl
  OnigSyntaxPerl_NG
  OnigSyntaxPosixBasic
  OnigSyntaxPosixExtended
  OnigSyntaxRuby
  OpCode
  PATHLEN
  PATH_SEP
  PATH_SEPARATOR
  PRINTF_ARGS
  PRIO_PGRP
  PRIO_PROCESS
  PRIO_USER
  PTHREAD_COND_INITIALIZER
  PTHREAD_CREATE_DETACHED
  PTHREAD_INHERIT_SCHED
  PTHREAD_MUTEX_INITIALIZER
  PV_
  P_OVERLAY
  RBasic
  RDONLY
  RDWR
  REGERR_INVALID_WIDE_CHAR_VALUE
  REG_A
  REG_B
  RELOC_DISP8
  RELOC_EXTERN_P
  RELOC_WDISP22
  REVERSE_LIST
  RIPPER_VERSION
  RNode
  RSTRING_EMBED_LEN_MASK
  RSTRING_EMBED_LEN_SHIFT
  RUBYSHELL
  RUBY_ARCHLIB
  RUBY_DEFINES_H
  RUBY_EVENT_NONE
  RUBY_EXPORT
  RUBY_INIT_STACK
  RUBY_RELEASE_CODE
  RUBY_RELEASE_DAY
  RUBY_RELEASE_MONTH
  RUBY_SITE_ARCHLIB
  RUBY_SITE_LIB
  RUBY_SITE_LIB2
  RUBY_VERSION_CODE
  RUBY_VERSION_MAJOR
  RUBY_VERSION_MINOR
  RUBY_VERSION_TEENY
  RegionSize
  Release
  ResetEvent
  ResolveAliasFile
  ResumeThread
  SCCSid
  SCREG
  SECURITY_ATTRIBUTES
  SET_LFP
  SHGetMalloc
  SHGetPathFromIDList
  SHGetSpecialFolderLocation
  SHIFT_ELEMENT
  SHORTMASK
  SIZEOF_DOUBLE
  SIZEOF_FLOAT
  SIZEOF_OFF_T
  SIZE_OP_REPEAT_INC_NG
  SIZE_OP_STATE_CHECK_ANYCHAR_STAR
  SIZE_REPEATNUM
  SOCK_STREAM
  SOLARIS
  ST
  STACK_GET_MEM_RANGE
  STDC_HEADERS
  ST_DEFAULT_INIT_TABLE_SIZE
  SWAP_LIST
  SYNC
  S_IFCHR
  SetBit
  SetEvent
  SetFileTime
  SetThreadPriority
  Stat
  Str63
  SystemTimeToFileTime
  TAG_CONTCALL
  TAG_THREAD
  TEST_STRFTIME
  THREAD_PRIORITY_ABOVE_NORMAL
  THREAD_PRIORITY_BELOW_NORMAL
  THREAD_PRIORITY_NORMAL
  TM_IN_SYS_TIME
  TRUNC
  TYPE_BIGNUM
  TYPE_DATA
  TYPE_EXTENDED
  TYPE_FALSE
  TYPE_FIXNUM
  TYPE_FLOAT
  TYPE_NIL
  TYPE_OBJECT
  TYPE_PROCEDURE
  TYPE_STRING
  TYPE_TRUE
  TYPE_UCLASS
  TYPE_UNDEFINED
  TYPE_USERDEF
  TYPE_USRMARSHAL
  T_UNDEF
  TextUtils
  The
  To
  UAlberta
  UINT_MAX
  ULONG_MAX
  UNIX
  USE_BROKEN_XPG4
  USE_SETREGID
  USE_SETREUID
  USE_UNICODE_ALL_LINE_TERMINATORS
  USHORT
  UTF
  Unable
  Unknown
  UnlockFileEx
  VALID_CODE_LIMIT
  VCALL
  VMS
  VM_CALL_TAILRECURSION_BIT
  VM_CFP_CNT
  Version
  WAIT_ABANDONED
  WIN32_DEBUG
  WIN32_FIND_DATA
  WINBASEAPI
  WORD
  WRONLY
  WSABASEERR
  WSACleanup
  WSAEACCES
  WSAEBADF
  WSAEFAULT
  WSAEINTR
  WSAEINVAL
  WSAEMFILE
  WSAENAMETOOLONG
  WSAENOTEMPTY
  WaitForMultipleObjects
  WaitForSingleObject
  Wed
  When
  WinMain
  Winsock
  X3J11
  Y
  YARV_AOT_COMPILED
  YYDEBUG
  YYERROR_VERBOSE
  YYLEX_PARAM
  YYPARSE_PARAM
  YYSTACK_USE_ALLOCA
  YYSTYPE
  ZeroMemory
  _ANSI_SOURCE
  _BBuf
  _IEEE
  _IO_fpos_t
  _IO_read_end
  _IO_read_ptr
  _MAX_PATH
  _M_AMD64
  _M_AMD86
  _M_IX86
  _OnigStackType
  _SC_CLK_TCK
  _STDIO_USES_IOSTREAM
  _USE_LFN
  _USHORT
  __BOW__
  __DARWIN__
  __DECC
  __DragonFly__
  __GCC__
  __HIUX_MPP__
  __HP_cc
  __INTERIX
  __NEXT_INSN__
  __NO_ISOCEXT
  __OPENDIR_PRESERVE_CASE
  __QNXNTO__
  __SAPP
  __SMBF
  __SMOD
  __SNPT
  __SOFF
  __SOPT
  __SRD
  __START__
  __WATCOMC__
  __alloca
  __attribute__
  __cplusplus
  __crt0_glob_function
  __cygwin_perfile
  __dietlibc__
  __dpmi_int
  __dpmi_regs
  __hp9000s300
  __i386
  __mc68000__
  __mc68020__
  __opendir_flags
  __osf__
  __ppc__
  __sparc__
  _access
  _alloca
  _beginthreadex
  _chdir2
  _cnt
  _control87
  _dump_data
  _egptr
  _eof
  _execname
  _fdopen
  _fgetc
  _filbuf
  _flsbuf
  _fputc
  _fsopen
  _getcwd2
  _gptr
  _lbfsize
  _longjmp
  _macruby_init
  _macruby_path_conv_posix_to_macos
  _nec_ews
  _nfile
  _open
  _open_osfhandle
  _r
  _set_Creg
  _set_invalid_parameter_handler
  _state
  _stklen
  _unlink
  _vmsruby_init
  a_magic
  abs
  ackermann
  acos
  actual
  add_len_mml
  align
  all
  alt_klass
  alt_self
  always
  anymore
  ar_hdr
  ar_name
  architecture
  area
  arg_add_assocs
  arg_add_block
  arg_add_optblock
  arg_add_star
  arg_new
  arg_prepend
  argf_binmode
  argf_close_m
  argf_closed
  argf_each_byte
  argf_each_line
  argf_eof
  argf_file
  argf_filename
  argf_fileno
  argf_lineno
  argf_read
  argf_readchar
  argf_readpartial
  argf_rewind
  argf_seek_m
  argf_set_lineno
  argf_set_pos
  argf_skip
  argf_tell
  argf_to_io
  argf_to_s
  arglist_add
  arglist_add_star
  arglist_new
  arglist_prepend
  args2mrhs
  arnold
  asctime
  asin
  assert
  assert_Qundef
  assumes
  atan2
  atoi
  attempt
  audfax
  audiofax
  ax
  b64
  backtrace_symbols
  bare_assoc_hash
  bat
  bcc32
  before
  bigger
  bitset_set_all
  blksize
  blockdev
  blocks
  both
  bsearch
  bug
  builtins
  ca
  cached_const
  came
  ccommand
  change
  characters
  chardev
  chop
  chroot
  ci
  class_nest
  close_read
  close_write
  cmdglob
  code_to_mbc_first
  column
  commandline
  compile
  compiler
  compiles
  configration
  consider
  console
  context
  continuation_frame
  convert
  convex
  correct
  cos
  could
  course
  cygwin_internal
  d_ino
  daemon
  debug
  debug_cref
  debug_node
  deferr
  deferr_setter
  definition
  defout
  defout_setter
  depends
  dev_major
  dev_minor
  dirstr
  dispatch3
  dispatch4
  dispatch5
  dlerror
  dln_sym
  do_spawn
  doing
  dosmemget
  dot
  dpmi
  dpv
  dummy_gdb_enums
  dvar_curr
  dwOSVersionInfoSize
  dyna_var
  dynamic
  elsif
  emacs
  embedded
  emory
  enable
  enable_coredump
  encrypt
  end_seen
  errtab
  escape_Qundef
  exceed
  executable
  executable_real
  feeble
  fixing
  floating
  floatingpoint
  flonum
  flush
  for_iseq
  fork
  form
  fpgetmask
  fpsetmask
  freopen
  fspace
  ftruncate
  ftype
  function
  function_call_may_return_twice_false
  function_call_may_return_twice_jmp_buf
  gc_stress
  getgrnam
  getlogin
  getpgrp
  getppid
  getpriority
  getpwnam
  getwd
  global
  globbing
  gould
  gr_gid
  grabbed
  grp
  grpowned
  hashmask
  here_document
  heredoc_identifier
  idea
  image
  image_id
  incomplete
  initgroups
  ino
  ino_t
  input
  insn_ary
  insn_func_
  insn_operands_unification
  insn_pos
  insn_stack_increase
  instead
  instruction
  into
  intptr_t
  io_read_nonblock
  io_readpartial
  io_write
  is_attrset_id
  is_class_id
  is_const_id
  is_global_id
  is_instance_id
  is_junk_id
  is_mbc_ambiguous
  is_ruby_native_thread
  iseq_assemble_setup
  iseq_insn_data
  iseq_link_anchor
  issetugid
  kLoadCFrag
  kernel32
  know
  l_len
  l_start
  l_whence
  last_state
  launch
  lchmod
  lchown
  ldr
  libraries
  library
  lineno_setter
  little
  load_add_on
  loadbind
  loadquery
  local_tbl
  locate
  longjmp
  lose
  lpCriticalSection
  lvar_defined
  lvtbl
  make
  meets
  method_arg
  method_optarg
  mind
  mkdev
  mkdir
  mktime
  mrhs_new_from_arglist
  mswsock
  multiple
  multithread
  mutex_struct
  n_strx
  names
  names_clone
  nanosleep
  native_cleanup_pop
  native_cleanup_push
  native_thread_cleanup
  nd_frml
  nd_opt
  nd_orig
  nd_pid
  nd_resq
  nd_rest
  nd_super
  nd_tbl
  nfiles
  nil_plus
  nlink
  node_flags
  nostandard
  notdef
  nothing
  ntomczak
  nulls
  objc_msgSend
  objcdummyfunction
  octal
  onig_clone
  onig_copy_encoding
  onig_copy_syntax
  onig_end
  onig_get_capture_tree
  onig_get_case_fold_flag
  onig_get_default_case_fold_flag
  onig_get_encoding
  onig_get_match_stack_limit_size
  onig_get_options
  onig_get_syntax
  onig_get_syntax_behavior
  onig_get_syntax_op
  onig_get_syntax_op2
  onig_get_syntax_options
  onig_match
  onig_number_of_capture_histories
  onig_number_of_captures
  onig_recompile
  onig_region_new
  onig_region_set
  onig_set_default_case_fold_flag
  onig_set_default_syntax
  onig_set_match_stack_limit_size
  onig_set_meta_char
  onig_set_syntax_behavior
  onig_set_syntax_op
  onig_set_syntax_op2
  onig_set_syntax_options
  onig_set_verb_warn_func
  onig_set_warn_func
  onig_t
  onigenc_ascii_is_mbc_ambiguous
  onigenc_get_left_adjust_char_head
  onigenc_step_back
  onigenc_strlen_null
  openpath
  operand
  opt_aset
  opt_i_get
  opt_i_set
  optimization
  or
  os2
  own
  owned
  p2cstr
  parse_error
  parse_string
  parser_pragma
  parsing
  parsing_thread
  passwd
  pclose
  peek
  pieces
  pipe_atexit
  popen
  prep_stdio
  print_signal_list
  proc_dump_raw
  program
  prove_profile
  pthread_attr_destroy
  pthread_attr_setdetachstate
  pthread_attr_setinheritsched
  pthread_cleanup_pop
  pthread_cleanup_push
  pthread_cond_wait
  pthread_getschedparam
  pthread_join
  pthread_kill
  pthread_mutex_destroy
  pthread_mutex_init
  pthread_mutex_trylock
  pthread_setschedparam
  pure_parser
  push
  put
  puts
  quoted
  quotes
  r_index
  rawVALUE
  rb_apply
  rb_ary_freeze
  rb_ary_to_s
  rb_backtrace
  rb_blocking_function_t
  rb_catch
  rb_check_safe_str
  rb_check_type
  rb_compile_cstr
  rb_compile_file
  rb_compile_option_struct
  rb_const_defined_from
  rb_const_get_from
  rb_context_struct
  rb_cstr2inum
  rb_cv_get
  rb_cv_set
  rb_data_object_alloc
  rb_deferr
  rb_define_attr
  rb_define_class_variable
  rb_define_protected_method
  rb_each
  rb_errinfo
  rb_eval_string_wrap
  rb_f_lambda
  rb_f_test
  rb_fd_copy
  rb_file_atime
  rb_file_chmod
  rb_file_chown
  rb_file_ctime
  rb_file_flock
  rb_file_initialize
  rb_file_lstat
  rb_file_mtime
  rb_file_path
  rb_file_sysopen
  rb_file_truncate
  rb_fix2uint
  rb_fopen
  rb_gc_abort_threads
  rb_gc_mark_parser
  rb_gc_mark_symbols
  rb_generic_ivar_table
  rb_getc
  rb_gets
  rb_glob
  rb_gv_get
  rb_hash_freeze
  rb_hash_s_new
  rb_ia64_flushrs
  rb_io_addstr
  rb_io_bytes
  rb_io_close_m
  rb_io_close_read
  rb_io_close_write
  rb_io_each_byte
  rb_io_each_line
  rb_io_fcntl
  rb_io_fread
  rb_io_fsync
  rb_io_fwrite
  rb_io_init_copy
  rb_io_inspect
  rb_io_ioctl
  rb_io_isatty
  rb_io_lineno
  rb_io_lines
  rb_io_pid
  rb_io_printf
  rb_io_read_check
  rb_io_read_pending
  rb_io_readchar
  rb_io_readline
  rb_io_reopen
  rb_io_set_lineno
  rb_io_set_sync
  rb_io_stdio_file
  rb_io_sync
  rb_io_sysread
  rb_io_sysseek
  rb_io_syswrite
  rb_io_to_io
  rb_io_unbuffered
  rb_io_write_nonblock
  rb_iseq_profile_struct
  rb_iterator_p
  rb_kcode
  rb_load_protect
  rb_mark_hash
  rb_marshal_dump
  rb_marshal_load
  rb_mutex_new
  rb_need_block
  rb_num2ull
  rb_obj_infect
  rb_obj_method_arity
  rb_parser_compile_cstr
  rb_parser_end_seen_p
  rb_path2class
  rb_printf_sbuf
  rb_printf_sfile
  rb_prohibit_interrupt
  rb_read_check
  rb_read_pending
  rb_reg_mbclen2
  rb_reg_nth_defined
  rb_remove_method
  rb_secure_update
  rb_set_errinfo
  rb_stat_R
  rb_stat_S
  rb_stat_W
  rb_stat_X
  rb_stat_b
  rb_stat_c
  rb_stat_cmp
  rb_stat_d
  rb_stat_dev_major
  rb_stat_dev_minor
  rb_stat_f
  rb_stat_ftype
  rb_stat_init
  rb_stat_init_copy
  rb_stat_inspect
  rb_stat_l
  rb_stat_p
  rb_stat_r
  rb_stat_rdev_major
  rb_stat_rdev_minor
  rb_stat_s
  rb_stat_s_alloc
  rb_stat_sgid
  rb_stat_suid
  rb_stat_w
  rb_stat_wr
  rb_stat_ww
  rb_stat_x
  rb_stat_z
  rb_str2cstr
  rb_str2inum
  rb_str_dup_frozen
  rb_str_freeze
  rb_str_ptr
  rb_str_split
  rb_string_value_cstr
  rb_string_value_ptr
  rb_struct_alloc
  rb_sym_all_symbols
  rb_symname_p
  rb_thread_cleanup
  rb_thread_create_control_thread
  rb_thread_current_status
  rb_thread_synchronize
  rb_thread_wait_other_threads
  rb_throw
  rb_trap_exec
  rb_trap_immediate
  rb_uint2inum
  rb_ull2inum
  rb_vm_struct
  rb_w32_Sleep
  rb_w32_aspawn
  rb_w32_asynchronize
  rb_w32_close
  rb_w32_cmdvector
  rb_w32_fclose
  rb_w32_fdopen
  rb_w32_fopen
  rb_w32_fsopen
  rb_w32_getpid
  rb_w32_is_socket
  rb_w32_isatty
  rb_w32_join_argv
  rb_w32_mkdir
  rb_w32_osid
  rb_w32_pipe_exec
  rb_w32_read
  rb_w32_recv
  rb_w32_rmdir
  rb_w32_send
  rb_w32_snprintf
  rb_w32_unlink
  rb_w32_utime
  rb_w32_vsnprintf
  rb_w32_write
  rb_yield_splat
  rdev_major
  rdev_minor
  reached
  read_nonblock
  readable
  readable_real
  readlink
  redo
  reentrant
  referred
  release
  reloc_info_sparc
  remove
  reopen
  reserved
  restore
  rhash
  ripper
  ripper_id2sym
  ripper_id_gets
  ripper_intern
  ripper_yydebug
  ripper_yyparse
  rld
  rld_load
  rld_lookup
  rmdir
  ruby__end__seen
  ruby_brace_glob
  ruby_debug_gc_check_func
  ruby_debug_print_v
  ruby_getcwd
  ruby_init_ext
  ruby_init_stack
  ruby_nativethread_signal
  ruby_node_flags
  ruby_scan_hex
  ruby_scan_oct
  ruby_set_stack_size
  ruby_setregid
  ruby_setreuid
  ruby_special_consts
  ruby_stack_length
  ruby_strtod
  ruby_unsetenv
  ruby_value_flags
  ruby_value_type
  ruby_xcalloc
  ruby_xrealloc2
  ruby_yyparse
  sa_mask
  sc_insn_info
  sc_insn_next
  sched_get_priority_max
  sched_get_priority_min
  sched_param
  sched_priority
  sched_yield
  search
  see
  select_large_fdset
  separated
  setgroups
  setkey
  setpriority
  setproctitle
  setrlimit
  setsid
  setsockopt
  sgi
  sh_t
  shadowing
  share
  shl_load
  shl_t
  shlobj
  showcmd
  sigset
  sin
  snfprintf
  socketpair
  some
  spawnl
  spawnlp
  spawnv
  spawnvp
  special_consts
  split
  st_blksize
  st_blocks
  st_nlink
  st_retval
  stack_dump_th
  statement
  status_t
  stdaux
  stdcall
  stdprn
  sticky
  str_copy
  string_type
  strncat
  strtol
  strupr
  subvert
  sym_block
  sym_class
  sym_ensure
  sym_eval
  sym_method
  sym_rescue
  sysconf
  sysread
  sysseek
  syswrite
  tDirectory
  tHEREDOC_BEG
  tHEREDOC_END
  tRPAREN
  tSP
  tak
  tan
  tarai
  test
  than
  them
  this
  thread_dump_regs
  thread_dump_state
  throwdebug
  timegm
  tiny
  tm_name
  tm_tzadj
  tms_cstime
  tms_cutime
  tms_stime
  to_s
  to_str
  toklast
  toplevel_p
  tos
  trace_flag
  trailing
  tty
  tz_dsttime
  ualberta
  ungetc
  unification
  unlinked
  unterminated
  unused
  useless
  user
  utf8_code_to_mbc_first
  utf8_is_mbc_ambiguous
  utimes
  validate_object
  value_flags
  value_type
  vfprintf
  vtable_add
  vtable_alloc
  vtable_free
  vtable_included
  vtable_size
  wDay
  wDayOfWeek
  wHour
  wMilliseconds
  wMinute
  wMonth
  wSecond
  wYear
  wait4
  wait_each
  waiter
  waitpid
  wce_FreeCommandLine
  weak
  wildcard
  winbase
  wincon
  winerror
  world_readable
  world_writable
  writable
  writable_real
  write_nonblock
  wrong
  yarv_invoke_Range_each_special_block
  yarv_new_iseqval
  yarvcore
  yield

なかなか面白い。なんか、バグってるような気もするんだが。


おそまきながら、日経ソフトウェアを買ってみた。

RubyKaigi は JRuby 特集だったんだなぁ。

_5(Thu)

make test が全部パスするようになった。めでたい。

_斎藤ただし(Fri Jul 06 09:53:05 JST 2007)

 痛みに耐(中略)感動しました。まじです。

_3(Tue)

http://journal.mycom.co.jp/news/2007/07/03/002/index.html ポケモン映画って10年もやってるんですね。

といいたいわけではなく、開始と終了時の10分間に、WiFiでの通信がシステムに殺到するんですよね。システム障害なんて起こったらきっととんでもないわけで、やっぱり凄いなぁと思ったりした。


1400行 p :ok とやってみたら、27万行のCのコードになった。もうこれはダメだろ。たった1400行なのに!

で、それを gcc に食わせたらおわんねー。というか、gcc が core 吐いて止まった。しくしく。

これは、基本戦略を変えないといけないなあ。basic blockごとに、1関数にしてあげるしかないか。


http://d.hatena.ne.jp/bobbyjam99/20070703

Rails無しのRubyをどう使えばいいのだろう.う〜む.

素晴らしい。

_2(Mon)

ruby2cext を作っている(2sexpではない)んだけれど、"p :ok" というプログラムをCへ変換し、コンパイルしたらオブジェクトファイルが 30KB になった。もうちょっと減るかと思ったんだけどなあ。

"p :ok" を100行繰り返してみたら227KB。600Bが378倍。ううん、意味あるんだろうか、これ。ちなみに、変換後のCソースファイルの行数は2万行。100行が200倍か。

Sasada Koichi / sasada@namikilab.tuat.ac.jp
$Date: 2003/04/28 10:27:51 $