SlideShare a Scribd company logo
1 of 105
Download to read offline
Xander Uiterlinden
Sander Mak
!
Luminis Technologies
@uiterlix
@sander_mak
The Ultimate Dependency
Manager Shootout
@uiterlix
@sander_mak
Who we are
Sander Mak
http://branchandbound.net
@sander_mak
http://blog.uiterlinden.nl
@uiterlix
Xander Uiterlinden
@uiterlix
@sander_mak
Agenda
OSGi Services
Dependency Managers
Comparison
Overview/community
Code
Performance
Conclusion
OSGi Services
@uiterlix
@sander_mak
OSGi Services
Provider Bundle!
api.MyService
impl.MyServiceImpl
Consumer
Bundle
new MyServiceImpl()
Strong coupling to implementation
!
What if provider bundle not available/stops?
!
What about configuration?
api + impl package dependency
@uiterlix
@sander_mak
register OSGi Service
Registry
Provider Bundle!
api.MyService
impl.MyServiceImpl
Consumer!
Bundle
lookup
only api package dependency
Decoupling through interfaces
Inversion of Control
Service dynamics
OSGi Services
Dependency Managers
@uiterlix
@sander_mak
Why Dependency Managers?
@uiterlix
@sander_mak
Why Dependency Managers?
@uiterlix
@sander_mak
Why Dependency Managers?
@uiterlix
@sander_mak
Why Dependency Managers?
Cut down the boilerplate
Decouple from OSGi APIs
Dependency Injection
Testability
Component models
Aspects
Adapters
Etc.
@uiterlix
@sander_mak
Why Dependency Managers?
Cut down the boilerplate
Decouple from OSGi APIs
Dependency Injection
Testability
Component models
Aspects
Adapters
Etc.
Components…?!
!
org.apache.felix.ipojo.annotations.Component!
org.osgi.service.component.annotations.Component
aQute.bnd.annotation.component.Component!
org.apache.felix.dm.annotation.api.Component!
org.springframework.stereotype.Component!
….
!
Notions: contract-based, reactive, explicit lifecycle
Comparison
@uiterlix
@sander_mak
The lineup
Felix
Dependency
Manager
Felix iPojo
Declarative
Services
Blueprint
@uiterlix
@sander_mak
The lineup
Felix
Dependency
Manager
Felix iPojo
Compendium
Specifications
Declarative
Services
Blueprint
@uiterlix
@sander_mak
The lineup
Felix
Dependency
Manager
Felix iPojo
Implementations
Compendium
Specifications
Declarative
Services
Blueprint
@uiterlix
@sander_mak
The lineup
Felix
Dependency
Manager
Felix iPojo
Implementations
Compendium
Specifications
Declarative
Services
!
!
KnopflerFish
!
!
Equinox
!
!
Apache Aries
Felix Service
Component
Runtime
Eclipse Gemini
Blueprint
Blueprint
@uiterlix
@sander_mak
The lineup: disclaimer
We primarily work with (and on) Felix DM
@uiterlix
@sander_mak
Since R4 (2005)
DS 1.1 with R4.2, DS 1.2 with R5
XML based
True POJOs
Or: DS annotations to generate XML
!
Declarative Services
@uiterlix
@sander_mak
Since R4 (2005)
DS 1.1 with R4.2, DS 1.2 with R5
XML based
True POJOs
Or: DS annotations to generate XML
!
Additional abstractions:
ComponentContext for each component
ComponentFactory: client initiates instantiation
Bundle 1
Component!
Instance
Component!
Description
Bundle 2
Component!
Instance
Component!
Description
Service
reference
provide
Declarative Services
@uiterlix
@sander_mak
Felix SCR
Last release
User list
License
March 2014
~50 msg
Apache 2.0
Open issues 25
Since 2007
@uiterlix
@sander_mak
Eclipse Gemini Blueprint
DM Server Gemini Blueprint
Spec since R4.2 (2009)
Familiar for Spring devs
Declarative: XML based
Annotations in Aries, but not in spec (or Gemini)
Components proxied: ‘Dampens’ service dynamics
2009
@uiterlix
@sander_mak
Eclipse Gemini Blueprint
DM Server Gemini Blueprint
Spec since R4.2 (2009)
Familiar for Spring devs
Declarative: XML based
Annotations in Aries, but not in spec (or Gemini)
Components proxied: ‘Dampens’ service dynamics
2009
Bundle 1
Application
Context
Bundle 2
Service
reference
export
Bean
Bean
Bean
Application
Context
Bean
Bean
@uiterlix
@sander_mak
Eclipse Gemini Blueprint
Last release
User list
License
August 2012
~60 msg
EPL
Open issues 17
Since 2009
@uiterlix
@sander_mak
Lots of 404s :(
Eclipse Gemini Blueprint
Last release
User list
License
August 2012
~60 msg
EPL
Open issues 17
Since 2009
@uiterlix
@sander_mak
Lots of 404s :(
Eclipse Gemini Blueprint
Last release
User list
License
August 2012
~60 msg
EPL
Open issues 17
Since 2009
@uiterlix
@sander_mak
Felix Dependency Manager
DSL for component definition in Activator
Programmatic
Annotation based (bnd plugin)
Embraces service dynamics
@uiterlix
@sander_mak
Felix Dependency Manager
DSL for component definition in Activator
Programmatic
Annotation based (bnd plugin)
Embraces service dynamics
Bundle 1
Component!
Instance
Bundle 2
Component!
Instance
Component!
Instance
Service
reference
adapt
Service’
publish
Service
aspect
Additional abstractions:
Aspect: intercept and republish service
Adapter: publish service with adapted interface
@uiterlix
@sander_mak
Felix Dependency Manager
Last release
User list
License
Januari 2013
~1 msg
Apache 2.0
Open issues 22
Since 2004
@uiterlix
@sander_mak
Programmatic API, XML and annotations
Proxy based
Bytecode manipulation
Felix iPojo
@uiterlix
@sander_mak
Programmatic API, XML and annotations
Proxy based
Bytecode manipulation
Felix iPojo
Bundle 1 Bundle 2
Component
Component!
instance
Service
provide
Component
require
Component!
instance
!
!
Composites: intra-bundle mechanism
Scoped service registries
Pluggable handlers
Additional abstractions:
@uiterlix
@sander_mak
Felix iPojo
Last release
User list
License
March 2014
~130 msg
Apache 2.0
Open issues 30
Since 2008
@uiterlix
@sander_mak
Felix iPojo
Last release
User list
License
March 2014
~130 msg
Apache 2.0
Open issues 30
Since 2008
Best site among DMs!
Comparison: code
@uiterlix
@sander_mak
The example
http://bit.ly/dmshootout
@uiterlix
@sander_mak
Extender pattern
Application bundle 1
Application bundle 2
Application bundle 3
SCR/iPojo/Blueprint/(DM!
runtime) bundle
Service Registry
Some-Header: … register
services
@uiterlix
@sander_mak
Declarative Services
META-INF/MANIFEST.MF!
OSGI-INF/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Declarative Services
META-INF/MANIFEST.MF!
OSGI-INF/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Declarative Services
META-INF/MANIFEST.MF!
OSGI-INF/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
Dashboard Bundle
@uiterlix
@sander_mak
Declarative Services
No direct field injection
Defaults:
Delayed component (activate on use)
Static policy -> many reactivations
!
!
!
Static Dynamic
Reluctant Do nothing Rebind optionals
Greedy Reactivate Rebind
What if
‘better’
service
arrives?
@uiterlix
@sander_mak
META-INF/MANIFEST.MF!
OSGI-INF/blueprint/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
BluePrint
@uiterlix
@sander_mak
META-INF/MANIFEST.MF!
OSGI-INF/blueprint/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
Bundle-Blueprint header optional
BluePrint
@uiterlix
@sander_mak
META-INF/MANIFEST.MF!
OSGI-INF/blueprint/temp.xml!
!
TemperatureSensor.class
Temperate Sensor
Bundle
Bundle-Blueprint header optional
BluePrint
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint
Dashboard Bundle
snipped 10+ lines of namespaces :(
@uiterlix
@sander_mak
BluePrint!
Strong focus on intra-bundle composition
Hides dynamicity (until TimeOutException…)
If dependency goes away, component is not
stopped. If service is exposed, unregisters it.
No lazy activation like DS
Whole ‘applicationContext’ started or not
(Custom) TypeConverters
Constructor/setter injection, no field injection
Namespace hell :(
!
@uiterlix
@sander_mak
Felix Dependency Manager
META-INF/MANIFEST.MF!
!
Activator.class!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
META-INF/MANIFEST.MF!
!
Activator.class!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
META-INF/MANIFEST.MF!
!
Activator.class!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
META-INF/MANIFEST.MF!
!
Activator.class!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
META-INF/MANIFEST.MF!
!
Activator.class!
TemperatureSensor.class
Temperate Sensor
Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
Dashboard Bundle
@uiterlix
@sander_mak
Felix Dependency Manager
It’s code: dynamically create and depend
on services
Annotations available (+ bnd plugin)
Field injection, NullObject pattern
Manual mgmt. of list of dependencies :(
Services registered eagerly from Activator
Features: aspects, adapters
!
DM 4 coming up…
@uiterlix
@sander_mak
Felix Dependency Manager
https://bitbucket.org/uiterlix/ravioli
!
@uiterlix
@sander_mak
Felix Dependency Manager
https://bitbucket.org/uiterlix/ravioli
!
@uiterlix
@sander_mak
Felix iPojo
!
TemperatureSensor.class!
metadata.xml!
!
META-INF/MANIFEST.MF!
Temperate Sensor
Bundle
Generated by IDE plugin by processing annotations
and metadata.xml
@uiterlix
@sander_mak
Felix iPojo
!
TemperatureSensor.class!
metadata.xml!
!
META-INF/MANIFEST.MF!
Temperate Sensor
Bundle
Generated by IDE plugin by processing annotations
and metadata.xml
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
@uiterlix
@sander_mak
Felix iPojo
Both ‚static’ configuration and configuration using code
Dependency manager with the most advanced
features:
External handlers
Service binding interceptors
Stereotypes
Annotations limited to declaring components and
‚simple’ instances. XML recommended for declaring
instances.
Shell commands for component inspection
!
Comparison: performance
@uiterlix
@sander_mak
Benchmarks
Don’t be afraid of too many services ?
Promises…
!
„Each bundle may register zero or more
services. Each bundle may also use zero or
more services. There exists no limit on the
number of services, more than the ones given
by memory limits or java security permissions.”
(Knoplerfish tutorial)
@uiterlix
@sander_mak
Benchmark scenario
!
!
Temperature sensors for each
postal code in the Nederlands
463860 Sensor services
!
Service properties:
- Province
- Municipality
- City
- PostalCode
@uiterlix
@sander_mak
Benchmarks
Publishing Sensor services
Felix, Equinox, Knoplerfish
Plain OSGi, DM, iPojo
!
Consuming Sensor services
Whiteboard; all sensors in Amsterdam

(&(province=Noord-Holland)(municipality=Amsterdam))
Felix, Equinox, Knoplerfish
DS, DM, iPojo, Blueprint
@uiterlix
@sander_mak
Disclaimer
Results are as-is, no further investigation
done
No optimizations done
!
You can repeat these tests yourself.
Projects are available on github
http://bit.ly/dmshootout
@uiterlix
@sander_mak
Register services (Equinox)
ipojo
DM
OSGi
Durationinms.
0
175000
350000
525000
700000
10000 30000 50000 70000 90000 110000 130000 150000 170000 190000 210000 230000 250000 270000 290000 310000 330000 350000 370000 390000 410000 430000 450000
OSGi DM iPojo
@uiterlix
@sander_mak
0
50000
100000
150000
200000
250000
10000 30000 50000 70000 90000 110000 130000 150000 170000 190000 210000 230000 250000 270000 290000 310000 330000 350000 370000 390000 410000 430000 450000
OSGi DM iPojo
Register services (Felix)
iPojo
DM
OSGi
@uiterlix
@sander_mak
0
50000
100000
150000
200000
250000
10000 30000 50000 70000 90000 110000 130000 150000 170000 190000 210000 230000 250000 270000 290000 310000 330000 350000 370000 390000 410000 430000 450000
OSGi DM iPojo
Register services (Knoplerfish)
iPojo
DM
OSGi
@uiterlix
@sander_mak
0
100000
200000
300000
400000
500000
600000
700000
10000 30000 50000 70000 90000 110000 130000 150000 170000 190000 210000 230000 250000 270000 290000 310000 330000 350000 370000 390000 410000 430000 450000
OSGi equinox DM equinox iPojo equinox OSGi felix DM felix iPojo felix
OSGi knoplerfish DM knoplerfish iPojo knoplerfish
Register services (combined)
iPojo Equinox
OSGi & DM Felix
iPojo Felix & Knoplerfish
OSGi & DM Equinox & Knoplerfish
@uiterlix
@sander_mak
Register services
Observations
Non linear results for registering
services with Felix
Registering services using iPojo takes
considerably longer compared to plain
OSGi and DM
@uiterlix
@sander_mak
Timeinmillis
0
400
800
1200
1600
blueprint dm ds ipojo
Consuming services
Injecting 19021 services into a single consumer on Equinox
@uiterlix
@sander_mak
Timeinmillis
0
400
800
1200
1600
blueprint dm ds ipojo
injection injection and method invocation
Method invocation overhead
Injecting 19021 services into a single consumer on Equinox,
and invoking a method on the injected services
@uiterlix
@sander_mak
iPojo and # of services
Timeinmillis
0
15000
30000
45000
60000
# services in service registry
50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 1050 1100 1150 1200 1250 1300 1350 1400 1450 1500 1550 1600
iPojo
Injecting a single service into a single consumer on Equinox
@uiterlix
@sander_mak
Performance considerations
Use of LDAP filters
Filter complexity, service registry scans
Felix DM provides optimization though
indexing service properties
!
!
Bundle starting order
Service tracker obtain initial versus service
listener events
0
75000
150000
225000
300000
197 2878
Default With index
Conclusion
@uiterlix
@sander_mak
Conclusion
Features ranging from simple to advanced 

(DS, Blueprint < DM < iPojo)
Annotation/XML-only frameworks are easy to
use but provide less dynamics
Consider the expected size of your application
(services, dependencies) and run some test
before choosing one!
You can mix & match
… but don’t do that
@uiterlix
@sander_mak
Questions?
http://bit.ly/dmshootoutCode:
Sander Mak
http://branchandbound.net
@sander_mak
http://blog.uiterlinden.nl
@uiterlix
Xander Uiterlinden

More Related Content

What's hot

Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway Demo
Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway DemoTech Days 2015: Ada 2012 and Spark Crazyflie and Railway Demo
Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway DemoAdaCore
 
Beyond Continuous Delivery TW Away Day June 2013
Beyond Continuous Delivery TW Away Day June 2013Beyond Continuous Delivery TW Away Day June 2013
Beyond Continuous Delivery TW Away Day June 2013Chris Hilton
 
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2ELI KENDEL אלי קנדל
 
Beyond Continuous Delivery at ThoughtWorks North America Away Day
Beyond Continuous Delivery at ThoughtWorks North America Away DayBeyond Continuous Delivery at ThoughtWorks North America Away Day
Beyond Continuous Delivery at ThoughtWorks North America Away DayChris Hilton
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Cloud Native Day Tel Aviv
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftChris Bailey
 
Conejo Architecture
Conejo ArchitectureConejo Architecture
Conejo Architecturepaulosuzart
 
Integrating Security Controls into the Development and Delivery Pipeline
Integrating Security Controls into the Development and Delivery PipelineIntegrating Security Controls into the Development and Delivery Pipeline
Integrating Security Controls into the Development and Delivery PipelineAkamai Developers & Admins
 
Frail & Cast Iron tools - a Postman Case Study
Frail & Cast Iron tools - a Postman Case StudyFrail & Cast Iron tools - a Postman Case Study
Frail & Cast Iron tools - a Postman Case StudyPostman
 
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...Abraham Marin-Perez
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Kubernetes Operators - the next frontier in application automation - Ádám Sándor
Kubernetes Operators - the next frontier in application automation - Ádám SándorKubernetes Operators - the next frontier in application automation - Ádám Sándor
Kubernetes Operators - the next frontier in application automation - Ádám SándorPROIDEA
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaRun Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaÖzgür Çiçek
 
Kubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsKubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsAna-Maria Mihalceanu
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSAmazon Web Services
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsVMware Tanzu
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSColdFusionConference
 
Accessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSAccessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSColdFusionConference
 

What's hot (20)

Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway Demo
Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway DemoTech Days 2015: Ada 2012 and Spark Crazyflie and Railway Demo
Tech Days 2015: Ada 2012 and Spark Crazyflie and Railway Demo
 
Beyond Continuous Delivery TW Away Day June 2013
Beyond Continuous Delivery TW Away Day June 2013Beyond Continuous Delivery TW Away Day June 2013
Beyond Continuous Delivery TW Away Day June 2013
 
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2
Kendel Avaya-fabric Connect - Demo Lab Guide – SPB L2VSN-2
 
Beyond Continuous Delivery at ThoughtWorks North America Away Day
Beyond Continuous Delivery at ThoughtWorks North America Away DayBeyond Continuous Delivery at ThoughtWorks North America Away Day
Beyond Continuous Delivery at ThoughtWorks North America Away Day
 
CI: Meow or Never
CI: Meow or NeverCI: Meow or Never
CI: Meow or Never
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with Swift
 
Conejo Architecture
Conejo ArchitectureConejo Architecture
Conejo Architecture
 
Integrating Security Controls into the Development and Delivery Pipeline
Integrating Security Controls into the Development and Delivery PipelineIntegrating Security Controls into the Development and Delivery Pipeline
Integrating Security Controls into the Development and Delivery Pipeline
 
Frail & Cast Iron tools - a Postman Case Study
Frail & Cast Iron tools - a Postman Case StudyFrail & Cast Iron tools - a Postman Case Study
Frail & Cast Iron tools - a Postman Case Study
 
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
Manchester Expert Talks (April 2017) - Breaking Down Your Build: Architectura...
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Kubernetes Operators - the next frontier in application automation - Ádám Sándor
Kubernetes Operators - the next frontier in application automation - Ádám SándorKubernetes Operators - the next frontier in application automation - Ádám Sándor
Kubernetes Operators - the next frontier in application automation - Ádám Sándor
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaRun Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS Lambda
 
Kubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsKubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud apps
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web Applications
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWS
 
Accessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSAccessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWS
 

Viewers also liked

Methodology of second language learning
Methodology of second language learningMethodology of second language learning
Methodology of second language learningkatyaSh
 
отчёт Антикризис
отчёт Антикризисотчёт Антикризис
отчёт АнтикризисunDrei
 
防止中毒:電郵篇
防止中毒:電郵篇防止中毒:電郵篇
防止中毒:電郵篇Warren Yip
 
кадровое агентство "Антикризис"
кадровое агентство "Антикризис"кадровое агентство "Антикризис"
кадровое агентство "Антикризис"unDrei
 
Old Times There Are Not Forgotten
Old Times There Are Not ForgottenOld Times There Are Not Forgotten
Old Times There Are Not ForgottenAshley Bowen
 
Community Investment Zone - Development Team Presentation
Community Investment Zone - Development Team PresentationCommunity Investment Zone - Development Team Presentation
Community Investment Zone - Development Team Presentationbiferguson
 
問題定義測驗結果說明 道德發展階段
問題定義測驗結果說明 道德發展階段問題定義測驗結果說明 道德發展階段
問題定義測驗結果說明 道德發展階段andreahc
 
Monetising your startup from the word go with advertising & affiliates
Monetising your startup from the word go with advertising & affiliatesMonetising your startup from the word go with advertising & affiliates
Monetising your startup from the word go with advertising & affiliatesDigi Joe
 
Contextual Discovery in Business Intelligence
Contextual Discovery in Business IntelligenceContextual Discovery in Business Intelligence
Contextual Discovery in Business Intelligencewww.panorama.com
 
How to setup the printing preferences
How to setup the printing preferencesHow to setup the printing preferences
How to setup the printing preferencesWarren Yip
 
Special Event Boot Camp} 6th Edition
Special Event Boot Camp} 6th EditionSpecial Event Boot Camp} 6th Edition
Special Event Boot Camp} 6th EditionCarol Moxam
 

Viewers also liked (20)

Methodology of second language learning
Methodology of second language learningMethodology of second language learning
Methodology of second language learning
 
Wereldwinkeliers
WereldwinkeliersWereldwinkeliers
Wereldwinkeliers
 
отчёт Антикризис
отчёт Антикризисотчёт Антикризис
отчёт Антикризис
 
Zivana's term 2 E-port
Zivana's term 2 E-portZivana's term 2 E-port
Zivana's term 2 E-port
 
The Jordan Edge
The Jordan EdgeThe Jordan Edge
The Jordan Edge
 
Eerlijk Duurt Het Langst
Eerlijk Duurt Het LangstEerlijk Duurt Het Langst
Eerlijk Duurt Het Langst
 
防止中毒:電郵篇
防止中毒:電郵篇防止中毒:電郵篇
防止中毒:電郵篇
 
кадровое агентство "Антикризис"
кадровое агентство "Антикризис"кадровое агентство "Антикризис"
кадровое агентство "Антикризис"
 
Roadmap to WordPress Accessibility CSUN 2014
Roadmap to WordPress Accessibility CSUN 2014Roadmap to WordPress Accessibility CSUN 2014
Roadmap to WordPress Accessibility CSUN 2014
 
Usshahni term 2
Usshahni term 2Usshahni term 2
Usshahni term 2
 
Mlc Rup Value
Mlc Rup ValueMlc Rup Value
Mlc Rup Value
 
Mlc The BO Explained
Mlc The BO ExplainedMlc The BO Explained
Mlc The BO Explained
 
Old Times There Are Not Forgotten
Old Times There Are Not ForgottenOld Times There Are Not Forgotten
Old Times There Are Not Forgotten
 
Community Investment Zone - Development Team Presentation
Community Investment Zone - Development Team PresentationCommunity Investment Zone - Development Team Presentation
Community Investment Zone - Development Team Presentation
 
term 4 renee
term 4 reneeterm 4 renee
term 4 renee
 
問題定義測驗結果說明 道德發展階段
問題定義測驗結果說明 道德發展階段問題定義測驗結果說明 道德發展階段
問題定義測驗結果說明 道德發展階段
 
Monetising your startup from the word go with advertising & affiliates
Monetising your startup from the word go with advertising & affiliatesMonetising your startup from the word go with advertising & affiliates
Monetising your startup from the word go with advertising & affiliates
 
Contextual Discovery in Business Intelligence
Contextual Discovery in Business IntelligenceContextual Discovery in Business Intelligence
Contextual Discovery in Business Intelligence
 
How to setup the printing preferences
How to setup the printing preferencesHow to setup the printing preferences
How to setup the printing preferences
 
Special Event Boot Camp} 6th Edition
Special Event Boot Camp} 6th EditionSpecial Event Boot Camp} 6th Edition
Special Event Boot Camp} 6th Edition
 

