GitHub - whistlegraph/aesthetic-computer

4 min read Original article ↗

Aesthetic Computer is a mobile-first runtime and social network for creative computing.

AC's client interface is designed to function like a musical instrument, on which users discover their own memorizable paths in the network of commands and published pieces. As users grow their literacy through play and exploration, they are able to improvise, recombine, and expand their performable repertoire.

I started writing Aesthetic Computer in 2021 because I desired new tools to author, publish and connect the creative software toys I had been making in my art and education practice for 10+ years. The last of these before AC was https://nopaint.art, discussed on Hacker News in 2020.[0]

Try Me

Visit https://aesthetic.computer and press the top left of the screen or type any key to activate the prompt.

In the AC prompt, enter names of built-in toy and utility pieces like notepat[1], or boyfriend and those published by user handles like @bash/hub.

Return to the prompt by pressing the name at the top left corner, your browser's back button or the [Esc], [`], or [Backspace] keyboard shortcuts.

Enter list at the prompt for a scrollable index of pieces and commands.

Most of AC is open to anonymous users. Some pieces like chat or moods require a registered @handle to fully participate and post data.

Every piece on AC is URL addressable. For example, users who enjoy using notepat can skip the prompt entirely by bookmarking https://aesthetic.computer/notepat.

QR codes to share any piece can be generated by prefixing the piece with share at prompt as in share notepat.

Here are a some recipes to try:

A. Make a Painting 🖼️

  1. Enter new 128 to start a new 128x128 pixel painting.
  2. Enter rect red and drag to paint red (or any CSS color) rectangles.
    (Or try other primitive brushes like line, shape, and fill.)
  3. Press the command name in the top left corner to return to prompt.
    (Or use [Esc], [Backspace], or [`] on the keyboard.)
  4. Enter smear and drag to use a pixel scattering brush, then return to prompt.
  5. Enter dl to download a timestamped PNG, done to publish the painting on AC servers, or print to mail order a real sticker.

B. Play a Melody 🎹

  1. Enter + to open a second prompt window.
  2. Enter metronome 120 in the second prompt window to keep rhythm at 120 BPM.
  3. Enter notepat in the first prompt window to play tones in regular time.
    (Or try bleep:sine 4x4 for a randomized playable tone matrix.)

    Bonus

  4. Record a notepat performance as a 7s looping, downloadable video by entering tape notepat.
  5. Play notepat in person with others by generating a QR code via share notepat.

C. Say "hi" in chat 🗨️

  1. Enter imnew or press [I'm New] on a deactivated prompt to register.
  2. Verify your email.
  3. Set a @handle by entering handle ur-handle-here.
  4. First-time handle setters are automatically routed to chat.
  5. Say "hi" and request technical help from myself (@jeffrey) and others.

To dive in more you can read the technical history [2] or try coding your own AC piece[3].


Development in GitHub Codespaces

When running Aesthetic Computer in a GitHub Codespace, you can access the local server using the Codespace's public URL.

To get the proper Codespace URL:

  1. Get your Codespace name: echo $CODESPACE_NAME
  2. Construct the URL: https://{CODESPACE_NAME}-8888.app.github.dev

For example, if your Codespace name is potential-parakeet-7p54gjqw7qcx46g, the URL would be:

https://potential-parakeet-7p54gjqw7qcx46g-8888.app.github.dev

To access specific routes like kidlisp.com:

https://potential-parakeet-7p54gjqw7qcx46g-8888.app.github.dev/kidlisp.com

KidLisp

Aesthetic Computer includes KidLisp, a minimal Lisp dialect for creating generative art and interactive experiences. See the KidLisp documentation for language reference, examples, and technical details.


[0] No Paint HN discussion from 2020: https://news.ycombinator.com/item?id=23546706

[1] Recent HN discussion on notepat here: https://news.ycombinator.com/item?id=41526754

[2] The AC Story: https://github.com/whistlegraph/aesthetic-computer/blob/main/STORY.md

[3] Write a Piece: https://github.com/whistlegraph/aesthetic-computer/blob/main/WRITE-A-PIECE.md