Weekly open source: LawCodex reaches 198 jurisdictions, and a pure-Rust openEMS
Three things stood out this week. LawCodex, launched the Sunday
before with 61 repositories, more than tripled: by Thursday its
coverage table listed 198 jurisdictions. The Ledger Nano X research
went from mapping one board to tracking reported cases and designing
a tool to spot them. And on Sunday three new crates appeared
together: ems, an FDTD electromagnetic solver meant to replace
openEMS; csx, its CSXCAD-compatible geometry layer; and
hdf5rs, a pure-Rust HDF5 for the solver's output. Underneath,
purecrypto reached 0.10.
LawCodex: 198 jurisdictions
LawCodex publishes legislation as plain Markdown in git, one repository per jurisdiction. It took about 550 commits this week, more than any other project. On Monday, 20 more repositories were created, and on Tuesday 118. Status commits on the new organisation profile went through the world by region: Central Asia and Mongolia, the Gulf states, North and West Africa, Southeast Asia, the Caribbean, Latin America, the Pacific. The coverage table generated on Thursday counts 74 full, 81 partial and 43 minimal. In LawCodex's terms, "minimal" usually means the source's terms forbid bulk download, or the site blocks access. Every row names its source and what is missing. Some entries say plainly that a country's constitution is all that could be taken, or that nothing could be. The profile repository also sets out the shared conventions: file format, front matter, and the order in which sources are preferred, from official open-data APIs down to Internet Archive copies, which are always marked as such.
The two largest repositories were finished:
- be (119 commits): 17,320 texts in force in French and 17,319 in Dutch, from Justel. That covers the Constitution, 86 code files, 6,653 laws, cooperation agreements, and the decrees and ordinances of every region and community. A final regeneration from the cache fixed the Dutch code directory names and detection of repeals.
- ua (60 commits): 6,843 files, namely the Constitution, 23 codes and 6,819 laws, each file recording the date it was retrieved, with a README section on known gaps.
The Ledger work: a board, a tracker and a detector
ledger_nano_x_pads (54 commits) went from tracing nets to identifying parts. PWR1 is an ST L6924D charger, PWR2 an ST STC3115 fuel gauge, and PWR3 a TI BQ29729 battery protection IC. X10 is the OLED's TLV61046A boost converter, and Y1 the 32 MHz crystal, read from its marking. Tracks are now drawn at their measured widths, the board-to-board connector is modelled on the real Hirose part, and the 3D viewer works on phones. A third implant specimen, C, described as "the hand-wired generation 1 implant" with a small eSIM board, joins A and B. The code is now MIT-licensed and the content CC BY 4.0.
Two new repositories go wider. ledger_implant_osint
(36 commits) is a public site that "tracks publicly reported Ledger
devices that were found with hardware implants." Each report records
where the device was bought, the model, the implant generation if
known, and links to the original posts. The photos are archived in
the repository, and each case is marked confirmed, suspected,
counterfeit, clean, unverified or pending. New cases can be
filed through an issue template. The week's entries include Joe
Grand's teardown of the original Nano X implant, counterfeit devices
kept apart from implants, and one reported purchase marked clean.
ledger_implant_detector (9 commits) is a hardware concept, and its README says plainly that it is not yet built or validated. It is a hand-held board meant to spot the extra copper an LTE-modem implant needs for its antenna. It compares eight capacitive electrodes, read by two FDC2214 converters, against a known-genuine unit of the same model, and has a near-field RF loop for a NanoVNA. The commits add the schematic, a routed 4-layer PCB, electrostatic and FDTD simulations of the antenna against the device's battery, and a first NanoVNA session on a real implanted Nano X. That session found a clear response at 820–850 MHz, but only with the probe right over the antenna's feed. The README also records the limits found in simulation: copper that lies entirely within the battery's outline is not detectable capacitively.
ems, csx, hdf5rs: openEMS in pure Rust
ems (new, 73 commits) is
"a pure Rust FDTD (finite-difference time-domain) electromagnetic
field solver, intended as a replacement for openEMS." It is
clean-room (no openEMS or CSXCAD code was consulted) and checked
against a black-box openEMS. The goal is to run existing openEMS XML
models unchanged. Its ems binary takes the openEMS executable's
own options, so scripts that call openEMS can call it instead. The
week took it through four milestones. It has a threaded engine with
an exact energy invariant, Mur and CPML boundaries, lumped,
microstrip and waveguide ports, and dispersive media
(Drude/Lorentz/Debye). Then came NF2FF radiation patterns, SAR,
plane waves and periodic Bloch boundaries, conformal PEC, a
thin-wire model, and a cylindrical-coordinate engine with its own
PML.
It stands on two companion crates from the same day.
csx (54 commits, v0.0.2)
is the CSXCAD-compatible model: geometric primitives, materials,
probes and excitations, parametric expressions, mesh generation, and
CSXCAD/openEMS XML read and write. It has zero runtime dependencies,
and its geometry semantics were "verified black-box" against CSXCAD.
hdf5rs (35 commits,
v0.0.1) reads and writes HDF5. Reading covers every layout and
chunk index, the common filters and virtual datasets. Writing covers
chunked, filtered and resizable datasets, and opening an existing
file to modify it. Files are checked against h5py in CI, and deflate
and LZF go through compcol.
This connects to cadlab
(33 commits). The headless PCB tool can now export a board region to
openEMS as CSXCAD geometry with a graded mesh, the format ems is
built to run. It also gained a 2D boundary-element impedance solver,
frequency-dependent losses and a built-in 3D FDTD sim.sparams.
3D models now come in through oxideav-step and oxideav-vrml.
purecrypto 0.10: speed, then a hardening pass
purecrypto released
v0.10.0 and v0.10.1 (139 commits). About half of them were
perf:. AArch64 got a fused AES-CTR + GHASH kernel, NEON ChaCha20
and BLAKE3, and two-stream SHA-2 and Keccak kernels. ARIA,
Camellia, SM4 and SEED got bitsliced S-boxes. Ed25519 verification now uses Straus with a static wNAF
table, the Ed25519 fixed-base table halved from 115 KB to 60 KB, and
BLS12-381 gained GLV/GLS splits and fused Miller-loop steps. The
rest was hardening. TLS 1.3 key_share and HRR handling was
tightened, QUIC key-update ordering is enforced per RFC 9001, X.509
parsing is stricter, decrypted key buffers are wiped, PSKs and
passwords are kept off the command line, and there are new fuzz
targets for JOSE, SCT lists and chain verification. Valgrind's
constant-time harness was run again after the performance work, and
its findings were fixed before the release.
Also this week
- reticle (88 commits,
v0.0.7) — a T-state-accurate Z80 covering every documented encoding, an MJPEG encoder whose DCT uses no multiplier, IMA ADPCM checked against ffmpeg, a timing-driven router, and NewAE's ChipWhisperer-Husky gateware built on the XC7A35T "as far as it builds." - puressh —
v0.1.9throughv0.2.0: tunnel-device forwarding (ssh -w), agent-held certificates and destination constraints, ML-DSA-44+Ed25519 keys, OpenSSH's escape commands, andserver/agentno longer default features, so client-only builds pull in nonix. - puregit —
v0.0.2, with interop harnesses against the real git CLI (on-disk format, wire protocol, CLI output) and against libgit2 on Linux, macOS and Windows. - rsurl —
v0.1.17tov0.1.19, an allocation-trimming pass across HTTP/1.1, HTTP/2, HTTP/3 and the smaller protocol clients, on purecrypto 0.10.1. - oxideav-image — the
oxideav image gateway,
v0.0.3–v0.0.4: metadata blobs carried through, allow/deny lists for containers and codecs, and a "will this save?" check that does not touch pixels.
Next week
LawCodex moves from coverage to depth, filling the partial and minimal entries where a usable source can be found. The implant detector stays a concept until boards are built and measured. ems continues its openEMS parity work against the black-box oracle, with csx and hdf5rs following its needs.