<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://enderminyard.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://enderminyard.com/" rel="alternate" type="text/html" /><updated>2026-05-18T00:01:10+00:00</updated><id>https://enderminyard.com/feed.xml</id><title type="html">Ender Minyard</title><subtitle>Ender Minyard is a mathematician living in New York.</subtitle><author><name>Ender Minyard</name><email>nam10114 @ nyu dot edu</email></author><entry><title type="html">Introducing Starling</title><link href="https://enderminyard.com/posts/2026/05/starling-intro/" rel="alternate" type="text/html" title="Introducing Starling" /><published>2026-05-13T00:00:00+00:00</published><updated>2026-05-13T00:00:00+00:00</updated><id>https://enderminyard.com/posts/2026/05/starling-intro</id><content type="html" xml:base="https://enderminyard.com/posts/2026/05/starling-intro/"><![CDATA[<h1 id="introducing-starling">Introducing Starling</h1>

<blockquote>
  <p>“Look between the stars for what you need. The untraceable black of the possible…What does it mean to listen darkly?” (Healing Justice Lineages)</p>
</blockquote>

<h2 id="other-formats">Other Formats</h2>

<ul>
  <li>
    <p>I gave a talk about Starling which you can watch on <a href="https://vimeo.com/1190846080">Vimeo</a>.</p>
  </li>
  <li>
    <p>The writing in this post is also available in a the format of a <a href="https://github.com/starlinglang/zines/blob/main/starling.pdf">zine</a>.</p>
  </li>
</ul>

<h2 id="why-another-proof-assistant">Why another proof assistant?</h2>

<p>I was in a <a href="https://www.ams.org/opportunities/view/listing?listing_id=493237">directed reading program</a> for number theory which opened my eyes to the importance of proofs in mathematical discovery.</p>

<p>What do the proofs of the future look like?  Can computer-aided proofs answer questions that pen-and-paper proofs are unable to answer?</p>

<h2 id="philosophy">Philosophy</h2>

<p>I believe that new types of proofs make new kinds of knowledge possible.</p>

<p>For example, the invention of diagonalization proofs enabled a slew of monumental results in the 19th and 20th centuries such as Godel’s incompleteness theorem.  Late in the twentieth century, a computer enabled the first ever proof of the four color theorem.</p>

<p>Will computer-aided proofs define the 21st century in the way that diagonalization proofs defined the 20th?</p>

<h2 id="how-does-it-work">How does it work?</h2>

<p>Starling can be seen as a surface language for the existing language <a href="https://us.metamath.org/">Metamath</a>. Starling compiles to Metamath, inheriting its <a href="https://github.com/metamath/set.mm">library</a> of verified proofs, as well as the <a href="https://github.com/metamath/set.mm/blob/develop/verifiers.md">Metamath proof verifier(s)</a>. <a href="https://github.com/starlinglang/starling">Starling’s compiler</a> is written in JavaScript.</p>

<h2 id="why-metamath">Why Metamath?</h2>

<p>I was particularly interested in Metamath because of its agnosticism toward different object logics. This enables you to write Metamath proofs whose theorems are derived from the axioms of quantum logic, for example.</p>

<h2 id="can-i-get-involved">Can I get involved?</h2>

<p>I’m interested in designing this language to be as user-friendly as possible, so I am looking to interview people about their experiences <a href="https://starling-lang.org/editor/index.html">using Starling</a>. If that seems interesting to you, <a href="https://calendly.com/nam10114-nyu/30min">please talk to me</a>!</p>

<h2 id="why-even-try-something-like-this">Why even try something like this?</h2>

<blockquote>
  <p>“If you find yourself inside a dimming world, remember it was always this dark inside the body.”  (Ocean Vuong)</p>
</blockquote>

<blockquote>
  <p>“The future is dark, which is the best thing the future can be, I think.” (Virginia Woolf)</p>
</blockquote>]]></content><author><name>Ender Minyard</name><email>nam10114 @ nyu dot edu</email></author><category term="Starling" /><summary type="html"><![CDATA[Introducing Starling]]></summary></entry><entry><title type="html">Starling IDE - Design Process</title><link href="https://enderminyard.com/posts/2026/03/ide-design/" rel="alternate" type="text/html" title="Starling IDE - Design Process" /><published>2026-03-02T00:00:00+00:00</published><updated>2026-03-02T00:00:00+00:00</updated><id>https://enderminyard.com/posts/2026/03/ide-design</id><content type="html" xml:base="https://enderminyard.com/posts/2026/03/ide-design/"><![CDATA[<p>I am designing an integrated development environment for a programming language I authored called Starling. Starling is a user-friendly frontend for <a href="https://en.wikipedia.org/wiki/Metamath">Metamath</a>.</p>

