2016-10-26

緩やかな民主主義(Liquid Democracy): 21世紀における本当の民主主義

翻訳元: https://medium.com/@DomSchiener/liquid-democracy-true-democracy-for-the-21st-century-7c66f5e53b6f
著者:Dominik Schiener(@DomSchiener)
翻訳者:jasagiri (@jasagiri)
翻訳記事のライセンス:CC-BY-SA 4.0

緩やかな民主主義(Liquid Democracy): 21世紀における本当の民主主義

緩やかな民主主義は、間接民主主義のサブセットで、大規模なコミュニティで集団意思決定するための強力な投票モデルです。緩やかな民主主義は直接民主主義と議会制民主主義の利点の組み合わせで、問題に直接投票する有権者を支援したり、信頼された当事者に投票権を委任したりするための真に民主的な投票システムを作成します。

ドメイン固有の知識を持つ委任者を通じて、意思決定の結果により良い影響を与える事ができ、国を全体的により良く管理する事につながります。この事から、緩やかな民主主義は自然と能力主義に発展するので、 決定は問題をよく知っており特定の知識や必要な経験を持っている人により行われます。

全体的に、緩やかな民主主義は仮想コミュニティだけでなく、地域コミュニティ全体や政府の意思決定の基礎となり多くの可能性を持っています。このブログ記事では緩やかな民主主義がどのような利点を参加者に提供するのか概要を記します。 関連のブログ記事は間もなく投稿されるでしょう。

現在の民主主義では何が問題となっているのでしょう?

民主主義には多くの異なった形態がありますが、現在使われているのは、直接民主主義と議会制民主主義(とそれぞれのハイブリッド)の2つだけです。したがって、別の形態の説明をしましょう。

直接民主主義: 有権者が直接、国の意思決定に関与しています。有権者は継続的に問題に投票する事によって意見を表明します。直接民主主義は、説明責任と平等性について市民に完全な制御を提供します。残念な事に、直接民主主義は、コミュニティの成長に合わせて増え続ける問題リストに有権者の注意が行き届かず、合理的無知と公民権剥奪を主な理由としてスケールしません。つまり、時間や欲求や専門知識を持っていない有権者にすべての問題が通知され、単に非現実的になります。これはコミュニティ内の有権者にとっては低い全体的な満足度と低投票率につながります。純粋な形態での直接民主主義は単により大きなコミュニティには適していません。

議会制民主主義: 最も広く使われている民主主義の形態で、適切な意思決定を行うため、代表に投票することで自分の意思表示を行うことを含みます。代表は通常、 コミュニティの関心を表現した政府機関(例えば議会)といった(よく言えば)ドメインの専門家がなります。議会制民主主義はうまくスケールしますが、市民に最高の利益を提供することには失敗します。議会制民主主義には多くの問題がありますが、主に3つに要約されます。:

まず第一に、市民は1つの思想的見解や関心を共有することは無く、候補者の限定された集合の代表者に投票することに限られます。時の有権者の大半は、自らの個人的な好みを諦め、代わりに選出された最高の展望を持つ候補者に投票することを余儀無くされます。これは具体的には少数意見を排除する特徴があり、彼らの政府内部での視点や代理能力を失う特徴があります。加えて、これは、今の若い世代 [2]が政治にとても無関心である主な理由の一つです。もしあなたが若く、誰もあなたの意見を共有していない場合、抗議する唯一の選択肢は投票しないことです。2014年の選挙では米国の若者の投票の20%のみがこの強力な兆しです。
第二に、代表者はオフィスにいる任期中のみ行動に責任があります。選挙期間中に行われた約束が果たされなければならいことは無く約束のほどんどは有権者を欺く餌以外の何物でもありません。これは「選挙サイクルの政治」につながり、選出された代表者は、(ほとんど意味にない)コミュニティの好みで新しい提案を導入したり、高価な「Wahlgeschenke」(選挙前のプレゼント)を配ったり、自分の権限のために選挙前に有権者を説得しようとします。
そして最後に、議会制民主主義は権力が集中するため、汚職につながります。米国について云えば、寡頭政治と見られ、議会制民主主義は、汚職と利益相反のための肥沃な大地であることの十分な証明です。有権者に向けての責任感も無く、説明責任も無く、地域住民の最善の利益で行動するよりも投票者の利益のために働くことが容易になります。
直接/議会制民主主義のこれらの明らかな欠陥とは別に、あまり目立たないですが、選挙や現在使われている利用可能なテクノロジーを持たない完全に時代遅れな投票方法という事実上の欠陥があります。有権者が物理的に遠いブースに行く必要があり紙の投票用紙に記入する代わりに、インターネットを経由することで安全かつ便利に投票できるようにしています[1]。これは、単に投票に行くという骨を折る有権者に不要な負担をかけます。

皮肉なことに、これは民主主義が正に防止しようとしていることです。皆の意見数は集団意思決定のプロセスに含まれるべきです。しかし、投票障壁はハプニングからまだ現在有効に防止されています。(訳注:よくわからない。 But the voting barriers that are still standing today are preventing this from happening.)

緩やかな民主主義とは?

緩やかな民主主義とは、有権者が完全に判断を制御できる集団的意思決定のための新しい形態です。有権者は問題に直接投票できるだけで無く、自分の代わりに委任者(つまり代表者)に議決権を委任できます。委任はドメイン固有に可能で、有権者が異なるドメインの異なる専門家に自らの議決権を委任できることを意味します。

これは直接民主主義とは対照的で、参加者はすべての問題に個人的に投票する必要があり、そして議会制民主主義とは対照的に、参加者は特定の選挙サイクルで一度代表者に投票する以上のことに気を配る必要はありません。

以下の図は3種類の投票システムの違いを比較しています(質の悪い図で申し訳ないが、そのうちいい感じにするよ)。


<図:翻訳元参照>

直接民主主義モデルでは、すべての有権者は問題に直接投票します。議会制民主主義モデルでは、有権者は最初に委任者に投票し、当選者が次の代表者を選出します。この図から読み取れる興味深い点はもちろん緩やかな民主主義モデルです。ここで有権者はどちらかの問題に直接投票することができたり(左右の境界線上の2つの独立した有権者のように)、 問題についての詳細な専門知識を持つ代表者に自らの投票を委任することができたり、単純に最新情報に更新したりします(訳注:よくわからない。投票し直しのことかな? or simply more time to stay informed.)。

委任は信頼の証です。有権者は特定の決定を表明する人を信頼し委任します(訳注:よくわからない。A voter trusts a delegate to represent her on certain decisions.)。もしこの信頼が崩れると(例えば、イデオロギーの違いが増えたり、委任者の汚職によって)有権者は単に委任を取り消し、個人的や他の誰かに委任して投票できます。後で見るように、暫定信頼(provisional trust)という概念は委任者の義理や説明責任を作る上で重要です。

緩やかな民主主義でとても重要な要素は 他動性(transitivity)です。委任は一直飛びには起こらず、完全に他動的です。これは委任者であっても、すべての有権者の鎖(自身に投票を委任した人達)がリンクされた状態で他の代表者に委任できるという意味です。この他動性が、少ない知識や洞察力を持った人の特定の問題を他の専門家を信頼して委任できることを保証します。(訳注:雰囲気意訳 This transitivity ensures that experts can delegate the trust they’ve accumulated to other delegates on certain issues on which they have less knowledge and insight about.)

緩やかな民主主義と委任民主主義との大きな違いは、代理投票の代わりの推薦投票(vote recommendation)があります。 (thanks to Josef Davies-Coates for pointing that out). Sayke が緩やかな民主主義の original paper で指摘しています、「“皆、手持ちの問題にどのように答えるか決める前に何か推薦された答えを参照する必要が有ります。代理投票ではこれを行うことはできません!代理投票では代理者が権力(皆の意見を保つという回答提案)を持つことになるのです。」

上記の図では、ドメイン固有の委任(domain-specific delegation)が欠落しています。有権者は単に委任投票するだけでなく、委任はドメイン固有の問題の有権者の意見を委任投票する様々な委任者を作ります。このようなシステムを通して、専門家は積極的に問題の結果に影響を与えることができ、全体的に良い結果につながります。

問題の分類は決定するコミュニティ全体の責任ですが、政府内部の意思決定のための非常に単純な分類は次のようになります: 財政政策、金融政策、環境・気候政策。

