This is the first part of the "New Kind of Paper" series that deals with concept of "handwritten calculator" – you scribble "1+2" and the system responds with "3". Think "Apple Math Notes", but 3 years before its debut. And with vectors, matrices, tensors, etc.
Worth noting that "API key access" vs "subscription" has significant cost implications for heavy users.
Claude.ai Pro is $20/month flat. But if you're doing serious agent-assisted coding (multi-file refactors, iterative debugging loops), you can blow through $50-100/day in API costs.
The math changes depending on usage patterns. Subscription makes sense for interactive coding sessions. API keys make sense if you're batch processing or running agents autonomously overnight.
Pure visual object tracking in visionOS is considerable laggy (even with increased detection rate). Natively tracked peripherals (Logitech Muse, PSVR2 controllers) are super responsive, but are designed for hands and are too specialized. There is a place for generic 6DoF tracking device that can be attached to any object you want to track. This could be tiny IR LED array if you want to track it inside the field of view, but when you need precise position outside of your FoV, your options are limited.
You are exactly right that the original vision of APL was a handwritten, non-ambiguous, consistent, and executable math notation. This was never accomplished.
In 2021, I made a prototype calculator designed for iPad and Pencil and wrote four essays called "New Kind of Paper" describing this concept. The video demonstration of the prototype [Demo] sums up pretty well how it might be used.
In 2024, Apple released Math Notes, which implements this concept for standard math notation. My "review" of it is at [MathNotes]. In short, it is currently a preview of a damn great tool, but its future depends on notation and expressivity.
APL is a language from 2066, created in 1966. While its semantics make more sense now due to machine learning, syntactically it remains alien to most people. Backus' FP/FL and Iverson's J are more approachable to current programmers, but still not there. In New Kind of Paper, I created a tiny language called Fluent, which is nowhere near the ambition of any language mentioned, but it is intentionally designed to be handwritten. A week ago, I open-sourced it. [Fluent]
There is plenty of work left to do, but it is a good start.
I have a project using tfjs and jax-js is very exciting alternative. However during porting I struggle a lot with `.ref` and `.dispose()` API. Coming from tfjs where you garbage collect with `tf.tidy(() => { ... })`, API in jax-js seems very low-level and error-prone. Is that something that can be improved or is it inherent to how jax-js works?
I don’t think tf.tidy() is a sound API under jvp/grad transformations, also it prevents you from using async which makes it incompatible with GPU backends (or blocks the page), a pretty big issue. https://github.com/tensorflow/tfjs/issues/5468
Thanks for the feedback though, just explaining how we arrived at this API. I hope you’d at least try it out — hopefully you will see when developing that the refs are more flexible than alternatives.
In my experience, LLMs are terrific for most translation tasks, but you still need a way to encode the data (rules for genders, cardinalities, ordinalities, ...) for storage on disk/database/etc. for 1. performance and 2. consistency/durability. So LLMs are a big part of the solution, but not the whole picture.
There are 5 parts so far:
1. https://mlajtos.mu/posts/new-kind-of-paper – overview of the concept
2. https://mlajtos.mu/posts/new-kind-of-paper-2 – intro to Fluent notation
3. https://mlajtos.mu/posts/new-kind-of-paper-3 – inspirational prior inventions
4. https://mlajtos.mu/posts/new-kind-of-paper-4 - how to think efficiently (including longer demo)
5. https://mlajtos.mu/posts/new-kind-of-paper-5 – review of Apple Math Notes and suggestions for improvements
Keyboard version of Fluent is available here: https://mlajtos.github.io/fluent/?code=RG9jdW1lbnRhdGlvbg