Project Muir is about MIT's CADR Lisp Machine, with three aims: to simulate the CADR accurately, in software and in the fabric of FPGA boards; to evolve it into QUUX, which runs its own system; and to
Developer toolsHTML · PythonGitHub @metebalciOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The website of the muir projects: muir.metebalci.com
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
The website of the muir projects, published at.
Project muir is to simulate MIT's CADR Lisp Machine accurately, and to create
an evolved version of it, QUUX. The site has a front page, the machines' pages
(the Lisp Machine, the CADR and QUUX, under one header item, Machines) and a
section for each of its four projects, each project's pages directly under
its path:Read the full README ↗The website of the muir projects, published at https://muir.metebalci.com/.
Project muir is to simulate MIT's CADR Lisp Machine accurately, and to create an evolved version of it, QUUX. The site has a front page, the machines' pages (the Lisp Machine, the CADR and QUUX, under one header item, Machines) and a section for each of its four projects, each project's pages directly under its path:
| Path | Project | Repository |
|---|---|---|
/ | the front page: what muir is and its three aims, the two machines, the four projects | this one |
/lisp-machine/ | what a Lisp Machine is, and how its system runs | this one |
/cadr/ | the CADR, MIT's machine: its processor, its buses and its boards, drawn | this one |
/quux/ | QUUX, the CADR evolved: its processor and its machine, drawn, and every change | this one |
/simulator/ | muir-sim, the simulator of the CADR and QUUX | metebalci/muir-sim |
/fpga/ | muir-fpga, the machines in the fabric of FPGA boards | metebalci/muir-fpga |
/system/ | muir-sys, the Lisp Machine system | metebalci/muir-sys |
/ozd/ | ozd, the CADR's associated machine | metebalci/ozd |
pages/ the published tree, deployed as it stands. Its HTML is
built (below) and committed; style.css, drawings.css,
script.js, fonts/ and the images are written by hand
src/ the pages written by hand: what goes inside <main>, after a
comment of key: value lines giving the title, description
and what else the page loads
gen/build.py builds every page into pages/
gen/facts.py the figures that differ from board to board, each once:
a board's display, QUUX's period, cache and main
memory, a released card's memory, each fit's figures
with its commit, Linux's share of the memory; a src/
page names one as {{name}}, and gen/fpga/gen.py
imports it
gen/chrome.py the head, the header with the machines and three of the
four projects (ozd is in neither), a section's
page list and the footer, shared by every page
gen/fpga/ muir-fpga's pages: gen.py writes them from the drawings in
base/, which it lifts and then sets the labels of again
(its LABELS table and fit.py), for they are in Plex Mono,
wider than the face they were placed in; checks/ holds its
geometric checks of the drawings (checks/runall.sh
pages/fpga gen/fpga/base)
checks/ the site's checks, below
.github/workflows/pages.yml
runs the checks and deploys pages/ to GitHub Pages
Build after any change to src/ or gen/, and commit what it writes:
python3 gen/build.py
To look at it, serve pages/:
python3 -m http.server --bind 0.0.0.0 --directory pages 8000
Each runs locally and in pages.yml, and each has been shown to fail on a
fault planted for it.
python3 checks/generated.py pages/ is what gen/build.py writes,
and runs checks/facts.py
python3 checks/facts.py no page states by hand a figure
gen/facts.py holds: the site built
with every figure moved still shows
none of the real ones
python3 checks/links.py --repos DIR
every internal link and #anchor
resolves; with --repos, a directory of
clones of the four projects, so does
every link into their files, at any
branch or tag, their headings and
release tags on GitHub
python3 checks/public.py no local path, private address, local
port, process ID, e-mail address,
session, or this machine's or user's
name in the public tree
python3 checks/fonts.py every character drawn in one of the
site's fonts, Plex or Gelasio, where it
is the first family
named, is in that font's files; needs
Chromium or Chrome and fc-query
(fontconfig)
python3 checks/sitelinks.py --repos DIR
every muir.metebalci.com link and
#anchor in the four projects' tracked
files resolves on the site, and none
names a retired site
python3 checks/test_checks.py --repos DIR
plants a fault for each check in a
scratch copy and requires it to fail
The site's own work --- its pages, stylesheets, script, generator and
checks --- is free software under the GNU Affero General Public License,
version 3 or later; the full text is LICENSE. The drawings are
the projects' own work, under the same license.
The fonts are not this project's work. IBM Plex Mono (regular and medium),
by IBM, and Gelasio (italic), by the Gelasio Project Authors, are under the
SIL Open Font License, Version 1.1, whose texts are beside them in
pages/fonts/. The IBM Plex Mono files are Google Fonts' own latin
subset, unmodified: Plex is licensed with the Reserved Font Name "Plex", so
it is never cut here. The Gelasio file is cut from the upstream variable
italic TTF in google/fonts, at weight 400,
to the range of Google Fonts' latin subset; Gelasio has no Reserved Font
Name. The headings'
italic accents are set in Georgia, and in Gelasio, metrically compatible
with Georgia, where the reader's system has no Georgia.
The site is designed with Codex, using OpenAI's GPT Astra, and with Claude Code, using Anthropic's Claude Opus.