Similar to The Ultimate Dependency Manager Shootout (QCon NY 2014)

The ultimate dependency manager shoot out - X Uiterlinden & S Mak
The ultimate dependency manager shoot out - X Uiterlinden & S MakThe ultimate dependency manager shoot out - X Uiterlinden & S Mak
The ultimate dependency manager shoot out - X Uiterlinden & S Makmfrancis
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prodYan Cui
 
AngularJSTO presentation
AngularJSTO presentationAngularJSTO presentation
AngularJSTO presentationAlan Hietala
 
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Codit
 
Btug.be - Integrate 2016 Recap by Pieter Vandenheede
Btug.be - Integrate 2016 Recap by Pieter VandenheedeBtug.be - Integrate 2016 Recap by Pieter Vandenheede
Btug.be - Integrate 2016 Recap by Pieter VandenheedePieter Vandenheede
 
Gear Up for OroPlatform 4.1 LTS. Dependency Injection Improvements Overview ...
Gear Up for OroPlatform 4.1 LTS.  Dependency Injection Improvements Overview ...Gear Up for OroPlatform 4.1 LTS.  Dependency Injection Improvements Overview ...
Gear Up for OroPlatform 4.1 LTS. Dependency Injection Improvements Overview ...Andrew Yatsenko
 
Build a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLBuild a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLYan Cui
 
