SlideShare a Scribd company logo
привет
Tuesday, May 28, 13
Piotr Sarnacki
Tuesday, May 28, 13
@drogus
Tuesday, May 28, 13
TravisCI
Tuesday, May 28, 13
TravisCI
What’s inside?
Tuesday, May 28, 13
Poland
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
ZOMG!
THIS IS MY DREAM JOB!
Tuesday, May 28, 13
Getting back to presentation...
Tuesday, May 28, 13
A few questions first
Tuesday, May 28, 13
Tuesday, May 28, 13
Distributed CI
Tuesday, May 28, 13
Distributed CI
for Open Source!
Tuesday, May 28, 13
Distributed CI
and for private projects
Tuesday, May 28, 13
Distributed CI
and for private projects
soon!
Tuesday, May 28, 13
We’re for builds
what RubyGems
is for libraries
Tuesday, May 28, 13
A few facts
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
over 5MLN builds total!
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
over 5MLN builds total!
ruby, python, java, node... etc.
Tuesday, May 28, 13
What about Jenkins?
Tuesday, May 28, 13
Реальный опыт работы с Jenkins
What about Jenkins?
Tuesday, May 28, 13
What’s the purpose
of this presentation?
Tuesday, May 28, 13
Open Source distributed
application
Tuesday, May 28, 13
Open Source distributed
application
we need to scale
Tuesday, May 28, 13
Open Source distributed
application
you can watch the entire process
we need to scale
Tuesday, May 28, 13
Open Source distributed
application
you can see us fail and learn from
our mistakes
you can watch the entire process
we need to scale
Tuesday, May 28, 13
Running an app is different
than running Open Source
library
Tuesday, May 28, 13
Tuesday, May 28, 13
A bit of a history
Tuesday, May 28, 13
It all started with a mustache
Tuesday, May 28, 13
Tuesday, May 28, 13
svenfuchs/travis-ci
Tuesday, May 28, 13
Tuesday, May 28, 13
It worked
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Monolithic application
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Two concerns
Tuesday, May 28, 13
Two concerns
serving web requests
Tuesday, May 28, 13
Two concerns
serving web requests
background worker
Tuesday, May 28, 13
Problems
Tuesday, May 28, 13
Problems
growing complexity
Tuesday, May 28, 13
Problems
growing complexity
growing test suite
Tuesday, May 28, 13
Solution: Travis Worker
Tuesday, May 28, 13
Tuesday, May 28, 13
Great improvement!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Single box, no VMs
Tuesday, May 28, 13
No clean state
Tuesday, May 28, 13
Leftovers after tests
Tuesday, May 28, 13
Solution: VirtualBox
Tuesday, May 28, 13
VirtualBox
Tuesday, May 28, 13
VirtualBox
snapshotting
Tuesday, May 28, 13
VirtualBox
snapshotting
always clean state
Tuesday, May 28, 13
VirtualBox
snapshotting
always clean state
free
Tuesday, May 28, 13
Tuesday, May 28, 13
Still only one box
Tuesday, May 28, 13
Still a lot of coupling
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Master plan
Tuesday, May 28, 13
Master plan
use AMQP for messaging
Tuesday, May 28, 13
Master plan
use AMQP for messaging
create travis-hub
Tuesday, May 28, 13
Master plan
use AMQP for messaging
create travis-hub
use jruby for the worker
Tuesday, May 28, 13
Why AMQP?
Tuesday, May 28, 13
Unify messaging
Tuesday, May 28, 13
Log output
Tuesday, May 28, 13
Tuesday, May 28, 13
When rails app fails,
builds still run
Tuesday, May 28, 13
So many changes
Tuesday, May 28, 13
All at once?
Tuesday, May 28, 13
Not that smart move
Tuesday, May 28, 13
3 months of
development
Tuesday, May 28, 13
A lot of firefighting
Tuesday, May 28, 13
Lesson learned
Tuesday, May 28, 13
Lesson learned
smaller incremental
changes are better
Tuesday, May 28, 13
Overally,
great improvement again
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Meet travis-listener
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Better reliability
Tuesday, May 28, 13
Rare changes
last deploy: 2012-12-05.11-27
Tuesday, May 28, 13
Small chance of loosing
an event
Tuesday, May 28, 13
It’s great!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Travis Hub does a lot
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
A great improvement again!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
API is coupled with client
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
API does not change that often
Tuesday, May 28, 13
Easier deploys
Tuesday, May 28, 13
Separate domains?
Tuesday, May 28, 13
CORS to the rescue
Tuesday, May 28, 13
CORS
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
allows remote ajax requests
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
allows remote ajax requests
client and API isolation
Tuesday, May 28, 13
Service Oriented Architectures
Tuesday, May 28, 13
SOA - benefits
Tuesday, May 28, 13
SOA - benefits
reliability
Tuesday, May 28, 13
SOA - benefits
reliability
scalability
Tuesday, May 28, 13
SOA - benefits
reliability
scalability
maintainability
Tuesday, May 28, 13
SOA - drawbacks
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
more overhead
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
more overhead
distributed computing is hard
Tuesday, May 28, 13
From monolithic app to SOA!
Tuesday, May 28, 13
We’re awesome, aren’t we?
Tuesday, May 28, 13
we can always do better
Tuesday, May 28, 13
Can you spot the problem?
Tuesday, May 28, 13
Tuesday, May 28, 13
Still a lot of sharing
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Future direction:
remove more coupling
Tuesday, May 28, 13
Well defined public APIs
Tuesday, May 28, 13
Our code sharing
is not optimal
Tuesday, May 28, 13
travis-core
Tuesday, May 28, 13
Tuesday, May 28, 13
Split travis-core
Tuesday, May 28, 13
A few tips
Tuesday, May 28, 13
Small changes
Tuesday, May 28, 13
Metrics
Tuesday, May 28, 13
Tuesday, May 28, 13
Don’t break public APIs
Tuesday, May 28, 13
If you need,
deprecate first
Tuesday, May 28, 13
Always deployable master
Tuesday, May 28, 13
Feature flips
Tuesday, May 28, 13
if Travis::Features.active? :foo
do_foo()
end
Tuesday, May 28, 13
Bulletproof DB changes
Tuesday, May 28, 13
if column_names.include? :branch
where(branch: 'master')
else
joins(:commit).
where(commit: { branch: 'master' })
end
Tuesday, May 28, 13
Google for:
Fallacies of distributed
computing
Tuesday, May 28, 13
Thank you
Tuesday, May 28, 13
Questions?
Tuesday, May 28, 13

