<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title>#arc posts — Ben Crowder</title>
    <link>https://bencrowder.net/blog/tag/arc/</link>
    <atom:link href="https://bencrowder.net/blog/tag/arc/feed/" rel="self" />
    <description>Feed for blog posts tagged with #arc.</description>
    <lastBuildDate>Mon, 13 Apr 2026 03:29:26 GMT</lastBuildDate>
    <language>en-US</language>
    <generator>https://bencrowder.net/</generator>

    <item>
      <title>I seem to have forgotten how to blog. (Actual blogging, as opposed to merely linking to new art.) In...</title>
      <link>https://bencrowder.net/blog/2021/1238/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2021/1238/</guid>
      <pubDate>Fri, 30 Jul 2021 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p>I seem to have forgotten how to blog. (Actual blogging, as opposed to merely linking to new art.) In an attempt to get back on the saddle again:</p>
<p>Outside of art, my project time lately has primarily been swallowed up by some internal tooling changes. I <a href="https://bencrowder.net/blog/2021/1223/">alluded to this</a> back in June, though the plan changed along the way. Rather than merging all those apps into one behemoth conglomerate, I decided it would be better (along at least a few axes) to follow the Unix philosophy and stick with smaller tools that do one thing well. Which conveniently lines up with the set of tools I’ve already built. Fancy that.</p>
<p>Arc is (was) my notes app, written using FastAPI. I wanted an app that felt more a wiki, and I wanted to move it to Django (easier to maintain, considering most of my other tools are also in Django). And I didn’t really like the name anymore. Thus Codex was born. Heretically, I built it using hardly any JavaScript — just a bit for keyboard shortcuts and another bit for the autosuggest when linking to another page. Everything else uses plain old HTML forms.</p>
<p>In fact, it was so liberating and fun that I plowed onward and decided to ditch Vinci (my internal blog/notebook app) and build a new app, Leaf, using the same technique; the only JS it uses is for keyboard shortcuts. It’s simpler, easier to maintain (I think? it’s still early on), and in a way it feels more in line with the grain of the web.</p>
<p>One other thing I did differently with both apps was to wait to write any CSS until after the functionality was all in place. It was disconcerting and delightful, building something with bare browser styles, and it certainly helped me focus on functionality first rather than getting distracted by layout.</p>
<p>Conclusion: while I doubt I would ever build apps at work this way, this old-school mode was invigorating and absolutely worth it for these personal projects.</p><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20I seem to have forgotten how to blog. (Actual blogging, as opposed to merely linking to new art.) In...">Reply via email</a></p>]]></description>
    </item>
    <item>
      <title>Brief and no doubt boring update on internal tooling: As of a few days ago, I’m planning to take Vin...</title>
      <link>https://bencrowder.net/blog/2021/1223/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2021/1223/</guid>
      <pubDate>Fri, 04 Jun 2021 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p>Brief and no doubt boring update on internal tooling:</p>
<p>As of a few days ago, I’m planning to take Vinci (logs), Arc (notes), Storybook (fiction writing), and possibly Slash (blog) and smush them all together into a new, streamlined Django app called Writ. (Fundamentally, they’re all tools for writing, and there’s enough overlap among them that keeping them split out isn’t worth it to me.) Still in the initial design/planning stage. Looking forward to simplifying things a bit.</p>
<p>I’m no longer intent on using plain text as the data store for my apps. The main reasons I wanted to do this in the first place: a) archival durability and b) rampant minimalism. For the first, I’ll instead have all my apps export everything to plain text whenever there’s a change. It won’t be canonical, but it will be a redundant copy of the data so it’s even more archivally durable. As for the minimalism, well, sometimes one can go too far.</p>
<p>Lastly, I’m looking into hosting my site statically via Linode Object Storage (ala S3). Still exploring ramifications — redirects, etc. Main goal with this is to make my site more resilient, and even if the object storage part doesn’t work out, I’ll still move the site over to a new static engine (which I’m naming Cast, and I plan to write it in Go).</p><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Brief and no doubt boring update on internal tooling: As of a few days ago, I’m planning to take Vin...">Reply via email</a></p>]]></description>
    </item>
    <item>
      <title>Some quick toolmaking updates: Not very long ago I felt like Storybook was a bit cumbersome, and in...</title>
      <link>https://bencrowder.net/blog/2020/1048/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2020/1048/</guid>
      <pubDate>Thu, 08 Oct 2020 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p>Some quick toolmaking updates:</p>
