July 7th : Kartik Agaram

Kartik Agaram is a lapsed academic who works as a programmer in Silicon Valley by day, and tries to improve on Silicon Valley over nights and weekends. Kartik will show a few “Freewheeling apps” built over the last 3 years, small open-source products that are durable, aim to do one thing well, and are easy for individual people to modify and share in a convivial manner. Crucially, to achieve these aims Freewheeling apps avoid advanced features in web browsers. Browsers are controlled by minority and short-term (mostly commercial) interest, and most Javascript is not designed to be durable.

Introduction by Fabien Bénétou, moderation by Frode Hegland.

https://akkartik.name

https://keepworking.github.io/nash

https://news.ycombinator.com/item?id=43358914

 

Frode Hegland, Fabien Bénétou, Kartik Agaram, Alan Laidlaw, Peter Wasilko, Ayaskant Panigrahi, Leon van Kammen, Brandel Zachernuk, Peter Dimitrios, Jamie Blustein, Mark Anderson

AI: Summary

This meeting featured a presentation by Kartik Agaram on “Freewheeling Apps” – a philosophy and set of tools for creating durable, minimalist software that prioritizes simplicity and user control over feature completeness. Kartik demonstrated several applications built with Lua and the Love2D game engine, emphasizing 80% solutions that use minimal code while remaining easily modifiable. His core philosophy centers on depending on people rather than companies, limiting dependencies to 2-10 trusted sources, and focusing primarily on text-based interfaces for durability. The presentation included live demos of a text editor with line drawing capabilities, a mathematical notebook with dynamic variables, and various other tools that can be modified in real-time through a “driver” system. The discussion touched on memory palaces, spatial computing, syntax highlighting, and the challenges of building sustainable software in an environment dominated by constantly updating commercial platforms.

AI: Speaker Summary

Frode Hegland served as the moderator and showed strong enthusiasm for Kartik’s work, particularly the dynamic text and variable system. He was excited about the spatial aspects and how they might apply to XR environments and connecting the concepts to memory palaces and spatial information design. He emphasized the importance of information shape and view specs, drawing connections to Doug Engelbart’s work, and discussed his own experiments with AI-augmented copy-paste functionality.

Fabien Bénétou provided technical context throughout the presentation, sharing relevant links and explaining concepts like literate programming and responsive programming. He connected Kartik’s work to similar projects in the XR space and shared his own experiments with browser engineering. He emphasized the importance of being able to program any device in any context without needing to install extensive toolchains, calling this “responsive programming.”

Kartik Agaram presented his freewheeling apps philosophy, demonstrating multiple applications while explaining his core principles of depending on people rather than companies, keeping software durable and minimal, and making everything easily modifiable. He showed particular expertise in creating elegant solutions with minimal code, such as his text editor with geometric rendering capabilities and his notebook system with dynamic variables. He expressed some skepticism about browsers due to their commercial control and constant updates.

Alan Laidlaw engaged actively with the technical details, particularly interested in the nested rectangles concept and how it enables complex text layout with simple code. He made connections to similar work by Ink and Switch and Geoffrey Litt, and appreciated the practical aspects of tools like the box-and-arrow drawing application, noting he would use such a tool regularly.

Peter Wasilko contributed significant technical knowledge, asking about literate programming, parsing expression grammars, and LaTeX integration. He provided numerous technical resources and links, particularly around LuaTeX and alternative approaches to syntax highlighting based on semantic meaning rather than simple pattern matching. He showed interest in natural language programming interfaces and quasi-natural language approaches.

Ayaskant Panigrahi made connections between Kartik’s work and shader programming environments, and noted similarities to spatial widgets, which he plans to present about in a future meeting. He provided some technical context around alternative browser projects like Ladybird.

Leon van Kammen had to leave early but expressed appreciation for the demonstration and indicated interest in watching the recording. He had planned to give an update on XR fragments but postponed it to a future meeting.

Brandel Zachernuk appreciated the flexibility of Kartik’s representation approach and made connections to shader programming tools like the Book of Shaders editor. As someone working primarily in browsers, he found the alternation between code and execution particularly interesting, though he had to leave early for work.

Peter Dimitrios joined late and asked clarifying questions about the tools being discussed, particularly about Inform7. He made an important observation about memory palaces potentially becoming messy like physical hoarding.

Jamie Blustein joined very late due to a conflicting hypertext conference meeting but contributed valuable insights about spatial ability and hypertext research. He discussed the relationship between spatial ability and hypertext success, and his work on rhetorical structure and information shape, suggesting these as important considerations for future work.

Mark Anderson provided a helpful link to Inform7 documentation when the tool was being discussed.

AI: Topics Discussed

WebXR Fabien mentioned XR fragments and WebXR contexts, noting that in WebXR environments they have privacy limitations with passthrough mode. Frode discussed experimenting with Apple Vision Pro widgets in AR mode and the challenges of balancing trusted content with useful functionality. The group also discussed Wolvic as a WebXR browser alternative.

Gestures Gestures were not extensively discussed in this meeting, though there were mentions of multi-touch support in Kartik’s mobile applications and some discussion of interaction methods within the spatial computing context.

Other Topics The meeting covered extensive ground including: literate programming and its relationship to minimalist software design; memory palaces and their potential application to code organization; syntax highlighting approaches that focus on semantic meaning rather than pattern matching; the philosophy of software durability versus constant updates; parsing expression grammars and natural language programming interfaces; browser alternatives and the challenges of depending on commercial software platforms; copy-paste workflows and AI augmentation; spatial information design and view specs; the relationship between spatial ability and hypertext navigation; stand-off markup approaches; and various technical tools and frameworks including Lua, Love2D, TiddlyWiki, and browser engineering.

