SlideShare a Scribd company logo
1 of 54
Download to read offline
CBOR
The Better JSON
www.hazelcast.com@noctarius2k
Who’s that dude?
• Chris Engelbert
• Manager of Developer Relations @Hazelcast
• Java-Passionate (10+ years)
• Performance
• Garbage Collection
• JVM / Benchmark Fairytales
www.hazelcast.com@noctarius2k
Brief look at the history
www.hazelcast.com@noctarius2k
In the beginning there was darkness…
www.hazelcast.com@noctarius2k
…and binary data
www.hazelcast.com@noctarius2k
…and binary data
www.hazelcast.com@noctarius2k
Debugging binary data is hard
www.hazelcast.com@noctarius2k
Binary data is just a big blob
www.hazelcast.com@noctarius2k
Possible with custom tooling
www.hazelcast.com@noctarius2k
Possible with custom tooling
• unique to this specific use case
• involves model classes to be known
• utilizes workarounds
• generally feels weird :-)
Often:
www.hazelcast.com@noctarius2k
“I need to understand it!”
www.hazelcast.com@noctarius2k
Human Readability, Expressiveness
www.hazelcast.com@noctarius2k
Human Readability, Expressiveness
<fun>

<with>

<xml dont:you="think" />

</with>

</fun>
www.hazelcast.com@noctarius2k
Human Readability, Expressiveness
www.hazelcast.com@noctarius2k
Human Readability, Expressiveness
This is not a flame graph!
www.hazelcast.com@noctarius2k
Human Readability, Expressiveness
This is not a flame graph!
<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-failsafe-plugin</artifactId>

<version>${maven.failsafe.plugin.version}</version>

<configuration combine.self="override">

<redirectTestOutputToFile>true</redirectTestOutputToFile>

<argLine>

${jacoco.agent.argLine}

-Xms129m -Xmx1G -XX:MaxPermSize=129M

-Dxyz.feature1.enabled=false

-Dxyz.feature2.enabled=false

-Dxyz.feature3.type=none

-Dxyz.feature4=true

</argLine>

<includes>

<include>**/TestCast*.java</include>

<include>**/IntegrationTestCase*.java</include>

</includes>

<groups>

com.xyz.test.annotation.QuickTest,

com.xyz.test.annotation.SlowTest,

com.xyz.test.annotation.NightlyTest

</groups>



</configuration>

<executions>

<execution>

<goals>

<goal>integration-test</goal>

</goals>

</execution>

