SlideShare a Scribd company logo
Reducing
Passive Interruptions
@andreitognolo
github.com/andreitognolo
andreitognolo@gmail.com
Modern software development includes automated testing
strategies and automated deployment pipelines that take the
friction out of the deployment process
Mary Poppendieck
http://www.leanessays.com/2015/08/friction.html
Unit tests
Functional
tests
Deploy

staging
Deploy
production
Smoke
test
Come on… It’s just a few seconds!
A programmer takes between 10-15 minutes to start
editing code after resuming work from an interruption
Programmer Interrupted
by Chris Parnin
2013-01-19
Unacceptable!
Every time you are interrupted
you lose the context
Context
Flow
(…) is the mental state of operation in
which a person performing an activity is
fully immersed in a feeling of energized
focus, full involvement, and enjoyment
in the process of the activity.
"Scout Girl in Concentration"
by Randy
It’s because my
server takes
4 minutes to restart!
Coding Verifying
4 minutes
Verifying
While you’re waiting for the feedback,
you are actually being interrupted!
Passive Interruption
Period of time in which we are interrupted, waiting for a
feedback in order to resume our flow of thinking
The passive interruption has
similar effect of the interruption
caused by a person
Hypothesis
I’m not being interrupted because I can think about
the next steps while I’m waiting
I’m not being interrupted because I can think about
the next steps while I’m waiting
Are you sure
VerifyCode Verify CodeVerifyCode Code
I’m not being interrupted because I can think about
the next steps while I’m waiting
Are you sure
VerifyVerifyCode CodeVerify Code
Well, you can write a lot of code and after that you
can test it all together
The passive interruption has
similar effect of the interruption
caused by a person
Hypothesis
Well, you can write a lot of code and after that you
can test it all together
Are you sure
VerifyCode Verify CodeVerifyCode Code
Well, you can write a lot of code and after that you
can test it all together
Are you sure
VerifyCode
Much of agile thinking is about setting up feedback loops so that
we can learn more quickly
Martin Fowler
It isn’t because you can write a lot of code and after
that you can test it
Are you sure
VerifyCode
It isn’t because you can write a lot of code and after
that you can test it
Are you sure
VerifyCode VerifyCode VerifyCode VerifyCode
baby steps!
Coding Verifying
4 minutes?
How long do you have to wait to receive the feedback of a
code line that you just wrote?
Coding Verifying
1 minute?
How long do you have to wait to receive the feedback of a
code line that you just wrote?
Coding Verifying
30 seconds?
How long do you have to wait to receive the feedback of a
code line that you just wrote?
To design quickly and
confidently, we need to be able
to try out ideas and verify
hypotheses
as fast as we think of them
Bret Victor
@worrydream
Conditions for Flow
from Wikipedia
The task at hand must have clear and
immediate feedback
I love utopias. Not because they show us the path,
but because they point us the right direction
Back in 2007…
Verifying
Compile
(4 minutes of passive interruption)
Code
Create
package
Restart
Server
Login
Go to
the page Check
Recently…
Verifying
Compile
No compilation process
Code
Create
package
Restart
Server
Login
Go to
the page Check
Recently…
Verifying
Nodemon automatically reloads the server
Code
Restart
Server
Login
Go to
the page Check
Recently…
Verifying
Use of permalink
Code Login
Go to
the page Check
Recently…
Verifying
Use of permalink
Code Refresh Check
Recently…
Verifying
Code Refresh Check
(1 second of passive interruption)
Passive interruption
Figwheel
Bruce Hauman
@bhauman
Figwheel builds your ClojureScript code and hot loads it
into the browser as you are coding!
Figwheel builds your ClojureScript code and hot loads it
into the browser as you are coding!
Cool… But I have a
application to maintain
I cannot just change the
technologies that we use
Generating a pdf report
Generating a pdf report
Go to the
page
Code
Fill some
fields
Download Open Check
(passive interruption)
Generating a pdf report
Generating a pdf report
<html>
. . .
</html>
.pdf PDF Reader
Application
wait for
change
curl
Generating a pdf report
Go to the
page
Code
Fill some
fields
Download Open Check
(passive interruption)
Generating a pdf report
Code Check
Immediate Feedback!
Generating a pdf report
CRUD for Companies
(create, read, update and delete)
CRUD for Companies
Search Insert Verify
CRUD for Companies
CRUD for Companies
CRUD for Companies
CRUD for Companies
Search Insert Verify
Writing the "save" method
Search Insert Verify
Writing the "save" method
(passive interruption)
Writing the "save" method
Writing the "save" method
Run the
test
Code Check
(passive interruption)
Coding Verifying
How long do you have to wait to finish the execution of an
automated test?
Coding Verifying
30 seconds?
How long do you have to wait to finish the execution of an
automated test?
Coding Verifying
15 seconds?
How long do you have to wait to finish the execution of an
automated test?
Coding Verifying
Instantly!
How long do you have to wait to finish the execution of an
automated test?
If it (test) takes ten seconds just to start testing, toss it!
Allow nothing to slow down your tests.
Test Time
03 September 2014
by Robert C. Martin (Uncle Bob)
Running an automated test
Running an automated test
JPA
Hibernate
(specification)
(implementation)
another impl
(implementation)
Running an automated test
Hibernate
Running an automated test
Hibernate
(17 seconds for one class)
Running an automated test
Hibernate
(17 seconds for one class)
Raiden JPA
Running an automated test
Hibernate
(17 seconds for one class)
Raiden JPA (3 seconds for one class)
Writing the JavaScript to call the save
Writing the JavaScript to call the save
Search Insert Verify
(passive interruption)
Writing the JavaScript to call the save
Search Insert Verify
Which step takes more time?
Writing the JavaScript to call the save
Search Insert Verify
Which step takes more time?
Writing the JavaScript to call the save
Writing the JavaScript to call the save
Go to
search
Check
Click on
Add
Open
Firebug
Call the
function
Click on
save
Writing the JavaScript to call the save
Go to
search
Check
Click on
Add
Open
Firebug
Call the
function
Click on
save
Writing the JavaScript to call the save
Go to
search
Check
Click on
Add
Double
click
Click on
save
It’s not just about the
right tools…
It’s about be aware of the
passive interruptions
… and reduce them!
@andreitognolo
github.com/andreitognolo
andreitognolo@gmail.com
Gracias!
is hiring!
http://join.thoughtworks.com/
- Bret Victor - http://vimeo.com/36579366
- Martin Fowler - http://martinfowler.com/bliki/FrequencyReducesDifficulty.html
- Chris Parnin - http://blog.ninlabs.com/2013/01/programmer-interrupted/
- Flow - https://en.wikipedia.org/wiki/Flow_(psychology)
- Developing ClojureScript With Figwheel - https://www.youtube.com/watch?v=j-kj2qwJa_E
- Uncle Bob - http://blog.cleancoder.com/uncle-bob/2014/09/03/TestTime.html
References

More Related Content

What's hot

Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CI
Martin de Keijzer
 
TDD on android. Why and How? (Coding Serbia 2019)
TDD on android. Why and How? (Coding Serbia 2019)TDD on android. Why and How? (Coding Serbia 2019)
TDD on android. Why and How? (Coding Serbia 2019)
Danny Preussler
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
Kurt Bliefernich
 
End-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at RedisEnd-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at Redis
Filipe Oliveira
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Softwareelliando dias
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
Joe Ferguson
 
Live Testing A Legacy App
Live Testing A Legacy AppLive Testing A Legacy App
Live Testing A Legacy App
ColdFusionConference
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
Danny Preussler
 
Automated testing in javascript
Automated testing in javascriptAutomated testing in javascript
Automated testing in javascript
Michael Yagudaev
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a Nutshell
Atlassian
 
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium AppsTiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
Andrew McElroy
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous IntegrationChristopher Read
 
Continuous Integration for Titanium
Continuous Integration for TitaniumContinuous Integration for Titanium
Continuous Integration for Titanium
Denver Sessink
 
Automating good coding practices
Automating good coding practicesAutomating good coding practices
Automating good coding practicesKevin Peterson
 
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Stephen Garrett
 
Otto MVP Presentation
Otto MVP PresentationOtto MVP Presentation
Otto MVP Presentationjeeves24
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
Michael Goetz
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
Sebastian Marek
 

What's hot (20)

Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CI
 
TDD on android. Why and How? (Coding Serbia 2019)
TDD on android. Why and How? (Coding Serbia 2019)TDD on android. Why and How? (Coding Serbia 2019)
TDD on android. Why and How? (Coding Serbia 2019)
 
Software Testing, Everyone's responsibility
Software Testing, Everyone's responsibilitySoftware Testing, Everyone's responsibility
Software Testing, Everyone's responsibility
 
End-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at RedisEnd-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at Redis
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Live Testing A Legacy App
Live Testing A Legacy AppLive Testing A Legacy App
Live Testing A Legacy App
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
 
Automated testing in javascript
Automated testing in javascriptAutomated testing in javascript
Automated testing in javascript
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a Nutshell
 
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium AppsTiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
 
Continuous Integration for Titanium
Continuous Integration for TitaniumContinuous Integration for Titanium
Continuous Integration for Titanium
 
Buildbot
BuildbotBuildbot
Buildbot
 
