SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Email as a datasource for apps
Bruno Morency
    bruno@context.io
    @brunomorency
• Overview of the technologies
                  that make email

What this       • How your apps can fit in that
                  picture
presentation
will be about   • An intro to IMAP and message
                  bodies with common pitfalls.

                • Overview of Context.IO
“The reports of my death were
greatly exaggerated”
                      - Email
2.9 billion in 2010
3.8 billion by 2014
 180B messages/day
    340M tweets/day
group collaboration
         task management
         document collaboration
         customer support
         app notification
Email is a communications system
         project management
         client relationship
         applicant tracking
         photo sharing
         bug tracking
         Nigerian extortion
Overview of protocols and standards

or “which acronym does what”
Protocol for
SMTP   transmission of emails
       across the internet
•   Message transport, nothing to
    do with content
•   Defines the envelope (sender
    and recipients)
•   Does not define the message
    headers
•   Chain from client to recipient’s
    server
DKIM   Standards for sender
       signatures and prevent
SPF    sender spoofing
•   Complement spam filters
•   Opens the message and
    checks headers to decide if it
    will deliver it to the inbox
•   As a receiver, it’s one more
    way to block spam.
•   As a sender, it’s a tool you
    must master to avoid ending
    up in the spam folder
•   Email deliverability is an
    industry by itself
Protocol to allow a

IMAP   client to access and
       manipulate emails on a
       receiving server.
•   All messages and their folder
    organization are on the server
•   Clients poll to know about with
    new messages that arrive or
    actions made through other
    clients
•   While it doesn’t send
    messages, clients usually
    store sent messages through it
Protocol to allow a
POP   client to retrieve emails
      from a receiving server.
•   The server only serves as a
    temporary buffer for received
    messages
•   Classification and message
    state is purely a client-side
    concept
•   Many clients can access the
    same account but can’t
    coordinate anything
RFC-822     Standards defining
MIME        headers and the actual
            body of the message
Multipart
Where does your app fit in there?
Typical       1. Send emails to users

things apps   2. Receive emails from users
want to do
              3. Access emails users send and
with email       receive.
group collaboration
         task management
         document collaboration
         customer support
         app notification
Email is a communications system
         project management
         client relationship
         applicant tracking
         photo sharing
         bug tracking
         Nigerian extortion
Introduction to IMAP
Me: “App Developer, meet IMAP. IMAP,
meet App Developer.”

IMAP: “I don’t give a sh*t about you, App
Developer. Go away!”
1. Connect to the IMAP server and authenticate

>"openssl"s_client"-crlf"-connect"imap.gmail.com:993
["a"few"lines"of"SSL"and"server"info"]
*"OK"Gimap"ready"for"requests"from"123.14.12.20"zw8i38638oab.180
a001"LOGIN"username"password
*"CAPABILITY"IMAP4rev1"UNSELECT"IDLE"NAMESPACE"QUOTA"ID"XLIST"CHILDREN"X-
GM-EXT-1"UIDPLUS"COMPRESS=DEFLATE
a001"OK"username"authenticated"(Success)
3. LIST mailboxes

a002"LIST"""""*"
*"LIST"(HasChildren)""/"""Drive"
*"LIST"(Noselect"HasChildren)""/"""Drive/Dev"
*"LIST"(HasNoChildren)""/"""Drive/Dev/A"
*"LIST"(HasNoChildren)""/"""Drive/Dev/B"
*"LIST"(HasNoChildren)""/"""INBOX"
*"LIST"(HasNoChildren)""/"""Archive"
*"LIST"(HasNoChildren)""/"""Sent"Mail"
*"LIST"(HasNoChildren)""/"""Drafts"
*"LIST"(HasNoChildren)""/"""Spam"
*"LIST"(HasChildren)""/"""My"folder"
*"LIST"(HasNoChildren)""/"""My"folder/label"A"
*"LIST"(HasNoChildren)""/"""My"folder/label"B"
a002"OK"Success
4. SELECT a mailbox

a003"SELECT""Drive/Dev"
*"FLAGS"(Answered"Flagged"Draft"Deleted"Seen)
*"OK"[PERMANENTFLAGS"(Deleted"Seen"*)]"Limited
*"OK"[UIDVALIDITY"614213447]"UIDs"valid
*"OK"[UIDNEXT"1042]"Predicted"next"UID
*"84"EXISTS
*"3"RECENT
a003"OK"[READ-WRITE]"Drive/Dev"selected."(Success)
4. FETCH messages

a013"FETCH"80:81"(FLAGS"BODY[HEADER.FIELDS"(DATE"FROM"SUBJECT)])
*"80"FETCH"(FLAGS"(Seen)"BODY[HEADER.FIELDS"(DATE"FROM"SUBJECT)]"{101}
Date:"Mon,"26"Jul"2012"14:05:16"-0400
From:"Dominik"Gehl"<dominik@gmail.com>
Subject:"test

)
*"81"FETCH"(FLAGS"(Seen)"BODY[HEADER.FIELDS"(DATE"FROM"SUBJECT)]"{115}
From:"Dominik"Gehl"<dominik@context.io>
Subject:"Payment"required"error
Date:"Tue,"27"Mar"2012"09:28:01"-0400

)
a013"OK"Success
4. FLAG a message as read

a015"STORE"81"+FLAGS"(Seen)
*"81"FETCH"(FLAGS"())
a015"OK"Success
4. CLOSE the mailbox and LOGOUT the account

a023"CLOSE
a023"OK"Returned"to"authenticated"state."(Success)
a024"LOGOUT
*"BYE"LOGOUT"Requested
a024"OK"LOGOUT"completed."(Success)
That didn’t seem so bad!
• There is no persistent primary
                key you can rely on to retrieve a
Pitfall #1:     message
Identifying
                • Message Sequence Number
messages
                • Unique Identifier
• Ascending and contiguous
             sequence. If the mailbox says
Sequence     11 exist, you can fetch
             messages with seq. nb. 1 to 11
Number
           • They can (and will) be
             reassigned during a session.
• 32-bit value uniquely identifying
              a message within a mailbox.

            • Ascending but not necessarily
Unique        incremental nor contiguous.

Identifier   • If you move a message to
(aka UID)     another mailbox, it will get a
              new UID in that new mailbox

            • Changes if the mailbox
              UIDVALIDITY changes
• Only the INBOX mailbox has a
                  special meaning.

Pitfall #2:     • Everything else has the
Special-use       meaning the client wants it to
                  have (which may not be in
folders (or       English)
lack thereof)   • Gmail has XLIST which add
                  mailbox attributes (Inbox, Sent,
                  Starred, ...)
Pitfall #3:     • Anything that searches or
                  fetches messages is done
No data until     within the context of a mailbox
you select a    • Can’t get account-wide list of
mailbox           messages
• It's an extension that isn't widely
Pitfall #4:     available and even then,
                restricted to a single mailbox
Threads
              • X-GM-THREAD-ID to the rescue
• You need to get and parse the
                body structure
Pitfall #5:
Attachment?   • As far as IMAP is concerned, an
                attachment is the same thing as
                any other MIME part
• Setting the Deleted flag marks
                the message for deletion but it’s
Pitfall #6:     still there

Deleting      • EXPUNGE will remove all
messages        messages with Deleted flag
                from the currently selected
                mailbox
• Purging client side message list
                 is a PITA.

Pitfall #7:    • Server won't tell you which
Keeping up       messages were deleted, you
                 just have to figure out some
with deleted     have been and find which one
messages         were.

               • It's the same if you want to keep
                 track of Seen flag.
The joys of parsing email messages

Yé! I fetched a message! Now what do I do?
A simple message
Delivered-To:"sysadmin@context.io
Return-Path:"<2012050639be@bounces.amazon.com>
Received:"by"10.229.135.136"with"SMTP"id"n8mr410292qct.135.1336583200550;
""""""""Wed,"09"May"2012"10:06:40"-0700"(PDT)
Received:"from"smtp-out.amazon.com"(smtp-out.amazon.com."[72.21.212.39])
""""""""by"mx.google.com"with"ESMTP"id"b2si1383913qcd.195.2012.05.06.40;
""""""""Wed,"09"May"2012"10:06:40"-0700"(PDT)
Date:"Wed,"9"May"2012"17:06:39"+0000"(UTC)
From:"Amazon"EC2"Notification"<no-reply-aws@amazon.com>
To:""Sys"Admin""<sys@context.io>
Cc:""Alerts""<alerts@context.io>
Message-ID:"<urn.correios.msg.2012050639be@1336583199032.us-1.amazon.com>
Subject:"Notice:"Amazon"EC2"Instance"scheduled"for"retirement
MIME-Version:"1.0
Content-Type:"text/plain;"charset=UTF-8
Content-Transfer-Encoding:"7bit

