カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年
知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。
オブジェクト指向設計手法 Design Patterns(デザインパターン) のイメージサウンドの構築を目指したグループ。
Boom Boom Satellites を検索して放浪していたら発見。Iterator パターンのイメージ曲なるものが発表されてます。ややダーティ目の音色を使っている以外は Boom Boom Satellites というよりはゲームミュージックな曲調でした。
[ruby-list:39099] emacs 環境下での Ruby プログラムのリファクタリング支援。備忘録。
プログラミング言語は,ただ手順の表記法を提供するだけではなく,現実世界の把握方法(モデル)も提供している
習熟すれば誰にでも使える道具であるはずのプログラミング言語がしばしば、好き嫌いの対象として扱われる理由はここにあるのかもしれません。
d - バベル-17と名付けられた呪われたことばの魔法書

ウェブロについて考える。4@山田 BBS より。
文章構成はきちんとしているのに、言葉遣いが 2ch レベルというのが面白いです。それよりも kuro5hin って何と読むんでしょうか。
Wiki の方は普通に pukiwiki。ヘッドラインはスレッドのメタ情報を管理する仕組みの成果。マシン管理系の人手が増えて色々実験する余裕がでてきたようです。
何となく気になったのですが、ruby-m17n ってどんな仕様なのでしたっけ。Ruby/CHISE から辿れるページと cvs のソースが今ある情報源でしょうか。
例えば異種文字エンコードのオブジェクト同士を結合したいときに、Number サブクラス群の corece のように、相手を自分と同じクラスに変換するメソッドを呼ぶというような風だと楽そうな気がします(コード例)。きっとそういう気がするだけで、問題が増えたりするんでしょうね。大体こんな話は ML 調べればすでに議論してそうですね。
[コード例]
a = String::Shift_JIS.new('ほげほげ')
b = String::EUC_JP.new('ふがふが')
c = a + b
c.class #=> String::Shift_JIS
d = b + a
d.class #=> String::EUC_JP
「Firebird」から「Firefox」へ、Mozilla Firefox 0.8リリース@ /.-J より
Phoenix -> Firebird -> Firefox と名称がコロコロ変わっていますが、今回の名称変更はデータベースの Firebird のコミュニティから苦情が来たためとのこと。この名称の重複は Firebird に改名したときから言われていたことなので、このまま押し通すのかなと思ってました。
ダウンロードしようと試みましたが重くてだめですね。いつまでもこの状態ではないと思いますけれども、ring サーバにミラーされてから落とすのも良いかも。日本語化パッケージを公開している方もいます。素早い対応に感謝です。
リリースノート によれば 0.8 での見所は、ダウンロードマネージャ強化、履歴強化、拡張対応の強化、Windows 用の簡単インストーラ、MacOS X 用のテーマ、とのこと。あんまり強化ばかりしていると Mozilla 本家の二の舞ではと心配になります。
名称をめぐる事実関係に関しては c|net japan の記事に詳しいです。 Mozillaブラウザ、新名称は「Firefox」で落着
Rubyについて Part 7@2ch プログラム技術板のレス 348 より。
Ruby で作成されたテンプレートシステム。IPA の平成15年度未踏ソフトウェア創造事業のプロジェクトの「プレゼンテーション層を2つに分割した、Web用超高速テンプレートシステムの開発」の成果ですね。
Kwartz は、プレゼンテーションデータとプレゼンテーションロジックからなるテンプレートから、中間言語を介して各種言語(Ruby、PHP、JSP、eRuby、ERB、Velocity など)の出力用スクリプトを生成する戦略を採っています。
ロジックを記述するための中間言語を用意しているのが興味深いです。制御構文のキーワード(while など)がテンプレートに入るのはしょうがないのかな。Amrita のルールの少なさ・単純さを好んでいますので、移行するかどうかは分かりませんが、要チェックです。
Amrita と空要素タグの続きです。ソースを少し追いかけてみました。属性がない場合には終了タグが省略され、値が空ではない属性があると終了タグも出力されるようです(コードサンプル1)。
[サンプルコード1] amrita 1.8.2 使用
require 'amrita/template'
Amrita::TemplateText.new('<br>').expand(STDOUT, nil)
#=> <br />
Amrita::TemplateText.new('<img src="">').expand(STDOUT, nil)
#=> <img src="" />
Amrita::TemplateText.new('<img src="a.png">').expand(STDOUT, nil)
#=> <img src="a.png"></img>
内部の HTML パーサがテンプレートをコマンド(HTML 生成メソッドのコード)に変換しますので(template.rb:179)、上のサンプルコードの三つのテンプレートテキストは以下のコマンドになります。
e(:br) e(:img,:src=>"") e(:img,:src=>"a.png")
これがコンパイラにかけられ、VM 用のコードにさらに変換されるのですが、変換は convert_to_bytecode メソッドで行われます(compiler.rb:546、この場合は ElementCommon モジュール)。
e(:br) -> ByteCode::PrintStaticNode[ self ]
e(:img,:src=>"") -> ByteCode::PrintStaticNode[ self ]
e(:img,:src=>"a.png") -> ByteCode::Sequence[
ByteCode::ExtractData[exattrs],
ByteCode::MergeElement[self],
ByteCode::PrintDynamicElement[
ByteCode::ExtractData[exattrs],
ByteCode::MergeElement[self],
ByteCode::PrintDynamicElement[
body.convert_to_bytecode(compiler),
]
]
ということで、属性に値が存在する場合には生成される VM 用のコードが異なることが分かりました。これはテンプレートにて @ で始まる属性値を展開するためだと思います。
ここで力尽きたので続きはまた今度。
W3C 信者の心を忘れていたことに気付き、Another HTML-lint と The W3C MarkUp Validation Service を使って HTML を綺麗にしました。これで HTML 4.01 Strict のはずです。
Technorati という blog 向けサービスがあります。自分の blog がどこからリンクされているかを調べる、被リンク検索などを提供しています。これをプログラミング言語から利用できるようにした REST API も提供されており、Technorati Developers Site を見ると、Python Perl Java C# などの実装があるようです。
Ruby 版がないなあということで作りました。体裁を整えて RAA に登録します。現在は xml-simple を使ったざっくりとしたものですが、直接 REXML::StreamParser を使って、結果を使いやすいオブジェクトで返すようにしようと思います。
例えば、ひろゆき氏の元祖しゃちょう日記 の blog 情報を取得するには以下のように書きます。実行するには事前に API key を取得してください。
[サンプルコード] require 'pp' require 'technorati/api' technorati_api = Technorati::API.new(your_api_key) document = technorati_api.bloginfo( 'url' => 'http://blog.livedoor.jp/hirox1492/') pp document puts document['tapi']['document']['result']['weblog']['inboundlinks']
[結果]
{"tapi"=>
{"document"=>
{"result"=>
{"url"=>"http://blog.livedoor.jp/hirox1492",
"weblog"=>
{"inboundlinks"=>"101",
"rssurl"=>"http://blog.livedoor.jp/hirox1492/index.rdf",
"name"=>"元祖しゃちょう日記",
"url"=>"http://blog.livedoor.jp/hirox1492",
"inboundblogs"=>"61",
"lastupdate"=>"2004-02-10 17:37:13 GMT"}}},
"version"=>"0.9"}}
101
リリースしました。バグ報告やもっと使いやすくするための提案などありましたらコメントください。
DoubleType は TrueType フォントファイルを構築することができる、オープンソースでグラフィカルな書体デザイナです。
応援 age。DoubleType は部品を作成し、それを組み合わせて字体を作成していくようです。チューニング作業では文字ごとにバランスの調整をすることになると思いますので、文字ごとに部品のパラメタを上書再設定するような仕組みが必要になりそう。先はまだまだ長そうですが、これによって日本語のデザイナーズフォントがたくさん生まれると嬉しいですね。
卵が余ってたのでホットケーキを作ってみました。材料は卵と牛乳と森永のホットケーキの素。あまりかき混ぜなかったのでダマになっているかと思ったらそんなこともなく。ざっくりとかき混ぜた方が良いようです。形は悪いですが、ちゃんとお馴染みのホットケーキの味でした。
いつものように青画面が出たので再起動すると、D ドライブがまっさら。まるで未フォーマット状態になっていました。ファイルが壊れたりして、その兆候はあったのですが、こう思い切って全部消えるとは予想外でした。メールを保存しているドライブなのでこれは手痛い。
管理領域がおかしくなっていてもデータは残っているでしょ、ということでデータ復旧ソフトを使ってみることに。Vector に行って体験版があるものを適当に物色。売れ筋らしい FINALDATA 2.0 DELUXE はすげなく「D ドライブには何もない」と言われたのでステ。メルマガが愉快な 旧 SMI ことキヤノンシステムソリューションズの R-Studio データレスキュー PRO は UI がユーザフレンドリィではないパワーユーザ向けだったので期待したところ、スキャニングには成功。サルベージができるかどうかこれから試してみます。ちなみにドライブは Maxtor MXT-6Y120P0 です(だって安いし……)。
上述のソフトを使ってサルベージ完了しました。微妙にファイル数が減った気がするようなしないような。いずれ、もう少しましな HDD に買い換えます。
The (Poignant) Guide is a new approach to teahcing Ruby, emphasizing the lingual traits of Ruby and illustrating its uniqueness with comics, visual imagery, and songs with accompanying hand gestures.
Why's (Poignant) Guide to Ruby
YAML ライブラリの作者でもある Why さん入魂?のカートゥーンによる Ruby ガイドです。日本でやったら「萌たん」のノリで「萌るびぃ」とかになるんでしょうか。
ざっと読んでみました。語りが面白いです。読み物として楽しいプログラミングガイドって 256 本などがありますが、ああいうノリとも全然違います。ページが薄い大判白黒カラーの本が似合いそう。
GoogleのPageRank(TM)はサイトの評価としてよく使われますが、それをHiki上でもやってみようと思いました。
PageRankを計算するRubyプログラム
計算の過程を示して、pure ruby のコードを公開されています。計算をちゃんと追っていないのでとりあえずメモメモ。個々の Hiki 内ではなくて、複数の Hiki のページを PageRank 順に見れると便利かも。というか Wiki を対象とした検索エンジンがあればいいのかな。
こんな感じです。>わたなべさん (ってこんなところ見てないか)
#!/usr/bin/env ruby
require 'rss/1.0'
rss = RSS::RDF.new
rss.channel = RSS::RDF::Channel.new('http://dontstopmusic.no-ip.org/index.rdf')
channel = rss.channel
channel.title = "Don'tStopMusic"
channel.link = 'http://dontstopmusic.no-ip.org/'
channel.description = '日記'
title1 = 'title1'
link1 = 'http://dontstopmusic.no-ip.org/diary/20040221.html#p01'
desc1 = 'desc1'
title2 = 'title2'
link2 = 'http://dontstopmusic.no-ip.org/diary/20040221.html#p02'
desc2 = 'desc2'
ary = [ [title1, link1, desc1], [title2, link2, desc2] ]
channel.items = RSS::RDF::Channel::Items.new
ary.each do |title, link, desc|
# 代入で追加されます...
channel.items.Seq.li = RSS::RDF::Li.new(link)
item = RSS::RDF::Item.new(link)
item.title = title
item.link = link
item.description = desc
# 同上
rss.item = item
end
print rss.to_s
■■■3月発行予定書籍■■■
ISBN4-87311-174-9
Blog Hacks(仮)
オライリー・ジャパン -- 近刊案内
maonekoblog さんによると著者は宮川さん?どんな内容なんでしょうかね。
RSS リーダーなしでは生きられない体となってしまった今日この頃、はてなアンテナも RSS リーダーで見れるといいなと思いました。ということで、MoonWolf さんの Nora を使って、はてなアンテナのデータから RSS を生成するプログラムを作ってみました。Nora 0.0.20040216 にある typo を直して使ってますので、それが直ったバージョンがリリースされたら、体裁整えて公開します。
RSS 生成プログラムの本体は以下の通りです。Web::Robot::Hatena::Antenna が Nora の Web::Agent を使って、はてなアンテナからデータを取ってくるロボットです。出力例
#!/usr/bin/env ruby
require 'rss/1.0'
require 'rss/dublincore'
require 'uconv'
require 'web/robot/hatena/antenna'
def antenna2rss(username, password)
rss = RSS::RDF.new
rss.encoding = 'UTF-8'
rss.channel = RSS::RDF::Channel.new('http://dontstopmusic.no-ip.org/antenna/hatena.rdf')
channel = rss.channel
channel.title = Uconv.euctou8('星の下、空の上')
channel.link = 'http://a.hatena.ne.jp/nuna/'
channel.description = Uconv.euctou8('アンテナ')
channel.dc_date = Time.now
channel.items = RSS::RDF::Channel::Items.new
robot = Web::Robot::Hatena::Antenna.new(username, password)
robot.login
robot.detail.each do |record|
channel.items.Seq.li = RSS::RDF::Li.new(record.link)
item = RSS::RDF::Item.new(record.link)
item.title = Uconv.euctou8(record.title)
item.link = record.link
item.description = Uconv.euctou8(record.description)
item.dc_date = record.date
rss.item = item
end
rss
end
username = ARGV.shift
password = ARGV.shift
print antenna2rss(username, password)
よく考えたら自分のアンテナだけに限定する必要はないですね。公開アンテナからデータを取るメソッドを追加します。
ふと思い立って探したらすでにありました。うあーん。私の 3 時間を返してください。
Mozilla 1.7 のアルファ版がリリースされました。
リリースノートによれば、新しいことがいくつか。まず、ブラウザではポップアップ制御用のプロパティが増えて、細かく制御できるようになりました。また、ダウンロードしているファイルをスプールする場所が、ユーザが保存先として選んだところだったのが変更されたようです(IE では一時保存先に保存されたのちに移動されます)。それと、スムーススクロールの設定 UI が付いたとのこと。他、1.6 に比べてバイナリサイズが小さくなったりページのロード時間が短くなったりと性能面での細かい向上がある模様。ついでに、設定 UI からロケールの変更ができないバグが追加されたみたいです。斜め書きですので、詳細はリリースノートを参照ください。
ここまで来ると機能追加よりもバグフィックスが重要になっていると思うのですが、リリース時にはそれをあまり表立って書くこともできないのですよね。
しばらくさぼっていたら一月遅れになってます。追いつくまでサクサク紹介していきます。
コミットゼロのプロジェクトは省きます。
建設的な議論に発展してます。ROM 中。
すぐメタ言語がほしくなるのは我ながら悪い癖。blog ツールやらを見ていると、HTML よりももう少し抽象化(あるいは blog に特化)された言語を使ってウェブページの構造を定義できると便利なのではと思います。例えば、テーマ向けHTMLの構造図解が記述できるような言語です。プロセッサにかけると HTML と CSS のテンプレート が出力されるような使い方を想定しています。見た目の情報を含めるとなると、「結局コードと抽象度が同じな仕様記述言語」のジレンマに陥りそうなので落しどころが難しいですが。
余談の方にコメントをつけるのもなんですが。自分がほしいものが明確に分かっている人は少数なんだと思います。自分のフレーム(語彙というか認識体系というか)の中でしか要求を伝えられないわけですから。
a. 呪われていない仕様書と名付けられたパワーポイント文書
がほしかったのであって、
b. 呪われていない仕様書と名付けられた仕様書
は自分が読むべきものだとは認識していなかったのだと思います。面倒な話ですが。
rwiki に要望を書こうと思ったら freeze されてたのでここに書きます。knu さんのサイトへのリンクが /index.rdf で終わってます。
config.yml を見ると URI は更新チェックするページの URL みたいですね。サイトの URL はどうやって決めているのかしらん。
いつの間にか 2ch community が 100 人超えてますた。私は作っただけの人だけど、参加ありがとー。というか日本語が楽に書けるようにならないものでしょうかね。言葉の壁を作って欲しくないという意図もあるのかもしれませんが。
ソフトウェア板のFirefox スレのまとめサイト。Wiki なので誰でも更新可能。
ispell-3.2.06-r5 を emerge すると以下のようなエラーになります。
+ bison -y parse.y parse.y:676.17: syntax error, unexpected "|" parse.y:706.50-51: invalid $ value parse.y:706.50-51: $3 of `option_stmt' has no declared type parse.y:712.74-75: invalid $ value parse.y:712.74-75: $3 of `option_stmt' has no declared type + gcc -O -c y.tab.c gcc: y.tab.c: No such file or directory gcc: no input files + mv y.tab.o parse.o mv: cannot stat `y.tab.o': No such file or directory + rm -f y.tab.c + gcc -O -o buildhash buildhash.o hash.o makedent.o parse.o gcc: parse.o: No such file or directory make: *** [buildhash] Error 1 !!! ERROR: app-text/ispell-3.2.06-r5 failed. !!! Function src_compile, Line 38, Exitcode 2 !!! (no error message)
どうやら 1.35 よりも後のバージョンの bison だとビルドできないようです。まだ ~x86 ですが、ispell-3.2.06-r6 では byacc に変更されています。私は一時的に bison を 1.35 にして誤魔化しました :-p
ispell-3.2.06-r6 の ~ が外れました。ということでこの項は用無しです。
とうとう提訴ですか。。。(仮)の件のスレです。面白いくらいコピペ荒らしされてます。今回の件に限らず、個人で掲示板などを運営している方は裁判沙汰にならないように気をつける必要(というか責任というか)があるのでしょうね。何とか法もありますし。しかし、ますます言いたい放題したいときには 2ch という傾向が強まるような。
で、2ch のウェディング関係スレ
今のところ削除要請はないみたい。
最近のコメント:
RSS
![]()
This work is licensed under a
Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).
_ kawaji [http://blog.bulknews.net/cookbook/ かな?]
_ だて [そういう感じの内容みたいですね。 某技術系blogerとの共著という噂も聞きました。]