Mattias Wadman's Avatar

Mattias Wadman

@mwader.bsky.social

Some projects that i work on: https://github.com/wader/fq - query, display and slice binary and text formats using jq https://github.com/jqlang/jq - query and transform JSON github.com/wader/ydls - turn a media website into media file or podcast

38 Followers  |  35 Following  |  40 Posts  |  Joined: 25.02.2024  |  1.9579

Latest posts by mwader.bsky.social on Bluesky

๐Ÿ‘ if you spend your days digging thru your own or others ppls broken, weird or even valid binary files i can recommend it :)

07.12.2025 14:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Release v0.16.0 ยท wader/fq Changes Update gojq fork. Changes from upstream: Reduced memory usage for long running scripts (restore data offset when popping fork) Support binding expressions with binary operators, ex 1 // 2...

fq 0.16.0 released github.com/wader/fq/rel... ๐Ÿฅณ
jq language fixes, a new safetensors decoder and minor improvements and fixes to mp4, avc and flac decoders.
#fq #jq

07.12.2025 12:39 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Rockwell Retro Encabulator
YouTube video by rlcarnes Rockwell Retro Encabulator

no idea what that is, got www.youtube.com/watch?v=RXJK... vibes :)

14.11.2025 15:11 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

@nilo.bsky.social

12.09.2025 08:46 โ€” ๐Ÿ‘ 59    ๐Ÿ” 14    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

Lovely code :) i think the difference is mostly syntax, the concepts are not new, it's generators and yielding using a terse DSL, the rest is similar to other languages i would say. But yes i do use jq mostly fore exploratory and adhoc things where quickly testing things is important.

11.09.2025 21:10 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

what part of jq is most confusing? it's a bit different but once understand some of the fundamentals it's extremely neat and terse

11.09.2025 15:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - wader/tar.jq: tar archive creator for jq tar archive creator for jq. Contribute to wader/tar.jq development by creating an account on GitHub.

Once up on a time i wanted to output more than one file from jq so i did an ugly tar hack, finally cleaned up the code and pushed it here github.com/wader/tar.jq
#jq #tar

10.09.2025 13:11 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Noice ๐Ÿ“ธ (but i feel the lack of jq disturbing!)

29.08.2025 13:59 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

--unhelpful

26.08.2025 19:04 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

ร„ntligen levererar AI lite vรคrde!

14.08.2025 17:09 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
FLOSS Weekly Episode 842: Will the Real JQ Please Stand Up We’re back! This week Jonathan chats with Mattias Wadman and Michael Farber about JQ! It’s more than just a JSON parser, JQ is a whole scripting language! Tune in to …read more

FLOSS Weekly Episode 842: Will the Real JQ Please Stand Up

13.08.2025 19:00 โ€” ๐Ÿ‘ 0    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
A rainbow Hilbert curve, a squiggly line that visits every cell in a square grid, starting red in the top left, working down then right to becine yellow in the centre, upward and then right to become green at the top right, down and left to be cyan in the centre, and continuing roughly clockwise through blue and the bottom right, magenta off the centre and red again in the bottom left. It's in a terminal and is the result of the command:
jq -rnf curve.jq | rsvg-convert | wezterm imgcat

A rainbow Hilbert curve, a squiggly line that visits every cell in a square grid, starting red in the top left, working down then right to becine yellow in the centre, upward and then right to become green at the top right, down and left to be cyan in the centre, and continuing roughly clockwise through blue and the bottom right, magenta off the centre and red again in the bottom left. It's in a terminal and is the result of the command: jq -rnf curve.jq | rsvg-convert | wezterm imgcat

Source code for the jq script. It's about a page long and uses some pretty opaque variable names like s, sl, t0, dt and dtt. But it does have some text explaining the parameters to its main, recursive "hilbert" function, and we can see that it generates fragments of XML, specifically SVG. The full text is in the linked gist.

Source code for the jq script. It's about a page long and uses some pretty opaque variable names like s, sl, t0, dt and dtt. But it does have some text explaining the parameters to its main, recursive "hilbert" function, and we can see that it generates fragments of XML, specifically SVG. The full text is in the linked gist.

I made this yesterday. It draws a Hilbert curve in jq. I like jq. gist.github.com/weeble/265cb...

12.08.2025 17:03 โ€” ๐Ÿ‘ 28    ๐Ÿ” 6    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Hmm still confused. By default jq uses JSON for input and output so null will be null. Maybe you want the values filter to filter out nulls? ex:
$ jq -n '123, null, "null" | values'
123
"null"

06.08.2025 19:28 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

