SlideShare a Scribd company logo
1 of 228
P2P Bug Tracking with SD
                 http://syncwith.us



Jesse Vincent
Best Practical

jesse@bestpractical.com
Hi!
I’m Jesse (obra)
clkao and 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 P2P Bug Tracker
It syncs the way you do
Clone a project’s bug
database over HTTP
Work offline
Pull 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
But you already have a
     bug tracker?
No Problem!
SD can talk to foreign
    bug trackers
RT, Hiveminder and
 Trac work today
Google Code is next
Want to help with
Bugzilla, Github or
 something else?
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
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
curl http://fsck.com/sd|perl
export PATH=$PATH:~/sd/bin
curl http://17h.local/sd|perl
export PATH=$PATH:~/sd/bin
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
Mirroring a project

$ sd clone
Publishing

$ sd publish
Pulling

$ sd pull
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
Home
Search
Show a bug
Update a bug
History
Create a ticket
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
Make a copy of
someone else’s
  database
Pulling

$ sd pull
Grab unseen changes
from another database
       replica
Publishing

$ sd publish
Write out 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)
What other systems?
Sync with RT
Sync with Trac
Sync with Hiveminder
Sync with lots more...
(If you help write code)
Star topology
One SD node acts as a
      gateway
Clone

$ sd clone
SD reverse engineers a
   database history
Pull

$ sd pull
SD reverse engineers
partial database history
Push

$ sd push
SD figures out local
 updates and sends
  them upstream
What’s wrong with SD?
$ sd clone http://fsck.com/~jesse/sd-bugs
You don’t want to
   install SD?
Point your browser at
http://fsck.com/~jesse/sd-bugs
What’s next?
Push to Trac
Google Code support
Indexing
GPG-signed changesets
Actually releasing 1.0
Questions?

http://syncwith.us
jesse@bestpractical.com
Bonus Material
Perl and Dependencies
SD is in Perl
SD uses CPAN
  modules.
This is a blessing.
This is a curse.
CPAN
      =
Dependency Hell
123 Dependencies
...one hour later:
95 Dependencies
...another hour later
82 Dependencies
Where we are today:
42 Dependencies
Only one needs a
   compiler.
Shipwright gives us
one-command install
curl http://fsck.com/sd|perl
export PATH=$PATH:~/sd/bin
What’s that do?
$ head /Library/WebServer/Documents/sd

open (my $tar,'|tar xz 2>/dev/null');
while (<DATA>) {
    print $tar $_;
}
close $tar;
exec(quot;cd sd-build; bin/shipwright-builder 
      --install-base=$ENV{HOME}/sdquot;);
__DATA__
?I?Isd-build.tar?<is?F???_1?䀌yH?quot;#‫{$ۿ‬U???H?eH
...
Then it installs some
  Perl modules...
...in order
Array-Compare            Params-Util
                                               Module-Pluggable
Carp-Assert              Params-Validate
                                               Net-DNS
Class-Accessor           Path-Class
                                               Sub-Exporter
Class-Data-Inheritable   Proc-InvokeEditor
                                               Test-Exception
Class-Inspector          Scalar-List-Utils
                                               Test-HTTP-Server-Simple
Class-Singleton          String-BufferStack
                                               Test-LongString
Clone                    Sub-Install
                                               Test-MockObject
Compress-Raw-Bzip2       Sub-Uplevel
                                               Test-MockTime
Compress-Raw-Zlib        TermReadKey
                                               Test-Script-Run
DBI                      Test-Harness
                                               Test-Warn
Data-UUID                Test-Simple
                                               libwww-perl
Devel-StackTrace         Text-CSV
                                               Carp-Assert-More
Digest-SHA               Time-Piece
                                               DateTime-Locale
Digest-SHA1              Time-Progress
                                               DateTime-TimeZone
Email-Address            Tree-DAG_Node
                                               HTTP-Response-Encoding
