2005-01-27

diff の RSS が抱えてるっぽい問題と自分のスタンス

辺りを読んで、現在 RSS 1.0 で最新の diff だけを配信している rssdiff.inc.php はちとまずいなぁという思いが少し強くなった。(以前から使いにくさは感じている。)

RDF 的な意味のおかしさ

RSS 1.0 は RDF の縛りを受ける。RSS1.0によるdiff配信に反対 を読むと「diff のページへリンクを張っている RSS」として提供する分には問題なさそう。diff の RSS なんだから別にいいじゃんと思っていたがかずひこ氏が Hiki の RSS 出力をマシにしよう計画

「content とか言っておきながら差分だけですか?」というのが気にならないでもないのですが、description のところに「わかりやすく」差分を見せるのも難しいような気がします。

となんか変だなと感じていたのも根っこはこの部分なんだな。きっと。

しかし逆に diff にリンク貼られてもあまり嬉しくないんだよなぁ。これは diff を pre で表示しちゃう PukiWiki の特性かもしれないけど。少しでも文章が長いととにかく横にスクロールさせなきゃならなくて見にくい。

RSS 2.0 だとこの辺の diff にリンクすべきという問題は解決できるんだろうか? 解決できるなら RSS 2.0 という選択肢はがぜん現実味を帯びてくるな。

人間にも意味が分からなくなる可能性

これはおおいにありうる。自分のように細かく修正を保存しながら書いていくタイプの人間が使っている Wiki では diff があまりに断片的になりすぎて使いものにならなくなる可能性は高い。ただしこれには解決策とあまり問題にならないのではないかという2つの解答が自分の中にある

diff の基点を明示できるようにしたらどうか?

現在の Wiki のインターフェイスにこういうものは存在していないが、近いものは KakiWiki である。使ったことはないが、KakiWiki にはスナップショットを保存するという機能がある。これは実は自分の考える理想の Wiki に少し近い。自分の現在考える理想の Wiki は cvs commit のような明示的なアクションで snapshot を保存し、diff はそこからの差分を表示するという形のものである。commit を自動で毎回行い、権限の管理を行わないという方法もあるだろうし、commit の権限を core member に限定してしまうという方法もありだと思う。個人的には core member に限定して commit 時にちゃんと log を書くという方法の方が嬉しい。断っておくがここで編集の権限と commit の権限はベツモノである。あ、例えばこれを利用すれば特定のリビジョンにロールバックするのも簡単にできそうだ。

こうすると細かく保存しながらある程度まとまったところで commit、変更点を分かりやすく書くことで追跡を容易にするという芸当が可能だ。

「細かく保存しなければよい」という選択肢もあるが、指が無意識のうちに保存のための動作を行うようなタイプも居るのだ。細かく保存せずに長文を書くなんてちょっと昔の安定しない OS を使ったことのある人間や冬の北陸に住んだことのある人間1には恐ろしくてとてもできない。これは Web アプリでも同じだ。

当然のことながら Wiki 上でコミュニケーションまでやってしまっているような使い方ではこういう方法は採用しにくいだろう。が、これはそもそもそういう使い方は Wiki としてどうなのか?という疑問の方が強いので考慮しないことにする。

あまり気にしなくてもよいか?

まず前提があって、自分は Wiki の RSS をすべて diff にするということは考えていない。RSS も目的別にあってしかるべきだと思う。だから diff についての RSS ですべてをまかなう気はないし、diff の RSS では一見については考える必要はないと思っている。diff の RSS を必要としているのはリピータである。しかも荒らしを見つけてくれるようなディープなリピータ(小人さんとも言う)である。どちらかというと core member。diff の RSS はそういうユーザーにフォーカスされていていいと思う。

もちろんフォーカスされていても時間が経てば diff だけ見ても何がなんだか分からないということはあるだろうけど、そういう場合は諦めて全文読み直してくれってことだ。RSS が万能である必要もないと思う。

しかしあれだなー。こういうネタのときは TrackBack 送れないのはもどかしいなぁ。やっぱ引っ越しますか。

  1. 太平洋側だといつ夕立が降るか分からないような、そんなスリリングな状況を想像すると分かりやすいかもしれない。 

オレオレ証明書クイズがらみ

オレオレ証明書クイズに対する高木さんのコメント

を読んで、やっぱりこれが自分の使う言葉だなと感じた。高木さんの言葉は切れ味が鋭すぎて問題を理解させるための材料には使いにくい。

いや実際にこの結城さんの言葉を使ったのです。過去にね。で、そのサイトは今第三者認証を得た https をユーザーに提供しています。

そもそも SSL って何?ベリサインて何?という人に対しては

  • 通信の暗号化
  • 接続先サイトの真正性の証明

の2つをちゃんと分けて、なおかつこれは別の次元の問題だという説明をしなければいけない。しかし高木さんの書き方は「証明書がなきゃ意味ないじゃん」という前提(要するにセキュリティを考える人間にとっての常識)に頼っている部分があるので、前提を分かっていない人に対して何が問題なのか理解させにくい。

「設問がよくない」のは SSL という全体像を捉えて、正しい SSL を一発で解答したい場合に限って正しい指摘だが、設問がよくないかどうかも分からない人にとっては、片方だけではダメなことがはっきり分かる形にするために問題文もあえて分けてやった方がよい。

ただ結城さんの問題は (2) がいきなり高度かなという気もする。ここも YES/NO で答えられる形で「間違いなく自分の意図するサーバに接続しているかどうか」を問うた方がよかったように思う。そうしておくと SSL に限らず普段見ているサイトが果たして本物かどうかを考える契機にもできるから。

ちょっとダウン

今週頭から調子悪かったんだけど、どうも昨日からいよいよ風邪っぽい。知恵熱?とか思ったが、だったら鼻水ズルズルにはならないだろうから違うと思う。

気をつけているつもりだったんだがなぁ。うがい、手洗いをやっていても、もらっちゃうときはもらっちゃうんだな。

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm