SlideShare a Scribd company logo
1 of 20
Download to read offline
Eight hours to API literacy:
a fast, fun on-ramp for writers
Michelle Fredette
mfredette@newrelic.com
docs.newrelic.com
Chris Cowell
chris@christophercowell.llc
www.christophercowell.llc
Setting the scene
What we wanted
7 training principles
How to
API
1. Consider the
audience
1. Use Google to find the longitude and latitude of
Stockholm
2. Use curl with this URL:
http://sunrise.com/api/<LAT>,<LONG>
2. Student interests drive the agenda
What are REST APIs?
How do you use REST APIs?
What are examples of good REST API documentation?
What is GraphQL?
REST API Documentation best practices?
3. Low-friction interactivity
Questions about request-response model?
Questions about reusing
web concepts?
4. Make tech less dry
5. Use the
Pareto Principle
(80/20 rule)
6. Draw boundaries
around content
7. Multimodal learning
Prepackaged training
is rarely what
you need or want
Questions?
mfredette@newrelic.com chris@christophercowell.llc
Image credits
cassette tape: Pixabay license. Image by OpenClipart-Vectors from Pixabay.
https://pixabay.com/vectors/cassette-tape-recorder-vintage-old-2025403/
target: Public Domain (CC0). https://pixnio.com/sport/archery-arrow-medieval-sport-target-traditional-wooden-wood
normal distribution: Pixabay license. Image by OpenClipart-Vectors from Pixabay.
https://pixabay.com/vectors/distribution-normal-statistics-159626/
cat in box: Public Domain. https://en.wikipedia.org/wiki/File:Cat_into_the_box.jpg
Alan Turing: Public Domain. https://commons.wikimedia.org/wiki/File:Alan_Turing_Aged_16.jpg
Typewriter: royalty free. https://www.pikrepo.com/fatiu/typing-vintage-typewriter-b-w
Socrates: public domain. https://commons.wikimedia.org/wiki/File:Socrates_Pio-Clementino_Inv314.jpg
Desert: Nepenthes / CC-BY-SA 3.0 https://en.wikipedia.org/wiki/Desert#/media/File:Rub_al_Khali_002.JPG
Speak & Spell: Bill Bertram, CC-BY-2.5. https://commons.wikimedia.org/wiki/File:TI_SpeakSpell.jpg
Pareto: public domain. https://en.wikipedia.org/wiki/Vilfredo_Pareto#/media/File:Vilfredo_Pareto_1870s2.jpg
Typewriter:pixabay license. Image by Annie Spratt. https://pixabay.com/photos/vintage-typewriter-plant-book-2168174/
Stockholm sunrise: Pexels license. https://www.pexels.com/photo/stockholm-sunrise-110737/
Fence: pixabay license. https://pixabay.com/photos/palisade-fence-boards-fence-slats-1588766/
Cat and Dog: public domain. https://www.publicdomainpictures.net/en/view-image.php?image=3081&picture=cat-and-dog
Sandwich: Creative Commons Attribution-Share Alike 4.0 license. https://commons.wikimedia.org/wiki/File:Prepackaged_sandwich.jpg

More Related Content

What's hot

What's hot (20)

Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
Hacks, Workarounds, and Creative Solutions: How Unsupported Use Cases Reveal ...
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback Matters
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeonapidays LIVE New York - API Code First vs Design First by Phil Sturgeon
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
 
Rest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbookRest api best practices – comprehensive handbook
Rest api best practices – comprehensive handbook
 
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...INTERFACE, by apidays  - Low code APIs that don't break by Zdenek Nemec, Supe...
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
 
The State of Testing 2017
The State of Testing 2017The State of Testing 2017
The State of Testing 2017
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
 
The UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsThe UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIs
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc Site
 
apidays LIVE Paris - GraphQL: the AppSec perspective by Vladimir de Turckheim
apidays LIVE Paris - GraphQL: the AppSec perspective by Vladimir de Turckheimapidays LIVE Paris - GraphQL: the AppSec perspective by Vladimir de Turckheim
apidays LIVE Paris - GraphQL: the AppSec perspective by Vladimir de Turckheim
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
 
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
apidays LIVE New York 2021 - Why Software Teams Struggle with API Security Te...
 
User Testing in the Invisible World of APIs
User Testing in the Invisible World of APIsUser Testing in the Invisible World of APIs
User Testing in the Invisible World of APIs
 
API SDK Development – Lessons Learned
API SDK Development – Lessons LearnedAPI SDK Development – Lessons Learned
API SDK Development – Lessons Learned
 
Open Event API
Open Event APIOpen Event API
Open Event API
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API Ninjas
 
Your API Strategy: Why Boring is Best
Your API Strategy: Why Boring is BestYour API Strategy: Why Boring is Best
Your API Strategy: Why Boring is Best
 

Similar to Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers

Backend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In BanglaBackend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Stack Learner
 
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorialO'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
Tom Hofte
 

Similar to Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers (20)

Closer17.ppt
Closer17.pptCloser17.ppt
Closer17.ppt
 