How To Access Code In Large w/ Vim
How To Access Code In Large w/ VimHow To Access Code In Large w/ Vim
How To Access Code In Large w/ VimCheng Hsien Chen
 
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Amazon Web Services
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreBizTalk360
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesWojciech Barczyński
 
IoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesIoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesDamir Dobric
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesWojciech Barczyński
 
OSMC 2022 | Current State of icinga by Bernd Erk
OSMC 2022 | Current State of icinga by Bernd ErkOSMC 2022 | Current State of icinga by Bernd Erk
OSMC 2022 | Current State of icinga by Bernd ErkNETWAYS
 
Tech huddle paas_session
Tech huddle paas_sessionTech huddle paas_session
Tech huddle paas_sessionRob Edwards
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...hamidsamadi
 
Platform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventPlatform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventFokke Zandbergen
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLYan Cui
 
Bringing clouds together : the future of cloud services
Bringing clouds together : the future of cloud servicesBringing clouds together : the future of cloud services
Bringing clouds together : the future of cloud servicesVivek Juneja
 
Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...mfrancis
 

Similar to The Ultimate Dependency Manager Shootout (QCon NY 2014) (20)

The ultimate dependency manager shoot out - X Uiterlinden & S Mak
The ultimate dependency manager shoot out - X Uiterlinden & S MakThe ultimate dependency manager shoot out - X Uiterlinden & S Mak
The ultimate dependency manager shoot out - X Uiterlinden & S Mak
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
AngularJSTO presentation
AngularJSTO presentationAngularJSTO presentation
AngularJSTO presentation
 
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe) Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
Integrate 2016 recap (Pieter Vandenheede @BTUGbe)
 
