p2p bug tracking with sd

222
P2P Bug Tracking with SD http://syncwith.us curl fsck.com/sd|perl; ~/sd/bin/sd SD を使った P2P バグトラッキング

Upload: jesse-vincent

Post on 17-May-2015

5.703 views

Category:

Technology


2 download

DESCRIPTION

SD is a new distributed issue tracking system designed for the open web.

TRANSCRIPT

Page 1: P2P Bug Tracking with SD

P2P Bug Tracking with SD

http://syncwith.us

curl fsck.com/sd|perl; ~/sd/bin/sd

SD を使った P2P バグトラッキング

Page 2: P2P Bug Tracking with SD

Hi!

こんにちは

Page 3: P2P Bug Tracking with SD

I’m Jesse (obra)

Jesse です

Page 4: P2P Bug Tracking with SD

I own a small software company

小さな会社の社長をしています

Page 5: P2P Bug Tracking with SD

(Best Practical)

Page 6: P2P Bug Tracking with SD

I’ve been making issue trackers since

1995

1995年からバグトラッカーを作ってきました

Page 7: P2P Bug Tracking with SD

Our softwarehas some bugs

うちのソフトには バグがあります

Page 8: P2P Bug Tracking with SD

All softwarehas some bugs

どんなソフトでもバグはあります

Page 9: P2P Bug Tracking with SD

(All software is made of bugs)

ソフトなんてバグでできているのです

Page 10: P2P Bug Tracking with SD

I spend a lot of timeon airplanes...

私はよく飛行機に乗ります

Page 11: P2P Bug Tracking with SD

...and at conferences with bad wifi

ネットにつながりにくいイベントにもよく行きます

Page 12: P2P Bug Tracking with SD

I need to keep track of our bugs and our

work

でも、バグや仕事から目を離すわけにはいきません

Page 13: P2P Bug Tracking with SD

I’m the boss

社長ですから

Page 14: P2P Bug Tracking with SD

I have no excuse for not doing my work

言い訳は通用しません

Page 15: P2P Bug Tracking with SD

I need to keep track of our bugs and our work even when I

don’t have net accessネットがなくてもバグや仕事は管理しないといけないのです

Page 16: P2P Bug Tracking with SD

I’ve tried everything

あらゆる方法を試してみました

Page 17: P2P Bug Tracking with SD

Text files

テキストファイル

Page 18: P2P Bug Tracking with SD

Text files inversion control

バージョン管理したテキストファイル

Page 19: P2P Bug Tracking with SD

IMAP Servers

IMAPサーバ

Page 20: P2P Bug Tracking with SD

RSS Feeds

RSSフィード

Page 21: P2P Bug Tracking with SD

Running RT onmy laptop

ラップトップで RTを走らせてみたり

Page 22: P2P Bug Tracking with SD

Keeping browsers open

ブラウザを開きっぱなしにしてみたり

Page 23: P2P Bug Tracking with SD

Nothing was quite right

どれもイマイチでした

Page 24: P2P Bug Tracking with SD

So we built SD

そこで作ったのが SDです

Page 25: P2P Bug Tracking with SD

SD is a Bug Tracker

SDはバグトラッカーです

Page 26: P2P Bug Tracking with SD

SD is a DistributedBug Tracker

SDは分散型のバグトラッカーです

Page 27: P2P Bug Tracking with SD

SD Features (の特徴 )

Tracks bugsCLIWeb UIScriptableWorks offlineAttachmentsCommentsCustomizable workflowCustom properties

P2P SyncTrac SyncRT SyncHiveminder SyncGitHub SyncGoogle Code SyncConflict ResolutionGit integrationDarcs integration

Page 28: P2P Bug Tracking with SD

Principles of distributed computing

分散コンピューティングの原理

Page 29: P2P Bug Tracking with SD

Bill Joy, Tom Lyon, Peter Deutsch and

James Gosling created these

ビル・ジョイらはこんなものを作りました

Page 30: P2P Bug Tracking with SD
Page 31: P2P Bug Tracking with SD

The network is reliable

ネットワークが信頼できて

Page 32: P2P Bug Tracking with SD

Latency is zero

遅延時間はゼロで

