Canvas Foreword

The following content is a discursive “canvassing” exercise intended to: process ideas and prime them for more formal publication; foreground thought processes in the spirit of auto-discourse (see A Primer on Auto-Discourse); garner feedback from peers; establish conceptual provenance for ideonomic archiving purposes.

Link to original

Recently I have been making avid use of AI-enabled coding tools, like Cursor, to create projects and apps. In doing so, I have observed how such tools can help facilitate the development of my understanding of such topics.

Drawing from the insights of previous experiments (see Modular Generalist Program), I still maintain that a robust auto-didactic methodology ought to focus on the cultivation and fostering of an organic curiosity in the topic(s) at hand. In terms of the experience of learning, or what I view as epistemic phenomenology in a philosophic sense, it is as if one’s curiosity imparts a stickiness to one’s acumen, rendering the process of accumulating knowledge easier. Indeed, something to this effect may play a crucial role in distinguishing the virtuoso and the ease with which they develop proficiency and build acumen. It can also be viewed as an epistemic bildung perhaps.

Early Experiences in Web Development

In my case, specifically regarding my experiences over the last week with app development, the dynamic is as follows. Before I had a project which occasioned 1) a genuine curiosity about web development, and 2) a tangible application of such knowledge, it was as if my auto-didactic affordances for that topic were more limited.

Now that I have a minor project which serves as a conduit for my passion and curiosity, it is as if I have become more epistemically receptive to domain-specific information and discourse. For example, now that I’ve had an occasion to build an Arweave-based web app - i.e. an occasion to apply knowledge about client-server architecture, web assembly, computer networking, etc. - I’ve been able to accumulate and internalize knowledge about that domain, in such a way that doesn’t require as much reliance on rote memorization and heuristics, compared to if I just started reading about such topics without a practical application in view.

For context, over the last week I have built my first web app, Autoglypha, which takes an image input, converts it to a grid of user-specified glyphs in the manner of ASCII art, and then animates that grid according to user-specified cellular automata rulesets and parameters. The app uses only client-side compute, and is (plausibly) permanently deployed on Arweave, requiring no ongoing backend server costs. Autoglypha also qualifies, in my mind at least, as a home-cooked web app, insofar as I initially started building it to streamline the creation of graphic assets for my various branding efforts.

This experiment has entailed a great amount of learning over a rapid timeframe, and the process of applying this knowledge to a tangible project has seemingly enabled this technical knowledge to take root much more effectively than if I had just tried to learn these things without having anything to apply them to. And indeed, an important part of having such an application, is being genuinely curious about the topic and enthusiastic about the project itself, as a creative outlet. The concatenation of these factors have resulted in a robust and expedient auto-didactic development, aided further by the involvement of AI.

Hybrid Intelligence

The manner in which AI (mostly claude-3.5-sonnet via Cursor) has factored into this process has been profound. I have been able to rapidly develop, debug and deploy a functional web app in a week, with only a novice high-level understanding of the topics at hand (web assembly, full stack development, computer networking, command line interface, python and javascript, git, etc.), and a systematic approach to error handling and isolating development variables, over the course of numerous development iterations. This is promising from the perspective of a generalist, for whom a novice high-level understanding is the typical epistemic affordance for a given topic.

Moreover, I’ve been able to ask the AI models to explain the code and networking architecture along the way. This has been invaluable, and indeed has felt like, perhaps, the fastest I’ve ever gone about learning anything. This is due to a number of factors, including: 1) the technical capabilities of the AI tools I am using; 2) the generalist epistemic sensibility cultivated some years ago via Modular Generalist Program; and 3) having a project to which I may iteratively and immediately apply my learnings to, resulting in what could be called an in-situ auto-didacticism.

The conversations I’ve had with these models, pertaining to the development of the app as well as my education of the topics at hand, have been systematically exported as markdown files, using a custom python script which I made using AI. These chat records hopefully can serve as a corpus for 1) refining this co-programming methodology, and 2) analyzing the development of my understanding of a topic. I now hope to systematically integrate these chats into the zettelgarten, in a manner which permits internal links, and eventually even GraphRAG or GraphCAG capabilities.

Project-Based Learning

This experience has prompted a curiosity regarding the efficacy of a generalized auto-didactic methodology wherein the individual cultivates and expands their acumen through projects which occasion the iterative application of knowledge. This, combined with an auto-discursive documentation of the processes involved (see: A Primer on Auto-Discourse), and the integration of AI into such a corpus. One may envision, perhaps, an ever-growing reticulum of projects pertaining to different topics which each occasion such a rapid development of knowledge, and serve as a practical repository for applied knowledge.

That is, instead of technical knowledge remaining theoretical, having an array of projects to occasion the application of such technical knowledge may serve to solidify said knowledge, and minimize one’s reliance on heuristics and memorization. Indeed such a didactic paradigm would frame theoretical knowledge as being less deeply rooted in one’s acumen than practical knowledge. As such, it may constitute a viable praxis for modular generalist auto-didacticism.