SlideShare a Scribd company logo
1 of 223
Download to read offline
P2P Bug Tracking with SD
                        http://syncwith.us

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

                                Jesse Vincent
Hi!
I’m Jesse (obra)
I own a small software
      company
(Best Practical)
I’ve been making issue
  trackers since 1995
Our software
has some bugs
All software
has some bugs
(All software
is made of bugs)
I spend a lot of time
    on airplanes...
...and at conferences
     with bad wifi
I need to keep track of
our bugs and our work
I’m the boss
I have no excuse for
 not doing my work
I need to keep track of
our bugs and our work
even when I don’t have
    Internet access
I’ve tried everything
Text files
Text files in
version control
IMAP Servers
RSS Feeds
Running RT on
  my laptop
Keeping browsers open
Nothing was quite right
So we built SD
SD is a Bug Tracker
SD is a Distributed
   Bug Tracker
SD Features
Tracks bugs            P2P Sync
CLI                    Trac Sync
Web UI                 RT Sync
Scriptable             Hiveminder Sync
Works offline           GitHub Sync
Attachments            Google Code Sync
Comments               Conflict Resolution
Customizable workflow   Git integration
Custom properties      Darcs integration
Principles of distributed
       computing
The network is reliable
Latency is zero
Bandwidth is infinite
The network is secure
Transport cost is zero
The network is
homogeneous
Topology doesn't
    change
There is one
administrator
Principles of distributed
       computing
ie s
      la c
 Principles of distributed
    l
F a       computing
Those are all LIES
The network is not
      reliable
SD isn’t network-
  dependent
Latency hurts
SD runs at the edge
Bandwidth is always
    a problem
SD knows which
changesets you’ve already
          seen
The network is
  insecure
SD doesn’t depend on a
 network security layer
Topology is
unpredictable
  and fluid
SD is topology-agnostic
There is no
administrator
(But there are many
  people who think
they’re administrators)
SD lets you implement
policy in the centralized
  systems it syncs to
Transport
costs money
SD doesn’t use much
 bandwidth & can use
non-network substrates
The network is
heterogeneous
SD is designed to sync to
     foreign systems
I didn’t make those up
Bill Joy, Tom Lyon and
  James Gosling did
They missed one
Data is clean
SD doesn’t expect to be
 able to enforce data
    integrity rules
SD runs locally
SD plays well
 with others
It syncs the way you do
Clone a project’s bug
database (over HTTP)
Work offline
Pull changesets from
anyone you work with
Publish your database
  replica with rsync
Topology doesn’t matter...
Don’t worry
It won’t break
SD learns how to
resolve each conflict...
...based on how
everyone else resolves it
Using SD (CLI)
Getting Started
SD Shell

$ sd
./
Getting help

$ sd help
Creating a new project

$ sd init
Project settings

$ sd settings
Config file

$ sd config
Create a bug

$ sd ticket create
Listing bugs

$ sd ticket list
Show a bug

$ sd ticket show
Update a bug

$ sd ticket update
Log

$ sd log
Git Integration

$ git sd
Using SD (Web)
Web? Isn’t SD an
 offline tool?
Local microserver
$ sd browser
Home
Create a ticket
Search
Show a bug
Update a bug
Comments
History
Working with others
Working with others
   (Using SD)
Any topology
It doesn’t matter who
     you sync with
You get all the updates
      eventually
Cloning

$ sd clone
clone makes a replica of
    someone else’s
       database
Pulling

$ sd pull
pull imports unseen
changes from another
   database replica
Publishing

$ sd publish
publish writes out a
copy of your database
  replica for sharing
(As SD changesets
 and static HTML)
Hackathon mode
 (using Bonjour)
Publish your replica

$ sd server
Pull updates

$ sd pull --local
Working with others
(Using other systems)
But you already have a
     bug tracker?
No Problem!
I use at least
 two others.
I wrote at least
  two others.
We designed SD talk to
 foreign bug trackers
RT
(RT::Client::REST)
Hiveminder
(Net::Jifty)
Trac
(Net::Trac)
Google Code
(Net::Google::Code)
GitHub
(Net::GitHub)
Redmine
(Read-only for now)
(Net::Redmine)
Want to help with
Bugzilla, Jira, FogBugz or
   something else?
Work with
  foreign
replicas in
   a Star
Topology
X

    An SD node
    can act as a
      gateway
Clone

$ sd clone
Clone from Google Code

$ sd clone --from gcode:k9mail
Clone from RT
$ sd clone --from "rt:https://rt.cpan.org|DBI|"
Clone from Trac
$ sd clone --from trac:https://trac.parrot.org/parrot
Clone from GitHub
$ git sd clone --from github:miyagawa/remedie
SD reverse engineers a
   database history
Pull

$ sd pull
SD reverse engineers a
partial database history
Push

$ sd push
SD figures out local
 updates and sends
  them upstream
(Then it does a bunch
  of book-keeping)
So what’s that all look
like in the real world?
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.
Installing SD
It’s time to get SD
   up and running
SD is in Perl
SD uses 45-90
CPAN modules
Are you afraid?
Are you afraid?
Don’t be
I have a novel idea for
   a Perl application
