忘れたときに備えた記録

トップ 最新 追記
2005|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|11|12|
2009|01|02|03|04|05|06|10|12|
2010|06|07|08|12|
2011|07|09|
2012|09|11|
2013|02|03|09|
2015|10|11|
2016|01|08|11|
2017|02|08|10|
2018|11|

2006-11-15(Wednesday)

MathMLライブラリの更新

一通りの作業が終わってからまとめて公開〜とか思っていたのですが、思いのほか作業が遅れてしまっているので、とりあえず終わっている分だけお知らせすることにしました。

最近の変更点

MathMLライブラリのファイル名が変わりました

Ruby on Railsで使うことを念頭に、従来 mathml.rb だったのを math_ml.rb に改名しました。

これに伴い、tDiary、Hikiのmathmlプラグインの内容も変わりました(requireするファイル名を変更)。

マクロのnewcommand、newenvironment命令でオプションが使えるようになりました
\newcommand{hoge}[2][fuga]{#1#2}

とかできるようになりました。

その他

テスト用のソースファイルをいじって、テスト用サブルーチンを分離しました。一番上のディレクトリがずいぶんごちゃごちゃとして来てしまったのですが、これは後日改めて何とかする予定です(汗

入手方法

Subversionのリポジトリから手に入れる場合は、URLが

になっています。

また、現時点でのスナップショットを

に置いてあります。これらは、リポジトリからダウンロードできるファイルをそれぞれtarボールの形でまとめたものになっています。従って、x-hiki、x-tdiaryでは、中にlibディレクトリがありますが、そこにMathMLライブラリは入っていません。

Tags: 開発版

驚愕の新事実

僕の家ではパソコンを2台使っていて、1台はPentiumD820を載せたWindowsマシンで、もう1台はSempron 2500+を載せてDebianをインストールしている。

去年の6月から使い始めたこのSempronマシン、起動するときの画面でCPU情報を表示するときに"AthronXP 1050MHz"と表示していて、「なるほど、SempronはAthronの廉価版だからこういう表示なのか」と深く考えもせずに納得していた。

ところが今日、何気なくWikipediaのSempronのページを見て、とんでもないことに気が付きいた。Sempronは一番遅いものでも1.4GHzで動くというのだ。

まさにこんな心境

( ゜д゜)

(つд⊂)ゴシゴシ

(;゜д゜)

(つд⊂)ゴシゴシ
  _, ._
(;゜ Д゜)

BIOSの設定を色々試したり、オーバークロックの設定をいじってマシンが起動しなくなり慌てたりと散々調べた挙句、マザーボードのディップスイッチが不適切な方に入っているのが原因と分かった。

GIGABYTEのGA-7VT880-Lというマザーボードなのだが、FSBが200MHz固定で動くモードと、それ以上のFSBを自動的に選択して動くモードが件のスイッチで切り替わるというもので、これが200MHz固定の方に入っていたのだな。

Sempron 2500+のFSBは333MHzなので、かれこれ1年以上、2/3の性能で使っていたわけ。

スイッチを切り替えると、無事、起動画面で AMD Sempron(tm) 2500+ と表示されるようになった。

ちなみに、今までの設定でMathMLライブラリのテストを実行すると

Loaded suite math_ml_test
Started
...............................................
Finished in 0.684268 seconds.

47 tests, 423 assertions, 0 failures, 0 errors

となっていて、新しい設定だと

Loaded suite math_ml_test
Started
...............................................
Finished in 0.434435 seconds.

47 tests, 423 assertions, 0 failures, 0 errors

と、きっかり1.5倍の速さで動いているのがわかる。

この1年間の待ち時間の約1/3は待たなくてもいい時間だったわけだ。あぁ〜なんてこったい。

ちなみに

ちょっと面白いなと思ったのが、CPUが文字列として返していると思われる名前。起動時の画面とか、/proc/cpuinfoとかで表示されるやつのこと。

FSB200MHzのときは"Athron XP 1050MHz"だったのが、FSBを333MHzにしたら"Sempron 2500+"となった。また、設定をいじって動作周波数を手動で変えていたときに、"Athron XP 1800+"だったかな?とにかく、そんな文字列が表示されたこともあった。周波数だけではなく、名前自体が変わっている。

ということは、動作周波数に対応するCPUの名前一覧を持っているんだろうか。


2006-11-23(Thursday)

rescue 修飾子で複数の文を実行

こんな風に書けると知った。

#!/usr/bin/env ruby
v = open("no file") rescue("a"; "b"; "c")
puts v

vには"c"が入る。

Tags: Ruby

2006-11-26(Sunday)

正規表現の(?!)は後方参照を伴わない

#!/usr/bin/env ruby
puts /(?!1)|(1)/=~"1"
puts $1
puts $2

こういうサンプルを実行すると、

0
1
nil

こうなる。

これは、$1に(1)の括弧にマッチした部分が代入されていることを示していて、つまり(!?1)は後方参照や$nで扱う部分には含まれない。

Tags: Ruby

2006-11-27(Monday)

2.0.3

昨日公開されたtDiary2.0.3にあわせて、ここで公開しているパッチも修正しました。

disp_referrer.rbへのパッチは取り込まれていたので削除し、他のパッチについてはそのまま当たるものはそのまま、行が変わってて警告が出るものは作り直しをして置いてあります。

Tags: tDiary

やられた〜

tDiaryのアップデートをしたときにスパムフィルターをコピーし忘れたら、さっそくツッコミスパムを食らってしまった。対応が早いなぁ