Page 33: P2P Bug Tracking with SD

Bandwidth is infinite

帯域幅は無限

Page 34: P2P Bug Tracking with SD

The network is secure

ネットワークは安全で

Page 35: P2P Bug Tracking with SD

Transport cost is zero

転送料はゼロ

Page 36: P2P Bug Tracking with SD

The network is homogeneous

ネットワークは均質で

Page 37: P2P Bug Tracking with SD

Topology doesn't change

ネットワークの構成は変化しない

Page 38: P2P Bug Tracking with SD

There is one administrator

管理者はひとり

Page 39: P2P Bug Tracking with SD

I didn’t make those up

私にはそんなもの用意できませんでした

Page 40: P2P Bug Tracking with SD

Bill Joy, Tom Lyon, Peter Deutsch and James Gosling did

彼らは用意しましたが

Page 41: P2P Bug Tracking with SD

Principles of distributed computing

Fallacie

sFall

acies

分散コンピューティングの原理

Page 42: P2P Bug Tracking with SD

Those are all LIES

そんなものは真っ赤な嘘です

Page 43: P2P Bug Tracking with SD

The network is not reliable

ネットワークなんて信頼できません

Page 44: P2P Bug Tracking with SD

SD isn’t network-dependent

だから SDはネットワークに依存しません

Page 45: P2P Bug Tracking with SD

Latency hurts

遅延時間もひどいものです

Page 46: P2P Bug Tracking with SD

SD runs at the edge

だから SDは境界上で動作します

Page 47: P2P Bug Tracking with SD

Bandwidth is always a problem

帯域幅はいつでも悩みの種です

Page 48: P2P Bug Tracking with SD

SD knows which changesets you’ve

already seen

だから SDはどのチェンジセットを見たか覚えています

Page 49: P2P Bug Tracking with SD

The network is insecure

ネットワークは安全ではありません

Page 50: P2P Bug Tracking with SD

SD doesn’t depend on a network security

layer

だから SDはネットワークのセキュリティ層には依存しません

Page 51: P2P Bug Tracking with SD

Topology is unpredictable

and fluid

ネットワークの構成は予測できませんし流動的です

Page 52: P2P Bug Tracking with SD

SD is topology-agnostic

だから SDは構成不可知論の立場をとります

Page 53: P2P Bug Tracking with SD

There is no administrator

管理者なんていません

Page 54: P2P Bug Tracking with SD

(But there are many people who think

they’re administrators)

そのつもりでいる人はたくさんいますが

Page 55: P2P Bug Tracking with SD

SD lets you implement policy in

the centralized systems it syncs to

だから SDは同期先の中央管理システム側でポリシーを実装できるようになっています

Page 56: P2P Bug Tracking with SD

Transportcosts money

転送料はタダではありません

Page 57: P2P Bug Tracking with SD

SD doesn’t use much bandwidth & can use

non-network substrates

だから SDはあまり帯域幅を使いません。ネットワーク以外の下位層にも対応しています

Page 58: P2P Bug Tracking with SD

The network is heterogeneous

ネットワークは均質ではありません

Page 59: P2P Bug Tracking with SD

SD is designed to sync to foreign

systems

だから SDは外部のシステムと同期できるようになっています

Page 60: P2P Bug Tracking with SD

SD runs locally

SDはローカルで実行できます

Page 61: P2P Bug Tracking with SD

SD plays wellwith others

ほかのソフトともうまくつきあえます

Page 62: P2P Bug Tracking with SD

It syncs the way you do

同期の取り方は人間と同じ

Page 63: P2P Bug Tracking with SD

Clone a project’s bugdatabase (over HTTP)

(HTTP経由で )プロジェクトのバグデータベースのクローンを作って

Page 64: P2P Bug Tracking with SD

Work offline

オフラインで作業して

Page 65: P2P Bug Tracking with SD

Pull changesets from anyone you work

with

仕事仲間からチェンジセットを取ってきて

Page 66: P2P Bug Tracking with SD

Publish your database replica with

rsync

データベースの複製を rsyncで公開

Page 67: P2P Bug Tracking with SD

Topology doesn’t matter...

ネットワークの構成なんて関係ありません

Page 68: P2P Bug Tracking with SD