Hello,"...
A message with an attachment
MIME-Version:"1.0
Content-Type:"multipart/mixed;"boundary=_MYBOUNDARY_

--_MYBOUNDARY_
Content-Type:"text/plain

This"is"the"body"of"the"message.
--_MYBOUNDARY_
Content-Type:"image/jpeg;"name="IMG_713.jpg"
Content-Disposition:"attachment;"filename="IMG_713.jpg";"size=6379099;
Content-Transfer-Encoding:"base64

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZA+4AJkFkb2JlAGTAAAAAAQMA
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD8IAEQgAegG1AwERAI
RAQMRAfEASMAAQACAwEBAQEBAAAAAAAAAAAHCAUGCQQDAgEKAQEAAgIDAQAAAAAAAAAAAAAAB
gcFCAEDBAIQAAEEAgEBBgQGAQUAAAAAAAUCAwQGAQcAEjBQERMUFRBgFhcgQHAhNAhBMSIjJD
URAAIC==
--_MYBOUNDARY_--
A message with alternative parts
MIME-Version:"1.0
Content-Type:"multipart/alternative;"boundary=_MYBOUNDARY_

--_MYBOUNDARY_
Content-Type:"text/plain;"charset="us-ascii"
Content-Transfer-Encoding:"quoted-printable

Hello!"Here’s"a"message"with"*rich*"text
--_MYBOUNDARY_
Content-Type:"text/html;"charset="us-ascii"
Content-Transfer-Encoding:"quoted-printable

<html><body>Hello!"Here’s"a"message"with"<b>rich</b>"text</body></html>
--_MYBOUNDARY_--
Pitfall #1:   • Great to track messages but
                spec says it's optional.
Message-ID
is optional    ... and it’s not always there.
• Refers to Message-ID of other
                emails
Pitfall #2:
In-Reply-To   • Very useful to rebuild threads

References      ... until an Outlook user jumps in and
                replaces it with their own Thread.
                Topic and Thread.Index headers
Pitfall #3:    • Content-Disposition tells you
Attachments      attachment or inline. Should
                 signature image be considered
are what you     as a file attachment?
decide them
               • TNEF attachments
to be
webhooks




threads                                contacts




          messages              files
Demo of Context.IO console
Email as a datasource for applications

Weitere ähnliche Inhalte

Was ist angesagt?

Mail services and mail commands in linux
Mail services and mail commands in linuxMail services and mail commands in linux
Mail services and mail commands in linuxGracia Marcom
 
Voice enable smtp client
Voice enable smtp clientVoice enable smtp client
Voice enable smtp clientNilesh Padwal
 
Alternative Methods Of Communication To Consumer
Alternative Methods Of Communication To ConsumerAlternative Methods Of Communication To Consumer
Alternative Methods Of Communication To Consumerguestf9788dc7
 
