DevoxxFR 2015: From API to protocol

About me

Why

The best thing about UDP jokes is that I don't care if you get them or not

Existing protocols are good enough

The problem with TCP jokes is that people keep retelling them slower until you get them

Old layers

The problem with token ring jokes is you need to wait your turn to laugh

Changing needs

IGMP joke; please retweet

Why not a REST + JSON API over HTTP?

What's up with the jokes... Give it a REST, guys...

Why not?

If you GET an HTTP joke, you may POST it, PUT it away or DELETE it from your HEAD

Why build your own protocol ?

Why build your own protocol ?

How do you keep a UDP client in suspense?

Why build your own protocol?

The bad thing about bluetooth jokes is they can only be told to people you've paired up with

It can be hard

The two hard things in CS are cache invalidation, naming, and off-by-one errors

every communication is a protocol, formal or not

I'd tell you the one about the CIDR block, but you're too classy

Why describe properly a protocol?

There... There is... There is nothing... There is nothing funny about path MTU detection

Interoperability?

ARP jokes are often gratuitous

Ambiguity

WHO HAS ANY ARP JOKES?

Testing

TTL jokes are short lived

What is a protocol ?

NNTP jokes are news to me!

State machine

A packet header walks into a bar, the bartender holds up a gun to the packet, statefully

Encoding

Nobody likes a Debian SSH joke. Everyone can guess the punchline

Developers hate them !

Building a state machine ?

TOR jokes start and end almost anywhere

Build a state machine !

You might not laugh at this #protolol about ipv4-in-ipv6 encapsulation because it's an inside joker

Parsing ?

Chuck Norris has only one OSI layer - Physical

Parsing and input languages

IMG Langsec

The problem with protolol jokes is that they don't follow a protocol

Schema and grammars

HTTP 200 jokes are only OK

Parser generators

Got a joke about SNMP but it's private...

Parser combinators

406 jokes are not acceptable

Code architecture

no one ever gets my null routed jokes

Parse early, validate early

Doctor: What seems to be the problem? Router: It hurts when IP

Versionning

CRC jokes tend to get repeated until you get them right

Versions

The problem with Napster jokes is that everyone has a slightly different version

Negotiation

the bad thing about KERBEROS jokes is: You can't understand them if your clock is wrong

Schema repository

The bad thing about IPv6 jokes is that nobody wants to tell them first

Error management

I like ARP-Jokes, because it's so easy to make them appear to originate from other persons

Authentication and session

The problem UDP jokes

Text vs binary

In high society, TCP is more welcome than UDP. At least it knows a proper handshake

Token separation VS length fields

Too many SMTP jokes push the envelope of good taste...

Layering

arrival order packet joke is critical to good a make

Context sensitivity

the good thing about #P2P jokes is that you only need to tell them once

Thanks!