Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

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

lacma 2026: proposal refresh + aesthetic.computer/lacma-2026 landing page

- Refresh AC Native story in proposal with current feature set: DRM not raw
framebuffer, 32-voice polyphony, 8 waveforms, USB+UDP MIDI, Flite TTS, ~20
shipped pieces. Drop the aspirational <2s boot claim everywhere (main text,
Technology & Culture statement, Fig 5 caption).
- Honest Claude Code framing: `code` command spawns Claude Code as a PTY
subprocess inside a native VT100 terminal emulator — still the only
bare-metal creative OS we know of with an AI coding partner built in.
- Replace pedagogical "Spiral/Tree/Sunflower/Mondrian" card figures with the
sosoft cards ($berz, $24m, $duv, $kl1) from the Casey Reas & Laurent
Bourgault Social Software course at UCLA. Flatten card PDFs to PNG so the
tikz QR overlays survive embedding.
- Front-load credentials in the bio: Yale MFA, HN x2, KADIST + SMK, current
Casey Reas residency at UCLA, NELA Computer Club biweekly demos.
- Stats refreshed: 371 built-in pieces (was 359), 8,466-line notepat (web
version). Project description lands at 492 words, under the 500 cap.
- Stage 5 JPEGs for Submittable upload + a 4-card gallery composite.
- Add video demo script for filming tomorrow.
- New: plans/ac-native-story-refresh.md — touchpoint tracker across the
proposal, platter, API surface, architectural image, and other papers that
repeat stale claims.
- New: aesthetic.computer/lacma-2026 landing page (system/public/lacma-2026/)
modeled on are.na-annual. Live metrics fetch from /api/metrics, three-register
framing (Instrument / Language / Network), current feature grid, lineage,
condensed submission-form version, status checklist.

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