One-tweet install.
I’m installing #SD (http://syncwith.us)
  after seeing @obra’s talk at #OSCON!
80 bytes! I still have 60
    to work with!
I’m installing #SD (http://syncwith.us)
  after seeing @obra’s talk at #OSCON!
         curl fsck.com/sd|perl;
     export PATH=~/sd/bin:$PATH; sd
You’ll need:

curl, perl 5.8, C compiler
You won’t need:

    CPAN
You won’t need:

to answer prompts
You won’t need:

to fix dependencies
SD is in Perl
SD uses CPAN
  modules.
This is a blessing.
This is a curse.
CPAN
      =
Dependency Hell
When we first built
 SD, we used anything
we thought was useful.
(The first version of SD
 used a SVN backend)
The first ~useful
 version of SD:
123 Dependencies
...a couple hours later
54 Dependencies
Only one needs a
   compiler.
Shipwright gives us
one-command install
curl fsck.com/sd|perl
export PATH=$PATH:~/sd/bin
What’s that do?
curl
perl
$ 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
...
Shipwright installs a few
    Perl modules...
...in order
Scalar-List-Utils        WWW-Mechanize-GZip        Sub-Exporter
String-BufferStack       File-Slurp                Path-Dispatcher
Class-Accessor           Test-MockModule           Module-Pluggable
Class-Data-Inheritable   Net-GitHub                Time-Progress
Tree-DAG_Node            MIME-Types                Carp-Assert
Test-Simple              Class-Singleton           Proc-InvokeEditor
Sub-Uplevel              Params-Validate           Test-HTTP-Server-Simple
Test-Exception           version                   Module-Refresh
Array-Compare            ExtUtils-CBuilder         Carp-Assert-More
Test-Warn                ExtUtils-ParseXS          Test-LongString
Template-Declare         Test-Harness              Test-WWW-Mechanize
URI                      File-Temp                 Test-Script-Run
HTTP-Server-Simple       Module-Build              prophet.git
Params-Util              DateTime-TimeZone         Devel-StackTrace
Class-Inspector          List-MoreUtils            Exception-Class
File-ShareDir            DateTime-Locale           Error
DBI                      DateTime                  RT-Client-REST
DBD-SQLite               File-MMagic               Email-Address
HTML-Tagset              Net-Google-Code           YAML
HTML-Parser              Term-ReadLine-Perl        Path-Class
HTML-Tree                Digest-SHA1               Clone
Crypt-SSLeay             Digest-HMAC               Hash-Merge
JSON                     Net-IP                    UNIVERSAL-isa
YAML-Syck                Net-DNS                   UNIVERSAL-can
JSON-XS                  Net-Bonjour               Test-MockObject
JSON-DWIW                TermReadKey               Net-Jifty
JSON-Any                 Data-UUID                 Lingua-EN-Inflect
Mouse                    XML-Atom-SimpleFeed       Text-CSV
Any-Moose                Digest-SHA                Net-Trac
Compress-Raw-Zlib        Exporter-Lite             boolean
Compress-Raw-Bzip2       IPC-Run3                  Time-Piece
IO-Compress              MIME-Base64-URLSafe       Test-MockTime
libwww-perl              Data-UUID-Base64URLSafe   DateTime-Format-Natural
HTTP-Response-Encoding   Sub-Install               sd.git
WWW-Mechanize            Data-OptList
(104 dists with our
   sync plugins)
What’s wrong with SD?
$ sd clone --from http://fsck.com/~jesse/sd-bugs
Don’t want to
 install SD?
Point your browser at
http://fsck.com/~jesse/sd-bugs/html
What’s next?
Indexing
GPG-signed changesets
Actually releasing 1.0
Thanks!

      Questions?

curl fsck.com/sd | perl


  http://syncwith.us
  jesse@bestpractical.com

More Related Content

More from Jesse Vincent

Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratchJesse Vincent
 
So, I made a keyboard
So, I made a keyboardSo, I made a keyboard
So, I made a keyboardJesse Vincent
 
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Jesse Vincent
 
Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011Jesse Vincent
 
Perl 5.16 and beyond
Perl 5.16 and beyondPerl 5.16 and beyond
Perl 5.16 and beyondJesse Vincent
 
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondOSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondJesse Vincent
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid storyJesse Vincent
 
K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for AndroidJesse Vincent
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SDJesse Vincent
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Jesse Vincent
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle HackeryJesse Vincent
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking systemJesse Vincent
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopJesse Vincent
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceJesse Vincent
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIRJesse Vincent
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIRJesse Vincent
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the CloudJesse Vincent
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is SharecroppingJesse Vincent
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
 

More from Jesse Vincent (20)

Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratch
 
So, I made a keyboard
So, I made a keyboardSo, I made a keyboard
So, I made a keyboard
 
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011
 
Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011
 
Perl 5.16 and beyond
Perl 5.16 and beyondPerl 5.16 and beyond
Perl 5.16 and beyond
 
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyondOSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyond
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid story
 
K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for Android
 
Perl 5.12.0
Perl 5.12.0Perl 5.12.0
Perl 5.12.0
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle Hackery
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIR
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIR
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the Cloud
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is Sharecropping
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
 

Recently uploaded

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 

Recently uploaded (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 

SD - A peer to peer issue tracking system