Don’t worry

ご心配なく

Page 69: P2P Bug Tracking with SD

It won’t break

それでも壊れませんから

Page 70: P2P Bug Tracking with SD

SD learns how to resolve each

conflict...

SDは衝突の解決策をひとつひとつ学んでいきます

Page 71: P2P Bug Tracking with SD

...based on how everyone else

resolves it

ベースとなるのは、ほかの人がどう解決したかです

Page 72: P2P Bug Tracking with SD

Using SD (CLI)

SDの使い方 (CLI)

Page 73: P2P Bug Tracking with SD

Getting Started

使ってみましょう

Page 74: P2P Bug Tracking with SD

SD Shell

$ sd

シェル

Page 75: P2P Bug Tracking with SD

./

Page 76: P2P Bug Tracking with SD

Getting help

$ sd help

ヘルプ

Page 77: P2P Bug Tracking with SD
Page 78: P2P Bug Tracking with SD

Creating a new project

$ sd init新規プロジェクトの作成

Page 79: P2P Bug Tracking with SD
Page 80: P2P Bug Tracking with SD

Project settings

$ sd settings

プロジェクトの設定

Page 81: P2P Bug Tracking with SD
Page 82: P2P Bug Tracking with SD

Config file

$ sd config

設定ファイル

Page 83: P2P Bug Tracking with SD
Page 84: P2P Bug Tracking with SD

Create a bug

$ sd ticket create

バグ情報を登録する

Page 85: P2P Bug Tracking with SD
Page 86: P2P Bug Tracking with SD

Listing bugs

$ sd ticket list

バグ情報の一覧表示

Page 87: P2P Bug Tracking with SD
Page 88: P2P Bug Tracking with SD
Page 89: P2P Bug Tracking with SD

Show a bug

$ sd ticket show

バグ情報を表示する

Page 90: P2P Bug Tracking with SD
Page 91: P2P Bug Tracking with SD

Update a bug

$ sd ticket update

バグ情報を更新する

Page 92: P2P Bug Tracking with SD
Page 93: P2P Bug Tracking with SD
Page 94: P2P Bug Tracking with SD
Page 95: P2P Bug Tracking with SD

Log

$ sd log

ログ

Page 96: P2P Bug Tracking with SD
Page 97: P2P Bug Tracking with SD
Page 98: P2P Bug Tracking with SD

Git Integration

$ git sd

Gitに統合

Page 99: P2P Bug Tracking with SD
Page 100: P2P Bug Tracking with SD

Using SD (Web)

SDの使い方 (Web)

Page 101: P2P Bug Tracking with SD

Web? Isn’t SD anoffline tool?

あれ、 SDってオフラインツールじゃなかったの?

Page 102: P2P Bug Tracking with SD

Local microserver

ローカルのマイクロサーバ

Page 103: P2P Bug Tracking with SD

$ sd browser

Page 104: P2P Bug Tracking with SD

Home

ホーム

Page 105: P2P Bug Tracking with SD
Page 106: P2P Bug Tracking with SD

Create a ticket

チケットを登録する

Page 107: P2P Bug Tracking with SD
Page 108: P2P Bug Tracking with SD

Search

検索

Page 109: P2P Bug Tracking with SD
Page 110: P2P Bug Tracking with SD

Show a bug

バグ情報を表示する

Page 111: P2P Bug Tracking with SD
Page 112: P2P Bug Tracking with SD

Update a bug

バグ情報を更新する

Page 113: P2P Bug Tracking with SD
Page 114: P2P Bug Tracking with SD

Comments

コメント

Page 115: P2P Bug Tracking with SD
Page 116: P2P Bug Tracking with SD

History

履歴

Page 117: P2P Bug Tracking with SD
Page 118: P2P Bug Tracking with SD

Working with others

ほかの人と一緒に作業する場合

Page 119: P2P Bug Tracking with SD

Working with others(Using SD)

ほかの人と一緒に作業する場合(SDを利用 )

Page 120: P2P Bug Tracking with SD

Any topology

ネットワークの構成は任意

Page 121: P2P Bug Tracking with SD

It doesn’t matter who you sync with

同期する相手は誰でもかまいません

