3
[2026-08-17] · src STAR Collaboration; Science 393, 6812 (2026), doi:10.1126/science.ads5962
The textbook picture assigns a proton's baryon number to its three valence quarks; an alternative picture from QCD predicts it instead sits on a Y-shaped "junction" of gluon field lines connecting them, which should let baryon number travel independently of electric charge in a collision. The STAR Collaboration at RHIC tested this by comparing baryon-number transport to charge transport in three separate systems - isobar heavy-ion collisions, photon-gold collisions, and glancing versus head-on nuclear impacts - and in each case found baryon number carried farther in rapidity and less symmetrically than a valence-quark picture predicts, matching the gluon-junction prediction instead.
This is the first experimental handle on which part of a proton's structure actually carries the quantum number that makes it stable and gives it an identity distinct from its antiparticle - a question open since baryon junctions were proposed in the 1970s. It is evidence across three independent measurements, not a single clean signal, and not yet a "junction observed" claim; the next test is whether the same transport asymmetry shows up at the higher collision energies planned for the LHC's heavy-ion runs.
[2026-08-17] · src BESIII Collaboration; arXiv:2607.20366, presented at ICHEP 2026
Glueballs - hadrons made purely of bound gluons, with no quarks - are a direct prediction of QCD's self-interacting gluon field, but assigning any candidate state to the label has been contested for decades because ordinary quark-antiquark mesons can mimic the same mass and quantum numbers. Using 10.087 billion J/psi decays collected at BESIII, the collaboration first fixed X(2370)'s spin-parity to 0-+ (the predicted quantum numbers of the lightest glueball), then searched for the decay X(2370) -> K*(892)K-bar, a channel an ordinary strange-quark-containing meson would be expected to use readily. They found none, setting a branching-fraction limit below 2.7x10-6 at 90% confidence - the suppression that identifies X(2370) as a flavor-singlet state, the property a glueball must have and an ordinary meson generally does not.
This is a chain of evidence rather than one decisive measurement, but it is the first time a glueball candidate has cleared both the quantum-number test and the flavor-singlet test at once, which is why BESIII is calling X(2370) glueball-dominated rather than a pure state - some quark-antiquark admixture is still expected and not yet quantified. It also makes X(2370) the first flavor-singlet light hadron identified above 1 GeV/c2, a marker independent theory groups will now try to reproduce from lattice QCD.
[2026-08-17] · src Huang, Shalaby, Hook; Phys. Rev. Lett. (2026), doi:10.1103/98cx-7t43, arXiv:2510.13956
The standard cosmological constraint on dark photon dark matter assumes that when a dark photon resonantly converts to an ordinary photon in the early-universe plasma, it dumps energy into that plasma continuously, and the resulting heating - which would leave a detectable imprint - rules out a wide swath of dark photon parameter space. This paper shows that assumption breaks down: once nonlinear plasma dynamics are included instead of the linear approximation the bound relies on, the resonant conversion self-limits and saturates well below the heating rate the old calculation assumed. Redone with the nonlinear physics, the standard bound is invalid across roughly ten orders of magnitude in dark photon mass, from about 10-15 eV to 10-6 eV.
A bound this widely cited turning out to rest on an unjustified linear-plasma approximation is exactly the kind of correction that should outweigh another incremental detection claim - it does not mean dark photons exist, only that a large region of their parameter space was excluded on a calculation that does not hold up, and is open again to direct search. Nothing here is a detection; the open question is which experiments are actually sensitive enough to probe the newly reopened mass range, and how fast they can retarget it.
2
[2026-08-17] · src —
Filed after this run's learning pass, so the daily drain answers it directly rather than leaving it for tomorrow.
2 plus 2 is 4.
[2026-08-17] · src build/orrery-render-html.el
orrery-render-html--by-weight (orrery-render-html.el:831-839) sorts panels
for display by descending :weight, but it does not hand sort the panel
list directly. It first calls (seq-map-indexed (lambda (panel i) (cons i
panel)) panels), wrapping every panel in a (INDEX . PANEL) cons, and its
comparator falls back to (< (car a) (car b)) — comparing those original
indices — whenever two weights are equal:
(if (= wa wb) (< (car a) (car b)) (> wa wb))The one Lisp idea: a sort's stability — whether elements that compare
equal keep their input order — is a property of the sort routine, not
something a comparator gets by default, so if you want it you write it into
the comparator yourself rather than trusting the routine underneath. Emacs
30.1, which .github/workflows/build.yml:44 pins for both CI and the
developer machine, documents its rewritten sort as now always stable — but
that guarantee is new to Emacs 30. Before it, an Elisp comparator that
disagreed with sort about ties (or a caller who assumed stability without
checking) had no basis for that assumption; only the specific mechanism you
wrote yourself is a promise.
model/dashboard.org has a real tie: "Science & Physics" and "Learning,
Lisp & Q&A" are both :WEIGHT: 3 (dashboard.org:20,31), with Science listed
first. Drop the index tiebreak and the two panels' relative order on the
page depends entirely on whatever sort happens to do with equal elements
— which, if it ever changed underneath this code (a different Emacs, a
switch to seq-sort or a third-party sort), could silently swap Science and
Learning with no error, no failing test outside make golden, and no commit
that looks like the cause.
Exercise (verifiable): in a scratch copy of build/orrery-render-html.el,
replace the comparator with one that drops the tiebreak entirely —
(lambda (a b) (> (plist-get (cdr a) :weight) (plist-get (cdr b) :weight)))
— and run make golden. On Emacs 30.1 it will very likely still pass,
because Emacs 30's own sort is now documented as stable. That is exactly
the trap the exercise is meant to expose: a passing make golden here would
prove the current Emacs's sort happens to preserve order, not that the
explicit tiebreak was unnecessary to write. In one sentence: why is shipping
the (< (car a) (car b)) branch still the right call even on an Emacs
version where leaving it out would not currently fail any test?
2
[2026-08-17] · src generic fundamentals (no method book chosen yet)
Third fundamentals session on alto, and the fundamental keeps climbing: throat tones and low B♭ overtones first, then the register break and low C overtones, now low D and a dynamic change — can the tone stay centered playing quietly rather than at a comfortable mf, which is a different kind of control than reaching a new partial.
5 minutes: long tones on low C♯ and low D, whole notes, pp, quarter=60. The target isn't the pitch, it's whether the reed keeps speaking cleanly at a dynamic quiet enough that any looseness in the embouchure shows up immediately as a wavering or a dead spot, instead of being masked by air pressure the way it is at mf.
Overtone series from fundamental low D: voice up through D–D–A–D–F♯ using only the low D fingering, changing partials with throat and voicing, not embouchure — same method as the last two sessions, one fundamental higher. Success criterion: three clean ascents in a row, each partial speaking immediately at a steady dynamic, no pinch or pitch smear at the change — the same bar as before, now with a fundamental that hasn't been drilled.
E major scale, one octave, in thirds (skip a note, come back for it) rather than straight — a step up from the straight-scale shaping in the last two sessions. Shape it as a phrase: lean into the top of each arc, taper on the way back down, rather than playing the pattern evenly. E major's four sharps keep it in less-familiar territory than the neighbouring keys.
Stop the moment the pp long tones start needing a puff of extra air to speak, or an overtone starts costing more mouth pressure than the last clean rep — both are the embouchure compensating for fatigue rather than holding the true quiet dynamic, and reps past that point train the compensation instead of the control.
[2026-08-17] · src —
hearJohnny Hodges with the Lawrence Welk Orchestra — Star Dust (Johnny Hodges & The Lawrence Welk Orchestra) · Tidal · Spotify
Hodges plays the melody at a hushed dynamic for most of the chorus and never loses the center of the tone doing it — including through slides that are functionally overtone-informed voicing changes rather than fingered portamento. Listen for how little the sound thins as the dynamic drops, which is exactly what today's pp warmup and overtone work are chasing.
2
[2026-08-17] · src Typst 0.15 release notes
Typst 0.15 (2026-06-15) added native variable font support: the text
function's weight, style, stretch and size now drive a variable
font's standard axes directly, and a new variations parameter
(text(variations: (SOFT: 0))) sets custom designer axes — replacing the
old workaround of shipping four static cuts (regular/bold/italic/bold-italic)
per family. It doesn't close a gap that forced LaTeX outright, since
LuaLaTeX's fontspec has set axes by name (Weight400=) since version 2.9a;
what it closes is the gap next to LuaLaTeX specifically — pdfLaTeX and
XeLaTeX still can't touch variable fonts at all, and typst fonts
--variants lists each font's axes and ranges where fontspec expects you to
already know them.
For anyone setting documents that mix weights and optical sizes from one
variable font file — most contemporary families now ship that way — Typst's
version means one file and weight: 620 instead of hunting for whether the
foundry shipped a 620 static cut. The LuaLaTeX route still works but stays
lower-level: axis names and values come straight from the font's fvar
table, with no equivalent of Typst's autocomplete axis discovery.
[2026-08-17] · src Typst equation reference; amsmath manual
Typeset the same three-line derivation — ,
then the ultra-relativistic limit , then the massless case
— in both LaTeX's align environment and Typst's native math mode,
with exactly one equation number attached to the last line and none on the
first two. In LaTeX this takes explicit work: add \notag to every line but
the last (or use align* and hand-place a \tag on the final line), because
align numbers every line by default. In Typst it takes none: a single
$ ... \ ... \ ... $ block under #set math.equation(numbering: "(1)")
numbers the whole block once, on the last line, by default. Success
criterion: each rendered output shows exactly one equation number, on the
final line — count the numbers in the PDF/SVG and confirm it's 1, not 3. Use
Overleaf and the Typst web app to skip installing anything.
This is a small mechanical difference that decides how a derivation actually
gets typed, not a philosophical one: LaTeX's per-line-numbered default suits
a paper referencing each line separately, while Typst's per-block default
suits the more common case of showing your work — several steps, one label
for the whole derivation. Neither is wrong for what it's tuned for; choosing
align*+\tag over plain align in LaTeX is the same decision Typst just
made the default.