Btug.be - Integrate 2016 Recap by Pieter Vandenheede
Btug.be - Integrate 2016 Recap by Pieter VandenheedeBtug.be - Integrate 2016 Recap by Pieter Vandenheede
Btug.be - Integrate 2016 Recap by Pieter Vandenheede
 
Gear Up for OroPlatform 4.1 LTS. Dependency Injection Improvements Overview ...
Gear Up for OroPlatform 4.1 LTS.  Dependency Injection Improvements Overview ...Gear Up for OroPlatform 4.1 LTS.  Dependency Injection Improvements Overview ...
Gear Up for OroPlatform 4.1 LTS. Dependency Injection Improvements Overview ...
 
Build a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQLBuild a social network in 4 weeks with Serverless and GraphQL
Build a social network in 4 weeks with Serverless and GraphQL
 
How To Access Code In Large w/ Vim
How To Access Code In Large w/ VimHow To Access Code In Large w/ Vim
How To Access Code In Large w/ Vim
 
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
IoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesIoT, connecting apps, devices and services
IoT, connecting apps, devices and services
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
 
OSMC 2022 | Current State of icinga by Bernd Erk
OSMC 2022 | Current State of icinga by Bernd ErkOSMC 2022 | Current State of icinga by Bernd Erk
OSMC 2022 | Current State of icinga by Bernd Erk
 