Closer17.ppt
Closer17.pptCloser17.ppt
Closer17.ppt
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API Platform
 
Why you should use a web framework, eventually
Why you should use a web framework, eventuallyWhy you should use a web framework, eventually
Why you should use a web framework, eventually
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 
FuelPHP presentation - PeoplePerHour workshop
FuelPHP presentation - PeoplePerHour workshopFuelPHP presentation - PeoplePerHour workshop
FuelPHP presentation - PeoplePerHour workshop
 
Building Enterprise-Ready Knowledge Graph Applications in the Cloud
Building Enterprise-Ready Knowledge Graph Applications in the CloudBuilding Enterprise-Ready Knowledge Graph Applications in the Cloud
Building Enterprise-Ready Knowledge Graph Applications in the Cloud
 
Learn How To Develop With CakePHP
Learn How To Develop With CakePHPLearn How To Develop With CakePHP
Learn How To Develop With CakePHP
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability Mistakes
 
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In BanglaBackend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In Bangla
 
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorialO'Reilly SACon San Jose, CA - 2019 - API design tutorial
O'Reilly SACon San Jose, CA - 2019 - API design tutorial
 
SFScon19 - Andrea Janes - API fluency remembering APIs to become more effective
SFScon19 - Andrea Janes - API fluency remembering APIs to become more effectiveSFScon19 - Andrea Janes - API fluency remembering APIs to become more effective
SFScon19 - Andrea Janes - API fluency remembering APIs to become more effective
 
DEVNET-1001 Coding 101: How to Call REST APIs from a REST Client and Python
DEVNET-1001 Coding 101: How to Call REST APIs from a REST Client and PythonDEVNET-1001 Coding 101: How to Call REST APIs from a REST Client and Python
DEVNET-1001 Coding 101: How to Call REST APIs from a REST Client and Python
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The Cloud
 
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JSEDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
 
Designing RESTful APIs
Designing RESTful APIsDesigning RESTful APIs
Designing RESTful APIs
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
PHP_Resume_Arunkanth
PHP_Resume_ArunkanthPHP_Resume_Arunkanth
PHP_Resume_Arunkanth
 

More from Pronovix

Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Pronovix
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
Pronovix
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
Pronovix
 

More from Pronovix (20)

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers

  • 1. Eight hours to API literacy: a fast, fun on-ramp for writers Michelle Fredette mfredette@newrelic.com docs.newrelic.com Chris Cowell chris@christophercowell.llc www.christophercowell.llc
  • 6. 1. Use Google to find the longitude and latitude of Stockholm 2. Use curl with this URL: http://sunrise.com/api/<LAT>,<LONG>
  • 7. 2. Student interests drive the agenda
  • 8. What are REST APIs? How do you use REST APIs? What are examples of good REST API documentation? What is GraphQL? REST API Documentation best practices?
  • 12. 4. Make tech less dry
  • 13. 5. Use the Pareto Principle (80/20 rule)
  • 16.
  • 17.
  • 18. Prepackaged training is rarely what you need or want
  • 20. Image credits cassette tape: Pixabay license. Image by OpenClipart-Vectors from Pixabay. https://pixabay.com/vectors/cassette-tape-recorder-vintage-old-2025403/ target: Public Domain (CC0). https://pixnio.com/sport/archery-arrow-medieval-sport-target-traditional-wooden-wood normal distribution: Pixabay license. Image by OpenClipart-Vectors from Pixabay. https://pixabay.com/vectors/distribution-normal-statistics-159626/ cat in box: Public Domain. https://en.wikipedia.org/wiki/File:Cat_into_the_box.jpg Alan Turing: Public Domain. https://commons.wikimedia.org/wiki/File:Alan_Turing_Aged_16.jpg Typewriter: royalty free. https://www.pikrepo.com/fatiu/typing-vintage-typewriter-b-w Socrates: public domain. https://commons.wikimedia.org/wiki/File:Socrates_Pio-Clementino_Inv314.jpg Desert: Nepenthes / CC-BY-SA 3.0 https://en.wikipedia.org/wiki/Desert#/media/File:Rub_al_Khali_002.JPG Speak & Spell: Bill Bertram, CC-BY-2.5. https://commons.wikimedia.org/wiki/File:TI_SpeakSpell.jpg Pareto: public domain. https://en.wikipedia.org/wiki/Vilfredo_Pareto#/media/File:Vilfredo_Pareto_1870s2.jpg Typewriter:pixabay license. Image by Annie Spratt. https://pixabay.com/photos/vintage-typewriter-plant-book-2168174/ Stockholm sunrise: Pexels license. https://www.pexels.com/photo/stockholm-sunrise-110737/ Fence: pixabay license. https://pixabay.com/photos/palisade-fence-boards-fence-slats-1588766/ Cat and Dog: public domain. https://www.publicdomainpictures.net/en/view-image.php?image=3081&picture=cat-and-dog Sandwich: Creative Commons Attribution-Share Alike 4.0 license. https://commons.wikimedia.org/wiki/File:Prepackaged_sandwich.jpg