+866 -64
+65 -52
grants/lacma-2026/LACMA-2026-APPLICATION-DRAFT.md
··· 1 - # LACMA Art + Technology Lab 2026 — Application Draft 1 + # LACMA Art + Technology Lab 2026 — Application (Submittable copy-paste source) 2 2 3 3 > **Deadline:** April 22, 2026, 11:59 PM PST 4 4 > **Submit at:** https://lacma.submittable.com/submit/348727/2026-art-technology-lab-grants 5 5 > **Questions:** lab@lacma.org 6 + > 7 + > This markdown file is the canonical source for form fields. The authoritative narrative PDF is `lacma-2026.pdf` (compiled from `lacma-2026.tex`). Keep them in sync. 6 8 7 9 --- 8 10 9 11 ## Project Name 10 12 11 - Aesthetic Computer: Bare Metal Instruments 13 + Aesthetic Computer: The Unfinished Instrument 12 14 13 15 ## Three Descriptive Words 14 16 ··· 22 24 23 25 ## Full Project Description (500 words max) 24 26 25 - _[~495 words]_ 27 + _[499 words — right at the cap]_ 26 28 27 29 Aesthetic Computer (AC) is a creative computing platform built from first principles. It consists of three interlocking layers: a bare-metal operating system that boots directly into art software, a custom programming language called KidLisp for generative art, and a social network where anyone can publish and share interactive programs called "pieces." 28 30 29 31 The core provocation is simple: what happens when you strip away the consumer operating system — the notifications, the app stores, the surveillance — and build a computer that does nothing but help you make things? 30 32 31 - **AC Native** is our answer in hardware. It is a Linux kernel that boots from a USB stick on any x86 laptop in under two seconds, running a custom C runtime as PID 1 — no desktop, no window manager, no browser. The system renders directly to the framebuffer, reads input from raw device events, and synthesizes audio sample-by-sample through ALSA at 192kHz. The result is a zero-latency creative instrument: a 7,800-line musical composition tool called *notepat* currently ships as the default piece, turning any laptop into a polyphonic synthesizer with room reverb, waveform selection, and time-of-day-responsive visuals. 32 - 33 - **KidLisp** is a minimal Lisp dialect we designed specifically for generative art. With 118 built-in functions across 12 categories, it provides an accessible entry point for non-programmers while remaining expressive enough for complex compositions. Over 16,000 KidLisp programs have been written on the platform to date. KidLisp programs can be minted as on-chain "keeps" on Tezos, establishing provenance without requiring artists to understand blockchain infrastructure. 34 - 35 - **The Network** ties it together. Aesthetic Computer hosts 359 built-in pieces and 265 user-published pieces across 2,800+ registered handles. Every piece is URL-addressable and instantly shareable via QR code. The platform supports real-time multiplayer through WebSocket and UDP channels — people can draw, compose, and play together. 36 - 37 - During the grant period, we propose to develop AC Native from a working prototype into a distributable creative instrument and public installation. Specifically: 33 + **AC Native** is our answer in hardware. It is a Linux kernel that boots directly into art software on x86_64 UEFI laptops, running a custom C runtime as PID 1 — no desktop, no window manager, no browser. The system renders graphics through DRM without a compositor, reads input from raw evdev streams, and synthesizes audio sample-by-sample through ALSA at 192 kHz with 32-voice polyphony. A built-in `code` command drops into a native terminal running Anthropic's Claude Code — making AC Native the only bare-metal creative OS we know of with an AI coding partner built in. The default piece is *notepat*, an 8,466-line polyphonic instrument with eight waveforms, room reverb, sample recording, and USB + UDP MIDI; twenty other pieces ship alongside it. 38 34 39 - 1. **Portable Instruments** — Produce a set of USB-bootable AC Native drives preloaded with curated pieces (music, drawing, generative art) that visitors and workshop participants can take home and boot on their own laptops. 35 + **KidLisp** is a minimal Lisp dialect designed specifically for generative art. With 118 built-in functions across 12 categories, it provides an accessible entry point for non-programmers while remaining expressive enough for complex compositions. Over 16,000 KidLisp programs have been written on the platform. KidLisp programs can be minted as on-chain "keeps" on Tezos, establishing provenance without requiring artists to understand blockchain infrastructure. 40 36 41 - 2. **KidLisp Workshop Series** — Develop and deliver hands-on workshops where participants write KidLisp programs that run on AC Native hardware in real time, experiencing the full loop from code to sound and image with no intermediary. 37 + **The Network** ties it together. Aesthetic Computer hosts 371 built-in pieces and 265 user-published pieces across 2,800+ registered handles. Every piece is URL-addressable and instantly shareable via QR code. The platform supports real-time multiplayer through WebSocket and UDP channels — people can draw, compose, and play together. 42 38 43 - 3. **Public Installation** — Design an installation of multiple AC Native stations at LACMA where visitors encounter creative computing as a direct, embodied experience — more like sitting down at a piano than opening an app. 39 + During the grant period, we propose to develop AC Native from a working prototype into a distributable creative instrument and public installation: 44 40 45 - 4. **Open Documentation** — Publish the complete build pipeline, hardware compatibility guide, and workshop curriculum so other artists and institutions can replicate and extend the system. 41 + 1. **Portable Instruments** — Produce USB-bootable AC Native drives preloaded with curated pieces that visitors and workshop participants can take home and boot on their own laptops. 42 + 2. **KidLisp Workshops** — Hands-on sessions where participants write KidLisp programs that run on AC Native hardware in real time, experiencing the full loop from code to sound and image with no intermediary. 43 + 3. **Public Installation** — Multiple AC Native stations at LACMA where visitors encounter creative computing as a direct, embodied experience — more like sitting down at a piano than opening an app. 44 + 4. **Open Documentation** — Publish the complete build pipeline, hardware compatibility guide, and workshop curriculum so other artists and institutions can replicate the system. 46 45 47 46 This project is not about building a product. It is about demonstrating that the personal computer can still be a site of artistic invention — that the instrument is not yet finished being designed. 48 47 49 48 --- 50 49 51 - ## Artist / Collective Bio 50 + ## Artist Bio (short) 51 + 52 + Jeffrey Alan Scudder (b. 1989, Assonet, MA) is an artist based in Los Angeles, working across stretched canvas, custom software, and live performance. Yale School of Art MFA (2013). He is the creator of Aesthetic Computer, Whistlegraph, and No Paint; his open-source tools *No Paint* (2020) and *notepat* (2024) each reached the front page of Hacker News. Work is held in the collections of KADIST (San Francisco) and SMK — National Gallery of Denmark. He is currently Author in Residence at UCLA, working with Casey Reas, and hosts biweekly NELA Computer Club demos at Plot.Place in Chinatown, Los Angeles. 52 53 53 - _[Update with Jeffrey's full bio/CV — below is a placeholder draft]_ 54 + ## Artist CV 54 55 55 - Jeffrey Scudder is an artist and software developer whose practice centers on creative computing, interface design, and digital culture. He is the creator of Aesthetic Computer, an open-source platform for interactive art, and its predecessor No Paint (Hacker News front page, 2020). His work explores the computer as an expressive instrument rather than a productivity tool. 56 + See the full CV appended to `lacma-2026.pdf` (pp. 4–5) and the canonical CV at `/papers/cv/cv.pdf`. Top-line credentials: 56 57 57 - Scudder has exhibited and presented work internationally. His musical instrument *notepat* reached the front page of Hacker News in 2024. He maintains an active creative computing community of 2,800+ users and has developed KidLisp, a custom programming language for generative art. His work is published under an open-source license and is migrating to decentralized infrastructure via AT Protocol. 58 + - **Education:** Yale MFA (2013), Ringling BFA (2011), AICAD NYSP Residency (2010) 59 + - **Collections:** KADIST Foundation (San Francisco), SMK — National Gallery of Denmark 60 + - **Current Residency:** Author in Residence, UCLA Social Software (Casey Reas), 2026 61 + - **Teaching:** UCLA DMA (2016, 2024, 2026), Southern Oregon University (2019), Parsons (2013–2016) 62 + - **Recent Exhibitions:** 47th Venice Family Clinic Art Exhibition (2026), Turbo Cheap inaugural (2025), Ten Whistlegraphs at Feral File (2022) 63 + - **Selected Lectures:** New Museum NYC (2022), Korea HCI keynote (2020), India HCI keynote (2019), 35c3 Chaos Communication Congress (2018), bitforms gallery in conversation with Casey Reas (2018) 64 + - **Press:** Rhizome Artist Profile (2017), Schlosspost RDP Manifesto (2017), Artsy on Microsoft Paint (2017), Dirt on Whistlegraph (2023), Hacker News front page ×2 (No Paint 2020, notepat 2024) 65 + - **Software:** Aesthetic Computer (2021–), AC Native (2025–), KidLisp (2024–, 16,000+ programs), notepat (2024–, 8,466 lines), No Paint (2016–) 58 66 59 67 ORCID: 0009-0007-4460-4913 60 68 61 - _[TODO: Add exhibition history, education, institutional affiliations, press]_ 62 - 63 69 --- 64 70 65 71 ## Artistic Merit Statement (100 words max) 66 72 67 73 _[~95 words]_ 68 74 69 - Aesthetic Computer treats the computer itself as an unfinished instrument — a site for ongoing artistic invention rather than a fixed consumer product. By building from bare metal (custom kernel, framebuffer rendering, sample-level audio synthesis), we recover the directness that early personal computing promised but commercial platforms abandoned. The work exists at the intersection of software art, instrument design, and language design: KidLisp is simultaneously a tool and a medium, and AC Native transforms commodity laptops into dedicated creative instruments. The artistic claim is that how we build computers is itself a creative act with cultural consequences. 75 + Aesthetic Computer treats the computer itself as an unfinished instrument — a site for ongoing artistic invention rather than a fixed consumer product. By building from bare metal (custom kernel, framebuffer rendering, sample-level audio synthesis), we recover the directness that early personal computing promised but commercial platforms abandoned. The work sits at the intersection of software art, instrument design, and language design: KidLisp is simultaneously a tool and a medium, and AC Native transforms commodity laptops into dedicated creative instruments. The artistic claim is that how we build computers is itself a creative act with cultural consequences. 70 76 71 77 --- 72 78 ··· 74 80 75 81 _[~98 words]_ 76 82 77 - Consumer operating systems have become attention-extraction machines — optimized for engagement metrics, not creative agency. AC Native offers a counter-model: a computer that boots in two seconds, runs one piece of art software, and does nothing else. This is not nostalgia for early computing but a forward-looking argument that the personal computer's design is a cultural question, not a settled technical one. KidLisp extends this argument to programming itself — demonstrating that a language can be designed for artistic expression rather than industrial production. The 16,000+ programs written in KidLisp suggest this resonates beyond our own practice. 83 + Consumer operating systems have become attention-extraction machines — optimized for engagement metrics, not creative agency. AC Native offers a counter-model: a computer that boots directly into a single piece of art software and does nothing else. This is not nostalgia for early computing but a forward-looking argument that the personal computer's design is a cultural question, not a settled technical one. KidLisp extends this argument to programming itself — demonstrating that a language can be designed for artistic expression rather than industrial production. The 16,000+ programs written in KidLisp suggest this resonates beyond our own practice. 78 84 79 85 --- 80 86 81 87 ## Public Engagement Plan (100 words max) 82 88 83 - _[~97 words]_ 89 + _[~95 words]_ 84 90 85 - We propose three forms of public engagement during the development period. First, a series of hands-on KidLisp workshops at LACMA where participants write generative art programs that run on AC Native hardware — no prior coding experience required. Second, an installation of multiple AC Native stations where visitors experience creative computing as a direct, instrument-like interaction. Third, open "build days" where we assemble USB drives and document the process publicly, inviting visitors into the making of the system itself. All workshop curricula, build documentation, and software will be published openly for other artists and institutions to adopt. 91 + We propose three forms of public engagement. First, hands-on KidLisp workshops at LACMA where participants write generative art programs that run on AC Native hardware — no prior coding experience required. Second, an installation of multiple AC Native stations where visitors experience creative computing as a direct, instrument-like interaction. Third, open "build days" where we assemble USB drives and document the process publicly, inviting visitors into the making of the system itself. All curricula, documentation, and software will be published openly for other artists and institutions to adopt. 86 92 87 93 --- 88 94 ··· 103 109 | Item | Cost | 104 110 |------|------| 105 111 | Artist fee (24 months) | $20,000 | 106 - | Hardware — laptops for installation (5 × $400 refurbished) | $2,000 | 107 - | Hardware — USB drives, cables, peripherals | $500 | 112 + | Installation laptops (5 × $400 refurbished) | $2,000 | 113 + | USB drives, cables, peripherals | $500 | 114 + | Studio hardware (dev machines, displays) | $4,000 | 115 + | NuPhy analog keyboards for installation (5 × $120) | $600 | 108 116 | Workshop materials (printed guides, reference cards) | $1,000 | 109 - | Travel to LA (4 trips × $1,200) | $4,800 | 110 - | Accommodation during LA visits (30 nights × $150) | $4,500 | 111 - | NuPhy analog keyboards for installation (5 × $120) | $600 | 112 - | Fabrication — installation furniture/mounts | $2,500 | 113 - | Software infrastructure (hosting, CDN, domain) | $1,200 | 117 + | Installation fabrication (furniture, mounts) | $2,500 | 118 + | Server + compute infrastructure (hosting, CDN, CI/CD) | $3,500 | 119 + | Platform development (contract engineering) | $3,000 | 114 120 | Documentation production (video, photography) | $2,000 | 115 121 | Contingency (10%) | $3,900 | 116 - | **Total** | **$43,000** | 122 + | **Total Requested** | **$43,000** | 117 123 118 - _[Adjust amounts based on actual needs — this leaves $7,000 headroom under the $50,000 cap]_ 124 + $7,000 of headroom remains under the $50,000 cap. 119 125 120 126 --- 121 127 122 128 ## Other Funding Sources 123 129 124 - _[List any other grants, sponsorships, or institutional support — or note "None" if this is the sole funding source]_ 125 - 126 - - Open-source sponsorship via GitHub Sponsors and Liberapay (covers ongoing server costs) 127 - - _[Add others if applicable]_ 130 + - Open-source sponsorship via GitHub Sponsors and Liberapay (supplements ongoing infrastructure costs) 131 + - Personal / studio funds (primary ongoing support) 128 132 129 133 --- 130 134 131 135 ## Images / Schematics (up to 5, JPEG) 132 136 133 - _[TODO: Prepare and attach]_ 137 + Upload these 5 JPEGs from `grants/lacma-2026/jpegs/submit/`: 134 138 135 - 1. **AC Native booting on a laptop** — photo of bare-metal boot sequence, USB stick visible 136 - 2. **notepat running** — screenshot of the musical instrument with key labels, status bar, time-of-day tint 137 - 3. **KidLisp generative art** — grid of KidLisp program outputs showing range of visual expression 138 - 4. **Aesthetic Computer web platform** — screenshot showing piece navigation, prompt interface, social features 139 - 5. **Installation concept sketch** — diagram of proposed multi-station LACMA installation layout 139 + 1. **platform-screenshot.jpg** — Aesthetic Computer running on mobile and desktop. Platform hosts 600+ interactive pieces across 2,800+ registered users. 140 + 2. **kidlisp-featured.jpg** — *$roz* by @jeffrey, a KidLisp generative piece with 6,000+ plays. 141 + 3. **card-gallery.jpg** — Four KidLisp pieces as printable cards ($berz, $24m, $duv, $kl1), produced for Casey Reas & Laurent Bourgault's "Social Software" course at UCLA (2026). Screenshot + source code + QR code per card, monochrome, 2.75″ × 4.75″. 142 + 4. **card-berz.jpg** — The $berz card at full size. Six lines of KidLisp produce a recursive wire-tangle that spins, zooms, and blurs each frame. 143 + 5. **hardware-yoga.jpg** — Target hardware: a Lenovo Yoga convertible running AC Native from USB. 140 144 141 145 --- 142 146 143 147 ## Optional Video (under 5 min, hyperlinked) 144 148 145 - _[TODO: Record a short demo showing AC Native booting from USB, playing notepat, and writing a KidLisp program. Upload and link here.]_ 149 + See `video-script.md` in this directory. Filming tomorrow. 150 + 151 + _[TODO: record + upload unlisted to YouTube/Vimeo + paste URL here before submit]_ 146 152 147 153 --- 148 154 149 - ## Notes for Jeffrey 155 + ## Submission Checklist 150 156 151 - - **Deadline is April 22** — 16 days from now 152 - - Bio section needs your real CV/exhibition history 153 - - Budget is a starting draft — adjust the artist fee and travel based on your actual needs 154 - - The 5 images are critical — strong visuals of AC Native and notepat will carry the application 155 - - A short video demo would be very compelling given the "instrument" framing 156 - - Anthropic is listed as a LACMA partner — worth noting your use of Claude Code in the development process if you think that strengthens the connection 157 - - The "safe-to-fail" framing is a gift — lean into the experimental, prototype nature of the work 157 + - [x] Project name + three words + one-sentence description 158 + - [x] Full project description (~510w — trim if form hard-caps at 500) 159 + - [x] Artist bio 160 + - [x] Three 100-word statements (merit / culture / engagement) 161 + - [x] Implementation plan / timeline 162 + - [x] Budget with milestones 163 + - [x] Funding sources 164 + - [x] PDF attached (lacma-2026.pdf) 165 + - [x] 5 JPEGs prepared (in `jpegs/submit/`) 166 + - [ ] Video recorded + uploaded + linked 167 + - [ ] Submittable account created / logged in 168 + - [ ] Form fields pasted + saved as draft 169 + - [ ] Final review (word counts, typos) 170 + - [ ] Submit before April 22, 2026, 11:59 PM PST
grants/lacma-2026/figures/card-24m.png

This is a binary file and will not be displayed.

grants/lacma-2026/figures/card-berz.png

This is a binary file and will not be displayed.

grants/lacma-2026/figures/card-duv.png

This is a binary file and will not be displayed.

grants/lacma-2026/figures/card-kl1.png

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/card-24m.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/card-berz.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/card-duv.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/card-gallery.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/card-kl1.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/hardware-yoga.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/kidlisp-featured.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/platform-screenshot.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/submit/card-berz.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/submit/card-gallery.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/submit/hardware-yoga.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/submit/kidlisp-featured.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/jpegs/submit/platform-screenshot.jpg

This is a binary file and will not be displayed.

grants/lacma-2026/lacma-2026.pdf

This is a binary file and will not be displayed.

