# Jordan Anderson — Technical & Policy Consulting

Source: https://jordananderson.work/

Independent technical & policy consulting

 

# Find the gap.
 Make it work. 

 

 

 

I find what stops a system from working—and build the fix.

 

ML systems, GPU debugging, software security, and industrial policy. Tested work, with evidence you can inspect.

 

 [Discuss an engagement](https://jordananderson.work/#contact) [Explore the work](https://jordananderson.work/#technical) 

 

 

 

 [Technical work](https://jordananderson.work/#technical)[Policy analysis](https://jordananderson.work/#policy) 

Open code. Written reasoning. Evidence you can inspect.

 

 

 

 

01 / Technical practice

 

 

## The work goes all the way
to the implementation.

 

Diagnosing the failure is the beginning. I build the fix, test it on the hardware, and work it through upstream review.

 

 

 

 

 

Selected work / Machine learning systems

 

### More from the
hardware you own.

 

Train large Mixture-of-Experts models on a single GPU. Loggetta checks the hardware, plans the run, and saves a report. One install includes the runtime and 4-bit kernels.

 

 [Explore Loggetta](https://github.com/pjordanandrsn/loggetta) [Package & supported models](https://pypi.org/project/loggetta/) 

 

 

 

Measured runtime comparison

 1.92× 

Unsloth's GPU time per training step, against e4b's

 

Qwen3-30B-A3B QLoRA · one RTX 5090
Both frameworks on one software stack, with matched adapters, initialization, and tokens, and e4b at its defaults. Held-out loss comparable. Wall-clock: 2.80× on an AMD EPYC 7713 host.

 

The tradeoff: Unsloth peaked lower, 24.27 against 26.16 GB. Wall-clock ratios depend on the host, because Unsloth spends more of each step on the CPU. Earlier wall-clock readings, before e4b’s current defaults: 2.352× and 2.468×.

 

 [Read the benchmark & conditions](https://github.com/pjordanandrsn/experts4bit-qlora/blob/main/bench/h2h-2026-10-02/tc1/RESULTS-tc1-pos69.md) 

 

 

 

New in [Loggetta 0.6.0](https://github.com/pjordanandrsn/loggetta/blob/main/CHANGELOG.md): an AMD GPU is found and refused by name, and with experts4bit-qlora 0.53.0 or later the `grouped_nf4` MoE backward is priced once. The speed result above is the runtime underneath.

 

 

 

GPU correctness / OpenVINO

 

### From a driver mismatch
to an upstream fix.

 

Intel GPU kernels assumed an OpenCL operation the driver no longer provided. I traced the failure, developed the shared-header replacement, migrated affected kernels, and added a regression test for the bug class.

 

Three merged PRs carry the repair and test. On the measured UHD P630 / TinyLlama int4 setup, the fixed GPU path decoded at 18.4 tokens/s against 13.9 on CPU fallback. Energy was not measured.

 

 [Initial fix](https://github.com/openvinotoolkit/openvino/pull/35661) [Shared API](https://github.com/openvinotoolkit/openvino/pull/35712) [Regression test](https://github.com/openvinotoolkit/openvino/pull/36017) 

 

 

 

Security research / ZisK zkVM

 

### Read what the proof
actually proves.

 

A signed-remainder constraint checked magnitude but left the sign free for negative dividends. The ZisK team published the finding as a Critical advisory and credited me as a reporter.

 

The report checked constraints and witness components; it did not produce an end-to-end forged proof. The final fix came from Cody Gunton’s independent report of the sibling quotient-sign bug.

 

 [Published advisory](https://github.com/0xPolygonHermez/zisk/security/advisories/GHSA-qjgg-fcj3-p9x3) [Finding & scope](https://cerinamroth.com/disclosures/zisk-signed-rem-sign-soundness/) 

 

 

 

 

More systems work · upstream fixes, kernels, and security

 

 

 

### Fix the tools the work depends on.

 

Merged fixes stop training caches from retaining dequantized weights, correct end-of-sequence handling, and repair MoE weight preprocessing.

 

[bitsandbytes](https://github.com/bitsandbytes-foundation/bitsandbytes/pull/1999)[Axolotl](https://github.com/axolotl-ai-cloud/axolotl/pull/3915)[Transformers](https://github.com/huggingface/transformers/pull/47931)[Unsloth Zoo](https://github.com/unslothai/unsloth-zoo/pull/1082)

 

 

 

### Compute on the packed weights.

 

grouped-nf4-gemm and experts4bit-qlora run MoE computation directly on low-bit weights. The research records performance, byte-level checks, and the experiments that failed.

 

 [Kernel research & evidence](https://cerinamroth.com/ml/grouped-nf4-gemm/) 

 

 

 

### Make recovery part of the tool.

 

asahi-luks-setup adds disk encryption to existing Fedora Asahi installations. Hardware testing informed both the installation paths and a recovery command for interrupted reencryption.

 

 [Asahi encryption project](https://github.com/pjordanandrsn/asahi-luks-setup) 

 

 

 

### Check what actually arrived.

 

arr-malware-screen checks the files discovered after extraction, closing the gap left by queue-time screening in the *arr media stack.

 

 [Malware screening project](https://github.com/pjordanandrsn/arr-malware-screen) 

 

 

 

 

 

Contract work in ML systems, GPU debugging, and software correctness.

 [Bring a technical problem](https://jordananderson.work/#contact) 

 

 

 

 

02 / Policy practice

 

 

## The same questions,
at institutional scale.

 

Analysis of industrial capacity, trade, and who owns the infrastructure that people depend on.

 

 

 

 

Trade & regulation

 

 

###  [Friction by Other Means](https://jordananderson.work/writing/friction-by-other-means) 

 

How regulatory infrastructure can preserve the effects of a tariff regime after its legal basis falls away—and why the headline rate tells only part of the story.

 

Essay · 2026 · ~7,600 words

 

 

 

 

Industrial capacity

 

 

###  [The Structural Failure of America’s Defense Industrial Base](https://jordananderson.work/writing/the-structural-failure-of-the-defense-industrial-base) 

 

An examination of the conflict between shareholder returns and military readiness, and the case for government-owned, contractor-operated capacity.

 

Essay · 2026 · ~4,200 words

 

 

 

 

Computing & public power

 

 

###  [The Great Recentralization](https://jordananderson.work/writing/the-great-recentralization) 

 

What is at stake as computation moves from machines people own to infrastructure they rent—and the institutional choices that could preserve local control.

 

Essay · 2026 · ~9,000 words

 

 

 

 

I serve on the board of Oteco, Inc., a Houston industrial manufacturer founded in 1948. That experience informs the questions I bring to policy work.

 [Browse all essays](https://jordananderson.work/writing/) 

 

 

 

 

03 / Working together

 

## Start with the problem
you need to understand.

 [jordan@jordananderson.work](mailto:jordan@jordananderson.work) 

Technical projects and policy retainers for engineering teams, industrial and defense organizations, investment firms, and policy shops.

 

  
-  

### A focused first conversation

 

Send a short description of the problem and what you have tried. An initial conversation, usually 30–45 minutes, establishes whether the work fits.

  
-  

### A scope you can evaluate

 

Scope and rates go in writing before work begins. A specific diagnosis typically takes two to six weeks; retainer work runs longer.

  
-  

### Something you can act on

 

A tested fix, an upstream contribution, or a recommendation with a written account of the evidence. The reasoning stays with you.
