Viewing profile — creationix
creationix
HN member- Joined
- Wed, Jan 20, 2010, 3:13 PM UTC
- HN karma
- 290
- Public activity
- 112 items
- HN profile
- View on Hacker News ↗
About creationix
Recent public activity
-
comment
Comment #47526506
I see. We have different definitions of serialized. The way I typically see it used is to describe how something is transmitted and stored, not how it is read. Yes, by your definit…
-
comment
Comment #47463998
So you're saying that random access formats that are encoded to disk as a stream of bytes are not "serialized" because you don't alway read them in order? Yes, many formats are rea…
-
comment
Comment #47455973
> Just copy and paste files If all your workflows allow copying as binary files, more power to you! But there are a lot of workflows where that is not possible. This was inspired b…
-
comment
Comment #47455913
> what sort of storage device does not allow your computers to use all 256 byte values - clipboards - logs - terminal output - alerts - yaml configs - JSON configs - hacker news co…
-
comment
Comment #47455875
And don't worry about railroad diagrams. I already intended to create them, I've just been extra busy this week with other things.
-
comment
Comment #47455859
Tha main reason for the reverse encoding is it makes it easier on the writer. You simply do a depth-first traversal of the data graph and emit data on the way back up the stack. Ze…
-
comment
Comment #47449570
Also good luck parsing 10 MiB of JSON in a loop that can't tolerate blocking the CPU for more than 10ms. What's expensive is very relative to the use case.
-
comment
Comment #47449545
Very true. I had forgotten about bencode, I should read up on that again. It makes sense they need a canonical form because they want same values to have same content hashes.
-
comment
Comment #47449517
I meant computers can read it without any preprocessing. It's random access. You don't need to parse it, you don't need to decompress it. You just start at the end and follow point…
-
comment
Comment #47445513
yeah, LuaJIT is one of the use cases I had in mind working on this. JSON is pretty fast in modern JS engines, but in Lua land, JSON kinda sucks and doesn't really match the languag…
-
comment
Comment #47444814
> it only has a text encoding as long as you can guarantee you don't have any unicode? The format is technically a binary format in that length prefixes are counts of bytes. But in…
-
comment
Comment #47444765
How does CBOR retain JSON compatibility more than RX? RX can represent any value JSON can represent. It doesn't even lose key order like some random-access formats do. In fact, RX …
-
comment
Comment #47444686
I've rewritten the framing in the README to first explain when you should use RX and when you should not. Most uses of JSON should probably stay JSON. Let me know what you think ht…
-
comment
Comment #47444669
Initial format docs are now here: https://github.com/creationix/rx/blob/main/docs/rx-format.md Railroad diagrams will come later when I have more time.
-
comment
Comment #47444648
Thanks for the feedback. I've improved the framing to make the purpose/value more clear. What do you think about "RX is a read-only embedded store for JSON-shaped data"? https://ww…
-
comment
Comment #47443720
That benchmark is a fair comparison for a real-world production workload and use case. Sadly I can't share the details. But suffice it to say that the dataset is a huge object with…
-
comment
Comment #47443347
the project framing needs some help perhaps. JSON is really good at a lot of use cases that this will never replace. But there are cases where JSON is currently used where this is …
-
comment
Comment #47443325
I'm happy to hear suggestions. This format was actually the internal .rexc bytecode for Rex (routing expressions), but when I realized it was actually a pretty good standalone form…
-
comment
Comment #47443305
You're right. Some important differences: sick is binary, rx is textual (this matters for tooling) sick has size limits (65534 max keys for example. I have real-world rx datasets r…
-
comment
Comment #47443216
> Does this duplicate the name of keys? Yes, the format allows for objects to be stored with a pointer to a shared schema (either an array of keys or another object that has the de…
-
comment
Comment #47443203
The current format version is the exact same feature set as JSON. I even encode numbers as arbitrary precision decimals (which JSON also does). This is quite different from CBOR wh…
-
comment
Comment #47443164
it's not really possible to stay human readable and get the compression levels and random access properties I was going for. But it is as human tooling friendly as possible given t…
-
comment
Comment #47443144
yes, this would work very well for any case where you have embedded databases of unstructured data that you want to query in a website or edge server
-
comment
Comment #47443133
yep. I built custom JSON parsers as a first solution. The problem is you can't get away from scanning at least half the document bytes on average. With RX and other truly random-ac…
-
comment
Comment #47443085
I did seriously consider SQLite, but my existing datasets don't map easily to relational database tables. This is essentially no-sql for sqlite.