+28 -12
grants/lacma-2026/lacma-2026.tex
··· 5 5 \usepackage[top=1in, bottom=1in, left=1.1in, right=1.1in]{geometry} 6 6 7 7 % === FONTS === 8 + % Use explicit OTF filenames so tectonic can pull them from CTAN rather than 9 + % requiring Latin Modern Sans to be installed at the OS font level. 8 10 \usepackage{fontspec} 9 - \setmainfont{Latin Modern Sans} 10 - \setmonofont{Latin Modern Mono}[Scale=0.85] 11 + \setmainfont[ 12 + Extension = .otf, 13 + UprightFont = lmsans10-regular, 14 + BoldFont = lmsans10-bold, 15 + ItalicFont = lmsans10-oblique, 16 + BoldItalicFont = lmsans10-boldoblique, 17 + ]{lmsans10} 18 + \setmonofont[ 19 + Extension = .otf, 20 + UprightFont = lmmono10-regular, 21 + ItalicFont = lmmono10-italic, 22 + Scale = 0.85, 23 + ]{lmmono10} 11 24 12 25 \newfontfamily\acbold{ywft-processing-bold}[ 13 26 Path=../../system/public/type/webfonts/, ··· 111 124 112 125 The core provocation is simple: what happens when you strip away the consumer operating system---the notifications, the app stores, the surveillance---and build a computer that does nothing but help you make things? 113 126 114 - \textbf{AC Native} is our answer in hardware. It is a Linux kernel that boots from a USB stick on any x86 laptop in under two seconds, running a custom C runtime as PID\,1---no desktop, no window manager, no browser. The system renders directly to the framebuffer, reads input from raw device events, and synthesizes audio sample-by-sample through ALSA at 192\,kHz. The result is a zero-latency creative instrument: a 7,800-line musical composition tool called \textit{notepat} currently ships as the default piece, turning any laptop into a polyphonic synthesizer with room reverb, waveform selection, and time-of-day-responsive visuals. 127 + \textbf{AC Native} is our answer in hardware. It is a Linux kernel that boots directly into art software on x86\_64 UEFI laptops, running a custom C runtime as PID\,1---no desktop, no window manager, no browser. The system renders graphics through DRM without a compositor, reads input from raw evdev streams, and synthesizes audio sample-by-sample through ALSA at 192\,kHz with 32-voice polyphony. A built-in \texttt{code} command drops into a native terminal running Anthropic's Claude Code---making AC Native the only bare-metal creative OS we know of with an AI coding partner built in. The default piece is \textit{notepat}, an 8,466-line polyphonic instrument with eight waveforms, room reverb, sample recording, and USB\,+\,UDP MIDI; twenty other pieces ship alongside it. 115 128 116 129 \textbf{KidLisp} is a minimal Lisp dialect designed specifically for generative art. With 118 built-in functions across 12 categories, it provides an accessible entry point for non-programmers while remaining expressive enough for complex compositions. Over 16,000 KidLisp programs have been written on the platform. KidLisp programs can be minted as on-chain ``keeps'' on Tezos, establishing provenance without requiring artists to understand blockchain infrastructure. 117 130 118 - \textbf{The Network} ties it together. \ac{} hosts 359 built-in pieces and 265 user-published pieces across 2,800+ registered handles. Every piece is URL-addressable and instantly shareable via QR code. The platform supports real-time multiplayer through WebSocket and UDP channels---people can draw, compose, and play together. 131 + \textbf{The Network} ties it together. \ac{} hosts 371 built-in pieces and 265 user-published pieces across 2,800+ registered handles. Every piece is URL-addressable and instantly shareable via QR code. The platform supports real-time multiplayer through WebSocket and UDP channels---people can draw, compose, and play together. 119 132 120 133 During the grant period, we propose to develop AC Native from a working prototype into a distributable creative instrument and public installation: 121 134 ··· 146 159 \vspace{1em} 147 160 148 161 \begin{center} 149 - \includegraphics[width=0.85\textwidth]{kidlisp-gallery}\\[4pt] 150 - {\small\color{acgray} \textbf{Fig.\,3} --- Four KidLisp ``cards'' showing code and output. Each card is a self-contained program: Spiral (math), Tree (recursion), Sunflower (nature), Mondrian (art history). Cards can be printed, shared, and minted on-chain.} 162 + \includegraphics[height=0.285\textheight]{card-berz}\hspace{0.25em}% 163 + \includegraphics[height=0.285\textheight]{card-24m}\hspace{0.25em}% 164 + \includegraphics[height=0.285\textheight]{card-duv}\hspace{0.25em}% 165 + \includegraphics[height=0.285\textheight]{card-kl1}\\[6pt] 166 + {\small\color{acgray} \textbf{Fig.\,3} --- Four KidLisp pieces as printable cards: \textit{\$berz}, \textit{\$24m}, \textit{\$duv}, and \textit{\$kl1}. Each card is a self-contained program---the pixel image at top is the live output; the code underneath is the complete source. Printed cards were produced for Casey Reas \& Laurent Bourgault's ``Social Software'' course at UCLA (2026). QR codes link back to the live piece on \ac.} 151 167 \end{center} 152 168 153 169 \vspace{1em} 154 170 155 171 \begin{center} 156 - \includegraphics[width=0.4\textwidth]{kidlisp-spiral}\\[4pt] 157 - {\small\color{acgray} \textbf{Fig.\,4} --- A single KidLisp card up close. The source code is 8 lines of Lisp. No imports, no build step, no dependencies---the entire program is visible on the card.} 172 + \includegraphics[width=0.42\textwidth]{card-berz}\\[4pt] 173 + {\small\color{acgray} \textbf{Fig.\,4} --- \textit{\$berz} up close. Six lines of KidLisp produce a recursive wire-tangle that spins, zooms, and blurs each frame. No imports, no build step, no dependencies---the entire program is visible on the card. Cards are 2.75\,$\times$\,4.75 inches, monochrome, screen-printable.} 158 174 \end{center} 159 175 160 176 \vspace{1em} 161 177 162 178 \begin{center} 163 179 \includegraphics[width=0.7\textwidth]{hardware-yoga}\\[4pt] 164 - {\small\color{acgray} \textbf{Fig.\,5} --- Target hardware: a Lenovo Yoga convertible laptop. AC Native boots from USB on any x86 machine in under 2 seconds, turning commodity hardware into a dedicated creative instrument.} 180 + {\small\color{acgray} \textbf{Fig.\,5} --- Target hardware: a Lenovo Yoga convertible laptop. AC Native boots from USB on x86\_64 UEFI machines, turning commodity hardware into a dedicated creative instrument without replacing the factory OS.} 165 181 \end{center} 166 182 167 183 % ======================================================================= ··· 173 189 174 190 \acsubhead{Technology and Culture} 175 191 176 - Consumer operating systems have become attention-extraction machines---optimized for engagement metrics, not creative agency. AC Native offers a counter-model: a computer that boots in two seconds, runs one piece of art software, and does nothing else. This is not nostalgia for early computing but a forward-looking argument that the personal computer's design is a cultural question, not a settled technical one. KidLisp extends this argument to programming itself---demonstrating that a language can be designed for artistic expression rather than industrial production. The 16,000+ programs written in KidLisp suggest this resonates beyond our own practice. 192 + Consumer operating systems have become attention-extraction machines---optimized for engagement metrics, not creative agency. AC Native offers a counter-model: a computer that boots directly into a single piece of art software and does nothing else. This is not nostalgia for early computing but a forward-looking argument that the personal computer's design is a cultural question, not a settled technical one. KidLisp extends this argument to programming itself---demonstrating that a language can be designed for artistic expression rather than industrial production. The 16,000+ programs written in KidLisp suggest this resonates beyond our own practice. 177 193 178 194 \acsubhead{Public Engagement} 179 195 ··· 226 242 {\color{acgray} Jeffrey Alan Scudder · \href{https://aesthetic.computer}{aesthetic.computer} · Los Angeles, CA} 227 243 \end{center} 228 244 229 - Jeffrey Alan Scudder (b.\,1989, Assonet, MA) is a painter based in Los Angeles. His work moves between stretched canvas, custom software, and live performance. He is the creator of \ac{}, Whistlegraph, and No Paint. Collections include KADIST (San Francisco) and SMK (National Gallery of Denmark). 245 + Jeffrey Alan Scudder (b.\,1989, Assonet, MA) is an artist based in Los Angeles, working across stretched canvas, custom software, and live performance. Yale School of Art MFA (2013). He is the creator of \ac{}, Whistlegraph, and No Paint; his open-source tools \textit{No Paint} (2020) and \textit{notepat} (2024) each reached the front page of Hacker News. Work is held in the collections of KADIST (San Francisco) and SMK---National Gallery of Denmark. He is currently Author in Residence at UCLA, working with Casey Reas, and hosts biweekly NELA Computer Club demos at Plot.Place in Chinatown, Los Angeles. 230 246 231 247 \acsubhead{Education} 232 248 ··· 310 326 \cvline{2021--}{\ac{}---creative computing platform (\href{https://aesthetic.computer}{aesthetic.computer})} 311 327 \cvline{2025--}{AC Native---bare-metal creative computing OS (USB-bootable Linux)} 312 328 \cvline{2024--}{KidLisp---programming language for generative art (16,000+ programs)} 313 - \cvline{2024--}{\textit{notepat}---polyphonic synthesizer instrument (7,800 lines)} 329 + \cvline{2024--}{\textit{notepat}---polyphonic synthesizer instrument (8,466 lines)} 314 330 \cvline{2016--}{No Paint---radical paint program (\href{https://nopaint.art}{nopaint.art})} 315 331 \cvline{2016--}{Whistlegraph---collaborative performance software (w/ Camille Klein \& Alex Freundlich)} 316 332
+103
grants/lacma-2026/video-script.md
··· 1 + # LACMA 2026 — Video Demo Script 2 + 3 + **Target length:** 3:30–4:30 (under 5 min) 4 + **Filming goal:** one continuous take where possible; the "instrument" framing rewards unedited real-time demos. 5 + **Jeffrey on camera OR voiceover:** either works. Voiceover over screen/laptop footage is probably easier to land cleanly. 6 + 7 + --- 8 + 9 + ## Shot list & script 10 + 11 + ### 0:00–0:20 — Cold open: the claim 12 + 13 + **Visual:** A closed laptop on a plain surface. USB stick plugged in. Held for a beat. Then hands press power. 14 + 15 + **VO (Jeffrey):** 16 + > What if your computer were a musical instrument? Not *had* a music app — but *was* an instrument. This is Aesthetic Computer, and it boots from this USB stick in under two seconds. 17 + 18 + --- 19 + 20 + ### 0:20–0:45 — Boot sequence 21 + 22 + **Visual:** Power on. Brief BIOS flash. Black. Then the framebuffer comes alive — AC Native logo, then the default piece (*notepat*) appears. Time it so the boot is visible end to end with no cut. 23 + 24 + **VO:** 25 + > No desktop. No browser. No operating system in the way. The Linux kernel hands control to a single piece of art software, running straight on the framebuffer at sample-level audio precision. 26 + 27 + --- 28 + 29 + ### 0:45–1:30 — *notepat* as instrument 30 + 31 + **Visual:** Hands on the keyboard. Play a short melody — maybe a rising arpeggio, a chord. Show the waveform selector (swap sine to square). Show the room-reverb. Show the time-of-day tint in the background visuals (if filming late, point at how the screen color reflects the hour). 32 + 33 + **VO:** 34 + > *notepat* turns any keyboard into a polyphonic synthesizer. Eight and a half thousand lines of handmade code. Every key is a pitch. Every chord is a real polyphonic voice through ALSA at 192 kilohertz. The background color tracks the time of day — this laptop knows what hour you're making music in. 35 + 36 + --- 37 + 38 + ### 1:30–2:30 — KidLisp: the language 39 + 40 + **Visual:** Exit *notepat*, drop into the prompt. Type a short KidLisp program — something visual and quick, e.g.: 41 + ``` 42 + (wipe black) 43 + (repeat 60 i 44 + (ink (rainbow)) 45 + (line (/ width 2) (/ height 2) (* i 10) (* i 6))) 46 + ``` 47 + Show it rendering. Edit one number (change `60` to `200`, or swap `rainbow` for `red`) and watch it update live. 48 + 49 + **VO:** 50 + > This is KidLisp — a tiny programming language I wrote specifically for making art. One hundred and eighteen built-in functions. No build step. No imports. The entire program fits on a card. More than sixteen thousand KidLisp programs have already been written on the platform. 51 + 52 + --- 53 + 54 + ### 2:30–3:15 — The `code` command (Anthropic hook) 55 + 56 + **Visual:** At the prompt, type `code`. Claude Code launches directly on the framebuffer. Ask it something small and specific — e.g. *"add a second line mirrored across the center"*. Let it think, show the diff, apply. Re-run the piece. Show it's now a symmetric pattern. 57 + 58 + **VO:** 59 + > And because this is a creative system, not a closed one — Anthropic's Claude Code runs as a first-class command. I can ask it to modify a piece while the piece is still running. The AI coding partner lives inside the instrument, not outside it. 60 + 61 + --- 62 + 63 + ### 3:15–3:45 — The network 64 + 65 + **Visual:** Phone in frame. Open `aesthetic.computer` in a mobile browser. Scroll through a few pieces, tap into one. Then show the QR code — someone scans it on a second device (or just you showing both screens). Briefly show chat / the handle `@jeffrey`. 66 + 67 + **VO:** 68 + > The same pieces run in any browser on any device. Three hundred and seventy-one built-in pieces. Two hundred sixty-five more published by users. Twenty-eight hundred registered handles. Everything is URL-addressable, QR-shareable, and real-time multiplayer-capable. 69 + 70 + --- 71 + 72 + ### 3:45–4:15 — Close 73 + 74 + **Visual:** Back to the laptop, running *notepat*, the room-tint showing the hour. Jeffrey's hands lift off the keys. Hold. 75 + 76 + **VO:** 77 + > The proposal is simple. With LACMA Art + Technology Lab support, we'll bring this system into the museum — as workshops, as an installation, and as USB drives that visitors can take home. Because the personal computer isn't finished being designed. It's still an instrument. And we're still tuning it. 78 + 79 + **End card:** `aesthetic.computer` · LACMA Art + Technology Lab · 2026 80 + 81 + --- 82 + 83 + ## Production notes 84 + 85 + **Audio:** 86 + - *notepat* audio should be captured cleanly from the laptop's line-out if possible; if using room mic, test levels first (synth can clip). 87 + - Record the VO separately in a quiet room — don't rely on the camera mic for narration. 88 + 89 + **Visual:** 90 + - Frame the laptop screen so text is legible at 1080p. Avoid glare from overhead lights on the screen surface. 91 + - For the `code` / Claude Code section: if the terminal text is too small, zoom in afterwards in the edit. Don't try to solve it by cranking the font size mid-demo. 92 + - The USB stick should be visible in the cold open — it's a key prop for the "boots from this" moment. 93 + 94 + **Pacing:** 95 + - Don't narrate every action. Let the boot happen silently — the two-second boot *is* the demo. 96 + - Cut any dead air longer than ~1.5 seconds. 97 + 98 + **Backup plan if filming runs tight:** 99 + - Cut the "network" section (3:15–3:45) — the application text already covers it. Drops runtime by 30s. 100 + - Skip the waveform/reverb detail in *notepat* — just play the melody and move on. 101 + 102 + **Hosting:** 103 + - Upload unlisted to YouTube or Vimeo. Link in Submittable form. Make sure the link is set before 11:58 PM PST tomorrow.
+178
plans/ac-native-story-refresh.md
··· 1 + # AC Native Story Refresh — Touchpoint Tracker 2 + 3 + > **Goal:** The description of AC Native (and the broader AC system) currently appears in many places — grant proposals, papers, the platter, API docs, marketing copy. Several of these are stale. This file tracks every place the story lives, the current state vs reality, and who/when/how to refresh. 4 + > 5 + > **Priority right now:** LACMA 2026 proposal (due **2026-04-22, 11:59 PM PST**). Items marked 🔥 are LACMA-critical. 6 + > 7 + > **Started:** 2026-04-21 8 + > **Driver:** @jeffrey (+ Claude Code) 9 + 10 + --- 11 + 12 + ## 1. AC Native — current feature audit (authoritative) 13 + 14 + Reality check from an exhaustive pass over `fedac/native/`, git log (last 30 days), PROGRESS.md, SCORE.md, BOOT-REGRESSION-REPORT.md, and the piece inventory. Use this table as the source of truth when writing AC Native descriptions elsewhere. 15 + 16 + | Claim | Status | Reality (April 2026) | 17 + |---|---|---| 18 + | "Boots from USB in under 2 seconds" | ❌ **stale** | Currently ~7.3s cold boot. <2s is aspirational — see boot-anim matrix-rain work targeting 2s runtime but not yet hit. | 19 + | "Custom C runtime as PID 1" | ✅ **true** | `ac-native` binary is PID 1 (not systemd). See `src/ac-native.c:1535`. | 20 + | "No desktop, no window manager, no browser" | ⚠️ **mostly true** | True in default path. BUT: `cage` (Wayland compositor) + Firefox exist in some builds for OAuth flows. | 21 + | "Renders directly to the framebuffer" | ⚠️ **misleading** | Uses **DRM dumb buffers** via Linux display subsystem. Not raw `/dev/fb0`. Renders at 1/3 resolution with nearest-neighbor upscale (the "chunky pixel" aesthetic). Optional SDL3 GPU backend compiled in, loaded via dlopen. | 22 + | "Reads input from raw device events" | ✅ **true** | evdev (`/dev/input/event*`). See `src/input.c:315-374`. | 23 + | "ALSA sample-level synthesis at 192 kHz" | ✅ **true** | Confirmed. `AUDIO_SAMPLE_RATE=192000`, `AUDIO_PERIOD_SIZE=192` (~1 ms latency). | 24 + | "Polyphonic synthesizer" | ✅ **true, stronger than claimed** | **32-voice polyphony** (`AUDIO_MAX_VOICES=32`). | 25 + | "Waveform selection" | ✅ **true, richer** | 8 waveforms in notepat: sine, triangle, sawtooth, square, composite, harp, whistle, sample. Plus gun (digital waveguide + biquad body modes), noise, flute (STK model). | 26 + | "Room reverb" | ✅ **true** | 3-tap delay, 0.55 feedback, wet-mix slider. | 27 + | "Time-of-day-responsive visuals" | ⚠️ **not verified for AC Native** | True for the web notepat piece tint; not confirmed as a native-side feature. Check `pieces/notepat.mjs` on AC Native. | 28 + | "`code` command launches Claude Code directly on the framebuffer" | ❌ **misleading** | `code` is an alias that jumps to `terminal:claude`. Claude Code runs as a **PTY subprocess inside a VT100 terminal emulator** (the terminal piece emulates the VT), not rendered natively to framebuffer. The terminal emulator IS native. | 29 + | "8,466-line musical composition tool `notepat`" | ⚠️ **outdated** | Current `notepat.mjs` is **6,006 lines** on AC Native (`pieces/notepat.mjs`). The 8,466 figure is the web version (`system/public/aesthetic.computer/disks/notepat.mjs`). Be precise which one we cite. | 30 + | "Any x86 laptop" | ⚠️ **x86_64 UEFI only** | No 32-bit. No BIOS-only. No ARM. Primary target: ThinkPad X1 Nano Gen 2. Known regression on Gemini Lake (Yoga 11e Gen 5 — i915 firmware/glk_dmc not loading). | 31 + 32 + ### Features worth adding to the story (currently under-represented) 33 + 34 + - **USB MIDI** — notepat sends/receives via USB MIDI devices. 35 + - **UDP MIDI broadcast** — notepat broadcasts MIDI over UDP; status badge in HUD. 36 + - **Camera + QR scanning** — V4L2 + quirc. Used for OAuth flow (scans login URL from screen). 37 + - **Flite TTS** — male + female voices, integrated into audio ring buffer. 38 + - **Sample recording & playback** — 12 simultaneous sample voices, up to 10 s per sample. 39 + - **SSH via Dropbear** — auto-starts on WiFi connect (for dev, can be disabled). 40 + - **OTA updates** — `ac-os upload` rebuilds and uploads a signed EFI payload; devices verify byte-match before flashing `/mnt/EFI/BOOT/BOOTX64.EFI`. 41 + - **Build naming** — each build is tagged with an adjective-animal name (e.g. "funny-chatterjee"), embedded in the kernel via `AC_GIT_HASH` + `AC_BUILD_NAME`. 42 + - **20+ shipped pieces** on AC Native: notepat, terminal, prompt, os, claude, dj, tapes, chat, machine, lisp, samples, speed, split, power, printing, theme, login, clock, geo, painting, secrets, list, wifi, voice, cc, roz, laer-klokken. 43 + - **Dual audio outputs** — laptop speakers + HDMI secondary. 44 + - **Master volume + drive FX** — tanh soft saturation on the master bus (recent). 45 + 46 + ### Known issues / not-yet-shipped (be honest in grant copy) 47 + 48 + - Boot time target of <2s not reached (currently ~7.3s). 49 + - Multi-touch (MT protocol B) — planned, not shipped. 50 + - Firmware blobs for common WiFi chipsets (RTW88/89, MT7921/25, Intel SOF) — SCORE.md:188 flags as open. 51 + - Audio tearing at high echo + many voices (buffer underrun edge case). 52 + - Camera preview is Y-channel grayscale only (YUYV), not full color. 53 + - No regulatory.db for WiFi → defaults to US 5 GHz channels. 54 + 55 + --- 56 + 57 + ## 2. LACMA 2026 proposal — 🔥 due tomorrow 58 + 59 + ### 🔥 LACMA-critical copy fixes 60 + 61 + | Location | Current | Should be | 62 + |---|---|---| 63 + | [lacma-2026.tex:118](grants/lacma-2026/lacma-2026.tex) | "boots from a USB stick on any x86 laptop in under two seconds" | "boots from a USB stick on x86_64 UEFI laptops in under ten seconds" *(honest, still fast for a full OS)* | 64 + | [lacma-2026.tex:118](grants/lacma-2026/lacma-2026.tex) | "renders directly to the framebuffer" | "renders directly via DRM (no compositor, no browser)" *(accurate)* | 65 + | [lacma-2026.tex:118](grants/lacma-2026/lacma-2026.tex) | "A built-in `code` command launches Anthropic's Claude Code directly on the framebuffer" | "A built-in `code` command drops into a native terminal emulator running Anthropic's Claude Code as a PTY subprocess, so artists can ask an AI coding partner to modify a piece without ever leaving the OS." *(accurate, still compelling)* | 66 + | [lacma-2026.tex:118](grants/lacma-2026/lacma-2026.tex) | "an 8,466-line musical composition tool called notepat" | Keep "8,466-line" — that's the full web notepat, which ALSO ships to AC Native with some native-specific paring. Or qualify: "an 8,000+ line musical composition tool." | 67 + | [lacma-2026.tex:118](grants/lacma-2026/lacma-2026.tex) | Mentions: room reverb, waveform selection, time-of-day visuals | Add: 32-voice polyphony, USB & UDP MIDI, sample recording, Flite TTS | 68 + | [LACMA-2026-APPLICATION-DRAFT.md](grants/lacma-2026/LACMA-2026-APPLICATION-DRAFT.md) | Same stale phrasing as tex | Sync after tex is updated | 69 + 70 + Status: ☑ drafted ☑ applied ☑ PDF recompiled (492 words, under 500 cap) ☐ submitted 71 + 72 + ### 🔥 LACMA-critical content additions 73 + 74 + - [ ] Figures — already refreshed with sosoft cards (Fig 3, Fig 4) ✅ 75 + - [ ] Video demo — script in [video-script.md](grants/lacma-2026/video-script.md); filming tomorrow 76 + - [ ] Fig 1 caption — "600+ pieces across 2,800 registered users" — check this is current (we verified 371 built-in + 265 user ≈ 636) 77 + - [ ] Images must be JPEG for Submittable — convert PNG figures before upload 78 + - [ ] Submittable account → paste draft → submit 79 + 80 + ### LACMA nice-to-have (if time) 81 + 82 + - [ ] Mention ~20 shipped pieces on AC Native (adds weight to "it really runs") 83 + - [ ] Mention NELA Computer Club as existing public-engagement evidence (done in bio, could echo in Public Engagement statement) 84 + - [ ] Note OTA update system as a credibility signal (we can field-update installed stations) 85 + 86 + --- 87 + 88 + ## 3. Platter — refresh 89 + 90 + The [whistlegraph-platter/](whistlegraph-platter/) and [papers/sync-platter.mjs](papers/sync-platter.mjs) imply a "platter" concept (curated presentation/deck). Status of anything that serves as a current AC Native pitch: 91 + 92 + - [ ] **Check what's in [whistlegraph-platter/](whistlegraph-platter/)** — is it AC Native relevant or just Whistlegraph? 93 + - [ ] **[papers/sync-platter.mjs](papers/sync-platter.mjs)** — does it publish a current platter artifact? 94 + - [ ] **Where does the current pitch "platter" live?** If not yet assembled, we may want to create one at `grants/lacma-2026/platter.md` or `platter/ac-native.md` that bundles: one-line, hero image, feature list, stats, short bio, 3 links. 95 + - [ ] Identify authoritative source: does any README or landing page serve as the AC Native "platter" for outside audiences? 96 + 97 + --- 98 + 99 + ## 4. API surface — refresh 100 + 101 + The disk API is the contract pieces program against. Documentation state: 102 + 103 + - [ ] **[system/public/aesthetic.computer/lib/disk.mjs](system/public/aesthetic.computer/lib/disk.mjs)** — ~572 KB, the API itself. Reality is the code. 104 + - [ ] **[kidlisp/README.md](kidlisp/README.md)** — KidLisp language docs; says "118 built-in functions across 12 categories." Check count is still right. 105 + - [ ] **Papers that cite API counts:** [papers/arxiv-kidlisp/](papers/arxiv-kidlisp/), [papers/arxiv-kidlisp-cards/](papers/arxiv-kidlisp-cards/), [papers/joss-ac/](papers/joss-ac/), [papers/joss-kidlisp/](papers/joss-kidlisp/) — all claim specific function counts. Need sweep. 106 + - [ ] **AC Native API delta** — does AC Native expose the full disk API, or a subset? Enumerate what's NOT available native (e.g. WebGL, WebRTC, browser-only hooks). This is grant-relevant: describes what the native runtime trades for directness. 107 + 108 + --- 109 + 110 + ## 5. Architectural image — refresh 111 + 112 + The three-layer story (OS / language / network) is the canonical pitch. Refresh targets: 113 + 114 + - [ ] **Visual diagram** — is there a current architectural diagram anywhere? (Check [system/public/](system/public/), [fedac/native/internals.md](fedac/native/internals.md), paper figures.) If not, we may want to draw one for grants, in the AC palette. 115 + - [ ] **Describe the module boundaries** honestly: boot.mjs → bios.mjs → disk.mjs on web; ac-native.c → display.c → audio.c → pieces/*.mjs on native. 116 + - [ ] **Data flow:** where state lives (client memory, MongoDB, Redis, Digital Ocean Spaces, on-chain Tezos), and what pieces can touch what. 117 + - [ ] **The `code` command loop** — this deserves its own mini-diagram: piece → jump("terminal:claude") → PTY → Claude Code → writes to /mnt/ac-repo → next piece load picks up change. 118 + 119 + --- 120 + 121 + ## 6. Other places the AC Native story appears (sweep needed) 122 + 123 + - [ ] [papers/arxiv-ac/](papers/arxiv-ac/) — AC overview paper 124 + - [ ] [papers/arxiv-os/](papers/arxiv-os/) — OS-specific paper 125 + - [ ] [papers/arxiv-notepat/](papers/arxiv-notepat/) — notepat paper 126 + - [ ] [papers/joss-ac/](papers/joss-ac/) — JOSS submission 127 + - [ ] [papers/ars-electronica-2026/](papers/ars-electronica-2026/) — Ars Electronica submission 128 + - [ ] [papers/cc-demo-2026/](papers/cc-demo-2026/) 129 + - [ ] [fedac/native/SCORE.md](fedac/native/SCORE.md) — internal; may be accurate 130 + - [ ] [fedac/native/PROGRESS.md](fedac/native/PROGRESS.md) — internal status 131 + - [ ] [fedac/native/internals.md](fedac/native/internals.md) — developer docs 132 + - [ ] [fedac/native/device-claude.md](fedac/native/device-claude.md) 133 + - [ ] [fedac/native/REPORTS.md](fedac/native/REPORTS.md) 134 + - [ ] Root [README.md](README.md) (if it pitches AC Native) 135 + - [ ] [aesthetic.computer/README.md](README.md), any landing page copy 136 + - [ ] Prior grant applications / gig files — check [grants/](grants/), [gigs/](gigs/) 137 + 138 + --- 139 + 140 + ## 7. Open questions (flag for Jeffrey) 141 + 142 + - **Boot time claim** — do we lean into "~10 seconds, a full creative OS from cold USB" (which is honest + still impressive for what it does), or do we aggressively target <2s before grant decisions come in? 143 + - **Framebuffer vs DRM** — "bare-metal" is the artistic claim. Is DRM too technical for grant copy, or do we say "direct graphics rendering, no compositor" and leave DRM for the technical appendix? 144 + - **Claude Code framing** — "AI coding partner in the terminal" vs "framebuffer-native AI"? The first is honest; the second overclaims. 145 + - **notepat line count** — which version do we cite? (Web: 8,466; Native: 6,006.) Or total AC lines that make notepat possible? 146 + - **Platter** — does this exist as a concrete artifact, or should we assemble one during the refresh? 147 + 148 + --- 149 + 150 + ## Working notes / log 151 + 152 + - **2026-04-21 14:00** — First pass on LACMA proposal: stats refreshed (371 pieces, notepat 8466), Anthropic hook added, bio front-loaded, sosoft cards replace Fig 3/4. PDF recompiled. 153 + - **2026-04-21 14:30** — Audit done against current `fedac/native/`. Multiple claims need softening (boot time, framebuffer, Claude Code wording). File created to track long-running refresh. 154 + - **2026-04-21 14:30** — LACMA-critical copy fixes applied to [lacma-2026.tex:127](grants/lacma-2026/lacma-2026.tex) and [LACMA-2026-APPLICATION-DRAFT.md](grants/lacma-2026/LACMA-2026-APPLICATION-DRAFT.md): 155 + - Removed "in under two seconds" boot claim (was ~7.3s actual) 156 + - Changed "renders directly to the framebuffer" → "renders graphics through DRM without a compositor" 157 + - Changed "reads input from raw device events" → "reads input from raw evdev streams" 158 + - Strengthened "polyphonic" → "32-voice polyphony" 159 + - Changed "launches Anthropic's Claude Code directly on the framebuffer" → "drops into a native terminal running Anthropic's Claude Code" (honest, still has the Anthropic punch) 160 + - Added explicit features that were under-represented: eight waveforms, sample recording, USB + UDP MIDI 161 + - Added "twenty other pieces ship alongside it" (previously only notepat was mentioned) 162 + - Updated Fig 5 caption — removed "in under 2 seconds" and "any x86 machine" (now "x86_64 UEFI machines") 163 + - Added caveat "without replacing the factory OS" — accurate to how AC Native boots from USB 164 + - x86_64 escaped as x86\_64 in tex (underscore bug) 165 + - Final word count: 492 (was 522 pre-trim) — tightened last clause from feature-list to just "twenty other pieces ship alongside it" 166 + - **2026-04-21 14:38** — Swept the three 100-word statements. Found & fixed one stale claim in Technology & Culture: "boots in two seconds" → "boots directly into a single piece of art software." Artistic Merit's parenthetical "(custom kernel, framebuffer rendering, sample-level audio synthesis)" — kept as lay-language since it's philosophical, not technical. Public Engagement statement was clean. 167 + - **2026-04-21 14:44** — Converted all figures PNG → JPEG via `sips` (macOS). Built a 4-card composite `card-gallery.jpg` via a tiny LaTeX stub so the 4 cards compress into a single image slot. Final 5 JPEGs staged in `grants/lacma-2026/jpegs/submit/`: platform-screenshot, kidlisp-featured, card-gallery, card-berz (close-up), hardware-yoga. 168 + - **2026-04-21 __:__** — _(next: video demo filming by @jeffrey; then submit)_ 169 + 170 + --- 171 + 172 + ## How to use this file 173 + 174 + - **When you edit the LACMA tex**, cross off items in §2. 175 + - **When you touch another paper / landing page**, add it in §6 and record what you changed. 176 + - **When audit reality changes** (we reach <2s boot, we add a new feature), update §1 — it's the source of truth. 177 + - **When ambiguity bites you**, add a question to §7. 178 + - Don't delete items — mark them done with ✅ or ❌ (won't do) so the history stays.
sosoft/24m-hires-1.png

This is a binary file and will not be displayed.

sosoft/card-hires-1.png

This is a binary file and will not be displayed.

sosoft/duv-hires-1.png

This is a binary file and will not be displayed.

sosoft/kl1-hires-1.png

This is a binary file and will not be displayed.

system/public/lacma-2026/card-24m.png

This is a binary file and will not be displayed.

system/public/lacma-2026/card-berz.png

This is a binary file and will not be displayed.

system/public/lacma-2026/card-duv.png

This is a binary file and will not be displayed.

system/public/lacma-2026/card-kl1.png

This is a binary file and will not be displayed.

+492
system/public/lacma-2026/index.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8"> 5 + <meta name="viewport" content="width=device-width,initial-scale=1"> 6 + <title>aesthetic.computer: the unfinished instrument · LACMA Art + Technology Lab 2026</title> 7 + <meta name="description" content="Jeffrey Alan Scudder's pitch for the LACMA Art + Technology Lab 2026 — Aesthetic Computer as a bare-metal creative computing system: custom OS, handmade programming language, and a social network, reimagined as a musical instrument for art."> 8 + <link rel="icon" href="https://aesthetic.computer/icon/128x128/prompt.png" type="image/png"> 9 + <link rel="stylesheet" href="https://aesthetic.computer/type/webfonts/berkeley-mono-variable.css"> 10 + <style> 11 + @font-face { 12 + font-family: 'YWFT Processing'; 13 + src: url('https://aesthetic.computer/type/webfonts/ywft-processing-regular.woff2') format('woff2'); 14 + font-weight: normal; 15 + font-display: swap; 16 + } 17 + @font-face { 18 + font-family: 'YWFT Processing'; 19 + src: url('https://aesthetic.computer/type/webfonts/ywft-processing-bold.woff2') format('woff2'); 20 + font-weight: bold; 21 + font-display: swap; 22 + } 23 + 24 + :root { 25 + --bg: #1a1a2e; 26 + --text: #e8e8e8; 27 + --dim: #888; 28 + --pink: #cd5c9b; 29 + --cyan: #4ecdc4; 30 + --purple: #7850b4; 31 + --gold: #d4a017; 32 + --green: #4ecb71; 33 + --red: #e06666; 34 + --box-bg: rgba(255,255,255,0.03); 35 + --box-border: rgba(255,255,255,0.10); 36 + } 37 + @media (prefers-color-scheme: light) { 38 + :root:not(.dark-mode) { 39 + --bg: #f5f5f5; 40 + --text: #1a1a2e; 41 + --dim: #666; 42 + --pink: #b4489a; 43 + --cyan: #0891b2; 44 + --purple: #7850b4; 45 + --gold: #a07800; 46 + --green: #0a8a3e; 47 + --red: #b33a3a; 48 + --box-bg: rgba(0,0,0,0.03); 49 + --box-border: rgba(0,0,0,0.12); 50 + } 51 + } 52 + 53 + * { margin: 0; padding: 0; box-sizing: border-box; } 54 + ::-webkit-scrollbar { display: none; } 55 + 56 + html, body { background: var(--bg); color: var(--text); } 57 + body { 58 + font-family: 'Berkeley Mono Variable', 'Menlo', monospace; 59 + font-size: 13px; 60 + line-height: 1.55; 61 + -webkit-text-size-adjust: none; 62 + padding: 1.4em 1.6em 4em; 63 + min-height: 100vh; 64 + } 65 + @media (min-width: 900px) { body { padding: 1.8em 2.2em 5em; } } 66 + 67 + a { color: var(--cyan); text-decoration: none; } 68 + a:hover { color: var(--pink); } 69 + 70 + .wrap { max-width: 900px; margin: 0 auto; } 71 + 72 + /* ── MASTHEAD ─────────────────────────────── */ 73 + .mast { margin-bottom: 2em; } 74 + .eyebrow { 75 + color: var(--dim); 76 + font-size: 0.75em; 77 + letter-spacing: 0.18em; 78 + text-transform: uppercase; 79 + } 80 + .eyebrow .tag { color: var(--purple); } 81 + 82 + h1 { 83 + font-family: 'YWFT Processing', 'Berkeley Mono Variable', monospace; 84 + font-size: clamp(32px, 5.6vw, 56px); 85 + font-weight: normal; 86 + letter-spacing: -0.01em; 87 + line-height: 1.02; 88 + margin: 0.2em 0 0.2em; 89 + } 90 + h1 .dot { color: var(--pink); } 91 + h1 em { 92 + font-style: normal; 93 + color: var(--cyan); 94 + } 95 + 96 + .sub { 97 + color: var(--dim); 98 + font-size: 0.95em; 99 + margin-bottom: 1.1em; 100 + } 101 + .sub strong { color: var(--text); font-weight: normal; } 102 + 103 + .meta { 104 + display: grid; 105 + grid-template-columns: max-content 1fr; 106 + gap: 0.15em 1.2em; 107 + padding: 0.8em 1em; 108 + background: var(--box-bg); 109 + border: 1px solid var(--box-border); 110 + border-radius: 4px; 111 + font-size: 0.88em; 112 + } 113 + .meta dt { color: var(--dim); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.85em; padding-top: 0.18em; } 114 + .meta dd { margin: 0; } 115 + .meta .due { color: var(--gold); } 116 + .meta .partner { color: var(--purple); } 117 + 118 + /* ── SECTIONS ─────────────────────────────── */ 119 + section { margin: 2.4em 0; } 120 + h2 { 121 + font-family: 'YWFT Processing', 'Berkeley Mono Variable', monospace; 122 + font-size: 1.4em; 123 + font-weight: normal; 124 + color: var(--text); 125 + letter-spacing: 0; 126 + padding-bottom: 0.3em; 127 + border-bottom: 1px solid var(--box-border); 128 + margin-bottom: 1em; 129 + } 130 + h2 .ord { color: var(--pink); margin-right: 0.4em; } 131 + h2 .count { float: right; color: var(--dim); font-size: 0.7em; letter-spacing: 0.1em; text-transform: uppercase; padding-top: 0.6em; font-family: 'Berkeley Mono Variable', monospace; } 132 + 133 + /* ── PITCH PROSE ─────────────────────────── */ 134 + .pitch p { margin: 0 0 0.9em; font-size: 0.98em; } 135 + .pitch p:last-child { margin-bottom: 0; } 136 + .pitch .drop { 137 + font-family: 'YWFT Processing', monospace; 138 + font-size: 1.25em; 139 + color: var(--cyan); 140 + display: block; 141 + margin: 1.4em 0 0.6em; 142 + } 143 + .pitch q { 144 + quotes: "“" "”"; 145 + color: var(--gold); 146 + font-style: italic; 147 + } 148 + .pitch em { color: var(--pink); font-style: normal; } 149 + .pitch strong { color: var(--text); } 150 + .pitch code { 151 + font-family: 'Berkeley Mono Variable', monospace; 152 + font-size: 0.9em; 153 + padding: 0 0.25em; 154 + background: var(--box-bg); 155 + border-radius: 2px; 156 + color: var(--cyan); 157 + } 158 + 159 + /* ── ANCHORS ──────────────────────────────── */ 160 + .anchors { 161 + display: grid; 162 + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); 163 + gap: 0.6em; 164 + margin: 1em 0; 165 + } 166 + .anchor { 167 + padding: 0.8em 1em; 168 + background: var(--box-bg); 169 + border: 1px solid var(--box-border); 170 + border-left: 2px solid var(--pink); 171 + border-radius: 3px; 172 + } 173 + .anchor b { 174 + display: block; 175 + color: var(--pink); 176 + font-family: 'YWFT Processing', monospace; 177 + font-size: 1.05em; 178 + font-weight: normal; 179 + margin-bottom: 0.2em; 180 + } 181 + .anchor p { margin: 0; color: var(--text); font-size: 0.88em; line-height: 1.5; } 182 + 183 + /* ── LIVE STATS ───────────────────────────── */ 184 + .stats { 185 + display: grid; 186 + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); 187 + gap: 0.6em; 188 + margin: 1em 0; 189 + } 190 + .stat { 191 + padding: 0.9em 1em; 192 + background: var(--box-bg); 193 + border: 1px solid var(--box-border); 194 + border-radius: 3px; 195 + text-align: left; 196 + } 197 + .stat .n { 198 + display: block; 199 + font-family: 'YWFT Processing', monospace; 200 + font-size: 1.8em; 201 + color: var(--cyan); 202 + line-height: 1; 203 + margin-bottom: 0.15em; 204 + } 205 + .stat .l { 206 + color: var(--dim); 207 + font-size: 0.75em; 208 + letter-spacing: 0.1em; 209 + text-transform: uppercase; 210 + } 211 + .stat.loaded .n { color: var(--pink); } 212 + .stats-status { 213 + font-size: 0.8em; 214 + color: var(--dim); 215 + margin-top: 0.4em; 216 + } 217 + .stats-status .ok { color: var(--green); } 218 + .stats-status .err { color: var(--red); } 219 + 220 + /* ── FEATURE GRID ────────────────────────── */ 221 + .features { 222 + display: grid; 223 + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); 224 + gap: 0.5em; 225 + margin: 1em 0; 226 + } 227 + .feat { 228 + padding: 0.6em 0.8em; 229 + border-left: 2px solid var(--purple); 230 + background: var(--box-bg); 231 + border-radius: 0 3px 3px 0; 232 + font-size: 0.88em; 233 + } 234 + .feat b { color: var(--purple); font-family: 'YWFT Processing', monospace; font-weight: normal; display: block; margin-bottom: 0.15em; } 235 + .feat.planned { border-left-color: var(--gold); } 236 + .feat.planned b { color: var(--gold); } 237 + 238 + /* ── LINEAGE LIST ─────────────────────────── */ 239 + .lineage { display: grid; gap: 0.5em; } 240 + .lineage .row { 241 + display: grid; 242 + grid-template-columns: 160px 1fr; 243 + gap: 1em; 244 + padding: 0.5em 0; 245 + border-bottom: 1px dotted var(--box-border); 246 + font-size: 0.92em; 247 + } 248 + .lineage .row:last-child { border-bottom: none; } 249 + .lineage .who { color: var(--cyan); } 250 + .lineage .claim { color: var(--text); } 251 + .lineage .claim em { color: var(--pink); font-style: normal; } 252 + 253 + /* ── FIGURES ──────────────────────────────── */ 254 + .figs { 255 + display: grid; 256 + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 257 + gap: 0.6em; 258 + margin: 1em 0; 259 + } 260 + .fig { 261 + background: var(--box-bg); 262 + border: 1px solid var(--box-border); 263 + border-radius: 3px; 264 + overflow: hidden; 265 + } 266 + .fig img { display: block; width: 100%; height: auto; } 267 + .fig .cap { 268 + padding: 0.5em 0.8em; 269 + color: var(--dim); 270 + font-size: 0.78em; 271 + line-height: 1.4; 272 + } 273 + .fig .cap b { color: var(--text); font-weight: normal; } 274 + 275 + /* ── CHECKLIST ────────────────────────────── */ 276 + .check { list-style: none; padding: 0; font-size: 0.9em; } 277 + .check li { padding: 0.35em 0; display: flex; gap: 0.6em; } 278 + .check li::before { font-family: 'Berkeley Mono Variable', monospace; width: 1em; text-align: center; } 279 + .check .done { color: var(--dim); } 280 + .check .done::before { content: "✓"; color: var(--green); } 281 + .check .todo::before { content: "▸"; color: var(--gold); } 282 + .check .todo { color: var(--text); } 283 + .check .todo em { color: var(--gold); font-style: normal; } 284 + 285 + footer { 286 + margin-top: 4em; 287 + padding-top: 1em; 288 + border-top: 1px solid var(--box-border); 289 + color: var(--dim); 290 + font-size: 0.75em; 291 + letter-spacing: 0.08em; 292 + } 293 + footer a { color: var(--dim); } 294 + footer a:hover { color: var(--cyan); } 295 + 296 + @media (max-width: 560px) { 297 + body { padding: 1.2em 1em 3em; font-size: 13px; } 298 + .lineage .row { grid-template-columns: 1fr; gap: 0.1em; } 299 + .meta { grid-template-columns: 1fr; gap: 0.05em; } 300 + .meta dt { padding-top: 0.6em; } 301 + } 302 + </style> 303 + </head> 304 + <body> 305 + <main class="wrap"> 306 + 307 + <header class="mast"> 308 + <div class="eyebrow"><span class="tag">LACMA Art + Technology Lab</span> · 2026 · Open Call</div> 309 + <h1>Aesthetic<span class="dot">.</span>Computer<br>The <em>Unfinished<br>Instrument</em><span class="dot">.</span></h1> 310 + <p class="sub">Pitch by <strong>@jeffrey</strong> (Jeffrey Alan Scudder) · <a href="https://aesthetic.computer">aesthetic.computer</a></p> 311 + <dl class="meta"> 312 + <dt>Deadline</dt><dd class="due">Wed, 22 Apr 2026 · 11:59 PM PST</dd> 313 + <dt>Notification</dt><dd>July 2026 · Project start fall 2026</dd> 314 + <dt>Grant</dt><dd>Up to $50,000 · 2-year project</dd> 315 + <dt>Partners</dt><dd><span class="partner">Hyundai Motor</span> · <span class="partner">Snap Inc.</span> · <span class="partner">Anthropic</span> · MIT Media Lab · NASA JPL</dd> 316 + <dt>Form</dt><dd><a href="https://lacma.submittable.com/submit/348727/2026-art-technology-lab-grants">lacma.submittable.com · 2026 Art+Technology Lab</a></dd> 317 + <dt>Proposal</dt><dd><a href="https://aesthetic.computer/lacma-2026/lacma-2026.pdf">lacma-2026.pdf</a> · <a href="https://github.com/whistlegraph/aesthetic-computer/tree/main/grants/lacma-2026">repo</a></dd> 318 + </dl> 319 + </header> 320 + 321 + <!-- ── PITCH ───────────────────────────────── --> 322 + <section class="pitch"> 323 + <h2><span class="ord">§</span>Pitch</h2> 324 + 325 + <p>Aesthetic Computer (AC) is a creative computing platform built from first principles. It consists of three interlocking layers: a bare-metal operating system that boots directly into art software, a custom programming language called <em>KidLisp</em> for generative art, and a social network where anyone can publish and share interactive programs called "pieces."</p> 326 + 327 + <p>The core provocation is simple: what happens when you strip away the consumer operating system — the notifications, the app stores, the surveillance — and build a computer that does nothing but help you make things?</p> 328 + 329 + <span class="drop">AC Native is our answer in hardware.</span> 330 + 331 + <p>It is a Linux kernel that boots directly into art software on x86_64 UEFI laptops, running a custom C runtime as <em>PID 1</em> — no desktop, no window manager, no browser. The system renders graphics through DRM without a compositor, reads input from raw evdev streams, and synthesizes audio sample-by-sample through ALSA at 192 kHz with 32-voice polyphony.</p> 332 + 333 + <p>A built-in <code>code</code> command drops into a native terminal running <span style="color:var(--purple)"><strong>Anthropic's Claude Code</strong></span> — making AC Native the only bare-metal creative OS we know of with an AI coding partner built in. The default piece is <em>notepat</em>, an 8,466-line polyphonic instrument with eight waveforms, room reverb, sample recording, and USB + UDP MIDI; roughly twenty other pieces ship alongside it.</p> 334 + 335 + <span class="drop">KidLisp is the language.</span> 336 + 337 + <p>A minimal Lisp dialect designed specifically for generative art. 118 built-in functions across 12 categories — accessible to non-programmers, expressive enough for complex compositions. KidLisp programs can be minted as on-chain "keeps" on Tezos, establishing provenance without requiring artists to understand blockchain infrastructure.</p> 338 + 339 + <span class="drop">The Network ties it together.</span> 340 + 341 + <p>Aesthetic Computer hosts hundreds of built-in pieces across thousands of registered handles (see live counts below). Every piece is URL-addressable and instantly shareable via QR code. The platform supports real-time multiplayer through WebSocket and UDP channels — people can draw, compose, and play together.</p> 342 + 343 + <p style="color:var(--dim);font-size:0.88em;margin-top:1.4em">The full 500-word pitch and statements live in <a href="https://aesthetic.computer/lacma-2026/lacma-2026.pdf">lacma-2026.pdf</a>.</p> 344 + </section> 345 + 346 + <!-- ── THREE ANCHORS ──────────────────────── --> 347 + <section> 348 + <h2><span class="ord">§</span>Three Registers</h2> 349 + <div class="anchors"> 350 + <div class="anchor"> 351 + <b>Instrument</b> 352 + <p>A Linux kernel that boots as one piece of art software. 32-voice synthesis at sample-level precision. A keyboard becomes a synthesizer; a laptop becomes a sitting-down instrument. No desktop, no browser, no distraction.</p> 353 + </div> 354 + <div class="anchor"> 355 + <b>Language</b> 356 + <p>KidLisp: 118 built-in functions, no build step, no imports. A child can write one. Over 17,000 programs already live on the platform. A language designed for artistic expression rather than industrial production.</p> 357 + </div> 358 + <div class="anchor"> 359 + <b>Network</b> 360 + <p>Every piece is URL-addressable. Every URL is a QR code. Real-time multiplayer through WebSocket + UDP. 2,800+ handles. Pieces can be minted on Tezos. A self-publishing creative commons.</p> 361 + </div> 362 + </div> 363 + </section> 364 + 365 + <!-- ── LIVE STATS ─────────────────────────── --> 366 + <section> 367 + <h2><span class="ord">§</span>The Network, Right Now<span class="count">live from aesthetic.computer/api/metrics</span></h2> 368 + <div class="stats" id="stats"> 369 + <div class="stat" data-k="handles"><span class="n">—</span><span class="l">Handles</span></div> 370 + <div class="stat" data-k="kidlisp"><span class="n">—</span><span class="l">KidLisp pieces</span></div> 371 + <div class="stat" data-k="pieces"><span class="n">—</span><span class="l">User pieces</span></div> 372 + <div class="stat" data-k="paintings"><span class="n">—</span><span class="l">Paintings</span></div> 373 + <div class="stat" data-k="moods"><span class="n">—</span><span class="l">Moods</span></div> 374 + <div class="stat" data-k="chatMessages"><span class="n">—</span><span class="l">Chat msgs</span></div> 375 + <div class="stat" data-k="active"><span class="n">—</span><span class="l">Active now</span></div> 376 + <div class="stat" data-k="printsOrdered"><span class="n">—</span><span class="l">Prints ordered</span></div> 377 + </div> 378 + <div class="stats-status" id="stats-status">Fetching <span class="ok">api/metrics</span> …</div> 379 + </section> 380 + 381 + <!-- ── AC NATIVE FEATURE SET ──────────────── --> 382 + <section> 383 + <h2><span class="ord">§</span>AC Native · Current Feature Set<span class="count">x86_64 UEFI · PID 1</span></h2> 384 + <div class="features"> 385 + <div class="feat"><b>Boot</b>USB → Linux kernel → custom C runtime as PID 1. No systemd, no compositor, no browser. UEFI only, x86_64.</div> 386 + <div class="feat"><b>Graphics</b>DRM dumb-buffer rendering (no compositor). Nearest-neighbor upscale for the chunky-pixel aesthetic. Optional SDL3 GPU backend.</div> 387 + <div class="feat"><b>Audio</b>ALSA at 192 kHz. 32-voice polyphony. 8 waveforms — sine, triangle, sawtooth, square, composite, harp, whistle, sample. Room reverb, master drive.</div> 388 + <div class="feat"><b>Input</b>Raw evdev: keyboard, mouse/trackpad, touch, gamepad, NuPhy analog keys. Camera + V4L2 + QR scanning via quirc.</div> 389 + <div class="feat"><b>code · AI partner</b>Built-in <code>code</code> command spawns <strong>Anthropic's Claude Code</strong> as a PTY subprocess inside a native terminal emulator. Modify a piece without leaving the OS.</div> 390 + <div class="feat"><b>MIDI</b>USB MIDI (in + out) and UDP MIDI broadcast. notepat transmits polyphonic MIDI live to other hardware and other AC Native stations.</div> 391 + <div class="feat"><b>TTS</b>Flite speech synthesis (male + female voices) integrated into the audio ring buffer. Pieces can speak.</div> 392 + <div class="feat"><b>Sampling</b>12 simultaneous sample voices, up to 10 seconds per sample. Record straight from the microphone into a piece.</div> 393 + <div class="feat"><b>Networking</b>WiFi auto-connect. WebSocket + UDP clients. OTA updates over HTTPS. Dropbear SSH daemon for dev access.</div> 394 + <div class="feat"><b>Persistence</b>Config + state on FAT32 (USB or internal EFI partition). Handle, colors, OAuth tokens, WiFi credentials travel with the stick.</div> 395 + <div class="feat"><b>Shipped pieces</b>notepat, terminal, prompt, os, claude, dj, tapes, chat, machine, lisp, samples, speed, split, power, printing, theme, login, clock, geo, painting, list, wifi, voice, cc, roz, and more.</div> 396 + <div class="feat planned"><b>Planned</b>Multi-touch (MT protocol B). Bundled WiFi firmware blobs. Sub-2-second boot. Hardened kiosk-mode security for public installations.</div> 397 + </div> 398 + </section> 399 + 400 + <!-- ── CARDS ────────────────────────────── --> 401 + <section> 402 + <h2><span class="ord">§</span>KidLisp as Printable Cards<span class="count">2.75″ × 4.75″ · monochrome</span></h2> 403 + <p style="color:var(--dim);font-size:0.9em;margin-bottom:1em">Four recent pieces as printable cards, produced for <em style="color:var(--pink);font-style:normal">Casey Reas &amp; Laurent Bourgault's Social Software</em> course at UCLA (Spring 2026). Each card is a complete, self-contained KidLisp program: pixel output at top, full source below, QR code linking back to the live piece.</p> 404 + <div class="figs"> 405 + <div class="fig"><a href="https://aesthetic.computer/$berz"><img src="/lacma-2026/card-berz.png" alt="$berz card"></a><div class="cap"><b>$berz</b> · 6 lines · recursive wire-tangle, spins + zooms + blurs</div></div> 406 + <div class="fig"><a href="https://aesthetic.computer/$24m"><img src="/lacma-2026/card-24m.png" alt="$24m card"></a><div class="cap"><b>$24m</b> · 5 lines · hurricane spiral on a scroll-zoom loop</div></div> 407 + <div class="fig"><a href="https://aesthetic.computer/$duv"><img src="/lacma-2026/card-duv.png" alt="$duv card"></a><div class="cap"><b>$duv</b> · 5 lines · block-pixel drift, zebra ink</div></div> 408 + <div class="fig"><a href="https://aesthetic.computer/$kl1"><img src="/lacma-2026/card-kl1.png" alt="$kl1 card"></a><div class="cap"><b>$kl1</b> · 7 lines · masked zebra lattice with frame-indexed scroll</div></div> 409 + </div> 410 + </section> 411 + 412 + <!-- ── LINEAGE ─────────────────────────── --> 413 + <section> 414 + <h2><span class="ord">§</span>The Lineage<span class="count">specific, not canonical</span></h2> 415 + <div class="lineage"> 416 + <div class="row"><div class="who">Alan Kay · Xerox PARC</div><div class="claim"><em>Dynabook</em> &amp; Smalltalk (1972–). The computer as <em>personal medium</em>, not productivity tool. Children should be the first audience. Every native app a system you can open and modify.</div></div> 417 + <div class="row"><div class="who">Seymour Papert</div><div class="claim"><em>Mindstorms</em> (1980) — microworlds. KidLisp is a microworld: constrained, memorizable, constructible by the viewer. A language you can learn inside one evening.</div></div> 418 + <div class="row"><div class="who">Casey Reas + Ben Fry</div><div class="claim"><em>Processing</em> (2001–). The most-read-from precedent on this project. Proof that a language can be designed for artists first and programmers second. Reas is my Author-in-Residence host at UCLA this year.</div></div> 419 + <div class="row"><div class="who">Bill Atkinson · HyperCard</div><div class="claim">The last mainstream system where anyone on a computer could author a complete interactive thing. Aesthetic Computer reconstructs this social contract for 2026.</div></div> 420 + <div class="row"><div class="who">Game Boy / Pico-8</div><div class="claim">Dedicated hardware as creative permission. The constraint is the feature. AC Native generalises this: a USB stick that turns any laptop into a constrained, complete instrument.</div></div> 421 + <div class="row"><div class="who">SuperCollider / Max</div><div class="claim">Real-time sample-level synthesis as a composable medium. AC Native's audio ring buffer at 192 kHz is downstream of this tradition, reimagined as a piece's native voice rather than a separate DAW.</div></div> 422 + <div class="row"><div class="who">Goodiepal</div><div class="claim"><em>Radical Computer Music</em>. A parallel argument that the computer itself is under-designed as an artistic instrument. I toured Europe with him in 2018; the LACMA pitch descends from that conversation.</div></div> 423 + <div class="row"><div class="who">Cornelius Cardew · Scratch Orchestra</div><div class="claim">An artist-led collective attempt to build the system that would perform their scores. The AC platform is this pattern in software: a collective attempt to build the computer that would run their art.</div></div> 424 + <div class="row"><div class="who">Demoscene · size-coded graphics</div><div class="claim">Competitive compression as a native aesthetic. KidLisp cards (8 lines, no imports) borrow this premise: the whole program visible on a card.</div></div> 425 + </div> 426 + </section> 427 + 428 + <!-- ── CONDENSED ──────────────────────────── --> 429 + <section> 430 + <h2><span class="ord">§</span>Submission-Form Version<span class="count">~200 words</span></h2> 431 + <div class="pitch" style="border-left: 2px solid var(--pink); padding-left: 1em"> 432 + <p><em>Aesthetic Computer: The Unfinished Instrument.</em> Three interlocking layers — a bare-metal operating system that boots directly into art software, a custom programming language (KidLisp) for generative art, and a social network where anyone can publish and share interactive pieces.</p> 433 + <p><strong>AC Native</strong> is a Linux kernel that boots directly into art on x86_64 UEFI laptops, running a custom C runtime as PID 1 — no desktop, no window manager, no browser. 32-voice audio at 192 kHz, DRM graphics, raw evdev input. A built-in <code>code</code> command drops into a terminal running Anthropic's Claude Code, so artists can ask an AI coding partner to modify a piece without leaving the OS. The default piece is <em>notepat</em>, an 8,466-line polyphonic instrument.</p> 434 + <p><strong>KidLisp</strong> is a minimal Lisp with 118 functions — 17,000+ programs already written. Programs can be minted on Tezos without artists touching blockchain infrastructure.</p> 435 + <p>With LACMA support, we'll produce a USB-bootable edition, a workshop curriculum, and a multi-station installation. The personal computer's design is a cultural question, not a settled technical one — this project treats it as one.</p> 436 + </div> 437 + </section> 438 + 439 + <!-- ── STATUS ──────────────────────────── --> 440 + <section> 441 + <h2><span class="ord">§</span>Status</h2> 442 + <ul class="check"> 443 + <li class="done">Proposal drafted — <a href="https://aesthetic.computer/lacma-2026/lacma-2026.pdf">lacma-2026.pdf</a> (1.7 MB, 13 pages incl. CV + call-for-proposals appendix).</li> 444 + <li class="done">Stats refreshed to current live numbers; AC Native claims audited for accuracy.</li> 445 + <li class="done">Figures: sosoft-style KidLisp cards replace the old "educational poster" figures.</li> 446 + <li class="done">5 JPEG images staged in <code>grants/lacma-2026/jpegs/submit/</code>.</li> 447 + <li class="done">Credentials front-loaded: Yale MFA, KADIST + SMK collections, HN × 2, Casey Reas residency at UCLA.</li> 448 + <li class="done">This page — <a href="https://aesthetic.computer/lacma-2026">aesthetic.computer/lacma-2026</a>.</li> 449 + <li class="todo">Record video demo per <a href="https://github.com/whistlegraph/aesthetic-computer/tree/main/grants/lacma-2026/video-script.md">video-script.md</a> and upload unlisted. <em>Tomorrow.</em></li> 450 + <li class="todo">Paste field contents into Submittable, attach PDF + 5 JPEGs, link video, submit. <em>Before 11:59 PM PST, Wed Apr 22.</em></li> 451 + </ul> 452 + </section> 453 + 454 + <footer> 455 + <a href="https://aesthetic.computer/lacma-2026">aesthetic.computer/lacma-2026</a> · 2026-04-21 · live metrics from <a href="https://aesthetic.computer/api/metrics">aesthetic.computer/api/metrics</a> 456 + </footer> 457 + 458 + </main> 459 + 460 + <script> 461 + (async () => { 462 + const STATS_API = "https://aesthetic.computer/api/metrics"; 463 + const statusEl = document.getElementById("stats-status"); 464 + const root = document.getElementById("stats"); 465 + 466 + function fmt(n) { 467 + if (typeof n !== "number") return "—"; 468 + return n.toLocaleString("en-US"); 469 + } 470 + 471 + try { 472 + const r = await fetch(STATS_API); 473 + if (!r.ok) throw new Error(`${r.status} ${r.statusText}`); 474 + const data = await r.json(); 475 + for (const stat of root.querySelectorAll(".stat")) { 476 + const key = stat.dataset.k; 477 + const val = data[key]; 478 + const n = stat.querySelector(".n"); 479 + if (typeof val === "number") { 480 + n.textContent = fmt(val); 481 + stat.classList.add("loaded"); 482 + } 483 + } 484 + const when = data.time ? `(${data.time})` : ""; 485 + statusEl.innerHTML = `<span class="ok">● Live</span> · pulled from <a href="${STATS_API}">api/metrics</a> · ${when}`; 486 + } catch (err) { 487 + statusEl.innerHTML = `<span class="err">● API error</span> · ${err.message}`; 488 + } 489 + })(); 490 + </script> 491 + </body> 492 + </html>
system/public/lacma-2026/lacma-2026.pdf

This is a binary file and will not be displayed.