InFeeo
Global
technology-news
New
Language
Profile channel

@Jacob

No bio yet.

Since 31.05.2026

It's dead, Jim – the old Microsoft UEFI CA from 2011 expired yesterday(einval.com)
About Steve's blog, The Words of the Sledge steve@einval.com I previously wrote about the upcoming UEFI CA rollover. Well, it's happened now - the old Microsoft UEFI CA from 2011 expired yesterday: Third Party Marketplace Root (used for signing option ROMs and other software) Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation UEFI CA 2011 Validity Not Before: Jun 27 21:22:45 2011 GMT Not After : Jun 27 21:32:45 2026 GMT The world doesn't seem to have ended yesterday, so I guess we did ok? :-) After a lot of prodding behind the scenes, Debian and many other distributions managed to get new shim binaries dual-signed with both the old and new CAs. The members of the shim-review team did a sterling job with reviews in the last few weeks. Since I started pushing people in May, we've had 21 reviews accepted successfully - see here for the list. Great stuff! Microsoft have also been working quickly - many of those shim submissions were accepted and signed by Microsoft very quickly too, with a turnaround time of less than 1 day in some cases. Not all of those signed shims have been published and used by the distros involved yet, but expect to see them in the wild in the coming weeks and months. These binaries should be good for people to use for the foreseeable future, until either we need to do another CA rollover or (sadly, more likely) we find an issue in shim that necessitates a new release. We already have one of our new dual-signed shim binaries in place in Debian, in unstable and testing (Forky) right now. In a couple of weeks from now, we'll be rolling out very similar new dual-signed shim binaries in the next point releases for Debian 12 (bookworm) and Debian 13 (trixie). We'll also be upgrading fwupd in both those point releases, to make DB and KEK updates work better. For more information about these updates, see https://wiki.debian.org/SecureBoot/CAChanges. For your own safety, validate that your systems are updated when possible. If you don't, they may fail to boot in future.
Marfa Public Radio Puts You to Sleep(eepurl.com)
Marfa Public Radio is literally never asleep. It operates 24/7 (except when lightning strikes) and there’s so much that goes on behind the scenes to make this happen– fundraising, compliance, protocols, emergency response, maintenance…the list goes on and on.Do you lay awake wondering what FCC compliance entails? Ever wondered what NPR's code of journalistic ethics involves for the newsroom?We may never be able to explain what it takes to operate the station, but we can put you to sleep trying to.For this fall membership drive we bring you Marfa Public Radio Puts You to Sleep. It's a sleep podcast wherein we read you the boring documents essential to our jobs, in the hopes we might lull you into slumber.We do actually hope that you fall asleep listening to this, but when you wake up, help us continue to read our boring documents and keep Marfa Public Radio awake by donating to the station at marfapublicradio.org/donate.
Single Point of Failure Apps(keepandroidopen.org)
Two years ago, I bought a secondary phone. It’s a cheap Android phone that always travels with me outside of town. I’ve for the case that my main phone breaks from a fall, fails to boot after an update, gets lost or runs out of battery. The secondary phone has a set of essential apps installed. Simply put, its task is to get me to my next destination and have some hours or days to repair or replace the main phone.
Searching for a [72,36,16] extremal code(discord.gg)
Public mission A crowd search for the missing extremal Type II code The project tries to find or rule out a binary doubly-even self-dual [72,36,16] code. A construction would feed directly into related objects such as a self-dual quantum CSS code and conformal-field-theory data; a nonexistence proof would settle a long-standing coding-theory problem. How the search works: rather than sift through the astronomically many length-72 codes directly, we reason about their weight enumerators — the counts of codewords at each weight — and the finite list of arithmetic shadows those counts can take. Anchoring at a minimum-weight codeword and projecting down a residual tower, [72] → [56] → [40] → [24], forces each shorter descendant to carry a specific enumerator; computing these anchored projections, including their higher-genus (bi- and tri-weight) forms, squeezes out the constraints that decide a branch. When no code can meet the forced arithmetic the branch is ruled out, while explicitly building one up the tower would settle existence — so every result here is either an exact obstruction or a witnessed descendant. Current public posture: 72 compatible shadows remain. 51 have witnessed nonempty descendants; 21 are still unresolved as existence questions. Why this is a good crowd problem Many doors: algebra, coding theory, design theory, SDP, exact enumeration, and computational proof can all contribute. Finite checkpoints: every test has a page, an input menu row, a status, and a way to reproduce or improve the obstruction. Useful outcomes on both sides: construction gives new highly structured objects; impossibility resolves the length-72 extremal question. Automorphism group: narrowed, but not assumed A long series of papers has reduced the possible automorphism group of a hypothetical [72,36,16] code to one of just five: C1 (trivial), C2, C3, C2×C2, or C5. Excluded along the way: order 2 with fixed points (Bouyuklieva 2002); Z7, Z32, D10 (Feulner–Nebe 2011); C8, Q8, Z4×Z2, Z10 (Nebe 2012); order 6 (Borello 2012); C4 (Yorgov–Yorgov 2013); S3, A4, D8 (Borello–Dalla Volta–Nebe 2013); C23 (Borello 2014); with the short list and solvability consolidated by O'Brien–Willems (2011) and Bouyuklieva–O'Brien–Willems (2024). Full citations are in the References catalogue. We make no automorphism assumption. The trivial group C1 imposes no structure — every codeword orbit has size one — so it is the hardest case to rule out, and every test and enumerator on this site is automorphism-agnostic: it must hold irrespective of any symmetry. The narrowed list drives a parallel prescribed-automorphism search; it is not an assumption the menu relies on. If the code is found, these structures come with it A construction is not an isolated object — three structures follow, each by a proven map: A 5-(72,16,78) design. The 249849 weight-16 codewords form a 5-design: every 5 coordinates sit together in exactly 78 of them. Why: the Assmus–Mattson theorem applied to the extremal Type II code (minimum weight 16, dual distance 16) makes each weight class a 5-design, and counting fixes λ = 249849·C(16,5)/C(72,5) = 78. A code CFT at central charge c = 36. The code maps to a chiral conformal field theory of central charge c = n/2 = 36. Why: in the code–CFT dictionary (Henriksson–Kakkar–McPeak, arXiv:2112.05168) a length-n doubly-even self-dual code yields a chiral CFT of central charge n/2, whose genus-g partition function is the theta lift Θ of the genus-g weight enumerator — a degree-g, weight-18 Siegel modular form. This site computes that genus-3 Θ-projection (see the Enumerators tab). A [[71,1,≥15]] self-dual CSS code. Puncturing the self-dual [72,36,16] code in one coordinate and using the punctured dual C⊥ as both the X- and Z-stabilizer gives a self-dual CSS code (CX = CZ) with parameters [[71,1,≥15]]. Why: puncturing gives C = [71,36,≥15] with C⊥ ⊆ C, so CSS(C⊥,C⊥) is valid with k = 71 − 2·35 = 1 and distance ≥ d−1 = 15 (Jain–Albert, arXiv:2408.12752). Main route The 72 -> 56 -> 40 -> 24 hierarchy The public story should center this descent: start from a hypothetical [72,36,16] Type II code, take a weight-16 word, study the length-56 residual, descend through length-40 menus, and finally reach length-24 endpoint tests. Start [72,36,16] Type II code, A_16 = 249849 Residual [56,21,16] 5082 minimum words forced Menu [40,k,16] 132 shadows, 72 surviving Endpoint [24,1,24] local tests and exhaustions What the hierarchy buys The descent turns a global code-existence question into a finite set of compatible length-40 shadows. Each row can then be attacked by exact divisibility, local gluing, support-weight constraints, SDP layers, or direct existence searches. Forced n=72 enumerator (genus 1, Gleason) W_72 = 1 + 249849 y^16 + 18106704 y^20 + 462962955 y^24 + 4397342400 y^28 + 16602715899 y^32 + 25756721120 y^36 + 16602715899 y^40 + 4397342400 y^44 + 462962955 y^48 + 18106704 y^52 + 249849 y^56 + y^72 Forced n=56 residual enumerator W_56 = 1 + 5082 y^16 + 91168 y^20 + 507045 y^24 + 890560 y^28 + 507045 y^32 + 91168 y^36 + 5082 y^40 + y^56 n=40 menu row family (a,b) W_40(a,b) = 1 + a(y^16 + y^24) + b y^20 + y^40 |E| = 2 + 2a + b (a power of two), d(E) = 16 Higher-genus n=72 (also computed) genus-2 biweight : uniquely forced (1177 coeffs) genus-3 triweight: exact 6-dim invariant space (1 forced row + 5-dim freedom, none pinned) -> Enumerators tab Ledger from MENU MENU at a glance 132raw rows 60eliminated 72surviving 51witnessed nonempty 21unresolved existence Proof-grade eliminators TestRowsPublic label T02 pImg32dimension and fiber divisibility T05 3bNN7three-block nonnegativity T06 Smth16toggle-stabilizer Smith congruence T08 John1Johnson/Delsarte two-point bound T13 dShr1double-shortening forced intersections T19 Sim1Simonis support-weight feasibility T20 g21coupled genus-2 biweight feasibility T32 exists1route-3A direct existence exhaust C5 sub-menu — an automorphism-conditional tag The menu assumes no symmetry, but the C5 branch leaves a clean fingerprint: a code with a C5 automorphism forces a ≡ 0 (mod 5) on the length-40 row of a fixed disjoint anchor pair. So a C5-symmetric code must cast one of these 16 surviving rows (14, plus the two reinstated (7,15,96) and (8,55,144)): k6: (5,52) (15,32) (25,12) k7: (15,96) (25,76) (35,56) (45,36) (55,16) k8: (55,144) (75,104) (95,64) (115,24) k9: (135,240) (175,160) (215,80) k10: (295,432) What the tag means. Eliminating all of these by automorphism-agnostic tests would close the C5 branch with no Hermitian F16 search. The converse does not hold: ruling out C5 does not remove these rows, since a trivial-automorphism code could still realize any of them (RECURSIVE.md §30). Full list on the Menu page. Public test pages T1 through T32 Search Downloadable data Weight enumerator catalog Enumerator JSON The JSON bundle collects the enumerator-like outputs now staged for public review. Large triweight coefficients should stay machine-readable; the page can show summaries and let visitors download the data. JSON bundle Manifest JSON Genus-3 invariant spaces The invariant-space bundle collects AGL/GL nullbases, n=40 converted bases, d_n+ atoms, and n=72 candidate-space reconstruction artifacts. Invariant bundle Full triweight routines The routines bundle is meant to include row/column symmetrization, support-pruned transforms, different-prime runs, and reconciliation scripts. That makes the computation useful beyond this project. Source bundle Length-40 row family W_E(y; a,b) = 1 + a(y^16 + y^24) + b y^20 + y^40 Triweight service goal row/column symmetrization + modular prime runs + reconstruction/reconciliation -> reusable genus-3 enumerator tooling Community surface How people can help The public site should make contribution paths concrete: choose a menu row, choose a test layer, improve a certificate, or propose a new obstruction. Join the discussion Questions, ideas, and progress live in the #extremal72 channel of the Error Correction Zoo Discord — the place to ask where to start, claim an open problem, or share a computation. Join the EC Zoo Discord — #extremal72 Focused open problem: can a glue be ruled out? Many attempts to glue a known length-40 code up into the pivotal [56,21,16] residual have neither produced a glue nor proven one impossible. It is a sharp, self-contained challenge spanning exact algebra, SAT, and SDP, with a clean line between what is proven and what is only search-exhausted — a good place to bite in. Ruling out a glue — the open problem Immediate public tasks Turn each T-page into a short, checkable mathematical statement. Package the T32 direct-existence exhaust for independent replay. Upgrade T29 from linear feasibility to a stronger PSD-certified layer. Rank the 21 unresolved surviving rows by promise and cost. Prepare the full triweight routine bundle for public reuse. Write a one-page explainer connecting the code to CFT and CSS objects. Ideas sketched but not yet pursued Sharper design-theoretic constraints on length-56 minimum words. Alternative anchored SDP formulations with smaller exact blocks. Independent reconstruction from the length-24 endpoint upward. Classification-assisted searches in the length-40 layer. Public leaderboard for verified row eliminations and witnesses. Bibliography References Every paper the project drew on, each tagged with the tests and enumerator objects it fed. Generated from data/references.yml (81 entries). Search
Inference Cards(sabrbaseballcards.blog)
Inference Cards Jun 25, 2026 Why skip past the why When someone says “I run Qwen 3.6 at 25 tokens per second”, or makes any similar performance claim about their self-hosted LLM setup, this is only meaningful if we know several other things. Which model variant? Qwen 3.6 could be the dense 27B or the 35B-A3B MoE, totally different architectures. Better, just link to the repo you downloaded the weights from. Which quantization? Q8, Q4_K_XL, and IQ3_XXS are at different points in quality/speed/size space. What hardware and inference engine? Is this vLLM on an H100 or llama.cpp on a Raspberry Pi? I could ask if you’re using speculative decoding or various weird stuff, but better, show the command you used to invoke the inference engine. How did you measure the speed? Are you exercising an HTTP API (which adds a possibly-large chat template in the context window), or using something like llama-bench (which skips the template and HTTP/network delay)? Or better, what command did you use to run the test? Also, knowing only the generation (i.e. decode) speed at a shallow context depth is not enough to understand whether agentic workloads will be usable on a given setup. Prefill (i.e. prompt processing) speed matters because agents spend a lot of time reading stuff. It also matters how speeds change as context depth increases, because agents do most of their work with tens of thousands of tokens in the context window. Also, if you’re trying to serve multi-agent (or multi-user) workloads, it matters how these numbers change with multiple concurrent requests. (And no, you cannot guesstimate any of these other numbers from “25 TPS generation speed” because different hardware and inference engines all have different performance characteristics in this several-dimensional space.) With this fuller picture, we can more reasonably compare your computer to my computer. We can talk about which workloads are usable interactively and which will crawl at “run overnight” speed. We can spot when something is broken, and reasonably ask “Does this change make it faster?”, knowing what “it” even was to begin with. We also get a sense of what quality of output to expect from the LLM. In online communities for self-hosted inference, most people don’t bother to communicate most of this information, and the quality of discussion suffers! We need a compact, easy way to share so that more people will do it. Now I follow in some big footsteps to propose a deliberately under-specified plaintext markup format. I hope it is highly readable and easy for new people to pick up. Inference Cards Think of baseball cards, but for computers running LLMs. An inference card shows the most important information to understand setup and performance. You can share them in a code block, or as a screenshot if you hate searching / accessibility. Put inference cards in your pull requests, reddit posts, or wherever you talk about your LLM life. Here is the the world’s first inference card, for my own slop machine. +----------------Inference Card v1-----------------+ | Who+when: cmart.blog, 2026-06-25 | | Weights repo: hf.co/unsloth/Qwen3.6-27B-GGUF | | Quantization: UD-Q4_K_XL | | Platform: Thinkpad T480, Debian 13, eGPU dock | | Accelerator+mem: AMD Radeon AI Pro 9700, 32 GB | | Engine+ver: llama.cpp b9733 | | GPU runtime+ver: ROCm 7.2.4 | |----------------------Tok/s-----------------------| | Concurrency | Context depth | | ↓ | Stage | Empty | 4096 | 16384 | 65536 | |----|---------|--------|--------|--------|--------| | 1 | prefill | 667 | 669 | 640 | 474 | | 1 | decode | 32.1 | 24.8 | 26.6 | 22.9 | | 2 | prefill | 519 | 588 | | | | 2 | decode | 23.3 | 16.2 | | | | 4 | prefill | 526 | 537 | | | | 4 | decode | 16.4 | 9.80 | | | +------------------Config / Notes------------------+ Serving with: ./llama-server \ --hf-repo unsloth/Qwen3.6-27B-MTP-GGUF:UD-Q4_K_XL \ --gpu-layers all \ --spec-type draft-mtp \ --spec-draft-n-max 4 \ --chat-template-file ~/Qwen-Fixed-Chat-Templates/chat_template.jinja Measuring with: uv run llama-benchy \ --base-url http://localhost:8080/v1 \ --api-key "" \ --model "unsloth/Qwen3.6-27B-MTP-GGUF:UD-Q4_K_XL" \ --tokenizer "Qwen/Qwen3-32B" \ --pp 4096 \ --tg 128 \ --depth 0 4096 16384 65536 \ --concurrency 1 2 4 \ --runs 1 \ --latency-mode generation GPU is under-volted with increased power cap via https://github.com/kyuz0/amd-r9700-vllm-toolboxes/blob/main/TUNING.md +----------------End Config / Notes----------------+ FAQ How do you make an inference card? You copy mine from this page and edit the fields. If you hate overtype mode, paste my card into your LLM and ask it to fill in your details. You’re using, e.g., a fork of vLLM? Then specify the repo URL and commit hash instead of the release version. You ran out of space on the card? Add another line or make the card wider. There are no rules. The config / notes section is just free text. Include whatever someone needs to know in order to make sense of your setup, perhaps starting with the commands you use to run it. Should someone be able to read an inference card, buy some hardware, and reproduce the numbers on the card? Ideally yes, but in practice, maybe not. Reproducibility is still a hard problem in high-performance computing. Without loss of generality: what’s the temperature of the air that your GPU is sucking in to cool itself? That affects performance but I’m not expecting folks to measure it. Inference cards are a low rung on the reproducibility ladder. Can someone mislead or lie on their inference card? Of course, it’s the internet! Each of us is only as good as our word. The speed table is a parameter sweep across concurrency and context depth. If your setup doesn’t handle concurrent requests well, maybe don’t include any lines for concurrency greater than 1. Should this be, e.g., JSON? Sure, maybe, but that’s less readable. This is a sloppy first attempt. If you feel inspired to fork and improve this idea, or build tooling around it, please do. Is “Inference Card” a confusing name because people refer to GPUs as ‘cards’? Maybe, but the phrase is semi-novel. I welcome any feedback or complaints. Send them to inference-cards at cmart dot blog. Heck, send me your inference card. This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
A Fake Shell for Pangenomics(cornell.edu)
To make our library for efficient pangenomics more palatable, I made a little Unix shell. It “cheats” when it sees commands that invoke other pangenomic CLI tools and runs built-in functionality instead. The shell is built around an instruction-based IR that can fluidly intermix shell-like I/O (files and pipes) with efficient in-memory data structures. In a debatably fair comparison, the fake shell runs one shell script 48× faster than running it with sh.