Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき
[go: Go Back, main page]

«前4日分 追記

Matzにっき

<< 2006/09/ 1 1. RFC4627 JSON
2. Author Interviews: Hal Fulton - The Ruby Way
3. 新たな技術を確たるビジネスに変える−スタートアップ企業の聖地オレゴン
4. Joel on Software: Language Wars
2 1. Ruby for Symbian
2. U-20プログラミングコンテスト最終審査会
3. Symbol as subclass of String
4. nil.to_s
5. 遅れても困る人はいない , リリースは政治パフォーマンスなんだよ。
6. OSX 10.3とRuby 1.8.0
3 1. しまねOSS協議会 設立記念イベント
2. 来客アリ
4 1. オープンソースで地域振興を目指す「しまねOSS協議会」が発足
2. 軽量からアジャイルへ
3. sumim’s smalltalking-tos - Smalltalk の nil とその振る舞い
4. Railsトレーニングプログラム、三回目
5 1. 2.5" HDD 160GB
2. 打ち合わせ
3. RFC2822, RFC3339
4. Joel on Ruby
6 1. Boxing in the LLRing
2. SRA OSS、Sylpheedの開発を全面的に支援
3. フューチャーシステム、Ruby 非同期処理ライブラリ「AP4R」を OSS として公開
7 1. HDD 引っ越し
2. 熱力学とガベージコレクション
8 1. 【ストリーミング】 Lightweight Language Ring(LLRing) -Blood Sweat & Code
2. Sun Officially Backs Ruby, Brings JRuby In-House
3. オープンソースマガジン11月号
4. Parsing expression grammar
9 1. ステーク大会
2. M17N
10 1. 後期ステーク大会
2. 一族集合
11 1. www.ruby-lang.orgリニューアル
2. KDDI研、XMLの高圧縮技術を開発−EZニュースフラッシュで活用
3. Pnuts Addict: I don't need invokedynamic
4. カール、リッチクライアント開発言語の無償版「Curl/Personal」を公開
12 1. 日経Linux 2006年11月号
2. Quilt
13 1. Ruby公式サイトがリニューアル,tDiaryからRailsベースCMSに:ITpro
2. mwheel, mouse-avoidance
3. Joel on Software: Ruby Performance Revisited
4. WEB2.0がRubyを選んだ理由:ITpro
14 1. James Gosling: The Black Hole Theory of Design
2. 「曇りガラスに描いた絵から水滴がぽたり」--経産省の20歳以下限定プログラミング・コンテスト,最優秀賞決定
3. がんばれ“プログラマの味方”ボーランド
4. fontconfig, fontconfig-config
15 1. The Universe of Discourse : Design patterns of 1972
2. PythonSpeed
3. HAML: A new view template language for Rails on Ruby on Rails softlogger
4. 『ホーム・アローン3』
16 1. フリーマーケット
2. Geeksなら注目のサイトruby-lang.orgに採用されたCMSの実力は?
17 1. バーバルとノンバーバル
18 1. The Fly
19 1. fontconfig
2. StGIT
3. Symbol as String (2)
20 21 22 23 24 25 26 27 28 29 30 >>
Dr.Web 予測するアンチウイルス 販売開始一周年!
ユーザ・サーバ数が無制限のライセンスも低価格でご利用いただけます。

2006-09-19 [長年日記]

_ fontconfig

先日来の問題は要するに今までよりも積極的に埋め込みビットマップフォントを使うようになった ということらしい。で、ビットマップフォントとアウトラインフォントでウェイトが ずいぶん違うのが気持ち悪い(ボールド好き)。

などとぐちぐち言っていたが、どのXMLファイルを設定したらよいのか途方に暮れていたら、 武藤さんのところに ヒント(というか解答そのもの)が。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font" >
  <edit mode="assign" name="embeddedbitmap">
   <bool>false</bool>
  </edit>
 </match>
</fontconfig>

こいつを.fonts.confに入れて元通り(ちょっと違うような気もするけど)。

_ StGIT

先日断念したQuiltをGITをバックエンドとして実装したもの。 これはいい。Quiltではできなかった以下のことができる

  • うっかりパッチセットを作り忘れてても後から対応できる
  • upstreamとのマージを明示的に行うコマンドがある
  • マージした結果、空になったパッチセットを自動で削除できる
  • 矛盾解消を行うコマンドを設定可能

これを使えば、ネットにつながらない時でも自由にハックして、 その結果を(パッチセットごとに名前を付けて)保存できる。 また、ネットにつながった時に、upstreamとマージして、 パッチセットごとにコミットできる。

StGITの導入方法は以下の通り。

  • .gitを導入する。私は以前にtailorで インポートしていた.gitを使ったけど、gitを直接使ってimportしても良いだろう
  • stg initコマンドを実行

ローカルで編集する場合には(個別の修正ごとに)

  • stg newでパッチセットを作る
  • 編集が終ったらstg refreshでチェックイン

upstreamからマージするためには

  • stg pop -aで全パッチセットを一回取り除く
  • stg newでマージ用パッチセットを作る
  • cvs updateで取り込んでくる
  • stg refresh
  • stg commit

upstreamにコミットするためには

  • stg pushでパッチを当てる
  • コンフリクトがあれば(Rubyの場合、ChangeLogが絶対コンフリクトする)、編集
  • cvs ci -m ...
  • stg refresh
  • stg commit

で、これだとちょっと手順が繁雑なので以下の三つのシェルスクリプトを作った。

stgnew
パッチセットの名前を考えるのが面倒な時に時刻からパッチセット名を作りstg newするスクリプト
stgpull
upstreamからマージする一連の手続きを一度に行うスクリプト
stgpush
手元の変更をupstreamにコミットするスクリプト。ChangeLogのdiffからcvs logを抽出する機能付き。

各スクリプトの実装は宿題とする...なんてね。反響が大きければ公開しよう。 それぞれ小さなスクリプト(stgnew4行、stgpull13行、stgpush28行)だけどね。

_ [Ruby] Symbol as String (2)

で、StGITのおかげでRubyをハックしたい気持ちが増大した。

で、今回はStringのサブクラスとなったSymbolについて。 いろいろな選択肢があり得たのだが、さんざん考えた結果、

  • SymbolはStringのサブクラス
  • Hash的にはSymbolとStringは同一視される(互換性については申し訳ない)
  • Symbol#hashおよびSymbol#eql?はSymbolに対して高速に実行されるように最適化
  • Symbolに対する操作の結果はString。これはSmalltalkでもそうであった。

とした。 全体にSqueakの動作に近づいたことになるのかなあ。


2006-09-18 敬老の日 [長年日記]

_ The Fly

娘の学校の先生が授業中「The Fly」に言及したらしい。 どんな文脈だったのか興味があるのだが、 それはともかく「見たい」というので借りてくる。

ついでに「ホームアローン」も借りようと思ったが、 それは貸し出し中。同じことを考える人は多かったらしい。

で、みんなで(恐いのが嫌いな次女は遠慮した)鑑賞。 ....、さすがクローネンバーグ。趣味の悪さは一級品である。


2006-09-17 [長年日記]

_ バーバルとノンバーバル

教会ではいろいろな方の貴重な話が聞けたが、 そこに交じって私も話す必要があった。

その時にはかならずしも十分に伝えられたとは思えないのだが、 伝えたかったことを(宗教色を薄めて)再度まとめてみる。

前提

バーバルコミュニケーションとは言葉によるコミュニケーションである。 話すとか書くとか、そんなの。対するノンバーバルコミュニケーションは、 言葉によらないコミュニケーションね。

伝わらないノンバーバルコミュニケーション

「子供は親の背中を見て育つ」とか「男は背中で語る」とかいうのは ノンバーバルコミュニケーションである。なんかカッコいいけど、 実際にはノンバーバルコミュニケーションはえらく効率が悪い。 業界的な表現をすると大域幅帯域幅が狭い。

ノンバーバルコミュニケーションでは、伝えたいことが そもそも伝わらないことも多いし、たとえなんらかの情報が伝わったとしても 本人が意図している通りに伝わることはまれで、むしろ大幅にノイズが入っていると 考える方が自然だ。コミュニケーションに、そういう品質の低いチャネルを使っていると、 誤解、行き違い、不満などは頻発する。

幸せな生活のためには伝えたいことはちゃんと言葉にして伝えよう。 ここでの原則は「言わないことは伝わらない」である。

少ないが重いノンバーバルコミュニケーション

では、ノンバーバルコミュニケーションは役に立たないか、というと全然そんなことはない。

帯域幅が狭いということは伝送できる情報が少ないということだが、 それそのものはチャネルの性質で問題ではない。 問題はノンバーバルコミュニケーションでバーバルコミュニケーションと同等の情報量を伝達しようというところにあるのだ。それは無理な相談である。

私の知人の調べによると、両親との折り合いが悪い子供の大半が持つ不満は 親の言ってること(バーバル)と実際の態度(ノンバーバル)が食い違っていることなのだそうだ。 別に知人はまじめに統計をとったわけではないが、話半分としても共感できる。

人間は嘘をつく。言葉で嘘をつくのは非常に簡単だ。 悪意のある嘘以外にも「建前と本音」のような嘘もある。

一方、言葉を使わない嘘は、不可能ではないものの、言葉の嘘よりもずっと難しい。 そのせいか、言動不一致があると、態度によって示されるものの方が受け入れるものらしい。 ああ、本当はそう思ってるんだな、と。

ノンバーバルコミュニケーションは少ない情報しか伝えることができないが、 伝わる少ない情報には大変大きな意味がある。 つまり、伝わった情報はバーバルコミュニケーションによる情報よりも「重い」と言える。

ここでの原則は「言行一致重要」である。

まとめ

「言葉で伝え、態度で追認する」。子育てにあっても、人に接するにあたっても そういう生き方で望みたいものだ(まだ、できてないけど)。

信仰も、それと同様に、行いを伴わなければ、それだけでは死んだものである。
しかし、「ある人には信仰があり、またほかの人には行いがある」と言う者があろう。それなら、行いのないあなたの信仰なるものを見せてほしい。そうしたら、わたしの行いによって信仰を見せてあげよう。

[ヤコブの手紙 2:17,18より引用]

本日のツッコミ(全4件) [ツッコミを入れる]

_ j-kon [大域幅は帯域幅の事でしょうか?]

_ まつもと [その通りです。直しました。]

_ katsuwo [細かいことですが、もう一箇所あるようです。 > 大域]

_ まつもと [どうもです。直しました。]


2006-09-16 [長年日記]

_ フリーマーケット

中学校の運動会が台風で中止になったので、 妻がかねてから行きたいと言っていたフリーマーケットに参加。

環境関連のイベント(名前忘れちゃった)の一部だったのだが、 私としてはフリーマーケットよりも環境関連発表の方が面白かった。 知り合いや取引先が出展してたりして、ちょっと気恥ずかしかったけど。

_ [Ruby] Geeksなら注目のサイトruby-lang.orgに採用されたCMSの実力は?

MYCOMジャーナルでRadiantが取り上げられている。 キャッチアップが速い。

最近、MYCOMにイイ感じの記事が増えているような気がする。 いや、Rubyが取り上げられたから言うわけじゃないけど。



RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.