jackson-jq
libnbd
jackson-jq | libnbd | |
---|---|---|
2 | 4 | |
270 | - | |
- | - | |
5.3 | - | |
about 10 hours 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.
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.
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
What are some alternatives?
jq-mode - Emacs major mode for editing jq queries.
nbdkit
rsl - reserialise: lossy but versatile conversion between data serialisation formats
java-jq - Lightweight Java wrapper around JQ, a flexible JSON processor available for multiple platforms
memset_benchmark - This repository contains high-performance implementations of memset and memcpy in assembly.
Newman - Newman is a command-line collection runner for Postman
safeclib - safec libc extension with all C11 Annex K functions
jet - CLI to transform between JSON, EDN, YAML and Transit using Clojure
qemu
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.