Presentasi Bahasa Inggris " Email "
Presentasi Bahasa Inggris " Email "Presentasi Bahasa Inggris " Email "
Presentasi Bahasa Inggris " Email "Ari Febrianto
 
Email Security, The Essence of Secure E-mail
Email Security, The Essence of Secure E-mailEmail Security, The Essence of Secure E-mail
Email Security, The Essence of Secure E-mailRalph van der Pauw
 
Electronic mail - Computer Networks
Electronic mail - Computer NetworksElectronic mail - Computer Networks
Electronic mail - Computer NetworksUmme Jamal
 
About Web and E-mail
About Web and E-mailAbout Web and E-mail
About Web and E-mailsai prakash
 
Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Navjot Navi
 
Pop (post office protocol)e mail (electronic mail)
Pop (post office protocol)e mail (electronic mail)Pop (post office protocol)e mail (electronic mail)
Pop (post office protocol)e mail (electronic mail)MDSHABBIR12
 
Introduction to basics command in linux, and working in linux
Introduction to basics command in linux, and working in linuxIntroduction to basics command in linux, and working in linux
Introduction to basics command in linux, and working in linuxGracia Marcom
 
Final year project report on Internet And Interanet Emailing server
Final year project report on Internet And Interanet Emailing serverFinal year project report on Internet And Interanet Emailing server
Final year project report on Internet And Interanet Emailing serversachin993
 

Was ist angesagt? (20)

Mail services and mail commands in linux
Mail services and mail commands in linuxMail services and mail commands in linux
Mail services and mail commands in linux
 
How Email Works
How Email WorksHow Email Works
How Email Works
 
Voice enable smtp client
Voice enable smtp clientVoice enable smtp client
Voice enable smtp client
 
Electronic mail
Electronic mailElectronic mail
Electronic mail
 
Electronic mail
Electronic mailElectronic mail
Electronic mail
 
Alternative Methods Of Communication To Consumer
Alternative Methods Of Communication To ConsumerAlternative Methods Of Communication To Consumer
Alternative Methods Of Communication To Consumer
 
Electronic mail
Electronic mailElectronic mail
Electronic mail
 
How e mail works
How e mail worksHow e mail works
How e mail works
 
how email works
how email workshow email works
how email works
 
Presentasi Bahasa Inggris " Email "
Presentasi Bahasa Inggris " Email "Presentasi Bahasa Inggris " Email "
Presentasi Bahasa Inggris " Email "
 
Email Security, The Essence of Secure E-mail
Email Security, The Essence of Secure E-mailEmail Security, The Essence of Secure E-mail
Email Security, The Essence of Secure E-mail
 
Electronic mail - Computer Networks
Electronic mail - Computer NetworksElectronic mail - Computer Networks
Electronic mail - Computer Networks
 
Electronic mail
Electronic mailElectronic mail
Electronic mail
 
Email
EmailEmail
Email
 
About Web and E-mail
About Web and E-mailAbout Web and E-mail
About Web and E-mail
 
Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)
 
Pop (post office protocol)e mail (electronic mail)
Pop (post office protocol)e mail (electronic mail)Pop (post office protocol)e mail (electronic mail)
Pop (post office protocol)e mail (electronic mail)
 
Introduction to basics command in linux, and working in linux
Introduction to basics command in linux, and working in linuxIntroduction to basics command in linux, and working in linux
Introduction to basics command in linux, and working in linux
 
Upload.gs
Upload.gsUpload.gs
Upload.gs
 
Final year project report on Internet And Interanet Emailing server
Final year project report on Internet And Interanet Emailing serverFinal year project report on Internet And Interanet Emailing server
Final year project report on Internet And Interanet Emailing server
 

Ähnlich wie Email as a datasource for applications

Email transfer part 1
Email transfer part 1Email transfer part 1
Email transfer part 1myrajendra
 
window server 2008 mail configuration
window server 2008 mail configurationwindow server 2008 mail configuration
window server 2008 mail configurationanwarkade1
 
