libnbd
jackson-jq
libnbd | jackson-jq | |
---|---|---|
4 | 2 | |
- | 270 | |
- | - | |
- | 5.3 | |
- | 4 days ago | |
Java | ||
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libnbd
- jq 1.7 Released
-
Fuzzing ping(8) and finding a 24 year old bug
Below is the small framework we use to fuzz a network client. It works by creating a Unix socket, forking, then having the client (under test) on one side of the socket and a small loop which reads the input file into the socket on the other side.
https://gitlab.com/nbdkit/libnbd/-/tree/master/fuzzing
-
The fastest way to copy a file
We did a bunch of benchmarking around this when writing nbdcopy (https://gitlab.com/nbdkit/libnbd/-/tree/master/copy) which can copy file to file as well as between local files and NBD servers. There was also the goal to avoid polluting the page cache, which depending on if you're going to use the file content immediately afterwards or not matters.
Anyway long story short, the best thing we found (for Linux) was Linus's own advice linked from here: https://stackoverflow.com/a/3756466
- A 100LOC C impl of memset, that is faster than glibc's
jackson-jq
-
jq 1.7 Released
So just picking Java https://github.com/eiiches/jackson-jq
> jackson-jq aims to be a compatible jq implementation. However, not every feature is available; some are intentionally omitted because thay are not relevant as a Java library; some may be incomplete, have bugs or are yet to be implemented.
Where JMESPath has fully compliant 1st party implementations in Python, Go, Lua, JS, PHP, Ruby, and Rust and fully compliant 3rd party implementations in C++, Java, .NET, Elixer, and TS.
Having a spec and a test suite means that a all valid JMESPath programs will work and work the same anywhere you use it.
What are some alternatives?
nbdkit
jq-mode - Emacs major mode for editing jq queries.
rsl - reserialise: lossy but versatile conversion between data serialisation formats
memset_benchmark - This repository contains high-performance implementations of memset and memcpy in assembly.
java-jq - Lightweight Java wrapper around JQ, a flexible JSON processor available for multiple platforms
safeclib - safec libc extension with all C11 Annex K functions
Newman - Newman is a command-line collection runner for Postman
qemu
jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure
counsel-jq - Traverse complex JSON and YAML structures with live feedback
jless - jless is a command-line JSON viewer designed for reading, exploring, and searching through JSON data.