Page 122: P2P Bug Tracking with SD

You get all the updates

eventually

そのうちすべての更新情報が届きます

Page 123: P2P Bug Tracking with SD

Cloning

$ sd clone

クローン

Page 124: P2P Bug Tracking with SD

clone makes a replica of someone else’s

database

クローンするとほかの人のデータベースの複製を作ります

Page 125: P2P Bug Tracking with SD
Page 126: P2P Bug Tracking with SD
Page 127: P2P Bug Tracking with SD

Pulling

$ sd pull

取得

Page 128: P2P Bug Tracking with SD

pull imports unseen changes from

another database replica

ほかのデータベースの複製から未見の変更をインポートします

Page 129: P2P Bug Tracking with SD
Page 130: P2P Bug Tracking with SD

Publishing

$ sd publish

公開

Page 131: P2P Bug Tracking with SD

publish writes out a copy of your

database replica for sharing

データベースの複製のコピーをほかの人と共有できるように書き出します

Page 132: P2P Bug Tracking with SD

(As SD changesets and static HTML)

SDのチェンジセットと静的な HTMLの形で

Page 133: P2P Bug Tracking with SD
Page 134: P2P Bug Tracking with SD

Hackathon mode(using Bonjour)

ハッカソンモード (Bonjourを使って )

Page 135: P2P Bug Tracking with SD

Publish your replica

$ sd server

Page 136: P2P Bug Tracking with SD

Pull updates

$ sd pull --local

更新を取得

Page 137: P2P Bug Tracking with SD

Working with others(Using other systems)

ほかの人と一緒に作業する場合(ほかのシステムを使う )

Page 138: P2P Bug Tracking with SD

But you already have a bug tracker?

もうバグトラッカーを使っていますって?

Page 139: P2P Bug Tracking with SD

No Problem!

大丈夫!

Page 140: P2P Bug Tracking with SD

I use at leasttwo others.

私も少なくともあと 2つ使っています

Page 141: P2P Bug Tracking with SD

I wrote at leasttwo others.

少なくともあと 2つ書きました

Page 142: P2P Bug Tracking with SD

We designed SD talk to foreign bug

trackers

Sdは外部のバグトラッカーともやりとりできるように設計しました

Page 143: P2P Bug Tracking with SD

RT

Page 144: P2P Bug Tracking with SD

RT::Client::REST(By DMITRI, DAMS & AMS)

Page 145: P2P Bug Tracking with SD

Hiveminder

Page 146: P2P Bug Tracking with SD

Net::Jifty(by SARTAK)

Page 147: P2P Bug Tracking with SD

Trac

Page 148: P2P Bug Tracking with SD

Net::Trac(by JESSE & TSIBLEY)

Page 149: P2P Bug Tracking with SD

Google Code

Page 150: P2P Bug Tracking with SD

Net::Google::Code(by SUNNAVY and FAYLAND)

Page 151: P2P Bug Tracking with SD

GitHub

Page 152: P2P Bug Tracking with SD

Net::GitHub(by FAYLAND)

Page 153: P2P Bug Tracking with SD

Lighthouse(VERY beta!)

Page 154: P2P Bug Tracking with SD

Net::Lighthouse(by SUNNAVY)

Page 155: P2P Bug Tracking with SD

Redmine(Read-only for now)

Page 156: P2P Bug Tracking with SD

Net::Redmine(by GUGOD)

Page 157: P2P Bug Tracking with SD

Want to help with Bugzilla, Jira, FogBugz

or something else?

Bugzillaとかも使いたい?

Page 158: P2P Bug Tracking with SD

Work with foreign

replicas in a Star

Topologyスター構成にすれば外部の複製も使えます

Page 159: P2P Bug Tracking with SD

An SD node can act as a gateway

X

SDのノードはゲートウェイにもなります

Page 160: P2P Bug Tracking with SD

Clone

$ sd clone

クローン

Page 161: P2P Bug Tracking with SD

Clone from Google Code

$ sd clone --from gcode:k9mail

Google Codeから

Page 162: P2P Bug Tracking with SD

Clone from RT

$ sd clone --from "rt:https://rt.cpan.org|DBI|"

RTから

Page 163: P2P Bug Tracking with SD

Clone from Trac

$ sd clone --from trac:https://trac.parrot.org/parrot

Tracから

Page 164: P2P Bug Tracking with SD

Clone from GitHub

$ git sd clone --from github:miyagawa/remedie

Githubから

Page 165: P2P Bug Tracking with SD

SD reverse engineers a database history

SDはデータベースの履歴を逆解析します

Page 166: P2P Bug Tracking with SD

Pull

$ sd pull

Page 167: P2P Bug Tracking with SD

SD reverse engineers a partial database

history

SDは部分的なデータベースの履歴も逆解析します

Page 168: P2P Bug Tracking with SD

Push

$ sd push

Page 169: P2P Bug Tracking with SD

SD figures out local updates and sends

them upstream

SDはローカルの更新を見つけて上流に送ります

Page 170: P2P Bug Tracking with SD

(Then it does a bunch of book-keeping)

それからさまざまな記録をつけます

Page 171: P2P Bug Tracking with SD

So what’s that all look like in the real

world?

実際の例を見てみましょう

Page 172: P2P Bug Tracking with SD

Google Code Alice’s SD Bob’s SD

Create some bugs

clone --from gcode:k9mail Alice’s SD makes a full copy of the k9mail from google code

Someone updates ticket 12

ticket update 13

ticket create

pull --from k9mail SD integrates upstream changes from Google Code since Alice ran the ‘clone’ command.

push --to k9mail SD figures out what’s changed locally since the original ‘clone’ command. SD then sends any changes that Google Code hasn’t seen upstream as ticket updates. Alice’s new ticket and her updates to ticket 13 are now part of the upstream bug database in Google Code

publish --to alice.com:public_html/k9

SD exports a full copy of Alice’s bug database and rsyncs it up to alice.com/k9. Anyone browsing alice.com/k9 can clone her SD replica. (Or see it in static HTML)

clone --from http://alice.com/k9 Bob makes a full copy of Alice’s SD replica of the k9mail database. He’s now free to make changes to his local database replica.

ticket update 45

ticket create

ticket create

ticket update 45

publish --to bob.com:public_html/k9 Bob publishes his full K9 bug database. Anyone browsing bob.com/k9 can clone Bob’s K9 replica. Anyone who already has a copy of Alice or Bob’s database can incorporate Bob’s new ticket and his changes to ticket 45.

pull --from http://bob.com/k9 Alice’s SD pulls all previously unseen updates from Bob’s published database replica and incorporates them. If Bob's edits to ticket 45 didn't conflict, Alice's SD incorporate them. If they did conflict, Alice will be prompted to resolve the conflict.

push --to k9mail Alice publishes all updates her bug database has seen since she last sent updates to Google Code. Google Code now has all of Alice and Bob’s changes.

Page 173: P2P Bug Tracking with SD

Installing SD

SDのインストール

Page 174: P2P Bug Tracking with SD

It’s time to get SD up and running

いよいよ SDを走らせてみましょう

Page 175: P2P Bug Tracking with SD

SD is in Perl

SDは Perlで書かれています

Page 176: P2P Bug Tracking with SD

SD uses 45-90 CPAN modules

45 ~ 90個の CPANモジュールを使っています

Page 177: P2P Bug Tracking with SD
Page 178: P2P Bug Tracking with SD

Are you afraid?

大変そう?

Page 179: P2P Bug Tracking with SD

Don’t be

心配ご無用

Page 180: P2P Bug Tracking with SD

I have a novel idea for

a Perl application

これまでの Perlアプリとは違う新しいやり方を思いついたんです

Page 181: P2P Bug Tracking with SD

One-tweet install.

インストールはつぶやき 1回分

Page 182: P2P Bug Tracking with SD

I’m installing #SD (http://syncwith.us) after seeing @obra’s talk at #YAPCASIA!

YAPCASIAで@obraの話を見て#SD (http://syncwith.us)をインストールしてる

Page 183: P2P Bug Tracking with SD

80 bytes! I still have 60 to work with!

80バイト ! まだ 60バイトもありますよ !

Page 184: P2P Bug Tracking with SD

I’m installing #SD (http://syncwith.us) after seeing @obra’s talk at #YAPCASIA!

