SlideShare a Scribd company logo
1 of 78
Download to read offline
http://fayerplay.com
lost art
of
troublesh
@papa_fire
ooting
Leon Fayer
@papa_fire
{me}
20+ years breaking & fixing
dev, architect, [DevOps]
vp @ OmniTI
fix other people’s
@papa_fire
why troubleshooting?
@papa_fire
cloud ruined everything
i t r e a l l y d i d
MostreliablewaytofixWindowsproblems
1997
DevOpsmantraformanagingcloud-based
systems
2017
when in doubt - reboot
destroy and rebuild
old McDonald
had a farm
old McDonald
lost a farm
d u e t o m a d c o w d i s e a s e
@papa_fire
troubleshooting - a form of
problem solving
@papa_fire
problem solving - ability to
fix things that you
know nothing about
@papa_fire
why is problem solving
important?
@papa_fire
… because
systems are
complex
@papa_fire
… because of
Murphy’s law
@papa_fire
… because
someone is
always watching
@papa_fire
{disclamer}
@papa_fire
@papa_fire
wishful
thinking
@papa_fire
reality
@papa_fire
where to begin?
@papa_fire
replicate
@papa_fire
OURTEAM
isolate
@papa_fire
fix?
@papa_fire
what’s the problem?
it’s broken!
understanding
@papa_fire
OURTEAM
understand
problem
@papa_fire
“
we can’t support 100s req/min
we need to scale better!
@papa_fire
“
we can’t support 100s req/min
we need to scale better!
improve
performance
@papa_fire
performance problem
@papa_fire
perceived problem
@papa_fire
actual problem
@papa_fire
OURTEAM
understand
business
@papa_fire
“
I don’t give a **** if the
datacenter is on fire
as long as I am still
making money
@papa_fire
what does
it mean
to you?
@papa_fire
@papa_fire
sales
@papa_fire
@papa_fire
content
@papa_fire
content
ad revenue
@papa_fire
every technical decision
powers a business need
@papa_fire
OURTEAM
understand
impact
@papa_fire
is there a
lesser of
two evils?
@papa_fire
sometimes breaking = fixing
@papa_fire
80% now > 100% tomorrow
@papa_fire
incremental
improvements
@papa_fire
anatomy of a problem
@papa_fire
anatomy of a problem
problem
norm norm
@papa_fire
anatomy of a problem
problem
norm
acceptable
norm
@papa_fire
anatomy of a problem
problem
norm
acceptable
norm
fix fix fix fix
@papa_fire
what have we
learned?
understandingof
what’s important
cause and effect
largest impact
acceptable risk
@papa_fire
what not to do
@papa_fire
don’t assume
@papa_fire
@papa_fire
I didn’t
build it
it’s not
documented
it passed
the tests
works in
dev
everything
looks right
@papa_fire
@papa_fire
don’t feed your ego
solve the problem
@papa_fire
ask for help
@papa_fire
OURTEAM
tools
@papa_fire
logging
monitoring
profiling
@papa_fire
logging
actionable
concise
parsable
@papa_fire
OURTEAM
[2017-02-01 16:46:31] Queuing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 16:46:31] AbandonedReservation successfully enqueued.
[2017-02-01 18:57:02] Processing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 18:57:02] Parsed args
[2017-02-01 18:57:02] Posting to API
[2017-02-01 18:57:02] Initializing args
[2017-02-01 18:57:02] Loading reservation_form_data
[2017-02-01 18:57:03] Reservation Form Data loaded successfully
[2017-02-01 18:57:03] Appending campaign info
[2017-02-01 18:57:03] Reservation name: [Some very very very long name]
[2017-02-01 18:57:03] Using code = SUPERHERO:20171007 for this instance.
[2017-02-01 18:57:03] Setting currency to US Dollar
[2017-02-01 18:57:03] Appending marketing info
[2017-02-01 18:57:03] Have a non-sku source_code
[2017-02-01 18:57:03] Marketing: setting campaignid = GOOGLE
[2017-02-01 18:57:03] Appending match rule = Match Rule
[2017-02-01 18:57:03] Appending user info
[2017-02-01 18:57:03] Appending order info
[2017-02-01 18:57:03] Fetching cost range for item_id = 975, sku_id = 4871
[2017-02-01 18:57:03] Determining actual cost table
[2017-02-01 18:57:03] Appending comment notes
[2017-02-01 18:57:03] Appending abandoned flag
[2017-02-01 18:57:03] API GET data:
{ token = gEcre26reWrAdEnufE3HesVupRepahuDumapHuyap2evufreWrufraBebre7u4a6
contact.address1_city = New York
contact.address1_country = USA
contact.address1_line1 = 123 test lane
contact.address1_line2 =
contact.address1_postalcode = 12345
contact.address1_stateorprovince =
contact.emailaddress1 = joe.smith@gmail.com
contact.firstname = joe
contact.lastname = smith
contact.mobilephone = 1234567890
...
}
[2017-02-01 19:04:03] Post complete, took 420 seconds
[2017-02-01 19:04:03] ERROR: Curl returned unsuccessfully with return code 28 (Timeout was reached)
[2017-02-01 19:04:04] Finishing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
@papa_fire
OURTEAM
[2017-02-01 16:46:31] Queuing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 16:46:31] AbandonedReservation successfully enqueued.
[2017-02-01 18:57:02] Processing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 18:57:02] Parsed args
[2017-02-01 18:57:02] Posting to API
[2017-02-01 18:57:02] Initializing args
[2017-02-01 18:57:02] Loading reservation_form_data
[2017-02-01 18:57:03] Reservation Form Data loaded successfully
[2017-02-01 18:57:03] Appending campaign info
[2017-02-01 18:57:03] Reservation name: [Some very very very long name]
[2017-02-01 18:57:03] Using code = SUPERHERO:20171007 for this instance.
[2017-02-01 18:57:03] Setting currency to US Dollar
[2017-02-01 18:57:03] Appending marketing info
[2017-02-01 18:57:03] Have a non-sku source_code
[2017-02-01 18:57:03] Marketing: setting campaignid = GOOGLE
[2017-02-01 18:57:03] Appending match rule = Match Rule
[2017-02-01 18:57:03] Appending user info
[2017-02-01 18:57:03] Appending order info
[2017-02-01 18:57:03] Fetching cost range for item_id = 975, sku_id = 4871
[2017-02-01 18:57:03] Determining actual cost table
[2017-02-01 18:57:03] Appending comment notes
[2017-02-01 18:57:03] Appending abandoned flag
[2017-02-01 18:57:03] API GET data:
{ token = gEcre26reWrAdEnufE3HesVupRepahuDumapHuyap2evufreWrufraBebre7u4a6
contact.address1_city = New York
contact.address1_country = USA
contact.address1_line1 = 123 test lane
contact.address1_line2 =
contact.address1_postalcode = 12345
contact.address1_stateorprovince =
contact.emailaddress1 = joe.smith@gmail.com
contact.firstname = joe
contact.lastname = smith
contact.mobilephone = 1234567890
...
}
[2017-02-01 19:04:03] Post complete, took 420 seconds
[2017-02-01 19:04:03] ERROR: Curl returned unsuccessfully with return code 28 (Timeout was reached)
[2017-02-01 19:04:04] Finishing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
usefulinformation
[2017-02-01 16:46:31] Queuing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 18:57:02] Processing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 18:57:03] API GET data:
[2017-02-01 19:04:03] Post complete, took 420 seconds
[2017-02-01 19:04:04] Finishing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
@papa_fire
OURTEAM
[2017-02-01 16:46:31] Queuing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 16:46:31] AbandonedReservation successfully enqueued.
[2017-02-01 18:57:02] Processing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 18:57:02] Parsed args
[2017-02-01 18:57:02] Posting to API
[2017-02-01 18:57:02] Initializing args
[2017-02-01 18:57:02] Loading reservation_form_data
[2017-02-01 18:57:03] Reservation Form Data loaded successfully
[2017-02-01 18:57:03] Appending campaign info
[2017-02-01 18:57:03] Reservation name: [Some very very very long name]
[2017-02-01 18:57:03] Using code = SUPERHERO:20171007 for this instance.
[2017-02-01 18:57:03] Setting currency to US Dollar
[2017-02-01 18:57:03] Appending marketing info
[2017-02-01 18:57:03] Have a non-sku source_code
[2017-02-01 18:57:03] Marketing: setting campaignid = GOOGLE
[2017-02-01 18:57:03] Appending match rule = Match Rule
[2017-02-01 18:57:03] Appending user info
[2017-02-01 18:57:03] Appending order info
[2017-02-01 18:57:03] Fetching cost range for item_id = 975, sku_id = 4871
[2017-02-01 18:57:03] Determining actual cost table
[2017-02-01 18:57:03] Appending comment notes
[2017-02-01 18:57:03] Appending abandoned flag
[2017-02-01 18:57:03] API GET data:
{ token = gEcre26reWrAdEnufE3HesVupRepahuDumapHuyap2evufreWrufraBebre7u4a6
contact.address1_city = New York
contact.address1_country = USA
contact.address1_line1 = 123 test lane
contact.address1_line2 =
contact.address1_postalcode = 12345
contact.address1_stateorprovince =
contact.emailaddress1 = joe.smith@gmail.com
contact.firstname = joe
contact.lastname = smith
contact.mobilephone = 1234567890
...
}
[2017-02-01 19:04:03] Post complete, took 420 seconds
[2017-02-01 19:04:03] ERROR: Curl returned unsuccessfully with return code 28 (Timeout was reached)
[2017-02-01 19:04:04] Finishing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
informationIneed
[2017-02-01 18:57:02] Processing UUID: FC0470D4-E19D-11E6-8FB4-CB1814EF18C0
[2017-02-01 19:04:03] ERROR: Curl returned unsuccessfully with return code 28
(Timeout was reached)
@papa_fire
monitoring
all inclusive
business-first
correlatable
@papa_fire
what’s the problem?
it’s broken!
@papa_fire
revenue
@papa_fire
revenue
@papa_fire
revenue
user performance
@papa_fire
revenue
database load
user performance
@papa_fire
revenue
database load
decline rate
user performance
@papa_fire
profiling
@papa_fire
OURTEAM
when you have the “what”
but still have no idea “why”
@papa_fire
OURTEAM
#!/usr/sbin/dtrace -s
#pragma quiet
::ap_process_request:process-request-entry
/zonename == "www4"/
{
self->uri = copyinstr(arg1);
self->runtime = 0;
self->waittime = 0;
self->oncpu = timestamp;
}
sched:::off-cpu
/self->uri != 0/
{
self->runtime += timestamp - self->oncpu;
self->offcpu = timestamp;
}
sched:::on-cpu
/self->uri != 0/
{
self->oncpu = timestamp;
self->waittime += timestamp - self->offcpu;
}
::ap_process_request:process-request-return
/self->uri != 0/
{
@duration[self->uri] = sum(self->runtime);
@waiting[self->uri] = sum(self->waittime);
@count[self->uri] = count();
}
:::tick-5min
{
printf("n%Yn", walltimestamp);
printf("nTOTAL TIME SPENT ON CPU BY ALL HITS ON THIS URLn");
trunc(@duration,10);
printa(@duration);
trunc(@duration);
printf("nnNUMBER OF HITSn");
trunc(@count,10);
printa(@count);
trunc(@count);
printf("nnTOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URLn");
trunc(@waiting,10);
printa(@waiting);
trunc(@waiting);
}
TOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URL
/directory 6850049
/api/map_search 7341249
/api/mobile/get_all_items 7980925
/m/ 9124747
/m/directory 9175345
/api/mobile/get_profile 11729556
/api/holiday_feed 12603853
/api/mobile/get_all_widgets 15043481
/api/get_item/60693 19773404
/m/events/all 26165132
/api/all_items 27362330
/api/mobile/get_all_events 368584344
@papa_fire
OURTEAM
#!/usr/sbin/dtrace -s
#pragma quiet
::ap_process_request:process-request-entry
/zonename == "www4"/
{
self->uri = copyinstr(arg1);
self->runtime = 0;
self->waittime = 0;
self->oncpu = timestamp;
}
sched:::off-cpu
/self->uri != 0/
{
self->runtime += timestamp - self->oncpu;
self->offcpu = timestamp;
}
sched:::on-cpu
/self->uri != 0/
{
self->oncpu = timestamp;
self->waittime += timestamp - self->offcpu;
}
::ap_process_request:process-request-return
/self->uri != 0/
{
@duration[self->uri] = sum(self->runtime);
@waiting[self->uri] = sum(self->waittime);
@count[self->uri] = count();
}
:::tick-5min
{
printf("n%Yn", walltimestamp);
printf("nTOTAL TIME SPENT ON CPU BY ALL HITS ON THIS URLn");
trunc(@duration,10);
printa(@duration);
trunc(@duration);
printf("nnNUMBER OF HITSn");
trunc(@count,10);
printa(@count);
trunc(@count);
printf("nnTOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URLn");
trunc(@waiting,10);
printa(@waiting);
trunc(@waiting);
}
TOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URL
/directory 6850049
/api/map_search 7341249
/api/mobile/get_all_items 7980925
/m/ 9124747
/m/directory 9175345
/api/mobile/get_profile 11729556
/api/holiday_feed 12603853
/api/mobile/get_all_widgets 15043481
/api/get_item/60693 19773404
/m/events/all 26165132
/api/all_items 27362330
/api/mobile/get_all_events 368584344
/api/mobile/get_all_events 368584344
@papa_fire
OURTEAM
TOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URL
/directory 6850049
/api/map_search 7341249
/api/mobile/get_all_items 7980925
/m/ 9124747
/m/directory 9175345
/api/mobile/get_profile 11729556
/api/holiday_feed 12603853
/api/mobile/get_all_widgets 15043481
/api/get_item/60693 19773404
/m/events/all 26165132
/api/all_items 27362330
/api/mobile/get_all_events 368584344
#!/usr/sbin/dtrace -s
#pragma quiet
::ap_process_request:process-request-entry
/zonename == "www4"/
{
self->uri = copyinstr(arg1);
self->runtime = 0;
self->waittime = 0;
self->oncpu = timestamp;
}
sched:::off-cpu
/self->uri != 0/
{
self->runtime += timestamp - self->oncpu;
self->offcpu = timestamp;
}
sched:::on-cpu
/self->uri != 0/
{
self->oncpu = timestamp;
self->waittime += timestamp - self->offcpu;
}
::ap_process_request:process-request-return
/self->uri != 0/
{
@duration[self->uri] = sum(self->runtime);
@waiting[self->uri] = sum(self->waittime);
@count[self->uri] = count();
}
:::tick-5min
{
printf("n%Yn", walltimestamp);
printf("nTOTAL TIME SPENT ON CPU BY ALL HITS ON THIS URLn");
trunc(@duration,10);
printa(@duration);
trunc(@duration);
printf("nnNUMBER OF HITSn");
trunc(@count,10);
printa(@count);
trunc(@count);
printf("nnTOTAL TIME SPENT OFF-CPU BY ALL HITS TO THIS URLn");
trunc(@waiting,10);
printa(@waiting);
trunc(@waiting);
}
/api/get_item/60693 19773404
@papa_fire
downtherabbithole
@papa_fire
troubleshooting
is …
requiredskill
educational
iterative
frustrating
rewarding
@papa_fire
@papa_fire
https://www.track5media.com/wp-content/uploads/2016/06/workers-gathered-around-comuputer-
screen.jpg	
http://more-sky.com/data/out/10/IMG_379964.jpg	
https://ruwix.com/pics/trolls/9-rubix-cube-neversolved.jpg	
http://blog.cartif.com/wp-content/uploads/2016/02/evolucion.png	
https://cdn-images-1.medium.com/max/2000/1*t-yZUIXuaXo97yiqYtpC5A.jpeg	
http://www.6speedonline.com/forums/attachment.php?
attachmentid=286232&stc=1&d=1380726388	
http://www.wallpapers.faketrix.com/content/animal/feathered/page-2/1024/Ostrich-non-flying-
winged-animals.jpg	
http://oldmanyellsat.cloud/oldman.jpg	
http://cdn.wccftech.com/wp-content/uploads/2016/05/4195797-windows-7-alternate-blue.jpg		
https://www.poweradmin.com/blog/wp-content/uploads/2015/10/amazon-aws.png	
https://supportingcmu.org/image/Herd.png	
http://www.publicdomainpictures.net/pictures/30000/velka/green-fields-1351063140pg3.jpg	
https://hurtigruten.global.ssl.fastly.net/assets/48dee2/globalassets/photos/voyages/explorer-
voyages/2017-18/ms-fram-antarctica/the-frozen-land-of-the-penguins/
2500x1250_r739816dominicbarrington.jpg?width=1600&height=800&transform=DownFill	
https://www.thegeneralistit.com/wp-content/uploads/2015/11/dreamstime_xxl_38819851-
Business-woman-eliminate-problem-and-find-solution.jpg	
http://paperzip.co.uk/wp-content/uploads/2016/01/word-of-the-day-newspaper.jpg	
http://vignette3.wikia.nocookie.net/starwars/images/7/72/DeathStar1-SWE.png/revision/latest?
cb=20150121020639	
https://lcarsgfx.files.wordpress.com/2014/10/prometheus1.png	
https://cdn.meme.am/cache/instances/folder699/400x/65194699.jpg	
http://blog.weespring.com/wp-content/uploads/2014/06/baby-safety-manual-5.jpg	
https://4.bp.blogspot.com/-2fGfDw-sohs/V9_CAwCcnaI/AAAAAAAACos/
zrARBywD2qAZOphkQMC7WZGdV3vMY5nTACLcB/s1600/Stop%2Bwhining.jpg	
https://ih0.redbubble.net/image.14163956.5143/raf,750x1000,075,t,black_white.u4.jpg	
http://www.inspireddad.org/wp-content/uploads/uploads/2013/02/ducttape_0930a8_3926013.jpg	
https://katieleigh.files.wordpress.com/2014/10/img_0683.jpg	
http://pre02.deviantart.net/020c/th/pre/i/2016/094/8/0/down_the_rabbit_hole_by_irenhorrors-
d7hgsr3.jpg	
http://i1-linux.softpedia-static.com/screenshots/Valgrind_1.png	
http://i.imgur.com/m6Rkbdx.gif
credits
questions?

More Related Content

Viewers also liked

Breaking social dependency
Breaking social dependencyBreaking social dependency
Breaking social dependencyLeon Fayer
 
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...Suzie Prince
 
Improving DevOps through better monitoring
Improving DevOps through better monitoringImproving DevOps through better monitoring
Improving DevOps through better monitoringLeon Fayer
 
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...Om Prakash Poddar
 
NET-A-PORTER AMP Hackathon
NET-A-PORTER AMP HackathonNET-A-PORTER AMP Hackathon
NET-A-PORTER AMP HackathonRobin Glen
 
Transformation structurelle et émergence au Sénégal - Madaniou DIEME
Transformation structurelle et émergence au Sénégal - Madaniou DIEMETransformation structurelle et émergence au Sénégal - Madaniou DIEME
Transformation structurelle et émergence au Sénégal - Madaniou DIEMEMadaniou DIEME
 
Environmental policy
Environmental policyEnvironmental policy
Environmental policymattbentley34
 
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロAmazon Web Services Japan
 
Upfront LP Survey of the Venture Capital & Startup Industry
Upfront LP Survey of the Venture Capital & Startup IndustryUpfront LP Survey of the Venture Capital & Startup Industry
Upfront LP Survey of the Venture Capital & Startup IndustryMark Suster
 