<p>Starling is a proof assistant. The language will be text-based, like any language you use in Visual Studio Code. The Starling IDE, however, will replace Visual Studio Code. I find the design of Visual Studio Code to be unpleasant. I desire a more playful and visually enhanced coding experience. Starling IDE solves this problem by arranging and debugging code visually.</p>

<h3 id="research--inspiration">Research + Inspiration</h3>

<ul>
  <li>Projects I looked at
    <ul>
      <li><a href="https://github.com/Paper-Proof/paperproof">Paperproof</a></li>
      <li><a href="https://github.com/Halleck45/ast-metrics/tree/main/internal/analyzer">AST Metrics</a></li>
      <li><a href="https://github.com/patrik-cihal/lean-graph">Dependency Graph</a></li>
    </ul>
  </li>
  <li>Visual Inspiration
    <ul>
      <li>I have been interested in <a href="https://kinopio.club/">Kinopio</a>’s infinite canvas for years.</li>
      <li>I am invested in the idea of a code editor which has an <a href="https://museapp.com/podcast/59-infinite-canvases/">infinite canvas</a>.</li>
    </ul>
  </li>
</ul>

<h2 id="information-architecture-first-draft">Information Architecture (First Draft)</h2>

<p>I am inspired by the design space of AI tools such as <a href="https://www.nimo.space">Nimo</a> and <a href="https://integrity.sh/">Integrity</a>. I’m also a fan of <a href="https://austinhenley.com/pubs/Klein2021ICSME_CodeRibbon.pdf">Austin Henley’s research into code editor design</a>.</p>

<p><strong>Nimo-Inspired Wireframe</strong>
<img src="/files/nimo_inspired.png" alt="nimo inspired" />
Zoomable infinite canvas with resizable code/visualization windows.</p>

<p><strong>Integrity-Inspired Wireframe</strong>
<img src="/files/integrity_inspired.png" alt="integrity inspired" />
Combination of filetree with zoomable infinite canvas (containing resizable code/visualization windows).</p>

<p><strong>CodeRibbon-Inspired Wireframe</strong>
<img src="/files/CodeRibbon_inspired.png" alt="CodeRibbon inspired" />
Conventional code editor (filetree) on left side, swappable and resizable code/visualization windows on right side.</p>

<h2 id="personas">Personas</h2>

<h3 id="academic-researcher">Academic Researcher</h3>

<p>Scenario</p>

<ul>
  <li>Looking into Starling for the first time.</li>
</ul>

<p>Expectations</p>

<ul>
  <li>Expects Starling to be similar to Lean.</li>
</ul>

<p>Phase 1</p>

<ul>
  <li>Doing
    <ul>
      <li>The researcher looks up “Starling proof assistant” or similar keywords in a search engine.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>(If Starling ranks:) What’s this?</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>Oh, that’s it.</li>
    </ul>
  </li>
</ul>

<p>Phase 2</p>

<ul>
  <li>Doing
    <ul>
      <li>The researcher navigates to the front page of the Starling website.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>Notes the design, look, and ethos of the website. Tries to infer who made this and why they made it.</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>(Nothing.)</li>
    </ul>
  </li>
</ul>

<p>Phase 3</p>

<ul>
  <li>Doing
    <ul>
      <li>Researcher looks up Starling docs.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>This documentation is aesthetically pleasing and well organized. I’m starting to get a feel for who made this.</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>Cool.</li>
    </ul>
  </li>
</ul>

<p>Phase 4</p>

<ul>
  <li>Doing
    <ul>
      <li>Navigating to Starling web IDE.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>What features does it have? Can my students use this?</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>(Nothing.)</li>
    </ul>
  </li>
</ul>

<p>Insights</p>

<ul>
  <li>The most common navigation trail for researcher personas is likely Google =&gt; front page =&gt; docs =&gt; web IDE.</li>
</ul>

<p>Internal Ownership</p>

<ul>
  <li>The researcher might feel ownership of the project if they contribute to the codebase, are an active member of the Starling community, or use Starling in their courses.</li>
</ul>

<h3 id="remote-academic-collaborator">Remote Academic Collaborator</h3>

<ul>
  <li>Remote collaborator of a Starling user</li>
</ul>

<p>Scenario</p>

<ul>
  <li>Two researchers want to use Starling together, in real-time, to mechanize a proof.</li>
</ul>

<p>User Expectations</p>

