Tuesday, January 20, 2015

BSON, Protocol Buffers, Cap’n Proto

BSON - Binary JSON
"BSON [bee · sahn], short for Bin­ary JSON, is a bin­ary-en­coded seri­al­iz­a­tion of JSON-like doc­u­ments. Like JSON, BSON sup­ports the em­bed­ding of doc­u­ments and ar­rays with­in oth­er doc­u­ments and ar­rays. BSON also con­tains ex­ten­sions that al­low rep­res­ent­a­tion of data types that are not part of the JSON spec. For ex­ample, BSON has a Date type and a BinData type.
BSON can be com­pared to bin­ary inter­change for­mats, like Proto­col Buf­fers. BSON is more "schema-less" than Proto­col Buf­fers, which can give it an ad­vant­age in flex­ib­il­ity but also a slight dis­ad­vant­age in space ef­fi­ciency (BSON has over­head for field names with­in the seri­al­ized data)."
{ Names in JSON format are repeated frequently, why not just keep them as pointers,
since the format is binary anyway? A bit more complexity for potentially more efficient storage. }



James Newton-King - Json.NET 3.5 Release 6 – Binary JSON (BSON) support

c# - Protocol Buffers versus JSON or BSON - Stack Overflow

Comparison of data serialization formats - Wikipedia, the free encyclopedia

An overview of serialization formats. Numbers and anecdotes. | Daniel Lobato

Comparing Protobuf, JSON, BSON, XML with .NET for File streams | Software Engineering

{ Given that (Google's default data format) ProtoBuf is significantly more efficient,
it is a bit strange there are no popular databases based on this, like MongoDB based on BSON }

(Google's) F1: A Distributed SQL Database That Scales

(Facebook created) Apache Thrift - Home

Protocol Buffers — Google Developers

Protocol Buffers - Wikipedia, the free encyclopedia

google/protobuf @ GitHub

c# - How to choose between protobuf-csharp-port and protobuf-net - Stack Overflow

protobuf-csharp-port - Google's Protocol Buffers project, ported to C# - Google Project Hosting

protobuf-net - Fast, portable, binary serialization for .NET - Google Project Hosting

Code, code and more code.: Efficiency: the work you don’t do…

Cap'n Proto: Introduction
"Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or thinkProtocol Buffers, except faster. In fact, in benchmarks, Cap’n Proto is INFINITY TIMES faster than Protocol Buffers."

"Cap’n Proto gets a perfect score because there is no encoding/decoding step."

Code, code and more code.: Efficiency: the work you don’t do…
Marc Gravell, porting Cap'n Proto to C#image
"this format works both on disk and for live interactive objects, so the disk format is exactly the in-memory format. Zero processing."

Performance Test – BinaryFormatter vs Protobuf-Net | theburningmonk.com

Encoding - Protocol Buffers — Google Developers

innovation: Microsoft Online "proctoring" certification

Microsoft Worldwide Partner Conference
Training Spotlight: New learning methods
  • Online proctoring allows you to take tests from your office or home
  • Microsoft Labs Online let you order digital courseware and labs to lead in-house training
"What is online "proctoring?"

Imagine you have to take a certification exam. Traditionally, you would call or go online to schedule an appointment at a testing center, take time out of your day to travel to the testing facility, and then take the test.

With online proctoring, you skip all of the excess travel – you can take exams from the comfort of your own office or even your home.

Of course there are some restrictions: You’ll need a web camera, so that the testing moderator can visually sweep the room in which you’re testing, to make sure there are no unauthorized materials available.

There are currently 50 exams available for online proctored delivery, with more to come.
Note this test-taking method is offered via Pearson VUE, our new exam delivery provider."

Chartist.js: Simple responsive charts

Chartist - Simple responsive charts
Using SVG, CSS, SMIL, supports animations. Appears to be simple to use.

Unusual license
chartist-js/LICENSE at develop · gionkunz/chartist-js

Comparison of JavaScript charting frameworks - Wikipedia, the free encyclopedia

AngularJS - MS Dev Show Podcast