kjanat · Amsterdam
I read specifications carefully and file against whichever side turns out to be wrong. Sometimes that is the implementation, sometimes the standard, occasionally both in the same week.
jampe/kp2bw · the original author, in his README
This repository is no longer under active development by the original maintainer. The project has been forked and is actively maintained at kjanat/kp2bw. The fork uses
bw serveHTTP transport instead of the subprocess-based approach in this version, supports nested collections, proper org/collection item creation, and ongoing bug fixes.
He also redirected seven open issues to the fork.
ewels/mkdocs-quiz · Phil Ewels, author of MultiQC, co-creator of nf-core
I was poking around in the Network tab at the various forks of this repo and spotted kjanat/mkdocs-exam by @kjanat
He then opened eight pull requests in his own repository, each crediting a feature back to my fork: numeric answers with tolerance and units, progressive hints, matching and ordering questions, partial credit, timed questions, essay questions, conditional asset injection, and accessibility styles.
astral-sh/actionlint · ten pull requests
Adapted from kjanat/actionlint@47ff132
oven-sh/bun · commit 302d15da
Co-authored-by: Kaj Kowalski
My pull request for the npm alias resolution work was closed and the work was folded into a larger pnpm-parity PR opened by Bun's creator, landing as a co-authored commit. Shipped in v1.4, credited by name in the v1.3.6 and v1.4.0 release notes.
patrickjaja/claude-desktop-extra v1.26832.0-3 release notes
Contributed by Kaj Kowalski. The release job now publishes a GitHub build-provenance attestation for every release asset before anything goes live. The step is fail-closed ahead of all publishing: if attestation fails, the release aborts cleanly with every channel still on the previous version.
The ASN.1 module in Section 9 lists CERT-KEY-USAGE { keyAgreement } for pk-X25519 and pk-X448, while RFC 9295 Section 3 permits encipherOnly or decipherOnly alongside it. RFC 9295 replaced Section 5 and never touched the module, so the ASN.1 has been out of step for eight years. Argued from RFC 5912, RFC 5280 and RFC 9295.
Corrected swapped href targets for open and closed subpath terms in the SVG specification's definitions.
A de facto convention for controlling OSC 8 terminal hyperlinks, in the tradition of NO_COLOR. Two environment variables, one precedence rule: NO_HYPERLINKS disables, FORCE_HYPERLINKS overrides detection, explicit flags win over both.
An SVG language server. Seven crates, four tree-sitter grammars including injected ones for path data, transform lists and paint values. Hover carries MDN links and Baseline browser-compat status generated from spec data. Colour handling from hex through oklch(), color-mix() and var() resolved out of embedded stylesheets. Published to crates.io and npm with prebuilt binaries across fourteen platforms.
A typesetting compiler with its own source language. Fourteen crates: parser, expression evaluator, layout engine, font handling, PDF and HTML backends, CSL bibliography, package manifest and resolution, incremental cache, language server. Pure-Rust Adobe Font Metrics parsing underneath the PDF backend.
A zero-dependency PKI toolkit for real certificates.
Static checker for GitHub Actions workflow files. An actively released fork of rhysd/actionlint with build-provenance-attested binaries, a fork-owned Go module, and multi-platform images at ghcr.io/kjanat/actionlint.
A domain-specific language for pharmacological recipe notation, with a tree-sitter grammar, a language server, a Shiki pack and a TextMate grammar.
const, root $ref completion. Credited in three releases.Plus smaller fixes merged into go-task, nuxt-content and others, and three extension releases published to the Zed registry.
PKIX and cryptographic conformance. X.509, ASN.1, key usage semantics. Finding where implementations and specifications disagree, then filing against both when both are wrong.
Supply chain and provenance. Build attestation, byte-reproducible archives, signed release containers, commit signing.
Language tooling. Parsers, tree-sitter grammars, language servers, formatters and linters.