Database performance 101
Database performance 101Database performance 101
Database performance 101Leon Fayer
 
Asynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureAsynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureJosé Paumard
 

Viewers also liked (12)

Breaking social dependency
Breaking social dependencyBreaking social dependency
Breaking social dependency
 
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
 
Improving DevOps through better monitoring
Improving DevOps through better monitoringImproving DevOps through better monitoring
Improving DevOps through better monitoring
 
Data Science for Retail Broking
Data Science for Retail BrokingData Science for Retail Broking
Data Science for Retail Broking
 
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...
First appeal under RTI Act 2005 against Registrar (J-I) Supreme Court of Indi...
 
NET-A-PORTER AMP Hackathon
NET-A-PORTER AMP HackathonNET-A-PORTER AMP Hackathon
NET-A-PORTER AMP Hackathon
 
Transformation structurelle et émergence au Sénégal - Madaniou DIEME
Transformation structurelle et émergence au Sénégal - Madaniou DIEMETransformation structurelle et émergence au Sénégal - Madaniou DIEME
Transformation structurelle et émergence au Sénégal - Madaniou DIEME
 
Environmental policy
Environmental policyEnvironmental policy
Environmental policy
 
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
 
Upfront LP Survey of the Venture Capital & Startup Industry
Upfront LP Survey of the Venture Capital & Startup IndustryUpfront LP Survey of the Venture Capital & Startup Industry
Upfront LP Survey of the Venture Capital & Startup Industry
 
Database performance 101
Database performance 101Database performance 101
Database performance 101
 
Asynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureAsynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFuture
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Lost art of troubleshooting