More Related Content

Similar to Travis CI – what's inside?

The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is Responsive
Jonathan Smiley
 
Midem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of ContextMidem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of Context
Robert Scoble
 
UX, UI, WTF
UX, UI, WTFUX, UI, WTF
UX, UI, WTF
wcfay
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the Unknown
R/GA
 
PostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and Profit
David Fetter
 
Future technologies for business simulations
Future technologies for business simulationsFuture technologies for business simulations
Future technologies for business simulations
Michal Augustini
 
Responsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility ToolResponsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility Tool
George Zamfir
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David Bonilla
Codemotion
 
Storyplayer
StoryplayerStoryplayer
Storyplayer
Stuart Herbert
 
Conexao Java: Criando uma App Android
Conexao Java: Criando uma App AndroidConexao Java: Criando uma App Android
Conexao Java: Criando uma App Android
Erich Egert
 
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
Gigaom
 
Apachecon cassandra transport
Apachecon cassandra transportApachecon cassandra transport
Apachecon cassandra transport
zznate
 
The New API at SXSW 2013
The New API at SXSW 2013The New API at SXSW 2013
The New API at SXSW 2013
duvander
 
Holistic slides lightning_testing_bof
Holistic slides lightning_testing_bofHolistic slides lightning_testing_bof
Holistic slides lightning_testing_bof
Terry Peppers
 
DevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran TavoryDevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran Tavory
DevOpsDays Tel Aviv
 

Similar to Travis CI – what's inside? (16)

Easy Mobile
Easy MobileEasy Mobile
Easy Mobile
 
The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is Responsive
 
Midem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of ContextMidem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of Context
 
UX, UI, WTF
UX, UI, WTFUX, UI, WTF
UX, UI, WTF
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the Unknown
 
PostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and Profit
 
Future technologies for business simulations
Future technologies for business simulationsFuture technologies for business simulations
Future technologies for business simulations
 
Responsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility ToolResponsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility Tool
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David Bonilla
 
Storyplayer
StoryplayerStoryplayer
Storyplayer
 
Conexao Java: Criando uma App Android
Conexao Java: Criando uma App AndroidConexao Java: Criando uma App Android
Conexao Java: Criando uma App Android
 
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
 
Apachecon cassandra transport
Apachecon cassandra transportApachecon cassandra transport
Apachecon cassandra transport
 
The New API at SXSW 2013
The New API at SXSW 2013The New API at SXSW 2013
The New API at SXSW 2013
 
Holistic slides lightning_testing_bof
Holistic slides lightning_testing_bofHolistic slides lightning_testing_bof
Holistic slides lightning_testing_bof
 
DevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran TavoryDevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran Tavory
 

More from Olga Lavrentieva

15 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v415 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v4
Olga Lavrentieva
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceСергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Olga Lavrentieva
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraАндрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Olga Lavrentieva
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
Brug - Web push notification
Brug  - Web push notificationBrug  - Web push notification
Brug - Web push notification
Olga Lavrentieva
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Olga Lavrentieva
 
Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"
Olga Lavrentieva
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"
Olga Lavrentieva
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Olga Lavrentieva
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Olga Lavrentieva
 
Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»
Olga Lavrentieva
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
Olga Lavrentieva
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»
Olga Lavrentieva
 
Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»
Olga Lavrentieva
 
«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»
Olga Lavrentieva
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
Olga Lavrentieva
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
Olga Lavrentieva
 
«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»
Olga Lavrentieva
 
«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»Olga Lavrentieva
 
«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»
Olga Lavrentieva
 

More from Olga Lavrentieva (20)

15 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v415 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v4
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceСергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraАндрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Brug - Web push notification
Brug  - Web push notificationBrug  - Web push notification
Brug - Web push notification
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
 
Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
 
Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»
 
Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»
 
«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
 
«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»
 
«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»
 
«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»
 

Recently uploaded

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

Travis CI – what's inside?