</executions>
</plugin>
www.hazelcast.com@noctarius2k
Too verbose!
www.hazelcast.com@noctarius2k
Too understandable?!
www.hazelcast.com@noctarius2k
Just gross?
www.hazelcast.com@noctarius2k
Grossbusters!
www.hazelcast.com@noctarius2k
There is no Dana, only Zuul!JSON
www.hazelcast.com@noctarius2k
Human Readability, Concise
www.hazelcast.com@noctarius2k
Human Readability, Concise
www.hazelcast.com@noctarius2k
Human Readability, Concise
base64 encoded image
www.hazelcast.com@noctarius2k
Human Readability, Concise
Does not play “well”
with binary data :-(
base64 encoded image
www.hazelcast.com@noctarius2k
But let’s be honest…
www.hazelcast.com@noctarius2k
…do we need to store human readable?
www.hazelcast.com@noctarius2k
Binary but understandable!
www.hazelcast.com@noctarius2k
So what’s the next evolution step?
www.hazelcast.com@noctarius2k
C(oncise) B(inary) O(bject) R(epresentation)
www.hazelcast.com@noctarius2k
Features
• Stores JSON-alike content
• Extremely concise
• Binary
• Streamable
• Type safe
• Schemaless
• Highly Extensible
• Well defined specification
• Standard (by the IETF, RFC7049)
www.hazelcast.com@noctarius2k
Real World (Size) Example
www.pathway-game.com
• Stores Geometry Information
• Mainly Float Data
• Often floatToIntBits for Speed
• Lots of Sequences
• Only a few Dictionaries
Really simple data structure
www.hazelcast.com@noctarius2k
Real World (Size) Example
2250000
4500000
6750000
9000000
XML JSON BSON CBOR MSGPACK
MSGPACK

CBOR
BSON
JSON
XML
1.408.737 bytes
1.415.215 bytes
5.575.783 bytes
5.755.188 bytes
8.592.541 bytes
1.0x
1.0x
3.9x
4.0x
6.0x
www.hazelcast.com@noctarius2k
Debugging capability built-in
Dictionary [
ByteString{ ANI0 }=Sequence [
Sequence [
UInt{ 7264 },
UInt{ 4 },
UInt{ 2724 },
UInt{ 37 },
Sequence [
NInt{ -1053818880 },
UInt{ 1077214225 },
UInt{ 0 },
UInt{ 0 },
UInt{ 1068825617 },
]
]
]
]
Since items carry their type information,
writing a quick debugger or using the
provided to-string capabilities of libs
www.hazelcast.com@noctarius2k
Implementations
• JavaScript
• browser
• node.js
• Julia
• C#
• Java
• Lua
• PHP
• Python
• Go
• C
• C++
• Rust
• Perl
• Ruby
• D
• Swift
• Erlang
• Elixir
www.hazelcast.com@noctarius2k
Implementations
• JavaScript
• browser
• node.js
• Julia
• C#
• Java
• Lua
• PHP
• Python
• Go
• C
• C++
• Rust
• Perl
• Ruby
• D
• Swift
• Erlang
• Elixir
CBOR-java:

https://github.com/peteroupc/CBOR-Java
Jackson Dataformat:
https://github.com/FasterXML/jackson-dataformat-cbor
cbor-java:
https://github.com/c-rack/cbor-java
JACOB:
https://github.com/jawi/jacob
borabora:
https://github.com/noctarius/borabora
www.hazelcast.com@noctarius2k
Implementations
• JavaScript
• browser
• node.js
• Julia
• C#
• Java
• Lua
• PHP
• Python
• Go
• C
• C++
• Rust
• Perl
• Ruby
• D
• Swift
• Erlang
• Elixir
CBOR-java:

https://github.com/peteroupc/CBOR-Java
Jackson Dataformat:
https://github.com/FasterXML/jackson-dataformat-cbor
cbor-java:
https://github.com/c-rack/cbor-java
JACOB:
https://github.com/jawi/jacob
borabora:
https://github.com/noctarius/borabora
www.hazelcast.com@noctarius2k
borabora
•Skip-scan parser
•Simple, fluent API
•Supports object queries
•Reading + writing
•Supports mutating (hacky prototype)
•Extended datatype support
www.hazelcast.com@noctarius2k
borabora
•Skip-scan parser
•Simple, fluent API
•Supports object queries
•Reading + writing
•Supports mutating (hacky prototype)
•Extended datatype support
Not just a blur of color
www.hazelcast.com@noctarius2k
borabora
•Skip-scan parser
•Simple, fluent API
•Supports object queries
•Reading + writing
•Supports mutating (hacky prototype)
•Extended datatype support
but the island ;-)
www.hazelcast.com@noctarius2k
Time for some demos, isn’t it?
www.hazelcast.com@noctarius2k
Comparisons
www.hazelcast.com@noctarius2k
Comparisons
“Alternative Facts”
in the comparisons,
are all fake news!
www.hazelcast.com@noctarius2k
MessagePack
• Extremely concise
• Available in almost every language
• UTF-8 and binary strings
• No map keys datatype restriction
• Schemaless
• Binary
• 32bit size limitation for certain data types
• Specification is concise too (~450 lines)
• No official standard
www.hazelcast.com@noctarius2k
MessagePack
• Extremely concise
• Available in almost every language
• UTF-8 and binary strings
• No map keys datatype restriction
• Schemaless
• Binary
• 32bit size limitation for certain data types
• Specification is concise too (~450 lines)
• No official standard
1:0
2:0
Draw
Draw
Draw
Draw
2:1
2:2
2:3
www.hazelcast.com@noctarius2k
JSON
• Human readable
• Official standard (ECMA-404)
• Subset of JavaScript (strong support)
• Schemaless
• Kind of type safe
• Human readable
• Text-based
• Map keys can be strings only
• Large bytesize
www.hazelcast.com@noctarius2k
• Human readable
• Official standard (ECMA-404)
• Subset of JavaScript (strong support)
• Schemaless
• Kind of type safe
• Human readable
• Text-based
• Map keys can be strings only
• Large bytesize
1:0
Draw
2:0
Draw
Draw
2:1
2:2
2:3
2:4
JSON
www.hazelcast.com@noctarius2k
• Binary
• Available in a lot of languages
• Derived from JSON, interoperability 1+
• Schemaless
• Type safe
• Supports in-place updates
• No official standard
• Extremely concise specification
• Map keys can be strings only
• Large bytesize
BSON
www.hazelcast.com@noctarius2k
• Binary
• Available in a lot of languages
• Derived from JSON, interoperability 1+
• Schemaless
• Type safe
• Supports in-place updates
• No official standard
• Extremely concise specification
• Map keys can be strings only
• Large bytesize
Draw
1:0
2:0
Draw
Draw
3:0
3:1
3:2
3:3
3:4
BSON
www.hazelcast.com@noctarius2k
• Human readable
• Official standard (W3C REC-xml)
• Strong commercial support (e.g. IBM)
• Supported everywhere
• Type safe or schemaless
• Human readable
• Text-based
• Very verbose
• Large bytesize
XML
www.hazelcast.com@noctarius2k
• Human readable
• Official standard (W3C REC-xml)
• Strong commercial support (e.g. IBM)
• Supported everywhere
• Type safe or schemaless
• Human readable
• Text-based
• Very verbose
• Large bytesize
1:0
Draw
2:0
3:0
3:1
3:2
3:3
3:4
3:5
XML
www.hazelcast.com@noctarius2k
More alternatives
Text-based:
• bencode
• YAML
• …
Binary:
• Amazon ION
• Smile
• Apache Thrift
• Apache Avro
• Protobuf
• …
ASCII based encoding, unaffected by endianess, type safe
commonly for configuration, superset of JSON, type safe
skip-scan parsable, type safe, commercial support (Amazon)
based on JSON, property-name back-references
DSL, schema-bound, developed by Facebook, RPC services
DSL, schema-bound, primarily used by Hadoop
DSL, schema-bound, developed by Google, RPC services
www.hazelcast.com@noctarius2k
More information:
• http://cbor.io/
• http://bsonspec.org/
• http://www.json.org/
• https://www.w3.org/TR/REC-xml/
• http://msgpack.org/
• https://github.com/noctarius/borabora
• https://en.wikipedia.org/wiki/Bencode
• https://en.wikipedia.org/wiki/YAML
• https://amznlabs.github.io/ion-docs/
• https://en.wikipedia.org/wiki/Apache_Thrift
• https://en.wikipedia.org/wiki/Apache_Avro
• https://en.wikipedia.org/wiki/Protocol_Buffers
• https://en.wikipedia.org/wiki/Smile_(data_interchange_format)
Thank You!
www.hazelcast.com@noctarius2k
Thank You!
Any Questions?
@noctarius2k
http://www.sourceprojects.org
http://github.com/noctarius
@hazelcast
http://www.hazelcast.com
http://www.hazelcast.org
http://github.com/hazelcast

