Current project status.

127 views
Skip to first unread message

Dmitry Razumikhin

unread,
Aug 10, 2014, 2:57:09 PM8/10/14
to universal-...@googlegroups.com
UBJSON is a nice project, and I want to help in the development. Now I see that only one thing
is up-to-date - is a http://ubjson.org/ site, i.e. specification text.

Please correct me if I'm wrong:
1) Example files is only in Draft 8 format (https://github.com/thebuzzmedia/universal-binary-json/blob/master/tests/CouchDB4k.ubj);
2) Official JAVA implementation is Draft 8 only (https://github.com/thebuzzmedia/universal-binary-json-java);
3) Specification updates on http://ubjson.org/ not reflected in GitHub (site content, not a Issues) or somewhere else.

Please clarify of current status of the project.

For my part I want try to make a JS demo for converting JSON to UBJSON with binary and block-notation output in
a browser for create online specification tests for developers.

Best regards,
Dmitry.

Alexander Shorin

unread,
Aug 10, 2014, 4:18:18 PM8/10/14
to universal-...@googlegroups.com
Hi Dmitry and welcome!

1) Yes, the examples are too old and lack of complete features cover.
There are few additional issues related to them
https://github.com/thebuzzmedia/universal-binary-json/issues/8
https://github.com/thebuzzmedia/universal-binary-json/issues/9
Any ideas about how to improve examples are welcome! Actually, this
isn't an easy problem as it may looks on the first sight since it's
too easy to make synthetic tests which will show UBJSON superior over
JSON and others formats, but have nothing common with the real world.

2) I also wonder why the first and base UBJSON library is so outdated,
but I believe Riyad Kalla will be happy for PRs (:

3) The main idea of GH content was to at least mirror the site
content, but in the end to provide community ability for make PRs
against specific specification statements: typo fixes, better wording,
more information and even new features. However, this idea was halted
by need to recreate ubjson.org theme for sphinx (I"m bad in
designing), sync somehow changes (original site is on Wordpress) and
finally push it forward. Any help there is super welcome!

> For my part I want try to make a JS demo for converting JSON to UBJSON with binary and block-notation output in
a browser for create online specification tests for developers.

Sounds great! May be you'd like to contact with Oleg Efimov (aka
Sannis) - he is the author of [node-ubjson] library and probably would
be also happy for help in making it more portable and work in browsers
(I'm not JS developer to say for sure how hard that would be, so just
shooting in the dark).

[node-ubjson]: https://github.com/Sannis/node-ubjson
--
,,,^..^,,,
> --
> You received this message because you are subscribed to the Google Groups
> "Universal Binary JSON (UBJSON)" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to universal-binary...@googlegroups.com.
> To post to this group, send email to universal-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/universal-binary-json.
> For more options, visit https://groups.google.com/d/optout.

Dmitry Razumikhin

unread,
Aug 10, 2014, 5:03:00 PM8/10/14
to universal-...@googlegroups.com
Thanks for detailed introduction, kxepal!

Riyad Kalla

unread,
Aug 11, 2014, 9:43:12 AM8/11/14
to universal-...@googlegroups.com
Dmitry,
Great questions - during this specification phase, the project is intentionally run very very slowly and methodically - this isn't for lack of desire to get to the final 1.0 spec (which we are very close) -- it is because of my desire to make UBJSON a very long lived spec (decades). The only way that happens is if every change is discussed, thought about, vetted and let simmer for quite a long time. 

The initial spec started almost 4 years ago - you can see from the GitHub Issues (spec changes) that the discussions have been very intense over the years and as a result we have very infrequently made a misstep. Every single feature or change added to the spec was done with (typically) months of informed discussion.

All that said, the last major change I perceive for the spec before casting it in bronze and calling it done are being discussed right now and are based on some final design propositions by Alex (some really excellent stuff).

So the good news is that even though we have intentionally moved this slowly with the spec, we are near the end of the journey at which point it will become final and all software work around it will be unchanging.

This is the fundamental reason I haven't taken the Java impl past Draft 8 - that said the code is really straight forward/clean and fast if you want to hack away on it.

Hope that helps get you up to speed on where we are and I'd also like to welcome you to the effort!

Best wishes,
Riyad

Dmitry Razumikhin

unread,
Aug 13, 2014, 7:16:16 PM8/13/14
to universal-...@googlegroups.com
Thank you for the reply!

[Hint] My repository: https://github.com/dmitry-ra/ubjson-js-tests
I'll let you know when the project become alpha.

понедельник, 11 августа 2014 г., 17:43:12 UTC+4 пользователь Riyad Kalla написал:

> To post to this group, send email to universal-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/universal-binary-json.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Universal Binary JSON (UBJSON)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to universal-binary-json+unsub...@googlegroups.com.

To post to this group, send email to universal-...@googlegroups.com.
Visit this group at http://groups.google.com/group/universal-binary-json.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Universal Binary JSON (UBJSON)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to universal-binary-json+unsub...@googlegroups.com.

Dmitry Razumikhin

unread,
Aug 17, 2014, 5:58:13 PM8/17/14
to universal-...@googlegroups.com
Hi all!

Made pre-alpha: http://dmitry-ra.github.io/ubjson-test-suite/json-converter.html
Now this tool can convert valid JSON to UBJSON representation using block-notation.
In this converter implemented Draft 10 without "#" and "$" optimizations.
Implemented some experimental string optimizations (I will propose this at GH).
"formalized syntax" checkbox turn on/off mode, when blocks with value contains type of value.
Format is "[<type marker>:<value>]". This representation will usable for parsing hand written block notations for generate test case files (with valid and invalid semantics).
Any proposals are welcome (https://github.com/dmitry-ra/ubjson-test-suite/issues).

Planned for alpha:
 - binary serialization;
 - parsing formalized block notation to make a binary test cases.

понедельник, 11 августа 2014 г., 0:18:18 UTC+4 пользователь kxepal написал:

Riyad Kalla

unread,
Aug 18, 2014, 11:42:12 AM8/18/14
to universal-...@googlegroups.com
Dmitry,
This is _seriously_ freaking cool - I think all of us that have been working on the spec for so long have wanted this tool for years so we can stop typing this crap by hand into GitHub! :)

Nicely done!


To unsubscribe from this group and stop receiving emails from it, send an email to universal-binary...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages