« 2005年5月 | トップページ | 2005年7月 »
(サイドバーの「読んだもの」より移動)
海軍ネタに合わせてこの blog のデザインを【水兵さん】にしたのですが……このデザイン、(文字色はしっかり指定されているのに)背景色の指定がされていないような。
まあ普通の人は Web ブラウザのデフォルト背景色は白に近い色に指定している(ちなみに私はクリーム色)でしょうからそれで読めなくなるという事は無いでしょうけれども、みっともなくはあります。つーか、こんな初歩的なミス、作者はともかくココログの運営の方ではチェックしないのかな?
加えて、
3列、2列左 では表示されるサイドバー下の船の画像が 2列右 では表示されない。(2列右 でもスタイルシートを OFF にすると何故か出現するので存在しないわけではないようですが)
その船の画像の中が中途半端な形の透明色でくり抜かれている。
(背景色を黒に指定して表示したもの)
なんて問題もあります。
『100%ORENGE』によるリッチテンプレートって季節ネタを取り入れてくれるので積極的に使いたい所なのですが、こういう基本的な所がなっていないと使うのに不安になってしまいます。(たまたま見つけた不具合でもこれだけ出ているのですから……)
(サイドバーの「読んだもの」より移動)
イラスト:渡辺文也 HP 『das GALLERY』
出版:コスミック出版
(サイドバーの「読んだもの」より移動)
焼きそば鍋
湯どうふ
海草鍋
4話、5話と「……で?」としか言いようの無い話が続き。6話でやっと
の文言が出てかろうじて面目を保ちましたが。でもギャグは薄いしドラマは無いしキャラが強烈なわけでもなし。1キャラにつき十数時間をヒロインとの日常に費やしても無問題なADVと全26話あるとは言え所詮は30分自動進行でしかないアニメとは話自体を変える必要があると思うのだけれども……今の所は「典型的な恋愛ゲーム」から無造作にネタを引用して来ただけの代物に見えます。「物語」としての醍醐味は無し。
(少なくともPCの)恋愛ADVにおいては「話」というのは必要無いのですよね。「原因→結果」の脈絡をプレイヤーが(擬似的にでも)操作できれば作品として成立する。全てのコンピュータ・ゲームは本質的に「シミュレーションゲーム」なのでそのロジックが成立していればOK。でもアニメというのは所詮「語られるもの」。攻略見ながらでのADVのプレイのつまらなさ、という問題。
まあ現在のテレビアニメというのはマルチメディア展開での「共通了解項」を提示出来れば義務は果たしているのでしょうし、その点から言えば「物語」としてのダイナミズムを犠牲にしても各ヒロインを等分に「紹介」しているこのアニメは必要充分なのかもしれませんけれども。
(サイドバーの「読んだもの」より移動)
Python スクリプト。
u'''trackbackcheck.py
ココログの記事へのトラックバック一覧を取得し、その記事
(あるいはトップページ)へのリンクの有無を表示する。
''' import xmlrpclib
import time
import datetime
import calendar
import urllib
import htmllib
import formatter
import account #以下の形式のモジュールを作って同一フォルダに置く ### account.py
##URL = 'http://tuchinoko.moe-nifty.com/oboegaki/' # あなたのココログ URL
##ACCOUNT = 'hoge' # ココログアカウント
##PASSWORD = '????????' # パスワード
__author__ = 'kadotanimitsuru' __date__ = '2005-06-19' __license__ = 'public domain' __version__ = '1.0.0' _MAXTITLES = 0 # 取得する記事の最大数。0 だと限界無し(?) class _MovableType(object):
u'''
Movable Type XML-RPC API を仮想化する
参考:Movable Typeユーザー・マニュアル: プログラミングインターフェイス
http://www.movabletype.jp/manual/mtmanual_programmatic.html
''' def __init__(self, url, account, password):
self.URL = url
self.ACCOUNT = account
self.PASSWORD = password
self.server = xmlrpclib.ServerProxy(self.entrypoint)
for i in self.server.blogger.getUsersBlogs("", account, password):
if i['url'] == url:
self.blogid = i['blogid']
self.blogName = unicode(i['blogName'])
break else:
raise '%s not found.' % url
self._dounload_posts()
def _dounload_posts(self):
u = self.server.blogger.getUserInfo('', self.ACCOUNT, self.PASSWORD)
self.nickname = unicode(u['nickname'])
print self.nickname, "'s blog:", self.blogName
posts = self.server.metaWeblog.getRecentPosts(
self.blogid, self.ACCOUNT, self.PASSWORD, _MAXTITLES)
print '%d posts.' % len(posts)
self.posts = []
for post in posts:
pings = self.server.mt.getTrackbackPings(post['postid'])
if pings:
for i in pings:
pingurl = i['pingURL']
a = get_anchorlist(pingurl)
if post['link'] in a or self.URL in a:
i['link'] = True print 'o',
else:
i['link'] = False print 'x',
post['trackbackPings'] = pings
self.posts.append(post)
else:
print '.',
print '' class Cocolog(_MovableType):
u'''
ココログに固有の設定を切り出すクラス。
ここを変えれば MovableType(TypePad)全般でイケるかも。
''' UTC_OFFSET = datetime.timedelta(hours=9) # UTC との時差 # ココログのように内部が UTC で表記が日本時間の場合に必要。
# どちらもローカルタイムで統一されている場合は 0 で良いはず。
def __init__(self, url, account, password):
self.entrypoint = 'http://app.cocolog-nifty.com/t/api' # ココログのエントリーポイント。blog に応じて書き換えるべし。
_MovableType.__init__(self, url, account, password) def getdate(self, post):
u'''
-> time.localtime
'YYYY-MM-DDThh:mm:ssZ' である日時フォーマット専用。
ココログ以外の違う形式の日付の blog なら書き換える事。
''' return time.localtime(calendar.timegm(
time.strptime(str(post['dateCreated']).rstrip('Z')+'UTC',
'%Y-%m-%dT%H:%M:%S%Z')))
def get_anchorlist(url):
u'''
HTML 内にある a 要素の href 属性を取得しリストにして返す
''' p = htmllib.HTMLParser(formatter.NullFormatter()) try:
p.feed(urllib.urlopen(url).read())
except Exception, e:
print e
a = []
else:
a = p.anchorlist
return a
if __name__=='__main__':
account, password, url = account.ACCOUNT, account.PASSWORD, account.URL
print url
c = Cocolog(url, account, password)
for post in c.posts:
print '%04d-%02d-%02d %02d:%02d:%02d %s' % (
c.getdate(post)[:6]+(unicode(post['title']),))
print post['link']
for i in post['trackbackPings']:
if i['link']:
print u'o\t%s' % unicode(i['pingTitle'])
else:
print u'x\t%s' % unicode(i['pingTitle'])
print '\t%s' % i['pingURL']
# 好きに流用してください。
昔のスクリプトから使いまわしているので投稿一覧を取得するだけのためにわざわざクラスを作る大げさな代物になってしまっています。流用する時は適当に端折った方がいいでしょう。
Windows XP 用の更新プログラム (KB894391)
今まで Windows の起動時に、数回に一度くらいの割合で Generic Host Process
がどうのこうのと言うエラーが出ていたのですが、それの修正が出た模様。
バグが修正されたのはめでたい事なんですが。一つ謎なのは今までこのエラーが出て(再起動もせず)そのまま使っていても何の不都合も無かったという事。いったいこの Generic Host Process って何の存在価値があったのでしょう? つーか Windows ってどうでもいいプロセスがやたらと動いてるんでしょうか。
同じ Microsoft のシステムでも MSX の頃は単純だったのになぁ。何か間違った方向にどんどんと進化しているような気がする。
『韓国は日本人がつくった』(黄文雄/ワック文庫)の第1章を読み終えました。
韓国がらみの本って韓国/(在日)朝鮮人や売国良心的日本人の書いた物は自己正当化と日本への攻撃が酷すぎて読んでいてヘキヘキしますし、また焦点がそれに偏っているせいで総覧するには向かず。さりとて反動愛国的日本人の書いたものもまたそれに引きずられて(というかそれへの反発で)弁明や逆批判に偏り。いずれにしろ客観的な事象の描写が見当たらず。しかしこれの著者の黄文雄氏は台湾出身という事もあってか、それらからわりと距離を置いて書けている感じです。(もっとも台湾独立建国連盟日本本部委員長なんて立場の人だけあって「中華への反発」という偏向はあるわけですが)
読んでいて感じたのは「結局、自分達の世界観での悪を日本に投影しているのだな」という事。いわゆる従軍慰安婦は過去の朝鮮の王朝がやったシステムを日本軍もがやったとの決め付けですし、また中国の言う南京大虐殺にしても彼等が内乱でやらかす大虐殺(例えば太平天国の乱は その死者は五〇〇〇万人、あるいは人口の五分の一とも言われる
だそうな)の縮小化されたパロディー。もちろん日本が善であったわけも無いですがそれは恐らく「日本的な悪」であって彼等がイメージするような形での悪事ではなかったでしょう。つまり従軍慰安婦にしても「官製のシステム」というよりも「官憲の黙認と癒着」であったでしょうし、南京での虐殺にしても「徹底した圧殺と開き直り」では無く「散発するコントロール不能の暴走」だったのじゃないかと思います。
自己中心的で現実を見ない清国、自立する事を躊躇い恐れる朝鮮、危機意識の先走る日本、侵略の意図を隠そうともしない新興帝国のロシア、気まぐれな独善を振り回し結果への責任感が皆無のアメリカ、そして他国を操りぶつける事に執念を燃やすイギリス。当時の状況ではどう転ぼうと悲惨な事になったのは確か。今の倫理で断罪するより当時の個人や国家がどう「生き延びようとしたか」に注目した方が豊かな収穫が得られると思います。
実際、朝鮮人も単なる被害者ではなく(良きにつけ悪きにつけ)主体の一つであったわけで。その稚拙な身の振り方が周囲の強国群を振り回していた事実が今日では忘れられてしまっている。「謝罪と反省」などよりもその事の方が重要な問題でしょう。何をやりたいのだか良く分からない韓国と、やりたい事ははっきりしているけれどもジリ貧な北朝鮮という二つの主体に分断された現在の朝鮮も、結局は彼等が自分たちで選び取って来た姿という点では過去と同じわけですし。
……まあ「そうしないとヤバイから」でずるずると近視眼的な最適解に逃げ続ける日本の方も過去と変わりはないわけですけれども。
某所を読んで思いついた。エロゲADVの表現メディアとしての形態を、ゲームやポルノというカテゴリから外して論じたいとき、これをdigital picture storyと呼んでみるのはどうだろう? 日本語だと「デジタル絵物語」か。
従来からある デジタルノベル、デジタルコミック の中間にあってそのどちらとも本質の違う今的な読み物ADVの呼び名に妥当な物が無かった(キネティックノベルというのも結局は デジタルノベル 寄りの存在)ですので、現役シナリオライターの高橋直樹氏によるこの提案は歓迎するところ。
ただ一つ問題なのは、その デジタル・ピクチャー・ストーリー という長い名前だと必ず省略されて呼ばれるわけで……日本語での英語名称の省略に多用される四文字カタカナへのそれにされた時に、
デピスト
になってしまうであろう事。間抜け極まりなし。(笑)
いやフランス書院美少女文庫って別に18禁ではないから、
16歳という、なんともコメントしようのない若さ(というか、最初は私も信じなかったのですが……。あと、法的にはセーフらしいのですよ)
なんでしょうけれども……。
アダルトノベル界の日日日 となれるでありましょうか。つーか、とりあえず私は読む。性に関して一番悶々たる年頃であろう現役ミドルティーンの書くエロノベルというだけで興味があるし。
……いやその前に買っただけで積んである『悪魔な彼女、天使な妹』を片付けるのが先ですが。
『美少女ゲーム・クリエイター blog の RSS リスト』での大森ごはん氏へのリンクが別の方への物だったので削除しました。
不注意でリンクしてしまい申し訳ありませんでした。
(サイドバーの「読んだもの」より移動)
イラスト:緋賀ゆかり HP
出版:集英社 スーパーダッシュ文庫 (シリーズ紹介, 著者インタビュー, リレーエッセイ)
FLET'S SQUARE で無料配信が始まったので見てみました。
……という事は、やはりあれはきりたんぽ?
プロット自体はしっかりしているのに上滑りしている感が。原作はやっていない(というか最初に出たヤツを買ったまま積んでる)ので元からそうなのかは分かりませんが、音無(同級生義妹)とさくら(従兄妹・ツインテール帰国子女)の直接対決を不自然に回避しているように見えてしまいます。映像になるなら当然有るだろうはずの反応の描写の欠けが気になって。彼女等が縁遠いならともかく実際は彼女等同士も幼なじみで、兄(主人公)の居ぬ間にオセロをしている描写だとかもちゃんと入れているあたりで余計に気になります。まあ後の展開のために取って置いてあるのでしょうが。
『こんねこ』の訪花(同居同級生幼なじみ)とななみ(年下幼なじみ・ツインテール帰国子女)あたりはこの2人を下敷きにしている感じ。もっとも『こんねこ』の場合はありがちギャルゲーのフォーマットをある程度敷衍しながらもその目的はそれに対する批判でしたので訪花のエンドはアレでしたしななみのエンドも二重化され「真」エンドの方は(作品の他の部分ではまるで現れない)ファンタジー要素まみれにして「別物」である事を強調していましたが。
『D.C.』は「ありがちギャルゲー』そのもので終始するのかな? 広く一般受けを狙うべきTVアニメですからそれが妥当なんでしょうけれども、個人的にはその範囲で終わってしまうならつまらないなぁ。とりあえず期待だけはしておきます。
音無とさくら以外のぜんまいちゃんやら鍋姉妹やらの脇ヒロインはどうせ適当に1~2エピソード与えて解説者落ちなんでしょうが……しかしあのクマ、気になる。いや「クマが気になる」というより「クマを気にしないのか?」というあたりが気になる。
同省の緊急調査報告書によれば、クマのエサになる木の実は、標高の高い地域に多いブナが不作で、低い地域のコナラが豊作だった。そのことが、標高の低い地域へクマが移動するのを促したと指摘している。
ドングリころころ……でクマもころころ出て来たわけか。で、お池に……
クマによる被害は年々増え、最近3ヶ月だけでも100万円分の被害です。
「(クマに狙われるのが)卵を持っているメスばかりなので、やられてしまうと生産が追いつかないので真剣に弱っている」(養殖場の宮沢幸司 場長)
いっそそのクマを捕って熊肉として売り払う、というのは駄目なのだろうか? さもなければ……
建国神話で朝鮮民族のルーツとされるクマは、日本統治時代に駆除され激減。その“復活”事業は、一大プロジェクトとして、国民の期待も高い。北朝鮮が子グマを寄贈するなど、南北協力も進んでいる。
謝罪と賠償を込めて捕獲したクマを全部韓国に送り込むと喜ばれるかも。 昔から「民族のオモニ(母)」としてあがめられてきた
そうですから虐待もしないでしょうし。
いずれにしろ、貴重な大型野生動物。うまく共存できると良いですね。
対馬沖海戦(違)ですが、なんか最悪から二番目くらいに悪い決着。まあ韓国だからなぁ。日本だからなぁ。
事件の本質は「密漁常習犯が日本の海上保安庁に公務執行妨害を食らわせて韓国の領海まで遁走しようとした」というあそこらへんの海の事情を知っている人から見れば「またか」の一言で終わってしまう話なわけですが、ただ一つ違ったのはその逃げた先に韓国海警が居た事。
本来ならば両国の警察同士が協力しあって、捜査裁判の権利がある日本側に犯人を引き渡すのが道理なわけですが……
蔚山海警は3日、「事態の初期、蔚山海警警備艇の速やかな対応により、韓国漁民と船を守ることができた。また、韓日間の長期間にわたる海上対置の状況の中、国の自尊心を守った功労を認め海洋警察庁長が表彰者選定を指示した」と明らかにした。
『【韓日の海上対峙】蔚山海警30人を表彰へ』 (朝鮮日報) より
在日米軍ですらやれる事を出来ない韓国。それをまともに批判出来ない日本。まあ日本の腰抜けぶりについては被害を増やし国民の福祉を損ないこそすれ大問題にはならない(民を大事にしないのはいつの時代でも日本の政権の特徴)ですが、未だに徴兵制な国粋主義韓国の方の暴走っぷりは満州事変以降の大日本帝国みたい。結局はわが身に降りかかる事なのに。日本はその点だけについてはちゃんと「歴史から学んだ」――結果が「英米追従」という負け犬根性であれ――のですが、韓国の国民は自分たちがあれだけ批判している大日本帝国そのものになろうとしている。(さながら満州国に相当するのが北朝鮮?)
これに比べると共産中国は立派ですね。ちゃんと国益に沿う形で世論を統制している。政府の手綱一つでデモも暴動も自由にコントロール出来る事を最近の事件で見せ付けていますからね。(絶対に住みたく無い国だけど)
『歴史群像』(学研) 2005年6月号の記事『中台紛争史』で中国人のその「敵対的協力関係」の見事さが良く描かれているのでお勧め。流石は中国四千年の歴史、ウリナラ半万年とは格が違います。イギリスも日本もアメリカもロシアも手玉に取られるわけです。ていうかそこらへんの「新興国」って結局、小手先技術が異様な勢いで進歩する特殊な時代に「辺境の利」で伸し上がっただけのバブル成り上がりでしかないですから、これからの時代は真の人類の中心地である中華、印度あたりが勃興(というか復活)しそう。さらに南アメリカ(ブラジル)や東南アジア(インドネシア)、そして真の新大陸オーストラリアあたりの伸し上がりも確実ですし。(アフリカや中東あたりはまだ虐められ続けそうですが)
日本なんて元々大した国でもないのに小手先と追従で生き延びた、亡命者達の植民地である南の島の首狩り族の寄せ集め。思い上がらず細々と生き延びられればそれでいいんじゃないかな。常任理事国になって国連を牛耳るだのといったしんどい事ではなく、災害救援みたいな部分に傾注して目立つ国際貢献を誇示して行く方が小手先民族の性に合いそうですし。つーか島で評判が良ければ大陸はどうでもいいんでない?
まあ単一民族幻想にどっぷり漬かった韓国&北朝鮮あたりはプライドが邪魔してあのまま暴走するしかないかもしれませんが。でも住人そのものは熱しやすくても楽天的なラテン系(?)だから国がどうあれ生きては行けるでしょうか。
Python での HTML の処理ですが「よく考えたら直接テキストに変換するより一旦 Python のデータ構造にしてから処理する(つまり「Python のリテラル形式を使って HTML を作る」の逆をやる)ようにすれば応用が利いて便利じゃないか」と気付きました。
しかしそういう事に使えそうなモジュール htmllib が何やっているのかソースを見てみたらば……これ、テキストファイルに変換するのにしか使えないです。つまり「省略されたタグを補う」事をせず「省略可能なタグは(もし有っても)省略されている物として扱う」という実装。なので表示される段階で辻褄が合っている(ように見える)だけであって HTML の要素を認識しているわけではなく。ついでに言えば「属性値の表記に文字参照が有っても処理しない」等のバグもありますし。(これは HTMLParser も同じ)
いっそ自分で一から書こうかと思ったのですが HTML(SGML) のルールを調べるのが面倒でかつそれをコードに落とすにも無駄に手間がかかります。それに(ここも含め)そもそも世の HTML の大半はその HTML のルールに従っていないし。
車輪の再発明は止めだ!
という事で HTML Tidy を Python から使うライブラリ µTidylib を弄る事にしたのでした。以下はそのサンプルコード。
import sys
import xml.dom.minidom
import tidy
import urllib
ERRORS_OUT = True # Error を表示するなら WARNINGS_OUT = True # Warning を表示するなら def convert(html):
u'''
utf-8 文字列か Unicode文字列の HTML を正しい XHTML に変換して
utf-8 文字列として返す。
''' if isinstance(html, unicode):
html = html.encode('utf-8')
options = dict(
# HTML, XHTML, XML # 'clean':True, # これで変換すると head要素内に script要素を追加してしまう doctype='strict', # 強制的に DOCTYPE を付け数を揃えて解析を楽にする drop_proprietary_attributes=True,
enclose_text=True, # body要素にテキストを直接置かなくなる output_xhtml=True,
# Pretty Print wrap=0, # Character Encoding char_encoding='utf8',
newline='LF', # Python 内部での文字列の改行は \n のみ # Miscellaneous tidy_mark=False,
)
out = tidy.parseString(html, **options)
for e in out.errors:
if ((ERRORS_OUT and e.severity == 'E') or (WARNINGS_OUT and e.severity == 'W') or e.severity not in 'EW'):
sys.stderr.write('%s\n' % e)
file('test.html', 'w').write(str(out))
return str(out)
def domview(xhtml):
u'''
XHTML を DOMツリーにして整形表示する
''' d = xml.dom.minidom.parseString(xhtml) _printnode(d.childNodes[1]) # <!DOCTYPE> 直後のhtml要素だけをターゲットに def _printnode(node, nest=0):
out = '| '*nest+node.nodeName
v = node.nodeValue
if v:
if v.strip():
value = ' '.join(v.split())
else:
value = repr(v)
out = '%s %s' % (out, value)
print out
for i in node.childNodes:
_printnode(i, nest+1)
def test(html):
print '\nHTML:' print html
xhtml = convert(html)
print 'XHTML:' print unicode(xhtml, 'utf-8')
print 'DOM:' domview(xhtml) html = u'''
<title>hoge</title>
<p>€ hoge ほげ <b>
<!--コメント-->
<font title="¥" color=green>Python</font>
</p>
<blink>✧ Twinkle, Twinkle ✧</blink> Little Star
''' test(html) test('hoge')
##test(unicode(urllib.urlopen(
## 'http://tuchinoko.moe-nifty.com/oboegaki/2004/12/post_6.html'
## ).read(), 'utf-8'))
# 好きに流用してください。
一旦 XHTML に変換してしまえば xml.dom 等を使って容易にアクセス出来るわけで。楽々。
(元HTML文書のエンコーディング指定が何であっても) utf-8 にして処理するのが基本という事さえ押さえておけば面倒は起こらないと思います。「HTML の文字コードを調べる」で得たエンコーディング名を使って utf-8 に変換してから tidy.parseString に食わせれば良いでしょう。後の処理は上記コードを参考に。
日韓の歴史に新たな1ページが。(笑)
自衛隊ばかりが問題視されますけれども、日本の海上保安庁って世界水準で見れば立派な Navy。対する韓国海洋警察庁は竹島を軍事占領している例のあそこ。国民感情に押されてどちらもピリピリしているみたいですし。戦争にはならないとしてもしこりは残りそう。
竹島の騒ぎも(騒いでいる外野ではなく地元にとっては)領土がどうこうというより漁船の操業の問題からだそうですし。海に出る人にとっては本当に隣国なんですね。いつまでもグズグスと引きずる無能な日韓の政治家はともかくとして下のほうの公務員同士はそれなりにツーカーな仲になっていてもらわないと実務上困るわけで。すんなり解決して欲しいです。
領土がどうのこうのなんて建前はいいから、そこらへんに住んだり仕事したりする人が安心して暮らせるようにするのが政治の役目のはず。だから日本から見れば「不法占拠」だったとしても、
みたいな事が起きた時にはすかさず援助して恩を売る平和福祉国家をアピールしなくては。
もんたメソッドだそうな。
要するに(HTMLで言えば)例えば文字色と背景色を同一にして(範囲指定をする等しないと)読むことが出来ないようにする手法。(実際にはもうひと工夫してクリック一発で読めるようしていたりしますが)
これがゲームのレビュー等で多用されているネタバレ禁止と違う所は、あくまでも強調を目的として 1単語や1フレーズ単位で指定する 事。一部だけ隠して興味を持たせる事を目的としているので、仮にこれを Lynx 等のテキストブラウザで読んでその効果が無効になったとしても不都合は無いわけです。多用してもかまわない手法ですね。
無論 Lynx 始めそういう手法が無効な Webブラウザは多い(例えば私が使う RSSリーダーの RSS Bandit でも無効になる)ですので、ゲームのネタバレやミステリーのオチへの論評等の本当に見られてはヤバい物にはこういう手法ではなく「続きを読む」部分にまとめて別ページへ置いておかなくてはならないわけですが……ココログの「続きを読む」って固定リンクページだと無効(つまり「本文」も「続きを読む」も続けて表示されてしまう)でトップページにある時にしか機能しないのでネタバレ回避のためには何の役にも立たず。(空行を20行も作って離しておくという古典的BBS的な手法の方がまだマシか)
まあココログの場合はHTMLページを含めてどんなファイルでもアップロードしておけますから、ネタバレ部分は適当なHTMLページを作ってそこにリンクさせておけばいいわけですけれども。