curl fsck.com/sd|perl; export PATH=~/sd/bin:$PATH; sd

curl fsck.com/sd|perl; export PATH=~/sd/bin:$PATH; sd

Page 185: P2P Bug Tracking with SD

You’ll need:

curl, perl 5.8, C compiler

必要なのは curl, perl 5.8, Cコンパイラ

Page 186: P2P Bug Tracking with SD

You won’t need:

CPAN

CPAN不要

Page 187: P2P Bug Tracking with SD

You won’t need:

to answer prompts

質問に答えたりする必要もなし

Page 188: P2P Bug Tracking with SD

You won’t need:

to fix dependencies

依存モジュールの修正も不要

Page 189: P2P Bug Tracking with SD

SD is in Perl

SDは Perlで書かれています

Page 190: P2P Bug Tracking with SD

SD uses CPAN modules.

CPANモジュールも使っています

Page 191: P2P Bug Tracking with SD

This is a blessing.

ありがたいことです

Page 192: P2P Bug Tracking with SD

This is a curse.

呪いでもありますが

Page 193: P2P Bug Tracking with SD

CPAN=

Dependency Hell

CPANは依存地獄です

Page 194: P2P Bug Tracking with SD

When we first built SD, we used anything

we thought was useful

SDを最初に作ったときは便利そうなものを使いまくりました

Page 195: P2P Bug Tracking with SD

(The first version of SD used a SVN

backend)

最初のバージョンはバックエンドにSVNを使っていました

Page 196: P2P Bug Tracking with SD

The first ~useful version of SD:

最初のバージョンがほぼ使えるようになったときはこんな感じでした

Page 197: P2P Bug Tracking with SD
Page 198: P2P Bug Tracking with SD

123 Dependencies

123個の依存モジュール

Page 199: P2P Bug Tracking with SD

...a couple hours later

…数時間後には

Page 200: P2P Bug Tracking with SD
Page 201: P2P Bug Tracking with SD

54 Dependencies

54個の依存モジュール

Page 202: P2P Bug Tracking with SD

Only one needs a compiler.

コンパイラが必要なのは 1つだけ

Page 203: P2P Bug Tracking with SD

Shipwright gives us one-command install

Shipwrightのおかげでコマンド 1つでインストールできるようになりました

Page 204: P2P Bug Tracking with SD

curl fsck.com/sd|perl export PATH=$PATH:~/sd/bin

Page 205: P2P Bug Tracking with SD

What’s that do?

どうなってるのか

Page 206: P2P Bug Tracking with SD

curl

Page 207: P2P Bug Tracking with SD

perl

Page 208: P2P Bug Tracking with SD

$ head /Library/WebServer/Documents/sd

open (my $tar,'|tar xz 2>/dev/null');while (<DATA>) { print $tar $_; }close $tar;exec("cd sd-build; bin/shipwright-builder \ --install-base=$ENV{HOME}/sd");__DATA__?I?Isd-build.tar?<is?F???_1?䀌 yH?"#ٲ${U???H?eH...

Page 209: P2P Bug Tracking with SD

Shipwright installs a few Perl modules...

Shipwrightは Perlモジュールをいくつかインストールします…

Page 210: P2P Bug Tracking with SD
Page 211: P2P Bug Tracking with SD

...in order

順にあげると…

Page 212: P2P Bug Tracking with SD