<ul>
<li>Not very long ago I felt like Storybook was a bit cumbersome, and in a fit of consolidation glee I decided to trash it and instead use Arc for my writing. I got as far as adding wiki-style links and backlinks (still helpful additions), then realized Arc wasn’t actually a good fit after all — my brain apparently doesn’t like having the story drafts in among all the other notes. It seems to like things in separate bins.</li>
<li>So Storybook lives after all. There are, however, gobs of cruft that have built up over the years — several features I tried out and then ended up not sticking with — so I’m going to rewrite it from scratch using FastAPI and plain text storage (as mentioned before). Leaner and more focused. Looking forward to it. (On this I’ve done some preliminary planning and have written a script to export the old data in the new plain text format, but that’s it.)</li>
<li>I’ve been using Arc to plan the editing of the novel. It works, but I’ve also found myself wondering if an infinite canvas tool like Figma or Milanote might be even better, with the power to break out of the cold confines of a linear column of text. You can probably tell where this is going, can’t you. And you’re right: because it foolishly doesn’t seem like that hard of a problem, and because I want full control (ha, what an illusion) over both the experience and my data, yes, I’m making my own infinite canvas web app. It’s called Space. It’s in the early amorphous stages of planning and will likely stay that way for a while because I’m in the middle of the semester. But I’m excited about it. (And have been for a while; this project’s been on the docket for over a year.) I initially planned to use canvas, but before I settle on that I’m going to try WebGL; if it works, it would allow for much more interesting possibilities, along the lines of the spatial interface ideas I alluded to a while ago.</li>
</ul><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Some quick toolmaking updates: Not very long ago I felt like Storybook was a bit cumbersome, and in...">Reply via email</a></p>]]></description>
    </item>
    <item>
      <title>Links #18</title>
      <link>https://bencrowder.net/blog/2020/links-18/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2020/links-18/</guid>
      <pubDate>Sat, 19 Sep 2020 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<ul>
<li><a href="https://logicmag.io/care/built-to-last/">Mar Hicks on technology built to last</a> — COBOL sounds more and more intriguing (honestly!)</li>
<li><a href="https://whydoweinterface.com/addendum/">Ehsan Noursalehi on the new Microsoft Teams dynamic video conferencing mode</a>  — this looks amazing and I want it</li>
<li><a href="https://whydoweinterface.com/">Ehsan Noursalehi’s Why Do We Interface microbook</a> — short read, worth it, and the microbook idea is interesting too</li>
<li><a href="https://obsidian.md/">Obsidian</a> — another note-taking solution (don’t mind me, just poaching ideas for Arc)</li>
<li><a href="https://jessitron.com/2020/08/04/back-when-software-was-a-craft/">Jessica Kerr on software development as a craft</a> — or not; good food for thought</li>
</ul><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Links #18">Reply via email</a></p>]]></description>
    </item>
    <item>
      <title>Arc intro</title>
      <link>https://bencrowder.net/blog/2020/arc-intro/</link>
      <guid isPermaLink="true">https://bencrowder.net/blog/2020/arc-intro/</guid>
      <pubDate>Thu, 13 Aug 2020 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Crowder]]></dc:creator>
      <description><![CDATA[<p><em>The last entry in the <a href="https://bencrowder.net/blog/2020/910/">navel-gazing series</a> talking about my personal productivity tools.</em></p>
<p>Arc is my private notes app. It’s a Python app running FastAPI. The name is short for Archive, as in an archive of notes. It’s my latest app, too — I wrote it around a month ago, as a replacement for Apple Notes (to try to get back to more of a Notational Velocity or Simplenote kind of thing). And just to be clear, this is distinct from the digital garden notes idea I talked about earlier.</p>
<h2 id="overview">Overview</h2>
<p>Notes are just text files, stored in a directory with UUIDs for filenames. By default it opens to a blank note screen, but that’s boring, so instead you get to see what it looks like when editing a note (with the bar at the top indicating the text isn’t saved — I originally implemented autosave but soon realized that I prefer manual):</p>
<p><figure>
        <img src="https://cdn.bencrowder.net/blog/2020/08/arc-1.png" alt="arc-1.png" title="arc-1.png" />
        
      </figure></p>
<p>The search page lists the twenty most recently modified notes (dummy data):</p>
<p><figure>
        <img src="https://cdn.bencrowder.net/blog/2020/08/arc-2.png" alt="arc-2.png" title="arc-2.png" />
        
      </figure></p>
<p>The search results page uses <a href="https://github.com/ggreer/the_silver_searcher">Ag</a> under the hood (since all the notes are just in a flat directory for now, it was super easy and took maybe ten minutes to implement):</p>
<p><figure>
        <img src="https://cdn.bencrowder.net/blog/2020/08/arc-3.png" alt="arc-3.png" title="arc-3.png" />
        
      </figure></p>
<h2 id="howiusearc">How I use Arc</h2>
<p>On my laptop, I have it open in Firefox as a pinned tab. On my phone, I have it saved to my dock as a PWA.</p>
<p>I’ve been using Arc daily, to keep track of things that I want to be able to refer to easily later on; normal notes usage, nothing too exciting here.</p>
<h2 id="thefuture">The future</h2>
<p>Arc is still pretty new, so we’ll see where continued usage takes us. I’m happy with the plain text storage and with FastAPI, though. (Thus the plans to move over to those for the other tools.) It too is a small app, with around 500 lines of code. Maybe at some point I’ll switch from Ag to ripgrep, but that’s about the only change I can think of right now.</p><hr class="feed-extra" style="margin-top: 48pt;" /><p class="feed-extra feed-mail"><a href="mailto:ben.crowder@gmail.com?subject=Re%3A%20Arc intro">Reply via email</a></p>]]></description>
    </item>
    
  </channel>
</rss>