More Related Content

What's hot

Frontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs VueFrontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs VueMarudi Subakti
 
Methodology: feature epic and user story
Methodology:  feature epic and user storyMethodology:  feature epic and user story
Methodology: feature epic and user storyJean-François Nguyen
 
Introduction to GraphQL: Mobile Week SF
Introduction to GraphQL: Mobile Week SFIntroduction to GraphQL: Mobile Week SF
Introduction to GraphQL: Mobile Week SFAmazon Web Services
 
Liferay overview
Liferay overviewLiferay overview
Liferay overviewAbhishekSRC
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology StacksPrakarsh -
 
Requirement prioritization
Requirement prioritizationRequirement prioritization
Requirement prioritizationAbdul Basit
 
OPA APIs and Use Case Survey
OPA APIs and Use Case SurveyOPA APIs and Use Case Survey
OPA APIs and Use Case SurveyTorin Sandall
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersCA Technologies
 
User-centred digital strategy - UX in the City Manchester 2017
User-centred digital strategy - UX in the City Manchester 2017User-centred digital strategy - UX in the City Manchester 2017
User-centred digital strategy - UX in the City Manchester 2017Sophie Dennis
 
Arquitectura hexagonal
Arquitectura hexagonalArquitectura hexagonal
Arquitectura hexagonal540deg
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - ImportNeo4j
 
