35 points

Q: Why didn’t you write this in $NEW_LANGUAGE instead of crufty C++? A: I probably should have! $NEW_LANGUAGE is deservedly attracting a lot of attention for its combination of safety, readable syntax, and support for modern programming paradigms. I’ve been trying out $NEW_LANGUAGE and want to write more code in it. But for this I chose C++ because it’s supported on all platforms, lots of people know how to use it, and it still supports high-level abstractions (unlike C.)

Lol

permalink
report
reply
13 points
*

As someone who clicked partly to check if it was Rust-based, I think that’s a 100% fair call-out lol

permalink
report
parent
reply
5 points

Same 😂

permalink
report
parent
reply
10 points

What’s the difference between this and CBOR?

permalink
report
reply
9 points

The main question I would have is why use it instead of protobuf? Having native support for binary values aside.

permalink
report
reply
9 points

I’d love to see benchmarks testing the two, and out of curiosity also including compressed JSON docs to take into account the impact of payload volume.

Nevertheless, I think there are two major features that differentiate protobuff and fleece, which are:

  • fleece is implemented as an appendable data structure, which might open the door to some usages,
  • protobuf supports more data types than the ones supported by JSON, which may be a good or bad thing depending on the perspective.

In the end, if the world survived with XML for so long, I’d guess we can live with minor gains just as easily.

permalink
report
parent
reply
2 points

“Appendable” seems like a positive spin on the “truncated YAML-file is frighteningly often valid” problem…

permalink
report
parent
reply
1 point

"Appendable” seems like a positive spin on the (…)

I don’t think your take makes sense. It’s a write-only data structure which supports incremental changes. By design it tracks state and versioning. You can squash it if you’d like but others might see value in it.

permalink
report
parent
reply
1 point

Of lambdabuffers for that matter.

permalink
report
parent
reply
1 point
*
Deleted by creator
permalink
report
parent
reply
0 points

It’s not serialized from what I understand so it doesn’t need parsing. It’s sort of a structure+pointer dump. We’ll see how well that translates to other languages than C though.

permalink
report
parent
reply
7 points

Q: Why the name “Fleece”?

A: It’s a reference to the mythical Golden Fleece, the treasure sought by Jason [emphasis mine] and the Argonauts.

I see what you did there…

permalink
report
reply
5 points

Interesting. A year ago I was looking for something exactly like this for distributing data between multiple servers. Everything required a ton of overhead or was too big to use. I ended up just using json. I did discover that Brotli can compress 3 gigs of json down into just 70 megs nearly instantly.

permalink
report
reply
1 point
Deleted by creator
permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.5K

    Monthly active users

  • 1.6K

    Posts

  • 26K

    Comments