Email - electronic mail
Email - electronic mailEmail - electronic mail
Email - electronic mailkundana
 
WHAT IS OUTLOOK MAIL.pptx
WHAT IS OUTLOOK MAIL.pptxWHAT IS OUTLOOK MAIL.pptx
WHAT IS OUTLOOK MAIL.pptxVignesh kumar
 
Simple mail transfer protocol
Simple mail transfer protocolSimple mail transfer protocol
Simple mail transfer protocolAnagha Ghotkar
 
Improving email reliability
Improving email reliabilityImproving email reliability
Improving email reliabilityAntti Siiskonen
 
How to deploy Exchange Online Protection
How to deploy Exchange Online ProtectionHow to deploy Exchange Online Protection
How to deploy Exchange Online ProtectionPeter Schmidt
 
CoLabora - Exchange Online Protection - June 2015
CoLabora - Exchange Online Protection - June 2015 CoLabora - Exchange Online Protection - June 2015
CoLabora - Exchange Online Protection - June 2015 CoLaboraDK
 
retrieving the mail
retrieving the mailretrieving the mail
retrieving the mailtumetr1
 
Computer networks unit v
Computer networks    unit vComputer networks    unit v
Computer networks unit vJAIGANESH SEKAR
 
Digital Literacy - Basic Technical Concepts (Session 1)
Digital Literacy - Basic Technical Concepts (Session 1)Digital Literacy - Basic Technical Concepts (Session 1)
Digital Literacy - Basic Technical Concepts (Session 1)Bill Condo
 

Ähnlich wie Email as a datasource for applications (20)

Email As A Datasource
Email As A DatasourceEmail As A Datasource
Email As A Datasource
 
Email transfer part 1
Email transfer part 1Email transfer part 1
Email transfer part 1
 
window server 2008 mail configuration
window server 2008 mail configurationwindow server 2008 mail configuration
window server 2008 mail configuration
 
Email - electronic mail
Email - electronic mailEmail - electronic mail
Email - electronic mail
 
Email Forensics
Email ForensicsEmail Forensics
Email Forensics
 
E mail Investigation
E mail InvestigationE mail Investigation
E mail Investigation
 
WHAT IS OUTLOOK MAIL.pptx
WHAT IS OUTLOOK MAIL.pptxWHAT IS OUTLOOK MAIL.pptx
WHAT IS OUTLOOK MAIL.pptx
 
Simple mail transfer protocol
Simple mail transfer protocolSimple mail transfer protocol
Simple mail transfer protocol
 
Improving email reliability
Improving email reliabilityImproving email reliability
Improving email reliability
 
How to deploy Exchange Online Protection
How to deploy Exchange Online ProtectionHow to deploy Exchange Online Protection
How to deploy Exchange Online Protection
 
CoLabora - Exchange Online Protection - June 2015
CoLabora - Exchange Online Protection - June 2015 CoLabora - Exchange Online Protection - June 2015
CoLabora - Exchange Online Protection - June 2015
 
retrieving the mail
retrieving the mailretrieving the mail
retrieving the mail
 
Mail server
Mail serverMail server
Mail server
 
Mail server
Mail serverMail server
Mail server
 
Ch22 system administration
Ch22 system administration Ch22 system administration
Ch22 system administration
 
Computer networks unit v
Computer networks    unit vComputer networks    unit v
Computer networks unit v
 
pop3-imap.ppt
pop3-imap.pptpop3-imap.ppt
pop3-imap.ppt
 
pop3-imap.ppt
pop3-imap.pptpop3-imap.ppt
pop3-imap.ppt
 
Digital Literacy - Basic Technical Concepts (Session 1)
Digital Literacy - Basic Technical Concepts (Session 1)Digital Literacy - Basic Technical Concepts (Session 1)
Digital Literacy - Basic Technical Concepts (Session 1)
 
Application layer
Application layerApplication layer
Application layer
 

Kürzlich hochgeladen

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Kürzlich hochgeladen (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Email as a datasource for applications