How to Use Your Product Roadmap as a Communication Tool
How to Use Your Product Roadmap as a Communication ToolHow to Use Your Product Roadmap as a Communication Tool
How to Use Your Product Roadmap as a Communication ToolJanna Bastow
 
Exploring the details of APEX sessions
Exploring the details of APEX sessionsExploring the details of APEX sessions
Exploring the details of APEX sessionsMenno Hoogendijk
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoBrad Frost
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)Annie Comp
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 

What's hot (20)

Frontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs VueFrontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs Vue
 
Methodology: feature epic and user story
Methodology:  feature epic and user storyMethodology:  feature epic and user story
Methodology: feature epic and user story
 
Introduction to GraphQL: Mobile Week SF
Introduction to GraphQL: Mobile Week SFIntroduction to GraphQL: Mobile Week SF
Introduction to GraphQL: Mobile Week SF
 
Laravel 101
Laravel 101Laravel 101
Laravel 101
 
Liferay overview
Liferay overviewLiferay overview
Liferay overview
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
Requirement prioritization
Requirement prioritizationRequirement prioritization
Requirement prioritization
 
OPA APIs and Use Case Survey
OPA APIs and Use Case SurveyOPA APIs and Use Case Survey
OPA APIs and Use Case Survey
 
REST API
REST APIREST API
REST API
 
A Self-Service API Portal for Developers
A Self-Service API Portal for DevelopersA Self-Service API Portal for Developers
A Self-Service API Portal for Developers
 
User-centred digital strategy - UX in the City Manchester 2017
User-centred digital strategy - UX in the City Manchester 2017User-centred digital strategy - UX in the City Manchester 2017
User-centred digital strategy - UX in the City Manchester 2017
 
Arquitectura hexagonal
Arquitectura hexagonalArquitectura hexagonal
Arquitectura hexagonal
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - Import
 
How to Use Your Product Roadmap as a Communication Tool
How to Use Your Product Roadmap as a Communication ToolHow to Use Your Product Roadmap as a Communication Tool
How to Use Your Product Roadmap as a Communication Tool
 
Exploring the details of APEX sessions
Exploring the details of APEX sessionsExploring the details of APEX sessions
Exploring the details of APEX sessions
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
 
API Presentation
API PresentationAPI Presentation
API Presentation
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 

Viewers also liked

Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallChristoph Engelbert
 
The Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardThe Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardChristoph Engelbert
 
The Olivet Discourse
The Olivet DiscourseThe Olivet Discourse
The Olivet DiscourseChuck Noren
 
Communication skills ppt
Communication skills pptCommunication skills ppt
Communication skills pptankit vikani
 
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...Aniruddha Deshpande
 
Distributed Computing with Hazelcast - Brazil Tour
Distributed Computing with Hazelcast - Brazil TourDistributed Computing with Hazelcast - Brazil Tour
Distributed Computing with Hazelcast - Brazil TourChristoph Engelbert
 
The Joy Of Labour - Karen Cheah - 26th March 2017
The Joy Of Labour - Karen Cheah - 26th March 2017The Joy Of Labour - Karen Cheah - 26th March 2017
The Joy Of Labour - Karen Cheah - 26th March 2017Emmanuel Evangelical Church
 
