Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: use stored timestamps for paper dates instead of file mtime

Deploy copies all PDFs, clobbering their mtime to today. Now
metadata.json stores an `updated` ISO timestamp per paper, set only
when the paper is actually rebuilt. The index reads this instead of
stat().mtime, so dates survive full publishes and oven auto-builds.

Also backfills correct updated dates from git history and adds holden
paper metadata.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+121 -82
+10 -4
papers/cli.mjs
··· 413 413 "calarts-callouts-papers-26-arxiv": 20, 414 414 "handle-identity-atproto-26-arxiv": 21, 415 415 "ucla-arts-funding-26-arxiv": 22, 416 + "potter-and-prompt-26-arxiv": 23, 416 417 }; 417 418 418 419 // Collect deployed English PDFs sorted by importance ··· 421 422 const stat = statSync(e.sitePdf); 422 423 const m = meta[e.dir] || {}; 423 424 const rank = IMPORTANCE[e.siteName] || 99; 424 - papers.push({ ...e, mtime: stat.mtime, created: m.created || null, revisions: m.revisions || 0, rank }); 425 + // Prefer stored updated timestamp over file mtime (deploy copies all PDFs, clobbering mtime) 426 + const updated = m.updated ? new Date(m.updated) : stat.mtime; 427 + papers.push({ ...e, mtime: updated, created: m.created || null, revisions: m.revisions || 0, rank }); 425 428 } 426 429 papers.sort((a, b) => a.rank - b.rank); 427 430 ··· 462 465 if (existsSync(fp)) { 463 466 const stat = statSync(fp); 464 467 const m = meta[ex.metaKey] || {}; 465 - extras.push({ ...ex, mtime: stat.mtime, created: m.created || null, revisions: m.revisions || 0 }); 468 + const updated = m.updated ? new Date(m.updated) : stat.mtime; 469 + extras.push({ ...ex, mtime: updated, created: m.created || null, revisions: m.revisions || 0 }); 466 470 } 467 471 } 468 472 extras.sort((a, b) => b.mtime - a.mtime); ··· 829 833 830 834 // Increment revisions in metadata for all built papers (English only to avoid double-counting) 831 835 const meta = loadMetadata(); 832 - const builtDirs = new Set(built.map((e) => e.dir)); 836 + const now = new Date().toISOString(); 837 + const builtDirs = new Set(built.filter((e) => e.lang === "en").map((e) => e.dir)); 833 838 for (const dir of builtDirs) { 834 - if (!meta[dir]) meta[dir] = { created: new Date().toISOString().slice(0, 10), revisions: 0 }; 839 + if (!meta[dir]) meta[dir] = { created: now.slice(0, 10), revisions: 0 }; 835 840 meta[dir].revisions = (meta[dir].revisions || 0) + 1; 841 + meta[dir].updated = now; 836 842 } 837 843 saveMetadata(meta); 838 844 console.log(` METADATA updated (${builtDirs.size} papers incremented).\n`);
+56 -23
papers/metadata.json
··· 1 1 { 2 2 "arxiv-ac": { 3 3 "created": "2026-03-21", 4 - "revisions": 2 4 + "revisions": 2, 5 + "updated": "2026-03-28T23:55:47.000Z" 5 6 }, 6 7 "arxiv-api": { 7 8 "created": "2026-03-21", 8 - "revisions": 2 9 + "revisions": 2, 10 + "updated": "2026-03-27T15:49:57.000Z" 9 11 }, 10 12 "arxiv-archaeology": { 11 13 "created": "2026-03-21", 12 - "revisions": 2 14 + "revisions": 2, 15 + "updated": "2026-03-27T15:49:57.000Z" 13 16 }, 14 17 "arxiv-dead-ends": { 15 18 "created": "2026-03-21", 16 - "revisions": 2 19 + "revisions": 2, 20 + "updated": "2026-03-27T15:49:57.000Z" 17 21 }, 18 22 "arxiv-diversity": { 19 23 "created": "2026-03-21", 20 - "revisions": 2 24 + "revisions": 2, 25 + "updated": "2026-03-27T15:49:57.000Z" 21 26 }, 22 27 "arxiv-goodiepal": { 23 28 "created": "2026-03-21", 24 - "revisions": 2 29 + "revisions": 2, 30 + "updated": "2026-03-28T22:37:14.000Z" 25 31 }, 26 32 "arxiv-kidlisp": { 27 33 "created": "2026-03-21", 28 - "revisions": 2 34 + "revisions": 2, 35 + "updated": "2026-03-27T15:49:57.000Z" 29 36 }, 30 37 "arxiv-kidlisp-reference": { 31 38 "created": "2026-03-21", 32 - "revisions": 2 39 + "revisions": 2, 40 + "updated": "2026-03-27T15:49:57.000Z" 33 41 }, 34 42 "arxiv-network-audit": { 35 43 "created": "2026-03-21", 36 - "revisions": 2 44 + "revisions": 2, 45 + "updated": "2026-03-27T15:49:57.000Z" 37 46 }, 38 47 "arxiv-notepat": { 39 48 "created": "2026-03-21", 40 - "revisions": 2 49 + "revisions": 2, 50 + "updated": "2026-03-28T23:55:47.000Z" 41 51 }, 42 52 "arxiv-os": { 43 53 "created": "2026-03-21", 44 - "revisions": 2 54 + "revisions": 2, 55 + "updated": "2026-03-29T05:41:52.000Z" 45 56 }, 46 57 "arxiv-pieces": { 47 58 "created": "2026-03-21", 48 - "revisions": 2 59 + "revisions": 2, 60 + "updated": "2026-03-27T15:49:57.000Z" 49 61 }, 50 62 "arxiv-whistlegraph": { 51 63 "created": "2026-03-21", 52 - "revisions": 2 64 + "revisions": 2, 65 + "updated": "2026-03-30T07:16:52.000Z" 53 66 }, 54 67 "arxiv-plork": { 55 68 "created": "2026-03-21", 56 - "revisions": 2 69 + "revisions": 2, 70 + "updated": "2026-03-29T05:41:52.000Z" 57 71 }, 58 72 "arxiv-folk-songs": { 59 73 "created": "2026-03-21", 60 - "revisions": 2 74 + "revisions": 2, 75 + "updated": "2026-03-28T22:11:03.000Z" 61 76 }, 62 77 "arxiv-complex": { 63 78 "created": "2026-03-21", 64 - "revisions": 2 79 + "revisions": 2, 80 + "updated": "2026-03-27T15:49:57.000Z" 65 81 }, 66 82 "arxiv-kidlisp-cards": { 67 83 "created": "2026-03-21", 68 - "revisions": 2 84 + "revisions": 2, 85 + "updated": "2026-03-27T15:49:57.000Z" 69 86 }, 70 87 "arxiv-score-analysis": { 71 88 "created": "2026-03-21", 72 - "revisions": 2 89 + "revisions": 2, 90 + "updated": "2026-03-21T02:30:26.000Z" 73 91 }, 74 92 "arxiv-calarts": { 75 93 "created": "2026-03-21", 76 - "revisions": 2 94 + "revisions": 2, 95 + "updated": "2026-03-27T15:49:57.000Z" 77 96 }, 78 97 "arxiv-futures": { 79 98 "created": "2026-03-20", 80 - "revisions": 2 99 + "revisions": 2, 100 + "updated": "2026-03-27T15:49:57.000Z" 81 101 }, 82 102 "arxiv-sustainability": { 83 103 "created": "2026-03-27", 84 - "revisions": 1 104 + "revisions": 1, 105 + "updated": "2026-03-28T19:47:31.000Z" 85 106 }, 86 107 "arxiv-identity": { 87 108 "created": "2026-03-27", 88 - "revisions": 1 109 + "revisions": 1, 110 + "updated": "2026-03-28T19:05:12.000Z" 89 111 }, 90 112 "arxiv-ucla-arts": { 91 113 "created": "2026-03-27", 92 - "revisions": 1 114 + "revisions": 1, 115 + "updated": "2026-03-27T21:36:37.000Z" 116 + }, 117 + "arxiv-open-schools": { 118 + "created": "2026-03-20", 119 + "revisions": 2, 120 + "updated": "2026-03-21T01:23:50.000Z" 121 + }, 122 + "arxiv-holden": { 123 + "created": "2026-04-05", 124 + "revisions": 1, 125 + "updated": "2026-04-06T01:47:22.000Z" 93 126 } 94 127 }
+55 -55
system/public/papers.aesthetic.computer/index.html
··· 495 495 496 496 <!-- papers-start --> 497 497 498 - <div class="p" data-paper-id="ac" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.736Z"> 498 + <div class="p" data-paper-id="ac" data-created="2026-03-21" data-updated="2026-03-28T23:55:47.000Z"> 499 499 <div class="title"><a href="/aesthetic-computer-26-arxiv.pdf" data-base="/aesthetic-computer-26-arxiv">Aesthetic Computer '26</a></div> 500 500 <div class="detail">A Mobile-First Runtime for Creative Computing &middot; arXiv 5pp</div> 501 501 <div class="abstract">Aesthetic Computer is presented as a mobile-first creative computing runtime where the interface, publishing flow, and community feedback loop are part of the medium. The paper argues that small pieces can make software feel more social, more portable, and easier to share.</div> 502 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 502 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 16:55</span></div> 503 503 </div> 504 504 505 - <div class="p" data-paper-id="kidlisp" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.739Z"> 505 + <div class="p" data-paper-id="kidlisp" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 506 506 <div class="title"><a href="/kidlisp-26-arxiv.pdf" data-base="/kidlisp-26-arxiv">KidLisp '26</a></div> 507 507 <div class="detail">A Minimal Lisp for Generative Art on a Social Platform &middot; arXiv 6pp</div> 508 508 <div class="abstract">KidLisp is the platform's tiny Lisp for building visual and musical pieces in the browser. The paper shows how a minimal language can stay approachable while still supporting generative art and composition.</div> 509 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 509 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 510 510 </div> 511 511 512 - <div class="p" data-paper-id="plork" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.742Z"> 512 + <div class="p" data-paper-id="plork" data-created="2026-03-21" data-updated="2026-03-29T05:41:52.000Z"> 513 513 <div class="title"><a href="/plorking-the-planet-26-arxiv.pdf" data-base="/plorking-the-planet-26-arxiv">PLOrk'ing the Planet</a></div> 514 514 <div class="detail">Laptop Orchestras, PLOrk Heritage, and Aesthetic Computer &middot; arXiv</div> 515 515 <div class="abstract">This paper connects Aesthetic Computer to laptop orchestras and the collaborative traditions of PLOrk. It treats the browser as a place for ensemble practice, not just solo desktop programming.</div> 516 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 516 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 22:41</span></div> 517 517 </div> 518 518 519 - <div class="p" data-paper-id="os" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.740Z"> 519 + <div class="p" data-paper-id="os" data-created="2026-03-21" data-updated="2026-03-29T05:41:52.000Z"> 520 520 <div class="title"><a href="/ac-native-os-26-arxiv.pdf" data-base="/ac-native-os-26-arxiv">AC Native OS</a></div> 521 521 <div class="detail">A Bare-Metal Creative Computing Operating System &middot; arXiv 5pp</div> 522 522 <div class="abstract">AC Native OS describes a bare-metal runtime for creative computing. It focuses on boot-time simplicity and the idea that the operating system itself can be a programmable art surface.</div> 523 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 523 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 22:41</span></div> 524 524 </div> 525 525 526 - <div class="p" data-paper-id="api" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.737Z"> 526 + <div class="p" data-paper-id="api" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 527 527 <div class="title"><a href="/piece-api-26-arxiv.pdf" data-base="/piece-api-26-arxiv">From setup() to boot()</a></div> 528 528 <div class="detail">Processing at the Core of the Piece API &middot; arXiv 7pp</div> 529 529 <div class="abstract">The Piece API rethinks creative software around composable pieces instead of monolithic apps. It uses Processing's lineage to connect setup(), boot(), and the act of publishing.</div> 530 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 530 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 531 531 </div> 532 532 533 - <div class="p" data-paper-id="who-pays" data-created="2026-03-27" data-updated="2026-04-06T01:46:31.741Z"> 533 + <div class="p" data-paper-id="who-pays" data-created="2026-03-27" data-updated="2026-03-28T19:47:31.000Z"> 534 534 <div class="title"><a href="/who-pays-for-creative-tools-26-arxiv.pdf" data-base="/who-pays-for-creative-tools-26-arxiv">Who Pays for Creative Tools?</a></div> 535 535 <div class="detail">Funding, Burnout, and Survival in Open-Source Creative Computing &middot; arXiv 5pp</div> 536 536 <div class="abstract">A short look at who supports open-source creative tools and what that labor costs. The paper connects funding, burnout, and long-term maintenance to the life of artistic software.</div> 537 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 537 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Mar 28 12:47</span></div> 538 538 </div> 539 539 540 - <div class="p" data-paper-id="pieces" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.741Z"> 540 + <div class="p" data-paper-id="pieces" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 541 541 <div class="title"><a href="/pieces-not-programs-26-arxiv.pdf" data-base="/pieces-not-programs-26-arxiv">Pieces Not Programs</a></div> 542 542 <div class="detail">The Piece as a Unit of Creative Cognition &middot; arXiv 4pp</div> 543 543 <div class="abstract">A piece is treated here as the basic unit of creative cognition in AC. The paper argues that smaller, shareable pieces encourage composition, remix, and publication.</div> 544 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 544 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 545 545 </div> 546 546 547 - <div class="p" data-paper-id="notepat" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.740Z"> 547 + <div class="p" data-paper-id="notepat" data-created="2026-03-21" data-updated="2026-03-28T23:55:47.000Z"> 548 548 <div class="title"><a href="/notepat-26-arxiv.pdf" data-base="/notepat-26-arxiv">notepat.com</a></div> 549 549 <div class="detail">From Keyboard Toy to System Front Door &middot; arXiv 5pp</div> 550 550 <div class="abstract">notepat.com is framed as a keyboard-first front door to the system. The paper follows the toy-like input surface as it grows into a fuller creative interface.</div> 551 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 551 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 16:55</span></div> 552 552 </div> 553 553 554 - <div class="p" data-paper-id="goodiepal" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.739Z"> 554 + <div class="p" data-paper-id="goodiepal" data-created="2026-03-21" data-updated="2026-03-28T22:37:14.000Z"> 555 555 <div class="title"><a href="/radical-computer-art-26-arxiv.pdf" data-base="/radical-computer-art-26-arxiv">Radical Computer Art</a></div> 556 556 <div class="detail">Goodiepalian Approaches in Aesthetic Computer &middot; arXiv 5pp</div> 557 557 <div class="abstract">This paper treats Goodiepalian practice as a model for radical computer art. It emphasizes play, notation, and the social life of systems over polished product design.</div> 558 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 558 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 15:37</span></div> 559 559 </div> 560 560 561 - <div class="p" data-paper-id="whistlegraph" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.741Z"> 561 + <div class="p" data-paper-id="whistlegraph" data-created="2026-03-21" data-updated="2026-03-30T07:16:52.000Z"> 562 562 <div class="title"><a href="/whistlegraph-26-arxiv.pdf" data-base="/whistlegraph-26-arxiv">Whistlegraph</a></div> 563 563 <div class="detail">Drawing, Singing, and the Graphic Score as Viral Form &middot; arXiv 4pp</div> 564 564 <div class="abstract">Whistlegraph explores drawing, singing, and score-making as forms that can spread like software. The paper links graphic notation to performance, remix, and browser-native sharing.</div> 565 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 565 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 30 00:16</span></div> 566 566 </div> 567 567 568 - <div class="p" data-paper-id="complex" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.742Z"> 568 + <div class="p" data-paper-id="complex" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 569 569 <div class="title"><a href="/sucking-on-the-complex-26-arxiv.pdf" data-base="/sucking-on-the-complex-26-arxiv">Sucking on the Complex</a></div> 570 570 <div class="detail">Platform Hegemony, Critique-as-Content, and Anti-Environments &middot; arXiv 5pp</div> 571 571 <div class="abstract">Sucking on the Complex critiques platform hegemony and the way critique becomes content. It looks for anti-environments that stay messy, resistant, and alive.</div> 572 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 572 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 573 573 </div> 574 574 575 - <div class="p" data-paper-id="dead-ends" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.738Z"> 575 + <div class="p" data-paper-id="dead-ends" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 576 576 <div class="title"><a href="/dead-ends-26-arxiv.pdf" data-base="/dead-ends-26-arxiv">Vestigial Features</a></div> 577 577 <div class="detail">Dormant Paths, Evolutionary Branches, and Abandoned Approaches &middot; arXiv 4pp</div> 578 578 <div class="abstract">The paper catalogs dormant branches, abandoned experiments, and paths that never became default. It treats dead ends as useful history rather than failure.</div> 579 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 579 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 580 580 </div> 581 581 582 - <div class="p" data-paper-id="folk-songs" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.742Z"> 582 + <div class="p" data-paper-id="folk-songs" data-created="2026-03-21" data-updated="2026-03-28T22:11:03.000Z"> 583 583 <div class="title"><a href="/folk-songs-26-arxiv.pdf" data-base="/folk-songs-26-arxiv">Playable Folk Songs</a></div> 584 584 <div class="detail">Oral Tradition Meets the Browser Keyboard &middot; arXiv</div> 585 585 <div class="abstract">Playable Folk Songs brings oral tradition into the browser keyboard. The paper asks how simple interaction can carry collective memory and repetition.</div> 586 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 586 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 28 15:11</span></div> 587 587 </div> 588 588 589 - <div class="p" data-paper-id="archaeology" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.737Z"> 589 + <div class="p" data-paper-id="archaeology" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 590 590 <div class="title"><a href="/repo-archaeology-26-arxiv.pdf" data-base="/repo-archaeology-26-arxiv">Repository Archaeology</a></div> 591 591 <div class="detail">Tracing the Evolution of AC Through Its Git History &middot; arXiv 3pp &middot; <a href="/ac-repo-archaeology">interactive timeline</a></div> 592 592 <div class="abstract">Repository Archaeology traces the project through its git history. The paper shows how version control can become a narrative medium for design evolution.</div> 593 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 593 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 594 594 </div> 595 595 596 - <div class="p" data-paper-id="network-audit" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.740Z"> 596 + <div class="p" data-paper-id="network-audit" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 597 597 <div class="title"><a href="/network-audit-26-arxiv.pdf" data-base="/network-audit-26-arxiv">Network Audit</a></div> 598 598 <div class="detail">Who Uses Aesthetic Computer and What Do They Make? &middot; arXiv 4pp</div> 599 599 <div class="abstract">Network Audit asks who uses Aesthetic Computer and what they make with it. The paper turns usage patterns into a portrait of a community in motion.</div> 600 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 600 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 601 601 </div> 602 602 603 - <div class="p" data-paper-id="kidlisp-ref" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.739Z"> 603 + <div class="p" data-paper-id="kidlisp-ref" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 604 604 <div class="title"><a href="/kidlisp-reference-26-arxiv.pdf" data-base="/kidlisp-reference-26-arxiv">KidLisp Language Reference</a></div> 605 605 <div class="detail">118 Built-ins in 12 Categories &middot; arXiv 4pp</div> 606 606 <div class="abstract">The KidLisp reference compresses the language into a usable field guide. It groups 118 built-ins into 12 categories for quick browsing and recall.</div> 607 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 607 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 608 608 </div> 609 609 610 - <div class="p" data-paper-id="diversity" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.738Z"> 610 + <div class="p" data-paper-id="diversity" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 611 611 <div class="title"><a href="/citation-diversity-audit-26.pdf" data-base="/citation-diversity-audit-26">Citation Diversity Audit</a></div> 612 612 <div class="detail">Diversity and Inclusion in AC Paper Citations &middot; 4pp</div> 613 613 <div class="abstract">Citation Diversity Audit looks at who gets cited in the papers and where the archive is thin. The paper uses citation patterns as a proxy for inclusion and intellectual range.</div> 614 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 614 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 615 615 </div> 616 616 617 - <div class="p" data-paper-id="open-schools" data-created="" data-updated="2026-04-06T01:46:31.744Z"> 617 + <div class="p" data-paper-id="open-schools" data-created="2026-03-20" data-updated="2026-03-21T01:23:50.000Z"> 618 618 <div class="title"><a href="/open-schools-26-arxiv.pdf" data-base="/open-schools-26-arxiv">Get Closed Source Out of Schools</a></div> 619 619 <div class="detail"></div> 620 620 <div class="abstract">Get Closed Source Out of Schools makes the case that creative computing should be teachable, inspectable, and modifiable. The paper argues for open tools as infrastructure for learning.</div> 621 - <div class="meta-row"><span class="author">@jeffrey</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 621 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/20</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 20 18:23</span></div> 622 622 </div> 623 623 624 - <div class="p" data-paper-id="futures" data-created="2026-03-20" data-updated="2026-04-06T01:46:31.744Z"> 624 + <div class="p" data-paper-id="futures" data-created="2026-03-20" data-updated="2026-03-27T15:49:57.000Z"> 625 625 <div class="title"><a href="/five-years-from-now-26-arxiv.pdf" data-base="/five-years-from-now-26-arxiv">Five Years from Now</a></div> 626 626 <div class="detail"></div> 627 627 <div class="abstract">Five Years from Now is a projection paper about where the project could go if current habits continue. It uses the near future to test the consequences of today's decisions.</div> 628 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/20</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 628 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/20</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 629 629 </div> 630 630 631 - <div class="p" data-paper-id="calarts" data-psycho="1" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.744Z"> 631 + <div class="p" data-paper-id="calarts" data-psycho="1" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 632 632 <div class="title"><a href="/calarts-callouts-papers-26-arxiv.pdf" data-base="/calarts-callouts-papers-26-arxiv">CalArts, Callouts, and Papers</a></div> 633 633 <div class="detail"></div> 634 634 <div class="abstract">CalArts, Callouts, and Papers turns a local institutional context into a study of friction, attention, and production. The paper leans into psycho style to show how academic labor is staged and performed.</div> 635 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 635 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 636 636 </div> 637 637 638 - <div class="p" data-paper-id="identity" data-created="2026-03-27" data-updated="2026-04-06T01:46:31.745Z"> 638 + <div class="p" data-paper-id="identity" data-created="2026-03-27" data-updated="2026-03-28T19:05:12.000Z"> 639 639 <div class="title"><a href="/handle-identity-atproto-26-arxiv.pdf" data-base="/handle-identity-atproto-26-arxiv">Handle Identity on the AT Protocol</a></div> 640 640 <div class="detail"></div> 641 641 <div class="abstract">Handle Identity on the AT Protocol treats naming as a social and technical problem. The paper explores how handles, identity, and publishing can be tied together without losing portability.</div> 642 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 642 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Mar 28 12:05</span></div> 643 643 </div> 644 644 645 - <div class="p" data-paper-id="ucla-arts" data-created="2026-03-27" data-updated="2026-04-06T01:46:31.745Z"> 645 + <div class="p" data-paper-id="ucla-arts" data-created="2026-03-27" data-updated="2026-03-27T21:36:37.000Z"> 646 646 <div class="title"><a href="/ucla-arts-funding-26-arxiv.pdf" data-base="/ucla-arts-funding-26-arxiv">Two Departments, One Building</a></div> 647 647 <div class="detail"></div> 648 648 <div class="abstract">Two Departments, One Building examines how funding and infrastructure shape creative work in shared spaces. The paper looks at administrative boundaries as part of the artistic system.</div> 649 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 649 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/27</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Mar 27 14:36</span></div> 650 650 </div> 651 651 652 - <div class="p" data-paper-id="kidlisp-cards" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.743Z"> 652 + <div class="p" data-paper-id="holden" data-created="2026-04-05" data-updated="2026-04-06T01:47:22.000Z"> 653 + <div class="title"><a href="/potter-and-prompt-26-arxiv.pdf" data-base="/potter-and-prompt-26-arxiv">The Potter and the Prompt</a></div> 654 + <div class="detail">John Holden's Proto-Cognitive Music Theory and Aesthetic Computer &middot; arXiv 7pp</div> 655 + <div class="abstract">The Potter and the Prompt argues that AC independently converges on the core principles of John Holden's 1770 proto-cognitive music theory. It proposes AC as a computational laboratory for advancing Holden's unfinished program on grouping, attention, and the module.</div> 656 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">04/05</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:47</span></div> 657 + </div> 658 + 659 + <div class="p" data-paper-id="kidlisp-cards" data-created="2026-03-21" data-updated="2026-03-27T15:49:57.000Z"> 653 660 <div class="title"><a href="/kidlisp-cards-26-arxiv.pdf" data-base="/kidlisp-cards-26-arxiv">KidLisp Cards</a></div> 654 661 <div class="detail"></div> 655 662 <div class="abstract">KidLisp Cards condenses the language into a pocketable card format. It is meant to make the language easier to browse, teach, and carry.</div> 656 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 663 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 27 08:49</span></div> 657 664 </div> 658 665 659 - <div class="p" data-paper-id="score-analysis" data-created="2026-03-21" data-updated="2026-04-06T01:46:31.743Z"> 666 + <div class="p" data-paper-id="score-analysis" data-created="2026-03-21" data-updated="2026-03-21T02:30:26.000Z"> 660 667 <div class="title"><a href="/reading-the-score-26-arxiv.pdf" data-base="/reading-the-score-26-arxiv">Reading the Score</a></div> 661 668 <div class="detail"></div> 662 669 <div class="abstract">Reading the Score looks at the graphic score as an interface for interpretation and collaboration. The paper treats notation as a computational and social object.</div> 663 - <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 664 - </div> 665 - 666 - <div class="p" data-paper-id="holden" data-no-cards="1" data-created="" data-updated="2026-04-06T01:46:31.746Z"> 667 - <div class="title"><a href="/potter-and-prompt-26-arxiv.pdf" data-base="/potter-and-prompt-26-arxiv">The Potter and the Prompt</a></div> 668 - <div class="detail">John Holden's Proto-Cognitive Music Theory and Aesthetic Computer &middot; arXiv 7pp</div> 669 - <div class="abstract">The Potter and the Prompt argues that AC independently converges on the core principles of John Holden's 1770 proto-cognitive music theory. It proposes AC as a computational laboratory for advancing Holden's unfinished program on grouping, attention, and the module.</div> 670 - <div class="meta-row"><span class="author">@jeffrey</span><span class="revisions" title="Revision count">revision 1</span><span class="updated" title="Last updated">Apr 5 18:46</span></div> 670 + <div class="meta-row"><span class="author">@jeffrey</span><span class="created" title="Created">03/21</span><span class="revisions" title="Revision count">revision 2</span><span class="updated" title="Last updated">Mar 20 19:30</span></div> 671 671 </div> 672 672 673 673 <div class="p" data-paper-id="els">