別の例を提供するために、内部の意思決定に緩やかな民主主義を利用している政党を見てみましょう。このようなコミュニティにとって多くの意味あるカテゴリは次のようになります。: 財政、マーケティング&アウトリーチ、政治の問題や管理決定。決定には4つのカテゴリーに分類される必要が有ります。政党のメンバーは、これらの決定に直接投票したり、意見を形成する教育を受けたより専門的な知識を持つ人々に自分の議決権を委任できたりします。

<図:翻訳元参照>

この図の詳細な説明ですが、一見多少複雑に見えるかもしれません。 それでは、政府関連の図を説明しましょう、政党の図によく似ています。合計で6人の有権者がおり、そのうち3人が委任責任を持ちます。前にも述べた通り、問題は3種類(従って、専門知識が3分野)あります。: 財政政策、金融政策、環境・気候政策。

ご覧のように、6人の有権者はほぼなんらかの形で、すべての問題に独立な投票者(真の専門家でなければなりません)となる頂点の委任者を除いて、自らの投票を委譲しています。投票者Bはとても忙しく、無関心か特定のトピックに関する十分な知識を持っていないか、またはその両方のため、すべてを委任しています。

全体的に、緩やかな民主主義は直接/議会制民主主義に比べてほんの少しだけ複雑です。しかし提供する利点は、初期学習障壁をはるかに上回ります。それでは、利点の詳細に触れてみましょう。

緩やかな民主主義: なぜか?

さて、今日の民主主義の問題についてより良く、またどのように緩やかな民主主義が動作するか概要を理解しているので、大きな「なぜ?」について詳細に入ることができます。最も重要なことは、緩やかな民主主義が現状よりはるかに優れた解決策だとしても、硬直した場合(訳注:solid case)を提供する必要があることです。願わくは、緩やかな民主主義の直接/議会制民主主義を超える利点である最大の特徴リストでこれを達成したいです。

緩やかな民主主義は本当に民主的です。 有権者には個人的にや誰か他の人に委任しるか選ぶ選択肢があります。これは、ユーザーは常に自分自身に投票を限定されたり、数年に一度の投票するといった今日利用されている民主主義とは全く対照的です。これら2つのモデルでは、有権者は参加するために必要とされる作業の種類に圧倒されたり、政府の意思決定に十分含まれていなくて本当にがっかりしたりします。緩やかな民主主義では、有権者にいつでも変更できるよう関与する裁量の自由を与えます。これは、国の意思決定が全人口の手の中に直接あることを意味します。

緩やかな民主主義は低い参入障壁があります。 委任者になる最低限の要件は、他の人の信頼です。ほとんどの人は喜んでこの責任を引き受け、委任者になれます。 如何なる政党も有権者に勝つ必要がありません。 有権者を意図的に騙すような法外なマーケティングキャンペーンの代わりに、主題についての人が持つ能力や知識だけが委譲者を通して集計されます。アイデアやコメントや議論の集合を含んだ全体的な意思決定プロセスのできるだけ低い参入障壁を作ることで、はるかに鮮やかなアイデアや視点の多様性で満たされるでしょう。これを通じて、意思決定の結果は、はるかに大きな人口の大部分を満足させ、国の全体的なより良い統治につながります。

緩やかな民主主義は競争する代わりに協力します。 代表的な民主主義国では、こんにち、政治レースの競争で、豪華で不要なキャンペーンの支出に支配され、有権者を通して勝つための政治的な競合や意図的な嘘や暴露をするでしょう。多くの場合、大多数の候補者は政治運動を作り上げるより競争に勝つためにより多くの努力をし、実際問題の代わりに想定された政治問題に焦点を当て、「どのように?」として国をリードします。もし実際の国の統治よりも有権者があなたに投票することを重要だと確認することがあれば、全身傷だらけだと保証できます。 勝ってすべてを得るか、負けてすべて失うか、これがこんにちの民主主義のモットーです。緩やかな民主主義では、代表になる競争は別に設定されています。その代わり、委任者は単に継続的な努力と自身の能力の証明によって有権者から得た信頼に基づいて競争します。有権者は(少なくとも長期的には)騙されることは無く、人の良さ、意欲、そして国を改善する能力がすべてです。

緩やかな民主主義は責任を生みます。 委任者は信頼の印です。もしこの信頼が崩れた場合、有権者はすぐに自分のために別の委任者を発見したり自身での投票を行ったりできます。この仮の信頼により、委任者はいつでも委任投票権を失う可能性があるため、責任感と説明責任を生むことになります。このように、委任者は利己的な欲望の代わりにコミュニティの賛成投票を喜び正直に行動する多くの可能性があります。

