Human programming research is shifting focus to work with AI models instead of humans. This means developing systems that help AI operate more efficiently.
The author has been involved in several software projects, including a consulting role where they created tools to enhance AI and web products. These experiences allowed them to explore different collaborative environments.
They plan to take some time for exploration and research in AI, particularly focusing on self-modifying programs. This will allow them to deepen their understanding of both AI concepts and practical product development.
Human programming involves writing instructions for humans to follow in various aspects of life.
Current tools for human programming need improvement to enhance the writing and following experiences.
The vision for better human-programming tools is to increase productivity by creating interactive virtual assistants to guide through achieving any goal.
The project required combining different prototypes into a single web app with shared state, using React and the React Flow library for stability and maintainability.
Integrating p5 code with React required using Valtio proxies to share state, allowing React to subscribe to changes in the global variable.
Persisting constructions involved serializing JavaScript classes for storage options like browser localstorage, URL encoding, and user's filesystem.
The Digital Abacus tool allows users to visually understand complex math equations by interactively manipulating values on a flowchart and seeing real-time updates in a plot.
The tool uses a graph data structure called RelGraph to store values and constraints, allowing for easy representation of equations and composite operations.
The system solves for dependent values by updating values iteratively in the graph until equilibrium is reached, showing the math solving process in real-time.