As one of the jq maintainers: Care to add some context? ๐Ÿค”๐Ÿ˜€

06.08.2025 18:24 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Closeup of license plate on back of blue car. NY plate with number โ€œJQโ€.

Closeup of license plate on back of blue car. NY plate with number โ€œJQโ€.

When you are, like, REALLY into processing JSON.

01.08.2025 13:40 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

JSONPath (RFC 9535) might be the only "standardised" JSON query language, or maybe XSLT that i think also has some JSON support. But in my experience i want to do more than just select out things, i also want to transform etc so jq is my goto.

28.07.2025 07:29 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿป jq-lsp ๐Ÿป

Jq language server

๐Ÿ”— https://github.com/wader/jq-lsp

#homebrew #newpkg #macos #linux #formula

13.07.2025 12:48 โ€” ๐Ÿ‘ 0    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Release 2.3 ยท 01mf02/jaq This release brings many new filters, adapts a few existing filters to behave more like in original jq, and squashes a few bugs. New filters My personal highlight for this release is the new repl f...

jaq 2.3.0 released by Michael Fรคrber! ๐Ÿฅณ some catch up with jq builtins, repl support and more.
github.com/01mf02/jaq/r...
#jq #jaq #rust

07.07.2025 17:13 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Release jq 1.8.1 ยท jqlang/jq This is a patch release to fix security, performance, and build issues found in 1.8.0. Full commit log can be found at jq-1.8.0...jq-1.8.1. Security fixes CVE-2025-49014: Fix heap use after free i...

jq 1.8.1 released! ๐Ÿฅณ mostly security and performance fixes.

github.com/jqlang/jq/re...

#jq

01.07.2025 12:00 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

No problem! happy to help and spread the word of jq ๐Ÿ˜ฌ

23.06.2025 19:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
jq/src/builtin.jq at master ยท jqlang/jq Command-line JSON processor. Contribute to jqlang/jq development by creating an account on GitHub.

Nice article! I noticed some of the JSON uses single quotes. BTW i can recommending reading thru github.com/jqlang/jq/bl... and if you want to digg deep the wiki has some great stuff like how assignment is implemented using path expression etc github.com/jqlang/jq/wi...

23.06.2025 18:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Kรถr vi drinking-gamet att ta en sup varje gรฅng AI nรคmns?

12.06.2025 12:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
itchyny - Overview Professional of jq. itchyny has 255 repositories available. Follow their code on GitHub.

Thanks! most of the heavy lifting was actually done by github.com/itchyny

01.06.2025 15:28 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Release jq 1.8.0 ยท jqlang/jq We are pleased to announce the release of version 1.8.0. This release includes a number of improvements since the last version. Note that some changes may introduce breaking changes to existing scr...

jq 1.8 has been released! ๐Ÿฅณ github.com/jqlang/jq/re...
#jq

01.06.2025 15:22 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

What part feels most confusing? happy to help!

26.05.2025 14:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

is very nice and in combination with the inputs function one can aggregate stuff per file etc:
$ jq -n '[inputs | {(input_filename): .}] | add' <(echo 1) <(echo 2)
{
"/dev/fd/11": 1,
"/dev/fd/12": 2
}

23.05.2025 13:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Release v0.15.0 ยท wader/fq Changes Fix issue running fq without a home directory. #1107 Thanks @phiekl for the report. Format changes avc_nalu Decode payload into a rbsp struct (raw byte sequence payload) and only introdu...

fq 0.15.0 released! ๐Ÿฅณ github.com/wader/fq/rel...

Improvements to decode broken mp4 files, decode some more mp4 boxes and nicer handling of AVC and HEVC NALU that don't use emulation prevention.

19.04.2025 14:53 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Does that make jq the ffmpeg of JSON?

05.04.2025 11:48 โ€” ๐Ÿ‘ 20    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Fotografi av en boksida.

โ€ANTIVIRUS

โ€™Din dator maxpresterar inteโ€™
upplyser mig
mitt antivirusprogram.

ร„r det rimligt
att krรคva mer
av min dator
รคn av mig sjรคlv?

Golare har inga polare,
jag raderar antivirusprogrammet.โ€

Fotografi av en boksida. โ€ANTIVIRUS โ€™Din dator maxpresterar inteโ€™ upplyser mig mitt antivirusprogram. ร„r det rimligt att krรคva mer av min dator รคn av mig sjรคlv? Golare har inga polare, jag raderar antivirusprogrammet.โ€

Henrik Johansson!

02.04.2025 07:25 โ€” ๐Ÿ‘ 42    ๐Ÿ” 14    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@mwader is following 20 prominent accounts