Tech huddle paas_session
Tech huddle paas_sessionTech huddle paas_session
Tech huddle paas_session
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Platform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventPlatform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch Event
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQL
 
Bringing clouds together : the future of cloud services
Bringing clouds together : the future of cloud servicesBringing clouds together : the future of cloud services
Bringing clouds together : the future of cloud services
 
Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...
 

More from Sander Mak (@Sander_Mak)

TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painSander Mak (@Sander_Mak)
 
Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Sander Mak (@Sander_Mak)
 
Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Sander Mak (@Sander_Mak)
 

More from Sander Mak (@Sander_Mak) (20)

Scalable Application Development @ Picnic
Scalable Application Development @ PicnicScalable Application Development @ Picnic
Scalable Application Development @ Picnic
 
Coding Your Way to Java 13
Coding Your Way to Java 13Coding Your Way to Java 13
Coding Your Way to Java 13
 
Coding Your Way to Java 12
Coding Your Way to Java 12Coding Your Way to Java 12
Coding Your Way to Java 12
 
Java Modularity: the Year After
Java Modularity: the Year AfterJava Modularity: the Year After
Java Modularity: the Year After
 
Desiging for Modularity with Java 9
Desiging for Modularity with Java 9Desiging for Modularity with Java 9
Desiging for Modularity with Java 9
 
