Ruby言語やLinuxのネタが多いです。
January 04, 2002 あけましておめでとうございます! [おもひで]
■ [Misc] 今年からtDiaryを使うことにしました
ツッコミを入れることができますので、感想や、もっと良い方法があるよ!と言ったことを残していただけるとうれしいです。
tDiaryを作られたただただしさんには、この場をお借りしてお礼申し上げたいと思います。
ちなみに、本ページを立ち上げるにあたってzt日記を参考にさせていただきました。
January 05, 2002 ruby-gettext-package [おもひで]
■ [Ruby] ruby-gettext-package
このライブラリはRubyに埋め込まれた文字列をL10N化したいときに使う。ソース中に以下のような文字列を書いておき、後で翻訳用のファイル(po,moファイル)を用意するだけで各言語に翻訳されて結果が出力される。
printf(_("Hello World\n")) → こんにちは、世界
他に%s, %d等を使うこともできる。(これらは、日本語用の翻訳ファイルを別途用意していることをイメージしてます)
num = 1
printf(_("The value is %d\n"), num) → 値は1です。
実は、Cのprintfでは、言語によって語順を変更することも考慮されていたりして、Rubyでも同様に使うことができる。詳しくはここの5.1.5章を参照。
ただ、Rubyでは、式展開(文字列の中に#{...}という形式で変数等を記述できる)ができてこれが非常に便利でかつ見た目にわかりやすい(printfでの%s, %dの羅列にうんざりしている人は特にそう思うかも)。例えば、上の例でいけば、
num = 1
printf("The value is #{num}\n")
こんな感じ。
でも、今のruby-gettextだと上記はサポートできてない、っていうか実はいろいろとやってみたのだけど、なかなか良い実装案が浮かばない。うーむ。#要は、式展開部分の評価されるタイミングがmsgidとして文字列を使う前になっちゃうのが問題なんだよな...。
January 09, 2002 RuWeex-0.7.0 is now available! [おもひで]
■ [Tools] RuWeex-0.7.0
めちゃくちゃ久しぶりですがRuWeexをバージョンアップしました。先日リリースしたRuby GetText Packageを利用して国際化(L10nですが)を図っています。っていうかRuby GetText PackageはRuWeexのL10n化のために作ったといっても過言ではありません(^^;)。
もし、日本語以外の言語を読み書きできる方がいたら、是非、メッセージカタログ(po/ディレクトリを参照してください)を翻訳して送っていただけないでしょうか?
あ、それから、英語の添削してくれる人もぼしゅーです(^^;)。
あ、もちろん、人柱になってくれる人もぼしゅーです、結構手を入れたので(^^;)。
January 12, 2002 ついに... [おもひで]
January 14, 2002 RuWeex-0.7.1 [おもひで]
■ [Tools] RuWeex-0.7.1
RuWeex-0.7.0の翻訳部分でさっそくバグを見つけましたのでバグフィクス版0.7.1を出しました。万が一(^^;)RuWeex-0.7.0をダウンロードしていただいた方がいたら、0.7.1をダウンロード&インストールしてください。
一応、翻訳部分を直すだけでは面白くないので、その他ちょこちょこといじってますんで、実は外見上はRuWeex-0.6.xから0.7.0へ移行したときよりも大きな変更になってたりします(^^;)。
そうそう、一部のGTK+テーマによって、ツールバーの部分の表示がおかしくなっていたことに今日気がついたのでその部分も直しておきました。結構、テーマによって変わっちゃうのね。とはいえテーマ別にデバッグしてられないし....。
January 19, 2002 FOMAまで待とうと思ってたのに.... [おもひで]
■ [Misc] SO503iS
あまりにもP501iがボロッちくなってしまったので、とうとう買い換えてしまった。FOMA端末がメジャーになってから機種変更しようと思ってたんだけど今の状況じゃちょっとね...。
にしても、なぜSO503iSという人もいるだろう。
そりゃぁ、元Java使い(つーか使われてただけだが)のオイラとしては、iアプリがたっぷり使えるF503iSにしようと思ったさ。
でも、現地に行って実際に手に持って見て、隣からおねいさんに「これだけ画面の色がきれいですよ〜」とささやかれたら、そりゃもうハートをがっちりつかまれてしまったわけさ。
でもなぁ。
携帯:SO503iS、デジカメ:DSC-P1、Palm:CLIE N700CとことごとくSONY製品でそろってしまったなぁ。
SONYに踊らされてる気もするが、ここまできたら、いっそのことVAIOとプレステ2とAIBOも買っちゃおっかな。
#そういや、親父には年末VAIOを買わせたな...。
January 23, 2002 今年はネットワークの勉強をしよう [おもひで]
■ [Tools] 時刻同期サーバ(NTP)の設定
前にも書いたがオイラはネットワーク系に弱い。あまりにも知識がなさすぎるのもイカンので、今年は少しずつ勉強していこうと思う。というわけで、今日は簡単そうなNTPサーバの設定をすることにした。
#TCP/IPの理解とかを後回しにするあたりがオイラらしい(^^;)。
ちなみに、NTPサーバの設定とっても簡単。Googleなんかで検索かけてもたくさん情報を検索できる。
ということで、ここに改めて書くまでも無いのだが、ま、一応、作業記録としてここに書いておくことにする。
まずは、xntp3パッケージがインストールされていることを確認(Kondara-1.2の場合)。入っていなかったらインストールする。
次に、/etc/ntp.confを編集。NTPの親サーバはこちらを参考にさせていただいてtracerouteのホップ数が少ないサーバを指定することにした。
server 130.69.251.23 server 133.31.180.6 restrict default notrust ignore restrict 127.0.0.1 mask 255.0.0.0 nomodify restrict 192.168.0.0 mask 255.255.255.0 nomodify restrict 130.69.251.23 nomodify restrict 133.31.180.6 nomodify driftfile /etc/ntp/drift authenticate noサーバは念のため2つ指定して冗長化している。IPアドレスはドメイン名(FQDN)でも良いみたいだが、ここではIPアドレス直にしている。
それから、restrict部分は簡単に言うと、ローカルネットワーク内とNTP親サーバ以外は無視するという指定だ。
続いてxntpd起動と動作確認をする。
# /etc/rc.d/init.d/xntpd start
# ntpq -p
remote refid st t when poll reach delay offset disp
==============================================================================
ntp.nc.u-tokyo. .GPS. 1 u 20 64 3 253.98 -14.098 7891.01
sutntp.sut.ac.j .GPS. 1 u 19 64 3 257.55 -14.050 7888.81
#
# chkconfig xntpd on # chkconfig --list xntpd xntpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
以下のようなスクリプトを/etc/cron.daily/syncclockに保存してchmodで実行権限もつける(chmod 755 syncclock)。
#!/bin/sh /sbin/hwclock -w
でも、オイラの場合は、毎日使うときに電源入れて使い終わったら電源を落とすという所謂パソコン的な使い方をしているので、朝4時に上記スクリプトが実行されることはメッタにない(^^;)。 というわけで、電源を落とすときにhwclock -wをかけるように/etc/rc.d/init.d/xntpdを以下のように編集する。
:
:
stop)
# Stop daemons.
/sbin/hwclock -w
:
:
これで、電源落とすたびにハードウェアクロックが更新されるわけだ。