Automating good coding practices
Automating good coding practicesAutomating good coding practices
Automating good coding practices
 
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
 
Otto MVP Presentation
Otto MVP PresentationOtto MVP Presentation
Otto MVP Presentation
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
 

Viewers also liked

How to Write a Technical Report
How to Write a Technical ReportHow to Write a Technical Report
How to Write a Technical Report
Chris Jobling
 
3 Ways Online Learning Boosts Employee Engagement
3 Ways Online Learning Boosts Employee Engagement3 Ways Online Learning Boosts Employee Engagement
3 Ways Online Learning Boosts Employee Engagement
LinkedIn Learning Solutions
 
How to shout so your users will listen
How to shout so your users will listenHow to shout so your users will listen
How to shout so your users will listen
Ned Potter
 
Are Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's StudentsAre Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's Students
Wiley
 
How to write a good CV
How to write a good CVHow to write a good CV
Connecting to Digital Natives
Connecting to Digital NativesConnecting to Digital Natives
Connecting to Digital Natives
Matthew Guevara
 

Viewers also liked (6)

How to Write a Technical Report
How to Write a Technical ReportHow to Write a Technical Report
How to Write a Technical Report
 
3 Ways Online Learning Boosts Employee Engagement
3 Ways Online Learning Boosts Employee Engagement3 Ways Online Learning Boosts Employee Engagement
3 Ways Online Learning Boosts Employee Engagement
 
How to shout so your users will listen
How to shout so your users will listenHow to shout so your users will listen
How to shout so your users will listen
 
Are Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's StudentsAre Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's Students
 
How to write a good CV
How to write a good CVHow to write a good CV
How to write a good CV
 
Connecting to Digital Natives
Connecting to Digital NativesConnecting to Digital Natives
Connecting to Digital Natives
 

Similar to Reducing passive interruptions

Shifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and SolutionsShifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and Solutions
James Farrier
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
Paul Boocock
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
Andy Melichar
 
Scrum Methodology
Scrum MethodologyScrum Methodology
Scrum Methodology
Kunta Hutabarat
 
Automated tests
Automated testsAutomated tests
Automated tests
Damian Sromek
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
Caleb Jenkins
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
Agile Montréal
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
Tomas Riha
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't Enterprise
Chris Tankersley
 
Docker all the way
Docker all the wayDocker all the way
Docker all the way
Johan Vergeer
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
mdevtalk
 
What Can The Spira API Do For You?
 What Can The Spira API Do For You? What Can The Spira API Do For You?
What Can The Spira API Do For You?
Inflectra
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
Pablo Villar
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond Conference
Dan Chuparkoff
 
Why test with flex unit
Why test with flex unitWhy test with flex unit
Why test with flex unit
michael.labriola
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
drluckyspin
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
hamvocke
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
Ooblioob
 

Similar to Reducing passive interruptions (20)

Shifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and SolutionsShifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and Solutions
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
 
Scrum Methodology
Scrum MethodologyScrum Methodology
Scrum Methodology
 
Automated tests
Automated testsAutomated tests
Automated tests
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't Enterprise
 
Docker all the way
Docker all the wayDocker all the way
Docker all the way
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
 
What Can The Spira API Do For You?
 What Can The Spira API Do For You? What Can The Spira API Do For You?
What Can The Spira API Do For You?
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond Conference
 
Why test with flex unit
Why test with flex unitWhy test with flex unit
Why test with flex unit
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
 

More from Andrei Tognolo

Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?
Andrei Tognolo
 
Overcoming the fear of deployments
Overcoming the fear of deploymentsOvercoming the fear of deployments
Overcoming the fear of deployments
Andrei Tognolo
 
Fronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a GambiarraFronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a Gambiarra
Andrei Tognolo
 
Porque nosso time parou de estimar
Porque nosso time parou de estimarPorque nosso time parou de estimar
Porque nosso time parou de estimar
Andrei Tognolo
 
Testes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativosTestes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativos
Andrei Tognolo
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
Andrei Tognolo
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira mal
Andrei Tognolo
 

More from Andrei Tognolo (7)

Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?Mais de 24 anos de Scrum - Ainda faz sentido usar?
Mais de 24 anos de Scrum - Ainda faz sentido usar?
 
Overcoming the fear of deployments
Overcoming the fear of deploymentsOvercoming the fear of deployments
Overcoming the fear of deployments
 
Fronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a GambiarraFronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a Gambiarra
 
Porque nosso time parou de estimar
Porque nosso time parou de estimarPorque nosso time parou de estimar
Porque nosso time parou de estimar
 
Testes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativosTestes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativos
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira mal
 

Recently uploaded

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 

Recently uploaded (20)

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 

Reducing passive interruptions