Modules or microservices?
Modules or microservices?Modules or microservices?
Modules or microservices?
 
Migrating to Java 9 Modules
Migrating to Java 9 ModulesMigrating to Java 9 Modules
Migrating to Java 9 Modules
 
Java 9 Modularity in Action
Java 9 Modularity in ActionJava 9 Modularity in Action
Java 9 Modularity in Action
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
 
Event-sourced architectures with Akka
Event-sourced architectures with AkkaEvent-sourced architectures with Akka
Event-sourced architectures with Akka
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
 
Modular JavaScript
Modular JavaScriptModular JavaScript
Modular JavaScript
 
Modularity in the Cloud
Modularity in the CloudModularity in the Cloud
Modularity in the Cloud
 
Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?Cross-Build Injection attacks: how safe is your Java build?
Cross-Build Injection attacks: how safe is your Java build?
 
Scala & Lift (JEEConf 2012)
Scala & Lift (JEEConf 2012)Scala & Lift (JEEConf 2012)
Scala & Lift (JEEConf 2012)
 
Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)Hibernate Performance Tuning (JEEConf 2012)
Hibernate Performance Tuning (JEEConf 2012)
 
Akka (BeJUG)
Akka (BeJUG)Akka (BeJUG)
Akka (BeJUG)
 
Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)
 
Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!Fork/Join for Fun and Profit!
Fork/Join for Fun and Profit!
 
Kscope11 recap
Kscope11 recapKscope11 recap
Kscope11 recap
 

Recently uploaded

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

The Ultimate Dependency Manager Shootout (QCon NY 2014)