緩やかな民主主義はマイノリティーの直接代理権を意味します。 低い参入障壁があるので、マイノリティーは政府内ではるかに容易に表現できます。これは、特定の民族や人種から出た代表の最小の要求を実装する必要があるような余分な法律が無いことを意味します。 その代わり、緩やかな民主主義は、国の意思決定と統治について意見のあるマイノリティーや任意サイズの民族グループのための社会構造の直接表現です。

緩やかな民主主義はより良い意思決定につながります。 B十分な情報を作る専門家のネットワークへと進化することで、ドメイン固有の決定、穏やかな民主主義は全体的により良い意思決定につながります。穏やかな民主主義は結局のところ、最も熟練した能力主義に進化し、知識と経験豊富な有権者はそれぞれの専門領域で意思決定を行うことになります。

緩やかな民主主義はスケーラブルです。こんにちの時間感覚では、国家の統治に関する問題を常に更新するには人々はあまりにも忙しいです。行う必要のある決定は増え続け、政府のための意思決定に、貴重で評価の高い時間の多くを単に消費する必要はありません。 加えて、私たちは専門家集団であり、非常に少数の異なるドメインをよく知っています。このため、委任者を通して、国家の全体的な統治をより良くするために自分の時間と知識を捧げる博識の専門家に意思決定を任せられます。

穏やかな民主主義の現在の状態

穏やかな民主主義が実際に使われていない主な理由は、ここ10年間での実装障壁によるものです。穏やかな民主主義は直接民主主義と同じで、参加者のために常に委任投票を配信できる基盤となる技術的なインフラストラクチャを必要とします。インターネットと暗号技術の発展を通じてのみ、過去数十年可能でした。(訳注:よくわからない Only through the Internet and advances in cryptography has this been possible during the last few decades.)

技術的な障壁を離れて、次に大きな障害となるのは、教育のみです。この調査が示しているように: http://publicvotes.org/vote/ec94wL7Sw37iZtRwf  ほんの少しの数であっても緩やかな民主主義について聞いたことがあります。したがって、大規模なコミュニティで緩やかな民主主義を本当に実現するには、 利点と新しい民主的な可能性について市民により多くの努力して教育する必要が有ります。そのための唯一の真の解決策は、コミュニティの内外の人に、緩やかな民主主義が何を意味し、提供する利点は何であるかという興味深いユースケースを作成することです。