Partnership design (get start)
Partnership design (get start)Partnership design (get start)
Partnership design (get start)Bart Doorneweert
 
Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Monica Beckwith
 
3Com 05-0100-002
3Com 05-0100-0023Com 05-0100-002
3Com 05-0100-002savomir
 

Viewers also liked (20)

Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
 
The Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardThe Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service Storyboard
 
The Olivet Discourse
The Olivet DiscourseThe Olivet Discourse
The Olivet Discourse
 
Communication skills ppt
Communication skills pptCommunication skills ppt
Communication skills ppt
 
PRODUCT PROJECT REPORT
PRODUCT PROJECT REPORTPRODUCT PROJECT REPORT
PRODUCT PROJECT REPORT
 
Recent rl
Recent rlRecent rl
Recent rl
 
Syrups and elixirs
Syrups and elixirsSyrups and elixirs
Syrups and elixirs
 
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...
Presentation – I - NEW PERSPECTIVE ON TRADITIONAL TECHNICAL ANALYSIS PROBLEMS...
 
Distributed Computing with Hazelcast - Brazil Tour
Distributed Computing with Hazelcast - Brazil TourDistributed Computing with Hazelcast - Brazil Tour
Distributed Computing with Hazelcast - Brazil Tour
 
The Joy Of Labour - Karen Cheah - 26th March 2017
The Joy Of Labour - Karen Cheah - 26th March 2017The Joy Of Labour - Karen Cheah - 26th March 2017
The Joy Of Labour - Karen Cheah - 26th March 2017
 
PRODUCT PROJECT REPORT
PRODUCT PROJECT REPORTPRODUCT PROJECT REPORT
PRODUCT PROJECT REPORT
 
Mixed Bag Quiz 2
Mixed Bag Quiz 2Mixed Bag Quiz 2
Mixed Bag Quiz 2
 
Poultices
PoulticesPoultices
Poultices
 
Partnership design (get start)
Partnership design (get start)Partnership design (get start)
Partnership design (get start)
 
Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!Garbage First Garbage Collector: Where the Rubber Meets the Road!
Garbage First Garbage Collector: Where the Rubber Meets the Road!
 
3Com 05-0100-002
3Com 05-0100-0023Com 05-0100-002
3Com 05-0100-002
 
Presentación 1 clase
Presentación 1 clasePresentación 1 clase
Presentación 1 clase
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Pb0816t
Pb0816tPb0816t
Pb0816t
 

Similar to CBOR - The Better JSON

Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on DeliverySensePost
 
A web app in pure Clojure
A web app in pure ClojureA web app in pure Clojure
A web app in pure ClojureDane Schneider
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Ontico
 
London devops logging
London devops loggingLondon devops logging
London devops loggingTomas Doran
 
Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Fwdays
 
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...Michele Orru
 
Tampering with JavaScript
Tampering with JavaScriptTampering with JavaScript
Tampering with JavaScriptBoy Baukema
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleChristophe Grand
 
Charles nutter star techconf 2011 - jvm languages
Charles nutter   star techconf 2011 - jvm languagesCharles nutter   star techconf 2011 - jvm languages
Charles nutter star techconf 2011 - jvm languagesStarTech Conference
 
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011Tim Y
 
SDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsSDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsKorea Sdec
 
ElasticSearch - DevNexus Atlanta - 2014
ElasticSearch - DevNexus Atlanta - 2014ElasticSearch - DevNexus Atlanta - 2014
ElasticSearch - DevNexus Atlanta - 2014Roy Russo
 
End to-end convolutional semantic embeddings
End to-end convolutional semantic embeddingsEnd to-end convolutional semantic embeddings
End to-end convolutional semantic embeddingsharmonylab
 
Andy Parsons Pivotal June 2011
Andy Parsons Pivotal June 2011Andy Parsons Pivotal June 2011
Andy Parsons Pivotal June 2011Andy Parsons
 
Serialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsSerialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsAlex Tumanoff
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Lance Ball
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.jsJakub Nesetril
 
ログ収集プラットフォーム開発におけるElasticsearchの運用
ログ収集プラットフォーム開発におけるElasticsearchの運用ログ収集プラットフォーム開発におけるElasticsearchの運用
ログ収集プラットフォーム開発におけるElasticsearchの運用LINE Corporation
 

Similar to CBOR - The Better JSON (20)

Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on Delivery
 
A web app in pure Clojure
A web app in pure ClojureA web app in pure Clojure
A web app in pure Clojure
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
 
London devops logging
London devops loggingLondon devops logging
London devops logging
 
Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"
 
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
Rooting your internals - Exploiting Internal Network Vulns via the Browser Us...
 
Tampering with JavaScript
Tampering with JavaScriptTampering with JavaScript
Tampering with JavaScript
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit Hole
 
Charles nutter star techconf 2011 - jvm languages
Charles nutter   star techconf 2011 - jvm languagesCharles nutter   star techconf 2011 - jvm languages
Charles nutter star techconf 2011 - jvm languages
 
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011
 
SDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and modelsSDEC2011 NoSQL concepts and models
SDEC2011 NoSQL concepts and models
 
ElasticSearch - DevNexus Atlanta - 2014
ElasticSearch - DevNexus Atlanta - 2014ElasticSearch - DevNexus Atlanta - 2014
ElasticSearch - DevNexus Atlanta - 2014
 
End to-end convolutional semantic embeddings
End to-end convolutional semantic embeddingsEnd to-end convolutional semantic embeddings
End to-end convolutional semantic embeddings
 
Andy Parsons Pivotal June 2011
Andy Parsons Pivotal June 2011Andy Parsons Pivotal June 2011
Andy Parsons Pivotal June 2011
 
Play Live Coding
Play Live CodingPlay Live Coding
Play Live Coding
 
Serialization and performance by Sergey Morenets
Serialization and performance by Sergey MorenetsSerialization and performance by Sergey Morenets
Serialization and performance by Sergey Morenets
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
ログ収集プラットフォーム開発におけるElasticsearchの運用
ログ収集プラットフォーム開発におけるElasticsearchの運用ログ収集プラットフォーム開発におけるElasticsearchの運用
ログ収集プラットフォーム開発におけるElasticsearchの運用
 

More from Christoph Engelbert

Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenChristoph Engelbert
 
Of Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series DataOf Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series DataChristoph Engelbert
 
What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!Christoph Engelbert
 
PostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) WantPostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) WantChristoph Engelbert
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) ObservabilityChristoph Engelbert
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsChristoph Engelbert
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldChristoph Engelbert
 
In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015Christoph Engelbert
 
In-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech HubIn-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech HubChristoph Engelbert
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandChristoph Engelbert
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionChristoph Engelbert
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayChristoph Engelbert
 
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgUnsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgChristoph Engelbert
 

More from Christoph Engelbert (20)

Data Pipeline Plumbing
Data Pipeline PlumbingData Pipeline Plumbing
Data Pipeline Plumbing
 
Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte Nachrichten
 
Of Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series DataOf Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series Data
 
What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!
 
PostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) WantPostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) Want
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) Observability
 
Oops-Less Operation
Oops-Less OperationOops-Less Operation
Oops-Less Operation
 
Instan(t)a-neous Monitoring
Instan(t)a-neous MonitoringInstan(t)a-neous Monitoring
Instan(t)a-neous Monitoring
 
Don't Go, Java!
Don't Go, Java!Don't Go, Java!
Don't Go, Java!
 
TypeScript Go(es) Embedded
TypeScript Go(es) EmbeddedTypeScript Go(es) Embedded
TypeScript Go(es) Embedded
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet Streams
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe World
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015
 
In-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech HubIn-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech Hub
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLand
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive Introduction
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache Way
 
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgUnsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: 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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: 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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
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.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

CBOR - The Better JSON