Scalar-List-Utils String-BufferStack Class-Accessor Class-Data-Inheritable Scalar-List-Utils String-BufferStack Class-Accessor Class-Data-Inheritable Tree-DAG_Node Test-Simple Sub-Uplevel Test-Exception Array-Compare Test-Tree-DAG_Node Test-Simple Sub-Uplevel Test-Exception Array-Compare Test-Warn Template-Declare URI HTTP-Server-Simple Params-Util Class-Inspector Warn Template-Declare URI HTTP-Server-Simple Params-Util Class-Inspector File-ShareDir DBI DBD-SQLite HTML-Tagset HTML-Parser HTML-Tree Crypt-File-ShareDir DBI DBD-SQLite HTML-Tagset HTML-Parser HTML-Tree Crypt-SSLeay JSON YAML-Syck JSON-XS JSON-DWIW JSON-Any Mouse Any-Moose SSLeay JSON YAML-Syck JSON-XS JSON-DWIW JSON-Any Mouse Any-Moose Compress-Raw-Zlib Compress-Raw-Bzip2 IO-Compress libwww-perl HTTP-Compress-Raw-Zlib Compress-Raw-Bzip2 IO-Compress libwww-perl HTTP-Response-Encoding WWW-Mechanize WWW-Mechanize-GZip File-Slurp Test-Response-Encoding WWW-Mechanize WWW-Mechanize-GZip File-Slurp Test-MockModule Net-GitHub MIME-Types Class-Singleton Params-Validate MockModule Net-GitHub MIME-Types Class-Singleton Params-Validate version ExtUtils-CBuilder ExtUtils-ParseXS Test-Harness File-Temp Module-version ExtUtils-CBuilder ExtUtils-ParseXS Test-Harness File-Temp Module-Build DateTime-TimeZone List-MoreUtils DateTime-Locale DateTime File-Build DateTime-TimeZone List-MoreUtils DateTime-Locale DateTime File-MMagic Net-Google-Code Term-ReadLine-Perl Digest-SHA1 Digest-HMAC Net-MMagic Net-Google-Code Term-ReadLine-Perl Digest-SHA1 Digest-HMAC Net-IP Net-DNS Net-Bonjour TermReadKey UUID-Tiny XML-Atom-SimpleFeed IP Net-DNS Net-Bonjour TermReadKey UUID-Tiny XML-Atom-SimpleFeed Digest-SHA Exporter-Lite IPC-Run3 MIME-Base64-URLSafe Sub-Install Data-Digest-SHA Exporter-Lite IPC-Run3 MIME-Base64-URLSafe Sub-Install Data-OptList Sub-Exporter Path-Dispatcher Module-Pluggable Time-Progress Carp-OptList Sub-Exporter Path-Dispatcher Module-Pluggable Time-Progress Carp-Assert Proc-InvokeEditor Test-HTTP-Server-Simple Module-Refresh Carp-Assert Proc-InvokeEditor Test-HTTP-Server-Simple Module-Refresh Carp-Assert-More Test-LongString Test-WWW-Mechanize Test-Script-Run Assert-More Test-LongString Test-WWW-Mechanize Test-Script-Run prophet.git Devel-StackTrace Exception-Class Error RT-Client-REST Email-prophet.git Devel-StackTrace Exception-Class Error RT-Client-REST Email-Address YAML Path-Class Clone Hash-Merge UNIVERSAL-isa UNIVERSAL-can Address YAML Path-Class Clone Hash-Merge UNIVERSAL-isa UNIVERSAL-can Test-MockObject Net-Jifty Lingua-EN-Inflect Text-CSV Net-Trac boolean Time-Test-MockObject Net-Jifty Lingua-EN-Inflect Text-CSV Net-Trac boolean Time-Piece Test-MockTime DateTime-Format-Natural sd.git Piece Test-MockTime DateTime-Format-Natural sd.git

Page 213: P2P Bug Tracking with SD

(104 dists with our sync plugins)

syncプラグイン経由で 104個

Page 214: P2P Bug Tracking with SD

What’s wrongwith SD?

SDにバグがあったら?

Page 215: P2P Bug Tracking with SD

$ sd clone --from http://fsck.com/~jesse/sd-bugs

Page 216: P2P Bug Tracking with SD

Don’t want to install SD?

インストールはしたくない?

Page 217: P2P Bug Tracking with SD

Point your browser athttp://fsck.com/~jesse/sd-bugs/html

ブラウザからでも大丈夫

Page 218: P2P Bug Tracking with SD

What’s next?

SDのこれから?

Page 219: P2P Bug Tracking with SD

Indexing

インデックス

Page 220: P2P Bug Tracking with SD

GPG-signed changesets

GPG署名付きのチェンジセット

Page 221: P2P Bug Tracking with SD

Actually releasing 1.0

本当に 1.0をリリースすること

Page 222: P2P Bug Tracking with SD

Thanks!

Questions?

curl fsck.com/sd | perl

http://[email protected]