<ul>
  <li>The academic Starling IDE should enable and facilitate real-time collaboration.</li>
</ul>

<p>Phase 1</p>

<ul>
  <li>Doing
    <ul>
      <li>Opening QR code or session PIN (similar to Kahoot!) that leads to a shared Starling IDE session.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>Okay, what next?</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>I’m glad that worked.</li>
    </ul>
  </li>
</ul>

<p>Phase 2</p>

<ul>
  <li>Doing
    <ul>
      <li>Clicks “Find [Collaborator Username] Location” button to find the location of their collaborator inside the canvas.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>At least I can find them inside this document.</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>Whew.</li>
    </ul>
  </li>
</ul>

<p>Phase 3</p>

<ul>
  <li>Doing
    <ul>
      <li>Finds location of collaborator within canvas with visual cursor indicator.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>What am I looking at?</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>What is this proof saying?</li>
    </ul>
  </li>
</ul>

<p>Phase 4</p>

<ul>
  <li>Doing
    <ul>
      <li>Clicking through filetree tabs and proofs/visualizations inside.</li>
    </ul>
  </li>
  <li>Thinking
    <ul>
      <li>How can I understand this document as a whole?</li>
    </ul>
  </li>
  <li>Saying
    <ul>
      <li>Hm, okay.</li>
    </ul>
  </li>
</ul>

<p>Insights</p>

<ul>
  <li>How can I sync cursor location? How can I enable collaborators to understand large amounts of code quickly?</li>
</ul>

<p>Internal Ownership</p>

<ul>
  <li>The collaborator will feel ownership over the project if they can jump in and start adding to the codebase sooner rather than later.</li>
</ul>

<h2 id="implementation">Implementation</h2>

<p>I plan to:</p>
<ol>
  <li>Annotate the remote collaborator user journey.</li>
  <li>Draw, stateful detailed wireframes based on this annotated user journey.</li>
  <li>Decide on copy in the wireframes.</li>
  <li>Convert each wireframe to an HTML page.</li>
  <li>Add JavaScript functionality to the HTML pages.</li>
</ol>

<h3 id="remote-collaborator-user-journey-annotated">Remote Collaborator User Journey (Annotated)</h3>

<p>Phase 1</p>
<ul>
  <li>Backdrop: integrity.sh-inspired wireframe</li>
  <li>Export session to QR code link button</li>
  <li>Input to manually type in PIN corresponding to QR code link</li>
</ul>

<p>Phase 2</p>
<ul>
  <li><a href="https://learn.microsoft.com/en-us/visualstudio/liveshare/overview/features">when you join a collaboration session you automatically “follow” the host’s edit location</a></li>
  <li><a href="https://help.figma.com/hc/en-us/articles/360040322673-Present-to-collaborators-using-spotlight">Follow cursor of collaborators.</a>
    <ul>
      <li>Click on collaborator’s avatar in menu bar to automatically follow them.</li>
    </ul>
  </li>
</ul>

<p>Phase 3</p>
<ul>
  <li><a href="https://learn.microsoft.com/en-us/visualstudio/liveshare/overview/features">Show highlighted text from remote collaborator.</a>
    <ul>
      <li>“You can see each collaborator’s edits, their cursors and selections, and more.”</li>
    </ul>
  </li>
</ul>

<p>Phase 4</p>
<ul>
  <li>Code comprehension is hard. Maybe a <a href="https://uiw.tf/minimap">minimap</a> would help?</li>
</ul>

<h3 id="detailed-user-journey-wireframes">Detailed User Journey Wireframes</h3>

<p>Phase 1</p>

<p><img src="/files/dwd_wireframe_1.png" alt="phase 1" />
<img src="/files/dwd_wireframe_2.png" alt="phase 1" />
<img src="/files/dwd_wireframe_3.png" alt="phase 1" /></p>

<p>Phase 2</p>

<p><img src="/files/dwd_wireframe_4.png" alt="phase 2" /></p>

<p>Phase 3</p>

<p><img src="/files/dwd_wireframe_5.png" alt="phase 3" /></p>

<h3 id="what-next">What next?</h3>

<p>I realized that working on the IDE is premature when the language features are still in development. I am going to focus on the language features for now.</p>]]></content><author><name>Ender Minyard</name><email>nam10114 @ nyu dot edu</email></author><category term="Starling" /><category term="IDE" /><category term="ideation" /><summary type="html"><![CDATA[I am designing an integrated development environment for a programming language I authored called Starling. Starling is a user-friendly frontend for Metamath.]]></summary></entry></feed>