Error                    UNIVERSAL-can
                                               Mouse
Exception-Class          UNIVERSAL-isa
                                               Net-Bonjour
Exporter-Lite            URI
                                               RT-Client-REST
ExtUtils-CBuilder        XML-Atom-SimpleFeed
                                               Template-Declare
ExtUtils-ParseXS         YAML
                                               WWW-Mechanize
File-Temp                YAML-Syck
                                               Any-Moose
HTML-Tagset              boolean
                                               DateTime
Hash-Merge               version
                                               DateTime-Format-Natural
IO-Compress              DBD-SQLite
                                               Net-Jifty
IPC-Run3                 Data-OptList
                                               Net-Trac
JSON                     Digest-HMAC
                                               Path-Dispatcher
JSON-XS                  File-ShareDir
                                               Test-WWW-Mechanize
Lingua-EN-Inflect         HTML-Parser
                                               - prophet.git
List-MoreUtils           HTML-Tree
                                               - sd.git
Module-Refresh           HTTP-Server-Simple
Net-IP                   Module-Build
I’m never offline. Why
do I care about P2P bug
        tracking?
...about cloud
   computing     ☔
Living in the cloud
           =
sharecropping         )
(That’s bad)
The bad old days:
Pic of sharecroppers
You farmed land you
    didn’t own...
...with tools you
couldn’t really afford
You paid for it with
part of your harvest...
It sounded like a
pretty sweet deal...
...until things got bad
(Things always got bad)
(Internet)
(Cloud)




          (Internet)
In a bad year, you got
  further in debt to
   the land owner
So, what does this have
 to do with software?
The (more recent)
  bad old days:
pic of mainframes
You ran code you didn’t
 own on hardware you
      didn’t own
Things started to get
 better in the 1980s
Pic of PCs
Users started to be
able to make choices
 about computing...
They weren’t all rosy
Pic of BSOD
Sometimes new
versions of software
   broke things...
...leaving you locked in
     to old versions
pic of win 31?
Things got ‘better’
rms
che
Now, things are getting
   worse again...
What happens when
your favorite service
    goes down?
pic of twitter being
        down
...or stops accepting
     new signups?
...or starts making
arbitrary choices about
 what’s ‘safe’ content?
...or breaks
You don’t own the
 services you use
You probably don’t
even have a contract
When a service
provider cuts you off,
      you lose
Not so secret shame:

I still need the cloud
My calendar lives at
   google.com
I make a Web 2.0 todo
   list service called
    Hiveminder.com
pic of hiveminder
☣ Using hosted apps
is going to hurt you! ☣
What about Google
Gears, Adobe Air, etc?
Great. now you can use
 your word processer
  while you’re offline!
Pic of wordperfect
Real offline apps
should not need servers
Real offline apps
should sync like you do

More Related Content

What's hot

JVM for Dummies - OSCON 2011
JVM for Dummies - OSCON 2011JVM for Dummies - OSCON 2011
JVM for Dummies - OSCON 2011
Charles Nutter
 
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
Qiangning Hong
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
Tom Croucher
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
grim_radical
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in Python
Gavin Roy
 

What's hot (20)

Advanced I/O in browser
Advanced I/O in browserAdvanced I/O in browser
Advanced I/O in browser
 
JavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesJavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for Dummies
 
JRuby 9000 - Taipei Ruby User's Group 2015
JRuby 9000 - Taipei Ruby User's Group 2015JRuby 9000 - Taipei Ruby User's Group 2015
JRuby 9000 - Taipei Ruby User's Group 2015
 
JVM for Dummies - OSCON 2011
JVM for Dummies - OSCON 2011JVM for Dummies - OSCON 2011
JVM for Dummies - OSCON 2011
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case Study
 
A fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFsA fast introduction to PySpark with a quick look at Arrow based UDFs
A fast introduction to PySpark with a quick look at Arrow based UDFs
 
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
 
When Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of TorqueboxWhen Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of Torquebox
 
moscmy2016: Extending Docker
moscmy2016: Extending Dockermoscmy2016: Extending Docker
moscmy2016: Extending Docker
 
服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript服务框架: Thrift & PasteScript
服务框架: Thrift & PasteScript
 
Message-passing concurrency in Python
Message-passing concurrency in PythonMessage-passing concurrency in Python
Message-passing concurrency in Python
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
 
Practical Testing of Ruby Core
Practical Testing of Ruby CorePractical Testing of Ruby Core
Practical Testing of Ruby Core
 
Demo 0.9.4
Demo 0.9.4Demo 0.9.4
Demo 0.9.4
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in Python
 
The DOM is a Mess @ Yahoo
The DOM is a Mess @ YahooThe DOM is a Mess @ Yahoo
The DOM is a Mess @ Yahoo
 
Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4
 
Practical Groovy DSL
Practical Groovy DSLPractical Groovy DSL
Practical Groovy DSL
 

Similar to SD, a P2P bug tracking system

Big Data Beyond the JVM - Strata San Jose 2018
Big Data Beyond the JVM - Strata San Jose 2018Big Data Beyond the JVM - Strata San Jose 2018
Big Data Beyond the JVM - Strata San Jose 2018
Holden Karau
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
george.james
 

Similar to SD, a P2P bug tracking system (20)

Scaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceScaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter Experience
 
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
 
Big Data Beyond the JVM - Strata San Jose 2018
Big Data Beyond the JVM - Strata San Jose 2018Big Data Beyond the JVM - Strata San Jose 2018
Big Data Beyond the JVM - Strata San Jose 2018
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
 
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
Why Rust? - Matthias Endler - Codemotion Amsterdam 2016
 
Jaap : node, npm & grunt
Jaap : node, npm & gruntJaap : node, npm & grunt
Jaap : node, npm & grunt
 
RackN Physical Layer Automation Innovation
RackN Physical Layer Automation InnovationRackN Physical Layer Automation Innovation
RackN Physical Layer Automation Innovation
 
K8s best practices from the field!
K8s best practices from the field!K8s best practices from the field!
K8s best practices from the field!
 
A Life of breakpoint
A Life of breakpointA Life of breakpoint
A Life of breakpoint
 
Realtime Analytics with MongoDB Counters (mongonyc 2012)
Realtime Analytics with MongoDB Counters (mongonyc 2012)Realtime Analytics with MongoDB Counters (mongonyc 2012)
Realtime Analytics with MongoDB Counters (mongonyc 2012)
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoop
 
Can we run the Whole Web on Apache Sling?
Can we run the Whole Web on Apache Sling?Can we run the Whole Web on Apache Sling?
Can we run the Whole Web on Apache Sling?
 
Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012
 
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loaderEmbulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
 
carrow - Go bindings to Apache Arrow via C++-API
carrow - Go bindings to Apache Arrow via C++-APIcarrow - Go bindings to Apache Arrow via C++-API
carrow - Go bindings to Apache Arrow via C++-API
 
node.js: Javascript's in your backend
node.js: Javascript's in your backendnode.js: Javascript's in your backend
node.js: Javascript's in your backend
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
Os Gottfrid
Os GottfridOs Gottfrid
Os Gottfrid
 
Who pulls the strings?
Who pulls the strings?Who pulls the strings?
Who pulls the strings?
 
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
 

More from Jesse Vincent

Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratch
Jesse Vincent
 
So, I made a keyboard
So, I made a keyboardSo, I made a keyboard
So, I made a keyboard
Jesse Vincent
 
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011
Jesse 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 2011
Jesse 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 beyond
Jesse Vincent
 
K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for Android
Jesse Vincent
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
Jesse 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
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
Jesse 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 Sauce
Jesse 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 Cloud
Jesse 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
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
 
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
 
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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

SD, a P2P bug tracking system

Editor's Notes