Interesting Anecdotes Kartik’s browser crashed during the presentation, ironically illustrating his points about software reliability. Fabien joined the meeting using a Steam Deck Linux gaming console, demonstrating alternative computing approaches. Jamie mentioned it was extremely hot in her location with ice melting outside, creating an unusual weather situation. Kartik shared that he used to look forward to the future with anticipation but now feels dread about what new changes will be imposed. Peter Dimitrios made an astute observation about memory palaces potentially becoming like physical hoarding.

AI: Concepts Introduced

Freewheeling Apps – Defined by Kartik Agaram as small open-source products that are durable, aim to do one thing well, and are easy for individual people to modify and share in a convivial manner.

80% Solutions – Kartik’s approach of providing 80% of functionality in 20% of the code, leaving room for users to implement the remaining features they need.

Syntax Geometry – Kartik’s concept of using spatial arrangement rather than just color coding to convey code structure and relationships.

Responsive Programming – Fabien’s term for the ability to program any device in any context without needing to install extensive toolchains.

Information Shape – Jamie’s concept (referencing Andrew Dillon) describing how information has a shape rather than existing in a simple information space, relating to rhetorical structure.

View Specs – Referenced by Frode as Doug Engelbart’s term for how views are always specified in some way, never neutral.

AI: People Mentioned

Doug Engelbart, Vint Cerf, Don Knuth, Alan (mentioned by Kartik referring to game engine), Graham Nelson, Andrew Dillon, Geoffrey Litt

AI: Product or Company Names Mentioned

Love2D, Lua, Firefox, Chrome, OpenAI, Anthropic, Claude, TiddlyWiki, Scapple, Smalltalk, LaTeX, LuaTeX, Steam Deck, Apple Vision Pro, Zoom, Book of Shaders, ShaderToy, KodeLife, Inform7, Eastgate, PeerTube, Gitea, Wolvic, Ladybird, Unity, Mastodon, Ink and Switch, LPG, Peggy, JavaScript, Imba, Plan 9, New Scientist, Dynamicland, folk.computer, itch.io

AI: Other

This meeting represented a fascinating intersection between minimalist software philosophy and future text/XR research. Kartik’s emphasis on durability and user control resonates strongly with the group’s broader mission of creating sustainable, user-empowering text technologies. The discussion revealed interesting tensions between the desire for advanced capabilities (like XR) and the need for simple, durable tools. The group’s technical sophistication was evident in the rapid connections made between Kartik’s work and various other research areas and tools. The meeting also highlighted the community’s collaborative nature, with participants freely sharing resources and making connections between different areas of work.

Chat Log URLs

https://futuretextlab.info/2025-schedule/ https://futuretextlab.info/2025/07/05/july-7th-kartik-agaram/ https://bsky.app/profile/benetou.fr/post/3ltegggxres24 https://archive.org/details/freewheeling https://akkartik.com https://www.digitalpublicgoods.net https://publiccode.eu https://en.wikipedia.org/wiki/Literate_programming https://en.wikipedia.org/wiki/Lua https://www.love2d.org https://lovr.org https://www.inf.puc-rio.br/~roberto/lpeg/ https://www.luatex.org https://mirrors.mit.edu/CTAN/obsolete/info/luatex/lualatex-doc/lualatex-doc.pdf https://www.inkandswitch.com/ https://imba.io https://peggyjs.org https://peggyjs.org/online.html https://fabien.benetou.fr/Languages/OwnConcepts#ResponsiveProgramming https://www.npmjs.com/package/lua-in-js https://daurnimator.github.io/lua.vm.js/lua.vm.js.html https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs https://en.wikipedia.org/wiki/Read-eval-print_loop https://youtu.be/Usx5rhzRKxo https://akkartik.itch.io/carousel https://thebookofshaders.com https://editor.thebookofshaders.com https://fabien.benetou.fr/Tools/Shaders https://xrfragment.org https://merveilles.town/@akkartik https://ganelson.github.io/inform-website/ https://www.cs.tufts.edu/comp/150FP/archive/graham-nelson/WhitePaper.pdf https://tiddlywiki.com https://futuretextlab.info/2025-schedule/ https://futuretextlab.info/2025/07/07/july-14th-active-memory-palaces/ https://video.benetou.fr/w/nNGSDDooExW3LStiEWZuDs https://fabien.benetou.fr/Languages/OwnConcepts#AdversarialDependencies https://www.youtube.com/watch?v=Or_yKiI3Ha4 https://futuretextlab.info/2025/07/05/ayaskant-panigrahi-july-21st/ https://www.ayas.fyi https://css-tricks.com/creating-an-editable-textarea-that-supports-syntax-highlighted-code/

Chat Log Summary

Participants shared links to related technologies (Lua, Love2D, literate programming), similar projects (folk.computer, Dynamicland), and technical resources (parsing libraries, browser alternatives). There was significant discussion about browser alternatives and the challenges of depending on commercial platforms. Fabien was particularly active in providing context and sharing related work in XR and responsive programming. The chat also shows coordination around future meetings, with reminders about upcoming presentations on memory palaces and spatial widgets. Technical discussions included shader programming environments, parsing expression grammars, and various approaches to syntax highlighting.

Leave a comment

Your email address will not be published. Required fields are marked *