特定の意思決定やさらには選挙のために LiquidFeedback (http://liquidfeedback.org/) のようなソフトウェアを使ったPirate Parties across Europe によって多大な努力が行われています。 これとは別に、 Google が緩やかな民主主義の内部実験とその結果を最近発表しました(http://www.tdcommons.org/cgi/viewcontent.cgi?article=1092&context=dpubs_series) 。 私たちはこの領域のより多くの進展を見ることになり、緩やかな民主主義は率先して新しい場所を確保するでしょう。 Bryan Ford (http://www.brynosaurus.com/deleg/) は、緩やかな民主主義について素晴らしい仕事をたくさん公開しているので、すべてチェックアウトすることをお勧めします。

個人的な仕事として、新しいユースケースを作り既存のちょっとした投票システムと協力してEthereum 上に緩やかな民主主義の実装を実現させるつもりです。

結論

緩やかな民主主義は、こんにちの社会のための民主主義モデルに適合します。この技術の準備はできており、唯一不足しているのは、より詳細にこの分野を研究し、具体的な実装に取り組むより多くの努力です。最も重要なことは、国の実際の統治(階層型や管理型)に適用可能なモデルを決定する必要があることです。

質問の多くは今後数年間にわたって、私やたの人たちが答えていくことになると確信しています。誰か知りませんか、10年か20年実際にやってみようという小さな市や単なる村を?これは確かに可能です。

参照

[1] http://homepage.cs.uiowa.edu/~jones/voting/pictures/

[2] http://www.civicyouth.org/2014-youth-turnout-and-youth-registration-rates-lowest-ever-recorded-changes-essential-in-2016/

2016-04-05

暗号通貨、Blockchain、分権的で分散化された関係性を表現した社会システム

ネタ元:http://blog.skky.jp/entry/2014/09/06/235403

暗号通貨、Blockchain、分権的で分散化された関係性を表現した社会システム

はじめに

アルビン・フトラーの「引き返せない楔」によると、一度パラダイムが変わってしまうと、元のパラダイムには戻れなくなるだろうという考え方があります。

宗教の時代
教会が力を持ち、身分があり、「神の元に還る」ことを良しとする世界観でした。

科学の時代
民主主義により身分は解放され、自由と経済合理性を追求する世界観でした。
この世界観では神は否定せざるを得ず、人間性を排除した自然法則の追求に奔走します。こうなると宗教の時代へは戻れません。

関係性の時代
そうこうしているうちに様々な閉塞感の中から、合理性やお金よりも自分の気持ちを大事にしたいという世界観が現れます。
この世界では帰属と文化が問題となり、人間性を排除して考えられていた科学の時代には戻れません。人は分かり合えないのでしょうか。

やりたい事とやらなければいけない事
関係性の時代、みなさん自分のやりたい事を追求しています。やってる当事者本人は達成感があるのかもしれませんが、端から眺めていると誰も幸せになっていないように思えます。
この体験から、「やりたい事」ではなく、「やらなければいけない事」を追求することが幸福度に好影響をあたえるのではないかと気づきます。

自助、共助、公助のはざまで
自ら(家族含む)の命は自らが守る活動、隣人が互いに助け合って地域を守る活動、治安・消防・ライフラインを支える各企業による活動。
個人(企業)・地域・行政の役割を表す基本的な考え方で、EU統合の際のマーストリヒト条約に謳われている「補完性の原則」を表す概念です。
日本でも江戸時代の米沢藩で自助、互助、扶助を定めていました。概念は同じです。
このように、住民、地域、行政の関係性は、時代や地域に限らず共通性がみられます。

IT投資の評価
IT導入に大量の資本が投入されました。まず、テクノロジーはハコモノとして導入されます。箱を売った後、中身が無いことに気づきサービス導入が進められました。消えゆくテクノロジーに振り回され、エンドユーザーも企業も疲弊します。このプロセスは果たして効果のある投資だったのでしょうか?

社会の諸問題
「貧困の連鎖」がすべての問題の根源という結論に至ります。(要根拠)
社会資本の関係性が断絶された子供の貧困問題を解決できれば、
100年後には貧困の大部分は解消されるのではないでしょうか。

これらの「パラダイム」と「関係性」を表現し、誰もが疲弊せず幸福感に満ちた社会システムは作れないでしょうか?

現代において価値を表現しているお金の性質を考えます。
・当事者同士でそれ自体に価値があることが認められる
・モノとお互いに交換可能である
・価値を留めておける

貧困は(表現が思いつかないのであえて) 誤った価値観により生み出されます。
この誤った価値観とは、お金の性質の3番目、価値保存性の誤解です。
「信用」に基づいた「借金」、無から生まれ、複利で増える「利息」。ゼロサムゲームにすらならない現在の経済システムは、ラットレースです。経済成長著しい間は「努力」と「信用」によって 利息を上回る速度で「富」が築かれます。「努力」は尊いことですが、「富」は権力の表現となり、人間心理を擽ります。この価値保全性の誤解により、「富」が一部の層に溜め込まれます(ゼロサムゲームですらないのに!)。この「努力」を価値ある方向に使えないでしょうか?
(要説明)

なお、「信用」を担保する「アイデンティティ」。これについては、いま求めている分権的で分散化された関係性で表現する方法に思い当たりません。当面は「権威」に頼り、迷走を続けることになります。

さりとて、ナカモトサトシ氏によるBitcoinテクノロジーBlockchainや暗号技術コミュニティからのゼロ知識証明により、デジタルに「実用的な価値」を表現する事ができるようになりました。
今や実用に耐える程度にはピースが揃っていると考えられます。

Blockchain により開けられたパンドラの箱。そこから出てくるであろう希望に想いを馳せます。

2016-03-29

ビットコインライトニングネットワーク(The Bitcoin Lightning Network)サマリ

翻訳元記事:https://lightning.network/lightning-network-summary.pdf
翻訳者:士林翻訳サービス
校正者:@jasagiri
翻訳記事のライセンス:CC-BY-4.0

ビットコインライトニングネットワーク(The Bitcoin Lightning Network)

http://lightning.network

ライトニングネットワーク(Lightning Network)は、即時に大量のマイクロ決済を行うための分散型システムで、信頼したサードパーティに資金管理を委譲するリスクを取り除きます。

世界で最も広く使われており、価値のあるデジタル通貨であるビットコインは、信頼される仲介者や預け先を介さない価値の送信を可能にします。ビットコインには先進のスクリプティングシステムが含まれ、ユーザーが資金に関する指示をプログラミングするのが可能になっています。しかし、ビットコインの分散型の設計には欠点があります。ビットコインのブロックチェーンで確認されたトランザクションが不可逆となるには最大1時間かかります。マイクロ決済(数円以下の支払い)の確認は一貫せず、現行のネットワークではそのようなトランザクションは手数料の面から非現実的です。

ライトニングネットワークはそれらの問題を解決します。ライトニングネットワークはビットコインに備わったスクリプティングを用いた、マルチパーティ(複数当事者)スマートコントラクト(プログラム可能なお金)の初めての実装の一つです。ライトニングネットワークはビットコインでのマルチパーティ金融処理(financial computations)における有力な開発技術です。

即時決済. ビットコインはトランザクションを10分毎にブロックに集約します。ビットコイン上の決済は、6つのブロックの確認があれば一般にセキュアであるとみなされています。これは約一時間です。ライトニングネットワークでは、決済においてブロックの確認は必要でなく、即座で一瞬です。ライトニングは小売のPOSターミナルでも、ユーザーデバイス間のトランザクションでも利用できます。実際即時決済が必要なところならどこでも利用できます。

マイクロ決済. マイクロ決済の可能性によって新しい市場が開かれます。ライトニングは0.00000001(訳注:通常1 satoshiと呼ばれる。ナカモトサトシから命名)BTCから、委譲のリスク無しで送金可能です。現行のビットコインブロックチェーンではその数百倍が要求されており、固定の取引手数料はマイクロ決済を非実用的なものにしています。ライトニングはビットコイン建てで、実際のビットコイントランザクションを用いて、最小の決済を可能にします。

スケーラビリティ. ビットコインネットワークは、自動決済の需要を満たすために、現在とは桁違いの取引量を扱わなければならなくなります。今後のインターネットに接続されたデバイスの増加を受けて、M2M(machine-to-machine)決済のためのプラットフォームと自動化されたマイクロ決済サービスが必要になります。ライトニングネットワークのトランザクションはブロックチェーン上で、信頼や所有権の委譲を伴わずに実施され、ユーザーはデバイス間でほぼ無限のトランザクションを実施できます。

仕組み. 資金は二人の当事者による、マルチシグ「チャネル」のビットコインアドレスに置かれます。このチャネルはビットコインの公開台帳へのエントリー(記入)として表されます。このチャネルからの資金を消費するためには、両当事者が新たな残高金額について合意しなければなりません。現行の残高は、チャネルアドレスから消費された、両当事者が署名した直近のトランザクションとして保管されます。決済を行うには、両当事者がチャネルから消費する新しい終了トランザクションに署名します。全ての古い終了トランザクションはそれによって無効化されます。

ライトニングネットワークはチャネルからのエクジットにおいてカウンターパーティー(訳注:相手方当事者。)からの協力を必要としません。両当事者とも一方的にチャネルを閉じ、関係を終了する選択肢があります。全ての当事者が複数の異なるユーザーとマルチシグネチャーのチャンネルを持つため、このネットワークを介して、誰もが支払いをあらゆる任意の当事者に送信できます。

セキュアな暗号学的ハッシュを知っていることを前提とした条件付き支払を埋め込むことにより、決済は、いかなる当事者の一方的な資金の所有的管理の必要なしに、チャネルのネットワークを介して行うことができます。ライトニングネットワークは、市場を独占しがちな信頼された金融システムではこれまで不可能だった事を実現しますー信頼や所有権の保護が必要なければ、ネットワークへの参加はダイナミックかつ全員に開かれたものになりえます。

2010-11-01

CoffeeScriptインストール

前回何気なく触っていた node.js 界隈が盛り上がっているぽい。
WebSocket 周りはもうちょっと仕様が落ち着いてから確認するとして、
中でも個人的に食指の動いたのが、CoffeeScript 。
javascript を生成するミニマムDSLを提供してくれます。
詳細は参考サイトにて。

前回の cygwin + node.js の残念さのリベンジ兼ねて
忘れないよう現状のインストールメモ(参考サイトの劣化コピー)。

1. cygwin インストール
  • devel -> gcc-g++
  • devel -> git
  • devel -> make
  • devel -> openssl
  • devel -> pkg-config
  • devel -> zlib-devel
  • python -> python
  • editor -> vim
  • Net -> curl
 2. node.js

mkdir ~/src
cd ~/src
git clone git://github.com/ry/node.git
cd node
git fetch --all
git tag
git checkout v0.2.4
./configure --prefix=~/.nodejs
make
make install

export PATH=$PATH:~/.nodejs/bin

  • v0.3.0 で ./configure しようとするが途中で止まるので断念。 autoconf 入れるだけでは駄目っぽい。 
  • node -v すると v0.2.2 って返ってくるけども...?
3. npm インストール

vim /etc/resolv.conf
----
nameserver 8.8.8.8
nameserver 8.8.4.4
----

cd ~/src
git clone git://github.com/isaacs/npm.git
cd npm
make
make link



4. CoffeeScript インストール

cd ~/src
npm install coffee-script
git clone git://github.com/jashkenas/coffee-script.git
cake test



動いた!


5. vim 環境整備


cd ~/src
git clone git://github.com/tpope/vim-pathogen.git

mkdir -p  ~/.vim/autoload
cp -r ./vim-pathogen/autoload ~/.vim/autoload

mkdir ~/.vim/bundle
cd ~/.vim/bundle
git clone git://github.com/kchmck/vim-coffee-script.git
git clone git://github.com/thinca/vim-quickrun.git vim-quickrun
git clone git://github.com/tyru/stickykey.vim.git
vim ~/.vim/bundle/vim-coffee-script/ftplugin/coffee.vim の最後に追記。
----
function! JavaScriptUnderScoreBecomesCamelCase()
  if matchstr(getline('.'), '.', col('.')-2) =~ '\w'
    return "\(stickykey-shift)"
  else
    return '_'
  endif
endfunction!

imap _ JavaScriptUnderScoreBecomesCamelCase()
----
 

  • [vim] :set paste するとインデントが崩れないで貼り付けられる。:set nopaste でモードを元に戻す。
6. おまけ
Cygwin Bash Shell (cmd.exe) の規定値設定変更



フォント
  MSゴシック
  フォントサイズ:12
レイアウト
  画面バッファ幅:100
  ウィンドウ幅:100
  ウィンドウ高さ:100


7. 参考サイト

2010-08-06

プロダクトとしてのWave終了のお知らせ

各所で Google Wave 開発中止の報道が流れています。
Complete Guide のなんちゃって翻訳を行っていた身として、
感謝のエントリー。

Google 自身も、もともと「Surprise us」というくらい
何に使っていいか分からない状態でのサービス提供。

入力した内容を多言語にリアルタイム翻訳したり、
XMLで表現できるものなら、何でも同時編集できるという
クラウドサービスのパワーと技術的な可能性を感じるプロダクトでした。

イチ利用者として、プロダクトのポテンシャルに
発想が追いつかなかったわけですが、
私にとってはオンラインに戻るキッカケとなったサービスで、
普段の生活では、接点の無さそうな方々と知り合いになれ
夢のようなヒトトキでした。そして夢はまだ続いています。

 最近興味の引いたコンテンツは、
成果物としての「UX」とはなにかを考えよう (@yhassy)
など、どこに向かうか楽しみな wave も出てきており、
参加型プレスリリースの新しい形かなと期待していました。
# 今や、「それ buzzで(ry 」ですかね。

サービスとしては、プロトコルが主な興味で「バージョン管理されたドキュメント」という側面と
「ロボットやガジェットAPIによる拡張性」という側面に
特に注目していました。


Operational Transformation (日本語訳:@noriyo)は関数型言語の流行もあって、
使いやすい実装が出てくるのを期待します(他力本願モード)。
(というか、欲しいので勉強しなきゃ。)
 
ともあれ、開発終了はプロダクトとしての Wave なので、
思想は受け継がれ、他のサービスに生き続けることでしょう。
# リファレンス実装は他にも出てますし、やりようによっては、自宅の俺Waveサーバ建てれますし。

私は、この思想への興味は尽きそうにありません。

2010-08-02

宿題に回答

先日とある食事会に参加し、私に振られはしたものの
中途半端な回答になった感のある話題を
ピックアップして備忘録的にキーワードを羅列しておきます。

■SGMLベースで電子カルテって言ってる人たちっていましたよね...?情報元って何?
 => オープンな仕様は、今では XML ベースになってて、地域によっては一患者一カルテが実現しています。 (医師で好きなヒトがいる)
...が、私が扱ってる範囲ではまったく兆候が見られません(医療機関内だけでなくベンダーにもギャップがある)。

  • MEDIS/DC
  • JIHIS
  • HL7/MML
  • Dolphin Project
  • 医療情報技師(民間資格ビジネス)
流れはオープンデータに向かってるけれども、現実問題この業界でそれが起こるのか。観察には事欠きません。

...で本題。
一言で終わろうと思えば終わる、別れ際の宿題の回答を
あえてエントリー。

別れ際に
@bardiche 「翻訳するのにいいツールない?」
私「私の場合個人レベルなので使ってないけどw」
というやり取りがあり、観測範囲でチラミしている感じでは
規模によってはこんな方法もあるみたいですよと適当に返事をしてしまいました。

詳細は後日ということで、その場は別れましたのでその回答。

1つめ:

分散構成管理システムの Mercurial を翻訳に利用しているグループもあるようです。


2つめ:
あの場では phenix って言いましたが間違ってました
正しくは Sphinx です。

3つめ:

DocuWiki というものもあるようですが、
PHP 製は個人的な理由で敬遠中。
(すばらしいフレームワークが多いので、個人的に損してると思う)

■その他キーワード
  • シンプルなことは複雑(単純化するのは難しい)。(大人になるといろいろ判って考えちゃうよね)
  • 「分かること」と「ヒトを評価すること」(最近、情報消費の感覚が雑だよね。バイナリシンキング) 
  • IAは基本的なヒューマンスキル。誰にでも素養はある。
  • コンテンツとコンテキスト(外情報(exformation)と情報の流動化、などなど。) 
  • 五感の中で嗅覚って WEB では置いてけぼりっぽい。
  • ルサンチマンとポジティブシンキング(ポリアンナ症候群)。
  • 「日本版」とか「俺仕様」とか。
  • 世の中知らないで良いこともたくさんある。(派閥ってxxx)
  • 建築写真集ジャケットフェチという消費方法に共感。
書ききれないくらいキーワードが増えて来るので
これくらいにして忘却します。

続きはまたの機会に。


2010/08/03修正
ちょっと配慮に欠けた感がそこはかとなく漂っていたので一部訂正しました。

2010-07-24

RedisCookbook 日本語訳を(やっと) github に公開しました。

放置されていた RedisCookbook ですが、
先日ひょんなこと(node.js)から触った cygwin 使ったら
うまく リモートサーバに push できたのでご報告。


----
■cygwin に git セットアップ
  • openssh
  • git
設定
git config --global user.name "jasagiri"
git config --global user.email "jasagirixxx at gmail dot com"
git config --global color.ui "auto"

設定確認
git config --global --list


■SSH設定

鍵作成
ssh-keygen -t dsa


 注): ssh-keygen -b 2048 -t rsa -f ~/.ssh/github_rsa だと、「Permission denied (publickey)」と怒られて push できない。
参照):http://help.github.com/troubleshooting-ssh/

パスフレーズ入れる



クリップボードにコピー
cat ~/.ssh/id_dsa.pub | putclip

鍵の保管場所を変更しておく。

github サイトで公開鍵を登録 (最後の改行注意)


■ フォーク
 http://github.com/rediscookbook/rediscookbook からさっくりフォーク

■修正

修正元取得
git clone xxx@xxxx:jasagiri/rediscookbook.translation.git

ごにょごにょ変更

変更点をローカルリポジトリに知らせる
git add .

変更点をローカルリポジトリに登録する

git commit -m 'japanese translation: fixed changeset 04abfa6 (2010/07/01)'

変更点をリモートリポジトリに登録する

git push origin master
Enter passphrase for key 'key path and name': <sshのパスフレーズ>

公開されているか確認
http://github.com/jasagiri/rediscookbook.translation



■メモ
  • フォーク元に迷惑かからないようにできているのか不安。
  • upstream とか基本的なことがわかってないw
  • submodule 化したほうが良かったかもと今更ながら
  • en-US分を翻訳元として追随使用と思うとどうフォークするのが正解?