Homogenius

Languages and libraries

data serialization format

SHOW HN2014

58points
28comments
#552of 2,272 in 2014
Top 25%of 2014 by points

How HN took it

MixedNo clear lean

4 positive, 4 neutral or asking, 2 mixed, 7 critical, out of 17 comments about the project. Thread score -0.14.

Idea: 2 for, 5 againstPerformance: 2 for, 1 againstDocs: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Size reduction versus raw JSON, especially when combined with gzip

    From 2 comments
    • Out of interest, do you have any size comparisons compared to gzipping the raw homogenous JSON text? Edit: I did a quick test by myself, using the first example but repeated for…
      beefsack on HN
    • In most real-world cases, it'll look like this: ``` gzip+Homogenius < gzip < Homogenius < original JSON ``` gzip+Homogenius will typically be better than just gzip because…
      walrus on HN
  • Useful for detecting lazy API payloads with repeated subtrees

    From 1 comment
    • I see two great things about this tool, and not exactly for what it was designed: 1) Fix bandwidth problems caused by API designer laziness. 2) Detect API designer laziness and…
      codehero on HN

Objections

  • Binary formats like MsgPack or protobuf are smaller and simpler

    From 4 comments
    • Why not just use MessagePack (aka MsgPack) http://msgpack.org/
      imaginenore on HN
    • If size is a concern, wouldn't a binary message format make more sense?
      eli on HN
    • I really don't see too many use cases here. Both parties have to buy into it, then at that point you might as well use a binary protocol.
      placeybordeaux on HN
    • Except that if you don't care about human readability, you might as well use a binary format and decrease size even more
      grimlck on HN
  • Loss of human readability is not worth the gain when gzip is available

    From 2 comments
    • You loose in human readability but you win in size. An interesting project and i think about a lot of uses for it (save bandwith, avoid timeout etc ...) thks to make it and i…
      bussiere on HN
    • Yep. Depending on the scenario, i don't think this the loss of readability is worth it. Using gzip on the webserver already cuts enough.
      sauere on HN
  • Bzip2 results showed it can worsen compression ratio

    From 1 comment
    • I get the same ordering with gzip, but it seems sensitive to compression algorithm. With bzip2 (default settings, v1.0.6), homogenius seems to actually worsen the compression…
      _delirium on HN
  • No benchmarks against gzip

    From 1 comment

Requests

  • Add a marker to indicate compressed form

    From 1 comment
    • I think this needs some sort of marker for the compressed form to make it clear it's not to be digested as is. Maybe `$HMGNS$` or something as the first key of the array?
      akx on HN
  • Publish to npm

    From 1 comment

Questions

  • How does size compare to gzipping raw JSON?

    From 1 comment
    • Out of interest, do you have any size comparisons compared to gzipping the raw homogenous JSON text? Edit: I did a quick test by myself, using the first example but repeated for…
      beefsack on HN
  • Would a single shared value mapping work better than one per key?

    From 1 comment
    • So it's a schema plus interned values? Do you think it might be better on real-world data to use just one mapping of value id to value instead of one per column/key?
      ah- on HN

Alternatives named

  • MessagePack

    From 2 comments
    • Why not just use MessagePack (aka MsgPack) http://msgpack.org/
      imaginenore on HN
    • So can MsgPack https://github.com/creationix/msgpack-js https://github.com/msgpack/msgpack-javascript
      imaginenore on HN
  • Transit format by Cognitect

    From 1 comment
    • I think [Transit][1] by Cognitect addresses this issue as well. [1]: https://github.com/cognitect/transit-format#caching
      _ducky on HN
  • Binary serialization formats

    From 1 comment
    • If size is a concern, wouldn't a binary message format make more sense?
      eli on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/8314749)